RP6 ROBOT SYSTEM - 2. The RP6 in detail
2.3.4. Bumpers
There is a small PCB with two micro switches with long levers mounted in front of the
Robot. It protects the IR LEDs on the sensor-PCB from being damaged if the robot ac-
cidently hits an obstacle. With these switches the Microcontroller can detect collisions
and reverse the robot's direction, turn around and then go on with moving forwards.
The switches are connected to ports already used by LEDs. Thus they do not occupy
free ports of the Microcontroller. These dual usage causes the LEDs to light up as soon
as one of the switches is pressed down! However, the switches will only be hit occa-
sionally and activated LEDs will not disturb anything then.
The bumper PCB may also be removed and for example replaced by a kick/collecting
device for balls or something else.
2.3.5. Motor Current Sensors
Each of the two motor current sensor circuits contains a
power resistor. Ohm's Law
U
=
R
⋅
I
tells us that the voltage
drop at a resistor is proportional to the current flow
through it!
In order to prevent excessive voltage drops at these resist-
ors, they need to have a very small resistance value. Here
we used 0.1 Ohm.
With such a tiny value, the voltage drop is very small (0.1V at a 1A current) and has
to be amplified before the A/D-conversion can take place. This is performed by a so-
called operational amplifier (opamp). The RP6 uses an opamp for each individual cur-
rent sensor. The measureable current range is about 1.8A. This current results in a
voltage drop of 0.18V at the power resistor and an opamp output voltage of approx-
imately 4V. This is the maximum output voltage for the opamp with 5V power supply.
The used power resistors are 10% tolerance types, the resistors at the opamp are 5%
ones. All components are non-precision components and you may observe measure-
ment deviations of up to 270mA if you do not calibrate this! However we only need a
roughly estimated current level to detect critical motor load conditions. The robot will
reliably detect blocked/heavily loaded motors and even defective motors or odometer
wheel sensors! DC-Motors draw more current the higher the load is (Torque). With
blocked Motors, the current gets very high for our motors. This is detected by the
Software and an emergency shutdown is initiated. If this would not be done, the Mo-
tors would get very hot and and this (and the high torque) damages them over time.
If an encoder fails – whatever may have caused this - the system can reliably detect
this condition, too. Of course, the measured velocity would be zero. But if the motor
drivers run at full power and the current sensors detect only low currents (which im-
plies that the motors are not blocked!) you may conclude either motor or encoder fail-
ure or both. For example such a condition can arise if you forget to activate the
sensors in software ...
- 22 -