Sensores hall num volante
Posted: 26 Jun 2010 22:56
Eu tinha um volante bem Ching Ling e resolvi fazer algumas alterações.
Compartilho com vocês as experiências...
A princípio o firmware dele tinha uma deadzone gigante e não configurável que me atrapalhava, parecia direção de Kombi
E por fim o potenciômetro dele foi pra 'terra dos pés juntos'.
Enfim, resolvi colocar sensor hall.
Mas para instalar no volante há dois empecilhos:
- a não-linearidade em giros maiores de 90°
- e medir mais de 180°, pois seguindo os princípios citados aqui, a resposta para a posição +89° é igual a resposta da posição +91°, pois seno(89°) é igual a seno(91°).
Solução: dois sensores hall dispostos 90° um do outro e relação dos senos
(explico melhor logo abaixo)


Pois se o sinal de um sensor (Sensor1) é igual a seno do ângulo do imã, então se instalar outro sensor (Sensor2) a 90° o resultado deste segundo será igual a cosseno do ângulo do imã.

E a trigonometria ajuda no resto, pois a tangente de 'a' é igual ao seno de 'a' dividido pelo cosseno de 'a'
tangente(a) = seno(a)/cosseno(a)
portanto
a = arco-tangente( seno(a) / cosseno(a) )
ou seja,
Sensor1 = seno do ângulo do imã
Sensor2 = cosseno do ângulo do imã
ângulo do imã = arco-tangente( Sensor1 / Sensor2 )
Em resumo, fiz a montagem que está na foto acima e alterei o programa do meu controlador para, entre outras coisas, resumidamente fazer o cálculo que está em negrito acima, com isso obtive uma medição perfeitamente linear e de 360° completos.
Considerações:
- Os sensores devem estar perfeitamente a 90° um do outro;
- Os sinais dos dois sensores devem ser perfeitamente idênticos (claro que há uma diferença de 90°, ou seja, o sinal de um sensor na posição 0° é idêntico ao sinal do outro sensor quando está na posição 90°). Isso dá um bom trabalho na montagem. O pedaço de metal visto na foto foi colocado para ajudar neste ajuste;
- O uso de imã em anel é obrigatório, pois só assim é possível ter a montagem dos dois sensores a 90° e não variar o campo magnético nos sensores (varia somente o ângulo, a distância entre o imã e o sensor é sempre constante);
- Para este conceito, o imã usado não pode dar overflow no sensor, ou seja, os sensores devem dar a maior variação possível, mas sem atingir e ultrapassar as tensões de 0.2V e 4.7V, caso contrário o sensor não conseguirá medir a senoide completa com as posições -90° e +90°.
- Para que o programa funcione em outras montagens (que certamente terão níveis de sinais diferentes), criei uma rotina de auto ajuste (dos níveis mínimo e máximo de leitura dos sensores), portanto, toda vez que ele for ligado será necessário girar o volante pelo menos 180°. Eu poderia fazer de outras formas melhores, mas fiz assim para testar, e acabou ficando (foi preguiça mesmo
)
- Que eu recorde agora, é só isso
Abraços!!!
Compartilho com vocês as experiências...
A princípio o firmware dele tinha uma deadzone gigante e não configurável que me atrapalhava, parecia direção de Kombi

E por fim o potenciômetro dele foi pra 'terra dos pés juntos'.
Enfim, resolvi colocar sensor hall.
Mas para instalar no volante há dois empecilhos:
- a não-linearidade em giros maiores de 90°
- e medir mais de 180°, pois seguindo os princípios citados aqui, a resposta para a posição +89° é igual a resposta da posição +91°, pois seno(89°) é igual a seno(91°).
Solução: dois sensores hall dispostos 90° um do outro e relação dos senos
(explico melhor logo abaixo)


Pois se o sinal de um sensor (Sensor1) é igual a seno do ângulo do imã, então se instalar outro sensor (Sensor2) a 90° o resultado deste segundo será igual a cosseno do ângulo do imã.

E a trigonometria ajuda no resto, pois a tangente de 'a' é igual ao seno de 'a' dividido pelo cosseno de 'a'
tangente(a) = seno(a)/cosseno(a)
portanto
a = arco-tangente( seno(a) / cosseno(a) )
ou seja,
Sensor1 = seno do ângulo do imã
Sensor2 = cosseno do ângulo do imã
ângulo do imã = arco-tangente( Sensor1 / Sensor2 )
Em resumo, fiz a montagem que está na foto acima e alterei o programa do meu controlador para, entre outras coisas, resumidamente fazer o cálculo que está em negrito acima, com isso obtive uma medição perfeitamente linear e de 360° completos.
Considerações:
- Os sensores devem estar perfeitamente a 90° um do outro;
- Os sinais dos dois sensores devem ser perfeitamente idênticos (claro que há uma diferença de 90°, ou seja, o sinal de um sensor na posição 0° é idêntico ao sinal do outro sensor quando está na posição 90°). Isso dá um bom trabalho na montagem. O pedaço de metal visto na foto foi colocado para ajudar neste ajuste;
- O uso de imã em anel é obrigatório, pois só assim é possível ter a montagem dos dois sensores a 90° e não variar o campo magnético nos sensores (varia somente o ângulo, a distância entre o imã e o sensor é sempre constante);
- Para este conceito, o imã usado não pode dar overflow no sensor, ou seja, os sensores devem dar a maior variação possível, mas sem atingir e ultrapassar as tensões de 0.2V e 4.7V, caso contrário o sensor não conseguirá medir a senoide completa com as posições -90° e +90°.
- Para que o programa funcione em outras montagens (que certamente terão níveis de sinais diferentes), criei uma rotina de auto ajuste (dos níveis mínimo e máximo de leitura dos sensores), portanto, toda vez que ele for ligado será necessário girar o volante pelo menos 180°. Eu poderia fazer de outras formas melhores, mas fiz assim para testar, e acabou ficando (foi preguiça mesmo


- Que eu recorde agora, é só isso


Abraços!!!