Página 1 de 2

Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 11 Dez 2013, 01:36
por LuizGbarrio
Ola Pessoal do CLP...
Eu estava procurando um Scaner que lesse a injeção do meu Logão, e para minha surpresa, os que eu encontrei custavam mais de trezentas pilas... Então eu pensei comigo mesmo, já que o conector é só de diagnostico e a leitura é feita por meio de pulsos, não parece ser complicado ler essa injeção... Eu tenho um conhecimento moderado em eletrônica, programação e microcontroladores. E acho que não seria tão difícil para mim projetar um scaner partindo do Zero.
Já imaginaram? um scaner oficial do CLP, projetador por nós mesmos especificamente para ler a injeção do Logus e do Pointer, e com um custo menor do que um outro de mercado...hehe
Esse fórum já me ajudou muito e eu também quero ajudar da maneira que eu puder, e acho que a melhor maneira de fazer isso seria usar meus conhecimentos em pró da nossa comunidade.
Então o que vocês acham?? Daria certo?? Seria Útil?? Quero que sejam o mais sinceros possível, pois se for para investir meu tempo e esforço quero que seja para ajudar o maior numero de pessoas possível...

Falando um pouco mais do projeto: Eu contaria os pulsos e temporizaria os intervalos por meio de um Software desenvolvido para um PIC, para exibir o LOG de erros eu poderia usar um pequeno display LCD capaz de exibir duas linhas de 16 caracteres cada (é limitado mas quebra o galho), também é possível adicionar um modulo de bluetooth (pode ser opcional, se o usuário quiser pode simplesmente comprar-lo e espetar na placa) esse modulo nos permitiria através de um software (Blueterm, talvez?) em um celular ou tablet android visualizar o LOG de Erros gerado pela injeção... É uma ideia ousada, mas é possível.
Não sei como funciona a injeção multiponto, mas se o diagnostico for igual a monoponto, vai ficar muito legal, pois nosso Scaner vai ler qualquer Logus ou Pointer (e modelos similares)

E então, sera que ficaria legal?
Espero a Opinião de Vocês.

A) Luiz Gustavo

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 11 Dez 2013, 05:39
por Jmacuna0
É uma boa idea, eu quero fazer tambem mas meu conhecimento de electronica e muito pouco. Se voce pode pensar e fazer o diagrama (para cada um comprar e fazer o propio) seria otimo. No meu caso eu fico em Argentina e nao tenho como pegar nem os adhesivos do clube é por isso que peco o diagrama para comprar e fazer.
Obrigado pela disposicao e acompanhando!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 11 Dez 2013, 11:51
por LuizGbarrio
Ola Jmacuna0.

É claro que se eu projetar esse scaner eu vou disponibilizar os diagramas e o Software que vai no microcontrolador, tudo de graça, para que o pessoal do fórum possa montar seus próprios Scaner's (se tiverem um gravador de PIC's é claro)... E pra quem não possui um gravador ou não tem experiencia na montagem de PCI's agente pode montar e vender a um preço de Custo....
Quanto a não possuir conhecimento na areá: Não importa, pois todos podem ajudar dando dicas de como esta ficando o projeto e como pode melhorar e dicas sobre o que podemos agregar a nosso projetinho, o PIC 18f452 (o que pretendo usar), tem um conversor analogico/Digital que é perfeito para ser usado para testar sensores resistivos (que variam sua tensão) ou seja praticamente todos os sensores do carro, de cara o mais fácil de medir é o TPS (sensor de posição da borboleta de aceleração) pois é o de mais facil acesso e só depende da posição do acelerador, seria só espetar o conetor do scaner (vou montar um compatível com o PLUG do TPS) e na tela do display sairia a tensão em marcha lenta e a tensão de aceleração máxima, e a mensagem dizendo se o Sensor esta funcionando e se é realmente do Logus... Acho que ficaria bem legal!! XD

Já tenho mais ou menos o projeto formulado aqui, só estou esperando um pouco mais o FeedBack da galera para dar continuidade....


