Bom vou explicar o cenário, estou desenvolvendo um Datalogger automotivo, ele tem a função de monitorar tudo que acontece com o carro e armazenar em um cartão Sd, Uso para carros de arrancada, competição e/ou modificados sistema de injeção com a Fueltech, Pandoo Injetech e etc... O Datalogger tem a função de capturar os dados como, posição do acelerador, pressão atmosférica do coletor, temperatura do motor e etc... isso já esta funcionando perfeitamente, Já esta coletando os dados armazenando em um SD e exibindo em tempo real em um Display 1602, porém eu preciso de Ler o RPM do carro, e essa parte que não estou conseguindo desenvolver, estou coletando o sinal do motor, medido antes, ele gira em torno de 2V porém as leituras ocila muito e não tem nada a ver com o RPM do carro, estudando um pouco sobre o assunto, eu descobri que ele trabalha em frequencia Hz e estou tentando ler isso pelo arduino, até encontrei um material, em [url]http://www.avdweb.nl/arduino/hardware-interfacing/frequency-period-... [/url] porém jogo dentro do arduino e não compila, mesmo colocando as bibliotecas no lugar, alguém tem um rumo pra mim caminhar ou solução?
Já tentei da 022 até a 1.5 do arduino
Tags:
Wellington, esses carros tem interface OBD?
Através da interface OBD, poderá obter todos dados do carro, inclusive RPM.
Todo sistema de injeção (ECU) tem uma entrada com o sinal do sensor de RPM.
Terá que descobrir através de manuais ou diagramas.
Então, ele não usa a injeção original, usa apenas a Fueltech ela não tem OBD
Achei esses documentos bem interessantes sobre eletronica de carros:
http://www.autoshop101.com/techarticles/technicalarticles.html
Sensores de velocidade:
http://www.autoshop101.com/forms/h36.pdf
Ignição/distribuição:
http://www.autoshop101.com/forms/h41.pdf
Dados seriais OBD:
Documentação muito show essa que enviou, vou fazer uns estudos em cima dela
Wellington, achei um diagrama de uma ECU (engine control unit) ou centralina (módulo de injeção eletrônica);
Veja que toda centralina, tem conexão com sensor de rotação do motor (Crankshaft position sensor).
http://en.wikipedia.org/wiki/Crankshaft_position_sensor
Não sei qual o carro que esta usando, mas os sensores atuais usam chaves de efeito Hall.
Elas fecham o circuito quando um imã passa por perto.
Com esse sensor poderá fazer a leitura de RPM do motor.
Boa tarde, José Gustavo, eu fiz a marcação no ponto que quero extrair a leitura do RPM do motor ali no bico de injeção numero 1, ali esta indo em torno de 2V porém não consigo ler, a injeção que estou usando é esta aqui
Na pagina 25 do manual tem o diagrama do chicote, tentei ler por 2 locais o pino 4 que é um sinal de rotação e também pelo 12 que é o negativo dos bicos injetores, no arduino, ao colocar ele gera uns valores que não corresponde a nada, tentei ler usando http://www.pjrc.com/teensy/td_libs_FreqMeasure.html e o FreqCount e não consegui,
Esse carro não tem hall
Wellington , legal esse manual do módulo de injeção.
Muito cuidado com as altas tensões na bobina (o choque pode ser letal)!
Primeiro ponto, recomendo que use somente o PINO 4 - sinal de rotação.
O carro usa distribuidor? É um opala?
Se for distribuidor antigo, realmente não deve ter chave de efeito hall.
Será que usa sensor indutivo(bobina)? Então o pulso deve ser pequeno e precisará ser amplificado. Meça a resistência do sensor com multimetro.
Ou o distribuidor usa platinado (muito antigo)?
Imagino que não tenha osciloscópio para verificar a forma de onda.
Me responda que tipo de sensor usa o distribuidor e depois enviarei um circuito adequado.
Veja o que achei:
http://www.fueltech.com.br/materias-tecnicas/captando-sinal-de-rota...
José Gustavo, o carro é um GOL 1.8 AP com distribuidor de 3 fios, estou usando o PINO 4 que retirei do chicote da Fueltech,
Eu medi a voltagem do pino e fica em torno de 2.30V
Não tenho ociloscópio :(
O meu sistema esta nesta foto, mais acima a injeção e abaixo o meu datalogger
Aqui esta uma captura da porta analógica do arduino, os valores que estão sendo lidos, fiz no formato CSV (comma-separated values)
A divisão das colunas são:
EX:
53 Tempo, 0 % Acelerador, 65 Sensor MAP, 66 Temperatura, 669 Lambda, 1023 Sensor de Rotação, 701 Bico injetor, 0 Reserva1, 0 Reserva2
53;0;65;66;669;1023;701;0;;0
Os 5 primeiros valores estão identificados ok, sem problema, o problema é o 1023 (PINO4) e o 701 (PINO 12) que não consigo fazer corresponder com nada, do carro
Note o comportamento dele.....
a primeira coluna estou usando o tempo = millis(); / 100
53;0;65;66;669;1023;701;0;;0
55;17;30;66;650;0;0;0;;0
57;14;37;66;801;1023;705;0;;0
59;10;43;66;832;1023;706;0;;0
61;13;49;66;844;1023;707;0;;0
63;0;60;66;848;1023;705;0;;0
65;0;71;66;852;1023;0;0;;0
67;2;73;66;817;0;0;0;;0
69;2;64;67;834;0;0;0;;0
71;7;60;66;879;1023;702;0;;0
73;17;41;66;866;1023;705;0;;0
75;9;55;66;859;1023;707;0;;0
77;19;51;66;857;1023;707;0;;0
79;19;54;66;819;0;0;0;;0
81;6;63;66;835;0;0;0;;0
83;15;61;66;843;0;0;0;;0
85;4;65;66;847;0;0;0;;0
88;5;68;66;849;0;0;0;;0
92;6;61;66;875;1023;706;0;;0
94;11;56;66;844;1023;707;0;;0
96;11;54;66;854;1023;706;0;;0
98;0;64;66;855;1023;706;0;;0
100;0;72;66;856;1023;708;0;;0
102;0;72;66;857;1023;707;0;;0
104;0;67;66;857;1023;720;0;;0
107;0;63;66;857;1023;798;0;;0
109;0;61;66;857;1023;821;0;;0
111;9;47;66;856;1023;803;0;;0
113;10;40;66;857;1023;827;0;;0
115;10;44;66;854;1023;703;0;;0
117;10;48;66;819;0;0;0;;0
119;10;54;66;833;0;0;0;;0
121;0;66;66;878;1023;706;0;;0
123;1;74;65;832;2;0;0;;0
125;40;45;66;878;1023;709;0;;0
127;15;53;65;831;0;0;0;;0
129;17;46;65;877;1023;707;0;;0
131;7;62;66;864;1023;707;0;;0
133;4;68;66;859;1023;707;0;;0
135;5;67;66;857;1023;707;0;;0
137;0;66;66;856;1023;707;0;;0
139;0;73;66;855;1023;707;0;;0
141;0;72;66;855;1023;708;0;;0
143;0;69;66;854;1023;707;0;;0
145;0;64;66;819;0;91;0;;0
147;0;63;66;870;1023;713;0;;0
149;0;64;66;860;1023;728;0;;0
151;0;64;66;857;1023;749;0;;0
153;0;64;66;855;1023;714;0;;0
155;0;66;66;817;0;10;0;;0
157;0;67;66;870;1023;707;0;;0
160;4;66;66;825;0;0;0;;0
162;23;35;66;873;1023;0;0;;0
164;15;52;66;858;1023;706;0;;0
166;15;48;66;820;0;0;0;;0
168;9;61;66;871;1023;708;0;;0
170;17;53;66;861;1023;708;0;;0
172;6;61;66;856;1023;707;0;;0
174;6;65;66;854;1023;707;0;;0
176;6;67;66;851;1023;707;0;;0
178;6;68;66;851;1023;707;0;;0
180;7;69;66;815;1;0;0;;0
182;6;69;66;867;1023;707;0;;0
184;6;69;66;821;0;0;0;;0
186;8;66;66;870;1023;707;0;;0
188;8;64;66;859;1023;707;0;;0
190;8;65;66;819;0;0;0;;0
192;8;65;66;832;0;0;0;;0
194;8;64;66;841;1;0;0;;0
196;8;63;66;878;1023;707;0;;0
198;8;63;66;826;0;0;0;;0
200;8;61;66;837;0;0;0;;0
isso ai,
Wellington , andei pesquisando no Google, o esquema da centralina do Gol 1.8 AP.
Achei esses diagramas :
http://correntecontinuaautomotiva.blogspot.com.br/2013/06/sistema-e...
Nesse outro link, veja que ele informa que o sensor de rotação é HALL.
Veja que o pino 3 é o terra, provavelmente o pino 1 é a alimentação e o pino2 (do meio) é o sinal de rotação.Meça a tensão no Pino1 ( deve ser 12V ou 5V).
Me informe essa medição.
O que pode estar acontecendo é que o sinal pode estar saturando a entrada do Arduino, ou então o sinal é muito baixo para o Arduino. Como disse, você mede aproximadamente 2 V no sensor .
http://www.preparados.com.br/topic/38485-esquema-eletrico-de-instal...
Veja esse teste do sensor : (é um sensor Hall e usa 12V) .
http://r19club.com/ignicao/testar-sensor-de-rotacao/
Veja esse circuito para capturar sensor Hall 12V:
http://openenergymonitor.blogspot.com.br/2009/09/hall-effect-sensor...
Não sei se esse circuito é seguro. Teste o circuito antes de conectar no Arduino.
Se injetar 12V nop Arduino poderá queimar a entrada.
Achei um circuito bacana!
http://www.bristolwatch.com/hall_effect/ratiometric_hall_effect.htm
Eu conheço esse LM311 - é um comparador que vai atender a sua necessidade.
Na saida do led poderia colocar um optoacoplador para isolar o circuito do sensor com o circuito do Arduino.
José Gustavo, primeiro gostaria de agradecer o empenho para me ajudar, esta sendo madrugadas procurando, compilando código e indo no carro dando partidas, 3, 4 horas da manha para fazer testes e nada.... porém ninguem falou que iria ser fácil né? rsrsrs
Então, o meu carro não usa essa central de injeção, ela esta usando a FUELTECH aquela que mandei o manual, por isso os dados tem que ser adquiridos dela, pois ela comanda tudo, ponto de ignição bicos e etc...
Mais o sinal do HALL é justamente de onde estou tentando tirar, está na página 26 no item 8.3 Ligação do Distribuidor HALL
Tem uma coisa que esta me intrigando, o carro na Lenta em 1000RPM dá 16 voltas por segundo, o arduino tem capacidade de fazer essas leituras? e se tiver em 8000RPM vai rodar em 133,3 x em 1 segundo, no log ele retorna 6 leituras em 1 segundo, não é por isso que não consigo ler será?
Conforme o LOG que enviei acima, na 6 coluna ele fica hora 0 e hora 1023 então ele esta lendo isso, porém não pega todos intervalos, ele é capaz?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por