I recently designed a stepper motor driver board using the Allegro A4989. It requires external MOSFETs. My driver is designed for a specific motor for the CNC machine I plan to build. The stepper motor takes 3.5 amps and has 2.4 mH inductance.
I chose components by sorting by price, and I ended up with some really tiny FETs, only 1.6 mm square! Also, the current sense resistors are tiny, only 0603 (reverse) size - inch size .06 by .03, with the leads on the long edges.
This is the MOSFET data sheet:
http://www.vishay.com/docs/62715/sib456dk.pdf. It says they can do up to 5 or 6 amps, but my question is, how to be sure they can carry that much current in a real-world application? My controller limits the current at 3.5 amps, but that still seems like too much for such a tiny component. I laid out the board with large copper areas with solid connections to the drain and source pads. The traces carrying the main current are 4 mm wide, and by the MOSFETs I used filled copper regions of at least 50 square mm. If I have the board made with 2-oz copper, will that suffice for the 3.5 amps of current? I did the same thing with the current sense resistors - a filled copper area wider than 4 mm tapers down to the 1.6 mm wide pad of the resistor. The sense resistors are only 36 mOhm, so they are not dissipating much power, but I still worry about them being big enough to carry the current.
This was the first design I have done that is this complicated (84 components total), and I think my main problem was not understanding the size difference between components until I started laying out the board. The Schottky diodes I chose to protect the MOSFETs from reverse voltage are a SMB footprint, and they are small (compared to my finger, for instance), but still huge compared to the MOSFETs themselves. I feel kind of silly using such a huge diode next to such a small MOSFET.
Other questions:
Should I add a ground plane? I usually do one, but I didn't on this board. I guess I was trying to keep all my electrons in a row.
This design includes an on-board u78M05 voltage regulator (5 volts at 1/2 amp). External power will be 12 volts (regulated to 5 volts by the regulator), and 36 volts for driving the motor. I realized after I finished the design that I had used the 5-volt regulator output as a reference voltage, through a voltage divider made from two 1% resistors. I think maybe this was my worst error, since this will not be such a stable reference.
I already bought enough components for six boards. I think the next version of this board will have some slightly larger current-carrying components, and a better voltage reference, but should I go ahead and build some of these for testing? I can't decide if this will be acceptable for driving the CNC machine I am making, or if I should redesign the board, and not build any of version 1.
I attached part of a screenshot from KiCad, but it's not detailed enough to see the individual pins on the A4989. That's another very small component!