Raspberry pi 3 para controlar motores paso a paso

En esta entrada les voy a mostrar como aprendí a usar mi Raspberry pi 3 para controlar motores paso a paso

Raspberry pi 3 para controlar motores paso a paso

Lo primero que vamos a hacer es conseguir un motor del que se ve en la imagen anterior el cual es un 28BYJ-48 que ronda en los 100 pesos según donde lo compremos y cantidades obviamente.

Para controlar cada una de las fases utilizaremos el integrado ULN2803, que nos proporciona 8 salidas en colector abierto controladas por 8 entradas digitales. Aunque también lo podemos hacer con ULN2003 que permite solo 7 elementos.

El motor 28BYJ-48 es un motor de 4 fases en el que se requieren de 512 pasos para que éste de una vuelta. Entonces podemos decir que este motor se controla mediante 5 cables:

  • 5V
  • Fase 1
  • Fase 2
  • Fase 3
  • Fase 4

Paso simple: Consiste en activar uno a uno los pines del módulo y por cada repetición se dará un paso en el motor. No se recomienda del todo ya que el motor tiene menos fuerza que con el paso doble.

Paso doble: Activa los pines en pares consecutivos, es el recomendado para los motores de 4 fases ya que genera buen torque y permite un movimiento rápido del motor.

Medio paso: Activa los pines en medios pasos, recomendado para tener mayor precisión en el movimiento, aunque es un poco más lento tiene todavía mejor torque que el modo anterior.

Las diferentes conexiones son:

ULN2803

ULN2003

Ahora que tenemos todo conectado vamos a ingresar por ssh a nuestra raspberry e instalar los paquetes necesarios para realizar una pequeña aplicación en python que nos permita mover el motor.

Este motor puede ser accionado de dos maneras:

  • Accionamiento por 4 pasos.
  • Accionamiento por 8 pasos ( 4 pasos y 4 medios pasos).

Accionamiento por 4 pasos:

Las bobinas se excitan por parejas.

Accionamiento por 8 pasos:

Se alternan parejas con bobinas solas. Con este método se consigue mayor precisión, pero menor velocidad y par.

Como ejemplo realizaremos una aplicación en Python que controle el motor en ambas modalidades. Para ello crearemos un fichero llamado unblogenapuros.py

y dentro vamos a poner este código:

Al lanzar la aplicación le pasaremos al menos un parámetro, que es el número de pasos a realizar, con signo para determinar el sentido de giro. Si además añadimos un “1” como segundo parámetro, el motor funcionará en modo “8-pasos”, para cualquier otro valor trabajará en “4-pasos”.

Ejemplos para lanzar en la terminal:

sudo python unblogenapuros.py -300 0

Con este ejemplo lo que hacemos es como administrador ejecutamos el script que dará en sentido contrario a las vueltas del reloj 300 vueltas en el modo 4 pasos.

 

sudo python unblogenapuros.py 500 1

Con este ejemplo lo que hacemos es como administrador ejecutamos el script que dará en sentido de las agujas del reloj 500 vueltas en el modo 8 pasos.

En adafruit van a encontrar muchos tutoriales (en ingles) de raspberry como por ejemplo para controlar un servo motor: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-8-using-a-servo-motor

No dejen de visitar el blog de raspberry en español

IMPORTANTE:

Si te gusta el mundo de las #Raspberry y queres subir tus propios tutoriales gratuitos y con código fuente libre te invito a comentar para poder contactarte, chequear tu proyecto y subirlo bajo tu autoria a #UnBlogEnApuros

Telegram-UnBlogEnAPuros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *