Big Easy Driver with AccelStepper

777 views
Skip to first unread message

Nancy P

unread,
Dec 11, 2015, 11:38:51 AM12/11/15
to accelstepper
Hey everyone, 

I'd a total newbie with Arduino and stepper motors -- I apologize in advance if these are seemingly simple questions. 

What I'm trying to do is driver two steppers at a time at different speeds with the AccelStepper library. I haven't been able to get either of them to run with the sample code I found on http://www.schmalzhaus.com/EasyDriver/Examples/EasyDriverExamples.html , and I'm just trying to troubleshoot.

-The tutorials seem to only hook up the DIR and STP pins, and I was wondering how I could coordinate the MS1 MS2 MS3 pins. As well, without the EN pin connected, is this stopping my big easy driver from driving the motors? 

Anyway, if anyone has any other ideas, I'm definitely open to it and again, I apologize if this is a very simple question. 

Thanks! 

Brian Schmalz

unread,
Dec 11, 2015, 11:43:52 AM12/11/15
to accels...@googlegroups.com
Nancy,

The MS1/2/3 and Enable pins are set to 'default' values by resistors on the Big Easy Driver board. There isn't any need to connect them to your Arduino unless you want to change the default states (i.e. move to something other than 16x microstepping or disable the motor drive). You don't need to connect anything other than STEP and DIR (and GND) from the Arduino to the Big Easy Driver to control it.

You're saying you haven't been able to get them to run yet. What motors are you using? What voltage/current of power supply? Where did you get the Big Easy Drivers from? (Some manufacturers that sell them very inexpensively use substandard parts and/or manufacturing processes and their boards often fail quickly) Do the motors do anything at all? Are the rotors locked when you power up the BED?

*Brian

--
You received this message because you are subscribed to the Google Groups "accelstepper" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nancy P

unread,
Dec 11, 2015, 12:49:05 PM12/11/15
to accelstepper
Hi Brian, 

Thanks for your quick response. I'm currently using these motors: http://www.trinamic.com/products/motors/motors-stepper/qmot-qsh5718  -- and the ones I have are -055. 
I understand the current rating is higher than the BED can give, but I have gotten these motors to work with the sample code from the SparkFun website (where I ordered the BEDs). 

This is what my code currently looks like (which I got from some of the postings on this group).

#include <AccelStepper.h>
#include <MultiStepper.h>


AccelStepper leadSpool(1,9,8);    //9 - STP, 8 - DIR
AccelStepper takeUpSpool(1,7,6);  //7 - STP, 6 - DIR

int singleRotation = 3200;        //steps defined -- 3200 is one rotation

int leadSpeed = 15000;
int takeUpSpeed = 300; 

void setup() {
  leadSpool.setMaxSpeed(leadSpeed);
  leadSpool.moveTo(singleRotation); 
  leadSpool.setSpeed(500);

  takeUpSpool.setMaxSpeed(takeUpSpeed);
  takeUpSpool.moveTo(singleRotation);
  takeUpSpool.setSpeed(200);

}

void loop() {
  leadSpool.runSpeedToPosition();
  takeUpSpool.runSpeedToPosition(); 
}

I haven't seen any movement or noise from the motors at all. 

Thanks again! 

Brian Schmalz

unread,
Dec 11, 2015, 1:16:04 PM12/11/15
to accels...@googlegroups.com
So, what power supply in V and A are you using then?

Also, as a first step to debug, can you try the code for Example #1 here?

That will show if your BED and motor are able to turn, without introducing any Accelstepper issues.

*Brian

Nancy P

unread,
Dec 11, 2015, 5:02:16 PM12/11/15
to accelstepper
The power supply is a 12V, 6A power supply. I've finally got it to run, (no idea how, I just started from scratch and tried out the example, then my own code) but have just ran into the issue where the big easy driver becomes too hot -- enough that it can burn my finger, and I'm putting the potentiometer on the BED as low as I can without having the motor stop. I know this may not be an AccelStepper question, but again, any advice is very welcome. 

Brian Schmalz

unread,
Dec 11, 2015, 5:14:13 PM12/11/15
to accels...@googlegroups.com
Nancy,

One thing you have to watch out for is that the silk screen on the current adjust pot may not be correct. Make sure you're measuring the voltage on the test point as you turn the pot to make sure you know which direction is 'down' in current. (The voltage on the test point should go down as you turn the pot to reduce the current.) 

If you aren't able to keep the BED cool by turning down the current, then the next best thing would be to add a heatsink to the driver chip and/or add a small fan.

The other thing you could do, if your application doesn't involve constant motion (some don't) is to use the ENABLE pin on the BED to disable the motor driver outputs when you're not moving. This cuts down on heat production.

*Brian

Nancy P

unread,
Dec 11, 2015, 6:27:12 PM12/11/15
to accelstepper
Thanks a ton for all your help -- I have checked the voltages, and added a heatsink to it and hopefully that will help the overheating, but unfortunately I'd like this to be constantly moving. One last question -- do you think the motor being rated for a higher current has something to do with the overheating? Or the fact that I'm running it too slow (or too fast)? 

Brian Schmalz

unread,
Dec 11, 2015, 7:28:36 PM12/11/15
to accels...@googlegroups.com
Nancy,

Yes, it might be. If the motor's coil is too low of a resistance, the Big Easy Driver isn't able to properly current limit, and the result is hotter operation than otherwise. Motors with larger maximum currents will typically have lower coil resistances. The speed that you run it at should not make much difference in heating, actually. About the same amount of power will be dissipated as heat no matter what the speed, although the ratio of motor to driver heating may change somewhat.

*Brian
Reply all
Reply to author
Forward
0 new messages