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
42
Embed
Controle de Tráfego Ferroviario com o Microcontrolador PIC 16F628
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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
Roteiro
� Introdução
� Objetivos do trabalho
� Fundamentação teórica
� Desenvolvimento
� Conclusão
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.
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.
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
Fundamentação Teórica
� Microcontrolador PIC16F628A
Fundamentação Teórica
� PWM (Modulação por largura de pulso)
Fundamentação Teórica
� Componente TRF-2.4G
� Modo direto
� Modo ShockBurst
Fundamentação Teórica
� RX/TX
� Portabilidade
� Compatibilidade com Java CommunicationsAPI (Sun)
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)
Desenvolvimento
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);
Desenvolvimento
� Especificação do sistema
� Visão geral
Desenvolvimento
� Especificação do Hardware
� Controlador
Desenvolvimento
� Especificação do Hardware
� Trem
Desenvolvimento
� Especificação do Hardware
� Cruzamento
Desenvolvimento
� Especificação do Software Controle Central
� Diagrama de casos de uso
� Diagrama de classes
Diagrama de Casos de Uso
Diagrama de Classes
Desenvolvimento
� Modelagem da Malha Protótipo
� Modelagem da malha
� Representação da malha
Desenvolvimento
� Especificação do Software Controlador� Diagrama de Nassi-Schneiderman
Desenvolvimento
� Especificação do Software Trem
� Diagrama de Nassi-Schneiderman
Desenvolvimento
� Especificação do Software Cruzamento
� Diagrama de Nassi-Schneiderman
Implementação
� Hardware� Placa controlador
� Placa trem
� Placa cruzamento
� Software� Controle Central
� Controlador
� Trem
� Cruzamento
Implementação
� Placa controlador
Implementação
� Placa trem
Implementação
� Placa cruzamento
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
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);