I am attempting to use a stepper motor to rotate one of my split-flap displays. However despite the thing the motor is rotating weighing probably half a pound, it struggles to do so. It really can rotate the module at all.
Why is my motor struggling so much?
My circuit is an Arduino powered by 5V from a wall outlet, connected to a ULN2003 driver that is powered by a 12V wall outlet. The driver is connected to the stepper motor.
This is my code, it uses the Accel stepper library:
#include <MultiStepper.h>
#include <AccelStepper.h>
#include <Stepper.h>
AccelStepper stepper2(AccelStepper::FULL4WIRE, 4, 5, 6, 7);
void setup()
{
Serial.begin(9600);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
stepper2.setMaxSpeed(100);
stepper2.setAcceleration(10);
stepper2.moveTo(-24000000);
}
void loop()
{
// Change direction at the limits
//printletters();
if (stepper2.distanceToGo() == 0)
stepper2.moveTo(-stepper2.currentPosition());
stepper2.run();
}
Edit: Here is the schematic, I'm sorry its terrible but I dont know how to make it better
simulate this circuit – Schematic created using CircuitLab