Así que mi problema es que tengo 3 motores de pasos y usando Accel Library traté de hacer que se movieran simultáneamente, primero dos motores de 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 motores de pasos comienzan a vibrar, como si tuvieran dificultades para rotar y, a lo largo del programa, los motores de pasos vibrarán en su lugar durante un cierto período de tiempo y luego continuarán 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 12v junto con controladores de motor y arduino.
Aquí está el controlador de motor que estoy usando:
Aquí está el paso a paso que estoy usando:
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();
}
si sus motores paso a paso tienen una clasificación de 2.5A, debe darles lo más cerca posible.
su circuito de controlador tiene una potencia muy baja para 3 motores, con uno casi está maximizando el controlador y aún así solo obtiene 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 vencer el magnetismo)
Compre un controlador de mayor potencia (para los 3, 6-8A de salida máxima) o intente ejecutar uno en modo puente para confirmar el problema de potencia.
Además, 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 se requieren actualizaciones para funcionar: ~12 V, fuente de alimentación de 4-6 A ~ 2 A por controlador de motor de canal. utilice la fuente de alimentación de 300 mA para el microcontrolador.
¡Buena suerte!
Accidentalmente descubrí la biblioteca AcclStepper la semana pasada y estaba ansioso por ejecutar varios pasos. Todo funcionó bien conmigo. Estaba usando 3 L293Ds y motores paso a paso Nema 17. Si su objetivo final es hacer funcionar los motores, entonces no necesita usar ningún microcontrolador. El Arduino y los controladores paso a paso en sí 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 a paso o no? En general, estos motores paso a paso funcionan con cualquier voltaje entre 5 y 30 V, y para estar seguro, uso un suministro de 12 V por separado para cada motor. Así que asegúrese de tener un suministro lo suficientemente bueno.
Redrachet2
Redrachet2
geométrico
Redrachet2
el cabrón
Redrachet2