El 28BYJ-48 tiene un paso de 5.625 grados (64 pasos por vuelta). El reductor interno tiene una relación de 1/64. Combinados, la precisión total es de 4096 pasos por vuelta, equivalente a un paso de 0.088º, que es una precisión muy elevada.
Es un motor paso a paso unipolar con las siguientes características:
- Tensión nominal de entre 5V y 12 V.
- 4 Fases.
- Resistencia 50 Ω.
- Par motor de 34 Newton / metro más o menos 0,34 Kg por cm.
- Consumo de unos 55 mA.
- 64 pasos por vuelta (con medios pasos).
- Reductora de 1 / 64.
Pasos a Seguir
- Abrimos nuestro Arduino IDE

- Realizamos la siguiente conexión electrónica en nuestro arduino.

- Como funciona un motor paso a paso, bobinas.

- Código en Arduino para giro continuo
#include
#define STEPS 2048 stepper(STEPS, 8, 10, 9, 11); void setup() { stepper.setSpeed(10); } void loop() { stepper.step(512); delay(1000); stepper.step(-512); delay(1000); } - Controlando motor desde monitor serial.
#include
// incluye libreria stepper Stepper stepper(2048, 8, 10, 9, 11); // pasos completos void setup() { stepper.setSpeed(10); // en RPM (valores de 1, 2 o 3 para 28BYJ-48) Serial.begin(9600); // incializacion de comunicacion serie a 9600 bps } void loop() { if (Serial.available()){ // espera por datos disponibles en monitor serie int pasos = Serial.parseInt(); // obtiene valor introducido en monitor serie y asigna // a variable pasos Serial.println(pasos); // imprime el valor ingresado stepper.step(pasos); // envia comando para dar la cantidad de pasos } } - Desenergizar bobinas para ahorrar energia.
#include
// incluye libreria stepper Stepper stepper(2048, 8, 10, 9, 11); // pasos completos void setup() { stepper.setSpeed(10); // en RPM (valores de 1, 2 o 3 para 28BYJ-48) Serial.begin(9600); // incializacion de comunicacion serie a 9600 bps } void loop() { if (Serial.available()){ // espera por datos disponibles en monitor serie int pasos = Serial.parseInt(); // obtiene valor introducido en monitor serie y asigna // a variable pasos Serial.println(pasos); // imprime el valor ingresado stepper.step(pasos); // envia comando para dar la cantidad de pasos digitalWrite(8, LOW); // desenergiza todas las bobinas digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } }
Prueba
- Conecta el motor paso a paso a monitor serial y potenciómetro.