Raspberry Pi es una placa basada en procesador de arquitectura ARM diseñada para ingenieros electrónicos y aficionados. PI es una de las plataformas de desarrollo de proyectos más confiables que existen en la actualidad. Con una velocidad de procesador más alta y 1 GB de RAM, el PI se puede utilizar para muchos proyectos de alto perfil como procesamiento de imágenes e Internet de las cosas.
Para realizar cualquiera de los proyectos de alto perfil, es necesario comprender las funciones básicas de PI. Cubriremos todas las funcionalidades básicas de Raspberry Pi en estos tutoriales. En cada tutorial discutiremos una de las funciones de PI. Al final de esta serie de tutoriales de Raspberry Pi, podrá realizar proyectos de alto perfil por sí mismo. Siga los siguientes tutoriales:
- Introducción a Raspberry Pi
- Configuración de Raspberry Pi
- LED parpadeante
- Interfaz del botón Raspberry Pi
- Generación Raspberry Pi PWM
- Controlar el motor de CC con Raspberry Pi
En este tutorial, controlaremos la velocidad de un motor paso a paso usando Raspberry Pi. En el motor paso a paso, como dice el propio nombre, la rotación del eje se realiza en forma de pasos. Hay diferentes tipos de motor paso a paso; aquí usaremos el más popular que es el motor paso a paso unipolar. A diferencia del motor de CC, podemos rotar el motor paso a paso a cualquier ángulo en particular dándole las instrucciones adecuadas.
Para rotar este motor paso a paso de cuatro etapas, entregaremos pulsos de potencia mediante el uso del circuito impulsor del motor paso a paso. El circuito del controlador toma disparadores lógicos de PI. Si controlamos los disparadores lógicos, controlamos los pulsos de potencia y, por lo tanto, la velocidad del motor paso a paso.
Hay 40 pines de salida GPIO en Raspberry Pi 2. Pero de 40, solo se pueden programar 26 pines GPIO (GPIO2 a GPIO27). Algunos de estos pines realizan algunas funciones especiales. Con GPIO especial de lado, solo nos quedan 17 GPIO. Cada uno de estos 17 pines GPIO puede entregar un máximo de 15 mA de corriente. Y la suma de las corrientes de todos los pines GPIO no puede exceder los 50 mA. Para saber más sobre los pines GPIO, consulte: LED parpadeando con Raspberry Pi
Hay pines de salida de potencia de + 5V (Pin 2 y 4) y + 3.3V (Pin 1 y 17) en la placa para conectar otros módulos y sensores. Estos rieles de potencia no se pueden utilizar para impulsar el motor paso a paso, porque necesitamos más potencia para rotarlo. Así que tenemos que entregar la energía al motor paso a paso desde otra fuente de energía. Mi motor paso a paso tiene una tensión nominal de 9 V, por lo que estoy usando una batería de 9 V como segunda fuente de alimentación. Busque el número de modelo de su motor paso a paso para conocer el voltaje nominal. Dependiendo de la calificación, elija la fuente secundaria de manera adecuada.
Como se indicó anteriormente, necesitamos un circuito de controlador para impulsar el motor paso a paso. También diseñaremos aquí un circuito controlador de transistor simple.
Componentes requeridos:
Aquí estamos usando Raspberry Pi 2 Model B con Raspbian Jessie OS. Todos los requisitos básicos de hardware y software se discutieron previamente, puede buscarlos en la Introducción de Raspberry Pi, aparte de lo que necesitamos:
- Pines de conexión
- Resistencia de 220Ω o 1KΩ (3)
- Motor paso a paso
- Botones (2)
- Transistor 2N2222 (4)
- Diodo 1N4007 (4)
- Condensador - 1000uF
- Tabla de pan
Explicación del circuito:
El motor paso a paso usa 200 pasos para completar la rotación de 360 grados, lo que significa que gira 1.8 grados por paso. Como estamos conduciendo un motor paso a paso de cuatro etapas, necesitamos dar cuatro pulsos para completar el ciclo lógico único. Cada paso de este motor completa 1.8 grados de rotación, por lo que para completar un ciclo necesitamos 200 pulsos. Entonces 200/4 = 50 ciclos lógicos necesarios para completar una sola rotación. Consulte esto para saber más sobre los motores paso a paso y sus modos de conducción.
Conduciremos cada una de estas cuatro bobinas mediante un transistor NPN (2N2222), este transistor NPN toma el pulso lógico de PI e impulsa la bobina correspondiente. Cuatro transistores toman cuatro lógicas de PI para impulsar cuatro etapas del motor paso a paso.
El circuito del controlador del transistor es una configuración complicada; aquí debemos prestar atención a que una conexión incorrecta del transistor podría cargar mucho la placa y dañarla. Verifique esto para comprender correctamente el circuito del controlador del motor paso a paso.
El motor es una inducción y, por lo tanto, al encenderlo, experimentamos picos inductivos. Este pico calentará mucho el transistor, por lo que usaremos el diodo (1N4007) para proporcionar protección al transistor contra el pico inductivo.
Para reducir las fluctuaciones de voltaje, conectaremos un capacitor de 1000 uF a través de la fuente de alimentación como se muestra en el diagrama del circuito.
Explicación de trabajo:
Una vez que todo está conectado según el diagrama del circuito, podemos encender el PI para escribir el programa en PYHTON.
Hablaremos de algunos comandos que usaremos en el programa PYHTON, Vamos a importar el archivo GPIO de la biblioteca, la siguiente función nos permite programar los pines GPIO de PI. También estamos cambiando el nombre de “GPIO” a “IO”, por lo que en el programa siempre que queramos referirnos a los pines GPIO usaremos la palabra 'IO'.
importar RPi.GPIO como IO
A veces, cuando los pines GPIO, que estamos tratando de usar, pueden estar realizando otras funciones. En ese caso, recibiremos advertencias mientras ejecutamos el programa. El siguiente comando le dice al PI que ignore las advertencias y continúe con el programa.
IO.setwarnings (falso)
Podemos referir los pines GPIO de PI, ya sea por el número de pin a bordo o por su número de función. Como 'PIN 35' en la placa es 'GPIO19'. Entonces decimos aquí o vamos a representar el pin aquí por '35' o '19'.
IO.setmode (IO.BCM)
Estamos configurando cuatro pines GPIO como salida para impulsar cuatro bobinas de motor paso a paso.
Configuración de IO (5, IO.OUT) Configuración de IO (17, IO.OUT) Configuración de IO (27, IO.OUT) Configuración de IO (22, IO.OUT)
Estamos configurando GPIO26 y GPIO19 como pines de entrada. Detectaremos la pulsación de un botón con estos pines.
Configuración IO (19, IO.IN) Configuración IO (26, IO.IN)
En caso de que la condición entre llaves sea verdadera, las declaraciones dentro del ciclo se ejecutarán una vez. Entonces, si el pin 26 de GPIO baja, las declaraciones dentro del bucle IF se ejecutarán una vez. Si el pin 26 de GPIO no baja, las declaraciones dentro del bucle IF no se ejecutarán.
si (IO.input (26) == Falso):
Este comando ejecuta el ciclo 100 veces, aumentando x de 0 a 99.
para x en el rango (100):
Mientras que 1: se usa para bucle infinito. Con este comando, las declaraciones dentro de este bucle se ejecutarán de forma continua.
Tenemos todos los comandos necesarios para lograr el Control de Velocidad del Motor Paso a Paso con esto.
Después de escribir el programa y ejecutarlo, todo lo que queda es operar el control. Tenemos dos botones conectados a PI. Uno para incrementa el retardo entre los cuatro pulsos y otro para decrementa el retardo entre los cuatro pulsos. El retraso mismo habla de velocidad; si el retraso es mayor, el motor frena entre cada paso y, por lo tanto, la rotación es lenta. Si el retraso es cercano a cero, entonces el motor gira a la velocidad máxima.
Aquí debe recordarse que debe haber algún retraso entre los pulsos. Después de dar un pulso, el motor paso a paso tarda unos milisegundos en alcanzar su etapa final. Si no se da ningún retraso entre los pulsos, el motor paso a paso no se moverá en absoluto. Normalmente, la demora de 50 ms está bien entre los pulsos. Para obtener información más precisa, consulte la hoja de datos.
Entonces, con dos botones podemos controlar el retraso, que a su vez controla la velocidad del motor paso a paso.