Ir a contenido
AVISO IMPORTANTE: El martes 24 y miércoles 25 de diciembre no habrá servicio ni se realizarán entregas y envíos. ¡Gracias por tu comprensión!
AVISO IMPORTANTE: El martes 24 y miércoles 25 de diciembre no habrá servicio ni se realizarán entregas y envíos. ¡Gracias por tu comprensión!
Tutorial de Raspberry Pi Pico #7: Motor DC - 330ohms

Tutorial de Raspberry Pi Pico #7: Motor DC - 330ohms

En este tutorial aprenderás a accionar un motor DC con una Raspberry Pi Pico y un puente H L293D. Los motores son elementos que requieren de una fuente de potencia para funcionar, y el voltaje de las salidas de la Raspberry Pi Pico no pueden manejar el motor. Para ello, usamos una etapa de potencia con la que podamos darle la corriente suficiente al motor. Además, como nos interesa controlar la velocidad y el sentido de giro, la etapa de potencia nos permite hacer esto también.

Dicha etapa de potencia la podemos implementar con un circuito integrado, en este caso el L293D. Este circuito integrado consiste en conjunto de transistores que, cuando se activan, dan la corriente en el sentido adecuado para mover el motor. Para controlar la velocidad de giro, la Raspberry Pi Pico puede entregar una salida PWM, que dependiendo del ciclo de trabajo será la velocidad de giro del motor.

Diagrama de conexiones

Es importante destacar que el circuito se va a alimentar con la salida de 5V de la tarjeta, que está en el pin 40 de la Raspberry Pi Pico. El motor DC irá a las salidas del driver y las entradas IN1 e IN2 al pin 14 y 15 de la Pico, respectivamente.

Código de Thonny

Este código nos permitirá pasa por una secuencia de movimiento, en el que pondremos en avance, retroceso y paro el motor. Para poder lograrlo, definimos los pines que hay que habilitar en el driver para indicar un sentido u otro. En este caso tenemos tres funciones forward(), backward() y stop() que se pueden usar para indicar el sentido de giro.

import utime from machine import Pin  motor1a = Pin(14, Pin.OUT) motor1b = Pin(15, Pin.OUT)  def forward():    motor1a.high()    motor1b.low()  def backward():    motor1a.low()    motor1b.high()  def stop():    motor1a.low()    motor1b.low()  def test():    forward()    utime.sleep(2)    backward()    utime.sleep(2)    stop()    utime.sleep(1)  for i in range(5): test()

Para seguir leyendo…

Conclusiones:

Para controlar un motor DC hace falta una etapa de potencia que no sobrecargue las salidas de la Raspberry Pi Pico. En este caso usamos un puente H L293D, para el que usamos la mitad del circuito integrado. Para controlar la velocidad de giro del motor basta con usar una salida PWM en lugar de una salida digital. Es similar a controlar el brillo de un LED.

Referencias:

How to Use Your Raspberry Pi Pico With DC Motors

Artículo anterior Tutorial #8 de Raspberry Pi Pico: sensor ultrasónico - 330ohms