Medir campos magnéticos con Arduino y sensor Hall lineal 49E


arduino-sensor-hall-49e

¿Qué es un sensor Hall?

Un sensor Hall es un dispositivo que nos permite realizar mediciones de campo magnético.

Los sensores Hall son ampliamente utilizados. Por ejemplo, en la industria del automóvil se usan para funciones tan dispares como para el accionamiento de los cinturones de seguridad, o la medición de la posición del árbol de levas. También se usan para medir velocidades de fluidos, detección de metales, factores de inducción, entre otras muchas aplicaciones.

Una ventaja importante de los sensores Hall es que realizan la medición a distancia, sin necesidad de contacto físico. Aunque su alcance es limitado (típicamente pocos centímetros) esto supone que apenas presentan desgaste mecánico. Además son inmunes a ruidos y polvo. Esto los convierte en sensores fiables y duraderos.

En general, encontramos dos tipos de sensores Hall:

Anuncio:

  • Analógicos. Generan una salida proporcional a la intensidad del campo magnético. Empleados para medir la intensidad de un campo magnético
  • Digitales. Proporcionan un valor Alto en presencia de campo magnético, y bajo en ausencia del mismo. Por tanto, son empleados para detectar la existencia de campos magnéticos. A su vez se dividen en,
    • Switch, se activan al acercar el polo, y se desactivan al retirar el polo
    • Latch, se activan al acercar un polo, y mantienen su valor hasta que se acerca un polo contrario

En esta entrada emplearemos un sensor Hall 49E, de tipo analógico. Podemos emplear este sensor para detectar la presencia de un objeto, al que previamente habremos colocado un pequeño imán, o para fabricar tacómetros (contadores de revoluciones) simplemente acoplando un pequeño imán de neodimio al eje.

Precio

Los sensores Hall 49E son realmente baratos. Podemos encontrar 10 dispositivos A49E por 0.90€ en vendedores internacionales en eBay o AliExpress.

arduino-sensor-hall-49e-componente

¿Cómo funciona un sensor Hall?

Su principio de funcionamiento es el efecto Hall, denominado así por su descubridor Edwin Herbery Hall, en 1849.

Al hacer circular una corriente eléctrica a lo largo de un semiconductor en presencia de un campo magnético, los electrones son desviados por efecto del campo magnético, dando lugar a una tensión perpendicular a la corriente y al campo magnético.

efecto-hall

Midiendo esta tensión originada por el efecto Hall podemos conseguir construir sensores y medidores de campos magnéticos.

La familia de sensores Hall 49E incorporan la electrónica necesaria para dar una respuesta de tensión lineal en el rango de -100 a 100 mT. Los circuitos están diseñados para minimizar el ruido de la señal, por lo que no es necesario filtrado externo.

arduino-sensor-hall-49e-funcionamiento

El rango operativo de temperaturas es de -40 a 85ºC, y tiene poca influencia en la medición. La sensibilidad típica a 25ºC es de 0.18 mV/mT

arduino-sensor-hall-49e-curva

Interpolando en la gráfica anterior obtenemos la siguiente expresión para la respuesta en tensión respecto al flujo magnético medido por el sensor Hall 49E,

V = 0.0188 \cdot B + 2.5

O equivalentemente, invirtiendo la ecuación, llegamos a la ecuación necesaria para poder obtener la densidad de flujo magnético a partir de la respuesta del sensor,

B = 53.33 \cdot V - 133.3

Esquema de montaje

El esquema eléctrico que necesitamos es el siguiente.

arduino-sensor-hall-49e-esquema

Por lo que el esquema de conexión con Arduino quedaría así.

arduino-sensor-hall-49e-montaje

El esquema y valores de resistencias mostrador corresponden con el sensor 49E. Otros sensores hall requieren otros esquemas de montaje. Consultar su datasheet correspondiente si vuestro componente es distinto.

Ejemplo de código

Para poder calcular el campo magnético a partir de la medición, en primer lugar medimos el voltaje mediante una entrada analógica de Arduino. A continuación convertimos el voltaje en densidad de flujo magnético usando la fórmula que hemos interpolado anteriormente.

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección Tutoriales de Arduino

Aprendemos a medir campos magnéticos con Arduino y el sensor Hall Lineal 49E

Anuncio:

Previous Detector de llama con Arduino y sensor infrarrojo
Next Controla tus proyectos con Arduino y Joystick analógico
1000
9 Comment threads
1 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
8 Comment authors
newest oldest
luisllamas

Del la recta de regresión a partir de la gráfica proporcionada en el DataSheet (está en la entrada, justo encima de la fórmula)

luisllamas

Está fuera del rango de medición, ± 1000 Gauss

lupo

Qué pasaría si en vez de conectarlo a los 5v, lo conecto a los 3.3v? Seguiría funcionando?
Y si lo conecto a los 5v, ¿la salida máxima son los propios 5v o puedo intercalar una resitencia en serie para rebajar la tensión a 3.3v?

Alejandra Ayala

Así podria obtener la lectura de un manómetro analógico con un sensor de efecto hall?

Santy

Hola Luis, gracias por compartir tus conocimientos…
Estoy intentando hacer una veleta con dos de estos sensores, tu publicacion me sera muy util.
Acabo de pedir los sensores a Aliexpress asi que tardaran dos o tres largas semanas.
Por otra parte te importaria pasarme tu theme.txt no encuentro la variable para modificar el color de texto de lo que aparece entre los parentesis de Serial.print(en rojo) por ejemplo.
Gracias.
Haces una labor estupenda.
Att.,
Santy.

Juan

buenos dias, usted me puede informar cual es el sensor que tiene un mayor rango de medida para medir campo magnetico con arduino. muchas gracias.

Galadrio

Necesito un sensor que mida hasta al menos 400-500 mT. 🙁

Alberto

Me interesaría saber que corriente se le puede extraer al A49 por el terminal que entrega el voltaje variable

Jorge Hernández

Se podrá poner esa medición en una pantalla les 16×2 Para saber el monto de la densidad generada? Gracias