I am working on a PID control loop for a brushed DC motor, and everythin works fine and dandy at high speeds. However, the system see a wid variety of loads, even at low speeds, and I am having trouble controllin this situation. I have used a gearbox and this obviously helps out a ton but am wondering if anyone has pointers on getting it to work on a moto without a gearbox (other than over sizing the crap out of the motor)? Th motor has a 500 count encoder which I am using a x4 count on a dsPIC, so have 2000 pulses per revolution. I have tried interrupting on every pulse and expected time per pulse and recalculated the error, but to no avail. have tried counting pulses over longer durations without much luck. Th system is really sensitive at low speeds.
Oh, and the goal is constant speed control. Nothing else. Thanks for an suggestions!