A) Luiz Gustavo

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 11 Dez 2013, 22:08
por Nelson
Ótima ideia, se precisar de alguma ajuda me avisa, moro ao lado de cascadura, qualquer coisa de eletronica se encontra aqui, eu entendo alguma coisa mas nao o suficiente para um projeto desses!! qualquer coisa dá um grito po me innteressei muito

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 00:23
por LuizGbarrio
hehe... Valeu Nelsão!! Pode deixar que no que eu precisar eu falo contigo, vou fazer uma lista do que eu vou precisar, ai eu te passo e vc vê quanto fica tudo, se compensar eu te passo a grana e vc me envia pelo correio, pode ser?? Se não compensar eu compro pela internet mesmo, tipo eletrodex...hahah
Mas isso é mais para frente, agora o trabalho é mais teórico...

Vou começar com o projeto então, se alguém quiser me ajudar pode começar me passando as seguintes informações...
Temporização entre os pulsos (preciso que sejam o mais específicos possível, pois encontrei pela internet coisas como "mais ou menos meio segundo"... e isso não ajuda muito...) Preciso saber com precisão os intervalos entre cada pulso e a que corresponde o valor de cada intervalo. Se alguém pudesse me passar isso me pouparia muito tempo que seria gasto em pesquisas, na pior das hipoteses, vou terque espetar a ponta de prova de um osciloscopio ali e medir os intervalos na raça mesmo...
E também gostaria de uma opinião estética...
O display que pretendo usar é que nem esse abaixo:

[img=center]http://www.skpang.co.uk/catalog/images/lcd/lcd162b-yhy.jpg[/img]

Como vocês acham que ficaria melhor para exibir os códigos de erro, algorismos lado a lado separados por espaços, separados por barra?? Deem sua opinião... XD
Tambem seria legal, saber como funciona o diagnostico na injeção multiponto, pois como eu disse antes, tenho como base meu carro (Logus 94 CLi) mas pretendo atingir o maior publico possível...
Alguém que me trouxesse essas informações já teria ajudado muito mesmo, pois o tempo que eu gastaria indo atrás delas eu investiria direto no projeto...


No momento é só, e a medida que vou avançando o projeto eu vou postando aqui...


A) Luiz Gustavo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 00:45
por danielrc
se esse programa ajudar eu te passo ele.
http://www.simplobr.com/produtos/id/25/

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 00:51
por Nelson
Deixa eu ver se entendi, usando uma lampada, cada vez que a luz pisca é um pulso, então vc vai transformar essas piscadas em numeros numa tela para facilitar ? Se for isso, a leitura no multiponto é igual, posso usar meu wob como cobaia hahaha , não parece uma coisa monstruosa de se fazer, so da um trabalinho.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 00:55
por Nelson
danielrc escreveu:se esse programa ajudar eu te passo ele.
http://www.simplobr.com/produtos/id/25/


Gostei!!!!!!!!!!!!!!!!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 02:04
por LuizGbarrio
OK, tava pensando em começar isso amanhã, mas como meu lado NERD não me deixa em paz, comecei hoje mesmo, então ta saindo ai quentinho do forno o diagrama da versão beta do nosso escaner:

Imagem
(J2, J3 e J4 vão conectados ao conector de diagnostico do carro, jp1 é o botão de reset e o jp2 é o botão de inicio do teste...)

Upei a imagem para quem quiser... pode baixar e analisar, se tiver alguma sugestão ou correção a fazer, pode postar aqui mesmo...

Daniel, acho que esse programa seria útil, pois ele promete passar todas as informações em seus mínimos detalhes, temporização é algo "chato" de se fazer com microcontroladores, então quanto mais precisão tivermos melhor! pois o algoritmo fica mais simples....XD

Se alguém quiser posso estar explicando a parte referente a eletrônica do projeto...

Nelson... Obrigado pela dica, agora sei que pode funcionar para a maioria dos Logus e Pointer's por ai... XD
E sim a ideia é essa, exibir os códigos de erro no display e também em um dispositivo android via bleutooh, Via bluetooh é possível dar uma descrição do erro (útil para quem não tiver a tabela em mãos)...
Tipo: "ERRO 23: Verifique o sensor de posição da Borboleta" ou tipo
"Codigo 11: Parabens sua Injecao esta OK!!!".... XD

Isso não é possível no Display, pois o espaço é bem limitado... Quanto a dificuldade: deve se possuir um conhecimento moderado em Linguagem de alto nível para microcontroladores (eu utilizo C), pois creio que seja invialvel por meio de eletrônica discreta(o circuito ficaria tão grande que seria impraticável..).
A eletrônica é relativamente simples, o resto é feito pelo programa gravado no PIC, este devera detectar se o disgnóstico é estático ou dinâmico, contar os pulsos, temporizar os intervalos entre os pulsos e determinar se é um digito (Diferenciar os decimais de unidades), um novo código de erros, transição de um código para outro ou repetição do LOG de erros... Tudo isso apenas se baseando na duração dos intervalos... Essa é a parte difícil... desenvolver um algoritmo em C que entenda isso.... Mas acho que vamos chegar lá... Terminei minha ultima prova da faculdade hoje, então estou com um tempo livre e vou começar amanhã mesmo...hehe...

