FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha,...

108
CENTRO PAULA SOUZA FACULDADE DE TECNOLOGIA FATEC SANTO ANDRÉ Tecnologia em Eletrônica Automotiva LUIZ RICARDO TRAJANO DA SILVA TIAGO SANTOS DE ARAÚJO FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO OBD II Santo André São Paulo 2010

Transcript of FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha,...

Page 1: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

CENTRO PAULA SOUZA

FACULDADE DE TECNOLOGIA

FATEC SANTO ANDRÉ

Tecnologia em Eletrônica Automotiva

LUIZ RICARDO TRAJANO DA SILVA

TIAGO SANTOS DE ARAÚJO

FERRAMENTA DE DIAGNÓSTICO

AUTOMOTIVO OBD II

Santo André – São Paulo

2010

Page 2: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

CENTRO PAULA SOUZA

FACULDADE DE TECNOLOGIA

FATEC SANTO ANDRÉ

Tecnologia em Eletrônica Automotiva

LUIZ RICARDO TRAJANO DA SILVA

TIAGO SANTOS DE ARAÚJO

FERRAMENTA DE DIAGNÓSTICO

AUTOMOTIVO OBD II

Monografia apresentada ao Curso de Tecnologia

em Eletrônica Automotiva da FATEC Santo

André, como requisito parcial para conclusão do

curso em Tecnologia em Eletrônica Automotiva.

Orientador: Professor. Weslley Medeiros Torres.

Santo André – São Paulo

2010

Page 3: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

Dedicamos este trabalho a nossas famílias

e a todos os nossos amigos que sempre

estiveram presentes durante está etapa de

nossas vidas.

Page 4: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

AGRADECIMENTOS

Atenciosamente, a Deus e afetuosamente, as nossas famílias, enviamos nossa eterna

gratidão, pelo exemplo de vida, por oferecerem todo o suporte para nossa educação, semente

deste trabalho. E principalmente, por vibrarem a cada conquista.

De maneira especial, ao nosso orientador, o Professor Weslley Medeiros Torres, da

Faculdade de Tecnologia de Santo André – FATEC, por sua paciência e comprometimento

durante nosso trabalho em conjunto.

Gostaríamos de agradecer aos Professores Mestre. Cleber William Gomes, Mestre

Edson Kitani e Orlando Salvo Junior, pelo apoio que tivemos, e a todos aqueles que direta ou

indiretamente contribuíram para a realização deste trabalho. Agradecemos aos professores,

colaboradores e funcionários da Fatec Santo André por terem reservado um tempo de suas

vidas para a transmissão de seus conhecimentos e por sempre estarem dispostos a nos ajudar.

Page 5: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

“É a chave que abre a porta lá do

quarto dos segredos. Vem mostrar que nunca

é tarde, vem mostrar que é sempre cedo. E

que para cada pecado sempre existe um

perdão. Não tem certo nem errado, todo

mundo tem razão, e que o ponto de vista é que

é o ponto da questão.”

Raul Seixas

Page 6: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

RESUMO

Com o aumento da eletrônica embarcada nos veículos automotores, passa a ser

fundamental o desenvolvimento de equipamentos que melhorem o desempenho, aumente o

conforto, a segurança e que controlem o nível de emissões de poluentes, etc. Em vista disso,

nós nos propomos a desenvolver um sistema que realize a aquisição de dados, monitorando o

funcionamento do veículo e que detecte possíveis falhas. Esta monografia tem como objetivo

o desenvolvimento de um scanner automotivo, cuja função é a aquisição de dados presentes

nos módulos eletrônicos existentes em veículos equipados com sistemas de diagnósticos

embarcados de segunda geração. Composto por elementos de hardware, baseado

principalmente em um microcontrolador PIC16F877A e em um circuito integrado da família

ELM..

Palavras chaves: Diagnóstico Veicular, OBD II, Scanner automotivo, DTC (Código

de Falha).

Page 7: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

ABSTRACT

With the increase of electronics, becomes crucial to the development of equipment,

improve performance, enhance comfort and safety, controlling the emissions of pollutants and

so on. In view of this, we propose a system that performs data acquisition, monitoring the

operation of the vehicle and detecting possible failures. This monograph aims to develop an

automotive scanner, whose function is the data acquisition modules present in existing

electronic systems in vehicles equipped with onboard diagnostics, second-generation.

Compound of hardware elements, based on a microcontroller and an integrated circuit family

ELM.

Key Word: Vehicle Diagnose, OBD II (on board diagnostics), automotive scanner,

DTCs (Diagnostic Trouble Codes).

Page 8: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

LISTA DE ILUSTRAÇÕES

FIGURA 1: COMBUSTÍVEL DA ELETRÔNICA EMBARCADA......................................................... 18

FIGURA 2 ARQUITETURA CENTRALIZADA .............................................................................. 19

FIGURA 3: ARQUITETURA DISTRIBUÍDA ................................................................................. 20

FIGURA 4 : RESPONSABILIDADE X COMPLEXIDADE................................................................. 21

FIGURA 5: CONECTOR OBDII ................................................................................................ 25

FIGURA 6: EXEMPLO DO CÓDIGO DTC P0143 ........................................................................ 27

FIGURA 7: ARQUITETURA DE REDE OBD-II............................................................................ 28

FIGURA 8: BARRAMENTO DE DIAGNÓSTICO ISO 9141-2......................................................... 29

FIGURA 9: TOPOLOGIA KWP 2000 ........................................................................................ 30

FIGURA 10 : TEMPO DE 1 BIT ................................................................................................. 32

FIGURA 11: EXEMPLO DE COMUNICAÇÃO USART ASSÍNCRONO............................................. 33

FIGURA 12: PINAGEM DO ELM-327 ....................................................................................... 34

FIGURA 13: DIAGRAMA DE BLOCOS DA FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO ............. 36

FIGURA 14: ESQUEMA DO HARDWARE DA COMUNICAÇÃO COM O VEÍCULO. ............................. 37

FIGURA 16: CIRCUITO DE INTERFACE ENTRE USUÁRIO E HARDWARE DE CONTROLE ................... 38

FIGURA 15: CONFIGURAÇÃO BÁSICA DO MICROCONTROLADOR ............................................... 38

FIGURA 17: ESQUEMA LIGAÇÃO E COMUNICAÇÃO COM O DISPLAY DE LCD ............................ 39

FIGURA 18: ESQUEMA GERAL DA FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO. ..................... 39

FIGURA 19:ESQUEMA DE LIGAÇÃO DO ELM327. .................................................................... 41

FIGURA 20: SOFTWARE OBDSPY ......................................................................................... 41

FIGURA 21: AQUISIÇÃO DE DADOS SOFTWARE DE MONITORAMENTO. ..................................... 42

FIGURA 22: FUNÇÃO ENVIA .................................................................................................. 43

FIGURA 23: FUNÇÃO RECEBEMASK. ...................................................................................... 44

Page 9: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

FIGURA 25: FUNÇÃO ASCII .................................................................................................... 45

FIGURA 24: DESIGN DE SOFTWARE DE ALTO NÍVEL ............................................................... 45

FIGURA 26: FUNÇÃO FALHA .................................................................................................. 46

FIGURA 27: TRATAMENTO DO DADO DA PRESSÃO DO COLETOR DE ADMISSÃO ......................... 47

FIGURA 28: TRATAMENTO DE DADOS DA ROTAÇÃO ................................................................ 48

FIGURA 29: TRATAMENTO DE DADOS DE VELOCIDADE ........................................................... 48

FIGURA 30: TRATAMENTO DE DADOS DO AVANÇO DA IGNIÇÃO .............................................. 49

FIGURA 31: TRATAMENTO DE DADOS DA TPAR ...................................................................... 49

FIGURA 32: TRATAMENTO DE DADOS DA POSIÇÃO DA VÁLVULA BORBOLETA .......................... 49

FIGURA 33: TRATAMENTO DOS DADOS DO DTC ..................................................................... 50

FIGURA 34:FUNÇÃO APAGAR CÓDIGO DE FALHA .................................................................... 51

FIGURA 35: TELA INICIAL ..................................................................................................... 55

FIGURA 36 : TELA PRINCIPAL ................................................................................................ 56

FIGURA 37 : PARÂMETROS DTC1 .......................................................................................... 56

FIGURA 38 : PARÂMETROS DTC2 .......................................................................................... 56

FIGURA 39: NÚMERO DE DTC`S ............................................................................................ 57

FIGURA 40: NÚMERO DTC`S ................................................................................................. 57

FIGURA 41: IDENTIFICAÇÃO DTC`S ....................................................................................... 57

FIGURA 42: APAGAR DTC`S.................................................................................................. 57

Page 10: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

LISTA DE TABELAS

TABELA 1: CÓDIGO DE FALHA 1º DÍGITO ................................................................................ 26

TABELA 2: CÓDIGO DE FALHA 2º DÍGITO ................................................................................ 26

TABELA 3: CÓDIGO DE FALHA 3º DÍGITO ................................................................................ 27

TABELA 4: PARÂMETROS DE LEITURA .................................................................................... 42

TABELA 5: INICIALIZAÇÃO .................................................................................................... 46

TABELA 6: EXEMPLO DE MENSAGENS ENVIADAS E RECEBIDAS ............................................... 46

TABELA 7: EXEMPLO DE REQUISIÇÃO DE CÓDIGOS DE FALHA ................................................. 50

TABELA 8: REQUISIÇÃO PARA APAGAR MEMÓRIA ................................................................... 51

TABELA 9: SIMULAÇÃO DA FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO ............................. 52

Page 11: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

SUMÁRIO

1 INTRODUÇÃO ................................................................................................... 14

1.1 OBJETIVOS E MOTIVAÇÃO ................................................................................. 15

1.2 CONTEÚDO ...................................................................................................... 15

2. SISTEMA DIAGNÓSTICO EMBARCADO .................................................... 17

2.1 ELETRÔNICA EMBARCADA ................................................................................ 17

2.2 TECNOLOGIAS DE ARQUITETURAS ELETRÔNICAS .............................................. 18

2.2.1 Arquitetura Centralizada .......................................................................... 19

2.2.2 Arquitetura Distribuída ............................................................................ 20

2.3 DIAGNÓSTICO VEICULAR ................................................................................. 22

2.3.1 OBD no Brasil.......................................................................................... 23

2.3.2 Resolução CONAMA Nº 315 .................................................................... 23

2.3.3Resolução CONAMA Nº 354 ..................................................................... 23

2.4 CONECTOR PADRÃO OBD II ............................................................................. 24

2.4.1 Localização .............................................................................................. 24

2.4.2 Pinagem ................................................................................................... 25

2.5 CÓDIGOS DE FALHA DE DIAGNÓSTICO ............................................................... 26

2.6 PROTOCOLOS DE COMUNICAÇÃO DE DIAGNOSE ................................................ 27

2.6.1 Protocolo ISO 9141-2 – A norma mais utilizada....................................... 29

2.6.2 Protocolo ISO 14230 (KWP 2000) ........................................................... 29

2.6.3 Protocolo SAE J1850 ............................................................................... 30

2.6.4 Protocolo ISO 15765 ................................................................................ 31

2.6.5 Protocolo ISO 1939 .................................................................................. 31

2.7 COMUNICAÇÃO SERIAL – UART ....................................................................... 32

Page 12: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

2.7.1 Modo Assíncrono ..................................................................................... 32

2.8 ELM 327 ......................................................................................................... 33

2.8.1 As aplicações do dispositivo ELM327 ...................................................... 34

2.8.2 Características Principais: ....................................................................... 34

3.METODOLOGIA ................................................................................................ 35

3.1 REQUISITOS DO PRODUTO ................................................................................ 35

3.2 SOLUÇÕES TÉCNICA ......................................................................................... 35

3.2.1 Hardware ................................................................................................. 36

3.2.1.1 ELM 327. .......................................................................................... 36

3.2.1.2 Microcontrolador PIC16F877A ......................................................... 38

3.2.1.3 Teclas e Display de interface. ............................................................ 38

3.2.2 Software ................................................................................................... 40

3.2.2.1 Requisitos do software ....................................................................... 42

3.2.2.2 Design do Software. .......................................................................... 42

3.2.2.2.1 Design de Alto Nível .................................................................. 45

3.2.2.2.1 Design detalhado ........................................................................ 46

3.2.2.2.1.1 Inicialização. ........................................................................ 46

3.2.2.2.1.1 Parâmetros de leitura. ........................................................... 46

3.2.2.2.1.3 Códigos de falha DTC. ......................................................... 50

3.2.2.2.1.4 Apagar DTC ........................................................................ 51

4. ANÁLISE DOS RESULTADOS ........................................................................ 52

4.1 SIMULAÇÃO. .................................................................................................... 52

4.2 TESTES NO VEÍCULO ........................................................................................ 53

4.3 RESULTADOS ................................................................................................... 54

4.3 SESSÃO DE DIAGNÓSTICO ................................................................................. 55

4.3.1 Parâmetros de Leitura.............................................................................. 56

4.3.2 Leitura dos DTC`s .................................................................................... 56

5. CONCLUSÃO..................................................................................................... 58

5.1 PROPOSTAS FUTURAS ....................................................................................... 58

6. REFERÊNCIAS.................................................................................................. 59

Page 13: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

ANEXO ................................................................................................................... 62

ANEXO A – CÓDIGO DO PROGRAMA. .................................................................... 62

ANEXO B – DATASHEET ELM-327 – COMANDO AT. ............................................ 62

ANEXO C - LISTA COM OS DTC`S ....................................................................... .62

Page 14: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

14

1 INTRODUÇÃO

A indústria automotiva motivada pela redução nos custos de produção, pelas leis que

limitam os níveis de emissões de gases resultantes do processo de combustão, pelo aumento

da segurança e conforto dos ocupantes e por melhorias de desempenho, iniciou a substituição

dos antigos sistemas (mecânicos, hidráulicos e pneumáticos) que possuíam eficiência muito

menor por sistemas eletrônicos. (TOSI & GALVÃO & LIMA, 2008).

Segundo Guimarães (GUIMARÃES, 2003), a eletrônica embarcada representa todo e

qualquer sistema eletro-eletrônico montado em uma aplicação móvel. Este conceito iniciou-se

nos veículos através da ECU, Unidade Eletrônica de Controle (Electronic Control Unit) , que

fisicamente, nada mais é que um módulo eletrônico responsável por realizar um determinado

controle. Em um primeiro momento foram colocadas diversas ECUs responsáveis pelo

controle de diferentes componentes, porém com o passar do tempo comprovou se ser

indispensável a troca de informação entre elas, o que levou ao surgimento de um barramento

eletrônico eficiente, robusto e flexível. Desenvolvia-se então o CAN (Controller Area

Network).

Tornava-se então indispensável uma ferramenta padrão que permita a verificação do

funcionamento de cada módulo eletrônico existente em um veículo. No principio cada

fabricante desenvolveu seu próprio sistema de diagnóstico, com software e interface

específica, o que acarretava a ocorrência de inúmeros problemas, devido a quando houvesse

uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

complexo realizar o diagnóstico.

Então, em 1988, a SAE (Society of Automotive Engineers) com ajuda da EPA

(Environmental Protection Agency) criou o OBD (On‐Board Diagnosis), o sistema de

diagnose de bordo para controle das emissões e de identificação da provável origem das

falhas DTCs (Diagnostic Trouble Codes) armazenados na memória da unidade de controle do

motor. Serve também para monitorar componentes do carro e pode também executar rotinas

de diagnóstico permitindo prever falhas e adiantar consertos e substituições necessárias.

Sua primeira versão era simples, conforme Belo (BELO, 2003), não se padronizava as

mensagens utilizadas pelas diversas montadoras, eram realizadas leituras de um reduzido

número de códigos de falha e monitorava-se alguns sensores. Na segunda versão esses

problemas foram solucionados e inúmeros dados podem ser lidos através do agora OBDII,

Page 15: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

15

que além de ser mais completo, padronizou as mensagens de comunicação, facilitando

enormemente o processo de diagnóstico. Agora muitos dos códigos de erro devem ser iguais,

independente da marca do veículo, e como a interface física e o protocolo são os mesmos, um

só aparelho pode ser utilizado para diagnosticar diversos automóveis.

Os veículos devem estar equipados com um sistema OBD concebido, construído e

instalado de um modo que possibilite identificar os diversos tipos de falhas e deteriorações

que possam manifestar-se durante toda a vida do veículo.

O acesso ao sistema OBD necessário para a inspeção, diagnose, manutenção ou

reparação do veículo deve ser irrestrito e normalizado. Este deve ser concebido, construído e

instalado no veículo de modo que permita satisfazer as condições normais de utilização.

A conexão física é realizada através de um conector de diagnostico de dezesseis pinos

denominado DLC (Diagnostic Link conector), através desse, sistemas externos como

scanners, podem acessar os DTCs (Diagnostic Trouble Codes), que são os códigos de falhas

armazenados na memória da unidade de controle do motor.

Este projeto é composto por uma parte, monográfica, que descreve o processo de

trabalho e o embasamento teórico, e finalmente uma parte experimental.

1.1 Objetivos e motivação

Este trabalho tem por objetivo desenvolver uma ferramenta de diagnóstico veicular para

veículos que possuam o sistema OBD-II, utilizando componentes eletrônicos que se

encontram na placa de experiências McLab2, juntamente com um circuito integrado dedicado

da família ELM e um software desenvolvido para o equipamento.

A motivação foi a oportunidade de se consolidar o conhecimento adquirido durante todo

o curso além de contribuir academicamente com os resultados para futuras pesquisas.

1.2 Conteúdo

Este trabalho estará assim dividido; o capítulo 2 discorrerá sobre uma revisão

bibliográfica mostrando os principais conceitos de sistema de diagnóstico veicular; o padrão

OBD-II, os protocolos de comunicação automotivos, o circuito integrado da família ELM e a

Page 16: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

16

comunicação serial. No capítulo 3 será detalhado todo processo de aplicação da metodologia

utilizada no desenvolvimento do projeto. No capítulo 4 descrevem os ensaios e os resultados

obtidos, estratificando-os para um estudo comparativo entre o desejado e o realizado.

Analisar-se-á se a meta foi atingida e quais foram as dificuldades encontradas neste projeto.

Finalmente, no capítulo 5 discutem-se as conclusões obtidas dos resultados e a proposição de

novos estudos e desafios.

Page 17: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

17

2. SISTEMA DIAGNÓSTICO EMBARCADO

2.1 Eletrônica embarcada

Segundo Guimarães, a eletrônica embarcada representa todo e qualquer sistema eletro-

eletrônico montado em uma aplicação móvel, seja em um automóvel, um navio ou um avião.

(GUIMARÃES, 2003).

Conforme Andreatini (ANDREATINI, 2003), o processo da penetração da eletrônica

no mercado automotivo, foi lento, devido principalmente à relação de custo benefício.

Historicamente a eletrônica embarcada teve seu início na década de 1960, porém naquele

momento, devido a ser uma imposição e não por um desejo dos consumidores, não obteve

sucesso. Durante a década de 1970 dois eventos retomaram sua inclusão:

- A redução do consumo de combustível e a introdução de leis governamentais para a

redução da emissão de poluentes na atmosfera.

- O desenvolvimento a custos relativamente baixos de dispositivos em estado sólido, o

que facilitou a introdução da eletrônica digital no gerenciamento de motores.

A indústria automotiva vem há anos utilizando-se de sistemas eletro-eletrônicos no

controle de funções do veículo, boa parte destes foi desenvolvido de forma independente,

sendo cada um responsável por um determinado tipo de função. Contudo com o passar do

tempo provou-se indispensável o compartilhamento de informações, mais facilmente

conseguido através da utilização dos sistemas eletro-eletrônicos interligados, sendo cada um

responsável por uma função, na qual todas juntas se completam. (TOSI & GALVÃO &

LIMA, 2008).

Desde então a utilização da eletrônica embarcada se incrementa dia à dia, e será ainda

maior no futuro. Abaixo, descrevem-se algumas das presentes e futuras aplicações da

eletrônica embarcada no automóvel:

- Redes de comunicação, navegação e entretenimento.

