1
\$\begingroup\$

So my problem is that I have 3 steppers and using the Accel Library I tried to make them move simutanousley, first of all two steppers move at the same time then a third one continues to rotate,

However when I upload the code and the program starts running the steppers start to vibrate, like they are struggling to rotate and throughout the program the steppers will vibrate in place for a certain amount of time and then continue to rotate. Also as it is vibrating it is also counting those little movements as steps.

These steppers are rated 2.5 A and I am using a 12v power supply along with a motor controllers and arduino.

Here is the motor controller that I am using:

http://www.ebay.com/itm/Stepper-Motor-Drive-Controller-Board-Module-L298N-Dual-H-Bridge-DC-For-Arduino-/170926726867?pt=LH_DefaultDomain_0&hash=item27cc06ded3

Here is the stepper that I am using:

http://www.ebay.com/itm/1-pc-Nema-17-Stepper-Motor-2Phase-68oz-4wires-CNC-/190505160717?pt=LH_DefaultDomain_0&hash=item2c5afe100d

Here is the code that I am using:

            // 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();

            }
\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

if your steppters are rated at 2.5A you should be giving them as close to that as possible.

your driver circuit is severely underpowered for 3 motors, with one you are almost maxing out the driver and still only getting 2A.

if the stepper motors don't have enough voltage they will stutter and not go into the next step. (not enough force to overcome the magnetics)

Either buy a higher power controller (for all 3, 6-8A max output) or try running one in bridged mode to confirm the power issue.

also .3A power supply will not be able to power any of this.

get a 10w power supply at least for just the motor controller.

List of things that are required upgrades to function: ~12V, 4-6A power supply ~2A per channel motor controller. use the 300mA power supply for the microcontroller.

Good Luck!

\$\endgroup\$
0
\$\begingroup\$

I accidentally discovered AcclStepper Library last week and was keen to run multi-steppers. It all worked fine with me. I was using 3 L293Ds and Nema 17 steppers. If your ultimate aim is to run the motors , then you need not actually use any micro-controller.The Arduino and stepper drivers itself would do the needful. The code you mentioned is an example code from AcclStepper Library and should work fine. However are you using individual supplies for each stepper or not ? Generally these stepper work at any voltage between 5-30v ,and to be on safe side I use separate 12V supply for each motor. So make sure you have good enough supply.

\$\endgroup\$
6
  • \$\begingroup\$ OOOHHHH okay because I used 12 volts for all three steppers, no wonder, because when I ran one stepper motor off of the arduino 5 volts it was running soomthley however with 12 volts for all it was vibrating alot, so with that being said my power supply should be 36v going to all three steppers right? so 12 volts for each or will that not work? \$\endgroup\$
    – Redrachet2
    Commented Jan 3, 2014 at 5:10
  • \$\begingroup\$ by the way the previous powersupply I was using is a 12 volt wall adapter that converts 120 volts ac into 12 volts dc, can you recommend me a good powersupply? \$\endgroup\$
    – Redrachet2
    Commented Jan 3, 2014 at 5:17
  • \$\begingroup\$ No, you don't add them up like that. If you have three motors wired in parallel then the power supply should be just 12V. What is the current rating on the wall adapter? \$\endgroup\$ Commented Jan 3, 2014 at 5:25
  • \$\begingroup\$ the rating is 120v AC 60Hz 8w to 12V DC 300mA \$\endgroup\$
    – Redrachet2
    Commented Jan 3, 2014 at 6:04
  • \$\begingroup\$ Since I was using L293ds , I was powering all the ICs with 12V supply (and not the steppers ) .I myself used a 12V power adaptor \$\endgroup\$
    – thebugger
    Commented Jan 3, 2014 at 6:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.