Wednesday, July 19, 2006

 

Feedback control of brushed DC motor speed

Okay, I've done part of what Adrian wanted. You tell my control board how fast you want the G4 motor to go, the units are encoder pulses per unit of time, and it takes you there and keeps you there. It keeps you within a pulse per unit of time of where you want to be.

There's a tradeoff with the G4, which runs at < 70 rpm. If you keep your unit of time low you get faster motor response, but you also get fewer pulses per unit of time and therefore less control resolution. Make the unit of time too long and you will get whatever drift in motor speed that can happen within that unit of time. You will also be slower to correct when you overshoot.

The magnitude of these problems should be tremendously smaller with the Frankenmotors since they operate at anywhere from 250 -2270 rpm.

One nice feature of the control algorithm is that if you are operating at the low end of the motor's range it will take you down to wherever the lowest speed that the motor will run rather than letting you stall.

Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]