arduino-actuador-electromagnetico

Actuador electromagnético lineal con Arduino

¿Qué es un actuador electromagnético?

Un actuador electromagnético es un dispositivo capaz de generar movimiento lineal directamente, sin necesidad de emplear mecanismos o engranajes.

Un actuador electromagnético está constituido por una bobina junto con un émbolo con núcleo ferro magnético, siendo ambos elementos independientes entre sí.

Cuando la corriente atraviesa la bobina genera un campo magnético que, de forma similar a un electroimán, atrae el núcleo ferro magnético del émbolo provocando su desplazamiento.

Habitualmente se dispone de un muelle entre el cuerpo de la bobina y el émbolo, de forma que este vuelve a su posición original al cesar la corriente.

La tensión de alimentación dependerá del tamaño del actuador, siendo frecuentes tensiones 5V, 12V y 24V. El consumo varía desde 100mA para los actuadores más pequeños, hasta 1-2A en modelos más grandes.

Los actuadores electromagnéticos tienen la ventaja de realizar movimientos rápidos y ser muy sencillos de manejar y mantener, ya que carecen de partes móviles (más allá del propio émbolo).

Por el contrario, el alcance es limitado típicamente en el rango de unos pocos milímetros (4-60mm según modelos). La fuerza que pueden ejercer va desde los gramos-fuerza, hasta los modelos más grandes capaces de ejercer unos pocos kilogramos-fuerza

La fuerza ejercida por el actuador electromagnético no es lineal, es decir, el actuador electromagnético ejerce menos fuerza cuando el émbolo está extendido, que cuando el émbolo está cerca de su posición final.

Otra desventaja es que, por supuesto, no se dispone de ningún tipo de control sobre la velocidad o la posición del émbolo. Simplemente podemos tirar o empujar una carga.

Los actuadores electromagnéticos son útiles para generar movimiento lineal en un mecanismo compacto y sencillo sin apenas partes móviles. Son empleados en cerraduras electrónicas, puertas de seguridad, timbres, válvulas electrónicas.

Nosotros podemos emplear este tipo de actuadores en proyectos y robots cuando necesitemos un movimiento lineal rápido, pero con pequeño desplazamiento y pequeña fuerza.

Precio

Existen actuadores electromagnéticos en un amplio rango de tamaños, características y, por tanto, de precios.

Podemos encontrar actuadores pequeños de 20gf y 10mm de extensión por 1.80€, medianos de 100gf y 10mm por 2.80€, hasta los más grandes de 800-1500gf y 40mm por unos 20€, en vendedores internacionales en eBay o AliExpress.

arduino-actuador-electromagnetico-componente

Esquema de montaje

El esquema de montaje es sencillo, simplemente vamos a usar un MOSFET como el IRF520N como interruptor para controlar el encendido de la actuador electromagnético.

Por un lado, alimentamos el módulo con la tensión nominal de la actuador, mediante GND y Vin.

Por otro lado, conectamos la carga mediante la clema de conexión. Un actuador electromagnético es una carga inductiva. Por tanto, deberemos añadir un diodo de protección flyback, como vimos en la entrada sobre MOSFET.

Finalmente, alimentamos la electrónica del módulo conectando Vcc y GND a 5V y GND en Arduino, y conectamos el Pin SIG a cualquiera de las salidas digitales de Arduino.

arduino-actuador-electromagnetico-esquema

La conexión, vista desde Arduino, sería la siguiente.

arduino-actuador-electromagnetico-conexion

Debemos tener en cuenta la tensión de alimentación y la corriente nominal de el actuador electromagnético. En caso de consumir más de 1A, deberemos añadir un disipador de calor al IRF520N, o usar otro modelo de MOSFET o incluso una salida por relé.

Ejemplos de código

El código necesario es sencillo, ya que para a controlar el actuador electromagnético únicamente necesitamos emplear una salida digital, tal y como vimos en la entrada salidas digitales.

Por ejemplo, el siguiente código simplemente encendería y apagaría el actuador electromagnético cada 10 segundos.

const int pin = 9;

void setup()
{
  pinMode(pin, OUTPUT);  //definir pin como salida
}
 
void loop()
{
  digitalWrite(pin, HIGH);   // poner el Pin en HIGH
  delay(10000);               // esperar 10 segundos
  digitalWrite(pin, LOW);    // poner el Pin en LOW
  delay(10000);               // esperar 10 segundos
}

Descarga el código

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