- Direção ativa

- Freios eletrônicos

- Conforto e Segurança

Page 18: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

18

-Controle eletrônico da injeção do combustível (minimizar consumo e maximizar

desempenho).

- Instrumentação para a medição de parâmetros do desempenho do veiculo e a

obtenção de diagnósticos de eventuais falhas do sistema.

Sendo este último base para a construção desta monografia e para montagem do

trabalho prático.

A figura 1 mostra os pontos que levam ao incremento da eletrônica embarcada.

Figura 1: Combustível da eletrônica embarcada

(Fonte: Notas de aula do professor Kleber N. Hodel, 2009)

Perceba que, os desejos dos clientes têm extrema relação com o avanço da eletrônica

embarcada, seja para cumprimento de normas de emissão, diagnose, segurança, conforto,

custo, eficiência, economia, etc.

2.2 Tecnologias de Arquiteturas Eletrônicas

Segundo Guimarães (GUIMARÃES, 2003), as arquiteturas elétricas são as formas

pelos quais os sistemas de controle são interconectados em uma aplicação embarcada.

Page 19: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

19

Atualmente, no setor automobilístico destacam-se dois tipos: arquitetura centralizada e a

arquitetura distribuída.

2.2.1 Arquitetura Centralizada

Neste tipo de arquitetura uma única ECU (Eletronic Control Unit) é responsável por

todo o controle existente no sistema, recebendo os sinais de entrada (através dos sensores), os

processando e comandando as respectivas saídas (atuadores) de controle do sistema.

Figura 2 Arquitetura Centralizada

(Fonte: Notas de aula do professor Kleber N. Hodel, 2009)

O diagrama esquemático que representa este conceito de arquitetura é apresentado na

figura 2. Dentro da ECU são encontrados o hardware e software que permitem a leitura das

entradas, seu processamento e a atuação das saídas, além da diagnose para verificação de seu

funcionamento.

Como vantagens podem destacar:

- Facilidade na coleta de informações do sistema devido a todos os dados de entrada

serem disponíveis para ECU durante toda a operação.

- Simplicidade do hardware, sendo constituído de sensores e atuadores, cabeamento e

uma ECU para controle e processamento de dados.

- Baixo custo de desenvolvimento

Como desvantagens podem destacar:

- Limitação das possibilidades de expansão do sistema.

Page 20: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

20

- Grande quantidade de cabeamento.

2.2.2 Arquitetura Distribuída

Neste tipo de arquitetura, num mesmo sistema de controle, várias ECU´s interligadas,

dividem o controle e processamento de diversas funções existentes no veículo.

Figura 3: Arquitetura Distribuída

(Fonte: Notas de aula do professor Kleber N. Hodel, 2009)

O diagrama esquemático que representa este conceito de arquitetura é apresentado na

figura 3. As ECU´s encontram-se interligadas, dividindo entre elas a execução de diversas

funções existentes no veículo. Tendo seu funcionamento monitorado pela diagnose através de

um protocolo de comunicação.

Como vantagens podemos destacar:

- Maior robustez do sistema de controle.

- Facilidade na ampliação do sistema.

- Quantidade reduzida de cabeamento.

- Possibilita modularização do projeto do sistema e da execução dos testes de

validação, aumentando assim a confiabilidade.

Como desvantagens podemos destacar:

-Implica a existência de um software de controle da rede de comunicação.

Page 21: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

21

-Exige a utilização de um protocolo de comunicação.

Depois de relacionadas as vantagens e desvantagens fundamentais das duas principais

arquiteturas veiculares, acrescentamos que a escolha de uma delas para uma determinada

aplicação móvel, depende da ponderação de alguns fatores, tais como: o tempo necessário à

implantação da arquitetura, sua viabilidade econômica, complexidade e robustez.

Figura 4 : Responsabilidade x Complexidade

(GUIMARÃES, 2003)

A figura 4 faz uma relação entre a responsabilidade por ECU do sistema de controle,

maior na arquitetura centralizada, com a complexidade deste sistema, maior na arquitetura

distribuída.

Em vista disso, das evoluções tecnológicas e das possibilidades de futuras expansões

com o mínimo de alterações do sistema como um todo, optou-se pela maior eficiência das

arquiteturas distribuídas. (GUIMARÃES, 2003)

Diante disso, se fez necessário a utilização de um protocolo de comunicação, para a

interconexão dos módulos, troca de informações pertinentes a cada uma das funções

controladas, processadas e executadas no sistema. Então a Bosch apresentou o CAN

(Controller Area Network). Esse sistema se mostrou o mais eficiente, robusto e adequado para

tal função e logo ganhou a aceitação dos fabricantes de automóveis e passou a dominar a

indústria automotiva.

Page 22: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

22

2.3 Diagnóstico Veicular

Segundo Guimarães (GUIMARÃES, 2007), o termo diagnóstico veicular representa as

funções ou ferramentas que permitem a programação ou verificação do funcionamento dos

módulos eletrônico existente em um veículo. E devido ao aumento da eletrônica embarcada,

passa a ser mandatório o desenvolvimento de dispositivos que permitam, por exemplo, o

diagnóstico de falhas eventuais do sistema. Considerando esta necessidade, ele classifica as

falhas em duas categorias: as possíveis de serem identificadas pelo motorista e as

identificadas somente com o auxílio de ferramentas especiais. A primeira é chamada de On-

Board Diagnosis (OBD) e é realizada por meio da lâmpada de mau funcionamento do motor e

avisos sonoros existentes no painel de instrumentos. A segunda pode ser chamada de Off-

Board Diagnosis e é realizada pelos dispositivos eletrônicos capazes de se comunicar com os

módulos do veículo. (GUIMARÃES, 2007, p. 227).

Belo (BELO, 2003) afirma que os sistemas de diagnóstico foram desenvolvidos com o

propósito de manter os níveis de emissão de poluentes dos veículos dentro de padrões

estabelecidos. Os sistemas de primeira geração eram simples e realizam essa função de forma

eficiente, porém possuíam algumas deficiências graves. Primeiramente ao fato de que as

falhas somente eram identificadas quando houvesse desgaste do componente ao ponto deste

tornar-se inoperante, o que era muito prejudicial, pois se aumentava assim os níveis de

emissão de poluentes. Outra grave deficiência era a dificuldade do acesso a essas informações

de diagnostico de falha, pois cada fabricante possuía seus próprios protocolos, do qual o

acesso aos serviços de diagnose somente eram realizados por ferramentas disponibilizadas

pelos próprios. (BELO, 2003)

O sistema embarcado de segunda geração OBD-II (On-board Diagnostic Generation

2) foi definido pela CARB (California Air Resources Board), foi primeiramente

implementado em todos os veículos americanos produzidos após 1996, é uma norma para

diagnóstico veicular, relacionada a emissões de poluentes. O objetivo é detectar falhas nos

veículos, cujo desempenho possa aumentar os limites de emissões, ao ponto que estas

excedam os limites pré-estabelecidos por leis ambientais da agência de proteção ambiental

americana (Environment Protection Agency ou EPA). O sistema estabelece um conjunto de

sistema de serviços de diagnóstico presentes nos veículos e implementados por uma

ferramenta de diagnóstico geral (scanners), fabricada por diversos fabricantes independentes.

Page 23: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

23

Diniz (DINIZ & COLÓN & SILVA & AGUIAR & SILVA. F & PALÁCIOS, 2009)

afirma que, o próximo passo será a introdução do padrão OBD-III, na qual o veiculo entrará

em contato com as autoridades responsáveis no caso de aumento dos níveis de emissões, e

esta será notificada e atuará para que o defeito seja reparado. Com isso, não será mais

necessário o controle de emissões de gases, que atualmente acontece de dois em dois anos,

aumentando assim a eficiência.

2.3.1 OBD no Brasil

A seguir uma breve introdução das principais legislações vigentes no mercado

automotivo brasileiro. As resoluções visam dar continuidade as atualizações do PROCONVE

(Programa de Controle de Poluição do Ar por Veículos Automotores), instituído pela

resolução do CONAMA (Conselho Nacional do Meio Ambiente) Nº18, DE 06 DE MAIO DE

1986, que tem como objetivo principal reduzir os níveis de emissão de poluentes pelo

escapamento e por evaporação, promovendo o desenvolvimento da tecnologia nacional.

(DINIZ & COLÓN & SILVA & AGUIAR & SILVA. F & PALÁCIOS, 2009).

2.3.2 Resolução CONAMA Nº 315

Especifica basicamente os prazos e limites de emissões de poluentes que a serem

seguidos pelas montadoras.

2.3.3Resolução CONAMA Nº 354

Considera a adoção do programa OBD aos veículos automotores (para veículos leves

de passageiros, produzidos ou importados), contribui para a melhoria da qualidade ambiental

e possibilita a prevenção da ocorrência de danos severos aos sistemas de controle de emissão.

O padrão foi baseado no já existente e implantado OBD-II. A principal tarefa da resolução foi

definir os parâmetros a serem medidos e prazo para implantação pelas montadoras

(CONAMA, 315). A implementação no Brasil foi definida em duas fases, ao qual o

cronograma é o seguinte:

OBDBr-1:

- A partir de 1º de janeiro de 2007, no mínimo para 40% do total anual de veículos;

- A partir de 1º de janeiro de 2008, no mínimo para 70% do total anual de veículos;

- A partir de 1º de janeiro de 2009, para a totalidade de veículos;

- Sensor Pressão Absoluta ou Fluxo de Ar

- Sensor Posição da Borboleta

- Sensor de Temperatura de Arrefecimento

Page 24: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

24

- Sensor Temperatura de Ar

- Sensor Oxigênio (somente o sensor pré-catalisador)

- Sensor de Velocidade do Veículo

- Sensor de Posição do Eixo Comando de Válvulas

- Sensor de Posição do Virabrequim

- Sistemas de Re-circulação dos Gases de Escape (EGR)

- Sensor para Detecção de Detonação

- Válvulas Injetoras

- Sistema de Ignição

- Módulo Controle Eletrônico do motor

- Lâmpada Indicadora de Mau Funcionamento (LIM)

- Outros componentes que o fabricante julgue relevantes para a correta avaliação do

funcionamento do veículo e controle de emissões de poluentes.

OBDBr-2:

-À partir de 1º de janeiro de 2010, no mínimo para 60% do total anual de veículos;

-À partir de 1º de janeiro de 2011, para a totalidade de veículos;

Complementarmente às funções e características do Sistema OBDBr-1, o sistema

OBDBr-2 deve detectar e registrar a existência de falhas de combustão, deterioração do(s)

sensor(es) de oxigênio primário(s) e eficiência de conversão do catalisador que acarretem

aumento de emissões, também apresentar características mínimas para a detecção de falhas

nos seguintes componentes:

- Sensores de Oxigênio (pré e pós-catalisador)

- Válvula de Controle da Purga do Cânister

2.4 Conector padrão OBD II

Trata-se do conector padrão mencionado na norma ISO 15031-5:2006, para

comunicação entre veículo e equipamento externo para diagnostico de emissões.

2.4.1 Localização

A localização em veículos de passeio e em veículos comerciais leves deve atender às

seguintes especificações:

Local de fácil acesso ao banco do motorista.

Próximo ao Painel de Instrumentos.

Page 25: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

25

Entre a coluna de direção e a ECU.

Distância de 300 mm além da ECU.

2.4.2 Pinagem

É composto por 16 pinos, sendo estes descritos na figura 5.

Figura 5: Conector OBDII

(Fonte: Notas de aula do professor Orlando Salvo Junior, 2010)

Observe que, o conector formato `D` - oferece maior facilidade de conexão com uma

mão e sem visão.

Contatos 2 e 10 – J1850 Bus+ e J1850 Bus

Contatos 6 e 14 – CAN High e CAN Low – ISO 15765-4

Contatos 7 e 14 – Linha K e Linha L - ISO 9141-2 e ISSO 14239-4

Contato 4. Massa do chassi – fornecer massa eficiente para equipamento externo.

Contato 5. Sinal massa – referência para comunicação.

Contato 16 - Positivo permanente:

Conector tipo A – 12V (4A)

Conector tipo B – 24V (2A)

Protegido por fusível ou elemento protetor no circuito.

Referência para comunicação da linha K.

Page 26: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

26

Contatos 1, 3, 8, 9 11, 12 e 13-Podem ser utilizados pelo fabricante de equipamento,

mantendo alta impedância com os contatos 4 e 5. Por exemplo > 500 k Ohms.

2.5 Códigos de falha de diagnóstico

A utilização de códigos de falha de diagnóstico padronizados facilita e muito a vida de

quem irá realizar a manutenção no veículo. A norma SAE J2012 estabelece um sistema de

código alfanumérico com 5 caracteres, cada um dos quais representa um valor específico.

O primeiro dígito indica a localização do defeito no veículo. Como se é possível

visualizar na tabela 1.

Tabela 1: Código de Falha 1º dígito

(Fonte: CERQUEIRA & BEZERRA & ZAMBONI & EDSON, 2009)

O segundo dígito indica a entidade responsável pela sua definição. Através deste é

possível verificar se o código é comum a todos os fabricantes (padrão ISO/SAE) ou

específico. Como é possível visualizar na tabela 2.

Tabela 2: Código de Falha 2º dígito

(Fonte: CERQUEIRA & BEZERRA & ZAMBONI & EDSON, 2009)

Page 27: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

27

O terceiro dígito do código de falhas, cujos valores são mostrados na tabela 3, refere-

se a um subgrupo de funções do veículo. E o quarto e o quinto dígito referem-se à falha

específica no referido subgrupo.

Tabela 3: Código de Falha 3º dígito

(Fonte: BELO, 2003)

Conforme figura 6 (exemplo) o código de falhas DTC (Diagnostic Trouble Code) é

transmitido por dois bytes de informação para cada DTC.

Figura 6: Exemplo do código DTC P0143

.(Fonte: ISO 15031-5:2006)

