Tengo un Nema 17, clasificado en 0.8Amps , ángulo de avance de 1.8 grados .
El motor se ve así, y tiene seis cables saliendo de él:
Loscuatrocablesqueheusadosonlosqueseindicanacontinuación(mivendedormeindicóqueusaratodo,exceptoelnegroyelblanco):
Mi cableado actual:
Ambos cables A + y B + están conectados a A1 y B1 respectivamente. Del mismo modo, A- y B- están conectados a A2 y B2 respectivamente.
EstoytratandodeusarestemotorconunArduinoUnoyun
Conduzco el controlador paso a paso con dos cables (uno para el paso, uno para la dirección). Se verifica que todo mi cableado es correcto.
Estoy tratando de usar este motor para el control deslizante de mi cámara, pero sin suerte.
El problema
Quiero lograr una rotación realmente lenta pero suave con mi stepper, pero no puedo hacerlo. Idealmente, me gustaría alcanzar velocidades tan bajas como se muestra en este video de YouTube .
Cuando trato de variar la velocidad de la velocidad paso a paso a través de mi código, solo reduce ligeramente la velocidad (definitivamente no es tan lenta como me gustaría), e incluso cuando lo hace, hay muchas vibraciones en esos lugares. las velocidades Sin embargo, solo hay un rango (pequeño) de velocidades en el que el motor está silencioso. Me temo que estas vibraciones pueden hacer que la configuración de mi deslizador sea completamente inutilizable.
El engranaje tampoco es realmente una opción, debido a la falta de restricciones de espacio (quiero que este control deslizante sea liviano y pueda caber dentro de una maleta de viaje sin muchos problemas).
También he intentado el paso a través de mi controlador (DRV 8825) - Para los mismos valores de velocidad (como se usa en pasos completos), se puede escuchar que la bobina del motor vibra. Y si modifico los valores para hacer que el motor gire, parece ser un múltiplo (aproximado) de los valores que usé para los pasos completos anteriormente, por lo tanto, nuevamente, el motor se puede usar en los mismos rangos que en el paso completo. modo. De lo contrario, el motor vibra ferozmente o ligeramente, pero sin ninguna rotación.
Soluciones intentadas:
1) Microstepping (sin suerte)
2) Engranajes (Probado y funciona, pero no puedo usarlo en mi caso de uso)
3) Diferentes bibliotecas paso a paso (Accel, PWM, etc.)
4) Control de resistencia variable (sin suerte)
En este punto, estoy completamente perdido y desorientado. ¿Podría ser algo simple que me pueda estar perdiendo? ¿O podría ser algo drástico, como tener que cambiar algún componente principal (como el propio motor o el controlador)? Cualquier ayuda sería muy apreciada y si se requieren aclaraciones, estaré encantada de proporcionarles.
¡Gracias!
Mi código actual para referencia:
#include <AccelStepper.h>
AccelStepper stepper (1, 9, 8);
int MODE0 = 7;
int MODE1 = 6;
int MODE2 = 5;
void setup()
{
stepper.setMaxSpeed(15000);
stepper.setSpeed(12000);
pinMode(MODE0, OUTPUT);
pinMode(MODE1, OUTPUT);
pinMode(MODE2, OUTPUT);
//Motor is now running in Microstepping mode (1/16)
digitalWrite(MODE0, LOW);
digitalWrite(MODE1, LOW);
digitalWrite(MODE2, HIGH);
}
void loop()
{
stepper.runSpeed();
}