User Manual
MCP Series 
Brushed DC Motor Controllers
MCP Series User Manual
88
3. Once the motor has some semblance of control you can set a moderate speed. Then start 
increasing the P value until the speed reading is near the set value. If the motor feels like it is 
vibrating at higher P values you should reduce the P value to about 2/3rds that value. Move on 
to the I setting.
4. Start increasing the I setting. You will usually want to increase this value by .1 increments. 
The I value helps the motor reach the exact speed specied. Too high an I value will also cause 
the motor to feel rough/vibrate. This is because the motor will over shoot the set speed and then 
the controller will reduce power to get the speed back down which will also under shoot and this 
will continue oscillating back and forth form too fast to too slow, causing a vibration in the motor.
5. Once P and I are set reasonably well usually you will leave D = 0. D is only required if you are 
unable to get reasonable speed control out of the motor using just P and I. D will help dampen 
P and I over shoot allowing higher P and I values, but D also increases noise in the calculation 
which can cause oscillations in the speed as well.
2.4.7 Manual Position Calibration Procedure
1. Position mode requires the Velocity mode QPPS value be set as described above. For simple 
Position control you can set Velocity P, I and D all to 0.
2. Set the Position I and D settings to 0. Set the P setting to 2000 as a reasonable starting 
point. To test the motor you must also set the Speed argument to some value. We recommend 
setting it to the same value as the QPPS setting(eg maximum motor speed). Set the minimum 
and maximum position values to safe numbers. If your motor has no dead stops this can be +-2 
billion. If your motor has specic dead stops(like on a linear actuator) you will need to manually 
move the motor to its dead stops to determine these numbers. Leave some margin infront of 
each deadstop. Note that when using quadrature encoders you will need to home your motor on 
every power up since the quadrature readings are all relative to the starting position unless you 
set/reset the encoder values.
3. At this point the motor should move in the appropriate direction and stop, not necessarily 
close to the set position when you move the slider. Increase the P setting until the position 
is over shooting some each time you change the position slider. Now start increasing the D 
setting(leave I at 0). Increasing D will add dampening to the movement when getting close 
to the set position. This will help prevent the over shoot. D will usually be anywhere from 5 to 
20 times larger than P but not always. Continue increasing P and D until the motor is working 
reasonably well. Once it is you have tuned a simple PD system.
4. Once your position control is acting relatively smoothly and coming close to the set position 
you can think about adjusting the I setting. Adding I will help reach the exact set point specied 
but in most motor systems there is enough slop in the gears that instead you will end up causing 
an oscillation around the specied position. This is called hunting. The I setting causes this when 
there is any slop in the motor/encoder/gear train. You can compensate some for this by adding 
deadzone. Deadzone is the area around the specied position the controller will consider to be 
equal to the position specied.
5. One more setting must be adjusted in order to use the I setting. The Imax value sets the 
maximum wind up allowed for the I setting calculation. Increasing Imax will allow I to affect a 
larger amount of the movement of the motor but will also allow the system to oscillate if used 
with a badly tuned I and/or set too high.