A) Luiz Gustavo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 12 Dez 2013, 09:23
por Nelson
agora sim entendi, vai ficar muito bom !!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 13 Dez 2013, 23:16
por LuizGbarrio
Pessoal... Só dando um UP no tópico, para trazer as novidades (não são muitas, mas quero deixar os interessados no projeto bem informados sobre meu progresso... XD).

Comecei a desenvolver o Firmware que sera executado no Scaner, até agora tudo tem funcionado bem no simulador... Quem quiser ver pode dar uma conferida nas prints abaixo:

Imagem

Apesar disso, ainda falta muito para ficar pronto, a parte mais difícil ainda precisa ser feita, que correspondem as rotinas de leitura temporizada e interpretação dos códigos recebidos.
Já tenho o "esqueleto" do programa pronto, mas ao decorrer do desenvolvimento encontrei alguns problemas com os "detalhes"... Vou explicar melhor:
Minha ideia para fazer a temporização é usar o pulso dado pelo ALDL para disparar uma interrupção no programa do scaner, essa interrupção daria inicio a um processo onde eu incrementaria uma variável e utilizaria a função de delay para contar o tempo de tal maneira que no decorrer dos intervalos minha variável teria um valor próximo ao do tempo decorrido, então encontrei alguns fatores que podem "atrapalhar" na leitura... Por exemplo, como a medida do intervalo não é precisa e talvez até seja variavel, preciso compara o valor lido com valores máximos e mínimos de cada intervalo para determinar que ação tomar, porem essas comparações levam tempo e se os valores de comparação forem acima de 255 esse tempo é quadruplicado (por isso é importante saber a duração precisa dos pulsos, pois isso diminuiria a margem de comparação), isso gera uma margem de erro que vai aumentando a cada código recebido, pois o microcontrolador "para" de contar o tempo na hora de atribuir valores e fazer a comparação, mas a Centralina não para com os pulsos... Vou dar um exemplo: Imagine que entre pulso e pulso tem um intervalo de 400ms (hipoteticamente, pois na realidade não seia duração... XD), o PIC detecta esses 400ms e para para fazer a comparação e escrever no display, esse processo leva 20ms, na próxima vez que ele medir os intervalos ele vai detectar 380ms, pois ele gastou 20ms para fazer outras tarefas, mas a Centralina não parou de enviar os pulsos, na proxima medida ele vai ler só 360ms...
Para resolver esse problema o que eu posso fazer é subir brutalmente o Clock (velocidade com que o PIC executa o programa), mas isso não mostraria eficacia na hora de atualizar o display (apenas na comparação), então só resolve metade do problema...
Quanto ao problema do display, preciso da opinião de vocês, pois o que eu posso fazer, é:
Primeiro: Fazer toda e leitura e exibir os códigos somente depois que a centralina terminar com os pulsos.
Segundo: Usar outro microcontrolador, menos "parrudo" (16f628A telvez) somente para comandar o display, de modo que o PIC 18f452 realiza a leitura e manda os dados por meio de um BUS para o 16f628A (o 18f leva apenas 0,00000025 segundos para fazer isso...XD) e o 16F joga para o display, porem isso vai encarecer o projeto (em uns R$12,00) e vou precisar fazer um programa que permita essa comunicação entre os dois PIC's...

Vou pesquisar um meio de fazer com que o contador do próprio PIC faça essa temporização para mim, talvez seja possível fazer tudo de uma vez (contar o tempo, atribuir os valores e atualizar o Display)... mas vai levar mais um tempo...hehe

Na parte eletrônica do projeto, apenas mudei o rele que comanda o JUMP que da inicio a leitura para o PORTC do PIC, adicionei um LED que acendera quando o Scaner for ligado, e um outro LED que piscara em função os pulsos mandados pela Centralina (para quem quiser acompanhar de maneira mais rustica... XD).
Para quem quiser, pode conferir o diagrama abaixo:

Imagem



