Bom dia/tarde pessoal!

Seguinte, sempre utilizei o Arduino como hobby, medir umas coisas aqui, mostrar outras ali. Porém agora comecei a fazer meu TCC utilizando este, mas sem muito conhecimento em eletrônica fica complicado.

O trabalho é esse: preciso monitorar os dados do RPM do motor e da velocidade do eixo das rodas. A forma não importa, porém eu necessito que a precisão seja razoável. 

1 - Pesquisei sobre utilizar a ECU para monitorar essas grandezas, porém achei pouco conteúdo sobre. E boa parte destes falando que não obtiveram sucesso com as medições, dessa forma, levando em consideração o preço do shield, desisti.

2 - Li sobre utilizar o sinal do Pino W dos alternadores, já que estes produzem pulsos elétricos baseados na rotação do motor. Porém, considerando as condições dos elementos de transmissão, este tipo de sinal pode ser bem impreciso, então resolvi tentar outro método.

3 - Pretendo fazer a medição desse sinal diretamente dos tacômetros presentes no veículo. Olhei alguns modelos do tipo e vi que estes tem esses sensores antes e depois da transmissão, o que seria ideal para fazer as medições. Porém, pesquisando mais sobre vi que tem uma gama de sensores do tipo, como os de efeito Hall, os indutivos e os capacitivos. 

Sobre os sensores Hall, vi que estes geram pulsos elétricos no formato de onda quadrada. Dessa forma, creio que seja fácil interpretar e os dados, definindo os níveis lógicos do Arduino para 0 e 1, criando um sketch com interrupções, cronometrando o tempo entre cada interrupção, e assim calculando o valor do RPM. Fiz um esquema com imãs e um sensor Hall e os resultados foram excelentes.

Porém, lendo mais sobre os sensores indutivos, descobri que eles geram um pulso quando detectam a presença da roda dentada, porém, o sinal gerado se comporta como uma onda senoidal com a amplitude variável de acordo com a rotação do veículo, não permitindo que eu defina os níveis lógicos para o controlador saber quando as interrupções deverão ser usadas, além de gerar corrente alternada, que pode danificar o Arduino.

Considerando que minhas oportunidades de medição são muito limitadas, pois dependo de uma oficina mecânica, gostaria de saber de vocês:

1 - Qual o melhor modo de fazer esse tipo de leitura? ECU? Sinal do sensor? 

2 - Caso o sensor seja do tipo Indutivo, o sinal será do tipo analógico, certo? Caso sim, eu consigo monitorar o tempo entre dois sinais para transformar para RPM?

3 - Estes sensores costumam ler os sinais gerados por uma roda dentada. Fazendo uma conta superficial, uma roda possui em torno de 60 dentes. O motor gira até 3000 RPM. Dessa forma, os sensores podem emitir 60*3000/60 = 3000 pulsos por segundo, 3000Hz. O Arduino é capaz de processar dados nessa velocidade de transmissão?

Obrigado a todos!

Exibições: 2516

Responder esta

Respostas a este tópico

Boa noite,

1) Método recomendado por mim - coletar os dados da ECU. Qual é ECU, qual é o automóvel? 

2) Também não sei se capturar o RPM através do Alternador é um método preciso. Você poderia informar por que acha que não é preciso?

3) Informe qual tacômetro é usado. O Tacômetro mede RPM também ? Sei que ele é usado para medir velocidade. Não existe uma relação entre RPM e velocidade. 

Se o seu  motor Diesel tem ECU , ele já possui sensor HALL de rotação do motor. Favor informar se você tem o diagrama elétrico do automóvel em questão. 

Perguntas :

1) eu acho o melhor método, através da leitura dos dados da ECU. A segunda opção seria a leitura do sensor de RPM do carro. Mas cuidado ! Qualquer anomalia nesse circuito poderá trazer consequências imprevisíveis para o motor. 

2) Carros modernos usam somente sensor Hall . Qual o ano de fabricação do seu carro ?

3) A roda dentada tem somente 60 dentes ? O Arduino consegue medir sinais com frequências de até MHZ. Creio que possa ter um precisão razoável para medir 3 KHz. Talvez tenha que usar algum filtro digital para pegar uma média de valores. 

Boa tarde, José!


Sobre suas sugestões:

1) Pq utilizar a ECU? E para isso, qual shield vc recomenda? Eu consigo fazer isso utilizando o Arduino mesmo???

Conversei com o mecânico hoje, e ele me disse que talvez usemos um: "VW 26.260 CONSTELLATION CTT".

2) Segundo o mecânico é devido à patinagem das correias que transferem potência do motor para o alternador.

3) Exato, o tacômetro mede somente velocidade angular, ou seja, RPM. Sabendo das relações de raio, e nesse caso transmissão, pode-se saber a velocidade.

Quantos às perguntas

2) Segundo o rapaz que me atendeu, o veículo foi fabricado a partir de 2010. Segundo ele, o sensor é do tipo Hall de 4 pinos. Estou pesquisando agora na internet e não achei nada sobre. Todos os sensores do tipo que usei possuiam um pino para o positivo, um negativo e um de sinal. O sr sabe qual a diferença deste com 4 fios?

3) Até onde sei, sim. Porém me falaram que este veículo que faremos a medição funciona com um sistema chamado roda fônica, onde a taxa de pulso/rotação é de 1:1.

Boa tarde, 

