Tuesday, August 23, 2011

MakerBot DC Servo Controller and Quadrature Divider

I've been working on putting together the parts that will run one of the Makery robot arms for an art show. Part of this involves getting a MakerBot DC Servo controller working with the 1000 ppr servos on the arm. At moderate speeds the encoder output is over 25kHz, which is apparently too fast for the servo controller software. If the encoder output changes at all the controller gets confused and runs away.

To address this I loaded a 3 channel quadrature divider program onto an ATmega168. This will divide the quadrature pulse stream by 16 (it is configurable, powers of two up to 16), which should make it slow enough for the servo controller to handle it pretty easily.

I uploaded a video of it running, and added a bazillion annotation bubbles.

The next step is to feed it a pulse stream and see how well it responds.
Post a Comment