Millathe Stepper Driver v0.2: waltz

In order to power the millathe's axes I decided to create a stepper driver with a higher current capacity than most hobby stepper controllers out there. Driving a mill seems to be above the capabilities of standard hobby stepper motors. Below is a picture of the board. I named this version 'waltz'.

Waltz v0.2


The waltz boards are currently being manufactured overseas in China at Myro PCB. Unfortunately as it turns out the first week of October is 'National Day' in China and the the factory closed down for the week a few days after the order was put in. On the flipside this gave me time to finalize/order components before the boards arrived. 

waltz v0.2

The waltz board is designed to fit in a 20 position 0.1" spacing card edge connector, this makes the board 53x62.5mm. Each board has two full bridges made to power a single bipolar stepper motor. The control of the motor is handled by an Allegro A4989. The FETs to be used in the half bridge are FDD8778 in a TO-263 package, each has 14mOhm of on resistance. These were chosen because of their relatively low gate capacitance/charge to reduce switching losses, however the majority of losses in this system will be ohmic. The Allegro A4989 was chosen because it  seemed like a good all in one solution for various  features such as current control, fast current decay and, up to 16th microstepping all while still supporting external FETs. The only two control inputs to the chip required are step and direction.

This brings us to how this system is going to be controlled. The plan is that several waltz boards will be plugged into a single motherboard carrying an arduino nano. Card edge connectors seemed like a modular way to stack multiple stepper drivers on a single board while having large amounts of connector contact area for the power paths and conveniently allowing for data to come in the same connector. The Arduino nano will partly be the brains of the operation. A computer will stream the control information (step and direction) for all of the waltz boards to the Arduino which will act as a buffer/ demultiplexer and timer making sure all of the outputs are  switched synchonously and with proper timing. This type of setup will take heavy calculation off of the arduino however the tool paths/ step patterns will have to be preprocessed on a computer before being sent to the arduino.

Concerns /Issues/Thoughts/Modifications:
-The current ripple for this system could be quite large depending what motor is chosen. That being said each capacitor is rated to pretty high ripple >4A ripple. However I would like to raise the input voltage to the motors, which would make this more of a concern.
-I would  like to increase the voltage of the system allowing for faster stepping and more awesomeness, this requires new bus caps as they are the limiting factor for the motor voltage, currently they are only rated to 16V.
-Screw these capacitors.
-I Screwed up the zener gate clamp pinout on using a 3-pin package...derp. In the mean time the diodes will have be added in a weird orientation. can be fixed on next rev.

That is all on the waltz board for now more updates when they come in and the mother board is ready to go.