detector-de-metales-con-arduino-y-sensor-inductivo

Detector de metales con Arduino y sensor inductivo

¿Qué es un sensor inductivo?

Un sensor inductivo es un sensor de proximidad diseñado para detectar objetos metálicos. Podemos emplear conectar fácilmente este tipo de sensores a un autómata o procesador como Arduino.

Internamente estos sensores disponen de un generador de campo magnético y en una bobina inductora que detecta el campo generado por el propio sensor.

La presencia de un objeto metálico modifica el campo inducido. Al tener una menor resistencia magnética (reluctancia) el campo magnético se “alarga”, incrementando la corriente inducida en la bobina sensora.

Esta campo es detectado por la electrónica del sensor, cuya salida se activa cuando un metal es detectado. Como el sensor tiene dos estados, en ocasiones a estos dispositivos se les denomina interruptores inductivos de proximidad.

arduino-sensor-inductivo-funcionamiento

Existen sensores normalmente abiertos (NO), cuya señal es LOW cuando no se detecta objeto, y normalmente cerrados (NC) cuya señal es HIGH cuando no se detecta objeto.

El rango de detección depende del metal detectado, pero en general, no excede de los milímetros. Los metales ferríticos (como el hierro y el acero) permiten rangos de medición más amplios. Por contra, los metales no ferríticos (aluminio, cobre) pueden reducir la distancia a un 60%.

Los sensores inductivos tienen la ventaja de que no necesitan contacto para detectar el objeto metálico. Además, operan hasta tapados por otro material (como un embellecedor plástico, por ejemplo). Finalmente, son sensores robustos en ambientes industriales en presencia de suciedad y polvo.

Estos dispositivos son ampliamente empleados en automatizaciones industriales para detectar la existencia de una pieza en una estación. También son empleados en elevadores, detección de vehículos. En construcción son empleados para detección de tuberías o clavos. Finalmente, sensores similares, pero mucho más potentes, son empleados en arcos de seguridad o en aplicaciones militares como detección de minas.

Nosotros podemos emplear estos sensores en nuestros proyectos de Arduino, por ejemplo, para detectar un objeto, un obstáculo, el cierre de una puerta, detectar un objeto encima de una mesa, entre otros.

Precio

Los sensores inductivos están disponibles en un amplio rango de precios. Dentro de los más baratos tenemos, por ejemplo, el LJ12A3-4-Z/BY. Podemos encontrarlo por 2.10€, buscando en vendedores internacionales de eBay o AliExpress.

  • Distancia detección: 4mm

  • Voltaje de alimentación: DC6-36V

  • Corriente salida: 300 mA

  • Frecuencia: 100Hz

  • Diámetro del sensor: 12mm

arduino-sensor-inductivo-componente

Esquema de montaje

Los sensores inductivos generalmente tienen 3 o 4 conductores codificados por colores. Normalmente incorporan una etiqueta en el propio sensor que indica el esquema de conexión.

El sensor inductivo que vamos a emplear LJ12A3-4-Z/BY. El cable azul (BU) es Gnd, el marrón (BN) es Vcc, y el negro (BK) es la salida del sensor.

Para conectarlo a Arduino, alimentamos el sensor conectando el cable azul y marrón, respectivamente, a Gnd y 5V de Arduino.

arduino-sensor-inductivo-esquema

Por último, conectamos el conductor negro a una entrada digital cualquiera de Arduino. La conexión, vista desde Arduino, sería la siguiente.

arduino-sensor-inductivo-conexion

Ejemplos de código

El código necesario es muy sencillo, simplemente empleamos una una entrada digital para leer el estado. En el ejemplo mostramos un mensaje por la puerto serie, pero en un caso real ejecutaríamos las acciones oportunas.

const int sensorPin = 9;

void setup()
{
   Serial.begin(9600);
}

void loop()
{
   bool state = digitalRead(sensorPin);

   //mandar mensaje a puerto serie en función del valor leido
   if (state == HIGH)
   {
      Serial.println("Detección");   
      //aquí se ejecutarían las acciones
   }
   delay(1000);
}

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github. github-full