Para realizar a identificação da falha, a lista com os DTC`s encontram-se no anexo C.

2.6 Protocolos de Comunicação de Diagnose

O protocolo é um conjunto de regras ou convenções formuladas para controlar a troca

de dados entre dois dispositivos desejando uma conexão. Incluem como elementos básicos o

formato de dados e níveis de sinal, tempo e gerenciamento e coordenação de erros das

informações. (GUIMARÃES & FILHO & SILVA. A & CAMPOS & SILVA. C &

PALÁCIOS, 2003).

O sistema OBD-II apresenta uma arquitetura de rede baseada no modelo OSI (Open

Systems Interconnection), que é um modo de se subdividir os sistemas de comunicação em

Page 28: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

28

camadas, definido pela norma ISO 7498, contendo conforme figura 7, camadas de aplicação,

enlace e física.

Figura 7: Arquitetura de rede OBD-II

(Fonte: BELO, 2003)

Perceba que, conforme Belo (BELO, 2003), a camada de aplicação é responsável

pelos serviços de diagnose disponibilizados ao usuário, sendo constituída sob infra-estrutura

de serviços de comunicação baseadas em camadas inferiores e possui um único protocolo,

definido pela norma SAE J1979. A camada de enlace de dados é responsável pelo

reconhecimento das mensagens e detecção de erros durante a comunicação, utilizando-se dos

serviços da camada física, que é a camada inferior e trata da transmissão das mensagens

através de um meio físico.

Para garantir compatibilidade com os protocolos de diagnose primeira geração, as

camadas de enlace de dados e a física podem possuir diferentes protocolos: ISO 9141-2, SAE

Page 29: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

29

J 1850 PWM, SAE J I850 VPW, ISO 14230-4 (KWP 2000), ISO 15765-4 (CAN) e SAE

J1939-73 (CAN). O equipamento para diagnóstico deve determinar automaticamente a

interface de comunicação para fornecer serviços OBD e continuar repetindo o teste de

protocolo até o usuário interromper. Caso persista, informar ao usuário sobre a

impossibilidade de comunicação ou que a informação solicitada não está disponível. Deve

suportar um protocolo por veículo, testá-los em qualquer ordem, determinar qual linha de

comunicação é a do veículo (K, CAN, BUS) e informar ao usuário que a inicialização está

acontecendo. (SALVO JUNIOR, 2010).

2.6.1 Protocolo ISO 9141-2 – A norma mais utilizada

Este protocolo estabelece a comunicação através de um barramento serial, é composto

por duas linhas de comunicação (denominadas K e L), define o formato das mensagens e

procedimentos para a detecção de erros e inicialização da comunicação. (BELO, 2003)

- Os módulos eletrônicos devem possuir uma K ou duas (K +L) linhas de comunicação

para diagnóstico ou inspeção.

- O módulo eletrônico ou o veículo devem providenciar a tensão positiva permanente

bem como o terra, para o scanner.

- A linha K provê de uma forma digital serial a informação, do modulo eletrônico para

o scanner e pode ser utilizada para inicializar uma comunicação serial. (GUIMARÃES, 2007)

Figura 8: Barramento de Diagnóstico ISO 9141-2

(Fonte:GUIMARÃES, 2007)

A figura 8 representa as linhas K e L de dois módulos eletrônicos conectados juntos, e

esse sistema é conhecido como barramento.

2.6.2 Protocolo ISO 14230 (KWP 2000)

O protocolo ISO 14230 ou KWP 2000 “Keyword Protocol 2000”, é segundo Belo

(BELO, 2003), um conjunto de normas estabelecidas pela ISO, com o objetivo de definir

Page 30: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

30

requisitos comuns para a utilização dos sistemas de diagnóstico implementados com o uso de

uma linha de comunicação serial. Apresenta tanto serviços de diagnostico, que compõem a

camada de aplicação e permitem o acesso a diagnose embarcada, quanto serviços de

comunicação que fornece a infra-estrutura necessária para a comunicação com a unidade

eletrônica.

Conforme Guimarães (GUIMARÂES, 2007), este protocolo permite a compatibilidade

com as implementações da ISO 9141-2 existentes, e explora novas opções para proporcionar

uma maior flexibilidade e melhorar o desempenho.

A figura abaixo apresenta a topologia KWP 2000, aonde a linha K é utilizada para a

inicialização e comunicação e a linha L é um opcional, somente para inicialização.

Figura 9: Topologia KWP 2000

(Fonte:ISO 14230-2:1999)

2.6.3 Protocolo SAE J1850

O Protocolo estabelece uma rede de comunicação de dados usada para o

compartilhamento de informações entre os módulos eletrônicos do automóvel. Através de

duas abordagens distintas os sinais digitais são comunicados utilizando-se de um conceito de

multiplexação por divisão de tempo: (BELO, 2003)

- SAE J1850 PWM – modulação por largura de pulso fixa: 41,6 kbaud, padrão da

Ford: o valor de um símbolo é determinado pela duração do pulso.

- Pino 2: Bus +

- Pino 10:-Bus

- Alta tensão de +5 V

- Comprimento da mensagem é limitado a 11 bytes, inclusive CRC

- Utiliza um esquema de arbitragem, multi-mestre chamado de “Carrier Sense Multiple

Access com Non-Destructive da Arbitragem "(CSMA / DND).

Page 31: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

31

Descrição do funcionamento:

- Bus alterna entre passivas e ativas para cada bit

- Alta tensão do barramento é dominante

- Dominante símbolos

• Bus Active: Longo domina pulsos curtos

• Bus Passiva: Curto domina pulsos longos

- SAE J1850 VPW – modulação por largura de pulso variável- 10.4/41.6 kbaud,

padrão da General Motors: o valor do símbolo é determinado pela largura do pulso e pelo

estado do barramento.

- Pino 2: Bus +

- Bus fica inativo baixo

- Alta tensão de +7 V

- Ponto de Decisão é +3,5 V

- comprimento da mensagem é limitado a 11 bytes, inclusive CRC

- Emprega CSMA / NDA

-Descrição do funcionamento:

- Tempo de bit fixo.

- Pulso de curta ou longa iniciando com tempo start bit.

- Longo domina curta.

2.6.4 Protocolo ISO 15765

É baseado na norma ISO 14230 – parte 3, conforme Guimarães (GUIMARÂES,

2007), pois esta já continha as informações necessárias para implementar os serviços de

diagnóstico.

Define o cabeçalho de mensagens, a camada física e o protocolo de fragmentação para

permitir a implementação efetiva do CAN Bus em diagnósticos.

2.6.5 Protocolo SAE J1939

Segundo Guimarães (GUIMARÂES, 2007), seu principal propósito é proporcionar

arquiteturas padronizadas. É um protocolo de alto nível que define a comunicação entre os

módulos.

Qualquer unidade de controle eletrônica (ECU), utilizando J1939 tem permissão para

transmitir uma mensagem na rede quando a bus está ociosa. Cada mensagem inclui um

Page 32: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

32

identificador de 29 bits, que define a prioridade da mensagem de dados, e está contida dentro

de uma matriz de dados de 8 bytes que segue o identificador, e verifica qual ECU enviou a

mensagem.

2.7 Comunicação serial – USART

O nome USART significa Universal Synchronous Asynchronous Receiver

Transmitter. Trata-se de um protocolo universal que possui duas formas de trabalho: o

sincronizado e o não sincronizado ( síncrono e assíncrono). (SOUZA & LAVINIA,2003).

O modo de trabalho utilizado neste projeto foi o não-sincronizado.

2.7.1 Modo Assíncrono

Neste modo de trabalho a comunicação utiliza duas vias, e ambas são utilizadas para

dados, na qual uma será utilizada para a transmissão (TX) e a outra para a Recepção

(RX),desta forma as informações são enviadas e recebidas ao mesmo tempo. Este padrão de

comunicação é muito empregado, por exemplo, para implementar o padrão RS-232. (SOUZA

& LAVINIA,2003).

A sincronização entre os equipamentos que estão realizando a comunicação é realizada

pela própria via de dados através da seleção do Baud Rate ou velocidade da comunicação. O

Baud Rate define o intervalo de cada bit na comunicação e é indicado em bits por segundo.

Em uma comunicação serial RS232C, os dois equipamentos devem estar ajustados para uma

mesma velocidade. Desta forma o sincronismo é obtido para transmissão/recepção de cada

byte através do Start bit. (SOUZA & LAVINIA,2003)

Figura 10 : Tempo de 1 bit

(Fonte: SOUZA & LAVINIA,2003)

O TX de um lado deve ser conectado no RX do outro, e vice-versa, sempre o TX de

um equipamento será saída e o seu RX será sempre entrada. As duas vias de comunicação

possuem o seu estado padrão como sendo em nível alto. Quando um lado inicia a sua

transmissão, ele insere um nível baixo em seu TX, mantendo por um tempo TBIT, esta borda

de descida é interpretada pelo RX do outro equipamento, que inicia a sincronização para o

Page 33: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

33

recebimento desse byte. Este pulso em nível baixo é denominado de Start Bit (SOUZA &

LAVINIA,2003).

Após o Start Bit, TX enviara 8 bits de dados, cada um desses bits possuem o mesmo

intervalo de tempo do Start Bit. Rx o interpretar e deixa passar o tempo para depois coletar os

8 bits, cada um dos bit é pego no meio tempo de bit, ou seja, TBIT/2.No fim da transmissão o

TX envia um Stop Bit, que nada mais é do que um bit em nível lógico1, para garantir que a

linha volte ao seu estado de repouso padrão. (SOUZA & LAVINIA,2003).

No total da comunicação serão enviados 10 bits (1 Start Bit + 8 Bit de Dados + 1 Stop

Bit). A figura 11 representa o envio do byte 01101001.

2.8 ELM 327

Quase todos os automóveis produzidos hoje em dia devem, por lei, ter uma interface

através da qual, equipamentos de teste podem obter informações de diagnóstico. A

transferência de dados nesta interface segue vários padrões, e nenhum deles é diretamente

compatível com PCs ou PDAs. O ELM327 é designado para atuar como uma ponte entre

estas portas OBD (On board Diagnostics) e as portas padrão RS232. O resultado é um CI

(Circuito Integrado) que pode buscar e converter automaticamente a maioria dos protocolos

em uso atualmente. O ELM327 requer poucos componentes externos para torná-lo um

circuito funcional e é produzido tendo como núcleo um microcontrolador da família

Figura 11: Exemplo de comunicação USART Assíncrono

(Fonte: SOUZA & LAVINIA,2003)

Page 34: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

34

PIC18F2x8x da Microchip. A figura 12 apresenta. a pinagem do ELM-327. (Datasheet ELM

327).

Figura 12: Pinagem do ELM-327

(Fonte: Datasheet ELM-327)

2.8.1 As aplicações do dispositivo ELM327

- Scanners Automotivos

- Kits didáticos

- Leitores de DTCs (Diagnostic Trouble Codes – códigos de erros)

2.8.2 Características Principais:

- Suporte a 12 protocolos

- Baud rate da porta RS232 até 500kbps

- Busca automática por um protocolo

- Plenamente configurável com comandos AT

- Entrada para monitoramento da bateria

- Design CMOS de baixo consumo.

Page 35: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

35

3.METODOLOGIA

Este capítulo mostra a metodologia utilizada para o desenvolvimento da ferramenta de

diagnóstico veicular automotivo.

3.1 Requisitos do Produto

Primeiramente foram definidos quais seriam os requisitos para o desenvolvimento da

ferramenta de diagnóstico automotivo:

1. Utilizar a placa de experiências MCLAB2.

2. O Software deverá ser realizado em linguagem C.

3. Interface com sistemas de diagnose OBD II.

4. Realizar a comunicação com veículos que possuam os protocolos de

comunicação ISO 9141-2, SAE J 1850 PWM, SAE J I850 VPW, ISO 14230-4 (KWP

2000), ISO 15765-4 (CAN) e SAE J1939-73 (CAN).

5. Realizar a identificação automática do protocolo de comunicação que é

utilizado pelo veículo.

6. Realizar a leitura dos parâmetros de rotação do motor, do avanço da ignição, da

temperatura do ar, da pressão no coletor de admissão, da velocidade do veículo e da

posição da válvula borboleta.

7. Identificar quantos códigos de falhas o a unidade de controle do motor possui.

8. Mostrar no display de LCD pelo menos dois códigos de falhas.

9. Permitir que o usuário apague as falhas que estão presentes na unidade de

controle do motor.

10. Interface com o usuário através de teclas e display de LCD.

3.2 Soluções técnica

Com os requisitos definidos o desenvolvimento da ferramenta de diagnóstico

automotivo foi divido em dois blocos, um bloco de comunicação e outro bloco de controle. O

bloco de comunicação será responsável por atender diretamente aos requisitos 3, 4 e 5,

enquanto o bloco de controle será responsável por atender aos demais requisitos.

O bloco de controle enviara para o bloco de comunicação as mensagens referentes às

requisições feitas pelo usuário utilizando as teclas através de uma comunicação serial RS232

suportada pelos módulos USART (Universal synchronous Asynchronous Receiver-

Page 36: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

36

Transmitter – Receptor-Transmissor Assíncrono Universal) contidos nos dois blocos, o bloco

de comunicação recebera estas mensagens e as convertera para o protocolo de comunicação

que o veículo utiliza, para assim, fazer a comunicação com a unidade de controle do veículo e

obter a resposta para a mensagem de requisição do usuário.

Figura 13: Diagrama de blocos da ferramenta de diagnóstico automotivo

3.2.1 Hardware

Para a construção do hardware os seguintes componentes foram selecionados:

ELM327.

Microcontrolador PIC16F877A.

(4) Quatro Teclas.

Display de LCD 16X2.

3.2.1.1 ELM 327.

O ELM 327 é um conhecido Scanner automotivo que é amplamente utilizado em

conjunto com uma base PC, o que torna fácil a busca de informações, ele realiza a

comunicação com todos os protocolos necessários e identifica automaticamente o protocolo

de comunicação que o veículo utiliza, ele possui um hardware e software completo para fazer

a comunicação com o veiculo através de um conector OBDII e para fazer a comunicação com

uma base PC através de um cabo USB.

O intuito do nosso trabalho não esta na parte de comunicação com o veiculo e sim na

aquisição e tratamento de dados, por isso, nesta parte do hardware focalizaremos apenas nas

partes que utilizamos com esta finalidade.

No hardware original do ELM327 há um CI FT232BL da empresa FTDI, que realiza a

conversão da comunicação RS-232 disponível nos terminais 17 e 18 do ELM327 para sinais

USB. Como o nosso intuito é o de fazer com que o ELM327 passe a se comunicar com um

microcontrolador PIC 16F877A, fizemos a alteração no hardware original retirando toda

parte de comunicação USB, resultando no hardware da figura 14, no qual mantemos os

Page 37: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

37

circuitos de condicionamento de sinais referentes à comunicação de cada protocolo, o circuito

regulador de tensão e a disponibilidade dos pinos 17 e 18 para a comunicação com o PIC

16F877A.

Analisou-se que o CI ELM327 é um PIC18F2480 da família de circuitos lógicos

CMOS, igualmente ao nosso microcontrolodador PIC16F877A, sendo necessário somente

conectarmos os Pinos Rx e Tx de um microcontrolador, nos pinos Tx e Rx do outro

microcontrolador, respectivamente. Para assegurar o correto funcionamento da comunicação é

necessário também que os dois microcontroladores compartilhem de uma mesma tensão de

alimentação, na qual utilizamos a tensão de 5V fornecida pelo circuito regulador de tensão

que possui um CI 78L05, que alimentará o nosso hardware do bloco de controle.

Figura 14: Esquema do hardware da comunicação com o veículo.

(Fonte: DataSheet ELM 327 OBD to RS232 Interpreter).

Page 38: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

38

3.2.1.2 Microcontrolador PIC16F877A

A placa de experiências MCLAB2 possui um microcontrolador PIC16F877A de 40

pinos, que atende aos nossos requisitos, pois possui o módulo interno para a comunicação

USART, faz o controle para a escrita do LCD de 16X2 e tem portas suficientes para a

conexão das quatro teclas.

A figura 15 mostra o circuito básico para o funcionamento do microcontrolador. Os

capacitores C1 e C2 estão conectados ao cristal oscilador X1 de modo a formarem um circuito

oscilador de 4MHZ que será utilizado pelo microcontrolador para definir a sua velocidade de

processamento interno. A alimentação de 5V será fornecida pelo hardware de comunicação.

3.2.1.3 Teclas e Display de interface.

Para a realização do interfaceamento entre o usuário e a placa de controle utilizamos

as 4teclas e o display de LCD de 16X2 que estão na placa de experiências McLab2. As teclas

se encontram na configuração pull-up (Nível lógico alto), sendo tanto utilizadas para o

usuário avançar e recuar nas telas, como para entrar e sair de uma função especifica. O

circuito pode ser visto em maiores detalhes na figura 16.

Figura 16: Circuito de interface entre usuário e hardware de controle

O display de LCD alfanumérico de 2 linhas por 16 segmentos foi utilizado para a

leitura e seleção dos parâmetro desejados, pois ele é capaz de mostrar todas as mensagens

Figura 15: Configuração básica do microcontrolador

Page 39: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

39

listadas nos requisitos, tendo a função básica de uma IHM (Interface Homem Máquina). A

sua ligação está representada na figura 17( tipo de comunicação paralelo)..

Figura 17: Esquema ligação e comunicação com o display de LCD

A figura 18 apresenta o esquema geral do hardware que compõem o sistema da

ferramenta de diagnóstico automotivo.

Figura 18: Esquema geral da ferramenta de diagnóstico automotivo.

Page 40: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

40

3.2.2 Software

Para a realização do software foi feita uma lista de requisitos, que foi formulada a

partir de uma analise feita do processo de comunicação realizada entre um veículo VW Polo,

o ELM 327 e um computador (ver figura 19).

Analisou-se o processo de comunicação instalando dois softwares em um computador.

O primeiro foi o software chamado OBD2SPY (ver figura 20), que está no CD que

acompanha o equipamento ELM327, e que tem a função de scanner automotivo e o outro foi

o HHD Free Serial Port Monitor para descobrirmos quais são os dados trocados entre o

software e o ELM327.

O foco desta primeira etapa foi o de interpretar as perguntas e as respostas obtidas pelo

software de diagnóstico a cada informação requisitada, para desta forma realizar o nosso

software.

Após a análise concluí-se que o código da troca de dados utilizada pelo Polo segue um

padrão estipulado pela norma SAE J1979, o que facilita o trabalho, uma vez que não é

necessário simular diversas condições de trabalho para se obter um código para cada

situação.

A comunicação com o ELM327 possui duas linhas de comando, a primeira é um

conjunto de comandos AT, que são utilizados para a configuração interna do ELM327, por

exemplo: reset o chip utiliza-se o comando AT Z , a segunda são os comandos utilizados

para se obter as informações do veículo, que no caso do POLO segue o padrão da norma

SAEJ1979.

Toda vez que se envia um pacote de dados para o ELM327 o último dado deve ser um

caracter simples de retorno, que segundo a tabela ASCII é 0x0D(hexadecimal), desta forma

ele compreende que a informação chegou ao fim. Após serem enviados os dados para o

ELM327 deve se esperar até que este responda com um caractere „>‟(0x3E), que significa que

ele está pronto para receber uma nova mensagem. A figura 21 abaixo representa o processo de

aquisição dos valores da pressão no coletor de admissão e a rotação do veículo.

Page 41: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

41

Figura 19:Esquema de ligação do ELM327.

(Fonte http://www.elec-intro.com/obd-ii-tool )

Figura 20: Software OBDSPY

Page 42: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

42

Figura 21: Aquisição de dados Software de monitoramento.

3.2.2.1 Requisitos do software

Os requisitos para o nosso software são:

1. Realizar a comunicação USART com o bloco de comunicação, para o envio e

aquisição de dados.

2. Fazer o controle de escrita do LCD, para apresentar os valores ao usuário.

3. Leitura das teclas de entrada.

4. Identificar as mensagens requisitadas.

5. Tratar os dados recebidos.

3.2.2.2 Design do Software.

Através da norma J1979 obteve-se qual é a mensagem que deve ser enviada para o

veículo e qual é a resposta que deve ser esperada para se adquirir a informação desejada, a

tabela 4 apresenta o parâmetro de leitura associado a sua respectiva mensagem.

Tabela 4: Parâmetros de leitura

Parâmetro de Leitura Mensagem de

Aquisição

Resposta Esperada

Pressão no Coletor de Admissão 01 0B 41 0B 00

Rotação do Motor 01 0C 41 0C 00 00

Velocidade do Veículo 01 0D 41 0D 00

Avanço da Ignição 01 0E 41 0E 00

Temperatura do Ar 01 0F 41 0F 00

Page 43: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

43

Posição da Válvula Borboleta 01 11 41 11 00

(fonte: SAE J1979)

Observa-se que os dois primeiros caracteres das mensagens de aquisição „0‟ e „1‟, são

respondidos por „4‟ e „1‟ seguidos por mais 2 caracteres que correspondem ao parâmetro de

leitura desejado, estes quatro primeiros caracteres servem para requisitar a mensagem e para

verificar se a mensagem que está chegando é a correta, os caracteres subseqüentes dos quatro

primeiros representam o valor real do parâmetro de leitura desejado, mas para cada parâmetro

é necessário um tratamento diferente.

No software utilizamos a função printf( ) (utilizada para possibilitar a saída de dados

na linguagem C, onde os dados são direcionados para o dispositivo padrão de saida, que no

caso do microcontrolador PIC é a porta serial) para o envio das mensagens e a função getc()

(utilizada para a entrada de dados, através da porta serial, esta função aguarda a chegada de

uma caractere através da porta serial), para a armazená-las em uma matriz, toda vez que uma

mensagem é recebida pelo microcontrolador ela é armazenada nesta matriz e logo em seguida

é realizada uma função para o tratamento destes dados que alocara as informações pertinentes

para as suas respectivas variáveis.

A função Envia( ) foi construída com o intuito de tornar mais fácil o processo de

programação, como todas as mensagens enviadas possuem no máximo 5 caracteres, contando

com o caractere de retorno, esta função contém 5 entradas (a,b,c,d,e) para inserir a mensagem

que será enviada 1entrada(f) que indica o tamanho da mensagem. A função pode ser vista na

figura 21.

Figura 22: Função Envia

A função RecebeMask() foi construído para receber a mensagem e armazená-la na

matriz RecebeDados1[], ela não armazena o caractere espaço(0x20), possui 4 entradas, para

Page 44: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

44

ser inserida os valores esperados dos 4 primeiros caracteres de retorno, que representam a

máscara da mensagem e fica esperando o caractere „>‟ para sair da função. A função pode ser

vista na figura 22.

Figura 23: Função RecebeMask.

Quando um dado de uma resposta precisa ser tratado ele passa pela função ASCII( );

Esta função converte um valor inicial em um valor diferente daquele representado na tabela

ASCII( ). A figura abaixo apresenta esta função.

Page 45: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

45

Figura 24: Função Ascii

3.2.2.2.1 Design de Alto Nível

Figura 25: Design de Software de Alto Nível

Page 46: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

46

3.2.2.2.1 Design detalhado

3.2.2.2.1.1 Inicialização.

Nesta parte é enviada ao ELM327 mensagens para a sua configuração interna e uma

solicitação para ver quantos códigos de erro a ECU possui atualmente. No display é mostrado

as frases INICIALIZANDO e CARSCANNER V2. 0.

As mensagens enviadas e as respostas obtidas conforme tabela 5 são:

Tabela 5: Inicialização

Mensagem Resposta

ATZ . ATZ...ELM327 V1.5..>

01 01 41 01 00 06 61 60 ..>

Na mensagem de resposta da solicitação 01 01 o 6° caractere identifica quantos DTC a

ECU possui.

Figura 26: Função Falha

A função falha() armazena o 6° caractere da mensagem recebida na variável QTD.

3.2.2.2.1.1 Parâmetros de leitura.

Nesta fase é enviada para ECU mensagens de requisição das mensagens que contém

os valores dos parâmetros de leitura, a tabela 6 apresenta as mensagens enviadas e lidas pelo

microcontrolador durante um teste.

Tabela 6: Exemplo de Mensagens enviadas e recebidas

Mensagem Resposta

010B 41 0B 5B ..>

010C 41 0C 1A F8 ..>

010D 41 0D 45 ..>

010E 41 0E B3 ..>

Page 47: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

47

010F 41 0F 55 ..>

0111 41 11 43.. >

Na mensagem de resposta da solicitação 01 0B os caracteres 5 e B representam o valor

da pressão no coletor de admissão. Como esses dois caracteres são armazenadas em posições

diferentes da matriz RecebeDados1[], deve-se unir os dois caracteres em uma mesma

variável, para isso pega-se o primeiro caractere, no caso 5, passa-se este pela função

ASCII(),o aloca em uma variável Dadoa, e o desloca para a esquerda em 4 posições, pega-se o

segundo caractere, passa ele pela função ASCII(),o aloca em uma outra variável Dadob e

realiza a operação lógica OU entre as duas variáveis e aloca esse novo dado em uma variável

Kp, este valor representa a pressão no coletor de admissão do veículo segundo a norma SAE

J1979(pág.13), ou seja, 5B equivale a 91Kpa. A figura 27 mostra as linhas de código do

programa.

Figura 27: Tratamento do dado da pressão do coletor de admissão

Na mensagem de resposta da solicitação 01 0C os caracteres 1,A,F e B representam o

valor da Rotação do Motor. Como esses quatro caracteres são armazenadas em posições

diferentes da matriz RecebeDados1[], deve-se unir os quatro caracteres em uma mesma

variável, para isso pega-se o primeiro caractere, no caso 1, passa ele pela função ASCII(),o

aloca em uma variável Dadoa, e o desloca para a esquerda em 4 posições, pega-se o segundo

caractere, o passa pela função ASCII(),o aloca em uma outra variável Dadob e realiza-se a

operação lógica OU entre as duas variáveis e aloca esse novo dado em uma variável

denominada Dadoc, pega-se o terceiro caractere, no caso F, passa ele pela função ASCII(),o

aloca em uma variável Dadoa, o desloca para a esquerda em 4 posições, pega-se o quarto

caractere, o passamos ele pela função ASCII(),o aloca em uma outra variável Dadob e realiza-

se a operação lógica OU entre as duas variáveis e o aloca esse novo dado em uma variável

denominada Dadod, pega-se o Dadoc o desloca para a esquerda em 8 posições e realiza-se a

operação lógica OU entre ele e o Dadod o resultado é alocado na variável RPM. O resultado

da rotação do motor é segundo a norma SAE J1979(pág.13) o valor da variável RPM/4, ou

seja, 1AF8 equivale a 1726RPM. A figura 28 apresenta as linhas de código.

Page 48: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

48

Figura 28: Tratamento de dados da rotação

Na mensagem de resposta da solicitação 01 0D os caracteres 4 e 5 representam o valor

da velocidade no veículo. Como esses dois caracteres são armazenadas em posições diferentes

da matriz RecebeDados1[], deve-se unir os dois caracteres em uma mesma variável, o

processo é o mesmo utilizado na requisição para a obtenção do valor da pressão no coletor de

admissão, mudando apenas a variável final que ao invés de ser Kp é a variável Km que

representa a velocidade do veículo segundo a norma SAE J1979(pág.13), ou seja, 45 equivale

a 69km/h. A figura 29 apresenta as linhas de código do programa.

Figura 29: Tratamento de dados de velocidade

Na mensagem de resposta da solicitação 01 0E os caracteres B e 3 representam o valor

do avanço da ignição. Como esses dois caracteres são armazenadas em posições diferentes da

matriz RecebeDados1[], deve-se unir os dois caracteres em uma mesma variável, o processo é

o mesmo utilizado na requisição para a obtenção do valor da pressão no coletor de admissão,

mudando apenas a variável final que ao invés de ser Kp é a variável Ign, o valor que

representa o avanço de ignição do motor segundo a norma SAE J1979(pág.13) é (Ign/2) – 64 ,

ou seja, B3 equivale a 25°. A figura 30 mostra as linhas de código do programa.

Page 49: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

49

Figura 30: Tratamento de dados do Avanço da Ignição

Na mensagem de resposta da solicitação 01 0F os caracteres 5 e 5 representam o valor

da temperatura do ar do coletor de admissão. Como esses dois caracteres são armazenadas em

posições diferentes da matriz RecebeDados1[], deve-se unir os dois caracteres em uma mesma

variável, o processo é o mesmo utilizado na requisição para a obtenção do valor da pressão no

coletor de admissão, mudando apenas a variável final que ao invés de ser Kp é a variável

TpAr, o valor que representa a temperatura do ar do coletor de admissão segundo a norma

SAE J1979(pág.13) é TpAr –40 , ou seja, 55 equivale a 45°. A figura 31 mostra as linhas de

código do programa.

Figura 31: Tratamento de dados da TpAr

Na mensagem de resposta da solicitação 01 11 os caracteres 4 e 3representam o valor

da posição da válvula borboleta . Como esses dois caracteres são armazenadas em posições

diferentes da matriz RecebeDados1[], deve-se unir os dois caracteres em uma mesma

variável, o processo é o mesmo utilizado na requisição para a obtenção do valor da pressão no

coletor de admissão, mudando apenas a variável final que ao invés de ser Kp é a variável Ped,

o valor que representa a posição da válvula borboleta segundo a norma SAE J1979(pág.13) é

(Pedx100)/255 ), ou seja, 43 equivale a 26%. A figura 32 mostra as linhas de código do

programa.

Figura 32: Tratamento de dados da posição da válvula borboleta

Page 50: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

50

3.2.2.2.1.3 Códigos de falha DTC.

Nesta parte é enviada para ECU a mensagens de requisição dos códigos de erro, a

tabela 7 apresenta a mensagem enviada e a lida pelo microcontrolador durante um teste.

Tabela 7: Exemplo de Requisição de códigos de falha

Mensagem Resposta

03 43 02 01 01 13 0000..>

Na mensagem de resposta da solicitação 03, cada intervalo de 4 caracteres representa

um código de falha, assim os caracteres 0201 e 0113 representam 2 códigos de falhas, o

primeiro caractere ira indicar o grupo de sistema e a posição 0 dos dígitos de controle(ver

Tabela 2, Pg.24), onde é necessário identificá-lo, não é necessário fazer nenhum tratamento

com os caracteres subseqüentes somente escrevê-los diretamente na tela do display. A figura

31 mostra o tratamento desta informação, a função ComandoLCD ( int a) a ponta para uma

posição do display e a função EscritaLCD() escreve um determinado caractere naquela

posição. No caso acima os caracteres 0201 correspondem ao DTC P0201 e os caracteres 0113

correspondem ao DTC P0113.

Figura 33: Tratamento dos dados do DTC

Page 51: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

51

3.2.2.2.14 Apagar DTC

Nesta fase é enviada para ECU as mensagens para apagar a memória dos códigos de

falhas da ECU.

Tabela 8: Requisição para apagar memória

Mensagem Resposta

04 44..>

Na mensagem de resposta da solicitação 04, a resposta da unidade é somente 44 que

confirma que a unidade foi apagada, desta forma, após o envio da mensagem espera-se que

esta seja confirmada com o retorno dos caracteres 44.Caso isso aconteça, será escrito no LCD

a palavra OK e caso não aconteça a palavra NO . A figura.32.apresenta as linhas de código

que desempenham essa função.

Figura 34:Função apagar código de falha

Page 52: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

52

4. ANÁLISE DOS RESULTADOS

Para a analise dos resultados testou-se todas as funções da ferramenta de diagnóstico

automotivo no veiculo VW Polo, este veículo já possuía um código de falha conhecido o

P0201, que indica falha de mau funcionamento no circuito da válvula injetora do cilindro 1. O

objetivo para a realização dos testes é identificar a funcionalidade e as limitações do

equipamento.

As seguintes funções foram testadas:

-Leitura dos parâmetros; rotação do motor, avanço de ignição, pressão no coletor de

admissão, temperatura do ar, velocidade do veiculo e posição da válvula borboleta.

-Identificação de quantos códigos de falhas o veículo possui.

-Identificação de dois códigos de falhas.

-Apagar a memória dos códigos de falhas da unidade eletrônica do veículo.

4.1 Simulação.

Para comprovar que a ferramenta de diagnóstico automotivo estava funcionando como

o pretendido, antes de testá-la no veículo VW Polo, foram simuladas as respostas esperadas

através do Siow (Serial Monitor Input/Output Windows), que é um software instalado no PC

para o envio e recebimento de dados através da porta serial, no qual este simulava o veículo.

Elaborou-se uma tabela com respostas baseadas em cada mensagem enviada pela ferramenta

de diagnóstico automotivo e quais eram os valores que esperavam ser visualizados no display.

Tabela 9: Simulação da Ferramenta de Diagnóstico Automotivo

Ferramenta de Diagnóstico

Mensagem

Siow (Simulação)

Resposta Valor esperado no display

0101. 41 01 02 00 00 00 ..> 2 DTC

010B. 41 01 5B ..> 91 [KPa]

010C. 41 01 02 1A F8 ..> 1726 [RPM[

010D. 41 01 5F ..> 95 [Km/h]

010E. 41 01 A0 00 00 00 ..> 16[°]

010F. 41 0F 55 ..> 45 [C°]

0111. 41 01 AE ..> 68[%]

03. 43 01 00 00 22 00 00 ..> P0100 e P0022

Page 53: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

53

04. 44 ..> OK

Com a tabela pronta iniciou-se a simulação seguindo as etapas:

1. Conectar a placa de experiência McLab2 com um computador para a realização

da comunicação serial RS232.

2. Abrir o Software Siow e o configurar para realizar a comunicação serial a 9600

bits por segundo.

3. Ligar a placa de experiências e começar a receber as mensagens.

4. Para cada mensagem recebida utilizar como resposta os valores da tabela 9.

5. Comparar os resultados.

Durante está simulação todos os valores esperados foram obtidos com sucesso

mostrando que a ferramenta de diagnóstico cumpre quase todos os requisitos, pois com a

simulação não é possível testar a função de apagar a memória de códigos de falhas da unidade

de controle do motor.

4.2 Testes no Veículo

Após a simulação fez se um novo teste das funções da ferramenta de diagnóstico

automotivo diretamente no veículo.

Através do conector OBDII do veículo conectamos a ferramenta de diagnóstico

automotivo e começamos o teste.

Seguimos as seguintes etapas:

1. Conectar a ferramenta de diagnóstico automotivo no veículo através do

conector OBDII.

2. Ligar a ignição do veículo e dar a partida no motor.

3. Ligar a ferramenta de diagnóstico automotivo.

4. Iniciar a sessão de leitura de parâmetros.

5. Acelerar o veículo de forma que altere a rotação do motor e verificar os

seguintes parâmetros:

Comparar a rotação do motor visualizada no display com a rotação do

motor mostrada no tacômetro do painel de instrumentos do veículo;

Page 54: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

54

Observar se ao apertar o acelerador do veículo até o seu fim o valor da

posição da válvula borboleta visualizada no display mostra 100%;

Observar que conforme a rotação aumenta ocorrem alterações no valor

do avanço da ignição visualizado no display;

Observar que conforme a rotação aumenta a pressão no coletor de

admissão diminui;

Observar alterações no valor da temperatura do ar;

6. Encerrar a leitura de parâmetros;

7. Iniciar a sessão de códigos de falhas;

8. Ver quantos códigos de falhas a unidade de controle possui, neste caso é para

ela indicar que o veículo possui pelo menos um erro pois sabe-se que o veículo está

com mau funcionamento no circuito da válvula injetora do cilindro 1;

9. Ver os códigos de falha, como dito anteriormente nesta etapa deve ser

visualizado pelo menos o código de falha P0201.

10. Apagar os códigos de falha da unidade eletrônica do veículo.

11. Desligar o veículo.

12. Desligar a ferramenta de diagnóstico automotivo

13. Ligar o veículo.

14. Ligar a ferramenta de diagnóstico automotivo

15. Iniciar a sessão de códigos de falhas, nesta etapa o veículo deve apresentar zero

códigos de falhas, pois a memória de códigos de falhas da unidade de controle do

motor foi apagada anteriormente.

16. Desligar o veículo

17. Desligar a ferramenta de diagnóstico

18. Encerrar testes.

4.3 Resultados

De maneira geral todos os valores visualizados nos parâmetros de leitura encontram-se

com valores típicos, dentro do normal, os únicos dois parâmetros que se podem comprovar

por meio visual que estão certos são os valores da rotação do motor e da posição da válvula

borboleta, porém como as informações dos parâmetros de leituras que são vistas no display

são as mesmas que a unidade de controle possui, já que é ela que envia estas informações para

Page 55: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

55

a ferramenta de diagnóstico automotiva e como através da simulação comprovamos que o

software está funcionando corretamente, todas as informações visualizadas no display estão

corretas.

A visualização da quantidade de códigos de falhas, a visualização dos códigos de

falhas e o processo de apagar os códigos de falhas funcionaram todos como o pretendido.

O funcionamento da ferramenta de diagnóstico na sessão de parâmetros de leituras

apresentou certa lentidão na atualização dos valores, devido à seleção da velocidade de

transmissão baixa de 9600 bits por segundo.

Pode se apenas visualizar 2 códigos de falhas.

Após apagar a memória do código de falhas da unidade eletrônica é necessário

desligar o veículo e a ferramenta de diagnóstico automotivo e religá-los para que a ferramenta

faça a leitura da quantidade de códigos de falhas, pois ela só faz isso quando ela esta

inicializando, o ideal seria que não fosse preciso realizar este processo para atualizar a

informação da quantidade de códigos de falhas que a unidade de controle do motor possui.

Houve a tentativa de utilizar a ferramenta de diagnóstico automotivo em um veículo

da fabricante FORD, um Fiesta 2008, a tentativa não houve êxito, pois o veículo não utiliza

somente a norma SAEJ1979 na camada de aplicação, ele utiliza a norma SAE J2190 em

conjunto com a norma SAE J1979.

4.3 Sessão de Diagnóstico

As Figuras listadas abaixo apresentam as interfaces do usuário da ferramenta de

diagnóstico automotivo, durante a execução de uma sessão de diagnósticos.

Figura 35: Tela Inicial

A figura 35 mostra a interface da tela inicial, onde o programa encontra-se em fase de

inicialização.

Page 56: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

56

Figura 36 : Tela Principal

A figura 36 mostra a interface da tela principal, após inicialização, onde encontram-se

dispostos as funções do processo de diagnose:

- Parâmetros

- DTC

Para realizar a escolha do próximo passo, o usuário deve pressionar o:

- Botão S1 – RECUA CURSOR

- Botão S2 – ENTRA NA FUNÇÃO ESPECÍFICA

- Botão S3 – SAI DA FUNÇÃO ESPECÍFICA

- Botão S4 – AVANÇA CURSOR

4.3.1 Parâmetros de Leitura

Estas telas (figuras 37 e 38), disponibilizarão para o usuário 6 parâmetros de leitura

diferentes, sendo eles a rotação do motor, o avanço da ignição, a temperatura do ar, a pressão

no coletor de admissão, a velocidade do veículo e a posição da válvula borboleta.

Figura 37 : Parâmetros DTC1

Figura 38 : Parâmetros DTC2

4.3.2 Leitura dos DTC`s

