Sensores hall num volante

Forum dedicado a Joysticks, HOTAS, Track-Ir, Freetrack, contrôles e cockpit's tipo "faça você mesmo", etc.
Post Reply
User avatar
11_Aerroc
Manicaca
Manicaca
Posts: 532
Joined: 21 Apr 2003 21:00
Location: Joinville/SC

Sensores hall num volante

Post by 11_Aerroc »

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 :D
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)
Image

Image

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ã.
Image

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 :$ :D )
- Que eu recorde agora, é só isso :tmi: :D


Abraços!!!
Aerroc
Light as air, hard as rock!
User avatar
07_Phantom
Veterano
Veterano
Posts: 6802
Joined: 07 Apr 2003 21:00
Contact:

Re: Sensores hall num volante

Post by 07_Phantom »

Caraca, vou dormir, estou com dor de cabeça! UAhUAhUA

SINISTRO AERROC! Acho que vou passar a colocar no meu cartão que sou seu amigo! :)
SP!
Phantom
User avatar
41_Tche-Loko
Manicaca
Manicaca
Posts: 954
Joined: 18 Mar 2009 21:00
Location: Santa Maria - RS

Re: Sensores hall num volante

Post by 41_Tche-Loko »

11_Aerroc wrote: 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.
Mexer em programa de controlador está fora de minha alçada, mas gostaria muito de aprender. Qual a linguagem de programação que você utiliza no controlador?
'Nao acreditar em si e o principio do fim'
User avatar
44_Santo
Veterano
Veterano
Posts: 4167
Joined: 07 Feb 2009 21:00
Location: São José dos Campos

Re: Sensores hall num volante

Post by 44_Santo »

Puxa! Lendo esses tópicos do Aerroc eu me sinto lendo um desses livros do tipo "Desvendando os sensores Hall". :D

santo.
Senta a Pua!

Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem. 1 Timóteo 2:5
User avatar
11_Aerroc
Manicaca
Manicaca
Posts: 532
Joined: 21 Apr 2003 21:00
Location: Joinville/SC

Re: Sensores hall num volante

Post by 11_Aerroc »

41_Tche-Loko wrote:Mexer em programa de controlador está fora de minha alçada, mas gostaria muito de aprender. Qual a linguagem de programação que você utiliza no controlador?
Tche, eu uso o compilador C18 da Microchip, pois o controlador é o PIC 18F4550.
Santo wrote:Puxa! Lendo esses tópicos do Aerroc eu me sinto lendo um desses livros do tipo "Desvendando os sensores Hall". :D

santo.
:geek: :rofl: :rofl:
Espero que seja útil um dia. :lol:
Aerroc
Light as air, hard as rock!
User avatar
44_Santo
Veterano
Veterano
Posts: 4167
Joined: 07 Feb 2009 21:00
Location: São José dos Campos

Re: Sensores hall num volante

Post by 44_Santo »

Opa! Já está sendo muito útil! :clap:
Eu só me esqueci de agradecer. :P
Muito obrigado Aerroc. :hai:

santo.
Senta a Pua!

Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem. 1 Timóteo 2:5
guilhermebjr

Re: Sensores hall num volante

Post by guilhermebjr »

Bom dia doutores, uma dúvida:
Qual o sensor usado nas fotos acima ?
O Sokol_1 em um tópico aqui havia dito que o SS495A é mais sensível que os allegro 1321
O Leo Bodnar do BU0836A vende o Allegro A1302 e esse cara tem a sensibilidade de 1.3 mV/G
Os sensores lineares hall que lí aqui são estes com suas respectivas medidas, agora, qual é melhor ?
O SS495A 3.125 mV/G
Allegro 1321 5.000 mv/G
Allegro 1322 3.125 mv/G
Allegro 1323 2.500 mv/G
guilhermebjr

Re: Sensores hall num volante

Post by guilhermebjr »

Outra coisa, como faço para ter um joy de 900 graus como um G27 ? Estava pensando no hall sobre um trilho deslizante preso por cabo ao eixo do volante, é o recomendado ou converter um potenciometro resolve ?
Estou montando um mjoy16 e pretendo usar hall na direção, acelerador freio e freio de mão, acredito que a embreagem possa ser um botão só, ou estou errado ?
Att.
User avatar
44_Santo
Veterano
Veterano
Posts: 4167
Joined: 07 Feb 2009 21:00
Location: São José dos Campos

Re: Sensores hall num volante

Post by 44_Santo »

Talvez uma solução mecânica fosse mais fácil, porque como o sistema saberia em qual volta está o seu volante?
Poderia ser mais trabalhoso implementar isso.
Com uma solução mecânica isso talvez fosse mais simples.
Você usaria uma engrenagem ou uma polia.
No eixo do volante ficaria a menor e outra 2,5 vezes maior no eixo onde seria montado o sensor hall.
Sei lá, é uma idéia. :P

santo.
Senta a Pua!

Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem. 1 Timóteo 2:5
21_Sokol1
Veterano
Veterano
Posts: 15493
Joined: 01 Aug 2003 21:00
Location: Uberaba-MG

Re: Sensores hall num volante

Post by 21_Sokol1 »

Acho que, a não ser que voce entenda eletronica (avançada) para projetar e criar soluções como a do autor do tópico, que me parece servir apenas para o controlador que ele usa, que tem um firware especifico - ligar dois HALL da mesma forma num Mjoy16, BU0836 ou similar não vai dar o mesmo resultado, talvez seja melhor investir numa solução pronta, como potenciometro HALL da FREX (U$ 35) que gira 360 graus ou no clássico potenciometro Spectrol 357 ( O L.Bodnar vende).

Mesmo assim, como disse o Santo teria que usar redução para conseguir 360 graus, mas não use engrenagens, devido ao backslash destas, use polias, ex.:, polias e correias em V de maquinas de costura (Singer...).

Ainda não vi implementação de sensor HALL em volantes avançados, a excessão da mostrada aqui e do volante da Gametrix - que é "entry-level", usa sensores MARS num Mjoy personalizado. Já vi alguma coisa com encoders opticos - tipo roda de mouse, se não me engano no Xtremeracers.

Quanto a embreagem acho melhor usar eixo, assim como nos volantes avançados.

Para um volante o Mjoy16 não é uma boa opção, devido a baixa frequencia de operaçao - resultante do MCU e do grande numero de eixos e botões (112). Opte por uma versão do Mjoy(8) com firware do Mercury, com menos eixos e botões, mas trabalhando a 120 mhz.

My 0,02$.

Sokol1
User avatar
11_Aerroc
Manicaca
Manicaca
Posts: 532
Joined: 21 Apr 2003 21:00
Location: Joinville/SC

Re: Sensores hall num volante

Post by 11_Aerroc »

Fala Guilherme!

Então, em relação a qual sensor é melhor, humm, vai depender também do imã que você vai usar. O sensor tem um sinal que vai aproximadamente de 0 a 5V e quando não tem campo magnético o sinal é de 2.5V, então os limites magnéticos (fundo de escala) de cada um destes sensores são diferentes. Eu lhe sugiro o mais sensível (5.000mV/G) e você poderá ajustar a leitura afastando mais ou menos o imã do sensor.

Quanto a ler 900º, não vejo uma forma de fazer somente através da eletrônica, o melhor é usar uma redução através de polias, e então ler um potenciometro ou sensor hall dentro do giro normal. Sugiro usar correia dentada, do tipo que tem nas impressoras jato de tinta, pois se usar correia lisa frequentemente perderá o centro do volante com o centro do potenciometro, então vale a pena tentar encontrar uma.

E se realmente gosta de simuladores de corrida, coloque um eixo na embreagem, e não um botão. :)

Ah, se você tem como gravar um PIC18F e desejar o .hex do programa, fique a vontade para me pedir, pois divulguei aqui justamente para compartilhar com quem tiver interesse ou capacidade de gravar um PIC ;)
Aerroc
Light as air, hard as rock!
guilhermebjr

Re: Sensores hall num volante

Post by guilhermebjr »

11_Aerroc wrote:Fala Guilherme!

Então, em relação a qual sensor é melhor, humm, vai depender também do imã que você vai usar. O sensor tem um sinal que vai aproximadamente de 0 a 5V e quando não tem campo magnético o sinal é de 2.5V, então os limites magnéticos (fundo de escala) de cada um destes sensores são diferentes. Eu lhe sugiro o mais sensível (5.000mV/G) e você poderá ajustar a leitura afastando mais ou menos o imã do sensor.

Quanto a ler 900º, não vejo uma forma de fazer somente através da eletrônica, o melhor é usar uma redução através de polias, e então ler um potenciometro ou sensor hall dentro do giro normal. Sugiro usar correia dentada, do tipo que tem nas impressoras jato de tinta, pois se usar correia lisa frequentemente perderá o centro do volante com o centro do potenciometro, então vale a pena tentar encontrar uma.

E se realmente gosta de simuladores de corrida, coloque um eixo na embreagem, e não um botão. :)

Ah, se você tem como gravar um PIC18F e desejar o .hex do programa, fique a vontade para me pedir, pois divulguei aqui justamente para compartilhar com quem tiver interesse e capacidade de gravar um PIC ;)
Opa galera, muito obrigado pela atenção em me responder, concordo em todos os pontos com a redução por correia.
Penso em usar polias e correia xl , custa R$10 a polia de 10 dentes e os preços continuam baixos, já levantei custos.
Os ímans comprei no delaextreme, são estes :
http://www.dealextreme.com/details.dx/sku.4248
Os sensores to procurando, na farnell não tem mais, já pedi orçamento, mas até agora nada...
Mais uma dúvida:
http://picasaweb.google.com/lh/photo/8s ... directlink
Vi algo parecido mas com o hall no eixo de um manche, neste caso o sensor será movido pela tração de um cabo, mais complicado, sim, mas funcionaria também certo ?
Assim náo preciso rotacionar nenhum íman, e não sei como achar um íman em anel.
Post Reply