3.2
Motors and motor control
Each wheel is moved by a DC motor coupled with the wheel through a 43.2:1
reduction. The motor itself having a 27:1 reduction and the gear box having
a 1.6:1 reduction. The motor has its own embedded incremental encoder,
placed on the motor axis, gives 16 pulses per revolution of the motor. This
allows a resolution of 691.2 per revolution of the wheel that corresponds to
54 pulses per ten millimeter of path of the robot (diameter of the wheel =
41mm, thus each revolution the robot make 128.8mm). By default, the robot
is set in mode encoder resolution x4, in this case for each wheel revolution
the controller motor make 2764 measures. The other encoder configuration
mode is 2x (1382 measures/turn).
Reminder: 1 revolution = 128.8mm = 2764 measures.
Each motor is driven by its own motor controller implemented in a
PIC18F4431. The PIC has direct control on the motor power through a
double H bridge and can read the pulses of the incremental encoder.
The motor control block acts as slave devices on the I2C bus. When the
KoreBotLE is not connected to the Khepera III robot, the main robot CPU
will turns itself into an i2c master. When the KoreBotLE is connectedm, it
becomes the i2c master.
Each motor controller switches its motor ON and OFF at a given fre-
quency and during a given time. By this way, the motor react to the time
average of the power supply, which can be modified by changing the period
the motor is switched ON. This means that only the ratio between ON and
OFF periods is modified, as illustrated in figure 3.6. This power control
method is called ”pulse width modulation” (PWM). The PWM value is
defined as the time the motor is switched ON.
Khepera III manual ver 2.2
12