No momento é só isso, conto com a ajuda de vocês... Qualquer duvida é só perguntar...

Grato Luiz Gustavo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 13 Dez 2013, 23:57
por felipebizam
Belo projeto !

Sou a favor de dois PIC´s acredito que fique mais preciso.

Sugestão : guardar os erros apresentados (sei lá uns 10 ?) e dois botões para avançar e retroceder entre os erros :)

Parabéns !!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 14 Dez 2013, 07:50
por Jmacuna0
Ha videos em youtube de escaneos com lampada, sera que da para verificar os intervalos? alem disso, a central manda pulsos e pausas normais nos codigos, mas tem pausas longas entre num1 num2 e entre codigo e repeticao, sera que é possivel dier ao pic que somete some os pulsos ate a pausa longa? exemplo se a pausa é menor a Xseg continuar soma. se a pausa é malhor pasar para o seguinte digito ou codigo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 14 Dez 2013, 10:13
por LuizGbarrio
felipebizam.... Cara !!! Sua ideia é otima, por que o que eu pretendo fazer é salvar os códigos de erro dentro de uma matriz de 16 elementos, eu poderia reprogramar a rotina de escrita no LCD para jogar essa matriz no LCD e usar os botões para rotacionar os elementos, fazendo com que os códigos de erro fossem exibidos a medida em que é pressionado os botões.... Vou tentar isso!! Estou tentando com um PIC só por enquanto, se não tiver jeito vou partir para usar os dois PIC, pois o 18f452 é um microcontrolador bem Parrudo (e relativamente caro) então acho que seria interessante tentar usar somente ele, eu poderia tentar usar dois PIC menores só que o desempenho dos 16F com linguagem C não é muito Bom, então preciso de mais tempo para testar essas opções e ver qual vai sair mais em conta...
Jmacuna0...... É exatamente isso que eu vou fazer, só que a única maneira do PIC saber se é para somar os pulsos ou iniciar outro digito é de acordo com a duração do intervalo... Vou fazer o seguinte vou usar valores aproximados para as rotinas de temporização depois vou espetar o Scaner no meu carro e ver se ele Lê bem a injeção, se não ler eu vou aumentar ou baixar os valores de comparação e uma hora vou conseguir... Isso é o que nós chamamos de ajuste pratico...HAHAHA


Obrigado a todos que estão participando, a ajuda de vocês sempre é bem vinda... XD
Grato Luiz Gustavo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 17 Dez 2013, 00:11
por LuizGbarrio
Pessoal....

Já estou de ferias da faculdade, mas retornei agora segunda-feira para o trampo, isso quer dizer, menos tempo para me dedicar ao projeto, mas vamos ao que interessa...
Como disse anteriormente, estou buscando um meio de utilizar somente um PIC, até agora tenho tido resultados positivos... Para a interface com o usuário, estou pensando em fazer o seguinte, exibir o numero do erro na primeira linha, na segunda linha um "descrição", na verdade só um indicativo do erro... E um sinal de "Maior" ou "Menor" para indicar para o usuário que existem mais erros para a direita (>) ou esquerda (<) e o usuário navegara por esses erros através de dois botões um para "rolar" a tela para seu respectivo lado... Durante o Escaneamento ficara uma tela que exibira um "jogo da velha" (#) para cada erro encrontrado.... Vejam os exemplos:

Imagem

Oque vocês acham dessa interface?

Como o espaço no display só me permite usar 16 caracteres, não é possivel fazer uma boa descrição do erro, então só é possível exibir pequenas mensagens, fiz uma lista que pode ser exibida no display... Se alguem tiver alguma sugestão ou correção para as mensagens pode postar aqui mesmo... Segue a lista:
"Falha:Centralina",
"Alime.Centralina",
"Erro: TEMP.Agua ",
"Erro: sensor MAP",
"Erro: sensor TPS",
"Erro: TEMP.AR ",
"Erro:sisCanister",
"Erro:Bomba Comb.",
"Circuito Bomba ",
"Falta:pulso Ign.",
"Circuito Ignicao",
"Erro Velocimetro",
" Sonda Lambda "


No momento é isso... Ainda preciso da temporização dos pulsos (inclusive o tempo em que a Luz fica acesa, pois apesar de pequeno este tempo ainda deve ser computado...)...

A) Luiz Gustavo.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 17 Dez 2013, 13:04
por lleedd
Parabéns pelo projeto!
Num projeto, tive que ler as piscadas, cerca de 1 seg de intervalo OU MAIS, de um led de um painel de um equipamento.
Não sei usar interrupção no PIC. Então usei um LDR que que acoplado no led que piscava, enviava a variação de resistência do LDR e acionava um fotoacoplador (4N25) que estava ligado num pino do PIC. Fiz um contador simples, tipo if > que 6 piscadas, acionava outro dispositivo.
Não sei o intervalo entre os pulsos na injeção (que pode ser muito rápido), mas no meu caso explicado acima, eu não me preocupei com a largura do pulso, porque só computava na leitura APÓS o apagamento do led.
Vou procurar, pois acho que tenho em casa algo que instrua sobre esse teste que se faz no conector da injeção.
Sobre as mensagens de erros, estão excelente.
Para uma oportunidade futura, acho que daria para guardar as informações numa memória RAM, mas isso é só uma sugestão.

