Cómo conectar un Motor a Pasos a Arduino

Anuncio
RaspberryPi

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

Este ejemplo está pensado para usar motor de imanes permanentes bipolar, ya que estos son los más comunes en proyectos pequeños de electrónica. Si deseas saber más sobre como se clasifican los motores a pasos te recomendamos: Motores a pasos… ¿unipolares o bipolares?

En este caso utilizaremos el Motor a pasos 5v – 28BYJ-48, que es del tipo unipolar. Sin embargo al utilizar solo 4 de sus terminales y omitir el uso de una de ellas puede funcionar como bipolar.

Un motor bipolar cuenta con 2 bobinas, 2 cables/terminales para cada una. Debido a la configuración de las bobinas la corriente puede fluir en ambos sentidos por lo que se requiere de una etapa de potencia que permita esto. Nosotros utilizaremos el puente H L293D.

Anuncio
RaspberryPi

Componentes Necesarios

  • Motor a pasos 5v – 28BYJ-48
  • Arduino Uno
  • Puente H L293D
  • Jack de 2.1mm Terminal de Barril a Terminal de Tornillo
  • Eliminador 5V, mínimo 1A – Terminal de Barril 2.1mm
  • Protoboard chica
  • Cables para conexión M-M

Diagrama de Conexiones

Arduino Uno – L293D – 28BYJ-48

Código de Arduino

Cargamos el código y observamos como el motor da una vuelta hacia un sentido y luego otra en el sentido contrario de manera cíclica.


#include <Stepper.h>

const int stepsPerRevolution = 48;  // Modifica este valor según el motor que estés utilizando

// inicializamos l alibrería con los pasos por vuelta del motor y los pines digitales a los cuales conectamos las terminales de nuestro motor
Stepper myStepper(stepsPerRevolution, 12,11,10,9);

void setup() {
  // Establecemos la velocidad a 60 rpm
  myStepper.setSpeed(60);
  // Inicializamos la comunicación serie
  Serial.begin(9600);
}

void loop() {
  // Damos una vuelta en un sentido
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // Damos una vuelta en el sentido contrario
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

¡Sigue explorando!

Referencias:

Arduino Stepper Motor

Para seguir leyendo…