42
CONTROLE DE TRÁFEGO FERROVIÁRIO UTILIZANDO MICROCONTROLADOR PIC16F628A UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO Acadêmico: Andrey Starke Sardo Orientador: Prof. José Roque Voltolini da Silva

Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

  • Upload
    nando

  • View
    1.195

  • Download
    1

Embed Size (px)

DESCRIPTION

O objetivo deste trabalho é a automação docontrole de uma malha ferroviária utilizando comobase o trabalho iniciado por Schubert (2003),através do emprego de tecnologias diferentes e ainclusão de novas funcionalidades.Objetivos específicos:• substituir o microcontrolador;• controle de velocidade;• utilizar o componente TRF-2.4G;• aperfeiçoar sensores.

Citation preview

Page 1: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

CONTROLE DE TRÁFEGO FERROVIÁRIO UTILIZANDO MICROCONTROLADOR

PIC16F628A

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE CIÊNCIAS DA COMPUTAÇÃO

Acadêmico: Andrey Starke Sardo

Orientador: Prof. José Roque Voltolini da Silva

Page 2: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Roteiro

� Introdução

� Objetivos do trabalho

� Fundamentação teórica

� Desenvolvimento

� Conclusão

Page 3: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Introdução

� Transporte Ferroviário

� Controle da malha

� 2003 – Schubert (SCHUBERT, 2003) implementou em nível de protótipo, uma maquete para o controle de uma malha ferroviária.

Page 4: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Objetivos do trabalho

O objetivo deste trabalho é a automação do controle de uma malha ferroviária utilizando como base o trabalho iniciado por Schubert (2003), através do emprego de tecnologias diferentes e a inclusão de novas funcionalidades.

Objetivos específicos:• substituir o microcontrolador;• controle de velocidade;• utilizar o componente TRF-2.4G;• aperfeiçoar sensores.

Page 5: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� Sistemas de controle de ferrovias

� Sistema de sinalização� Sinais manuais operadores e maquinistas

� Semáforos� Manuais

� Intervalo de tempo

� Evolução do sistema de semáforos� Intervalo de espaço

Page 6: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� Microcontrolador PIC16F628A

Page 7: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� PWM (Modulação por largura de pulso)

Page 8: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� Componente TRF-2.4G

� Modo direto

� Modo ShockBurst

Page 9: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� RX/TX

� Portabilidade

� Compatibilidade com Java CommunicationsAPI (Sun)

Page 10: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Fundamentação Teórica

� Trabalhos correlatos� Aplicativo para controle de ferrovia

utilizando processamento em tempo real e redes de Petri (SCHUBERT, 2003)

� Uma aplicação para controle do tráfego ferroviário usando processos concorrentes (RAULINO, 1999)

� Controle computacional de malha ferroviária (Modellbahnanlage der Informatik) (KLUGE, 1999)

Page 11: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

Page 12: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Requisitos do sistema:� Controle de velocidade nos trens (RF);

� Comunicação broadcast entre os trens, os cruzamentos e o controlador (RF);

� Verificação dos pacotes transmitidos via rádio freqüência com CRC (RF);

� Uso do microcontrolador PIC16F628A (RNF);

� Uso do componente TRF-2.4G (RNF);

� Uso de uma maquete para testes, objetivando simular o mundo real(RNF);

� Uso da linguagem Java para programação do controle no PC (RNF);

� Uso da linguagem C para programação dos microcontroladores (RNF);

Page 13: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do sistema

� Visão geral

Page 14: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Hardware

� Controlador

Page 15: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Hardware

� Trem

Page 16: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Hardware

� Cruzamento

Page 17: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Software Controle Central

� Diagrama de casos de uso

� Diagrama de classes

Page 18: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Diagrama de Casos de Uso

Page 19: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Diagrama de Classes

Page 20: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Modelagem da Malha Protótipo

� Modelagem da malha

� Representação da malha

Page 21: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628
Page 22: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Software Controlador� Diagrama de Nassi-Schneiderman

Page 23: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Software Trem

� Diagrama de Nassi-Schneiderman

Page 24: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628
Page 25: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Desenvolvimento