Esta tela irá disponibilizar para o usuário a leitura dos códigos de falha.

Page 57: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

57

Esta tela (figura 39), por exemplo, informa que o veículo não possui códigos de falha.

Figura 39: Número de DTC`s

Esta tela (figura 40), por exemplo, informa ao usuário que o veículo possui 2 códigos

de falha.

Figura 40: Número DTC`s

Esta tela (figura 41) informa ao usuário a identificação do código de falha.

Figura 41: Identificação DTC`s

Esta tela (figura 42) apaga os códigos de falha.

Figura 42: Apagar DTC`s

Page 58: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

58

5. CONCLUSÃO

Todo o processo, desde a pesquisa inicial até o termino, foi muito instrutivo e além de

consolidar pontos da tecnologia aprendidos na FATEC, permitiu visualizar como é

organizado um projeto, seu desenvolvimento e nesse caso como se trabalha em grupo para

atingir um objetivo comum.

Pode-se dizer que, como é seu objetivo, o projeto de formatura mostra a consolidação

dos integrantes desse grupo como tecnólogos, capazes de, partindo de uma idéia, traçarem

uma projeto e, organizadamente, chegarem a uma conclusão satisfatória, nesse caso um

projeto funcional.

De maneira geral todas as características que motivaram o projeto e que foram citadas

nos objetivos desta monografia foram alcançadas com sucesso. Tanto a leitura das mensagens

de falhas quanto o monitoramento dos parâmetros do veículo durante o seu funcionamento

foram realizados de maneira extremamente satisfatória.

5.1 Propostas Futuras

Neste projeto foram realizadas as leituras dos parâmetros de rotação do motor, de

avanço da ignição, da temperatura do ar, da pressão no coletor de admissão, da velocidade do

veículo e da posição da válvula borboleta, além da leitura dos códigos de falhas (limitado a 3

falhas por vez). Deixam-se como propostas futuras, o aprimoramento do software para leitura

de um maior número de parâmetros, a ampliação das quantidades de falhas a serem lidas, a

migração do software para uma base PC (como por exemplo, LabView), devido a limitação do

hardware, a utilização de um módulo XBee para comunicação sem fio e a adaptação de um

cartão de memória SD para o armazenamento de dados para a futuras análises.

Page 59: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

59

6. REFERÊNCIAS

ANDREATINI, Sergio M.;A Diagnose Auxiliando o Motorista; São Paulo; 2003.

BELO, Valdeci Pereira; Sistema para Diagnóstico Automático de Falhas em Veículos

Automotores OBD-2, Dissertação, UFMG, Belo Horizonte, 2003.

CERQUEIRA, Ademar Dutra; BEZERRA, Fernando Venezian; ZAMBONI, Guilherme;

EDSON, Thomas; Sistema de Diagnose para Veículos que utiliza os protocolos ISO 9141-

2 e ISO 14230-4 através de uma plataforma em Labview; Santo André; 2009.

Curso de Eletrônica Automotiva da Fatec Santo André; 2010.

Datasheet: ELM327 DSD; “ELM327 OBD to RS232 interpreter”; disponível em:

http://www.elmelctronics.com/elm327.pdf. Acesso em 15 out. 2010, 09h35m45.

Datasheet: FT232BL; “FT232BL/BQ USB UART IC Datasheet Version 2.1”; disponível

em: www.ftdichip.com/Documents/datasheets.htm. Acesso em 10 fev. 2011, 15h09m24.

DINIZ, Ivando; COLÓN, Diogo; SILVA, Bruno, AGUIAR, Felipe, Cássio; SILVA, Cirilo;

PALÁCIOS Silvio; Scanner Automotivo Wireless; Brasil; 2009.

GUIMARÃES, Alexandre de Almeida; Definição dos Principais Conceitos de Diagnose,

CAN e Tipos de Diagnose Conceituação BÁSICA; São Paulo; 2003.

GUIMARÃES, Alexandre de Almeida; Eletrônica Embarcada Automotiva, 1 edição,

Brasil, Editora Érica, 2007.

GUIMARÃES, Alexandre de Almeida; Eletrônica Embarcada Automotiva, 1 edição,

Brasil, Editora Érica, 2007.

GUIMARÃES, Alexandre; FILHO, Ângelo; Silva, SILVA, Carlos, CAMPOS, Cássio;

SILVA, Cirilo; PALÁCIOS Silvio; Diagnose Veicular – Principais Padrões e Normas

disponiveis; São Paulo; 2003.

Page 60: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

60

HODEL, Kleber Nogueira; Notas de Aula da Disciplina de Redes de Comunicação

Veicular Ministrada ao Curso de Eletrônica Automotiva da Fatec Santo André; 2009.

International Organization for Standardization, ISO 15031-5:2006 Road vehicles

Communication between vehicle and external equipment for emissions-related

diagnostics -Part 5: Emissions-related diagnostic services. ISO, 2006.

International Organization for Standardization. ISO 14230-2 Keyword protocol 2000 Part 2:

Data link layer. ISO, 1996.

International Organization for Standardization. ISO 14230-3 - Road Vehicles – Diagnostic

systems - Keyword Protocol 2000 - Draft Part 3: Implementation. ISO, 1996.

International Organization for Standardization. ISO 14230-4 - Road Vehicles – Diagnostic

systems - Keyword Protocol 2000 - Part 4: Requirements For Emission related Systems.

ISO, 1997.

International Organization for Standardization. ISO 7498 - Open Systems Interconnection.

ISO.

International Organization for Standardization. ISO 9141-2 - Road vehicles – Diagnostic

systems - CARB requirements for interchange of digital information. ISO, 1994.Society

of Automotive Engineers. SAE J1850 - Class B Data Communication Network Interface.

SAE.

International Organization for Standardization. ISO/DIS 14230-1 - Road Vehicles -

Diagnostic systems - Keyword Protocol 2000 - Part 1: Physical Layer. ISO, 1995.

JUNIOR, Orlando Salvo; Notas de Aula da Disciplina de Diagnose Veicular Ministrada

ao

Microchip; Introduction to MPLAB IDE Web Seminar, MPLAB Integrated Development

Environment (IDE), 2010

Resolução CONAMA n° 315, de 29 de outubro de 2002 – CONAMA (Conselho Nacional do

Meio Ambiente)

Resolução CONAMA n° 354, de 13 de dezembro de 2004 – CONAMA (Conselho Nacional

do Meio Ambiente)

Page 61: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

61

Society of Automotive Engineers. SAE J1939 - OBD Communications Compliance Test

Cases for Heavy Duty Components and Vehicles. SAE, 2009 .

Society of Automotive Engineers. SAE J1979 - E/E Diagnostic Test Modes. SAE, 1998.

Society of Automotive Engineers. SAE J2012 - Recommended Format and Messages for

Diagnostic Trouble Codes. SAE.

SOUZA, David Jose & LAVINIA; Nicolás Cesar; Conectando o PIC: Recursos

Avançados; Editora Érica, Brasil, 2003.

