Motor paso a paso girando pero vibrando

1

Mi problema es que tengo 3 pasos y, al utilizar la Biblioteca Accel, intenté hacer que se muevan de forma simultánea. En primer lugar, los dos pasos se mueven al mismo tiempo y luego un tercero continúa girando,

Sin embargo, cuando subo el código y el programa comienza a ejecutarse, los steppers comienzan a vibrar, como si estuvieran luchando por rotar y durante todo el programa los steppers vibraran en su lugar durante un cierto tiempo y luego continuaran girando. Además, mientras vibra, también cuenta esos pequeños movimientos como pasos.

Estos motores paso a paso tienen una clasificación de 2.5 A y estoy usando una fuente de alimentación de 12 V junto con un controlador de motor y un arduino.

Aquí está el controlador del motor que estoy usando:

enlace

Aquí está el paso a paso que estoy usando:

enlace

Aquí está el código que estoy usando:

            // MultiStepper.pde
            // -*- mode: C++ -*-
            //
            // Shows how to multiple simultaneous steppers
            // Runs one stepper forwards and backwards, accelerating and decelerating
            // at the limits. Runs other steppers at the same time
            //
            // Copyright (C) 2009 Mike McCauley
            // $Id: MultiStepper.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $

            #include <AccelStepper.h>

            // Define some steppers and the pins the will use
            AccelStepper stepper1(AccelStepper::FULL4WIRE, 5, 4, 3, 2);
            AccelStepper stepper2(AccelStepper::FULL4WIRE, 9, 8, 7, 6); 
            AccelStepper stepper3(AccelStepper::FULL4WIRE, 13, 12, 11, 10);

            void setup()
            {  
                stepper1.setMaxSpeed(200.0);
                stepper1.setAcceleration(200.0);
                stepper1.moveTo(10000000);

                stepper2.setMaxSpeed(300); 
                 stepper2.setAcceleration(100.0); 
                stepper2.moveTo(600);   

                stepper3.setMaxSpeed(300); 
                stepper3.setAcceleration(100.0);
                stepper3.moveTo(700);

            }

            void loop()
            {
                // Change direction at the limits

                      if (stepper3.distanceToGo() == 0)
                       stepper1.run(); 


                stepper3.run();
                stepper2.run();

            }
    
pregunta Redrachet2

2 respuestas

1

si sus steppters están calificados con 2.5A, debería darles lo más cerca posible.

su circuito del controlador tiene una potencia muy baja para 3 motores, con uno de ellos casi le está sacando el máximo al conductor y aún obtiene solo 2A.

si los motores paso a paso no tienen suficiente voltaje, tartamudearán y no pasarán al siguiente paso. (No hay suficiente fuerza para superar el magnetismo)

Compre un controlador de mayor potencia (para los 3, 6-8 A de salida máxima) o intente ejecutar uno en modo puenteado para confirmar el problema de alimentación.

también la fuente de alimentación .3A no podrá alimentar nada de esto.

obtenga una fuente de alimentación de 10w al menos solo para el controlador del motor.

Lista de cosas que requieren actualizaciones para funcionar: Fuente de alimentación de ~ 12V, 4-6A ~ 2A por controlador de motor de canal. use la fuente de alimentación de 300 mA para el microcontrolador.

¡Buena suerte!

    
respondido por el Jeff Wurz
0

Descubrí accidentalmente la Biblioteca AcclStepper la semana pasada y estaba dispuesto a ejecutar varios pasos. Todo funcionó bien conmigo. Estaba usando 3 L293Ds y Nema 17 steppers. Si su objetivo final es ejecutar los motores, entonces no necesita utilizar ningún microcontrolador. El Arduino y los controladores paso a paso en sí mismos harían lo necesario. El código que mencionó es un código de ejemplo de la biblioteca AcclStepper y debería funcionar bien. Sin embargo, ¿está utilizando suministros individuales para cada paso o no? En general, estos pasos funcionan a cualquier voltaje entre 5 y 30 v, y para estar en el lado seguro, utilizo una alimentación de 12 V por separado para cada motor. Así que asegúrate de tener suficiente oferta.

    
respondido por el thebugger

Lea otras preguntas en las etiquetas