User Manual
RoboClaw Series 
Brushed DC Motor Controllers
RoboClaw Series User Manual
83
BASICMICRO
Manual Velocity Calibration Procedure
1. Determine the quadrature pulses per second(QPPS) value for your motor. The simplest 
method to do this is to run the Motor at 100% duty using Ion Studio and read back the speed 
value from the encoder attached to the motor. If you are unable to run the motor like this due to 
physical constraints you will need to estimate the maximum speed in encoder counts the motor 
can produce.
2. Set the initial P,I and D values in the Velocity control window to 1,0 and 0. Try moving the 
motor using the slider controls in IonMotion. If the motor does not move it may not be wired 
correctly or the P value needs to be increased. If the motor immediately runs at max speed 
when you change the slider position you probably have the motor or encoder wires reversed. 
The motor is trying to go at the speed specied but the encoder reading is coming back in the 
opposite direction so the motor increases power until it eventually hits 100% power. Reverse the 
encoder or motor wires(not both) and test again.
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.
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.