TOSI, Enzo Lorenzon; GALVÃO, Erick Bruno Santos; LIMA, Pedro Camargo;

Desenvolvimento de um Datalogger para aplicações Automotivas, Dissertação, USP, São

Paulo, 2008.

Page 62: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

62

ANEXO

ANEXO A – Código do Programa.

ANEXO B – Datasheet ELM 327 – Comando AT.

ANEXO C – Lista com os DTC`s.

Page 63: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

63

ANEXO A – Código do Programa.

.

//////////////////////////////////////////////////////////////////////////////// // TCC - Trabalho de Conclusão do Curso //

////////////////////////////////////////////////////////////////////////////////

/* Nome do projeto/Modulo: CarScanner LT v2.0 */ /* HARDWARE : PIC16f877 */

/* COMP : PCW C Compiler */

/* AMBIENTE : MPLAB IDE V8.20 */ /* AUTORES : LUIZ RICARDO TRAJANO DA SILVA */

/* : TIAGO SANTOS DE ARAÚJO */

/* SEMESTRE : 6° */ /* DATA : 17/08/2010 */

/* REVISÕES : TRABALHO FINAL */

/* Data : 09/12/2010 */ ////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////

// # Diretivas // ////////////////////////////////////////////////////////////////////////////////

#include "16f877a.h" // Definições do Microcontrolador

#include "stdio.h" // Habilita I/O

#fuses XT, NOPROTECT, NOWDT, NOLVP #use delay (clock=4000000) // Frequencia do Operação

#use rs232 (baud = 9600, xmit = pin_c6, rcv = pin_c7) // RS-232

//////////////////////////////////////////////////////////////////////////////// // Variaveis Globais //

////////////////////////////////////////////////////////////////////////////////

//Proposito: DECLARAR E INICILIAZAR AS VARIAVEIS DO PROGRAMA //

////////////////////////////////////////////////////////////////////////////////

short int Flag1 = 0, Flag2=0,

Flag3=0,

Flag4=0, Flag5=0,

Flag0=0, x=0,

Trava=0;

signed int EstadoA=0;

Page 64: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

64

int RecebeDados1[16],

Dadoa=0,

Dadob=0, Enter=0,

Rp,

QTD, DTC1,

EstadoB =0;

char EnviaMensagem[5], String1[13] = {'I','N','I','C','I','A','L','I','Z','A','N','D','O'},

String2[10] = {'P','A','R','A','M','E','T','R','O','S'}, String3[3] = {'D','T','C'},

String4[15] = {'C','A','R','S','C','A','N','N','E','R','

','V','2','.','0'}, String5[14] = {'V','E','I','C','U','L','O',' ','P','O','S','S','U','I'},

a=0,

c=0, i=0,

d=0;

long int At=0, Dadoc=0,

Dadod=0, Rpm=0,

TpAr=0,

Ign=0, Kp=0,

Km=0,

Ped = 0, DTCQ,

Debouncing = 0,

Debouncing1 = 0, Debouncing2 = 0,

Debouncing3 = 0;

//////////////////////////////////////////////////////////////////////////////// // Prototipagem de Funções //

////////////////////////////////////////////////////////////////////////////////

/* Proposito: DECLARAÇÃO DAS FUNÇÕES */

//////////////////////////////////////////////////////////////////////////////// void Interrupcao(void);

void InitHw(void); void InitVetores(void);

void Envia(char a, char b, char c, char d, char e, int f);

void Ascii(int a); void Rotacao(void);

void RotacaoLcd(void);

void Temperatura(void); void TemperaturaLcd(void);

Page 65: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

65

void Ignicao(void);

void IgnicaoLcd(void);

void Pressao(void); void PressaoLcd(void);

void Velocidade(void);

void VelocidadeLCD(void); void Borboleta(void);

void BorboletaLCD(void);

void Controle(void); void RecebeMask(char u, char w, char y, char z);

void Tela1(void); void TelaP1(void);

void TelaP2(void);

void TelaP3(void); void TelaD1(void);

void TelaD2(void);

void TelaD3(void); void main(void);

void codigo1(void);

void codigo2(void); void codigo3(void);

void main(void); ////////////////////////////////////////////////////////////////////////////////

// Interrupção do Timer 0 //

////////////////////////////////////////////////////////////////////////////////

/* Proposito: TRATAMENTO DA INTERRUPÇÃO DO TIMER 0 */

////////////////////////////////////////////////////////////////////////////////

#int_timer0

void Interrupcao(void)

{ set_timer0(131+get_timer0());

if(Debouncing>0)

{ Debouncing--; // Decremento do Debouncing Botão S1.

}

if(Debouncing1>0) {

Debouncing1--; // Decremento do Debouncing Botão S4.

} if(Debouncing2>0)

{

Debouncing2--; // Decremento do Debouncing Botão S2. }

if(Debouncing3>0)

Page 66: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

66

{

Debouncing3--; // Decremento do Debouncing Botão S3.

} }

////////////////////////////////////////////////////////////////////////////////

/* NOME : INICIALIZAÇÃO DO HARDWARE */

////////////////////////////////////////////////////////////////////////////////

void InitHw(void) {

enable_interrupts(global); // Habilita Interrupção Externa.

enable_interrupts(int_timer0); setup_ccp2 (CCP_PWM); // Seleciona RC1 como Saída com PWM.

setup_ccp1 (CCP_PWM); // Seleciona RC2 como Saída com PWM.

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8); // Utilizado para gerar. set_tris_c(0xd1);

set_timer0(131); // Set o timer 0 (131)

}

////////////////////////////////////////////////////////////////////////////////

/* NOME : INICIALIZAÇÃO DOS VETORES */

////////////////////////////////////////////////////////////////////////////////

void InitVetores(void)

{ for(i=0;i<5;i++)

{

EnviaMensagem[i]=0; }

for(i=0;i<16;i++)

{ RecebeDados1[i]=0;

}

}

////////////////////////////////////////////////////////////////////////////////

// Função Comando //

////////////////////////////////////////////////////////////////////////////////

void comando()

Page 67: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

67

{

output_low(pin_e1);

output_low(pin_e0); output_high(pin_e1);

delay_us(30);

output_low (pin_e1); }

////////////////////////////////////////////////////////////////////////////////

// Função Escrita // ////////////////////////////////////////////////////////////////////////////////

void escrita()

{

output_high(pin_e0); output_low(pin_e1);

output_high(pin_e1); delay_us(30);

output_low(pin_e1);

delay_us(30); }

////////////////////////////////////////////////////////////////////////////////

/* NOME : FUNÇÃO LCD */

/* PROPOSITO : ESCRITA - COMANDO - LIMPA */

////////////////////////////////////////////////////////////////////////////////

void EscritaLCD(int a) {

output_d(a); escrita();

delay_us(40);

}

void ComandoLCD(int a) {

output_d(a);

comando(); delay_us(40);

}

void LimpaLcd(void) {

output_d(0X01);

Page 68: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

68

comando();

delay_ms(5);

}

//////////////////////////////////////////////////////////////////////////////// // Preparação //

////////////////////////////////////////////////////////////////////////////////

void Preparacao() {

delay_ms(15); // Aguarda 15 ms.

output_d(0X30); // Envia o comando para do Display. comando();

delay_ms(4); // Aguarda 4 ms.

output_d(0X30); // Envia o comando novamente para o Display. comando();

delay_us(100); output_d(0X30); // Envia o comando novamente para o Display.

comando();

delay_us(40); output_d(0X38); // Envia o comando novamente para o Display.

comando();

delay_us(40); output_d(0X01); // Envia o comando novamente para o Display.

comando();

delay_us(1800); output_d(0X0C); // Envia o comando novamente para o Display.

comando();

delay_us(40); output_d(0X06); // Envia o comando novamente para o Display.

comando(); delay_us(40);

}

//////////////////////////////////////////////////////////////////////////////// // # ENVIA //

////////////////////////////////////////////////////////////////////////////////

void Envia(char a, char b, char c, char d, char e, int f)

{ InitVetores();

EnviaMensagem[0] = a ; EnviaMensagem[1] = b ;

EnviaMensagem[2] = c ;

EnviaMensagem[3] = d ; EnviaMensagem[4] = e ;

for(i=0;i<f;i++)

{ printf("%c", EnviaMensagem[i]);

Page 69: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

69

}

}

////////////////////////////////////////////////////////////////////////////////

// # ASCII // ////////////////////////////////////////////////////////////////////////////////

void Ascii(int a)

{ switch (a)

{

case 0x30 : Rp = 0;break; case 0x31 : Rp = 1;break;

case 0x32 : Rp = 2;break;

case 0x33 : Rp = 3;break; case 0x34 : Rp = 4;break;

case 0x35 : Rp = 5;break; case 0x36 : Rp = 6;break;

case 0x37 : Rp = 7;break;

case 0x38 : Rp = 8;break; case 0x39 : Rp = 9;break;

case 0x41 : Rp = 10;break;

case 0x42 : Rp = 11;break; case 0x43 : Rp = 12;break;

case 0x44 : Rp = 13;break;

case 0x45 : Rp = 14;break; case 0x46 : Rp = 15;break;

}

}

////////////////////////////////////////////////////////////////////////////////

// # ROTAÇÃO //

////////////////////////////////////////////////////////////////////////////////

void Rotacao(void) {

Envia('0', '1', '0','C','\r',5); RecebeMask(0x04,0x01,0x00,0x0C);

Ascii(RecebeDados1[4]);

Dadoa = Rp; Ascii(RecebeDados1[5]);

Dadob = Rp;

Page 70: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

70

Dadoa = Dadoa << 4;

Dadoc = Dadoa | Dadob;

Ascii(RecebeDados1[6]); Dadoa = Rp;

Ascii(RecebeDados1[7]);

Dadob = Rp; Dadoa = Dadoa << 4;

Dadod = Dadoa | Dadob;

Dadoc =Dadoc << 8; Rpm = Dadoc | Dadod;

Rpm = (Rpm/4);

}

void RotacaoLcd(void) {

int Mil, Cent, Dez, Uni;

Mil = Rpm/1000;

Cent = (Rpm%1000)/100; Dez = ((Rpm%1000)%100)/10;

Uni = ((Rpm%1000)%100)%10;

EscritaLCD(0x30 + Mil); EscritaLCD(0x30 + Cent);

EscritaLCD(0x30 + Dez); EscritaLCD(0x30 + Uni);

}

void Temperatura(void)

{

Envia('0', '1', '0','F','\r',5);

RecebeMask(0x34,0x31,0x30,0x46);

Ascii(RecebeDados1[4]);

Dadoa = Rp; Ascii(RecebeDados1[5]);

Dadob = Rp;

Dadoa = Dadoa << 4; TpAr = Dadoa | Dadob;

TpAr = TpAr - 40;

}

Page 71: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

71

void TemperaturaLcd(void)

{

int Cent, Dez, Uni; Dez = (TpAr%100)/10;

Uni = (TpAr%100)%10;

EscritaLCD(0x30 + Dez); EscritaLCD(0x30 + Uni);

EscritaLCD('C');

}

void Ignicao(void)

{

Envia('0', '1', '0','E','\r',5); RecebeMask(0x36,0x32,0x30,0x30);

Ascii(RecebeDados1[4]);

Dadoa = Rp; Ascii(RecebeDados1[5]);

Dadob = Rp;

Dadoa = Dadoa << 4; Ign = Dadoa | Dadob;

Ign = (Ign/2)-64;

}

void IgnicaoLcd(void) {

int Cent, Dez, Uni; Dez = (Ign%100)/10;

Uni = (Ign%100)%10;

EscritaLCD(0x30 + Dez); EscritaLCD(0x30 + Uni);

}

void Pressao(void) {

Envia('0', '1', '0','B','\r',5);

RecebeMask(0x36,0x32,0x30,0x30);

Ascii(RecebeDados1[4]); Dadoa = Rp;

Ascii(RecebeDados1[5]);

Dadob = Rp; Dadoa = Dadoa << 4;

Kp = Dadoa | Dadob;

} void PressaoLcd(void)

{

Page 72: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

72

int Cent, Dez, Uni;

Cent = Kp/100;

Dez = (Kp%100)/10; Uni = (Kp%100)%10;

EscritaLCD(0x30 + Cent);

EscritaLCD(0x30 + Dez); EscritaLCD(0x30 + Uni);

}

void Velocidade(void) {

Envia('0', '1', '0','D','\r',5); RecebeMask(0x36,0x32,0x30,0x30);

Ascii(RecebeDados1[4]);

Dadoa = Rp;

Ascii(RecebeDados1[5]); Dadob = Rp;

Dadoa = Dadoa << 4;

Km = Dadoa | Dadob; }

void VelocidadeLCD(void)

{ int Cent, Dez, Uni;

Cent = Km/100;

Dez = (Km%100)/10; Uni = (Km%100)%10;

EscritaLCD(0x30 + Cent);

EscritaLCD(0x30 + Dez); EscritaLCD(0x30 + Uni);

} void Borboleta(void)

{

Envia('0', '1', '1','1','\r',5); RecebeMask(0x36,0x32,0x30,0x30);

Ascii(RecebeDados1[4]);

Dadoa = Rp;

Ascii(RecebeDados1[5]); Dadob = Rp;

Dadoa = Dadoa << 4; Ped = Dadoa | Dadob;

Ped = (Ped*100)/255;

}

void BorboletaLCD(void) {

int Cent, Dez, Uni;

Page 73: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

73

Cent = Ped/100;

Dez = (Ped%100)/10;

Uni = (Ped%100)%10; EscritaLCD(0x30 + Cent);

EscritaLCD(0x30 + Dez);

EscritaLCD(0x30 + Uni); }

void falha(void)

{

QTD = RecebeDados1[5];

}

void Codigo1(void)

{

DTC1 = RecebeDados1[2];

if(DTC1 == 0x30)

{ DTC1 = 'P';

}

if(DTC1 == 0x34)

{ DTC1 = 'C';

}

if(DTC1 == 0x43) {

DTC1 = 'B';

} if(DTC1 == 0x38)

{

DTC1 = 'U';

}

EscritaLCD(DTC1); EscritaLCD(0x30);

for(i=3;i<6;i++) {

EscritaLCD(RecebeDados1[i]);

} }

void Codigo2(void)

Page 74: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

74

{

DTC1 = RecebeDados1[6];

if(DTC1 == 0x30)

{ DTC1 = 'P';

}

if(DTC1 == 0x34) {

DTC1 = 'C';

}

if(DTC1 == 0x43) {

DTC1 = 'B';

} if(DTC1 == 0x38)

{

DTC1 = 'U';

}

EscritaLCD(DTC1);

EscritaLCD(0x30);

for(i=7;i<10;i++) {

EscritaLCD(RecebeDados1[i]);

} }

void Codigo3(void) {

DTC1 = RecebeDados1[10];

if(DTC1 == 0x30)

{ DTC1 = 'P';

}

if(DTC1 == 0x34) {

DTC1 = 'C';

}

Page 75: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

75

if(DTC1 == 0x43)

{

DTC1 = 'B';

} if(DTC1 == 0x38)

{ DTC1 = 'U';

}

EscritaLCD(DTC1);

EscritaLCD(0x30);

for(i=11;i<14;i++) {

EscritaLCD(RecebeDados1[i]); }

}

//////////////////////////////////////////////////////////////////////////////// // # Controle //

////////////////////////////////////////////////////////////////////////////////

void Controle(void)

{ if((!input(pin_b0)) && (!Flag1) && (!Debouncing))

{ Flag1 = 1;

Debouncing = 500;

} if((Flag1) && (!Debouncing))

{

EstadoA--; LimpaLCD();

Flag1 = 0;

Debouncing = 0; }

if((!input(pin_b3)) && (!Flag2) && (!Debouncing1)) {

Flag2 = 1;

Debouncing1 = 500; }

if((Flag2) && (!Debouncing1))

{ EstadoA ++;

LimpaLCD();

Flag2 = 0; Debouncing1 = 0;

}

Page 76: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

76

if((!input(pin_b1)) && (!Flag3) && (!Debouncing2))

{

Flag3 = 1; Debouncing2 = 500;

}

if((Flag3) && (!Debouncing2)) {

Enter =1;

EstadoA = 0; Flag3 = 0;

Debouncing2 = 0;

LimpaLCD(); }

if((!input(pin_b2)) && (!Flag4) && (!Debouncing3))

{ Flag4 = 1;

Debouncing3 = 500;

} if((Flag4) && (!Debouncing3))

{ Enter =0;

EstadoA=0;

LimpaLCD(); Flag4 = 0;

Debouncing3 = 0;

} }

////////////////////////////////////////////////////////////////////////////////

// # RECEBE // ////////////////////////////////////////////////////////////////////////////////

void RecebeMask(char u, char w, char y, char z)

{ short int M1=0,M2=0,M3=0,M4=0;

int b = 0;

char dado = 0; x=0;

while(x == 0)

{

Flag0 = Kbhit();

if(Flag0==1) {

dado = getc();

Page 77: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

77

Flag0=0;

if(dado==0x3E)

{ if(RecebeDados1[0]== u)

{

M1=1; }

if(RecebeDados1[1]== w)

{ M2=1;

} if(RecebeDados1[2]== y)

{

M3=1; }

if(RecebeDados1[3]== z)

{ M4=1;

}

if(M1==1 && M2==1 && M3==1 && M4==1) {

At ++; }

else

{

} x=1;

}

if(dado != 0x20) {

RecebeDados1[b]=dado; b++;

}

}

}

}

void Tela1(void)

{ ComandoLCD(0x80);

for(i=0; i<10; i++) {

Page 78: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

78

EscritaLCD(String2[i]); // Envia o comando novamente para o Display.

}

ComandoLCD(0xC0); for(i=0; i<3; i++)

{

EscritaLCD(String3[i]); // Envia o comando novamente para o Display. }

}

void TelaP1(void) {

ComandoLCD(0x80); EscritaLCD('R');

EscritaLCD('P');

EscritaLCD('M'); ComandoLCD(0x89);

EscritaLCD('A');

EscritaLCD('i'); EscritaLCD('g');

ComandoLCD(0xC0);

EscritaLCD('T'); EscritaLCD('p');

EscritaLCD('A'); EscritaLCD('r');

ComandoLCD(0xC9);

EscritaLCD('k'); EscritaLCD('P');

EscritaLCD('a');

}

void TelaP2(void) {

ComandoLCD(0x80);

EscritaLCD('T'); EscritaLCD('p');

EscritaLCD('A');

EscritaLCD('r'); ComandoLCD(0x89);

EscritaLCD('k');

EscritaLCD('P'); EscritaLCD('a');

ComandoLCD(0xC0); EscritaLCD('K');

EscritaLCD('m');

EscritaLCD('/'); EscritaLCD('h');

ComandoLCD(0xC9);

EscritaLCD('%'); }

Page 79: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

79

void TelaP3(void) {

ComandoLCD(0x80);

EscritaLCD('K'); EscritaLCD('m');

EscritaLCD('/'); EscritaLCD('h');

ComandoLCD(0x89);

EscritaLCD('%'); ComandoLCD(0xC0);

EscritaLCD('R');

EscritaLCD('P'); EscritaLCD('M');

ComandoLCD(0xC9);

EscritaLCD('I'); EscritaLCD('g');

EscritaLCD('n');

}

void TelaD1(void)

{

ComandoLCD(0x80);

for(i=0; i<14; i++) {

EscritaLCD(String5[i]); }

ComandoLCD(0xC7);

for(i=0; i<3; i++)

{ EscritaLCD(String3[i]);

}

ComandoLCD(0xC5); EscritaLCD(QTD);

}

void TelaD2(void)

{

ComandoLCD(0x85);

Codigo1();

ComandoLCD(0xC5); Codigo2();

Page 80: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

80

} void TelaD3(void)

{

if(QTD >= 0x33) {

ComandoLCD(0x85); Codigo3();

}

ComandoLCD(0xC0); EscritaLCD('A');

EscritaLCD('P');

EscritaLCD('A'); EscritaLCD('G');

EscritaLCD('A');

EscritaLCD('R'); EscritaLCD('?');

} ////////////////////////////////////////////////////////////////////////////////

// # Principal //

////////////////////////////////////////////////////////////////////////////////

void main(void)

{

InitHw(); Preparacao(); //Inicializa o display LCD.

while(true)

{

Controle(); if(Enter ==0)

{

if(EstadoA>2) {

EstadoA = 1;

} if(EstadoA<0)

{ EstadoA = 2;

}

switch(EstadoA)

Page 81: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

81

{

case 0: if(Trava == 0)

{

ComandoLCD(0x81); for(i=0; i<13; i++)

{ EscritaLCD(String1[i]); // Envia o comando

novamente para o Display.

} ComandoLCD(0xC0);

for(i=0; i<15; i++)

{ EscritaLCD(String4[i]); // Envia o comando

novamente para o Display.

} Envia('A','T','Z',0X0D,'0',4);

RecebeMask(0X00,0X00,0X00,0X00);

Envia('A','T','E','0',0X0D,5); RecebeMask(0X00,0X00,0X00,0X00);

Envia('A','T','L','0',0X0D,5);

RecebeMask(0X00,0X00,0X00,0X00);

Envia('0','1','0','1',0X0D,5); RecebeMask(0X34,0X31,0X30,0X31);

falha();

Trava = 1;

}

LimpaLCD(); EstadoA=2;

break;

case 1: Tela1(); ComandoLCD(0xCF);

EscritaLCD('<'); // Envia o comando novamente para o

Display. EstadoB=2;

break; case 2: Tela1();

ComandoLCD(0x8F);

EscritaLCD('<'); // Envia o comando novamente para o

Display.

Page 82: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

82

EstadoB=1;

break;

}

} if(Enter == 1 && EstadoB==1)

{ if(EstadoA>5)

{

EstadoA=0; }

if(EstadoA<0)

{ EstadoA=5;

}

switch(EstadoA) {

case 0:

ComandoLCD(0x8F); EscritaLCD('<');

TelaP1(); if(EstadoA==0)

{

Rotacao(); ComandoLCD(0x83);

RotacaoLCD();

} if(EstadoA==0)

{

Temperatura(); ComandoLCD(0xC4);

TemperaturaLCD(); }

if(EstadoA==0)

{ Ignicao();

ComandoLCD(0x8C);

IgnicaoLCD(); }

if(EstadoA==0)

{ Pressao();

ComandoLCD(0xCC);

PressaoLCD(); }

Page 83: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

83

break;

case 1: ComandoLCD(0xCF);

EscritaLCD('<');

TelaP1(); if(EstadoA==1)

{ Rotacao();

ComandoLCD(0x83);

RotacaoLCD(); }

if(EstadoA==1)

{ Ignicao();

ComandoLCD(0x8C);

IgnicaoLCD(); }

if(EstadoA==1)

{ Temperatura();

ComandoLCD(0xC4); TemperaturaLCD();

}

if(EstadoA==1) {

Pressao();

ComandoLCD(0xCC); PressaoLCD();

}

break;

case 2: TelaP2();

ComandoLCD(0x8F);

EscritaLCD('<'); if(EstadoA==2)

{

Temperatura(); ComandoLCD(0x84);

TemperaturaLCD();

} if(EstadoA==2)

{ Pressao();

ComandoLCD(0x8C);

PressaoLCD(); }

if(EstadoA==2)

{ Velocidade();

Page 84: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

84

ComandoLCD(0xC4);

VelocidadeLCD();

} if(EstadoA==2)

{

Borboleta(); ComandoLCD(0xCA);

BorboletaLCD();

} break;

case 3: TelaP2(); ComandoLCD(0xCF);

EscritaLCD('<');

if(EstadoA==3) {

Temperatura();

ComandoLCD(0x84); TemperaturaLCD();

}

if(EstadoA==3) {

Pressao(); ComandoLCD(0x8C);

PressaoLCD();

} if(EstadoA==3)

{

Velocidade(); ComandoLCD(0xC4);

VelocidadeLCD();

} if(EstadoA==3)

{

Borboleta(); ComandoLCD(0xCA);

BorboletaLCD(); }

break;

case 4: TelaP3(); ComandoLCD(0x8F);

EscritaLCD('<');

if(EstadoA==4) {

Velocidade();

ComandoLCD(0x84); VelocidadeLCD();

} if(EstadoA==4)

{

Borboleta();

Page 85: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

85

ComandoLCD(0x8A);

BorboletaLCD();

} if(EstadoA==4)

{

Rotacao(); ComandoLCD(0xC3);

RotacaoLCD();

} if(EstadoA==4)

{ Ignicao();

ComandoLCD(0xCC);

IgnicaoLCD(); }

break;

case 5: TelaP3(); ComandoLCD(0xCF);

EscritaLCD('<');

if(EstadoA==5) {

Velocidade(); ComandoLCD(0x84);

VelocidadeLCD();

} if(EstadoA==5)

{

Borboleta(); ComandoLCD(0x8A);

BorboletaLCD();

} if(EstadoA==5)

{

Rotacao(); ComandoLCD(0xC3);

RotacaoLCD(); }

if(EstadoA==5)

{ Ignicao();

ComandoLCD(0xCC);

IgnicaoLCD(); }

break;

} }

if(Enter ==1 && EstadoB==2) {

if(EstadoA>5)

{

Page 86: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

86

EstadoA=0;

}

if(EstadoA<0) {

EstadoA=0;

} switch(EstadoA)

{

case 0: TelaD1(); ComandoLCD(0x8F);

break;

case 1: TelaD1(); ComandoLCD(0xCF);

EscritaLCD('<');

break; case 2: Envia('0','3','\r','0','0',3);

RecebeMask(0X34,0X33,0X00,0X00);

TelaD2(); ComandoLCD(0x8F);

EscritaLCD('<'); break;

case 3: Envia('0','3','\r','0','0',3);

RecebeMask(0X34,0X33,0X00,0X00); TelaD2();

ComandoLCD(0xCF);

EscritaLCD('<'); break;

case 4: TelaD3();

ComandoLCD(0x8F); EscritaLCD('<');

break; case 5: TelaD3();

ComandoLCD(0xCF);

EscritaLCD('<'); Envia('0','4','\r','0','0',3);

RecebeMask(0X34,0X34,0X00,0X00);

if(RecebeDados1[0] == 0x34 && RecebeDados1[1] == 0x34)

{ LimpaLCD();

EscritaLCD('O'); EscritaLCD('K');

}

else {

LimpaLCD();

EscritaLCD('N'); EscritaLCD('O');

Page 87: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

87

}

delay_ms(1000); Enter =0;

break;

} }

}

}

////////////////////////////////////////////////////////////////////////////////

// # FIM //

////////////////////////////////////////////////////////////////////////////////

Page 88: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

88

ANEXO B – Datasheet ELM 327 – Comando AT.

Page 89: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

89

Page 90: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

90

ANEXO C – Lista com os DTC`s

