Problemas de inconsistencia con el motor paso a paso

0

Estoy intentando que mi motor paso a paso gire 90 grados, se detenga por un segundo y repita estos pasos.

Tenga en cuenta que soy un principiante, pero he tomado cursos de física, así que entiendo la mayoría de los conceptos electrónicos básicos, como voltaje, amperaje, series, paralelo, resistencia, etc. ...

Por lo tanto, la forma en que lo estoy configurando es con una frambuesa pi conectada a un controlador de motor paso a paso Pololu a4988 que genera 2 amperios con enfriamiento óptimo y 12 voltios, con un motor paso a paso bipolar con una clasificación de 2 / amperios por fase y Está recibiendo 12v. Los motores están siendo alimentados por una fuente de alimentación de 30 amperios y 12 voltios.

Todo está cableado de acuerdo con el diagrama adjunto, y se ha probado muchas veces. Se han utilizado muchos scripts diferentes, y actualmente estamos usando un script Python del RPI que se ejecuta en 50 pasos (90 grados), luego espera un segundo. Este código funciona y es correcto, porque a veces funciona. Al funcionar, el motor se calienta, pero no se calienta al tacto. Además, cuando se activa pero no se ejecuta el código, zumba y hace clic a veces, sin moverse. Fuentes en línea dijeron que esto estaba bien.

Parece que es muy aleatorio cuando funciona y cuando no funciona, por ejemplo, cuando se prueba la corriente que pasa por uno de los cables de la bobina usando un multímetro cableado en serie, el motor funciona perfectamente, pero cuando el multímetro no está allí, el motor se desvanece, zumba y cambia de dirección de manera errática, una teoría mía de por qué esto se debe a la resistencia agregada, en cuyo caso poner una resistencia en serie puede solucionar el problema, pero no parece solucionarlo la raíz del problema.

Otras acciones realizadas: -Utilizando un arduino uno en lugar de Pi, los mismos problemas -Corriendo el código de diferentes maneras, diferentes bibliotecas, etc. -cambió a otro motor y controlador. -conectado todo varias veces -adaptando el tornillo de control de voltaje en el controlador. - Proporcionó enfriamiento adecuado a la fuente de alimentación y al controlador (2 ventiladores de computadora de 120mil)

-diseñodecableado

enlace - imagen de la instalación

- código utilizado

cualquier ayuda o sugerencia sería muy apreciada, muchas horas han pasado por esto. LMK si se necesita información adicional.

    
pregunta Jake Chunn

1 respuesta

0

Varias posibilidades:

Puede intentar agregar retrasos para obtener un ciclo de trabajo del 50% como lo sugiere jonk.
...
GPIO.output (21, true)
time.sleep (0.01)
GPIO.output (21, falso)
time.sleep (0.01)
...

También puede intentar agregar rampas de aceleración y desaceleración a su código y usar una biblioteca Arduino que las admita (como AccelStepper).

Además, el cambio de contexto en la Raspberry Pi causará una falta de uniformidad en la sincronización del tren de pulsos de paso que se traduce en pedirle al motor que acelere y desacelere muy rápidamente, lo que puede exceder las capacidades de par del motor. El torque del motor paso a paso generalmente disminuye con la velocidad de rotación, pero generalmente tiene una banda de resonancia donde el torque se reduce a casi cero en un cierto rango de velocidad. Poner un volante en el eje (u otra carga con un poco de inercia angular) puede minimizar el efecto de resonancia.

    
respondido por el Dean Franks

Lea otras preguntas en las etiquetas