� Especificação do Software Cruzamento

� Diagrama de Nassi-Schneiderman

Page 26: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628
Page 27: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Hardware� Placa controlador

� Placa trem

� Placa cruzamento

� Software� Controle Central

� Controlador

� Trem

� Cruzamento

Page 28: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Placa controlador

Page 29: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Placa trem

Page 30: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Placa cruzamento

Page 31: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

…//montar o byte para ser enviadobyte[] bt = new byte[6];bt[0] = (byte)it[0]; //id do dispositivobt[1] = (byte)it[1]; //funçãobt[2] = (byte)it[2]; //valor1 funcaobt[3] = (byte)it[3]; //valor2 funcaobt[4] = (byte)it[4]; //núm. id da msgbt[5] = (byte)it[5]; //livre

//escreve array na portasaidaStream.write(bt); Thread.sleep(100);saidaStream.flush();

� Software Controle Central

� Envio para porta serial

Page 32: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação…for (int i = 0; i < nodeBytes; i++) {

if (dados.substring(i, i + 1).getBytes()[0] == '+') {// novo array de bytes(buffer)itBuffer = new int[6];iBuff = 0;

} else if (dados.substring(i, i + 1).getBytes()[0] == '-') {// finalizou array de bytes(buffer)// encaminhar para fila de respostassynchronized (resp) {resp.getMensagens().add(itBuffer);

}} else {// caracteres para formar o bufferif (iBuff < 6) {int b = (dados.substring(i, i + 1).getBytes())[0];if (b < 0)b = (256 + b);

itBuffer[iBuff] = b;iBuff++;

}}

}...

Page 33: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Array de bytes para envio

� Array de recebimento de bytes

Page 34: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Software Controlador

� Envio de mensagens

� Recebimento de mensagens

Page 35: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

...void putBuf() {

int8 i;output_high(TRW_CE);CSDELAY();putByte(ADDR1_1); putByte(ADDR1_0);for( i=0; i<BUF_MAX ; i++) {

putByte(buf[i]);}output_low(TRW_CE);output_low(TRW_CLK1);

}...void putByte( byte b ) {

int8 i;int8 p = 7;for(i=0 ; i < 8 ; i++) {

output_low(TRW_CLK1);if( bit_test(b,p--) ) {

output_high(TRW_DATA);}else{

output_low(TRW_DATA);}CLKDELAY();output_high(TRW_CLK1);CLKDELAY();

}}...

...void getBuf() {

int8 i;for (i=0; i<BUF_MAX; i++) {

buf[i] = getByte();}output_low(TRW_CLK1);output_high(TRW_CE);

}...byte getByte() {

int8 i, b = 0;int8 p = 7;for (i=0; i<8; i++) {

output_low(TRW_CLK1);CLKDELAY();output_high(TRW_CLK1);CLKDELAY();if (input(TRW_DATA))

bit_set(b,p--);else

bit_clear(b,p--);}return b;

}

...

Envio Recebimento

Page 36: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Software aceleração do trem (PWM)

void veloc(int8 &vel){//desacelera gradualmentewhile (velocidade > vel){

velocidade--;set_pwm1_duty(velocidade);delay_ms(15);

}//acelera gradualmentewhile (velocidade < vel){

velocidade++;set_pwm1_duty(velocidade);delay_ms(15);

}}

Page 37: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Quadro de comandos aceitos pelo trem

Page 38: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Implementação

� Quadro de comandos aceitos pelo cruzamento

Page 39: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Resultados e Discussão

� Dificuldade com Hardware

� Ruído com motor do trem;

� Ruído com sensor do trem;

� Não detecção de sensores.

� Características do protótipo desenvolvido X trabalhos correlatos

Page 40: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628
Page 41: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Conclusão

� Objetivos� Substituir microcontrolador;

� Controle de velocidade;

� Utilização do TRF-2.4G;

� Aperfeiçoar sensores.

� Limitações� Consistências em rotas;

� Cruzamentos limitados.

Page 42: Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628

Conclusão

� Extensões

� Medir velocidade;

� Passagem dos trens;

� Real posicionamento dos trens;

� Editor de rotas.