Se tivesse com mais tempo, colaboraria com mais alguma coisa, mas se necessitar de componentes, tenho alguma coisa em casa.

Abraço e boa sorte!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 17 Dez 2013, 13:21
por lleedd
Encontrei na internet dois links do material que tenho em casa sobre injeção.
http://www.hackinglife.com.br/Mecanica/INJECAO/Ca72.htm
http://www.hackinglife.com.br/Mecanica/INJECAO/Ca71.htm
Tem aquela observação do intervalo entre as piscadas de cada dígito do código que é de cerca de meio segundo. Como vc disse, só com osciloscópio pra conferir.

"O código de falha pode ser obtidos com o uso de uma lâmpada adequada, corretamente ligada ao conector de diagnósticos chamado (ALDL) mostrados nas gravuras acima e abaixo .Os códigos de falhas são emitidos através de piscadas da lâmpada , enviando um código de cada vez e do menor para o maior . Todos os códigos de falhas são de dois dígitos pôr exemplo (21,13).

Assim para cada código a lâmpada dá o primeiro digito depois o segundo .Cada digito é representado pelo numero de piscadas da lâmpada, na quantidade equivalente ao digito - pôr exemplo o digito 3 é representado pôr três piscadas da lâmpada.

As piscadas de cada digito são piscadas rápidas cerca de meio segundo cada piscada , com um intervalo de meio segundo entre cada uma .Entre um digito e outro há uma curta pausa de 2 segundos e entre um código e outro há uma pausa de 4 segundos .

Após emitir todos os códigos há uma pausa depois repete tudo novamente mais uma vez"

Grande abraço!

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 17 Dez 2013, 20:47
por LuizGbarrio
Valeu lleedd...

Sua ideia do LDR é boa, como dá para ver, eu estou usando um transistor BC injetando os 12V na base e saindo pelo coletor com 5volts e sinal invertido... XD
A ideia da interrupção surgiu por que tem pulsos que são de inicio ou indicação... Então preciso saber os intervalos para discriminar um código do outro... Mas e ai, manja de MikroC talvez você possa me ajudar, se quiser é claro...
Para a temporização estou usando o Timer0 em modo 16 bits, isso me permite cronometrar até 4,2 Segundos o Timer me retorna um valor de 0 até 65536 (INT), ai uso uma multiplicação para encontrar o valor do tempo...hehe... Essa parte do programa esta praticamente pronta... tenho que ajustar meu algorítimo, pois esta meio fragmentado...hehe...
Valeu pelas dica, e é muito bom encontrar alguém que fale minha linguá... HEHE....

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 18 Dez 2013, 08:32
por lleedd
Olá Luiz,
Infelizmente não consigo visualizar as imagens que vc postou porque o pC do trabalho, e de onde postei esses comentários, está com problemas..e estou sem internet desde domingo....
Sua lógica está perfeita, é por aí mesmo.
Eu só aprendi PicBasic.
Sobre o display serial, tem no Mercado Livre. Entro no rateio
Se quiser, tenho daqueles 16x2 paralelo. Fiz uma plaquinha de conversão para serial usando um 16F819.

Re: Projetando um Scaner que leia a Injeção FIC Monoponto.

Enviado: 26 Dez 2013, 18:50
por Nelson
Cara, meu logus deu uns códigos que não constavam na tabela que vc passou então comecei a procurar e achei essa tabela mais completa, no caso o código que eu não encontrava era o 52 ( falha no sensor de detonação que eu havia desconectado)

http://www.thorssell.net/hbook/2digit.html