Upload
nguyenliem
View
217
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE SÃO FRANCISCO
CURSO DE ENGENHARIA ELÉTRICA
AQUISIÇÃO, PROCESSAMENTO E TRANSMISSÃO DE DADOS DE UM AUTOMÓVEL.
Área de Microcontroladores e Eletrônica Embarcada.
por
Felipe Daniel Schiavon Rodrigues.
Antonio de Assis Bento Ribeiro, Mestre. Orientador
Campinas (SP), Dezembro de 2007.
UNIVERSIDADE SÃO FRANCISCO
CURSO DE ENGENHARIA ELÉTRICA
AQUISIÇÃO, PROCESSAMENTO E TRANSMISSÃO DE DADOS DE UM AUTOMÓVEL.
Área de Microcontroladores e Eletrônica Embarcada.
por
Felipe Daniel Schiavon Rodrigues. Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Engenharia Elétrica para análise e aprovação. Orientador: Antonio de Assis Bento Ribeiro, Mestre.
Campinas (SP), Dezembro de 2007.
DEDICATÓRIA
Dedico este trabalho a meus pais e minha
irmã pela confiança, paciência e amor que
sempre rodeou nossas vidas.
AGRADECIMENTOS Agradeço meu professor e orientador
Antonio de Assis Ribeiro pela dedicada
orientação e a Guilherme Franco (LNLS)
por ceder uma de suas placas para a
realização deste trabalho.
Agradeço também meus colegas de
graduação que participaram direta ou
indiretamente na realização deste trabalho e
minha graduação, em especial a Afrânio
Magno, David Manzoti e Samuel Venâncio
que sempre estiveram dispostos a me ajudar
e aos amigos do LC pela amizade de longa
data.
SUMÁRIO
LISTA DE ABREVIATURAS...................................................................i LISTA DE FIGURAS ..............................................................................iii LISTA DE TABELAS........................................................................... iiiii LISTA DE EQUAÇÕES ..........................................................................iv
RESUMO ...................................................................................................v
ABSTRACT ............................................................................................vvi 1. INTRODUÇÃO.....................................................................................1 1.1. OBJETIVOS ........................................................................................................ 3 1.1.1. Objetivo Geral ................................................................................................... 3 1.1.2. Objetivos Específicos ........................................................................................ 3 1.2. METODOLOGIA................................................................................................ 3 1.3. ESTRUTURA DO TRABALHO ....................................................................... 3
2. FUNDAMENTAÇÃO TEÓRICA .......................................................4 2.1. ELETRÔNICA EMBARCADA EM AUTOMÓVEIS .................................... 4 2.2. ARQUITERURAS ELÉTRICAS ...................................................................... 5 2.1.1 ARQUITERURA CENTRALIZADA............................................................. 52.1.1 ARQUITERURA DISTRIBUIDA................................................................... 52.3. PROTOCOLO DE COMUNICAÇÃO.............................................................. 9
3. PROJETO............................................................................................12 3.1. PEDAL DO ACELERADOR ........................................................................... 12 3.2. ROTAÇÃO DO MOTOR ................................................................................. 13 3.3. VELOCIDADE DO VEÍCULO ....................................................................... 15 3.4. PROCESSAMENTO E TRANSMISSÃO DE DADOS................................. 15 3.5. HARDWARE ..................................................................................................... 18
4. CONSIDERAÇÕES FINAIS .............................................................21
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................22
ANEXO 1 – FIRMWARE.......................................................................23
ANEXO 2 – SOFTWARE.......................................................................27
ANEXO 3 – ESQUEMA ELÉTRICO ...................................................29
LISTA DE ABREVIATURAS
A/D Analógico / Digital UART Universal Asynchronous Receiver-Transmitter ECU Unidade Eletrônica de Controle CAN Controller Area Network
i
LISTA DE FIGURAS
Figura 1.1. Diagrama em blocos do ADUC842 ...................................................................................2 Figura 2.1.1. Informações disponíveis e funções de um automóvel ....................................................4 Figura 3.2.1.1. Diagrama esquemático arquitetura centralizada ..........................................................5Figura 3.2.1.2. Arquitetura elétrica centralizada..................................................................................6Figura 3.2.2.1. Diagrama esquemático arquitetura distribuída ............................................................7Figura 3.2.2.2. Arquitetura elétrica distribuída ....................................................................................9Figura 2.3.1. Taxa de transmissão do protocolo CAN Bus................................................................10Figura 3.1.1. Circuito atenuador (Acelerador) ...................................................................................12Figura 3.2.1. Componentes do sensor de rotação...............................................................................13Figura 3.2.2. Variação da frequencia no sensor de relutância............................................................14 Figura 3.2.3. Circuito comparador para o contador ...........................................................................15 Figura 3.4.1. Fluxograma lógico ........................................................................................................17 Figura 3.4.2. Tela do programa de upload de dados .........................................................................18 Figura 3.5.1. Adaptador ADUC842 (a) 52 pinos PQFP, (b) 56 pinos CSP .......................................19 Figura 3.5.2. Placa final .....................................................................................................................20
ii
LISTA DE TABELAS
Tabela 3.4.1. Simulação de dados colhidos em percurso...................................................................16 Tabela 4.1. Valores estimados de custo .............................................................................................21
iii
LISTA DE EQUAÇÕES
Equação 1 ...........................................................................................................................................13 Equação 2 ...........................................................................................................................................14 Equação 3 ...........................................................................................................................................16
iv
RESUMO
Rodrigues, Felipe Daniel Schiavon. Aquisição, processamento e transmissão de dados de um Automóvel. Campinas, 2007. Trabalho de Conclusão de Curso, Universidade São Francisco, Campinas, 2007. Este trabalho tem como objetivo adquirir informações vitais de um automóvel de uma forma simples e de baixo custo processá-las utilizando um microcontrolador ADUC842, armazená-las em uma memória não volátil e transmiti-las via comunicação serial RS-232 sempre que requisitadas por um usuário a fim de diagnosticar possíveis usos inadequados do veículo. Palavras-chave: ADUC842. Eletrônica Embarcada. CAN. RS-232
v
ABSTRACT
This work aims to acquire vital information of a car in a simple and low-cost process them using a microcontroller ADUC842, store them in a non-volatile memory and transmit them via the serial RS-232 whenever requested by a user to diagnose possible inappropriate uses of the vehicle. Keywords: ADUC842. Electronic shipment. CAN. RS-232
vi
1. INTRODUÇÃO.
Empresas que possuem frotas de automóveis ou empresas de aluguel de veículos
têm a maior fatia de seus gastos na manutenção corretiva ou preventiva dos veículos, todos sabem
que para se economizar gastos no conserto precisa-se melhorar a qualidade da prevenção de
problemas.
Apesar de todo o esforço em manter os veículos em perfeitas condições de uso, o
grande problema destas frotas está no modo em que são conduzidos, como e em que condições são
submetidos estes carros, utilitários ou caminhões. A conscientização destes motoristas de que o uso
adequado e moderado dos veículos é a melhor forma de se cortar custos de manutenção corretiva e
aumentar vida útil dos automóveis.
Algumas empresas adotam um programa onde os motoristas, após algum periodo,
podem comprar o veículo que usam para o trabalho com um considerável desconto, assim tomam
maiores cuidados com a condução do mesmo.
Para auxiliar proprietários de frotas e motoristas a melhorarem o rendimento,
durabilidade e diminuirem os custos, o sensoriamento dos sinais de um automóvel para a
montagem de um Tacógrafo digital é muito importante, sinais como velocidade máxíma, giro do
motor e distância percorrida seriam armazenados para que pudessem ser transmitidos ou impressos
em um relatório. Esses dados seriam analizados e rapidamente saberia-se o modo que o automóvel
está sendo utilizado, como por exemplo se o motor trabalha em giros muito altos, as velocidades
máximas que o veículo atingiu, freiadas bruscas, etc.
Este projeto envolve basicamente três assuntos eletrônicos, A interpretação de
sinais dos sensores, o processamento destes sinais e a transmissão dos dados.
Os módulos de injeção eletrônica disponibilizam a maioria dos sinais necessários
para este monitoramento, precisamos apenas de dispositivos que os interprete como por exemplo
conversores A/D, leitores de frequência e leitores para correntes de 4-20mA.
1
Figura 1.1 – Diagrama em blocos do microcontrolador ADUC842.
Para o processamento, pode ser utilizado o microcontrolador ADUC842 baseado
em 8051 mostrado na figura 1.1. Este possui 8 canais A/D com 12 bits de resolução (Leitura de
sinais como velocidade, Posição do acelerador, Temperatura do motor, etc.), dois canais D/A
também com resolução de 12 bits, duas fontes de referência (Pode gerar as tensões de referência
para sensores de temperatura ou potenciometros), Timer e contadores (Necessários para a leitura de
rotação do motor), duas portas seriais UART.
Utilizando uma tecnologia simples e relativamente barata, pois o veículo já
disponibiliza quase todos os dados, pode-se obter informações necessárias para diagnosticar
possíveis causas de acidentes (como altas velocidades ou freiadas bruscas), mau uso do veículo
(Trabalhar sempre com a rotação do motor alta) e até mesmo defeitos no automóvel. (Falha da
bomba de combustível, alta temperatura do motor, má regulagem do sistema de injeção e problemas
elétricos).
2
1.1. OBJETIVOS.
1.1.1. Objetivo Geral
Desenvolver uma placa microcontrolada que adquira dados de um automóvel, armazene-os e
gere um relatório.
1.1.2. Objetivos Específicos
Adquirir e aperfeiçoar conhecimentos nos seguintes assuntos:.
• Microcontroladores;
• Eletrônica Embarcada;
• Linguagens de programação, C++ e Delphi;
• Desenvolvimento de projetos eletrônicos.
1.2. METODOLOGIA
Este trabalho foi realizado em sua grande parte em experiências práticas, iniciando com a
montagem da placa protótipo, e em seguida trabalhos na programação tanto do firmware,
programado em C++ quando no software (Alto nível) programado em Delphi.
1.3. ESTRUTURA DO TRABALHO
Este trabalho foi estruturado a fim de orientar a construção ou replicar este projeto e se obter
informações das atuais tecnologias aplicadas em automóveis.
3
2. FUNDAMENTAÇÃO TEÓRICA.
2.1. ELETRÔNICA EMBARCADA EM AUTOMÓVEIS.
Os dispositivos eletrônicos há muitos anos fazem parte do controle de várias
funções existentes em automóveis de passeio ou comerciais, sejam eles para aumentar o conforto do
passageiro, segurança ou melhorar aspectos como consumo e poluição. Estes dispositivos são
comumente chamados de Eletrônica Embarcada, esta expressão representa todo e qualquer
dispositivo eletrônico instalado em uma aplicação móvel, como automóveis, caminhões, motos,
navios, aviões, etc.
Nos veículos comercializados atualmente, pode-se identificar inúmeros exemplos
de Eletrônicas Embarcadas, como por exemplo, o módulo de injeção eletrônica, sensores de portas
abertas, o painel de instrumentos, ar condicionado digital, entre outros, grande parte destes sistemas
foram desenvolvidos de maneira independente, onde cada um é responsável por si mesmo.
Esta topologia é muito conveniente para as aplicações de sistemas mais simples.
Porém, a interligação de todos os sub-sistemas de um automóvel é a única maneira de se ter total
controle sobre os dados eletrônicos do automóvel, cada sistema deve ser responsável por uma parte
do veículo, mas sempre compartilhando informações entre si.
Figura 2.1.1 – Relação entre informações disponíveis e funções de um automóvel.
4
As funções e informações de um veículo formam uma rede que dependendo de sua
importância, pode ser muito simples, ou complexa, como mostrado na Figura 2.1.1.
Pode-se observar a dependência de todas as funções com o sinal da chave de
ignição.
2.2. ARQUITETURAS ELÉTRICAS.
Pode-se destacar dois conceitos de Arquitetura Elétrica que são utilizadas
atualmente, o conceito de Arquitetura Centralizada e o conceito de Arquitetura Distribuída.
2.2.1. ARQUITETURA CENTRALIZADA.
O conceito de Arquitetura Centralizada consiste em centralizar todos sensores,
chaves e botões em uma única ECU (Unidade Eletrônica de Controle), que é responsável por
processar todos estes sinais e gerar os sinais de comando para as respectivas funções, como relés,
motores elétricos e lâmpadas. A Figura 2.2.1.1 representa o conceito desta arquitetura.
Figura 2.2.1.1 – Diagrama esquemático da Arquitetura Centralizada.
Todo o hardware e software necessários para a leitura de sensores, processamento
dos dados e saída de sinais de atuação estão embutidos na chamada ECU Central.
Esta configuração acarreta algumas vantagens e desvantagens, que são citadas
abaixo:
5
VANTAGENS.
• Simplicidade de hardware, sendo composto apenas por uma ECU, seus
sensores e atuadores e o cabeamento necessário.
• Todos os sinais de entrada estarão sempre disponíveis a ECU,
simplificando a lógica e o tempo de varredura.
DESVANTAGENS.
• Grande quantidade de cabos é necessária para conectar cada sensor e
atuador, dificultando a manutenção devido à enorme quantidade de fios
espalhados pela carroceria.
• Expansão do sistema limitada, acrescentar um sensor ou atuador que não
seja previsto gera alterações de hardware e software da ECU.
A Figura 2.2.1.2 mostra um exemplo com arquitetura elétrica centralizada, não
existe nenhum tipo de comunicação entre as funções.
Figura 2.2.1.2 – Arquitetura elétrica centralizada.
6
Existem quatro módulos principais, o BCM (Módulo controlador da carroceria),
este recebe os sinais de entrada (sensores e interruptores) discretos dos sensores e envia também
sinais discretos para os atuadores (motores e lâmpadas), o ECM (Módulo de controle do motor), o
Radio e o IPC (Instrumentos do painel).
2.2.2. ARQUITETURA DISTRIBUÍDA.
A fim de diminuir as desvantagens de se utilizar uma ECU Central e não correr o
risco de sobrecarregar o processamento decidiu-se distribuir o processamento das funções desejadas
em várias ECU’s, que se comunicam entre si, o diagrama apresentado na Figura 2.2.2.1 representa
este conceito de arquitetura.
Figura 2.2.2.1 – Diagrama esquemático da Arquitetura Distribuída.
Neste caso, tem-se 3 ECU’s responsáveis pela leitura de sensores e botões(ECU’s
1, 2 e 3) e duas responsáveis pela atuação em motores ou relés (ECU’s 4 e 5), todas elas participam
do processamento dos dados.
Esta também possui suas vantagens e desvantagens, que são citadas abaixo.
7
VANTAGENS.
• Quantidade de cabos reduzida, a ECU pode ser instalada próxima aos
sensores que será responsável por ler, sendo necessários apenas passar os
cabos de comunicação serial entre as ECU’s, o protocolo geralmente
utilizado é o CAN Bus.
• Menor tempo para montagem do veículo, menor trabalho de passagem de
cabos.
• Maior robustez do sistema de controle, com a diminuição dos cabos
diminui-se a probabilidade de algum mau contato.
• Ampliação do sistema com maior facilidade, um novo componente seria
apenas mais um nó na rede de comunicação.
• Facilidade de criação de software, devido a modularização do sistema e
distribuição de responsabilidades entre as ECU’s.
• Modularização do projeto do sistema, aumentando a confiabilidade e
reduzindo os prazos envolvidos no desenvolvimento.
DESVANTAGENS.
• Obriga a utilização de um protocolo de comunicação.
• Necessita de um software de controle de rede um pouco mais sofisticado,
dependendo diretamente do protocolo de comunicação escolhido.
• A taxa de transmissão do protocolo de comunicação pode não atender os
tempos exigidos por uma determinada aplicação.
A Figura 2.2.2.2 mostra um modelo de arquitetura elétrica distribuída, repare que
os componentes do veículo são os mesmos do exemplo dado na Figura 2.2.1.2, porem, neste caso,
os módulos estão interconectados entre si por três redes de dados diferentes.
8
Figura 2.2.2.2 – Arquitetura elétrica centralizada.
REDE 1: Rede de alta taxa de transmissão que troca informações entre o módulo
ECM e o módulo BCM1, responsáveis pelo motor e dianteira da carroceria respectivamente.
REDE 2: Rede de média taxa de transmissão responsável pela troca de
informações entre o Rádio e o painel de instrumentos.
REDE 3: Rede de Baixa taxa de transmissão que troca informações com o BCM2,
BCM1 e Painel de instrumentos, onde BCM2 é o módulo responsável pelas funções da traseira da
carroceria.
Assim, qualquer sinal de qualquer módulo de controle pode estar disponível a
qualquer outro módulo, formando uma rede fechada.
2.3. PROTOCOLO DE COMUNICAÇÃO.
Dentre os inúmeros protocolos de comunicação existentes, para a aplicação
automotiva, pode-se destacar o protocolo CAN Bus, a alta taxa de transmissão (1Mbps) em
9
percursos pequenos é uma ótima característica para aplicações em plantas que podem ter de 3 a 4
metros de distância entre suas extremidades.
O protocolo CAN Bus é um protocolo de comunicação síncrono baseado no
conceito multi-mestre, onde todos os elementos da rede podem se tornar mestres ou escravos
durante a operação, a característica que torna o conceito multi-mestre no protocolo CAN muito
robusto sem que isso acarrete em perda de performance é o fato de ter sido fundamentado no
conceito CSMA/CD with NDA (Carrier Sense Multiple Access / Collision Detection with Non-
Destructive Arbitration). Este conceito permite que todos os equipamentos plugados a esta rede
monitoram os sinais de comunicação para saber se existe algum outro nó transmitindo mensagens,
caso exista algum módulo de maior prioridade que necessita enviar alguma outra mensagem, o
módulo que está ocupando o barramento interrompe sua transmissão e o módulo que solicitou
transmite sua mensagem, assim que esta terminar, o módulo interrompido continua seu processo de
transmissão de onde havia parado quando foi interrompido.
A velocidade de transmissão do protocolo CAN é inversamente proporcional ao
comprimento do barramento, sendo em distancias curtas como o interior de um automóvel pouco
maior que 1Mbps, conforme mostra a Figura 2.3.1.
Figura 2.3.1 Taxa de transmissão do Protocolo CAN Bus.
Todo o conceito mostrado acima ajudou a tecnologia a melhorar a qualidade,
variedade e segurança dos veículos disponíveis no mercado hoje. Pode-se citar como exemplo de
Eletrônica Embarcada em um automóvel respeitando as divisões.
10
Segurança:
• Freios ABS;
• Air-Bags;
• travas elétricas centrais;
• alarmes;
• Acendimento automático de faróis;
• Acionamento automático do limpador de para brisas;
• Limitador eletrônico de velocidade.
Itens de conforto:
• Vidros elétricos;
• Controle do rádio no volante;
• Ar condicionado digital;
• Sensores de estacionamento.
Economia.
• Injeção eletrônica;
• Sensor para combustível adulterado;
• Sensores de calibração dos pneus.
11
3. PROJETO.
O primeiro passo para executar este projeto é converter os sinais disponibilizados
pela injeção eletrônica em sinais que o microcontrolador possa entender. Destes sinais, podemos
destacar o Giro do Motor, Velocidade do carro e o acionamento do pedal de acelerador.
3.1. PEDAL DO ACELERADOR.
Os carros que possuem injeção eletrônica utilizam aceleradores eletrônicos que
consistem em dois potênciometros que enviam sinais para a injeção eletrônica, estes já possuem
uma tensão de referência de 5 volts. O sinal do pedal de acelerador tem uma variação de 0V a 5V e
as entradas analógicas do ADUC842 aceitam sinais com variações de 0V a 2,5V, para ler estes
sinais, foram utilizados dois amplificadores operacionais ligados como Inversores de Tensão, um
deles com ganho um e outro atenuador com ganho 0.5 como mostra a figura 3.1.1.
Figura 3.1.1. Circuito atenuador para leitura do potenciometro do acelerador.
Os amplificadores operacionais deste circuito possuem um ganho aproximado (1)
onde os resistores Rf são: R2, R4, R6 e R8. e os resistores Rs são: R1, R3, R5 e R7, portanto os
12
amplificadores U1 e U4 têm um ganho igual a 1 (um) e os amplificadores U2 e U5 ganho igual a
meio, gerando na sua saida valores que variam entre 0V e 2,5V.
RsRf- A = (1)
3.2. ROTAÇÃO DO MOTOR.
O próximo passo é medir a rotação do motor. O sensor de rotação do motor gera
um sinal quadrado que varia a sua frequência conforme a velocidade do motor. Os valores são
proporcionais sendo 1Hz = 1Rpm, citação bibliográfica [6] . Para medir esta rotação, são utilizados
geralmente sensores de Relutância Variável instalados próximos de rodas dentadas de imã
permanente, esta roda dentada está geralmente instalada com o eixo do comando de válvulas. A
figura 3.2.1 mostra como estes componentes estão dispostos.
Figura 3.2.1. Componentes do sensor de rotação.
13
O sensor de relutância não necessita de alimentação para emitir sinal à unidade de
injeção eletrônica. Seu sinal é gerado por indução eletromagnética. O movimento da roda dentada
faz variar a intensidade do campo magnético do imã permanente sobre a bobina do sensor. Essa
variação provoca o surgimento de uma tensão de corrente alternada induzida no enrolamento da
bobina. O sinal gerado é aproximadamente como o mostrado na figura 3.2.2.
Figura 3.2.2. Variação da frequência do sensor de Relutância.
Este sinal senoidal é transformado em uma forma de onda quadrada para que o
ADUC842 possa interpretar o sinal utilizando um de seus contadores, com uma base de tempo fixa
pode-se contar quantos pulsos chegam ao contador e assim a rotação do motor pode ser medida.
Para se obter a onda quadrada pode-se utilizar um circuito comparador com amplificador
operacional com saida para circuitos TTL. Este circuito precisa de um componente com saída com
coletor aberto (Open Collector) como o LM339, o circuito comparador para circuitos TTL é
mostrado na Figura 3.2.3.
14
Figura 3.2.3. Circuito comparador para o contador.
3.3. VELOCIDADE DO VEÍCULO.
Para obter-se dados suficientes de como os veículos estão sendo conduzidos, resta
apenas o dado de velocidade. A tecnologia aplicada para a leitura da velocidade das rodas do carro é
a mesma aplicada na leitura das rotações do motor, portanto para ler este parâmetro, o circuito
mostrado pela Figura 3.2.3 é repetido e será lido pelo segundo contador do ADUC842.
Com apenas estes três dados, podemos determinar como o veículo está sendo
utilizado, para isto, o microcontrolador deverá monitorar estes dados e armazená-los. Seria um
desperdício de memória se todos os dados lidos pelo ADUC842 fossem armazenados, por isso,
condições para o armazenamento dos dados devem ser estipuladas.
3.4. PROCESSAMENTO E TRANSMISSÃO DOS DADOS.
Pode-se estipular qual será o maior valor tolerável para cada variável, por exemplo,
o máximo giro que o motor possa trabalhar, cada vez que o giro do motor ultrapassar o valor
estipulado, todos os outros dados serão armazenados em um vetor para que mais tarde possam ser
analizados. Assim podemos gerar uma tabela que seria impressa ao final do trajeto. Como por
exemplo a tabela 3.4.1.
15
Estipulados Medidos Giro do motor
(RPM) Velocidade
(Km/h) % de aceleração Giro do motor
(RPM) Velocidade
(Km/h) % de aceleração
Log 1 6500 100 70 % 7200 30 100 % Log 2 6500 100 70 % 5000 130 65 % Log 3 6500 100 70 % 8000 150 100 %
Tabela 3.4.1. Simulação de dados colhidos em um percurso.
Na tabela, três situações em que os limites estipulados foram ultrapassados e pode-
se tirar as seguintes conclusões:
Log 1: Os limites de giro do motor e aceleração foram ultrapassados em uma
velocidade relativamente baixa, isto indica um momento em que o motorista arrancava com
aceleração alta e esticando as marchas.
Log 2: Alta velocidade, o veículo não está sendo forçado nesta situação, mas o
veículo está acima da velocidade estipulada.
Log 3: Os três parâmetros foram ultrapassados, além do motor estar trabalhando
em regime alto, o veículo está acima do limite de velocidade e o motorista demonstra que não está
contente com a velocidade atingida pois o acelerador está acionado ao máximo.
A Figura 3.4.1 mostra o fluxograma do processamento feito pelo ADUC842, onde
os valores das entradas AD0, AD1, Cout0 e Cout1 são lidos sempre, porém armazenados apenas
quando ultrapassem os limites pré estipulados, ou quando é detectado um caracter no buffer de
recepção da porta serial e este caracter seja igual a letra “D”. Quando os valores lidos ultrapassam
os limites estipulados, todos os sinais são salvos na memória externa de 32Kbytes UT62256
ocupando um total de 8 bytes. Em (3) é mostrado o valor de eventos que a memória de 32Kbytes
suporta.
40968
32768==EA (3)
16
O firmware que é executado pelo microcontrolador é mostrado no Anexo 1.
INICIO
RXBUF = ‘D’
RECUPERA DADOS DA MEMÓRIA EXTERNA E
TRANSMITE VIA SERIAL RS-232
LER VELOCIDADE. LER GIRO DO MOTOR.
LER PEDAL ACELERADOR.
VEL > 70%
ou GIRO > 70%
ou ACEL > 70%
SALVO OS 3 VALORES LIDOS NA MEMÓRIA
EXTERNA.
SIM
SIM
NÃO
NÃO
Figura 3.4.1 – Fluxograma lógico.
Todos estes dados são transmitidos ao terminal (PC) via RS-232, futuramente
poderia ser transmitido via RF, formando uma rede com um terminal mestre (PC) e vários escravos
(carros em um estacionamento).
17
Para receber e armazenar em um arquivo os dados enviados pelo ADUC842, um
software de alto nivel foi feito para armazenar-los em um arquivo .dat, que poderá ser interpretado
pelo Microsoft Excel para que possa ser feita a manipulação dos dados.
Este software foi desenvolvido em Delphi 3 utilizando pacotes de acesso a
hardware dedicado do sistema de controle do Laboratório Nacional de Luz Síncrotron. O Anexo 2
contém o programa escrito e a Figura 3.4.2 mostra a tela inicial do programa.
Figura 3.4.2 – Tela programa de upload de dados.
3.5. HARDWARE.
Todo o hardware necessário foi desenvolvido em uma placa padrão, com
montagem simples e utilizando soquetes para que no caso da queima de componentes, a
substituição seja rápida. O esquema elétrico pode ser visto no Anexo 3.
Para os testes iniciais, foram utilizados dois modelos de encapsulamento do
ADUC842, um de 52 pinos PQFP e outro de 56 pinos CSP, ambos smd, soldar estes componentes
não é uma tarefa fácil pois seus terminais são muito pequenos, por isso, foi feita uma plataforma
padrão que adapta os encapsulamentos citados acima para padrões de espaçamento DIP, como pode
ser visto na figura 3.5.1.
18
(a)
(b)
Figura 3.5.1 – Adaptador DIP para ADUC842. (a) 52 pinos PQFP, (b) 56 pinos CSP.
Essas placas usadas para adaptação já possuem os capacitores na alimentação que
diminuem o ruido digital, alimentação analogico e digital separados e o circuito oscilador.
Figura 3.5.2 – Placa final.
19
A figura 3.5.2, mostra a placa em sua montagem final, com os amplificadores
operacionais, regulador de tensão, circuitos de reset, memória e max-232.
3.6. OUTRAS FUNÇÕES.
Além das citadas anteriormente, outras funções de menor importância podem ser
implementadas neste circuito, são funções que podem não ter grandes valores quanto se fala do
monitoramento a fim de melhoria de operação do automóvel, mas sim na melhoria do conforto,
segurança e identificação de problemas.
Em relação ao conforto, podemos citar?
• Verificação das portas fechadas;
• Controle de fechamento da trava central no painel;
• Controle da abertura do porta malas;
• Temperatura dentro do veículo;
• Timmer para luz de cortesia.
Segurança.
• Aviso da passagem do limite de velocidade;
• Verificação de lâmpadas queimadas.
Identificação de problemas.
• Monitoramento da tensão da bateria;
• Monitoramento da queima do combustível. (Sonda Lambda);
• Temperatura do motor;
• Monitoramento da tensão de alimentação da bomba de combustível.
20
4. CONSIDERAÇÕES FINAIS.
Infelizmente, devido a problemas com o tempo disponível para a execução do
projeto, queima de alguns componentes e falta de conhecimento em certos assuntos fizeram com
que nem todas as funções fossem finalizadas, porém, os dados obtidos até o momento mostraram
que este é um projeto viável tanto no sentido técnico quanto no sentido financeiro, tendo em vista
que para uma placa completa, seriam gastos aproximadamente R$ 143,00 conforme a Tabela 4.1
para produzir uma placa, sempre vale lembrar que uma produção em série reduziria os custos.
COMPONENTE QUANTIDADE VALOR P/ UNIDADE TOTALADUC842 1 80.00R$ 80.00R$ MEMÓRIA 62256 1 10.00R$ 10.00R$ MAX232N 1 2.20R$ 2.20R$ OP07 4 2.15R$ 8.60R$ LM339 2 1.60R$ 3.20R$ COMPONENTES TTL 1 4.00R$ 4.00R$ PLACA DE CIRCUITO IMPRESSO 1 35.00R$ 35.00R$ VALOR TOTAL 143.00R$
Tabela 4.1 – Valores estimados de custo.
Faltam ser melhor absorvidos conhecimentos em programação de alto nível, pois
poderia-se utilizar compiladores gratuitos como TCL-TK ao invés do Delphi que foi utilizado.
Este projeto pode ser considerádo viável, apenas necessita de um tempo maior de
dedicação e melhorias de software, aumentar sua capacidade de memória e a tecnologia nesta
empregada, no projeto foi utilizada uma memória de acesso paralelo, poderia-se utilizar memórias
com acesso SPI ou I2C, que possuem maiores capacidades, design de hardware mais simples e
velocidade de acesso maior.
21
5. REFERÊNCIAS BIBLIOGRÁFICAS.
[1] – DOEBELIN, Ernest O. Measurement Systems, Aplication and Design. 4ª Edição. United
States of America: McGraw-Hill, 1990.
[2] – BUGG, D. V. Electronics: Circuits, Amplifiers and Gates. 1ª Edição. New York: Adam
Hilger, 1991
[3] – MALVINO, Albert Paul. Eletrônica: Malvino. Edição Revisada. São Paulo: McGraw-Hill,
1987.
[4] - KAUFMAN, M., SEIDMAN, A.H. Handbook of electronics calculations. New York :
MCGraw-Hill, 1979.
[5] - HILL, W. , HOROWITZ, P. The art of electronics. Cambridge: Cambridg University Press ,
1989.
[6] – SOUZA, Antonio Cirilo de. Sistema de Controle Eletrônico do Motor: Magneti Marelli – IAW
4LV e IAW 4SV. Revista Saber Eletrônica, São Paulo. N. 406, p. 12-19, Novembro. 2006.
[7] – SOUZA, Antonio Cirilo de. Gerenciamento eletrônico de motor Celta VHC 1.0 e 1.4. Revista
Saber Eletrônica, São Paulo. N. 399, p. 23-27, Abril. 2006.
[8] - BRAGA, Newton. Módulos Híbridos para controle e sensoriamento remoto. Revista Saber
Eletrônica, São Paulo. N° 313, p. 14-16, 1999.
[9] – BRAGA, Newton. Controle remoto de quatro canais. Revista Saber Eletrônica, N° 316, p. 8-
12, 1999.
[10] – DAVIS, S. R.. C++ para leigos. São Paulo: Berkeley Brasil Editora, 1995.
[11] – Site http://www.pcs.usp.br/~laa/Grupos/EEM/CAN_Bus_Parte_1.html , último acesso em
14/12/2007.
22
D:\Arq\Silicon\SiliconIDE\Testesilicon_tcc.c
#include <ADuC84x.h>
code char mensagem[] = {"Universidade São Francisco\n\rDigite D para Upload de dados\n\r"};code char pulalinha[] = {"\n\r"};code char ponto[] = {"."};code char tab[] = {" "};code char hex[] = {"0X"};code char carac_erro[] = {"Caracter invalido\n\rDigite D para Upload de dados\n\r"};
unsigned char ch;unsigned char dadomaisAD0;unsigned char dadomenosAD0;unsigned char dadomaisAD1;unsigned char dadomenosAD1;unsigned char C0menos;unsigned char C0mais;unsigned char C1menos;unsigned char C1mais;unsigned char saidaum;unsigned char saidadois;unsigned char valormax = 0x50;unsigned int i= 0x3133;xdata at 0x8000 unsigned char *ext_memo;xdata at 0xFFFE unsigned char *ultima_pos;
/*------------------------------------------------------------------------ rd_char - Rotina que le um simples caracter para a porta serial.|------------------------------------------------------------------------*/void rd_char(){ while (!RI); RI = 0; ch = SBUF;
}/*------------------------------------------------------------------------ tx_char - Rotina que transmite um simples caracter para a porta serial.|------------------------------------------------------------------------*/void tx_char(char c){ while (!TI); TI = 0; SBUF = c;}
/*------------------------------------------------------------------------ tx_str - Rotina que transmite uma string para a porta serial.|------------------------------------------------------------------------*/void tx_str(char *str){ while (*str) tx_char(*str++);}
/*------------------------------------------------------------------------ le_sinais - Rotina que le um valor na entrada analógica e dos dois contadores e guarda se for maior que valormax|------------------------------------------------------------------------*/void le_sinais(){
ADCCON2 = 0x10; //Disparo conversor Analógico canal 0
while(!ADCI); // Espero final de conversão (bit 7, ADCCON2)dadomaisAD0 = ADCDATAH; // Leio dado mais significativo do conversordadomenosAD0 = ADCDATAL; // Leio dado menos significativo do conversor
ADCCON2 = 0x11; //Disparo conversor Analógico canal 1
Page: 1
D:\Arq\Silicon\SiliconIDE\Testesilicon_tcc.c
while(!ADCI); // Espero final de conversão (bit 7, ADCCON2)dadomaisAD1 = ADCDATAH; // Leio dado mais significativo do conversordadomenosAD1 = ADCDATAL; // Leio dado menos significativo do conversor
TCON = 0X00; // Desligo contadores 0 e 1C0menos = TL0; //contador 0 menos significativo;C0menos = TH0; //contador 0 mais significativo;C1mais = TL1; //contador 1 menos significativo;C1mais = TH1; //contador 1 mais significativo;
TL0 = 0x00; //Zero valor contadoTH0 = 0x00; //zero valor contadoTL1 = 0x00; //Zero valor contadoTH1 = 0x00; //zero valor contado
if (dadomais > valormax){
*ext_memo = dadomaisAD0; // Salvo dado mais significativo*(ext_memo+1) = dadomenosAD0;// Incremento posição de memória e salvo d
ado menos significativo*(ext_memo+1) = dadomaisAD1; *(ext_memo+1) = dadomenosAD1;*(ext_memo+1) = C0mais;*(ext_memo+1) = C0menos;*(ext_memo+1) = C1mais;*(ext_memo+1) = C1menos;
}}/*------------------------------------------------------------------------ transmite_bloco - Rotina que transmite o valor armazenado em ram para serial|------------------------------------------------------------------------*/void transmite_bloco(){
unsigned int cont=0;for (*ext_memo=0x8000; *ext_memo<=0xFFFF;){
for (cont=0; cont<7; cont++){saidaum = *ext_memo;saidadois = *(ext_memo+1);tx_char(saidaum);tx_str(ponto);tx_char(saidadois);tx_str(tab);
}tx_str(pulalinha);
}}
void main(void){ TMOD = 0X55; // Habilito contadores 0 e 1 em modo de 16 bits; PCON = 0x80; // Configura o Modo para a porta serial SCON = 0x53; // serial control */ RCAP2L = 0XF9; // Baud Rate menos significativo. RCAP2H = 0XFF; // Baud Rate mais significativo. (19200, a 32.768Hz (PLL 2.097152MHz)) T2CON = 0x34; // timer control mode, byte operation ADCCON1 = 0x80; // Ligo ADC, Ref. interna ADCCON3 = 0x10; // Calibração desligada, numero de médias = 1.
tx_str(mensagem); // transmito dados via serial TI = 0; RI = 0; // zero flag serial tx
for(;;) // loop eterno{
TCON = 0X50; // Ligo contadores 0 e 1if (RI!=0){ //verifico se há algum dado na serial
RI=0; //apago flagch = SBUF; //leio dado do buffer
Page: 2
D:\Arq\Silicon\SiliconIDE\Testesilicon_tcc.c
if (ch==0x44){ //verifico se se caracter "D"transmite_bloco();//vou para rotina de transmissão de bloco
}else{
tx_str(carac_erro);//transmito mensagem de erro}
}else{
le_sinais();//se não tiver dados na serial, faço uma nova leitura dos sinais.
}
}
}
Page: 3
unit SerialTCC ;
interface
uses Windows , Messages , SysUtils , Classes , Graphics , Controls , Forms , Dialogs , Loco3 , StdCtrls , ExtCtrls ;
type TForm1 = class( TForm) Rs2321 : TRs232; Button1 : TButton ; memo1: TMemo; Label1 : TLabel ; Label2 : TLabel ; procedure Button1Click ( Sender : TObject ); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1. Button1Click ( Sender : TObject );begin RS2321. Abre ; RS2321. LimpaTX ; RS2321. Escrita ( 'D' ); RS2321. LimpaRX; memo1. Lines . Add( RS2321. Leitura ( 16)); arqcalib := FormatDateTime ( '"C:\memo"ddmmyy"_"hhmm".dat"' , now); Rewrite ( Arq , arqcalib ); Writeln ( Arq , RS2321. Leitura ( 16)); CloseFile ( Arq );
end;end.
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 4-Dec-2007 Sheet of File: F:\FACUL\TCC\RELATO~1\ESQUEMAS\ADUC.SCHDrawn By:
AVDDAVDDAGNDDGNDDGNDXTAL1XTAL2DVDD
P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7DVDD
DAC0DAC1DGND
P3.2P3.3CONT0CONT1P3.6P3.7
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
EAPSENALERESET
ADC2ADC1P1.2P1.3P1.4P1.5P1.6P1.7
AGNDAGNDCREF
VREF_2.5VSCLOCKSDATADGNDDVDD
91011
12345678
1415
1213
16171819202122232425262728
29303132333435363738394041424344454647484950515253545556
J1 - ADAPTADUC
ADAPTADUC
P3.1/TXD0P3.0/RXD0
+5
R1010K
C6100nF
CH1
+5
CH2
CH3
R111K
+5
R121K
ADUC842
Felipe Schiavon1 6
1.0
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 4-Dec-2007 Sheet of File: F:\FACUL\..\CONT_TCC.SCH Drawn By:
5
42
312
U1A
LM339
7
61
U1B
LM339
+12
U110K
U210K
+5
+5
VREF_2,5V
VREF_2,5V
SINAL DO SENSOR DE GIRO
SINAL DO VELOCIMETRO
CONT0
CONT1
CONVERSORES PARA CONTADORES
Felipe Schiavon2 6
1.0
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 18-Dec-2007 Sheet of File: F:\FACUL\..\AMPOP_TC.SCH Drawn By:
3
26
1 874
U2
OP-07
3
26
1 874
U3
OP-07
3
26
1 874
U4
OP-07
3
26
1 874
U5
OP-07
R3
10K
R4
10K
R5
10K
R6
10K
R7
10K
R8
10K
R9
10K
R10
10K
POT1 ACELERADOR
POT0 ACELERADOR
ADC0
ADC1
+12
+12 +12
-12 -12
-12 -12
CONVERSORES PARA CONTADORES
Felipe Schiavon3 6
1.0
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 4-Dec-2007 Sheet of File: F:\FACUL\..\RS232_TC.SCH Drawn By:
R1IN13
T2IN10
R2OUT9T2OUT
7
VS-6
C2- 5C2+ 4C1- 3
VS+2 C1+ 1
T1IN11
R1OUT12 T1OUT
14
R2IN8
U6
MAX232
+
C21uF
+
C11uF
+C3 1uF
+
C41uF
+ C51uF
VCC
VCC
P3.1/TXD0P3.0/RXD0
TXD0RXD0
PROXIMO AO U6
TXD0RXD0
GND
1 23 45 67 89 10
CON2
SERIAL RS-232
CTSRTS
CTSRTS
INTERFACE RS-232
Felipe Schiavon4 6
1.0
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 3-Dec-2007 Sheet of File: F:\FACUL\TCC\RELATO~1\REGULA_T.SCHDrawn By:
12
CON1
CON2
+12
Vin1
GN
D2
+5V 3
U7LM7805CT+12 +5
C7100uF
C8100nF
C910uF
C10100nF
REGULADOR DE TENSÃO
Felipe Schiavon5 5
1.0
1 2 3 4
A
B
C
D
4321
D
C
B
A Title
Number RevisionSize
A4
Date: 4-Dec-2007 Sheet of File: F:\FACUL\..\MEMO_TCC.SCH Drawn By:
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
A1326
A141
CE20
OE22
R/W27
D0 11
D1 12
D2 13
D315
D416
D517
D618
D719
VCC 28
U12UT62256
OC1C11
1D2
2D3
3D4
4D5
5D6
6D7
7D8
8D9
1Q 19
2Q 18
3Q 17
4Q16
5Q15
6Q14
7Q13
8Q12
U1174ALS573
A15
RD
D0D1D2D3D4D5D6D7
WR
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14
+5
D0D1D2D3D4D5D6D7
1 2
U?A
7406
CE
CE
PSEN
MEMÓRIA RAM
Felipe Schiavon6 6
1.0