martes, 21 de febrero de 2023

Accionamiento del motor paso a paso del lector de un CD

Con la fuente de alimentación casera he alimentado la entrada del driver L298N que por medio de un Arduino UNO mueve el pequeño motor paso a paso bipolar MMB PL15S-020-YTE7 (TA2905F) de un antiguo lector de CDs. Estos motores funcionan con 5 voltios por lo que se ha de bajar el voltaje que proporciona la fuente de alimentación. Si el voltaje es muy pequeño no llega a mover el motor paso a paso o lo mueve, pero con tan poco par que no puede arrastrar mecanismo alguno, si el voltaje es muy alto se calienta mucho con riesgo de quemarse.

Para el control de este voltaje se han de retirar los puentes jumpers ENA y ENB que conectan estos pines directamente a 5 voltios. Si en vez de 5 voltios se hace llegar a estos pines un voltaje más pequeño, la salida de motores no será de los 17 voltios de la fuente de alimentación sino algo menor. Haciendo pruebas he conseguido que hacia los motores salgan 7 voltios. A estos pines ENA y ENB del driver le hacemos llegar una señal PWM (analogWrite) desde Arduino. Un valor analógico 255 dejará el voltaje de salida a los motores a 17 voltios y un valor 0 sin tensión. para conseguir esos 7 voltios de salida el valor del analogWrite ha de ser de 50.

En la alimentación del driver se ha de colocar el positivo y negativo de la salida de la fuente de alimentación en los terminales 12V y GND. En este mismo conector GND también se ha de poner un cable que vaya a uno de los puntos GND de la placa de Arduino UNO, sino no funciona. Funcionando continuamente el motor se calienta bastante, pero aguanta sin problema más de cinco minutos ininterrumpidos.


El programa de Arduino es el siguiente.


#include <Stepper.h>

const int PasosVuelta = 20;  // número de pasos por vuelta

int ENB1 = 5;    // ENB1 conectada al pin 5 de Arduino

int ENB2 = 6;    // ENB2 conectada al pin 6 de Arduino

Stepper myStepper(PasosVuelta, 8,9,10,11);  // crea un motor paso a paso llamado 'Stepper' en los pines 8 a 11

void setup()

{

pinMode (ENB1, OUTPUT); 

pinMode (ENB2, OUTPUT);

analogWrite(ENB1,50);

analogWrite(ENB2,50);

myStepper.setSpeed(60); // establece la velocidad en 60rpm

}

void loop()

{

// gira 200 pasos

  myStepper.step(200);

  delay(500);

   // gira 200 paos en sentido contrario

  myStepper.step(-200);

  delay(500); 

}

En este otro video se muestra el accionamiento de un motor paso a paso bipolar de 12 voltios NEMA17 42BYGHW208 con un par de 2600 g/cm. El accionamiento se realiza directamente, colocando los puentes jumpers en la placa ENA y ENB del driver.









No hay comentarios: