Para conectar un sensor inductivo a un microcontrolador es necesario implementar un circuito y realizar diferentes cálculos para obtener una salida de voltaje necesaria para que el microcontrolador detecte el nivel lógico alto y bajo.
¿Que es un sensor inductivo?
Un sensor inductivo es un dispositivo utilizado para detectar la presencia o la proximidad de objetos metálicos. Funciona utilizando el principio de la inducción electromagnética y se basa en la capacidad de los objetos metálicos para afectar el campo electromagnético alrededor del sensor.Â
Descripción básica de cómo funciona un sensor inductivo:
Bobina inductora: El componente principal de un sensor inductivo es una bobina de alambre enrollada en un núcleo ferromagnético. Esta bobina se conecta a un circuito oscilador, que genera una señal de alta frecuencia, generalmente en el rango de kilohertz (kHz) a megahertz (MHz).
Campo electromagnético: Cuando el circuito oscilador está activado, la bobina inductora genera un campo electromagnético a su alrededor. Este campo se expande desde la bobina y es parte fundamental del funcionamiento del sensor.
Interacción con objetos metálicos: Cuando un objeto metálico se acerca al sensor inductivo y entra en su campo electromagnético, ocurre una interacción. La presencia del objeto metálico altera las lÃneas del campo electromagnético.
Cambio en la inductancia: La alteración en el campo electromagnético afecta la inductancia de la bobina inductora. La inductancia es una propiedad que describe la capacidad de una bobina para almacenar energÃa en forma de campo magnético. Cuando un objeto metálico entra en el campo, la inductancia de la bobina cambia.
Detección: El sensor inductivo está diseñado para detectar estos cambios en la inductancia. Cuando se produce una alteración significativa en la inductancia debido a la presencia de un objeto metálico, el sensor detecta esta variación y activa una señal de salida.
Salida del sensor: La señal de salida puede tomar diferentes formas, según el diseño del sensor y su aplicación. Puede ser una señal eléctrica digital (por ejemplo, un voltaje alto o bajo), una señal analógica proporcional a la distancia del objeto metálico o una señal de conmutación que indica la presencia o ausencia del objeto.
Sensor normalmente abierto (NO)Â
Un sensor inductivo normalmente abierto es un tipo de sensor inductivo que tiene un estado predeterminado en el que su salida eléctrica está abierta o desconectada (no conduce) cuando no detecta un objeto metálico en su proximidad. Cuando un objeto metálico se acerca lo suficiente al sensor y entra en su campo de detección, el sensor cambia su estado y cierra su salida eléctrica (conduce).
Sensor normalmente cerrado (NC)Â
Un sensor inductivo normalmente cerrado es un tipo de sensor inductivo que tiene un estado predeterminado en el cual su salida eléctrica está cerrada o conduciendo corriente eléctrica cuando no detecta un objeto metálico en su proximidad. Cuando un objeto metálico se acerca lo suficiente al sensor y entra en su campo de detección, el sensor cambia su estado y abre su salida eléctrica, interrumpiendo el flujo de corriente eléctrica.
Sensor inductivo PNP
Los sensores inductivos PNP tienen una salida PNP, lo que significa que la salida del sensor se conecta al polo positivo de una fuente de alimentación (V+). Cuando se activa el sensor (por ejemplo, cuando detecta un objeto metálico), la salida se conecta eléctricamente al polo positivo (V+), lo que genera un flujo de corriente eléctrica. En otras palabras, la salida del sensor se cierra para indicar la detección.
Sensor inductivo NPN
Los sensores inductivos NPN tienen una salida NPN, lo que significa que la salida del sensor se conecta al polo negativo de una fuente de alimentación (0V o tierra). Cuando se activa el sensor (detecta un objeto metálico), la salida se conecta eléctricamente al polo negativo, permitiendo que fluya la corriente eléctrica hacia la tierra. En otras palabras, la salida del sensor se cierra para indicar la detección.
Acondicionamiento de señal
Para conectar un sensor inductivo a una entrada digital de un microcontrolador es necesario saber el voltaje de salida de señal del sensor. Para el ejemplo siguiente veremos que el voltaje de salida del sensor es superio al voltaje que soporta la entrada digital del microcontrolador por lo que sera necesario acondicionar la señal del sensor con un divisor de voltaje.
Divisor de voltaje
Un divisor de voltaje, también conocido como divisor de tensión, es un circuito eléctrico simple que se utiliza para crear una tensión de salida más baja a partir de una fuente de tensión de entrada. Este circuito consta de dos resistencias conectadas en serie y se utiliza comúnmente para proporcionar una tensión de referencia o una tensión reducida en una variedad de aplicaciones electrónicas. El principio detrás del divisor de voltaje se basa en la Ley de Ohm y la división de voltaje en una serie de resistencias.
- Vin: Voltaje de entrada que se desea dividir.
- Vout: Voltaje de salida deseada.
- R1: Resistencia conectada entre Vin y Vout.
- R2: Resistencia conectada entre Vout y GND.
Aplicación
En el siguiente ejemplo, el sensor inductivo se conecta a un voltaje de 12V y midiendo el voltaje de salida con un multimetro, tiene una salida de voltaje de señal de 11.8v, por lo que, es necesario acondicionar la señal con un divisor de voltaje para obtener una señal de 5v para conectarla al microcontrolador.
Para obtener una señal de salida de 5V se propone una resistencia R2 y se utilizan los datos del sensor para calcular la resistencia R1.Â
Como la resistencia R1 no es una resistencia comercial, se cambia por la resistencia comercial más cercana y se calcula el voltaje de salida con los valores de las resistencias comerciales.
El voltaje de salida Vout del divisor de voltaje da como resultado 4.72V que es un voltaje suficiente para que el microcontrolador lo detecte como una señal digital en estado alto.
Finalmente se conecta el divisor de voltaje al sensor y el nodo entre las dos resistencia se conecta al microcontrolador.
Circuito de conexiónÂ
Nota: El negativo o GND de las fuentes de alimentación se conectan juntas.Â
Código sensor inductivo
En el siguiente código se define el pin RD0 como entrada digital, cuando se detecta un flanco de subida seguido de un flanco de bajada se incrementa el contador que muestra en la pantalla OLED el número de veces que el sensor detecta un metal o el numero de veces que el sensor detecta cuando se afecta el campo magnético.
#FUSES NOMCLR
#use i2c(Master,Fast, sda=PIN_B0, scl=PIN_B1, force_sw, stream=OLED_stream) //parametros I2C
#define SH1106_128_64 //DEFINE EL MODELO DE LA PANTALLA OLED
#include "OLED_I2C.c" //Libreria OLED
#define sensor input(pin_d0) // Pin de entrada de señal
void main()
{
OLED_Begin(); //inicializa la pantalla
OLED_ClearDisplay(); //limpia la pantalla
char texto[10];
int16 cont=0;
sprintf(texto,"N=%04lu",cont); //Cadena de caracteres
OLED_DrawText(1,1,texto,2); // Define la posición inicial
OLED_Display(); // Muestra la cadena
while(TRUE)
{
while(sensor)
{
delay_us(100);
if(!sensor)
{
cont++;
sprintf(texto,"N=%04lu",cont); //Cadena de caracteres
OLED_DrawText(1,1,texto,2); // Define la posición inicial
OLED_Display(); // Muestra la cadena
}
}
}
}
El código es simple, una mejor forma de detectar la señal del sensor puede ser utilizando interrupciones externas.