Bi-polar step motor driver with MOSFETs

stirling

Joined Mar 11, 2010
52
I agree with t06afre, the LEDs in the optos may not have enough current through them to turn the transistor on.
Which is why I suggested bringing out the cathodes as *generally* a PP will sink more than it will source so *power* to anode and PP to cathodes. Active low to "trigger".
 

SgtWookie

Joined Jul 17, 2007
22,221
I'll bet that you have the same skinny traces routed everywhere on the board. Keep in mind that your steppers may need a few Amperes of current. You need to fatten up the traces in the H-bridge path - and don't forget the reverse EMF diodes, either.
 

Thread Starter

nerdegutta

Joined Dec 15, 2009
2,681
I'll bet that you have the same skinny traces routed everywhere on the board. Keep in mind that your steppers may need a few Amperes of current. You need to fatten up the traces in the H-bridge path - and don't forget the reverse EMF diodes, either.
Yes, I was thinking about 1mm thick traces. Will that be enough?
 

t06afre

Joined May 11, 2009
5,934
Yes, I was thinking about 1mm thick traces. Will that be enough?
You can "increase" the track width a great deal. By melting tin solder onto it. Perhaps not recommended for a commercial unit. But the trick works great on hobbyist basis. However 1mm may be way to thin even with solder applied. Here is a site you may find useful.
http://circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calculator/
http://circuitcalculator.com/wordpress/2006/03/12/pcb-via-calculator/
 
Last edited:

Thread Starter

nerdegutta

Joined Dec 15, 2009
2,681

SgtWookie

Joined Jul 17, 2007
22,221
Nerdegutta,
I'm not sure, but you might be able to upgrade to any version of 5.x with your Eagle license at no cost - but it may cost something to go to version 6.1 (the latest version). 5.11 is the highest version of V5.

V6.1 adds some interesting capabilities with pads and support for BGA's, along with some other stuff.

You can find out if it will cost to upgrade on this page:
https://www.cadsoft.de/buy-eagle/upgrade/?language=en

As far as increasing the track width - I'd go as wide as I could, while keeping at least 10 mils (0.254mm) between traces. It doesn't cost you anything to make the traces wider unless you have to make the board larger.

Roman Black saved a copy of PCBtemp on his website:
http://www.romanblack.com/pcbtemp.htm
It works quite well, and the application is very handy to have. Unfortunately for me, it won't run on Windows 7 64-bit.

The wider a trace is for a given length, the lower the parasitic inductance. You can somewhat decrease the resistance of a trace by adding solder to it, but solder has over 5x the resistance as copper does; it's preferable to add more copper (like soldering some bus wire along the length of the trace). Also, the wider your traces, the more it helps to dissipate heat by acting as a heat sink. Components get much of their cooling via traces.

I find it annoying that the autorouter uses 10 mils as the trace width; I haven't found a way to force it to use a wider trace while autorouting. If I could, I'd set the minimum to 24 mils - that's narrow enough to route one trace between the pins of a DIP IC.
 
Last edited:

THE_RB

Joined Feb 11, 2008
5,438
I was thinking of a 200 step per revolution motor. 1.8° per step.
Hi Nerdegutta, sorry if that sounded cheeky I was not trying to make a joke, and should have used more words to communicate better! :)

There are big benefits to being able to microstep a driver, and it can be done with a bipolar circuit very similar to yours and only needs a small addition.

What you need is to have 2 pins for each hbridge, one sets the direction of the hbridge and the other sets on/off. Then you can PWN the on/off pin, to adjust the motor current for that one coil.

If you look at most of the hbridge driver ICs they are driven in this way, with 4 pins, so each stepper coil hbridge has 2 control pins. TI have some nice stepper driver dual-hbridge ICs if you wanted an example.

I don't want to discourage your creative efforts but if you are going to the trouble of designing and paying for PCBs for a small extra cost you can just buy commercial stepper driver ICs with microstepping built in (to put on your own PCB). These will give big benefits in being able to use higher voltages (and still limiting current) and in microstepping which gives big benefits in smoother operation and higher speeds etc.
 

Thread Starter

nerdegutta

Joined Dec 15, 2009
2,681
Nerdegutta,
I'm not sure, but you might be able to upgrade to any version of 5.x with your Eagle license at no cost - but it may cost something to go to version 6.1 (the latest version). 5.11 is the highest version of V5.
I have downloaded the latest Eagle version, but when I try to run it, it just dies. :( I am a Linux guy, so I would be able to fix it, and I will, the next time I upgrade my system. Now I am running Ubuntu 10.04.

(I do have a win xp pc, and on that one I downloaded the latest version, but after the install was finished, a message came up that said something about an error, so I don't use it.)

V6.1 adds some interesting capabilities with pads and support for BGA's, along with some other stuff.

You can find out if it will cost to upgrade on this page:
https://www.cadsoft.de/buy-eagle/upgrade/?language=en
I got a licence file, and a product number, and I think that is valid for V6.1.

As far as increasing the track width - I'd go as wide as I could, while keeping at least 10 mils (0.254mm) between traces. It doesn't cost you anything to make the traces wider unless you have to make the board larger.
I have 0.4mm between traces.

Roman Black saved a copy of PCBtemp on his website:
http://www.romanblack.com/pcbtemp.htm
It works quite well, and the application is very handy to have. Unfortunately for me, it won't run on Windows 7 64-bit.
I'll check that out.

The wider a trace is for a given length, the lower the parasitic inductance. You can somewhat decrease the resistance of a trace by adding solder to it, but solder has over 5x the resistance as copper does; it's preferable to add more copper (like soldering some bus wire along the length of the trace). Also, the wider your traces, the more it helps to dissipate heat by acting as a heat sink. Components get much of their cooling via traces.
I'll make them as wide as I can.

I find it annoying that the autorouter uses 10 mils as the trace width; I haven't found a way to force it to use a wider trace while autorouting. If I could, I'd set the minimum to 24 mils - that's narrow enough to route one trace between the pins of a DIP IC.
I set the width in the Design Rule Check to 0.4mm, and then the autorouter uses that width...


Hi Nerdegutta, sorry if that sounded cheeky I was not trying to make a joke, and should have used more words to communicate better! :)
I didn't take it like that. :)

There are big benefits to being able to microstep a driver, and it can be done with a bipolar circuit very similar to yours and only needs a small addition.

What you need is to have 2 pins for each hbridge, one sets the direction of the hbridge and the other sets on/off. Then you can PWN the on/off pin, to adjust the motor current for that one coil.
I will try to implement that in the next version. :)

If you look at most of the hbridge driver ICs they are driven in this way, with 4 pins, so each stepper coil hbridge has 2 control pins. TI have some nice stepper driver dual-hbridge ICs if you wanted an example.

I don't want to discourage your creative efforts but if you are going to the trouble of designing and paying for PCBs for a small extra cost you can just buy commercial stepper driver ICs with microstepping built in (to put on your own PCB). These will give big benefits in being able to use higher voltages (and still limiting current) and in microstepping which gives big benefits in smoother operation and higher speeds etc.
I do this to try to learn and understand. And sometimes, the best way I learn, is to make it. Learning by doing. It is interesting, and the next time I buy some components, I'll add some of those IC's.
 
Top