|
||
10/29/07 |
|
|
What's a Micromouse?
|
| Weight | 650 gm |
| Motors | Stepper Motors x 2 (350gm) |
| Width | 85 mm |
| Centre of mass | ≈ 40 mm |
| Batteries | 8 x Ni-MH * |
| Sensors | 15 x Top-Down |
| Top Speed | 0.5 m/s |
| Acceleration | 0.7 m/s2 |
| Turns | In-Place |
| Diagonals | No |
* Batteries in pictures are different
PathFinder I has a pair of drive wheels in a wheelchair configuration.
The wheels are driven by a pair of stepper motors. Steering is
achieved by running the motors at different speeds. The wheels are
made of wood, and have a hard rubber grip over them. A castor wheel,
made from a small toy motor, balances the structure.
There is no chassis in PathFinder I. The
stepper motors are glued together, batteries glued to the motors and the
castor wheel glued to the batteries! Two long plastic IC carriers
glued to the motors support the circuit board and the sensor wings!
The circuit board and the sensor wings lie above height of the maze walls. So
the effective in-cell dimensions of the Micromouse are only 8.5 cm x 9.5 cm.
The two motors and the batteries form a major component of the total weight
of the Micromouse.
9 Ni-MH 1.2V 1000mAh rechargeable batteries power PathFinder I. The voltage of the battery pack ranges from about 13V (fully charged) to about 10v (near discharge). A 15V step-up switching regulator powers the stepper motors and a 5V step-down switching regulator powers rest of the electronics. Both regulators are > 90% efficient, so PathFinder I is pretty efficient on power consumption. PathFinder I can run more than an hour after a full charge! The step-up regulator ensures that a constant 15V is available to the motors even when the batteries are nearing discharge. This ensures that the torque provided by the motors does not deteriorate with the decreasing battery voltage.
The two stepper motors are 12V
type. They are overdriven at 15V in half-stepping Unipolar mode
(A-AB-B-BC-C-CD-D-DA). The driving mode gives the maximum precision
possible with a stepper motor. But in this mode the torque at higher
stepping frequency deteriorates due to the time required to attain maximum
current in the coil after each step.
PathFinder I now runs on dual coil Unipolar excitation mode
(AB-BC-CD-DA). The mode provides maximum torque from the stepper
motors and allows PathFinder I to gain even higher speeds.
Although the precision in driving the motors in dual-coil excitation is half
as compared to driving the motors in half-stepping mode, the speed advantage
gains over precision here.
The stepper motors expect a continuous smooth pulse train.
Once the pulse train messes up at speed, the motors are likely to just stop
turning rather than slowing down. The result will be a Micromouse that
suddenly swings around one wheel to examine the wall a bit more closely.
So the motor control software is written in such a way that it never changes
the frequency of stepping instantaneously. When starting, it slowly
accelerates the motors and when stopping it slowly decelerates them.
The sensors are an array of fifteen IR transmitter-receiver pairs which are
placed at about 1 cm above the top wall height. These sensors live on
wings and look down at the walls from above. There are seven
transmitter-receiver pairs each on the left and right sides to detect side
walls and one transmitter-receiver pair in front to detect front wall.
The distance between adjacent transmitter-receiver pairs on the side wings
is about 1 cm. The position of the sensor wings is such that when the
Micromouse is in the center of a cell, the maze walls are below the 3rd
sensor on each side. The total wing span is 25 cm and the outermost
two sensors on both sides detect walls in adjacent cells which are
perpendicular to direction of travel.
The transmitters are IR diodes and receivers are IR
photodiodes with a purple IR filter. If a wall is present under a
sensor, IR is reflected from the transmitter to the receiver and the IR
photodiode starts conducting. Ambient light - particularly sunlight,
which is high on IR may also cause the sensors to respond. So care is
taken to properly shield the IR photodiodes from ambient light.
The IR photodiodes form a voltage divider, the output voltage
of which increases with more IR incident on the IR photodiodes. The
output of this voltage divider goes to a comparator, which compares it with
a reference voltage. The reference voltage is set so as to take care
of the ambient light conditions. The 15 sensors forming 15 voltage
dividers interface to 15 comparators. The outputs of the comparators
go to the microcontroller through a 16-to-1 multiplexer. The
multiplexer is used to reduce the number of I/O pins required on the
microcontroller.
The brain of PathFinder I is the Atmel AVR 90S8515 microcontroller with the following features:
|
|
Up to 8 MIPS throughput at 8 MHz |
|
|
8K In-System Serial Programmable Flash Memory |
|
|
512 Bytes SRAM + 512 Bytes EEPROM |
|
|
8-bit Timer/Counter |
|
|
16-bit Timer/Counter - Dual PWM |
|
|
Serial UART |
|
|
Master/Slave SPI Interface |
A big advantage of using this microcontroller is the In-System Serial
programming which means that there is no need to pull out the
microcontroller to program it, just plug in the 5-pin programmer socket of
the serial programmer (connected to a computer serial port) and you are
done! This is especially useful during development and testing.
PathFinder I circuit is laid out on two
boards. The small board near the sensors is the power supply and
motor
driver
board. The large board is the controller board. This board hosts the
90S8515 microcontroller, 32K external memory, 16-to-1 multiplexer, 16
comparators for sensor inputs, a potentiometer to set the sensor reference
voltage, 5-pin programmer connector, 3-pin serial connector, 4-pin connector
for motor driver board, 2-pin power supply connector, a power ON/OFF switch,
two press switches for start/stop/reset, three red LEDs to display sensor
data, a blue LED to display searching/fast run status, a green LED as power
indicator.
The software does the following tasks:
|
|
Reading / Analyzing sensor data |
|
|
Storing wall information |
|
|
Controlling the motors |
|
|
Aligning the Micromouse, if it drifts from the centre of a cell while moving |
|
|
Finding and following the shortest path |
This site was last updated 04/28/07