1) OK , modulo ECU VW 26.260 CONSTELLATION CTT". Não conheço. Tem alguma documentação sobre ele ? Existem interfaces OBD para módulos de injeção para gasolina. Para Diesel não sei qual a interface que usa, mas talvez seja OBD também. 

https://www.canaldapeca.com.br/blog/o-que-e-obd-ii/

2) Medição de RPM através do alternador - OK, descartada

3)  "Exato, o tacômetro mede somente velocidade angular, ou seja, RPM. Sabendo das relações de raio, e nesse caso transmissão, pode-se saber a velocidade".

 - Você quer medir RPM do motor, não ?? O RPM que citou é das rodas. 

Perguntas :

2) Qual é o veículo ?? Você não informou. Tem o diagrama elétrico do veículo ?

3) Sim o nome é roda fônica mesmo. Esta correto , é um pulso por rotação. 

Se não der informações detalhadas, ficará difícil para eu tentar ajuda-lo...

Eu não encontrei nada sobre esquemas elétricos, conversando com o mecânico ele disse que lá poderíamos ter acesso ao catálogo ETKA... mas acredito que seja somente mecânico.


Eu li muito sobre essas OBDII... será que eu consigo salvar os dados coletados no meu próprio smart fone com a ELM327? Vi alguns que usaram ela com o Arduino, mas achei um pouco arriscado... Mas vou continuar pesquisando mais sobre isso... Obrigado pela dica! 

Então... o veículo é o VW 26.260, mas não consegui mais nenhuma informação sobre... nem sobre os sensores... Quarta feira vou fazer a medição preliminar, aí terei mais informações para compartilhar!

Segundo o mecânico, o sensor que preciso "ler" é um sensor Hall de 4 pinos... Pesquisei exaustivamente sobre este hoje, e não encontrei absolutamente NADA! O sr. entende algo sobre este tipo de sensor? Pois até então minha idéia era:

1- Medir as tensões de saída do tensor com o multimetro

2- Caso não fossem maiores que 5V, minha idéia era simplesmente bifurcar o fio do sinal para a porta digital do Arduino e o fio do negativo para a porta GND, certo? Ainda não sei o que este quarto fio altera no sistema.

Novamente, obrigado!

Bom dia pesquisei no google:

VW 26.260 diagrama elétrico e encontrei muita coisa ! 

http://omecanico.com.br/esquema-dos-sensores-do-volkswagen/

https://pt.slideshare.net/paulocesar264/101856639-apresentacaosiste...

Seu caminhão usa a REDE CAN ! Já tem inúmeros sensores e monitoramentos.

Qual é o objetivo do seu projeto ???

Não meça as tensões do sensor Hall com multímetro ! Não vai ajudar muito. O ideal seria com um osciloscópio. 

Obs - existem vários projetos OBD com Arduino...

Boa tarde, José!

Procurei tudo sobre este caminhão, aí chegou na hora da medição e: utilizamos um Scania 420!

E apesar de tanto desespero, deu certo! Desencapei o fio do sensor de velocidade, testei a tensão máxima: 5V.

Enrolei um fio neste, joguei direto à porta analógica do Arduino e aterrei o GND. Percebi que a tensão variava entre 0.33 à 5V. Liguei à porta digital, executei meu script e... Deu certinho. Ruído praticamente nulo, velocidade compatível com a do velocímetro além da curva ser bem suave!

Em breve farei a medição da rotação do motor e compartilho e resultado com o sr!

Obrigado!

Legal. 

Mediu a tensão do sensor de velocidade com o caminhão parado, não é ?

Que bom que usa o nível de 5V . 

Seja cauteloso no sensor de RPM . 

José, problemas! hahaha

Depois de ter tido sucesso para medir a velocidade do veículo, não consegui medir a rotação.

O sinal parece estar cheio de ruídos, e tenho uma hipótese para o que é.

O motor, em velocidade máxima chega a 3000RPM = 50Hz. Me baseando pela roda dentada da velocidade, há 25 dentes na roda fônica. Dessa forma, o sensor geraria 25*50 = 1250Hz.

Para checar a frequência de amostragem, eu programei o arduino para executar e mostrar a função micros() em um loop sem delay, peguei dois valores consecutivos e calculei: T2-T1 = Tm -----> Tm*10^-6 = T-----> 1/T = Fa.

Fiz com vários valores, e a frequência de amostragem, Fa, varia muito pouco em torno de 410Hz apenas.

Será que este não é o problema? Meu Arduíno não consegue ler os sinais dos sensores suficientemente rápido.


Agradeço pela ajuda!

Pedro

Boa tarde Pedro, 

Primeiro passo é entender como o motor do seu caminhão funciona ! 

Tem algum manual do motor ? 

"O motor, em velocidade máxima chega a 3000RPM = 50Hz. Me baseando pela roda dentada da velocidade, há 25 dentes na roda fônica. Dessa forma, o sensor geraria 25*50 = 1250Hz."

Sugiro que use um analisador lógico para verificar os pulsos. O sensor de RPM também funciona com 5 volts? 

RPM maximo = 3000 

RPS = RPM / 60 = 3000 / 60 = 50 pps (pulsos por segundo).

Você havia dito que a roda fônica tem 25 dentes. Envie uma foto dessa roda fônica. 

Deve ter um espaçamento maior na posição de referência do motor. (tempo ZERO).

Nos motores a gasolina é assim :

http://www.autoentusiastasclassic.com.br/2011/10/matemagica-da-roda...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço