BRUJULA DIGITAL DE PRECISION CON

SENSOR DE EFECTO HALL ALLEGRO 1321

POR _PABLO_

Introducción.

El físico Edwin Hall descubrió (por casualidad) el efecto que lleva su nombre en 1879. https://ia801701.us.archive.org/12/items/jstor-2369245/2369245.pdf

El efecto Hall se manifiesta en la tensión transversal que aparece en un conductor cuando está sometido a un campo magnético.
Por ejm,si tenemos un cable conduciendo corriente y le ponemos un voltímetro sensible entre dos puntos transversales,al acercar un imán se podría medir una pequeñísima tensión.

Esto es debido a que los electrones que pasan por el cable se verán desplazados hacia un lado en presencia del imán. Entonces aparece una diferencia de tensión entre esos dos puntos del cable. Al separar el imán, la tensión transversal desaparece.


Para poder medir esta tensión transversal es necesario amplificarla, porque su valor es muy reducido.

En el mercado hay sensores de efecto hall lineales que integran un amplificador y alcanzan sensibilidades de 5 milivoltios / Gauss. Esto sigue siendo muy poca cosa para nuestro propósito,ya que el campo magnético de la tierra, (que es el imán que queremos medir) es tan débil como aprox. 0.5 gauss. Por lo que de la salida del ALLEGRO 1321 sacaríamos una variación máxima entre Norte y Sur de solo 2'5 milivoltios.

Amplificación de la señal.

Es evidente que si queremos convertir esa tension analógica a digital hay que amplificarla bastante.

El Sensor Allegro 1321 entrega por su pin "OUT" 2,5 voltios cuando está en estado de reposo,sin la presencia de campo magnético.

Ante la presencia del polo Norte de un imán, la salida variará proporcionalmente de 2,5v hacia arriba y si le damos la vuelta al iman, enfrentandolo al polo Sur, la salida bajará de 2,5v lo mismo en sentido contrario.

Aprovechando esto y para aumentar la sensibilidad al doble (que falta hace) he montado dos sensores opuestos,uno enfrentado a otro,

Si le acerco al montaje el polo Norte del iman, uno sube digamos 1v por encima de 2.5 y el otro bajará 1v por debajo de 2,5: tenemos que un sensor entrega 3,5v y el otro 1,5 ,si entonces pongo un voltímetro entre sus dos salidas "OUT" tengo una diferencia sumada de 2v:

Con esto logro multiplicar la sensibilidad por 2: ahora 1 gauss serán 10 milivoltios y el campo magnético de la Tierra producirá 5 milivoltios.
Todavía muy poca cosa para atacar un conversor Analogico/digital.

Hay que amplificar esta tensión mucho.
Para estas aplicaciones "pofesionales" olvídate de los amplificadores operacionales de andar por casa,tipo LM358.

Meten demasiado ruido y no son "rail to rail" ,lo que quiere decir que no entregan por su salida una tensión máxima de 5v y minima de 0, sino que su "rango dinámico" es bastante menor ,de unos 1'2v a 4'5v. Por lo que al atacar esta tension a un conversor A/D, estamos muy limitados a esa ventanita de 3 voltios y pico.

Por eso usamos el amplificador de instrumentación INA122 ,de muy bajo ruido y "rail to rail" pata negra.
Este chip de precisión se suele usar para amplificar las mínimas tensiones corporales para electrocardiogramas y encefalogramas.Es muy facil de montar ya que sólo necesita una resistencia externa para decirle que ganancia necesitamos.

Miramos la hoja técnica y nos dá esta formula para saber que resistencia poner (R) para lograr la ganancia deseada:

(200.000 / R)+5 = ganancia

con una resistencia de 360 ohm se consigue una amplificación de 560 veces la tension entrante.
Por lo que los 5 milivoltios del campo magnético terrestre sacarían 2'8 voltios por el pin "OUT" del INA122.
Con estas ganancias el ruido es considerable y hay que filtrarlo con los condensadores correspondientes para hacer algo legible.
El origen de este ruido captado por los sensores Hall es también es muy interesante,algunos dicen que los rayos cósmicos y otros que pura fluctuación cuántica.Yo que sé,esto es para otro tema.

Conversión Analógico a Digital.

En un conversor A/D de 10 bits (1023 puntos de resolucion) con la tensión de referencia de 5 voltios, la salida de 2,8v del INA122 equivale a una variación de 572 puntos.Ya se puede hacer algo con esto.Al girar 360º varias veces el montaje se obtiene una gráfica así:

Fíjate que es una función SENO.

Con un sensor solamente tenemos una coordenada: la X ,o el seno. Tenemos que poner otro sensor cruzado a 90 grados para que nos dé la Y (el coseno)

Ahora dos sensores cruzados.Si giramos el montaje varias vueltas completas de 360 grados ,nos saca dos gráficas como estas:

El desfase entre ambas gráficas coincide con los 90º.

Interpolando ambas medidas X,Y y girando el montaje 360 grados, tenemos una bonita gráfica de puntos como esta:

PSET (x,y)

Un círculo perfecto,función de el seno y el coseno generados por el campo magnético terrestre. Quede claro que las imperfecciones que se ven son debidas a movimientos míos y toques con el dedo en el circuito.

Las señales tienen una amplitud de 572 puntos,con esto podemos calcular la precisión que tendrá nuestra brújula así:

572 x 3.1416 = 1796 puntos de circunferencia total del círculo, 360 grados/1796 puntos = 0,2 grados de resolución

(Muy bien ¿no?)

Ecuaciones para obtener el ángulo.

Ahora unas ecuaciones con ArcoTangeNte para obtener de esta gráfica circular un angulo entre 0 y 360 grados:

' ------(volts es el eje X , volts1 es el eje Y)----

If volts = 0 And volts1 > 0 Then angulo = 270
If volts = 0 And volts1 < 0 Then angulo = 90
If volts > 0 And volts1 > 0 Then angulo = 360 - (Atn(volts1 / volts) * (180 / 3.1416))
If volts > 0 And volts1 < 0 Then angulo = -(Atn(volts1 / volts) * (180 / 3.1416))
If volts < 0 Then angulo = 180 - (Atn(volts1 / volts) * (180 / 3.1416))

print angulo

'-------------------------------------------------

Atención:
Para que esto funcione, hay que ajustar el centro del "círculo" en las coordenadas 0,0 . Esto puedes hacerlo simplemente restando o sumando el valor adecuado a X e Y en el programa.

Ya tenemos una bonita lectura digital en grados,con una precisión mayor de 1 grado.

Ahora,el interface para presentar esto puede ser muy variado,así tipo aviación:

 

O si disponemos de una pantalla de texto (un LCD por ejm) así:

 

Lista de materiales y esquemas.

Los sensores hall se pueden comprar en Farnell y te los envían a casa. En este enlace está la referencia.

4 Sensores Hall Allegro 1321
2 integrados INA122
4 resistencias 47 kohm
2 resistencias 360 ohm
2 condensadores 4'7 uF
1 condensador 100 nF

Pinchar en la imagen para ver esquemas:

 

Saludos y buena orientación!

Si este documento te ha servido para algo,agradezco una pequeña mención,y un saludo por email.

_Pablo_ 17-Mayo-2009 perropinto@ya.com

eXTReMe Tracker