Approved Reseller
Approved Reseller
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 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.
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 alimentarlo y 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.
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")