24V stepper trouble, too many fried parts

So I have been trying to run a 24v stepper with my arduino uno to no avail. I have already fried 2 sparkfun easy drivers this week and one aaSN754410 trying another circuit. I have been scouring the internet for help but have still had no luck. So here is what I have done:

I hooked up my uno to the easydriver following the diagram provided on the ED/sparkfun product page, plugged everything in and what resulted were sparks and smoke from the load supply pin of the A3967 chip on the ED. So I've done that twice thinking maybe I soldered something poorly and shorted something.

I also tried following the stepper motorknob arduino example (http://arduino.cc/en/Tutorial/MotorKnob) and that resulted in the exploding SN754410.

I should also mention I'm quite new to this stuff. But I would really like to figure out what I need to do run this motor and I am willing to put in the time and effort to make it work. So I would greatly appreciate any help either figuring out what I did wrong or what other approach I could take to make it work.
Below are links to all the pieces I used (motor, power, etc)

wiring - http://bildr.org/2011/06/easydriver/
motor - STEPPER MOTORS
power - http://www.amazon.com/Universal-Adapter-15V-18-5V-19-5V/dp/B0027BUS0M/ref=sr_1_1?ie=UTF8&qid=1335829498&sr=8-1

Although the specification for that stepper says 12-24v, the current rating is 2.5A per phase and the resistance per phase is only 1 ohm. So the maximum steady voltage you may put across a winding when it is not stepping is 2.5v. The 12 or 24V only applies when it is stepping very fast, it's not safe to put anything more than 2.5v across it unless you have current limiting in place. If you ran it from 12v without any current limiting, it would take around 10A, which is why your motor drivers fried. Note the caption "Constant current driver" in the graph on the datasheet.

One possibility is to drive it using a stepper driver based on the L298N chip, run from 12v, with a 4.7 ohm 10W resistor in series with each winding to limit the current to 2A. Alternatively, use a stepper driver with current limiting (for example based on the L297 + L298) and no series resistor.

I would recommend against the series resistor. Not only is a 10W resistor pretty expensive and bulky, but it also will work as a space heater -- it's very inefficient.
Get a "chopping" or "current limiting" stepper driver, and you'll be fine.

dc42:
Although the specification for that stepper says 12-24v, the current rating is 2.5A per phase and the resistance per phase is only 1 ohm. So the maximum steady voltage you may put across a winding when it is not stepping is 2.5v. The 12 or 24V only applies when it is stepping very fast, it's not safe to put anything more than 2.5v across it unless you have current limiting in place. If you ran it from 12v without any current limiting, it would take around 10A, which is why your motor drivers fried. Note the caption "Constant current driver" in the graph on the datasheet.

If you did some research before posting you might have noticed that the A3967 chip in the EasyDriver is designed precisely to drive a low impedance motor from high voltage, its a chopper driver with current sense built in - it should "just work" (although it can't produce anything like 2.5A so its seriously underpowered for that motor.)

I would suspect that it might be struggling with such a low impedance motor (there are better chopper drives with faster output stages for instance), or it has been mis-wired or misconfigured.

My immediate advice is to check all the wiring carefully, run from a lower voltage at first instance (minimum is 7V), and monitor the current (the Easy Driver can do 750mA or so to the motor). Only if it behaves as expected do you ramp up the voltage. No-one who has ever developed motor drivers has ever run at full voltage and power in their first test (something always explodes).

The real solution will be to use a beefy chopper driver that can handle 2.5A such as the L6208, otherwise you'll never get much torque out of the motor.

MarkT:
My immediate advice is to check all the wiring carefully, run from a lower voltage at first instance (minimum is 7V), and monitor the current (the Easy Driver can do 750mA or so to the motor). Only if it behaves as expected do you ramp up the voltage. No-one who has ever developed motor drivers has ever run at full voltage and power in their first test (something always explodes).

The real solution will be to use a beefy chopper driver that can handle 2.5A such as the L6208, otherwise you'll never get much torque out of the motor.

After what I did to that driver do you think there is any life left in it to bother trying running again at a lower voltage?
To be honest I think I would rather pursue the "real solution", that way it will work better in the long run and I will probably learn more in the process (which would be good since that newbie label by my username is definitely accurate :slight_smile: )
With that in mind can anyone make a suggestion as to an "off the shelf" driver board that would be more appropriate for my application or a tutorial/example on how to wire the entire circuit using something like the L6208. Although I looked at some documentation for it and it made rough sense, it would still be quite a task for me to wire it simply based of the schematic.

By the way, as I am new to this forum I appreciate the responsiveness of everyone and am thankful for your willingness to help out someone like myself who is quite early in the learning process.

What is your price tolerance, and pain tolerance? You can choose one or the other :slight_smile:
Here's a 3 A 24 V stepper controller with "direction/step" inputs that you can wire to the Arduino board:
Two Phase Stepper Motor Driver 24-36VDC 0.9-3.0A Range — Circuit Specialists ($39.50)

Here's a chip that can easily do 3 A with the right MOSFET switches (such as BUK9277-55A) but you gotta build your own board:
http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/A3985.aspx

(You'll also need to arrange for the right voltage rails for the different parts of the driver if you do this)

And IF you build that 10A driver board, please let me know, 'cause I want one or two, too :slight_smile:

Well jwatte I'd probably say I have a higher pain tolerance than price tolerance, so I would prefer not to spend $40 on a driver but it wouldn't be the end of the world, plus I usually learn a lot more when I go through a little pain and break a few things. Also if I make a successful board I will let you know and maybe I can make a couple extras :slight_smile:

So a couple of drivers have been recommended to me, like that A3985 or the L6208 mentioned earlier, but can anyone point me in the direction of a good resource to learn how to take one of those and then build a board? I have come across a few different examples online but I wanted to see if anyone here had any good recommendations or advice on learning how to go about this. Cuz I'm kinda starting from scratch here, both in knowledge and in parts.

TBCal:
can anyone point me in the direction of a good resource to learn how to take one of those and then build a board?

Well, that's kind-of like asking "how do I become an electrical layout engineer?"
There are 18-month associate degrees at community colleges that probably give you the needed skills.
If you go all the way and take a 4-year BS EE, that would be overkill, but would probably have other useful benefits!
There are various electronics hobby sites around the web, and some of them may have tutorials that start from scratch.
I'd expect you to have to spend many months doing trial and error, and a fair amount of money on the necessary equipment.

If I were you, I'd pay the $40 plus shipping :slight_smile:

haha, ok thats the kind of response I needed. With the plethora of information and instruction surrounding all things arduino and motors I guess I just began to assume that there would be some kind of instruction about this as well. It looks like I'll be buying a stepper driver board in the near future.

I agree, buy the driver from CSI. I use 3 of these on my CNC router and they've given me over 2 years of trouble free service driving 3 amp steppers for hours at a time. Building any kind of power electronics can be fraught with peril and the loss of much magic smoke. If, however you want to explore making your own board here is the site to go to: http://pminmo.com/. These are all proven designs complete with pc board layouts.
Using small boards with single chip drivers is tricky if you get close to the current capacity due to the lack of heatsinking so I would derate the capacity by about half (the Easydriver board and others like the Pololu 4988 have trim pots to adjust the current limit). In the case of the SN754410 you had no current limiting at all so it's easy to see why it blew. Although this probably is not related to the problems you had I would caution you to never disconnect the motor while the board is powered (don't ask how I know ;)).

Yankee:
due to the lack of heatsinking

It is very much worth it to have some TO-220 and some DIP heat sinks and some thermal grease laying around. Buying a few of each, plus a syringe of thermal compound (typically found for CPU overclocking) should cost you less than $20, and will make some designs possible that otherwise would be a total pain.
Also, it's worth it to go for a few dollars for the "big" sinks -- the small, 25-cent flanges don't dissipate enough extra heat to be real problem solvers except in certain marginal cases.

jwatte:
It is very much worth it to have some TO-220 and some DIP heat sinks and some thermal grease laying around. Buying a few of each, plus a syringe of thermal compound (typically found for CPU overclocking) should cost you less than $20, and will make some designs possible that otherwise would be a total pain.
Also, it's worth it to go for a few dollars for the "big" sinks -- the small, 25-cent flanges don't dissipate enough extra heat to be real problem solvers except in certain marginal cases.

DIP heatsinks are not very effective. The problem is the thick layer of plastic between the chip and the heatsink. DIP chips that are intended to dissipate much power are designed to transfer heat to the ground legs or tabs of the chip, which can be soldered to areas of copper on a PCB. You won't achieve the same power dissipation capability with a stick-on heatsink.

TO220 heatsinks are a different matter, however when using mosfets for switching, unless the current being passed is large or the switching frequency high, it is usually possible to select a mosfet for which the dissipation is so low that a heatsink is not needed. Darlington power transistor are a different matter.

Heatsinks can be chosen logically - they should specify a thermal resistance in degrees C / watt - so if you know the power dissipated you can determine the temperature rise above ambient. Fan-assisted cooling is much more efficient and can be useful if there isn't much room for heatsink(s).

dc42:
DIP heatsinks are not very effective. The problem is the thick layer of plastic between the chip and the heatsink. DIP chips that are intended to dissipate much power are designed to transfer heat to the ground legs or tabs of the chip, which can be soldered to areas of copper on a PCB. You won't achieve the same power dissipation capability with a stick-on heatsink.

Right! If you have center cooling pins in the package, you want "vampire/bat wing" sinks, that actually attach to those pins in addition to the case. Also, different DIP case materials have different thermal performance -- various plastics, ceramics, etc. If you're designing this for real, then real package selection, cooling design, and trace/copper/pour layout, matters a lot! The advice
on keeping heat sinks around for experimentation is that you can often push your experiments further when those are available, than when they aren't.