(Fonte: http://www.obd-codes.com/trouble_codes)

Códigos de falha - Powertrain

P0001 Fuel Volume Regulator Control Circuit/Open

P0002 Fuel Volume Regulator Control Circuit Range/Performance

P0003 Fuel Volume Regulator Control Circuit Low

P0004 Fuel Volume Regulator Control Circuit High

P0005 Fuel Shutoff Valve "A" Control Circuit/Open

P0006 Fuel Shutoff Valve "A" Control Circuit Low

P0007 Fuel Shutoff Valve "A" Control Circuit High

P0008 Engine Positions System Performance Bank 1

P0009 Engine Position System Performance Bank 2

P0010 "A" Camshaft Position Actuator Circuit (Bank 1)

P0011 "A" Camshaft Position - Timing Advanced or System Performance (Bank 1)

P0012 "A" Camshaft Position - Timing Over-Retarded (Bank 1)

P0013 "B" Camshaft Position - Actuator Circuit (Bank 1)

P0014 "B" Camshaft Position - Timing Over-Advanced or System Performance (Bank

P0015 "B" Camshaft Position -Timing Over-Retarded (Bank 1) - See Trouble Cod

P0016 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)

P0017 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor B)

P0018 Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor A)

P0019 Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor B)

P0020 "A" Camshaft Position Actuator Circuit (Bank 2)

P0021 "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank

P0022 "A" Camshaft Position - Timing Over-Retarded (Bank 2)

P0023 "B" Camshaft Position - Actuator Circuit (Bank 2) - See Trouble Code P0020

P0024 "B" Camshaft Position - Timing Over-Advanced or System Performance (Bank

P0025 "B" Camshaft Position - Timing Over-Retarded (Bank 2) - See Trouble Code

P0026 Intake Valve Control Solenoid Circuit Range/Performance Bank 1

P0027 Exhaust Valve Control solenoid Circuit Range/Performance Bank 1

P0028 Intake valve Control Solenoid Circuit Range/Performance Bank 2

P0029 Exhaust Valve Control Solenoid Circuit Range/Performance Bank 2

P0030 HO2S Heater Control Circuit (Bank 1 Sensor 1)

P0031 HO2S Heater Control Circuit Low (Bank 1 Sensor 1)

P0032 HO2S Heater Control Circuit High (Bank 1 Sensor 1)

P0033 Turbo Charger Bypass Valve Control Circuit

P0034 Turbo Charger Bypass Valve Control Circuit Low

P0035 Turbo Charger Bypass Valve Control Circuit High

P0036 HO2S Heater Control Circuit (Bank 1 Sensor 2)

P0037 HO2S Heater Control Circuit Low (Bank 1 Sensor 2)

P0038 HO2S Heater Control Circuit High (Bank 1 Sensor 2)

P0039 Turbo/Super Charger Bypass Valve Control Circuit Range/Performance

P0040 Upstream Oxygen Sensors Swapped From Bank To Bank

P0041 Downstream Oxygen Sensors Swapped From Bank To Bank

P0042 HO2S Heater Control Circuit (Bank 1 Sensor 3)

Page 91: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

91

P0043 HO2S Heater Control Circuit Low (Bank 1 Sensor 3)

P0044 HO2S Heater Control Circuit High (Bank 1 Sensor 3)

P0050 HO2S Heater Control Circuit (Bank 2 Sensor 1)

P0051 HO2S Heater Control Circuit Low (Bank 2 Sensor 1)

P0052 HO2S Heater Control Circuit High (Bank 2 Sensor 1)

P0053 HO2S Heater Resistance (Bank 1, Sensor 1)

P0054 HO2S Heater Resistance (Bank 1, Sensor 2)

P0055 HO2S Heater Resistance (Bank 1, Sensor 3)

P0056 HO2S Heater Control Circuit (Bank 2 Sensor 2)

P0057 HO2S Heater Control Circuit Low (Bank 2 Sensor 2)

P0058 HO2S Heater Control Circuit High (Bank 2 Sensor 2)

P0059 HO2S Heater Resistance (Bank 2, Sensor 1)

P0060 HO2S Heater Resistance (Bank 2, Sensor 2)

P0061 HO2S Heater Resistance (Bank 2, Sensor 3)

P0062 HO2S Heater Control Circuit (Bank 2 Sensor 3)

P0063 HO2S Heater Control Circuit Low (Bank 2 Sensor 3)

P0064 HO2S Heater Control Circuit High (Bank 2 Sensor 3)

P0065 Air Assisted Injector Control Range/Performance

P0066 Air Assisted Injector Control Circuit or Circuit Low

P0067 Air Assisted Injector Control Circuit High

P0068 MAP/MAF - Throttle Position Correlation

P0069 Manifold Absolute Pressure - Barometric Pressure Correlation

P0070 Ambient Air Temperature Sensor Circuit

P0071 Ambient Air Temperature Sensor Range/Performance

P0072 Ambient Air Temperature Sensor Circuit Low Input

P0073 Ambient Air Temperature Sensor Circuit High Input

P0074 Ambient Air Temperature Sensor Circuit Intermittent

P0075 Intake Valve Control Solenoid Circuit (Bank 1)

P0076 Intake Valve Control Solenoid Circuit Low (Bank 1)

P0077 Intake Valve Control Solenoid Circuit High (Bank 1)

P0078 Exhaust Valve Control Solenoid Circuit (Bank 1)

P0079 Exhaust Valve Control Solenoid Circuit Low (Bank 1)

P0080 Exhaust Valve Control Solenoid Circuit High (Bank 1)

P0081 Intake valve Control Solenoid Circuit (Bank 2)

P0082 Intake Valve Control Solenoid Circuit Low (Bank 2)

P0083 Intake Valve Control Solenoid Circuit High (Bank 2)

P0084 Exhaust Valve Control Solenoid Circuit (Bank 2)

P0085 Exhaust Valve Control Solenoid Circuit Low (Bank 2)

P0086 Exhaust Valve Control Solenoid Circuit High (Bank 2)

P0087 Fuel Rail/System Pressure - Too Low

P0088 Fuel Rail/System Pressure - Too High

P0089 Fuel Pressure Regulator 1 Performance

P0090 Fuel Pressure Regulator 1 Control Circuit

P0091 Fuel Pressure Regulator 1 Control Circuit Low

P0092 Fuel Pressure Regulator 1 Control Circuit High

P0093 Fuel System Leak Detected - Large Leak

P0094 Fuel System Leak Detected - Small Leak

P0095 Intake Air Temperature Sensor 2 Circuit

P0096 Intake Air Temperature Sensor 2 Circuit Range/Performance

Page 92: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

92

P0097 Intake Air Temperature Sensor 2 Circuit Low

P0098 Intake Air Temperature Sensor 2 Circuit High

P0099 Intake Air Temperature Sensor 2 Circuit Intermittent/Erratic

P0100 Mass or Volume Air Flow Circuit Malfunction

P0101 Mass or Volume Air Flow Circuit Range/Performance Problem

P0102 Mass or Volume Air Flow Circuit Low Input

P0103 Mass or Volume Air Flow Circuit High Input

P0104 Mass or Volume Air Flow Circuit Intermittent

P0105 Manifold Absolute Pressure/Barometric Pressure Circuit Malfunction

P0106 Manifold Absolute Pressure/Barometric Pressure Circuit Range/Performance

P0107 Manifold Absolute Pressure/Barometric Pressure Circuit Low Input

P0108 Manifold Absolute Pressure/Barometric Pressure Circuit High Input

P0109 Manifold Absolute Pressure/Barometric Pressure Circuit Intermittent

P0110 Intake Air Temperature Circuit Malfunction

P0111 Intake Air Temperature Circuit Range/Performance Problem

P0112 Intake Air Temperature Circuit Low Input

P0113 Intake Air Temperature Circuit High Input

P0114 Intake Air Temperature Circuit Intermittent

P0115 Engine Coolant Temperature Circuit Malfunction

P0116 Engine Coolant Temperature Circuit Range/Performance Problem

P0117 Engine Coolant Temperature Circuit Low Input

P0118 Engine Coolant Temperature Circuit High Input

P0119 Engine Coolant Temperature Circuit Intermittent

P0120 Throttle Position Sensor/Switch A Circuit Malfunction

P0121 Throttle Position Sensor/Switch A Circuit Range/Performance Problem

P0122 Throttle Position Sensor/Switch A Circuit Low Input

P0123 Throttle Position Sensor/Switch A Circuit High Input

P0124 Throttle Position Sensor/Switch A Circuit Intermittent

P0125 Insufficient Coolant Temperature for Closed Loop Fuel Control

P0126 Insufficient Coolant Temperature for Stable Operation

P0128 Coolant Thermostat (Coolant Temperature Below Thermostat Regulating ture)

P0130 02 Sensor Circuit Malfunction (Bank I Sensor 1)

P0131 02 Sensor Circuit Low Voltage (Bank I Sensor I)

P0132 02 Sensor Circuit High Voltage (Bank I Sensor 1)

P0133 02 Sensor Circuit Slow Response (Bank 1 Sensor 1)

P0134 02 Sensor Circuit No Activity Detected (Bank I Sensor 1)

P0135 02 Sensor Heater Circuit Malfunction (Bank 1 Sensor 1)

P0136 02 Sensor Circuit Malfunction (Bank I Sensor 2)

P0137 02 Sensor Circuit Low Voltage (Bank I Sensor 2)

P0138 02 Sensor Circuit High Voltage (Bank I Sensor 2)

P0139 02 Sensor Circuit Slow Response (Bank 1 Sensor 2)

P0140 02 Sensor Circuit No Activity Detected (Bank 1 Sensor 2)

P0141 02 Sensor Heater Circuit Malfunction (Bank 1 Sensor 2)

P0142 02 Sensor Circuit Malfunction (Bank I Sensor 3)

P0143 02 Sensor Circuit Low Voltage (Bank I Sensor 3)

P0144 02 Sensor Circuit High Voltage (Bank I Sensor 3)

P0145 02 Sensor Circuit Slow Response (Bank 1 Sensor 3)

P0146 02 Sensor Circuit No Activity Detected (Bank I Sensor 3)

P0147 02 Sensor Heater Circuit Malfunction (Bank I Sensor 3)

Page 93: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

93

P0150 02 Sensor Circuit Malfunction (Bank 2 Sensor I)

P0151 02 Sensor Circuit Low Voltage (Bank 2 Sensor I)

P0152 02 Sensor Circuit High Voltage (Bank 2 Sensor 1)

P0153 02 Sensor Circuit Slow Response (Bank 2 Sensor 1)

P0154 02 Sensor Circuit No Activity Detected (Bank 2 Sensor 1)

P0155 02 Sensor Heater Circuit Malfunction (Bank 2 Sensor 1)

P0156 02 Sensor Circuit Malfunction (Bank 2 Sensor 2)

P0157 02 Sensor Circuit Low Voltage (Bank 2 Sensor 2)

P0158 02 Sensor Circuit High Voltage (Bank 2 Sensor 2)

P0159 02 Sensor Circuit Slow Response (Bank 2 Sensor 2)

P0160 02 Sensor Circuit No Activity Detected (Bank 2 Sensor 2)

P0161 02 Sensor Heater Circuit Malfunction (Bank 2 Sensor 2)

P0162 02 Sensor Circuit Malfunction (Bank 2 Sensor 3)

P0163 02 Sensor Circuit Low Voltage (Bank 2 Sensor 3)

P0164 02 Sensor Circuit High Voltage (Bank 2 Sensor 3)

P0165 02 Sensor Circuit Slow Response (Bank 2 Sensor 3)

P0166 02 Sensor Circuit No Activity Detected (Bank 2 Sensor 3)

P0167 02 Sensor Heater Circuit Malfunction (Bank 2 Sensor 3)

P0170 Fuel Trim Malfunction (Bank 1)

P0171 System too Lean (Bank 1)

P0172 System too Rich (Bank 1)

P0173 Fuel Trim Malfunction (Bank 2)

P0174 System too Lean (Bank 2)

P0175 System too Rich (Bank 2)

P0176 Fuel Composition Sensor Circuit Malfunction

P0177 Fuel Composition Sensor Circuit Range/Performance

P0178 Fuel Composition Sensor Circuit Low Input

P0179 Fuel Composition Sensor Circuit High Input

P0180 Fuel Temperature Sensor A Circuit Malfunction

P0181 Fuel Temperature Sensor A Circuit Range/Performance

P0182 Fuel Temperature Sensor A Circuit Low Input

P0183 Fuel Temperature Sensor A Circuit High Input

P0184 Fuel Temperature Sensor A Circuit Intermittent

P0185 Fuel Temperature Sensor B Circuit Malfunction

P0186 Fuel Temperature Sensor B Circuit Range/Performance

P0187 Fuel Temperature Sensor B Circuit Low Input

P0188 Fuel Temperature Sensor B Circuit High Input

P0189 Fuel Temperature Sensor B Circuit Intermittent

P0190 Fuel Rail Pressure Sensor Circuit Malfunction

P0191 Fuel Rail Pressure Sensor Circuit Range/Performance

P0192 Fuel Rail Pressure Sensor Circuit Low Input

P0193 Fuel Rail Pressure Sensor Circuit High Input

P0194 Fuel Rail Pressure Sensor Circuit Intermittent

P0195 Engine Oil Temperature Sensor Malfunction

P0196 Engine Oil Temperature Sensor Range/Performance

P0197 Engine Oil Temperature Sensor Low

P0198 Engine Oil Temperature Sensor High

P0199 Engine Oil Temperature Sensor Intermittent

P0200 Injector Circuit Malfunction

Page 94: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

94

P0201 Injector Circuit Malfunction - Cylinder 1

P0202 Injector Circuit Malfunction - Cylinder 2

P0203 Injector Circuit Malfunction - Cylinder 3

P0204 Injector Circuit Malfunction - Cylinder 4

P0205 Injector Circuit Malfunction - Cylinder 5

P0206 Injector Circuit Malfunction - Cylinder 6

P0207 Injector Circuit Malfunction - Cylinder 7

P0208 Injector Circuit Malfunction - Cylinder 8

P0209 Injector Circuit Malfunction - Cylinder 9

P0210 Injector Circuit Malfunction - Cylinder 10

P0211 Injector Circuit Malfunction - Cylinder 11

P0212 Injector Circuit Malfunction - Cylinder 12

P0213 Cold Start Injector 1 Malfunction

P0214 Cold Start Injector 2 Malfunction

P0215 Engine Shutoff Solenoid Malfunction

P0216 Injection Timing Control Circuit Malfunction

P0217 Engine Overtemp Condition

P0218 Transmission Over Temperature Condition

P0219 Engine Overspeed Condition

P0220 Throttle/Petal Position Sensor/Switch B Circuit Malfunction

P0221 Throttle/Petal Position Sensor/Switch B Circuit Range/Performance Problem

P0222 Throttle/Petal Position Sensor/Switch B Circuit Low Input

P0223 Throttle/Petal Position Sensor/Switch B Circuit High Input

P0224 Throttle/Petal Position Sensor/Switch B Circuit Intermittent

P0225 Throttle/Petal Position Sensor/Switch C Circuit Malfunction

P0226 Throttle/Petal Position Sensor/Switch C Circuit Range/Performance Problem

P0227 Throttle/Petal Position Sensor/Switch C Circuit Low Input

P0228 Throttle/Petal Position Sensor/Switch C Circuit High Input

P0229 Throttle/Petal Position Sensor/Switch C Circuit Intermittent

P0230 Fuel Pump Primary Circuit Malfunction

P0231 Fuel Pump Secondary Circuit Low

P0232 Fuel Pump Secondary Circuit High

P0233 Fuel Pump Secondary Circuit Intermittent

P0234 Engine Overboost Condition

P0235 Turbocharger Boost Sensor A Circuit Malfunction

P0236 Turbocharger Boost Sensor A Circuit Range/Performance

P0237 Turbocharger Boost Sensor A Circuit Low

P0238 Turbocharger Boost Sensor A Circuit High

P0239 Turbocharger Boost Sensor B Malfunction

P0240 Turbocharger Boost Sensor B Circuit Range/Performance

P0241 Turbocharger Boost Sensor B Circuit Low

P0242 Turbocharger Boost Sensor B Circuit High

P0243 Turbocharger Wastegate Solenoid A Malfunction

P0244 Turbocharger Wastegate Solenoid A Range/Performance

P0245 Turbocharger Wastegate Solenoid A Low

P0246 Turbocharger Wastegate Solenoid A High

P0247 Turbocharger Wastegate Solenoid B Malfunction

P0248 Turbocharger Wastegate Solenoid B Range/Performance

P0249 Turbocharger Wastegate Solenoid B Low

Page 95: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

95

P0250 Turbocharger Wastegate Solenoid B High

P0251 Injection Pump Fuel Metering Control "A" Malfunction (Cam/Rotor/Injector)

P0252 Injection Pump Fuel Metering Control "A" Range/Performance

P0253 Injection Pump Fuel Metering Control "A" Low (Cam/Rotor/Injector)

P0254 Injection Pump Fuel Metering Control "A" High (Cam/Rotor/Injector)

P0255 Injection Pump Fuel Metering Control "A" Intermittent (Cam/Rotor/Injector)

P0256 Injection Pump Fuel Metering Control "B" Malfunction (Cam/Rotor/Injector)

P0257 Injection Pump Fuel Metering Control "B" Range/Performance Injector)

