RoboCar Hardware Architecture
Ver 1.0 -- 01/19/2002
© M. Schippling -- 1/19/02
Index
Overview
The RoboCar electronic hardware consists of:
Input sensors;
Output motors and devices;
I/O Processor card with TINI Java piggyback;
Power driver card and battery;
There may be other on-board electronics as required for
wireless links and other device specific functions.
Signal Conditioning
Collision Detectors
Each RoboCar bumper will operate a microswitch
when a collision occurs. The switches will be debounced and feed Schmidt
trigger buffers built into the RA binary inputs on the I/O Processor's
PIC chip.
Battery Indicators
Level -- An analog voltage relative to the battery
level. The raw 12 volts from the battery will feed a differential opamp
input. The other differential input will be an 11v reference voltage. The
range of the signal will be approximately 0-3.5 volts and will not be reliable
when the battery drops below 11 volts, however it will be sufficient
to gauge the battery charge level and the need for recharging.
Charge -- An analog voltage relative to the current flow in
and out of the battery. A low value resistor will be inserted between the
battery and the rest of the system. The voltage across this resistor will
feed a differential opamp which amplifies the relative current flow value.
The range of the signal will be approximately 0-3.5 volts, where a voltage
of approximately half (1.75v) indicates no current flow to the battery
and levels above and below that will indicate charge (+) and discharge
(-) rates respectively.
The outputs of both battery indicator opamps will feed analog inputs
on the I/O Processor's PIC chip.
Locator Signal
The Locator Signal is a serial infrared signal
broadcast from various RoboCar devices. It is a standard PWM data stream
using a 40Khz carrier. It is sensed by two separate systems, one to collect
the actual data from all directions, and one to detect the strength of
any Locator Signal directly in front of the robot.
Data -- A full circle photo-transistor array will pickup any
Locator Signals which are in range. This detector will feed an opamp amplifier
and then be demodulated into serial data and fed to a CCP (Capture) input
on the I/O Processor's PIC chip.
Strength -- A narrow beam photo-transistor sensor mounted on
the front of the RoboCar. The detector will feed an opamp amplifier and
high-pass filter to eliminate non-Locator Signals. This signal then feeds
an integrator which will produce an output voltage relative to the absolute
strength of the signal in the range of 0-3.5 volts. The resulting voltage
will feed an analog input on the I/O Processor's PIC chip where it will
be converted into an 8 bit signal strength value.
Signal Carrier -- The 20Mhz PIC chip clock will be divided by
512 to produce the Locator Signal carrier. A PIC chip CCP (Compare) output
will gate the clock to produce the RoboCar's Locator Signal data stream.
This stream will feed a driver on the power card.
PIR Heat/Motion Detector
A Passive InfraRed sensor will be mounted on the front
of the RoboCar. The output from the PIR will be amplified and cleaned up
into a short duration pulse to be fed to a binary input on the I/O Processor's
PIC chip.
Output Controls
Both the Drive and Turn controls can be used on cars
that have two independent drive motors, or on cars that have a single drive
motor and a separate steering motor or solenoid. The descriptions below
assume the latter, however the former (2 drive motors) is a more practical
mechanism for heading control. On systems with 2 drive motors the wheels
can be run at different speeds and in different directions to implement
steering.
Drive Motor
The RoboCar drive is a simple DC motor. Two RB outputs
from the I/O Processor's PIC chip will feed a TTL open collector
buffers who's outputs will be wire-ORed together with appropriate 12v pullup
resistors. The output of this will provide 3 levels of current drive to
the drive motor amplifier on the power card. When both RB output bits are
off no drive current will be produced and the drive motor will be stopped.
Turn Motor
The RoboCar steering mechanism is also a simple DC motor.
Two RB outputs from the I/O Processor's Pic chip will feed a system identical
to the drive motor described above. In dual motor drive configurations
this system can be adapted to operate the second motor with appropriate
modifications to the PIC chip programming.
Locator Signal
The output Locator Signal is driven by a two byte serial
data stream from the Main Processor. The locator data will be formatted
by the I/O Processor PIC chip which will use one of its CCP Compare output
pins. This output will drive a circuit that modulates a 40 kHz carrier
(nominally the same technique as is used for standard IR remote control).
The modulation circuit is described in the Signal Conditioning section
above. The modulated signal feeds a driver on the power card which flashes
a 360 degree array of IR LED's mounted on top of the RoboCar.
Power System
The battery monitor and charging system, voltage regulator,
and the drivers for the motors and locator signal LED's will be mounted
on one
power circuit card in order to localize heat sinks and wiring.
The LED drive is a simple NPN darlington transistor with appropriate current
limiting resistors. The motor drivers are modified H-bridges capable of
supplying variable currents with either leg of their outputs being positive
(in order to reverse the DC motors).
The Battery circuit contains a diode, to prevent the charging connector
from shorting or being reverse-connected, and a small value resistor to
act as the current detector. The level detector is a comparison between
a known low battery voltage reference and the raw battery voltage. Both
the current and level detector outputs are sent to opamps on the I/O Processor
card for amplification and level shifting before being fed into analog
inputs of the PIC chip.
The voltage regulator is a standard 5v chip with a current limiting
resistor and diode to isolate the input filter capacitor from sudden fluctuations
and noise in the raw supply voltage caused by motor and charging circuits.
Network and Radio Interface
TBD. Not planned for initial prototype. The Ethernet
and serial ports will run the standard TINI `slush' shell and can be used
for monitoring and controlling the RoboCar. The radio link will be added
as time and money permit. Possible technologies are 802.11 or Bluetooth.