Cómo conectar un Solenoide a Raspberry Pi

En este pequeño tutorial veremos cómo conectar un Solenoide a una tarjeta Raspberry Pi, también encontrarás un código de programación para tus primeras pruebas.

Los Solenoides son dispositivos electromecánicos que al igual que los motores de CD transforman la energía eléctrica en energía mecánica, solo que en este caso, la energía mecánica se presenta en forma de fuerza mecánica lineal. Cuando un Solenoide es alimentado aplicando una diferencia de potencial, la corriente que circula por el embobinado genera un campo magnético que desplaza al embolo. Cuando el Solenoide deja de ser alimentado y el campo magnético desaparece, el émbolo regresa a su posición de reposo con ayuda de un resorte mecánico.

Para controlar un solenoide con una señal digital (GPIO de Raspberry Pi) requerimos de una etapa de potencia, es decir un circuito electrónico que sea capaz de habilitar o deshabilitar la alimentación del solenoide en respuesta a una señal digital de control. Regularmente esta etapa de potencia puede implementarse con un transistor y un diodo, seleccionados según las especificaciones de Voltaje de alimentación y Corriente máxima de nuestro solenoide.

En este ejemplo utilizaremos un solenoide de 12V que consume 1A máximo y para la etapa de potencia un TIP120 con un Diodo 1N4001. Se recomienda usar este circuito para otros solenoides, siempre y cuando se utilicen máximo 24V para alimentar al solenoide y éste no consuma más de 3A.

Con todo lo anterior podemos decir que el solenoide con su etapa de potencia es un componente digital de salida, es decir su funcionamiento consiste en ejercer una fuerza lineal cuando se recibe un voltaje alto en la señal de control.

Componentes Necesarios

  • Solenoide pequeño 12V
  • Raspberry Pi
  • TIP120
  • 1N4001
  • Protoboard chica
  • Resistor de 2.2 Kohms
  • Jack de 2.1mm Terminal de Barril a Terminal de Tornillo
  • Eliminador 12V, mínimo 1A, terminal de Barril 2.1mm
  • Cables de conexión M-M y H-M

Diagrama de Conexiones

Raspberry Pi – Solenoide 12V – TIP120 – 1N4001

Código de Python3

Copiamos el siguiente código a un script de Python y lo ejecutamos con Python3 para observar como el émbolo del solenoide se desplaza de manera cíclica.


import time
import RPi.GPIO as GPIO  #Importamos el paquete RPi.GPIO y en el código nos refiriremos a el como GPIO

pin_led = 18  #Variable que contiene el pin(GPIO.BCM) al cual conectamos la señal del Solenoide

GPIO.setmode(GPIO.BCM)   #Establecemos el modo según el cual nos refiriremos a los GPIO de nuestra RPi            
GPIO.setup(pin_led, GPIO.OUT) #Configuramos el GPIO18 como salida

#Contenemos el código principal en una estructura try para limpiar los GPIO al terminar o presentarse un error
try:
    while 1:   #Implementamos un loop infinito
        GPIO.output( pin_led , GPIO.HIGH )
        time.sleep(2)
        GPIO.output( pin_led , GPIO.LOW )
        time.sleep(3)   
except KeyboardInterrupt:
    # CTRL+C
    print("\nInterrupcion por teclado")
except:
    print("Otra interrupcion")
finally:
    GPIO.cleanup()
    print("GPIO.cleanup() ejecutado")

¡Sigue explorando!