P0258 Injection Pump Fuel Metering Control "B" Low (Cam/R

P0259 Injection Pump Fuel Metering Control "B" High (Cam/R

P0260 Injection Pump Fuel Metering Control "B" Intermittent Injector)

P0261 Cylinder I Injector Circuit Low

P0262 Cylinder I Injector Circuit High

P0263 Cylinder I Contribution/Balance Fault

P0264 Cylinder 2 Injector Circuit Low

P0265 Cylinder 2 Injector Circuit High

P0266 Cylinder 2 Contribution/Balance Fault

P0267 Cylinder 3 Injector Circuit Low

P0268 Cylinder 3 Injector Circuit High

P0269 Cylinder 3 Contribution/Balance Fault

P0270 Cylinder 4 Injector Circuit Low

P0271 Cylinder 4 Injector Circuit High

P0272 Cylinder 4 Contribution/Balance Fault

P0273 Cylinder 5 Injector Circuit Low

P0274 Cylinder 5 Injector Circuit High

P0275 Cylinder S Contribution/Balance Fault

P0276 Cylinder 6 Injector Circuit Low

P0277 Cylinder 6 Injector Circuit High

P0278 Cylinder 6 Contribution/Balance Fault

P0279 Cylinder 7 Injector Circuit Low

P0280 Cylinder 7 Injector Circuit High

P0281 Cylinder 7 Contribution/Balance Fault

P0282 Cylinder 8 Injector Circuit Low

P0283 Cylinder 8 Injector Circuit High

P0284 Cylinder 8 Contribution/Balance Fault

P0285 Cylinder 9 Injector Circuit Low

P0286 Cylinder 9 Injector Circuit High

P0287 Cylinder 9 Contribution/Balance Fault

P0288 Cylinder 10 Injector Circuit Low

P0289 Cylinder 10 Injector Circuit High

P0290 Cylinder 10 Contribution/Balance Fault

P0291 Cylinder 11 Injector Circuit Low

P0292 Cylinder 11 Injector Circuit High

P0293 Cylinder 11 Contribution/Balance Fault

P0294 Cylinder 12 Injector Circuit Low

P0295 Cylinder 12 Injector Circuit High

P0296 Cylinder 12 Contribution/Range Fault

P0300 Random/Multiple Cylinder Misfire Detected

P0301 Cylinder 1 Misfire Detected

Page 96: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

96

P0302 Cylinder 2 Misfire Detected

P0303 Cylinder 3 Misfire Detected

P0304 Cylinder 4 Misfire Detected

P0305 Cylinder 5 Misfire Detected

P0306 Cylinder 6 Misfire Detected

P0307 Cylinder 7 Misfire Detected

P0308 Cylinder 8 Misfire Detected

P0309 Cylinder 9 Misfire Detected

P0310 Cylinder 10 Misfire Detected

P0311 Cylinder 11 Misfire Detected

P0312 Cylinder 12 Misfire Detected

P0313 Misfire Detected with Low Fuel

P0314 Single Cylinder Misfire (Cylinder not Specified)

P0315 Crankshaft Position System Variation Not Learned

P0316 Misfire Detected On Startup (First 1000 Revolutions)

P0317 Rough Road Hardware Not Present

P0318 Rough Road Sensor A Signal Circuit

P0319 Rough Road Sensor B Signal Circuit

P0320 Ignition/Distributor Engine Speed Input Circuit Malfunction

P0321 Ignition/Distributor Engine Speed Input Circuit Range/Performance

P0322 Ignition/Distributor Engine Speed Input Circuit No Signal

P0323 Ignition/Distributor Engine Speed Input Circuit Intermittent

P0325 Knock Sensor 1 Circuit Malfunction (Bank I or Single Sensor)

P0326 Knock Sensor 1 Circuit Range/Performance (Bank 1 or Single Sensor)

P0327 Knock Sensor 1 Circuit Low Input (Bank I or Single Sensor)

P0328 Knock Sensor 1 Circuit High Input (Bank I or Single Sensor)

P0329 Knock Sensor 1 Circuit Intermittent (Bank 1 or Single Sensor)

P0330 Knock Sensor 2 Circuit Malfunction (Bank 2)

P0331 Knock Sensor 2 Circuit Range/Performance (Bank 2)

P0332 Knock Sensor 2 Circuit Low Input (Bank 2)

P0333 Knock Sensor 2 Circuit High Input (Bank 2)

P0334 Knock Sensor 2 Circuit Intermittent (Bank 2)

P0335 Crankshaft Position Sensor A Circuit Malfunction

P0336 Crankshaft Position Sensor A Circuit Range/Performance

P0337 Crankshaft Position Sensor A Circuit Low Input

P0338 Crankshaft Position Sensor A Circuit High Input

P0339 Crankshaft Position Sensor A Circuit Intermittent

P0340 Camshaft Position Sensor Circuit Malfunction

P0341 Camshaft Position Sensor Circuit Range/Performance

P0342 Camshaft Position Sensor Circuit Low Input

P0343 Camshaft Position Sensor Circuit High Input

P0344 Camshaft Position Sensor Circuit Intermittent

P0345 Camshaft Position Sensor A Circuit Malfunction (Bank 2)

P0346 Camshaft Position Sensor A Circuit Range/Performance (Bank 2)

P0347 Camshaft Position Sensor A Circuit Low Input (Bank 2)

P0348 Camshaft Position Sensor A Circuit High Input (Bank 2)

P0349 Camshaft Position Sensor A Circuit Intermittent (Bank 2)

P0350 Ignition Coil Primary/Secondary Circuit Malfunction

P0351 Ignition Coil A Primary/Secondary Circuit Malfunction

Page 97: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

97

P0352 Ignition Coil B Primary/Secondary Circuit Malfunction

P0353 Ignition Coil C Primary/Secondary Circuit Malfunction

P0354 Ignition Coil D Primary/Secondary Circuit Malfunction

P0355 Ignition Coil E Primary/Secondary Circuit Malfunction

P0356 Ignition Coil F Primary/Secondary Circuit Malfunction

P0357 Ignition Coil G Primary/Secondary Circuit Malfunction

P0358 Ignition Coil H Primary/Secondary Circuit Malfunction

P0359 Ignition Coil I Primary/Secondary Circuit Malfunction

P0360 Ignition Coil J Primary/Secondary Circuit Malfunction

P0361 Ignition Coil K Primary/Secondary Circuit Malfunction

P0362 Ignition Coil L Primary/Secondary Circuit Malfunction

P0370 Timing Reference High Resolution Signal A Malfunction

P0371 Timing Reference High Resolution Signal A Too Many Pulses

P0372 Timing Reference High Resolution Signal A Too Few Pulses

P0373 Timing Reference High Resolution Signal A Intermittent/Erratic Pulses

P0374 Timing Reference High Resolution Signal A No Pulses

P0375 Timing Reference High Resolution Signal B Malfunction

P0376 Timing Reference High Resolution Signal B Too Many Pulses

P0377 Timing Reference High Resolution Signal B Too Few Pulses

P0378 Timing Reference High Resolution Signal B Intermittent/Erratic Pulses

P0379 Timing Reference High Resolution Signal B No Pulses

P0380 Glow Plug/Heater Circuit "A" Malfunction

P0381 Glow Plug/Heater Indicator Circuit Malfunction

P0382 Exhaust Gas Recirculation Flow Malfunction

P0385 Crankshaft Position Sensor B Circuit Malfunction

P0386 Crankshaft Position Sensor B Circuit Range/Performance

P0387 Crankshaft Position Sensor B Circuit Low Input

P0388 Crankshaft Position Sensor B Circuit High Input

P0389 Crankshaft Position Sensor B Circuit Intermittent

P0400 Exhaust Gas Recirculation Flow Malfunction

P0401 Exhaust Gas Recirculation Flow Insufficient Detected

P0402 Exhaust Gas Recirculation Flow Excessive Detected

P0403 Exhaust Gas Recirculation Circuit Malfunction

P0404 Exhaust Gas Recirculation Circuit Range/Performance

P0405 Exhaust Gas Recirculation Sensor A Circuit Low

P0406 Exhaust Gas Recirculation Sensor A Circuit High

P0407 Exhaust Gas Recirculation Sensor B Circuit Low

P0408 Exhaust Gas Recirculation Sensor B Circuit High

P0410 Secondary Air Injection System Malfunction

P0411 Secondary Air Injection System Incorrect Flow Detected

P0412 Secondary Air Injection System Switching Valve A Circuit Malfunction

P0413 Secondary Air Injection System Switching Valve A Circuit Open

P0414 Secondary Air Injection System Switching Valve A Circuit Shorted

P0415 Secondary Air Injection System Switching Valve B Circuit Malfunction

P0416 Secondary Air Injection System Switching Valve B Circuit Open

P0417 Secondary Air Injection System Switching Valve B Circuit Shorted

P0418 Secondary Air Injection System Relay "A" Circuit Malfunction

P0419 Secondary Air Injection System Relay "B" Circuit Malfunction

P0420 Catalyst System Efficiency Below Threshold (Bank 1)

Page 98: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

98

P0421 Warm Up Catalyst Efficiency Below Threshold (Bank 1)

P0422 Main Catalyst Efficiency Below Threshold (Bank 1)

P0423 Heated Catalyst Efficiency Below Threshold (Bank 1)

P0424 Heated Catalyst Temperature Below Threshold (Bank 1)

P0430 Catalyst System Efficiency Below Threshold (Bank 2)

P0431 Warm Up Catalyst Efficiency Below Threshold (Bank 2)

P0432 Main Catalyst Efficiency Below Threshold (Bank 2)

P0433 Heated Catalyst Efficiency Below Threshold (Bank 2)

P0434 Heated Catalyst Temperature Below Threshold (Bank 2)

P0440 Evaporative Emission Control System Malfunction

P0441 Evaporative Emission Control System Incorrect Purge Flow

P0442 Evaporative Emission Control System Leak Detected (small leak)

P0443 Evaporative Emission Control System Purge Control Valve Circuit

P0444 Evaporative Emission Control System Purge Control Valve Circuit Open

P0445 Evaporative Emission Control System Purge Control Valve Circuit Shorted

P0446 Evaporative Emission Control System Vent Control Circuit Malfunction

P0447 Evaporative Emission Control System Vent Control Circuit Open

P0448 Evaporative Emission Control System Vent Control Circuit Shorted

P0449 Evaporative Emission Control System Vent Valve/Solenoid Circuit Malfunct

P0450 Evaporative Emission Control System Pressure Sensor Malfunction

P0451 Evaporative Emission Control System Pressure Sensor Range/Performance

P0452 Evaporative Emission Control System Pressure Sensor Low Input

P0453 Evaporative Emission Control System Pressure Sensor High Input

P0454 Evaporative Emission Control System Pressure Sensor Intermittent

P0455 Evaporative Emission Control System Leak Detected (gross leak)

P0456 Evaporative Emissions System Small Leak Detected

P0457 Evaporative Emission Control System Leak Detected

P0458 Evaporative Emission System Purge Control Valve Circuit Low

P0459 Evaporative Emission System Purge Control Valve Circuit High

P0460 Fuel Level Sensor Circuit Malfunction

P0461 Fuel Level Sensor Circuit Range/Performance

P0462 Fuel Level Sensor Circuit Low Input

P0463 Fuel Level Sensor Circuit High Input

P0464 Fuel Level Sensor Circuit Intermittent

P0465 Purge Flow Sensor Circuit Malfunction

P0466 Purge Flow Sensor Circuit Range/Performance

P0467 Purge Flow Sensor Circuit Low Input

P0468 Purge Flow Sensor Circuit High Input

P0469 Purge Flow Sensor Circuit Intermittent

P0470 Exhaust Pressure Sensor Malfunction

P0471 Exhaust Pressure Sensor Range/Performance

P0472 Exhaust Pressure Sensor Low

P0473 Exhaust Pressure Sensor High

P0474 Exhaust Pressure Sensor Intermittent

P0475 Exhaust Pressure Control Valve Malfunction

P0476 Exhaust Pressure Control Valve Range/Performance

P0477 Exhaust Pressure Control Valve Low

P0478 Exhaust Pressure Control Valve High

P0479 Exhaust Pressure Control Valve Intermittent

Page 99: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

99

P0480 Cooling Fan I Control Circuit Malfunction

P0481 Cooling Fan 2 Control Circuit Malfunction

P0482 Cooling Fan 3 Control Circuit Malfunction

P0483 Cooling Fan Rationality Check Malfunction

P0484 Cooling Fan Circuit Over Current

P0485 Cooling Fan Power/Ground Circuit Malfunction

P0500 Vehicle Speed Sensor Malfunction

P0501 Vehicle Speed Sensor Range/Performance

P0502 Vehicle Speed Sensor Low Input

P0503 Vehicle Speed Sensor Intermittent/Erratic/High

P0505 Idle Control System Malfunction

P0506 Idle Control System RPM Lower Than Expected

P0507 Idle Control System RPM Higher Than Expected

P0510 Closed Throttle Position Switch Malfunction

P0520 Engine Oil Pressure Sensor/Switch Circuit Malfunction

P0521 Engine Oil Pressure Sensor/Switch Circuit Range/Performance

P0522 Engine Oil Pressure Sensor/Switch Circuit Low Voltage

P0523 Engine Oil Pressure Sensor/Switch Circuit High Voltage

P0530 A/C Refrigerant Pressure Sensor Circuit Malfunction

P0531 A/C Refrigerant Pressure Sensor Circuit Range/Performance

P0532 A/C Refrigerant Pressure Sensor Circuit Low Input

P0533 A/C Refrigerant Pressure Sensor Circuit High Input

P0534 Air Conditioner Refrigerant Charge Loss

P0550 Power Steering Pressure Sensor Circuit Malfunction

P0551 Power Steering Pressure Sensor Circuit Range/Performance

P0552 Power Steering Pressure Sensor Circuit Low Input

P0553 Power Steering Pressure Sensor Circuit High Input

P0554 Power Steering Pressure Sensor Circuit Intermittent

P0560 System Voltage Malfunction

P0561 System Voltage Unstable

P0562 System Voltage Low

P0563 System Voltage High

P0565 Cruise Control On Signal Malfunction

P0566 Cruise Control Off Signal Malfunction

P0567 Cruise Control Resume Signal Malfunction

P0568 Cruise Control Set Signal Malfunction

P0569 Cruise Control Coast Signal Malfunction

P0570 Cruise Control Accel Signal Malfunction

P0571 Cruise Control/Brake Switch A Circuit Malfunction

P0572 Cruise Control/Brake Switch A Circuit Low

P0573 Cruise Control/Brake Switch A Circuit High

P0574 Cruise Control Related Malfunction

P0575 Cruise Control Related Malfunction

P0576 Cruise Control Related Malfunction

P0576 Cruise Control Related Malfunction

P0578 Cruise Control Related Malfunction

P0579 Cruise Control Related Malfunction

P0580 Cruise Control Related Malfunction

P0600 Serial Communication Link Malfunction

Page 100: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

100

P0601 Internal Control Module Memory Check Sum Error

P0602 Control Module Programming Error

P0603 Internal Control Module Keep Alive Memory (KAM) Error

P0604 Internal Control Module Random Access Memory (RAM) Error

P0605 Internal Control Module Read Only Memory (ROM) Error

P0606 PCM Processor Fault

P0607 Control Module Performance

P0608 Control Module VSS Output "A" Malfunction

P0609 Control Module VSS Output "B" Malfunction

P0620 Generator Control Circuit Malfunction

P0621 Generator Lamp "L" Control Circuit Malfunction

P0622 Generator Field "F" Control Circuit Malfunction

P0650 Malfunction Indicator Lamp (MIL) Control Circuit Malfunction

P0654 Engine RPM Output Circuit Malfunction

P0655 Engine Hot Lamp Output Control Circuit Malfunction

P0656 Fuel Level Output Circuit Malfunction

P0700 Transmission Control System Malfunction

P0701 Transmission Control System Range/Performance

P0702 Transmission Control System Electrical

P0703 Torque Converter/Brake Switch B Circuit Malfunction

P0704 Clutch Switch Input Circuit Malfunction

P0705 Transmission Range Sensor Circuit malfunction (PRNDL Input)

P0706 Transmission Range Sensor Circuit Range/Performance

P0707 Transmission Range Sensor Circuit Low Input

P0708 Transmission Range Sensor Circuit High Input

P0709 Transmission Range Sensor Circuit Intermittent

P0710 Transmission Fluid Temperature Sensor Circuit Malfunction

P0711 Transmission Fluid Temperature Sensor Circuit Range/Performance

P0712 Transmission Fluid Temperature Sensor Circuit Low Input

P0713 Transmission Fluid Temperature Sensor Circuit High Input

P0714 Transmission Fluid Temperature Sensor Circuit Intermittent

P0715 Input/Turbine Speed Sensor Circuit Malfunction

P0716 Input/Turbine Speed Sensor Circuit Range/Performance

P0717 Input/Turbine Speed Sensor Circuit No Signal

P0718 Input/Turbine Speed Sensor Circuit Intermittent

P0719 Torque Converter/Brake Switch B Circuit Low

P0720 Output Speed Sensor Circuit Malfunction

P0721 Output Speed Sensor Range/Performance

P0722 Output Speed Sensor No Signal

P0723 Output Speed Sensor Intermittent

P0724 Torque Converter/Brake Switch B Circuit High

P0725 Engine Speed input Circuit Malfunction

P0726 Engine Speed Input Circuit Range/Performance

P0727 Engine Speed Input Circuit No Signal

P0728 Engine Speed Input Circuit Intermittent

P0730 Incorrect Gear Ratio

P0731 Gear I Incorrect ratio

P0732 Gear 2 Incorrect ratio

P0733 Gear 3 Incorrect ratio

Page 101: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

101

P0734 Gear 4 Incorrect ratio

P0735 Gear 5 Incorrect ratio

P0736 Reverse incorrect gear ratio

P0740 Torque Converter Clutch Circuit Malfunction

P0741 Torque Converter Clutch Circuit Performance or Stuck Off

P0742 Torque Converter Clutch Circuit Stock On

P0743 Torque Converter Clutch Circuit Electrical

P0744 Torque Converter Clutch Circuit Intermittent

P0745 Pressure Control Solenoid Malfunction

P0746 Pressure Control Solenoid Performance or Stuck Off

P0747 Pressure Control Solenoid Stuck On

P0748 Pressure Control Solenoid Electrical

P0749 Pressure Control Solenoid Intermittent

P0750 Shift Solenoid A Malfunction

P0751 Shift Solenoid A Performance or Stuck Off

P0752 Shift Solenoid A Stuck On

P0753 Shift Solenoid A Electrical

P0754 Shift Solenoid A Intermittent

P0755 Shift Solenoid B Malfunction

P0756 Shift Solenoid B Performance or Stock Off

P0757 Shift Solenoid B Stuck On

P0758 Shift Solenoid B Electrical

P0759 Shift Solenoid B Intermittent

P0760 Shift Solenoid C Malfunction

P0761 Shift Solenoid C Performance or Stuck Off

P0762 Shift Solenoid C Stuck On

P0763 Shift Solenoid C Electrical

P0764 Shift Solenoid C Intermittent

P0765 Shift Solenoid D Malfunction

P0766 Shift Solenoid D Performance or Stuck Off

P0767 Shift Solenoid D Stuck On

P0768 Shift Solenoid D Electrical

P0769 Shift Solenoid D Intermittent

P0770 Shift Solenoid E Malfunction

P0771 Shift Solenoid E Performance or Stuck Off

P0772 Shift Solenoid E Stuck On

P0773 Shift Solenoid E Electrical

P0774 Shift Solenoid E Intermittent

P0780 Shift Malfunction

P0781 1-2 Shift Malfunction

P0782 2-3 Shift Malfunction

P0783 3-4 Shift Malfunction

P0784 4-5 Shift Malfunction

P0785 Shift/Timing Solenoid Malfunction

P0786 Shift/Timing Solenoid Range/Performance

P0787 Shift/Timing Solenoid Low

P0788 Shift/Timing Solenoid High

P0789 Shift/Timing Solenoid Intermittent

P0790 Normal/Performance Switch Circuit Malfunction

Page 102: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

102

P0801 Reverse Inhibit Control Circuit Malfunction

P0803 1-4 Upshift (Skip Shift) Solenoid Control Circuit Malfunction

P0804 1-4 Upshift (Skip Shift) Lamp Control Circuit Malfunction

Códigos de falha do Body

Os códigos de falha da carroceria do veiculo não são padronizados por norma.

Códigos de falha do Chassis

C0000 - Vehicle Speed Information Circuit Malfunction

C0035 - Left Front Wheel Speed Circuit Malfunction

C0040 - Right Front Wheel Speed Circuit Malfunction

C0041 - Right Front Wheel Speed Sensor Circuit Range/Performance (EBCM)

C0045 - Left Rear Wheel Speed Circuit Malfunction

C0046 - Left Rear Wheel Speed Sensor Circuit Range/Performance (EBCM)

C0050 - Right Rear Wheel Speed Circuit Malfunction

C0051 - LF Wheel Speed Sensor Circuit Range/Performance (EBCM)

C0060 - Left Front ABS Solenoid #1 Circuit Malfunction

C0065 - Left Front ABS Solenoid #2 Circuit Malfunction

C0070 - Right Front ABS Solenoid #1 Circuit Malfunction

C0075 - Right Front ABS Solenoid #2 Circuit Malfunction

C0080 - Left Rear ABS Solenoid #1 Circuit Malfunction

C0085 - Left Rear ABS Solenoid #2 Circuit Malfunction

C0090 - Right Rear ABS Solenoid #1 Circuit Malfunction

C0095 - Right Rear ABS Solenoid #2 Circuit Malfunction

C0110 - Pump Motor Circuit Malfunction

C0121 - Valve Relay Circuit Malfunction

C0128 - Low Brake Fluid Circuit Low

C0141 - Left TCS Solenoid #1 Circuit Malfunction

C0146 - Left TCS Solenoid #2 Circuit Malfunction

C0151 - Right TCS Solenoid #1 Circuit Malfunction

C0156 - Right TCS Solenoid #2 Circuit Malfunction

C0161 - ABS/TCS Brake Switch Circuit Malfunction

C0221 - Right Front Wheel Speed Sensor Circuit Open

C0222 - Right Front Wheel Speed Signal Missing

C0223 - Right Front Wheel Speed Signal Erratic

C0225 - Left Front Wheel Speed Sensor Circuit Open

C0226 - Left Front Wheel Speed Signal Missing

C0227 - Left Front Wheel Speed Signal Erratic

C0229 - Drop Out of Front Wheel Speed Signals

C0235 - Rear Wheel Speed Signal Circuit Open

C0236 - Rear Wheel Speed Signal Circuit Missing

C0237 - Rear Wheel Speed Signal Erratic

C0238 - Wheel Speed Mismatch

Page 103: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

103

C0241 - EBCM Control Valve Circuit

C0245 - Wheel Speed Sensor Frequency Error

C0254 - EBCM Control Valve Circuit

C0265 - EBCM Relay Circuit

C0266 - EBCM Relay Circuit

C0267 - Pump Motor Circuit Open/Shorted

C0268 - Pump Motor Circuit Open/Shorted

C0269 - Excessive Dump/Isolation Time

C0271 - EBCM Malfunction

C0272 - EBCM Malfunction

C0273 - EBCM Malfunction

C0274 - Excessive Dump/Isolation Time

C0279 - Powertrain Configuration Not Valid

C0281 - Brake Switch Circuit

C0283 - Traction Switch Shorted to Ground

C0284 - EBCM Malfunction

C0286 - ABS Indicator Lamp Circuit Shorted to B+

C0287 - Delivered Torque Circuit

C0288 - Brake Warning Lamp Circuit Shorted to B+

C0290 - Lost Communications With PCM

C0292 - Lost Communications With PCM

C0291 - Lost Communications With BCM

C0297 - Powertrain Configuration Data Not Received

C0298 - Powertrain Indicated Traction Control Malfunction

C0300 - Rear Speed Sensor Malfunction

C0305 - Front Speed Sensor Malfunction

C0306 - Motor A or B Circuit

C0308 - Motor A/B Circuit Low

C0309 - Motor A/B Circuit High

C0310 - Motor A/B Circuit Open

C0315 - Motor Ground Circuit Open

C0321 - Transfer Case Lock Circuit

C0323 - T-Case Lock Circuit Low

C0324 - T-Case Lock Circuit High

C0327 - Encoder Circuit Malfunction

C0357 - Park Switch Circuit High

C0359 - Four Wheel Drive Low Range (4LO) Discrete Output Circuit

C0362 - 4LO Discrete Output Circuit High

C0367 - Front Axle Control Circuit High

C0374 - General System Malfunction

C0376 - Front/Rear Shaft Speed Mismatch

C0379 - Front Axle System

C0387 - Unable to Perform Shift

C0472 - Steering Handwheel Speed Sensor Signal V Low

C0473 - Steering Handwheel Speed Sensor Signal V High

C0495 - EVO Tracking Error

C0498 - Steering Assist Control Actuator Feed Circuit Low

C0499 - Steering Assist Control Solenoid Feed Circuit High

C0503 - Steering Assist Control Solenoid Return Circuit Low

Page 104: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

104

C0504 - Steering Assist Control Solenoid Return Circuit High

C0550 - ECU Malfunction - internal write / checksum malfunction

C0559 - EEPROM Checksum Error

C0563 - Calibration ROM Checksum Error

C0577 - Left Front Solenoid Circuit Low

C0578 - Left Front Solenoid Circuit High

C0579 - Left Front Solenoid Circuit Open

C0582 - Right Front Solenoid Circuit Low

C0583 - Right Front Solenoid Circuit High

C0584 - Right Front Solenoid Circuit Open

C0587 - Left Rear Solenoid Circuit Low

C0588 - Left Rear Solenoid Circuit High

C0589 - Left Rear Solenoid Circuit Open

C0592 - Right Rear Solenoid Circuit Low

C0593 - Right Rear Solenoid Circuit High

C0594 - Right Rear Solenoid Circuit Open

C0611 - VIN Information Error

C0615 - Left Front Position Sensor Malfunction

C0620 - Right Front Position Sensor Malfunction

C0625 - Left Rear Position Sensor Malfunction

C0628 - Level Control Position Sensor Circuit High

C0630 - Right Rear Position Sensor Malfunction

C0635 - Left Front Normal Force Circuit Malfunction

C0638 - Left Front Normal Force Circuit High

C0640 - Right Front Normal Force Circuit Malfunction

C0643 - Right Front Normal Force Circuit High

C0655 - Level Control Compressor Relay Malfunction

C0657 - Level Control Compressor Circuit Low

C0658 - Level Control Compressor Circuit High

C0660 - Level Control Exhaust Valve Circuit Malfunction

C0662 - Level Control Exhaust Valve Circuit Low

C0663 - Level Control Exhaust Valve Circuit High

C0665 - Chassis Pitch Signal Circuit

C0690 - Damper Control Relay Circuit Malfunction

C0691 - Damper Control Relay Circuit Range

C0693 - Damper Control Relay Circuit High

C0695 - Position Sensor Overcurrent (8 volt supply)

C0696 - Position Sensor Overcurrent (5 volt supply)

C0710 - Steering Position Signal Malfunction

C0750 - Tire Pressure Monitor (TPM) system sensor not transmitting

C0755 - Tire Pressure Monitor (TPM) system sensor not transmitting

C0760 - Tire Pressure Monitor (TPM) system sensor not transmitting

C0765 - Tire Pressure Monitor (TPM) system sensor not transmitting

C0800 - Device Power #1 Circuit Malfunction

C0896 - Electronic Suspension Control (ESC) voltage is outside the normal range of 9 to 15.5

volts

Códigos de falha de Redes (alguns são reservados)

Page 105: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

105

U0001....High Speed CAN Communication Bus

U0002....High Speed CAN Communication Bus Performance

U0003....High Speed CAN Communication Bus (+) Open

U0004....High Speed CAN Communication Bus (+) Low

U0005....High Speed CAN Communication Bus (+) High

U0006....High Speed CAN Communication Bus (-) Open

U0007....High Speed CAN Communication Bus (-) Low

U0008....High Speed CAN Communication Bus (-) High

U0009....High Speed CAN Communication Bus (-) shorted to Bus (+)

U0010....Medium Speed CAN Communication Bus

U0011....Medium Speed CAN Communication Bus Performance

U0012....Medium Speed CAN Communication Bus (+) Open

U0013....Medium Speed CAN Communication Bus (+) Low

U0014....Medium Speed CAN Communication Bus (+) High

U0015....Medium Speed CAN Communication Bus (-) Open

U0016....Medium Speed CAN Communication Bus (-) Low

U0017....Medium Speed CAN Communication Bus (-) High

U0018....Medium Speed CAN Communication Bus (-) shorted to Bus (+)

U0019....Low Speed CAN Communication Bus

U0020....Low Speed CAN Communication Bus Performance

U0021....Low Speed CAN Communication Bus (+) Open

U0022....Low Speed CAN Communication Bus (+) Low

U0023....Low Speed CAN Communication Bus (+) High

U0024....Low Speed CAN Communication Bus (-) Open

U0025....Low Speed CAN Communication Bus (-) Low

U0026....Low Speed CAN Communication Bus (-) High

U0027....Low Speed CAN Communication Bus (-) shorted to Bus (+)

U0028....Vehicle Communication Bus A

U0029....Vehicle Communication Bus A Performance

U0030....Vehicle Communication Bus A (+) Open

U0031....Vehicle Communication Bus A (+) Low

U0032....Vehicle Communication Bus A (+) High

U0033....Vehicle Communication Bus A (-) Open

U0034....Vehicle Communication Bus A (-) Low

U0035....Vehicle Communication Bus A (-) High

U0036....Vehicle Communication Bus A (-) shorted to Bus A (+)

U0037....Vehicle Communication Bus B

U0038....Vehicle Communication Bus B Performance

U0039....Vehicle Communication Bus B (+) Open

U0040....Vehicle Communication Bus B (+) Low

U0041....Vehicle Communication Bus B (+) High

U0042....Vehicle Communication Bus B (-) Open

U0043....Vehicle Communication Bus B (-) Low

U0044....Vehicle Communication Bus B (-) High

U0045....Vehicle Communication Bus B (-) shorted to Bus B (+)

U0046....Vehicle Communication Bus C

U0047....Vehicle Communication Bus C Performance

U0048....Vehicle Communication Bus C (+) Open

U0049....Vehicle Communication Bus C (+) Low

Page 106: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

106

U0050....Vehicle Communication Bus C (+) High

U0051....Vehicle Communication Bus C (-) Open

U0052....Vehicle Communication Bus C (-) Low

U0053....Vehicle Communication Bus C (-) High

U0054....Vehicle Communication Bus C (-) shorted to Bus C (+)

U0055....Vehicle Communication Bus D

U0056....Vehicle Communication Bus D Performance

U0057....Vehicle Communication Bus D (+) Open

U0058....Vehicle Communication Bus D (+) Low

U0059....Vehicle Communication Bus D (+) High

U0060....Vehicle Communication Bus D (-) Open

U0061....Vehicle Communication Bus D (-) Low

U0062....Vehicle Communication Bus D (-) High

U0063....Vehicle Communication Bus D (-) shorted to Bus D (+)

U0064....Vehicle Communication Bus E

U0065....Vehicle Communication Bus E Performance

U0066....Vehicle Communication Bus E (+) Open

U0067....Vehicle Communication Bus E (+) Low

U0068....Vehicle Communication Bus E (+) High

U0069....Vehicle Communication Bus E (-) Open

U0070....Vehicle Communication Bus E (-) Low

U0071....Vehicle Communication Bus E (-) High

U0072....Vehicle Communication Bus E (-) shorted to Bus E (+)

U0073....Control Module Communication Bus Off

U0074....Reserved by Document

U0075....Reserved by Document

U0076....Reserved by Document

U0077....Reserved by Document

U0078....Reserved by Document

U0079....Reserved by Document

U0080....Reserved by Document

U0100....Lost Communication With ECM/PCM "A"

U0101....Lost Communication with TCM

U0102....Lost Communication with Transfer Case Control Module

U0103....Lost Communication With Gear Shift Module

U0104....Lost Communication With Cruise Control Module

U0105....Lost Communication With Fuel Injector Control Module

U0106....Lost Communication With Glow Plug Control Module

U0107....Lost Communication With Throttle Actuator Control Module

U0108....Lost Communication With Alternative Fuel Control Module

U0109....Lost Communication With Fuel Pump Control Module

U0110....Lost Communication With Drive Motor Control Module

U0111....Lost Communication With Battery Energy Control Module "A"

U0112....Lost Communication With Battery Energy Control Module "B"

U0113....Lost Communication With Emissions Critical Control Information

U0114....Lost Communication With Four-Wheel Drive Clutch Control Module

U0115....Lost Communication With ECM/PCM "B"

U0145....Lost Communication With Body Control Module "E"

U0146....Lost Communication With Gateway "A"

Page 107: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

107

U0147....Lost Communication With Gateway "B"

U0148....Lost Communication With Gateway "C"

U0149....Lost Communication With Gateway "D"

U0150....Lost Communication With Gateway "E"

U0151....Lost Communication With Restraints Control Module

U0152....Lost Communication With Side Restraints Control Module

U0153....Lost Communication With Side Restraints Control Module

U0154....Lost Communication With Restraints Occupant Sensing Control Module

U0155....Lost Communication With Instrument Panel Cluster (IPC) Control Module

U0156....Lost Communication With Information Center "A"

U0157....Lost Communication With Information Center "B"

U0158....Lost Communication With Head Up Display

U0159....Lost Communication With Parking Assist Control Module

U0160....Lost Communication With Audible Alert Control Module

U0161....Lost Communication With Compass Module

U0162....Lost Communication With Navigation Display Module

U0163....Lost Communication With Navigation Control Module

U0164....Lost Communication With HVAC Control Module

U0165....Lost Communication With HVAC Control Module

U0166....Lost Communication With Auxiliary Heater Control Module

U0167....Lost Communication With Vehicle Immobilizer Control Module

U0403....Invalid Data Received From Transfer Case Control Module

U0404....Invalid Data Received From Gear Shift Control Module

U0405....Invalid Data Received From Cruise Control Module

U0406....Invalid Data Received From Fuel Injector Control Module

U0407....Invalid Data Received From Glow Plug Control Module

U0408....Invalid Data Received From Throttle Actuator Control Module

U0409....Invalid Data Received From Alternative Fuel Control Module

U0410....Invalid Data Received From Fuel Pump Control Module

U0411....Invalid Data Received From Drive Motor Control Module

U0412....Invalid Data Received From Battery Energy Control Module A

U0413....Invalid Data Received From Battery Energy Control Module B

U0414....Invalid Data Received From Four-Wheel Drive Clutch Contro

U0415....Invalid Data Received From Anti-Lock Brake System Control

U0416....Invalid Data Received From Vehicle Dynamics Control Modu

U0417....Invalid Data Received From Park Brake Control Module

U0418....Invalid Data Received From Brake System Control Module

U0419....Invalid Data Received From Steering Effort Control Module

U0420....Invalid Data Received From Power Steering Control Module

U0421....Invalid Data Received From Ride Level Control Module

U0422....Invalid Data Received From Body Control Module

U0423....Invalid Data Received From Instrument Panel Control Module

U0424....Invalid Data Received From HVAC Control Module

U0425....Invalid Data Received From Auxiliary Heater Control Module

U0426....Invalid Data Received From Vehicle Immobilizer Control Mo

U0427....Invalid Data Received From Vehicle Security Control Module

U0428....Invalid Data Received From Steering Angle Sensor Module

U0429....Invalid Data Received From Steering Column Control Module

U0430....Invalid Data Received From Tire Pressure Monitor Module

Page 108: FERRAMENTA DE DIAGNÓSTICO AUTOMOTIVO …fatecsantoandre.edu.br/arquivos/TCC076.pdf · uma falha, como cada fabricante tinha códigos e especificações próprias, era relativamente

108