DT03 Final
DT03 Final
DT03 Final
Design Team 3
Joseph M. McGlinchy
Matthew J. Taschner
Thomas V. Vo
Faculty Advisor
ii
White Line Detection.................................................................................................... 42
Flame Detection ............................................................................................................ 43
Digital Compass............................................................................................................ 47
Ultrasonic Rangers........................................................................................................ 48
Infrared.......................................................................................................................... 48
System Testing.............................................................................................................. 50
Schematics .................................................................................................................... 50
Financial Budget ............................................................................................................... 52
Original Labor Cost ...................................................................................................... 52
Actual Labor Cost ......................................................................................................... 52
Material Cost................................................................................................................. 53
Project Schedule................................................................................................................ 56
Design Team Information ................................................................................................. 60
Conclusions and Recommendations ................................................................................. 60
References and Acknowledgments ................................................................................... 61
Table of Figures
Figure 1: Different curve relationships for the Transmotec 12V motor ............................ 5
Figure 2: Transmotoec SD3729 spur DC gear motor with encoder option ....................... 6
Figure 3: Output waveform of the motor's encoders in digital form ................................. 6
Figure 4: H-Bridge Schematic for control of DC motors .................................................. 7
Figure 5: One cycle of a Pulse Width Modulation (PWM) signal..................................... 8
Figure 6: H-Bridge schematic for the PCB layout design ................................................. 9
Figure 7: H-Bridge PCB schematic populated with the appropriate components ........... 10
Figure 8: Audio Detection Circuit .................................................................................... 11
Figure 9: SRF05 Timing Diagram with Trigger and Echo on the same line, courtesy of
Robot Electronics.............................................................................................................. 11
Figure 10: Pinout for Devantech SRF05 Ultrasonic Ranger, courtesy of Robot Electronics
........................................................................................................................................... 12
Figure 11 Output voltage characteristic of Sharp GP2D120, courtesy of Acroname....... 14
Figure 12 Circuit schematic for detecting a white line ..................................................... 15
Figure 13 White line detector layout on bottom of robot ................................................. 16
Figure 14 Photodiode Spectral Responsivity, courtesy of Texas Advanced Optical
Solutions ........................................................................................................................... 16
Figure 15: Sensitivity pattern for Hamamatsu UVTRON Flame Sensor, courtesy of
Hamamatsu ....................................................................................................................... 17
Figure 16: Simplified block diagram of drive circuit used to implement Hamamatsu
UVTRON R2868 Flame Detector, courtesy of Hamamatsu ............................................ 17
Figure 17: Sensitivity Diagram for LTR-4206E NPN phototransistor, courtesy of Lite-On
Electronics......................................................................................................................... 18
Figure 18: Layout of 3 VIRFL flame detectors on second level of robot......................... 19
Figure 19: Example of a CO2 bike pump to be used as the flame extinguisher courtesy of
www.cyclesense.co.uk ...................................................................................................... 20
Figure 20: General picture of actuator and bike pump configuration.............................. 21
Figure 21: Actuator schematic displaying relay model and DC solenoid ....................... 21
iii
Figure 22: Message format from Holocon to PIC33F that contains a direction and
distance command............................................................................................................. 23
Figure 23: House model arena divided into grids............................................................. 24
Figure 24: Wheel to be used on robot courtesy of www.trossenrobotics.com ................ 32
Figure 25: Hub insert for wheel bore with 1/8" keyway courtesy of
www.trossenrobotics.com................................................................................................. 33
Figure 26: Physical design of H-Bridge on heat sink ...................................................... 33
Figure 27: Overall 3-D View of robot. ............................................................................. 35
Figure 28: Robot after full construction........................................................................... 36
Figure 29: View of robot from the front of robot ............................................................. 37
Figure 30: View of robot from the side with typical candle length. ................................. 38
Figure 31: View of robot from the top.............................................................................. 38
Figure 32: View from bottom of robot ............................................................................. 39
Figure 33: Quadrature encoder output waveform............................................................ 40
Figure 34: 3-4kHz tone detected by the microphone, and 5VDC signal output of NAND
gate.................................................................................................................................... 41
Figure 35: White Line Detector screen captures (CW from top right). (a)Both detectors
over black surface. (b)Both detectors over white surface. (c)Left detector over white
surface. (d) Right detector over white surface. ................................................................. 43
Figure 36: Output waveform of UVTRON sensor's drive circuit..................................... 44
Figure 37: Testing set-up for VIRFL sensors ................................................................... 45
Figure 38: Ultrasonic Sensor image obtained from testing. ............................................. 48
Figure 39: Linearized Sharp IR data for GP2D120. ......................................................... 49
Figure 40: Higher level schematic for sensor connections ............................................... 50
Figure 41: Higher level schematic for sensor/actuator connections to microcontrollers.. 51
Figure 42: Circuit Diagram for H-Bridge ......................................................................... 51
Figure 43: Circuit Diagram for Audio Detection Circuit.................................................. 52
Figure 44: Design Gantt Chart for project. ....................................................................... 57
Figure 45: Implementation Gantt Chart for project ......................................................... 58
Figure 46: Actual Gantt Chart for project........................................................................ 59
Table of Tables
Table 1: Power calculations for all components ................................................................ 4
Table 2: Direction commands with corresponding values given from Holocon to PIC33F.
........................................................................................................................................... 23
Table 3: Wheel Specifications ......................................................................................... 32
Table 4: Data for candle flame further away from robot. ................................................. 45
Table 5: Data for candle flame close to robot................................................................... 46
Table 6: Table of A/D values found based off above graph ............................................. 49
iv
v
Abstract
Trinity College hosts an annual Robot Fire-Fighting contest drawing participants from
around the world. The contestants vary in age, skill level, and experience, ranging from
middle school students, college students, professors and all other robot enthusiasts. The
purpose of this contest is to simulate the real-world operation of an autonomous robot
providing a fire protection function in a house. The situation being simulated is a robot
inside a home responding to a smoke detector going off by searching the house for a fire
and putting it out as fast as possible. The contest is used as an educational tool while
simultaneously promoting advancements in the field of robotics. This robot will first be
activated by a smoke alarm signal, which then will proceed throughout the mock
household and search for a flame. Upon finding the flame, the robot will extinguish it by
actuating a pressurized CO2 cartridge. Once the flame is out, the robot will return to its
original starting position in the quickest amount of time possible. There is no weight
restriction for this robot, but in order to maximize its speed and performance the robot
will be light and small in size.
Introduction
Statement of Need
Problem Definition
Goals
Objectives
The robot must be able to navigate through the arena and search for a
flame in a random room. Upon locating the flame, the robot must be able
to put it out using some type of extinguishing device and then return to its
original starting location in the arena. Size of the robot must be of
consideration, but weight is not an issue.
1
Constraints
The robot must be capable of performing these actions within the shortest
amount of time possible. It has a maximum of 5 minutes to perform a run
in the arena. The robot must not mark or damage any of the walls in the
arena. It cannot get stuck in a continuous loop more than 5 times. The
robot has no weight restriction, but it must be capable of fitting into a 31
cm long by 31 cm wide by 27 cm high box.
Design Specifications
Power System
The entire robot will be supplied by 2 packs of rechargeable Lithium Ion batteries.
All of these power supplies will be at a potential of 14.8V. The motors being
used are rated for 12VDC, however using the 14.8V supply will suffice. The
14.8V must be stepped down to 3.3V for the controller of the motors as well as to
5V for the sensors. One supply will be used for both of the motors while the other
supply will be used for the rest of the components. The robot must be capable of
performing all of its actions for up to an hour. This means the supplies must have
a total capacity to support this specification.
Mechanical Specifications
Since there is a time limit (5 minutes) to each run in the arena, the robot must be
able to move quickly and efficiently. The maximum speed that the robot will be
designed to move will be 5 ft/sec. The robot will be constructed with the thought
in mind that the arena has corners in which the robot has the potential to get stuck
in. Therefore, the body will be circular and the robot will have a zero degree
turning radius. There is no weight limit for the competition, but keeping the robot
light will give the robot more speed and agility. The size of the robot must also
be considered since it must be able to fit in a box measuring 31 cm long by 31 cm
wide by 27 cm high.
Sensors
To determine how far away a wall or object is from the robot, ultrasonic and
infrared rangers will be employed. Ultrasonic range finders will be used on the
four sides of the robot and will have a distance sensing range of 8cm to 4m. The
infrared range finders will be used on the left, right, and front of the robot in order
to detect the presence of a wall. The infrared range finders will have a distance
sensing range of 3cm 40cm.
To detect the presence and location of the lit candle, three IR flame sensors will
be mounted on the front of the robot and one UV sensor will be mounted on each
side of the robot in order to detect the presence of a flame. The range of detection
2
of the IR sensors needs to be from 1cm to 1m. The range of detection of the UV
sensor needs to be 1cm to 2m.
A photodiode and LED circuit will be placed on the underside of the robot so that
it can detect the white lines marking the entrance to each room of the arena as
well as the white 30 cm radius solid circle surrounding the candle.
Actuator
There will be only one actuator on the robot so it can extinguish the flame. Since
there are time reductions given to robots that do not use air flow to put out the
flame, a pressurized CO2 cartridge will be used for extinguishing.
Locomotion
In order to move about the arena, the robot will consist of two DC geared motors.
Geared motors are being used in order to produce the right amount of torque. The
weight of the robot is estimated to be about 20 pounds. With this in mind, as well
as 4 inch diameter wheels, these motors need to produce at least 0.0375 - 0.0625
ft-lbs of torque for each size wheel respectively. The motor needs to be able to
produce speeds up to 290 RPM.
Power System
3
of 2A, this 4400mAh battery pack is well suited to actually exceed the
requirements. Size of the battery as well as cost must be taken into consideration
and this battery meets both of these requirements.
As mentioned, a separate 14.8V Li-Ion battery will be used to supply the sensors,
microcontrollers, and actuator. However, this battery does not need the same
capacity as the supplies for the motors, but using the same type of battery allows
the robot to be consistent and symmetrical. Again, size and cost was considered
and this type of battery met these specifications. As seen in Table 1, the current
drawn by all the sensors, microcontrollers, and actuator is very small,
approximately 1700mA. With the supply being used for these components, this
supply lasts more than three hours which well exceeds the specifications. Since
all the sensors have an input rating of 5V, a voltage regulator must be used to step
down the 14.8V from the power supply. Another voltage regulator must be used
to step down the voltage to 3.3V for the dsPIC33F microcontroller.
Motor Specifications
In order to determine what kind of motors would be suitable for the robot,
estimations and calculations were performed. The main quantities that must be
considered are the minimum torque the motors need to produce, the minimum
speed of the shaft, and the power that the motors need to produce. The overall
weight of the robot was estimated at 20 pounds and the actual weight was less
than 20 lbs. The coefficient of rolling friction (on pavement R = 0.015), the
desired maximum speed of the robot (5ft/sec), and the size of the wheels (4 inch
diameter) were used to aid in the determination of the appropriate motor.
With the numbers given above, the power that the motors would need to produce
was calculated to be about 2 W. In order to determine the torque, the angular
4
speed of the shaft must be known. Using the maximum speed with a 4 inch
diameter wheel, it was found to be 30 radians per second, which results in a speed
of about 290 rotations per minute. Taking these numbers, the torque was
determined to be 0.05 foot-pounds which is close to 700 gram-centimeters. If the
wheel size increases, likewise the torque will increase, while the speed of the
motor shaft will decrease. These calculations were based on only one motor
performing the task of moving the robot. Since two motors will be used, the
overall load will be distributed between the motors cutting the torque in half.
This results in a torque of approximately 350 gram-centimeters that each motor
must be capable of overcoming. Using the numbers calculated for the torque and
speed, a motor capable of these specifications was selected. To obtain the desired
torque and speed, a geared DC motor seemed to be the best choice. The motor
characteristics curve can be seen in Figure 1 obtained from the Transmotec
SD3729 datasheet. This graph only depicts the motors characteristics itself, not
the motor with the desired gear ratio. From the SD3729 datasheet, a gear
reduction ratio of 1:18 resulted in a rated torque of 680 g-cm and a rated speed of
310 rpm compared to the rated speed of the motor without the gears, 5100 rpm,
and the corresponding rated torque, 60 g-cm. Choosing a speed relatively close to
the specification of 290 rpm resulted in a rated torque that is about twice the
amount needed. This is an acceptable factor since the motor only needs to be
capable of producing a minimum torque of 350 g-cm.
Below, Figure 2 depicts the actual picture of the motor with an encoder attached
to the backside of it. The main reason that the encoder is needed, is to determine
the position and distance that the motor has moved. The encoder is an essential
component to the motors because this will communicate with the dsPIC33F
microcontroller, which will keep track of the motors position. It is based on the
method of quadrature encoding, which basically produces two sinusoidal signals
using magnetic Hall sensors. One signal will lag the other signal by 90 1/6T
where T is the period of the waves. The frequency of these signals is proportional
5
to the speed of the motor. Inside the encoder is sinusoidal squaring circuitry
which converts the sine waves to square waves that have the same phase
difference as the analog signals[1]. Figure 3 displays the digital waveforms from
the motors encoder with one signal lagging the other.
Motor Control
Motor control is one of the most important concepts that must be considered for
the robot. Without excellent control over the motors, the robot would not be able
to stop itself once it detects a wall is too close. There are many different methods
to go about controlling the motors, like purchasing pre-made motor controllers.
However, it was decided that designing and constructing an H-Bridge would be
the best option for the robot. This alternative is much cheaper and more reliable
and consists of two pairs of Darlington BJT transistors; NPN and PNP. Below, in
Figure 4, is the schematic of the H-Bridge that will control the direction of the
motors.
6
14.8VDC
Q3 Q4
D1 D2
R1 R2
Q1 Q2
PWM1 PWM2
33k 33k
1 MG1 2
R3 DC Motor R4
PWM2 PWM1
D3 D4
1k 1k
Q5 Q6
R5 R6
D5 D6
Dy namic Brake Signal 1k 1k Dy namic Brake Signal
Q7 Q8
With the estimations of the weight of the entire robot, and the above calculations
for the torque (350 g-cm), it can be seen in Figure 1 that the current pulled by the
SD3729 DC gear motors will be around 2 amps maximum. However, with the
gear option, the torque is higher and therefore the current will increase. As a
precaution, the H-Bridge was designed for a maximum of 5 amps being drawn by
the motors. Knowing this, proper Darlington pairs were chosen for the H-Bridge.
The PNP Darlington pair that will be used is the TIP147 while the NPN
Darlington transistors will be the TIP142. These types of Darlington pairs can
withstand up to 10 amps while dissipating a good amount of heat in the process.
That is why a heat sink must be used for all of the Darlington pairs. It is also
noted that each H-Bridge will be implemented with dynamic braking. The
purpose of braking is so that the robot will be capable of moving an exact distance
and being able to stop without much coasting. This will allow the robot to be
very accurate when navigating throughout the arena. TIP142 Darlington pairs
were used for the braking to short out the motor once its encoder produced
enough pulses for the required distance. Shorting the motor allows the energy
from the motors coil to be dissipated very rapidly causing it to stop rotating.
7
dissipated through Q7 and Q8 of Figure 4 rather than through the free-wheeling
protection diodes.
In order to save space on the robot, a printed circuit board was created for each H-
Bridge. Unlike the schematic in Figure 4, a separate PCB schematic was created
involving all of the components rather than just the H-Bridge components.
Pictured below in Figure 6 is the schematic design for the H-Bridge PCB layout
including all components and connectors. Connector J1 is specifically used for
programming the dsPIC33F that allows for convenient access to the appropriate
pins on the PIC. Connector J2 has 14.8V coming into the H-Bridge to supply the
motors as well as bring a common ground to the entire circuit. J3 is used for three
specific reasons. The 3.3V needed for the PIC comes in on pin 1 of J3, which
also serves as the power rail for the encoder, pins 4 and 5, where two 10k
resistors are used to pull up the open-collector on the encoder. These pull-up
resistors are essential to obtaining a square-wave signal from the quadrature
encoder. The last two pins of J3, 2 and 3, are used for the receiving and
transmitting of the data from the Holocon controller.
Since there are two motors, two encoders, and two H-Bridges, there needs to be
some communication between each side. It is not shown below in Figure 6, but
pins 9 and 11 of the dsPIC33F are used for the communication between the PICs
for each H-Bridge. It was decided that the PIC controlling the right side H-Bridge
8
would be the master and the left side PIC would be the slave. Pins 9 and 11 are
used for a handshake between the right and left PICs. Once the handshake was
complete, the master PIC would send an acknowledgement to the Holocon which
signals that the PICs are ready for a new command. This concept will be
discussed again later in the controller portion of this report.
Using the ExpressPCB software, a Printed Circuit Board was laid out and is
illustrated in Figure 7. The schematic below is missing the two NPN Darlington
transistors Q7 and Q8, which are used as the dynamic brakes, because this
concept was not part of the original design. It was decided that dynamic brakes
would greatly increase the accuracy and controllability of the motors so adding
the two NPN Darlingtons in parallel to the other NPN Darlingtons of the H-
Bridge (Q5 and Q6) turned out to be a critical solution. Inspecting both Figure 6
and Figure 7, the reader can see that there is an IC designated U2 that appears in
Figure 7 but not in Figure 6. Originally the encoder output did not have the two
pull-up resistors to 3.3V causing the signal to be distorted and very low in
amplitude. Realizing that the encoders initially have an open-collector, the pull-
up resistors were added (R6 and R8) and the signal was much cleaner and square
with a peak amplitude of 3.3V, so the amplifier was removed.
9
Figure 7: H-Bridge PCB schematic populated with the appropriate components
Sensors
Audio Detector
To detect a 3-4 kHz tone that can start the robot, there will be a tone detection
circuit capable of performing such a task. The circuit will consist of an NTE832
IC Tone Decoder chip with appropriate external components to create a pass band
of 3-4 kHz for the chip. The output of the chip will act as a switch to ground
when a signal in the pass band is present. To ensure the tone is detected, an
amplifier circuit will be built to feed the signal in from a microphone. The values
for the components of the first amplifier and the NTE832 were determined from a
tone detector website and the part datasheet, respectively [3,4].A schematic is
shown below for the audio detection circuit in Figure 8.
The output of the decoder will be fed through a NAND gate to bring the signal to
+5V, and fed through a NOR gate along with a push button signal which will be
at +5V. The purpose of this is that in case the tone decoder does not provide an
adequate signal to start the robot, a push button can easily be used instead. The
output signal of +5V fed into the digital I/O of the Holocon will provide the
necessary signal to start the robot.
10
+5V R28 +5V
0
1M 1 2
R26 U35
100k +5V R30
10k
MK1
C4 U34A +5V
2 3
V+
1 + C5
0.01u
1
mic OUT R31 U36A
U27
1
2 0.01u 470k U33A
- 3 3
IN TO HOLOCON
2
LM358 8 1 2
V-
2 OUT
R27 LPFLTR 74AC04 7432
100k C6 1
OUTFLTR
0.15u C7 5
6 R
0.22u RC
4
Vcc
NTE832
R29
20k +5V
C8
.022u
In order to use a SRF05 Ultrasonic sensor a 10s pulse is applied to the trigger
line of the SRF05. At the end of this pulse, the SRF05 sends a series of 8
ultrasonic bursts. At this point, the echo line of the SRF05 raises high, and when
a reflected pulse is received it will the echo line low. The width of this pulse on
the echo line is directly proportional to the distance of the object the ultrasonic
burst was reflected from. See Figure 9 below [5].
Figure 9: SRF05 Timing Diagram with Trigger and Echo on the same line,
courtesy of Robot Electronics
The SRF05 has two modes to accomplish this. In the first mode, the echo and
trigger lines are separate, and thus requires 2 pins from the microcontroller to
operate. To use this mode, the Mode pin on the SRF05 is left unconnected.
There is an internal pull-up resistor connected to this pin for use in this mode.
11
In the other mode, the trigger and echo lines share a line, cutting the number of
pins needed from the microcontroller in half. For this reason this mode was
chosen in order to reduce the wiring required to connect four of these modules. In
order to select this mode, the Mode pin on the SRF05 is connected directly to
ground, or the 0V ground pin directly below it. See Figure 10 below.
Figure 10: Pinout for Devantech SRF05 Ultrasonic Ranger, courtesy of Robot
Electronics
To save the Holocon processing time required to count the pulse width for these
devices a dsPIC33FJ12MC201 was used to interface to the four Ultrasonic
sensors. The four input capture modules available on the PIC device allowed for
easy calculation between the rise and fall of the echo pulse from the sensor. The
interface between the PIC33F and Holocon will be covered in more detail in the
software section.
An important application note in the use of the ultrasonic sensors was that a 50ms
time period between each trigger was required to ensure that all sonic waves from
the current measurement was fully attenuated. Attempting to get a new reading in
less than 50ms could result in an inaccurate reading. This also implied that
multiple sensors could not be used simultaneously. This could also cause
inaccurate readings in the event a sonic wave from one sensor was detected by
another sensor.
Infrared Rangers
To complement the ultrasonic rangers in determining how far away the robot is
from the walls in the arena, IR rangers will be used. Sharp produces a family of
such devices with detection distances encompassing, at a minimum, of 3cm and
12
up to a maximum of 1.5m (obviously not the same device). The device chosen
for this project is the Sharp GP2D120, which has a minimum detection distance of
3cm and a maximum of approximately 40cm. Since the widths of the hallways in
the arena are approximately 46cm and the diameter of the robot will be 22cm, the
GP2D120 is an appropriate choice since it will be mounted on the periphery of the
robot.
The sensor takes a continuous distance reading and outputs an analog voltage
which corresponds to this distance. The output voltage ranges from -0.3V to 0.3V
over the supply voltage. With a supply voltage of +5V, this gives an output range
from -0.3V to 5.3V. Typically, the output voltage will really only be in the range
0V to 3.2V. A graph, which was obtained from the device datasheet, is shown
below in Figure 11[6].
13
Figure 11: Output voltage characteristic of Sharp GP2D120, courtesy of Acroname.
To allow the robot to be capable of following either the right or left wall
throughout the arena, there will be two GP2D120 sensors on the left and the right
of the robot. This will allow the robot to both determine how far away it is from a
wall on either side and to keep the robot parallel to the wall while it is moving.
14
Another GP2D120 will be placed on the front of the robot to keep it from moving
directly into a wall.
As the contest rules dictate, the entrance to each room is marked by a white line
across the entrance way and the candle is located in the center of a solid white
circle 30cm in diameter. Certain algorithms will be dependent upon whether the
robot is in a room or a hallway, or if it is close enough to the candle to extinguish
it. Since the floor of the arena is solid black, a white line should be easy enough
to detect by measuring light being reflected off the surface of the floor.
The circuit that will be used to accomplish this will consist of a light emitter and
detector. It will be powered by a +5V power supply. This will be done using an
ultra-bright LED as the emitter. The detector in this circuit will be an IC
consisting of a photodiode and an amplifier. This is the TSL257 made by Texas
Advanced Optoelectronics Solutions. A schematic for this circuit is shown in
Figure 12 below [7].
15
Figure 13: White line detector layout on bottom of robot
16
Flame Detection Sensors
Ultraviolet
As the robot is navigating its way through the arena, it will be moving past
entrances to different rooms. To avoid wasting time by moving through each
room individually, the robot will pause when it detects a room entrance on either
side of it. It will then receive information from the Hamamatsu UVTRON R2868
Flame Sensor as to whether or not a flame is in the periphery of the sensor. The
angular sensitivity of the UVTRON is shown in Figure 15 below [9].
Figure 15: Sensitivity pattern for Hamamatsu UVTRON Flame Sensor, courtesy
of Hamamatsu
The R2868 itself requires a very high input voltage to operate correctly, on the
order of +350V. Also available from Hamamatsu is a drive circuit that only needs
+5V to operate. Internal to this drive circuit is a high voltage DC/DC converter
that supplies the R2868 with the +350V it needs. This voltage will remain
constant as long as the +5V source used to drive the circuit is constant. A
simplified block diagram of this drive circuit is shown in Figure 16 below [10].
The output of this circuit will be connected directly to one of the Holocon
microcontrollers input pins. Since the output signal is already a digital signal,
17
there is no need for A/D conversion. With the output signal being a pulse of
duration 10ms, the Holocon can count the number of pulses it receives. When
this number falls in a defined range, this will tell the controller that the candle is
present in a nearby room.
Infrared
To determine the exact location of the flame once inside the room as decided by
the Hamamatsu UVTRON Flame Detector, three IR sensors will be used. These
are the VIRFL InfraRed Flame Sensors. Each one is powered by a +5V supply
which is fed through a 1M potentiometer. The collector of an NPN
phototransistor is connected to the pot and the output pin. The emitter is
connected to ground. The output pin is pulled up to +5 volts, and is tied to ground
through the phototransistor. Output voltage depends on the current through the
phototransistor. When the sensor is energized and the potentiometer is fully
turned counterclockwise (allowing for greater sensitivity), the output voltage rests
at +4.7V. If a flame is passed in front of the sensor, the output voltage drops to
the range of +125mV to +200mV. The lowest value is output when the flame is
directly in front of the sensor. The Holocon microcontroller will be taking
consecutive readings from the sensor, and will compare past and present values.
When it reads three values and sees that there is a minimum voltage level on the
center sensor, this will tell the Holocon that the flame is directly in front of the
robot.
These sensors have a stable sensing range of 1cm to approximately 1m, so using
them exclusively in a room will provide accurate readings. Also, the
phototransistors being used have a rather narrow range of sensitivity as can be
seen in Figure 17 below [11].
18
Since the field of vision of these infrared sensors is narrow, three of them will be
positioned on the front of the robot to allow for a wider field of vision. The
drawing in Figure 18 below illustrates this.
If the leftmost sensor is giving the microcontroller the lowest reading, the robot
will rotate to the left until the middle sensor is giving the lowest reading, and vice
versa for the rightmost sensor. When the robot is positioned such that the middle
sensor is outputting its lowest voltage, this will tell the robot the flame is directly
in front of it. The robot will move forward towards the flame, and will stop once
it realizes it is inside the white circle which the candle is in the center of. This
then gives a command to the microcontroller to actuate the flame extinguisher.
Digital Compass
To help ensure the robot does not veer too far away from a straight line path, a
digital compass will be implemented as an additional sensor unit. This will be the
Honeywell HMC6352. It contains two magneto-resistive sensors oriented
orthogonally to detect horizontal components of the earths magnetic field, two
amplifiers, a drive circuit, and an internal microprocessor.
Unfortunately, the Honeywell HMC6352 was not implemented in the final design.
It would have been a very nice piece of hardware to use as it provides very
accurate readings. When the device was mounted on the robot, it was determined
there was far too much ferrous interference for the device to operate accurately
while the robot was in motion. When researching other robotic designs that used
19
a digital compass for navigation purposes, the compass was mounted on top of a
mast far away from any magnetic fields that would interfere. Our design did not
account for this, as the height was limited to the height of the arena walls (about
27-30cm). To accomplish this, the design would need to have the majority of the
robot at a very low height. The design presented results in a robot height of
approximately 25cm, so the digital compass was not implemented.
Fire Extinguisher
Figure 19: Example of a CO2 bike pump to be used as the flame extinguisher courtesy
of www.cyclesense.co.uk
In order to pull the trigger of this CO2 bike pump, a linear actuator will be used.
A linear DC solenoid will be utilized by attaching a thin strong cable to its
plunger and the other end to the trigger of the pump. A basic drawing of this
configuration is shown below in Figure 20. The solenoid will have a wire
attached to it as shown and will initiate when the microcontroller sends the
extinguish signal. The signal will be applied to the excitation coil of a relay,
which will switch in the 14.8V supply to the solenoid. The bike pump actuator
will be active for 300ms, which allows for a quick spurt of CO2 to be expelled. If
the flame is still present, the robot will readjust itself and activate the bike pump
again for 300ms. It will repeat this process until the flame is extinguished.
20
Figure 20: General picture of actuator and bike pump configuration
As stated above, a relay will be used to switch in 14.8V to the linear DC solenoid.
The schematic for the flame extinguishing actuator can be seen below in Figure
21. It is a simple Single Pole Double Throw Relay with the normally open pin
connected to the power supply.
14.8V
2
U2
5
+ 3
4
SPDT Realy
-
DC Linear Solenoid
Controllers
The software architecture will be based upon four controllers, a Holocon and
three PIC33F processors. The Holocon controller will be the main controller for
the Robots system and will be used for the robot navigation and reading the
various sensors.
One of the PIC33F parts, as mentioned earlier, was used for converting the signals
from the four ultrasonic sensors into distance values. Whenever the Holocon
needed an ultrasonic measurement it would serially transmit an L, F, R, or B to
get a reading from the left, front, right, or back ultrasonic respectively. The
maximum transmission rate of 115 kbps was used in order to minimize any
21
delays. The PIC would then generate the 10 microsecond trigger and then find the
time period between the rise and fall of the echo line. This was then converted to
a distance based off of the conversion factor of 58 microseconds per centimeter
on the PIC33F device. Upon completing the conversion the PIC would then
serially transmit the desired distance data to the Holocon for the desired ultrasonic
sensor reading.
Two of the PIC33F microcontrollers were used as speed controllers, one PIC33F
for each of the DC motors. Each motor had an encoder signal coming from it that
was monitored using the Quadrature Encoder Interface (QEI) modules available
on the PIC33F parts. Ideally, one PIC33F would have been used to control both
motors but there were no available single PIC microprocessors that supported two
QEI modules. The PIC33F parts also had modules specifically for pulse-width
modulated motor control. Using these modules as well as the QEI modules saved
design time that would have been spent developing these functions. The second
benefit was that the PIC parts generated the signals required to drive the H-Bridge
circuit and allow the Holocons resources to be focused more on the navigation
algorithms.
A special serial configuration was used for communication between the Holocon
and the two PIC33F devices driving the H-Bridges. In order to simplify the
communication between the Holocon and the two PIC33F parts, the transmit line
of one of the Holocons UARTs was connected to each of the two PIC33F parts
UART receive line. The way this configuration worked is that each PIC33F part
received the same command from the Holocon, but the command was split into
two sections, each corresponding with only one of the PIC33F parts. In other
words, each PIC33F part looked at only its designated section of a command and
disregarded the other. Every message or command between each device was
prefixed with a flag character followed by the actual message.
The intended operation of the system was as follows, the Holocon generated new
motor commands based off of sensor readings (A more detailed explanation on
how the commands were generated will be covered later on). Then the Holocon
gave direction and distance commands to each of the PIC33Fs in a pre-determined
packet format. The packet will consist of: a flag character represented by a $
symbol followed by a byte for direction, three bytes for the distance the right
motor should move, two bytes for the speed it should travel at, and the next three
bytes, followed by the last two are for the left motor distance and speed,
respectively. This can be seen visually in Figure 22. The direction commands are
assigned values shown in Table 2.
22
$ 1 Byte 3 Bytes 2 Bytes 3 Bytes 2 Bytes
Flag Direction Right Motor Right Motor Left Motor Left Motor
Distance Speed Distance Speed
Figure 22: Message format from Holocon to PIC33F that contains a direction and distance
command.
Table 2: Direction commands with corresponding values given from Holocon to PIC33F.
CW 1
CCW 2
FORWARD 3
REVERSE 4
Next, each PIC33F parsed the incoming serial data command and read only the section of
the command that belonged to it. It then took this section and parsed it further into the
separate direction and distance information. The direction information was interpreted
and the H-bridge logic required to drive the motor in the specific direction was applied.
Similarly, the distance information was interpreted and a pulse width modulated signal
was generated for the motor speed. Each motors encoders were monitored through the
QEI module to provide feedback on when to remove the pulse width modulate signal
once the distance desired was traveled. To save on the number of UARTs used on the
Holocon, only one of the PIC33Fs transmit were connected to the Holocons receive
UART. In order to keep the system synchronized, a handshake was completed between
the two PIC devices when each of them has completed their given commands. The
designated PIC33F will then send a message back to the Holocon to tell it that both PICs
have completed their given command. The return message back to the Holocon consists
of a simple $.
Software
In order to navigate through the arena, the original method chosen was to divide the arena
into grids. The grids were mapped onto the arena schematic as can be seen in Figure 23.
Using the grids concept, the digital compass, ultrasonic sensors, and motor encoders the
robot will be able to determine its location within the arena. Information about each grid
would have been input into the robots memory that would include adjacent grids,
whether or not that grid contained a room entrance, or any possible turns the robot would
have been required to make. By keeping track of where the robot currently was and
23
which direction and the position it was heading, the robot would have been able to
determine which grid that it was in.
Unfortunately, due to the fact that consistent and accurate readings from the digital
compass could not be achieved with the physical layout of the robot, another method for
navigation had to be derived. The new method consists of following walls and searching
for specific characteristics of the arena to determine the robots location.
Pseudo Code
Initial State
The Holocon was in an initial starting state waiting for one of two events to occur,
the detection of a 3-4 kHz signal or for the start push button to be pressed.
24
Finding Room 1
Upon activation, the Holocon followed the left wall while trying to keep itself
parallel to the left wall as it was traveling. It continued moving in this manner
until a wall was detected in front of it in grid 3. At this point it would attempt to
make a 90 degrees clockwise turn. It did this by reading the left ultrasonic sensor
once and turning clockwise in small increments while reading the back ultrasonic
sensor. It continued to do this until the back ultrasonic sensor read a value within
1 cm of the value read by the left ultrasonic sensor. Upon finishing this, the robot
continued following the left wall and repeats the same process until it saw a wall
in front of it in grid 5. At this point the robot followed the left wall and attempted
to find a wall on its right using the right infrared sensors. Once it found the wall
on its right it looked for the opening in the room and then moved forward a
predetermined distance to place it in the center of the room opening in grid 7. At
this point the room was checked for a flame and if a flame was detected it would
turn clockwise 90 degrees, keep track of which room was entered, and then go to
the entering room algorithm. If no flame was detected the robot would continue
on its path to finding room 2.
Finding Room 2
Starting at the center of grid 7 the robot would continue following the left wall
until an open hallway was found in grids 11 and 12. At this point it turned down
into grid 11 by turning its right wheel at a faster rate than the left wheel. It
stopped when the two infrared sensors on the right side of the robot detected a
wall to the right in grid 11. At this point the robot followed the right wall and
obtained readings from the front ultrasonic sensor until the distance from the front
wall was the predetermined distance that will center the robot in the entrance of
room 2. The robot then read the left UVTron flame sensor to detect whether or not
a flame was in the room. If a flame was found it would turn 90 degrees counter-
clockwise, keep track of which room was entered, and then go to the entering
room algorithm. If no flame was found in room 2 the robot would go onto finding
room 3.
Finding Room 3
Starting from the center of grid 11 the robot would then continue following the
right wall until the left wall was detected in grid 12. At this point the robot would
follow the left wall until the front infrared sensor sensed a predetermined front
distance that centered the robot in the opening of room 3. The robot would then
check the room for a flame. If a flame was detected the robot would turn 90
degrees clockwise, keep track of which room was entered, and then go to the
entering room algorithm. Otherwise, the robot would ontinue on to finding room
4.
25
Finding Room 4
Here the robot would start in grid 12 facing downward. The robot would then turn
counter-clockwise until a large opening was sensed on the robots left and front
and a wall on the robots right. This corresponded to the opening of room 3 and
the hallway consisting of grids 12, 11 and 8, and the wall in grid 12, respectively.
Once this condition had been met the robot would be in grid 12 facing grid 11. At
this point it would follow the right wall until the left wall in grid 11 was detected.
It would then follow the left wall until it saw the hallway consisting of grids 8, 9
and 11. At this point the right wheel would spin faster than the left wheel in order
for the robot to make a turn down into that hallway. It will continue this until a
wall was detected on its right in grid 9. Next, the robot would follow the left wall
until the front wall was at a pre-determined distance away that would center the
robot at the entrance of room 4. The robot would check the last room for a flame
and upon finding the flame the robot would turn 90 degrees clockwise, keep track
of which room was entered, and then go to the entering room algorithm. The
condition of no flame should not occur because that would imply that robot would
have missed detecting the flame in one of the rooms. The sensitivity and
reliability of the UVTron sensors ensured that this condition did not occur.
This algorithm was called repeatedly usually until a condition was met (i.e.
following a left wall until a front wall was detected)
//Get distances from left wall from both left infrared sensors
LF = Get Left Front Infrared Sensor Value;
LB = Get Left Back Infared Sensor Value;
26
Follow Right Wall Algorithm
This algorithm was called repeatedly usually until a condition was met (i.e.
following a right wall until a front wall was detected).
//Get distances from right wall from both right infrared sensors
RF = Get Right Front Infrared Sensor Value;
RB = Get Right Back Infared Sensor Value;
This algorithm was called once the robot had detected a flame with the UVtron
Sensor and has turned to face toward the entrance of the room. This method
attempts to find the white line at the entrance of the room and make the robot face
perpendicular to the white line using the Left & Right White Line Detectors
(WLD).
27
// At this point the robot is perpendicular to white line
// It was determined that the following two commands places the robot in
//an optimal spot to locate the flame to avoid getting stuck on walls
Move forward 8 cm into room
Turn CW 5 degrees.
Call the Flame Locate and Extinguish Algorithm
This algorithm was called once the robot had entered into a room and was away
from the room entrances walls. The three VIRFL flame sensors were used to
detect the direction of the flame. The two WLD sensors were used to detect the
white circle around the flame. Lastly, the CO2 bike pump was activated with the
solenoid to put out the flame once the white was detected.
// At this point one of the white line detectors is over white circle around
the candle
// At this point since the candle is at the center of the white circle the robot
should be centered on the candle.
28
Activate CO2 bike pump for 300 milliseconds.
While(center | left | right detect a flame){
If(center>left & center> right){
Activate CO2 bike pump for 300 milliseconds.
}else if(left> center){
Turn CCW small increment
}else{
Turn CW small increment
}
}
Main Loop
While(running==true){
switch(mode){
case INITIALIZATION:
emic.say("I'm Norka welcome to my demonstration.");
while((start button || audio signal) is not detected);
case FOLLOW_LEFT_WALL:
numberOfTurns++;
if(numberOfTurns==2) mode = LOOK_FOR_ROOM_1;
while(front wall is not too close) {
followLeftWall();
}
case LOOK_FOR_ROOM_1:
while((right Back | right Front) infrared sensors see no wall) {
followLeftWall();
}
while(Right front infrared sensor sees a wall) {
followLeftWall();
}
motors.goForward(10 centimeters);
if(isFlameInRightRoom()==true){
int left = ultrasonic left reading;
while(ultrasonic back reading>left) {
motors.spinCW(2 degrees);
}
roomNumber = 1;
running = false;
enterRoom();
findAndExtinguishCandle();
29
}else mode = LOOK_FOR_ROOM_2;
break;
case LOOK_FOR_ROOM_2:
while(left front infrared sensor sees a wall) {
followLeftWall();
}
while(true) {
//Turn wheels and different rates
motors.goFwdAndSlightTurn(small increments);
if((right front & right back) infrared sensors see a wall) {
break;
}
}
if(isFlameInLeftRoom()){
int right = rightUltrasonicReading();
//Turn Right 90 degrees
while(backUltrasonicReading()>right) {
mot.spinCW (2 degrees);
}
roomNumber = 2;
running = false;
enterRoom();
findAndExtinguishCandle();
}else mode = LOOK_FOR_ROOM_3;
break;
case LOOK_FOR_ROOM_3:
// follow the right wall until left wall is found
while(left front infrared sensor sees no wall) followRightWall();
// Keep moving forward until front distance from wall centers robot
// at room 3s entrance
while(front infrared sensor is not close too front wall)
followLeftWall();
if(isFlameInRightRoom()){
int left = leftUltrasonicReading();
while(backUltrasonicReading()>left) {
spinCW(2 degrees);
}
roomNumber = 3;
running = false;
enterRoom();
findAndExtinguishCandle();
}else {
// No candle found in room turn robot 180 degrees this
// occurs when front and left infrared sensors of the robot
// has a large opening and right infrared sensor sees a
//wall
while( (front & left infrared) sensors see no wall
& (right infrared sensor sees a wall) {
spinMotorsCW(2 degrees);
}
mode = LOOK_FOR_ROOM_4;
}
break;
30
case LOOK_FOR_ROOM_4:
//After robot is turned around, follow Right Wall until right wall
// is gone
while(right infrared sensor sees a wall){
followRightWall();
}
if(isFlameInRightRoom()){
int left = leftUltrasonicReading();
while(backUltrasonicReading()>left) {
spinMotorsCW(2 degrees);
}
roomNumber = 4;
running = false;
enterRoom();
findAndExtinguishCandle();
}
break;
}
Now that all of the physical components of the robot have been discussed, the
location of these parts on the robot must be considered. This is a very important
aspect because if the motors, sensors, and actuator are not placed properly, then
the robot will not perform the desired functions accurately.
There will be two main platforms used to contain all the required components of
the robot. Since the robot has a size constraint, capable of fitting inside a 31 cm
long by 31 cm wide by 27 cm high box, the platforms will be circular in shape
and measure 22 cm in diameter. This diameter was chosen by considering the
length of the motors, 10 cm, and wheel width, 7/8 inch equivalent to 2.2 cm.
Choosing the platform to be 22 cm allows the robot to have 9 cm to spare on the
width and length. The wheels will be mounted on the outer circumference of the
31
lower platform but placed so that they do not protrude beyond the 22 cm disc.
This will help prevent the potential of the robot to get stuck in a corner or against
a wall even.
Exactly how the wheels will be mounted is a separate, but important issue to
consider. Below in Figure 24 is a picture of a Colson wheel that will be used for
the robot. Table 3 displays the specifications for this wheel in both English and
Metric units.
The most important parameter to take into consideration for mounting this wheel
on a motors shaft is the bore size. The diameter of the Transmotec SD3729 spur
gear motor shaft is 6 mm. As seen in Table 3, the diameter of the bore is 15 mm,
which is larger than the motor shaft. Also, the length through the bore is 26 mm
while the motors shaft is only 15 mm long. This difference in length will not be
an issue if a proper design and procedure are followed. The wheel in Figure 24
shows a plastic insert inside the bore. This will be removed and replaced by a
metal hub, or bushing, so the shaft of the motor can be inserted into this hub and
held in place with set screws. Figure 25 displays the hub used for mounting the
motors shaft to the wheel. As seen, there is a 1/8 keyway where a small piece
of metal was initially going to be inserted to lock the motor shaft in place.
However, it was much easier of a solution to just drill holes in the hub and tap the
32
holes for set screws to be inserted. This hub, with the motor shaft secured, can
then fit tightly in the bore of the wheel.
Figure 25: Hub insert for wheel bore with 1/8" keyway courtesy of
www.trossenrobotics.com
There will be two platforms, or levels, being utilized on the robot. Starting with
the platform lowest to the ground, all of the heaviest components will be mounted
on both sides of this platform. On the bottom, both of the Transmotoec SD3729
spur DC gear motors will be mounted using a handmade polycarbonate housings.
The head of the motor will be inserted into the housing and held in place by three
large set screws. These housings will be mounted to the underside of the bottom
platform. Ball bearing casters must be mounted 90 from either motor so that the
robot can balance and it must also be placed as close to the edge of the robot as
possible because it must share room with the H-Bridge.
On either side of the motors will be the H-Bridge that controls the proper motor.
As stated earlier, the transistors of the H-Bridges will be mounted on a flat heat
sink. This will measure 3-7/8 long, 1-5/8wide and high. The benefit to
having a flat heat sink is that it saves space as well as absorbing a considerable
amount of heat. The physical layout of the heat sink with the Darlington
transistors can be seen in Figure 26. The PCB of the H-Bridge will go directly
above this heat sink so that the transistors legs can be bent upwards to fit in the
appropriate spot of the H-Bridge PCB seen in Figure 7.
33
The upper side of the lowest platform will contain the main brain of the robot;
the Holocon controller. Also, the two power supplies will be mounted next to the
Holocon. Since the controller and the two power supplies together take up a
considerable amount of space, the upper side of this platform will contain these
three components as well as the small text to speech module. One can easily see
that the lower platform contains the main bulk and weight of the robot.
The upper platform will consist of the UVTRON, ultrasonic, and infrared sensors.
All of these sensors do not weigh much in comparison to the components on the
lower platform. These sensors will be mounted on the top side of the upper
platform. This will allow each sensor enough space to take the appropriate
reading. The UVTRON flame sensor will be positioned directly on the left and
right sides of the robot so it will be able to stop at a rooms entrance and just scan
this sensor to determine whether or not a flame is present. Mounting this sensor
on the sides of the robot will save time during each run because the robot will not
have to turn and face a room in order to scan it for a flame. As stated above, there
will be three infrared sensors pointed towards the front of the robot. One will face
dead center while the other two will be placed on either side of the center at an
angle of 30. In the center of the upper platform will be a small square platform
that will rest above the solenoid. On this smaller platform, the ultrasonic sensors
will be mounted. One will face forward, one backwards, and one on each side.
The reason that these sensors will be higher than the rest is because they will be
acting as the eyes of the robot. If they would be at the same height as the
UVTRON and infrared sensors, then these sensors would obstruct the line of sight
of the ultrasonic sensors.
This entire section described the whole layout and construction of the robot.
Some of the explanations might be a bit confusing, which is why Figure 27 shows
a model of the original design of the entire robot construction. Most all of the
components described above can be seen here. The actual design of the robot can
be seen immediately following the 3D model in Figure 28. Figure 29, Figure 30,
Figure 31, and Figure 32 depict the original design of each platform layout
separately from the front, side, top, and bottom, respectively.
34
Figure 27: Overall 3-D View of robot.
35
Figure 28: Robot after full construction
36
Figure 29: View of robot from the front of robot
37
Figure 30: View of robot from the side with typical candle length.
38
Figure 32: View from bottom of robot
Testing Procedures
Drive System
To ensure the robot can move as efficiently as possible, extra care must be taken
to be certain the wheels are on exactly opposite sides of the lowest platform and
also that they are level with each other. This also means the motors must be
mounted such that the motor shafts that will serve as the wheel axles are along the
same line and level with each other. To make sure the lowest platform is lying
flat, a level was used to determine if the motors and wheels are mounted correctly.
39
The H-bridge circuitry that will be controlling the direction of the motors and also
the speed at which it moves was first bread boarded to work out any problems that
might arise. There were no problems at all when the circuit was on a bread board,
but once it was transferred to a PCB, some major problems occurred. The biggest
issue had to do with bypass capacitors. The distance the capacitors are placed
from the Vdd pin on the PIC makes a big difference, so the bypass capacitors
were placed as close as possible so that there was minimal noise on the power
supply line to the PIC.
Also, the encoders for each motor need to be tested and calibrated so that a
relationship between the number of pulses produced and the actual distance can
be determined. This was tested by applying a voltage that would make the wheel
rotate once per second. The pulses were recorded on an oscilloscope and the
period of the signal was measured. A scope capture can be seen in Figure 33
displaying two waveforms, with one lagging by 90, having a period of 9.95ms.
This value corresponds to about 2 cm of displacement.
The only other part of the drive system is based on programming the PIC to
output the PWM signals as needed. Each coding sequence (forward, backward,
counterclockwise, clockwise) was written individually and simulated so that the
correct waveforms being produced could be verified. Testing and modification to
code ensued until the drive system performed properly.
40
Audio Signal Detection
The audio detection circuit needs to respond to an audio signal in the 3-4 kHz
range. To simulate a tone emitted from a smoke alarm, a small piezo siren with
center frequency 3500Hz +/- 500Hz will be used. This was be used as the input
to the microphone, and the signals at the output of the microphone and the output
of the tone decoder chip was observed on the oscilloscope to be sure each stage
was functioning properly. Signals with frequencies in the 3-4 kHz range were
tested, as well as signals with frequencies above and below this range to verify the
detection circuit was not passing these signals.
The output signal of the OR gate (a push button switch will be the alternative
method of starting the robot if the audio circuit does not perform correctly, which
is the other input to the OR gate) was sampled by a Digital I/O pin on the
Holocon controller. Code was written to simulate a counter, and when the
counter reaches a certain value, the code will execute a command to switch the
robot on. This simulation was observed to perform properly, and the audio
detection circuit was interfaced to the controller for full-scale testing.
After the circuit was connected and programmed to the Holocon, the signals were
examined. The scope capture below in Figure 34 shows the tone detected by the
microphone and the DC voltage produced at the output of the NAND gate.
Figure 34: 3-4kHz tone detected by the microphone, and 5VDC signal output of NAND
gate
41
Linear Actuator Testing
The CO2 bike pump needs approximately 5 lbs. of force to fully release the CO2.
The linear actuator that will be used to apply this force to the pump must be able
to do so over and over again without fail. Once it was verified that the actuator
circuitry operates the pump correctly, code was written to control the actuator. A
string of 5 consecutive, successful sprays of CO2 indicated that the actuator was
working properly and was not slipping out of contact with the CO2 bike pump
trigger.
Once the operation of the actuator and bike pump was verified, code was written
to the Holocon microcontroller to produce a voltage signal that triggers the linear
actuator. This voltage signal will give power to the actuator, thus operating the
CO2 bike pump. It was determined after thorough testing that a time duration of
300ms was enough to allow a burst of CO2 to be expelled from the bike pump and
extinguish the flame without wasting much CO2.
For the white line detecting circuit to operate properly, the light emitted from the
LED obviously must be bright enough, and this is controlled by adjusting the
potentiometer in Figure 12. The circuit was constructed by soldering components
together with the potentiometer being replaced by a fixed resistor, and was
attached to a block of wood that simulated the underside of the robot. With the
circuit active, this unit was passed over a black surface with a line of white tape
across a section of it. The change in voltage of the TSL257 was observed; a
considerable voltage change as the unit passed over the white line from the black
surface indicated the circuit was working as specified.
Once the operation of the TSL257 was observed to be working correctly, the
output pin was connected to a Holocon microcontroller A/D pin. Code was
written and the data being read in by the pin was examined to be sure it is a
correct representation of the analog voltage produced by the TSL257. The screen
captures below in Figure 35 show the conditions that call different algorithms
when read by the Holocon. When both detectors are at approximately 5V, this
tells the controller the robot has moved over a white line or circle.
42
Figure 35: White Line Detector screen captures (CW from top right). (a)Both detectors
over black surface. (b)Both detectors over white surface. (c)Left detector over white
surface. (d) Right detector over white surface.
Flame Detection
As can be seen in Figure 15, the UVTRON R2868 Flame Sensor has a wide range
of detection. Unfortunately, this allows for various sources of UV radiation that
are not coming from a flame (such as sunlight) to also be detected by the sensor.
Depending on how intense the sources of interference are, pulses can enter the
C3704 drive circuit more frequently. For this reason, the driving circuit contains
a set of jumpers that allow for background radiation cancellation, and will only
output a pulse when a decided number of pulses enter the circuit. The circuit will
only output a pulse if the sensor produces 3, 5, 7, or 9 pulses, depending on the
jumper used. Per the C3704 datasheet, the 3 jumper was connected for normal
use. The sensor was tested thoroughly with different sources of UV radiation
such as fluorescent lighting and sunlight in conjunction with the UV radiation
given off by the flame to determine the appropriate cancellation level.
The VIRFL flame sensors are also prone to interference. The potentiometer
attached to the NPN phototransistor, however, helps to control the amount of
current that runs through the phototransistor. Since the output voltage is
dependent on this current, the potentiometer adjusts the sensitivity of the
phototransistor.
To see the level of interference the surrounding environment may introduce, the
sensor was connected to a bread board and its output was measured on an
oscilloscope. The sensors response to various sources of infrared radiation such
as sunlight, infrared remote controls, incandescent lamps, and a flame were
examined. The sensitivity of the sensor was adjusted to such a level that all
sources of IR radiation besides the flame contribute as little as possible to the
sensor output. External shielding also was considered to reduce the impact of
undesirable sources.
After calibration, code was written and programmed into the Holocon to measure
the outputs of the flame detection sensors. The output of the Hamamatsu C3704
43
drive circuit was connected directly to a digital I/O pin. The code for this sensor
counted the number of pulses output by the sensor. After a number of pulses were
counted, that determined whether or not a flame is present in the area. Readings
from the IR sensors were measured to determine threshold values of various
scenarios in the room where the candle is present, such as the candle being
directly in front of the center sensor, or if the candle is off at an angle to the robot.
The VIRFL sensors were tuned such that the potentiometer was turned all the way
counterclockwise. This is the most sensitive setting for the device, allowing a
dark voltage of approximately 4.9V and a flame voltage of approximately
150mV. Under the testing conditions, which can be seen below in Figure 37,
reflections of IR waves off the walls provided noisy results; readings varied in a
sinusoidal fashion. To minimize this, a black IR shield was placed over the eye
of the sensor, and the output was fed through a low pass filter to hold the values if
they were still varying. This proved to work very well.
44
Figure 37: Testing set-up for VIRFL sensors
To test different scenarios, the set-up was situated such that the center sensor was
directly in front of the flame, off-center to the right, and off-center to the left.
Values were taken to observe the behavior of this sensor network in these
conditions. Also, this was performed at a location close to the candle
(approximately 10cm away), and further away from the candle (approximately
40cm away, approaching extinguishing range). The values were recorded and
tabulated in Table 4 and Table 5 below.
45
max 69 48 60
min 65 46 57
OffCenterRight,Far
left center right differenceLR
54 52 73 19
54 56 77 23
58 56 75 17
53 55 75 22
avg 54.75 54.75 75
std 2.22 1.89 1.63
max 58 56 77
min 53 52 73
46
45 50 67 22
45 49 67 22
47 49 70 23
44 50 71 27
avg 45.25 49.5 68.75
std 1.26 0.58 2.06
max 47 50 71
min 44 49 67
The data in the tables above was used to write code to account for the various
conditions this sensor network might experience while moving through the room,
and to adjust itself accordingly if the robot attempts to extinguish the flame and
does not put it out on the first try. The values measured were A/D values as seen
by the Holocon controller.
Digital Compass
The calibration time depends on the application, or how exact the user wants the
calibration to be. For this project, given the presence of the permanent magnets in
the DC motors, the compass was calibrated while the motors were in operation.
The compass needed to take into account the presence of all sources of magnetic
interference to be properly calibrated. Once the compass was calibrated, the
compass was rotated clockwise and counterclockwise. The data the compass
collected and sent to the microcontroller was read to verify it was operating
correctly.
As stated previously, the digital compass was not implemented. A lot of time was
spent trying to find a reliable calibration method to ensure the compass was
receiving minimal interference. The compass was calibrated by first mounting the
device on the robot, and rotating the robot while the compass was in calibration
mode. It was also calibrated by having code written to make the robot use its
motors and wheels to spin itself in a circle while the compass was in calibration
mode (in the hope that all ferrous fields would be accounted for in the calibration
with everything powered). Both methods proved to provide accurate readings
while the robot was stationary, but if the robot was moved slightly the readings
varied wildly.
47
Ultrasonic Rangers
The Devantech SRF05 Ultrasonic Ranger was used to measure long hallways and
perform 90 degree turns. To test the SRF05 sensors each one was connected to a
+3.3V source and code was written and programmed into the PIC33F
microcontroller to output the required 10s pulse for the SRF05 to send out the
ultrasonic bursts. The same pin was changed over from an output to an input and
the time difference between the rise and fall of the echo pulse generated by the
SRF05 was recorded. This value was converted by the code into a physical
distance which will be used to measure how far the sensor is from a wall. Figure
38 is an example of a reading done during testing of the SRF05. The object was
placed 54 centimeters away which corresponds with the period of the 3.130 ms
measured in the figure.
Infrared
The Sharp GP2D120 IR Ranger was used to complement the ultrasonic rangers in
determining how far the robot is from a wall. To test the capabilities of the
ranger, it was bread boarded and moved manually at various distances from a
stationary object that will be used to represent a wall. The output voltage was
observed as the distance changes, and code was developed in relation to how the
voltage changed. At this point, the output pin of the GP2D120 was connected to
an A/D pin on the Holocon microcontroller to experimentally determine if the
48
code is performing accurate distance calculations. The code was adjusted as need
during testing.
49
14 0.0693481 0.938066574 384.2321
15 0.0648508 0.885403372 362.6612
16 0.0609013 0.839154689 343.7178
17 0.0574053 0.798215844 326.9492
System Testing
Once the robot was fully constructed as shown in Figure 27 and programmed, it
entered full scale testing. To simulate the competition, a practice arena was built
according to the dimensions specified by the contest rules. The walls were
painted a glossy white per the contest rules, the floor painted black, and strips of
white tape were placed at the room entrances. A candle was placed randomly in
one of the four rooms and the code in the robot was tested to ensure that the
candle was located regardless of what room it was placed in. Testing was
conducted until the robot was successfully able to find the candle in each of the
four rooms. Also, modifications in coding, sensor alignment, sensitivity settings,
and sensor shielding were made until the design was robust enough to perform in
the required environments.
Schematics
U16
DE-SW050
+5V
GND
IN OUT U4
V1 U8
12V Vdd +
NC -
Trigger/Echo 1
Mode 2
Gnd 3 UVTRON
SRF05 K
R2868
U5 A
C3704
Vdd
NC
Trigger/Echo
U1 U9 Mode
Gnd
Vdd Gnd .1u C1 SRF05
Out R1 R2 Vdd U6
Gnd R32 Out
Vdd 1
VIRFL 1.5k C9 10k TSL257
U2 100 NC
.01u SET = 0.5
D1 Trigger/Echo
Vdd Mode 2
LED
Out Gnd
Gnd 3
R33 SRF05
VIRFL 1.5k C10 U7
U3 4
.01u
U10 Vdd
Vdd NC 5
Out Gnd .1u C2 Trigger/Echo
Gnd R34 C11 R3 R4 Vdd Mode
VIRFL 1.5k Out Gnd
U13 .01u 10k TSL257 SRF05
100
SET = 0.5
Vdd D2
Out LED
Gnd
GP2D120
U14
Vdd U11
Out 6
Gnd Gnd .1u C3
Vdd 7
GP2D120 R5 R6
U15 Out
8
10k TSL257
Vdd 100
SET = 0.5
Out 9
D3
Gnd LED
10
GP2D120
U17
11
Vdd
Out 12
Gnd
13
GP2D120
U18
14
Vdd
Out 15
U12
Gnd Vdd
Out 16
GP2D120
Gnd
Audio Detection
17
Sheet 1 of 4
50
1
2 U19
U20B +5V DE-SW050
3
1 49
GND
3 Ch.23 Vdd 50 OUT IN
4 Ch.22 GND V3
5
7 Ch.21 33 12V
5 Ch.20 Ch.7
9
11 Ch.19 35
13 Ch.18 Ch.6 37
Ch.17 Ch.5 12VDC
15 39 U23
17 Ch.16 Ch.4 41
19 Ch.15 Ch.3 1
21 Ch.14 43
23 Ch.13 Ch.2
Ch.12 45
25 Ch.1
27 Ch.11 47 2
29 Ch.10 Ch.0 U22
31 Ch.9 5
Ch.8 + 3
4 12VDC
Relay Model
- MG5
1
Holocon Digital I/O 0-23 U29
+
DC Linear Solenoid Vcc Motor+
PWM1
PWM2
U26 GND Motor- -
H-Bridge
Holocon UART DC Motor
2
UART2 Rx UART Tx PWM1
UART1 Rx RP15
1
U30
+
Vcc Motor+
UART Tx PWM3 PWM1
U20A
1 UART Rx PWM4 PWM2
6 Ch.0
2 GND Motor-
GND -
3 RP14
7 Ch.1 H-Bridge
4 DC Motor
2
5 Ch.2 16
8 GND GND PIC33 UART, QEA
6 18
7 Ch.3 Ch.11 19
9 Ch.4 GND
8 20
9 GND Ch.12 21
10 Ch.5 Ch.13
10 22
11 Ch.6 GND 23
11 GND Ch.14
12 24
13 Ch.7 Ch.15 25
12 GND GND
14
15 Ch.8
13 Ch.9
17
Ch.10
14
Holocon Analog I/O 0-15
15
14.8VDC
Q3 Q4
D1 D2
R1 R2
Q1 Q2
PWM1 PWM2
33k 33k
1 MG1 2
R3 DC Motor R4
PWM2 PWM1
D3 D4
1k 1k
Q5 Q6
R5 R6
D5 D6
Dy namic Brake Signal 1k 1k Dy namic Brake Signal
Q7 Q8
51
+5V R28 +5V
0
1M 1 2
R26 U35
100k +5V R30
10k
MK1
C4 U34A +5V
2 3
V+
1 + C5
0.01u
1
mic OUT R31 U36A
U27
1
2 0.01u 470k U33A
- 3 3
IN TO HOLOCON
2
LM358 8 1 2
V-
2 OUT
R27 LPFLTR 74AC04 7432
100k C6 1
OUTFLTR
0.15u C7 5
6 R
0.22u RC
4
Vcc
NTE832
R29
20k +5V
C8
.022u
Financial Budget
The original labor cost was determined from the design phase of the project and
was estimated as seen above. The time spent in the design process was a good
estimate because of all of the considerations of the robot that were made.
Following the original labor costs is the actual labor costs. These values are
considerably higher since this was the actual implementation phase of the robot.
Many hours were spent in the full-scale testing making sure the robot behaved as
it was designed.
52
Material Cost
54
M-400-30-WH- Wheel Hub, Colson 7/8"
2 WC002-B Wheel, 6mm, 1/8" Broach $6.00 $12.00
S/S PRECISION SHAFT
6MM DIA TYPE 303 36"
1 CGSX-M06-36 LONG $10.64 $10.64
S/S PRECISION SHAFT
12MM DIA TYPE 303
1 CGSX-M12-24 24" LONG $19.55 $19.55
POLYCARBONATE
ROUND 1" DIA 36"
1 ZPR-16-36 LONG $35.50 $35.50
Type 303 SS Set Screw
Shaft Collar 1/4" Bore,
1/2" Outside Diameter,
2 6462K12 9/32" Width $2.47 $4.94
Metric Knurled Cup Point
Socket Set Screw 18-8
Stainless Steel, M3
1 91313A116 Thread, 3 mm Length $7.50 $7.50
1/4" X 10" X 10"
10 PC2501010 Polycarbonate Sheet $6.22 $62.20
Round Trip to
1082 - Connecticut $0.13 $140.66
1 - Contest Registration $70.00 $70.00
2 - Lodging $130.00 $260.00
Total $1,639.57
55
Project Schedule
ID Tas k Nam e D uration Start Finis h Predeces s ors R es ource Names
1 Block Diagrams (hardw are & software) 63.38 days Fri 8/31/07 Fri 11/2/07 Joe McGlinchy,Matt Taschner,Tom Vo
2 Full Block Diagrams Pass 2 1.81 days Fri 8/31/07 Wed 9/5/07 Matt Taschner,Joe McGlinchy
3 Individual Block Diagrams Pass 1 18.38 days Mon 9/3/07 Fri 9/21/07 2 Joe McGlinchy,Matt Taschner,Tom Vo
4 Software D iagram 18.38 days Mon 9/3/07 Fri 9/21/07 Tom Vo
5 Pow er Sys tem D iagram 18.38 days Mon 9/3/07 Fri 9/21/07 Matt Taschner
6 Sensor Diagram 18.38 days Mon 9/3/07 Fri 9/21/07 Joe McGlinchy
7 Motor D iagram 18.38 days Mon 9/3/07 Fri 9/21/07 Matt Taschner
8 Actuator D iagram 18.38 days Mon 9/3/07 Fri 9/21/07 Joe McGlinchy
9 Individual Block Diagrams Pass 2 18.38 days Mon 9/24/07 Fri 10/12/07 3 Joe McGlinchy,Matt Taschner,Tom Vo
10 Software D iagram Pass 2 18.38 days Mon 9/24/07 Fri 10/12/07 Tom Vo
11 Pow er Sys tem D iagram Pass 2 18.38 days Mon 9/24/07 Fri 10/12/07 Matt Taschner
12 Sensor Diagram Pas s 2 18.38 days Mon 9/24/07 Fri 10/12/07 Joe McGlinchy
13 Motor D iagram Pass 2 18.38 days Mon 9/24/07 Fri 10/12/07 Matt Taschner
14 Actuator D iagram Pass 2 18.38 days Mon 9/24/07 Fri 10/12/07 Joe McGlinchy
15 Com pleted Block Diagram s 18.38 days Mon 10/15/07 Fri 11/2/07 9 Joe McGlinchy,Matt Taschner,Tom Vo
16 Software D iagram Final 18.38 days Mon 10/15/07 Fri 11/2/07 Tom Vo
17 Pow er Sys tem D iagram Final 18.38 days Mon 10/15/07 Fri 11/2/07 Matt Taschner
18 Sensor Diagram Final 18.38 days Mon 10/15/07 Fri 11/2/07 Joe McGlinchy
19 Motor D iagram Final 18.38 days Mon 10/15/07 Fri 11/2/07 Matt Taschner
20 Actuator D iagram Final 18.38 days Mon 10/15/07 Fri 11/2/07 Joe McGlinchy
21 Design Specifications 5 days Mon 8/27/07 Sat 9/1/07 Joe McGlinchy,Matt Taschner,Tom Vo
22 Mechanical 5 days Mon 8/27/07 Sat 9/1/07 Joe McGlinchy
23 Material 5 days Mon 8/27/07 Sat 9/1/07 Tom Vo
24 Pow er Sys tem 5 days Mon 8/27/07 Sat 9/1/07 Matt Taschner
25 Control 5 days Mon 8/27/07 Sat 9/1/07 Tom Vo
26 Radiation 5 days Mon 8/27/07 Sat 9/1/07 Joe McGlinchy
27 Alternative Design Analysis 32 days Mon 8/27/07 Fri 9/28/07 Joe McGlinchy,Matt Taschner,Tom Vo
28 Num ericalAnalysis 25 days Mon 8/27/07 Fri 9/21/07 Joe McGlinchy,Matt Taschner,Tom Vo
29 Electrical Design Calculations 2 days Mon 8/27/07 Wed 8/29/07 Joe McGlinchy,Matt Taschner,Tom Vo
30 Com munication 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
31 Interface between PIC24 & Holocon 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
32 Serial C om munication 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
33 D igital Signal Lines 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
34 Com puting & Control System 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
35 PIC 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
36 H olocon 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
37 Pow er, voltage, current 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
38 Batteries 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
39 N um ber (1, 2 or 3) 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
40 Type (L-Ion, N iMH, Lead Acid) 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
41 Thermal 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
42 Motors & H -Bridge Heat Diss ipation 2 days Mon 8/27/07 Wed 8/29/07 Matt Taschner
43 Radiation 2 days Mon 8/27/07 Wed 8/29/07 Joe McGlinchy
44 Sensors Sensistivity to Environm ent Noi 2 days Mon 8/27/07 Wed 8/29/07
45 Infrared 2 days Mon 8/27/07 Wed 8/29/07 Joe McGlinchy
46 U ltrasonic 2 days Mon 8/27/07 Wed 8/29/07 Joe McGlinchy
47 Mechanical Design Calculations 2 days Mon 8/27/07 Wed 8/29/07
48 Structual considerations 2 days Mon 8/27/07 Wed 8/29/07
49 Body 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
50 Poly-Carbonate 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
51 Aluminum 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
52 System Dynamics 2 days Mon 8/27/07 Wed 8/29/07
53 Fire Extinguishing Method 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
54 Water Spray Bottle 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
55 Pres surized C O2 Cartridge 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
56 Air C om press or, Valve, Water Tank 2 days Mon 8/27/07 Wed 8/29/07 Tom Vo
57 Economic Calculations 25 days Mon 8/27/07 Fri 9/21/07 Joe McGlinchy
58 Major Com ponent Com parison 25 days Mon 8/27/07 Fri 9/21/07
59 Hardware 25 days Mon 8/27/07 Fri 9/21/07
60 Electrical 8.33 days Mon 8/27/07 Tue 9/4/07 Tom Vo,Joe McGlinchy,Matt Taschner
61 Mechanical 25 days Mon 8/27/07 Fri 9/21/07 Tom Vo,Joe McGlinchy,Matt Taschner
62 Software 8.33 days Mon 8/27/07 Tue 9/4/07
63 Development Tools 8.33 days Mon 8/27/07 Tue 9/4/07 Tom Vo,Joe McGlinchy,Matt Taschner
64 Learning Curve 8.33 days Mon 8/27/07 Tue 9/4/07 Tom Vo,Joe McGlinchy,Matt Taschner
65 Alternatve Design Presentation 7 days Fri 9/21/07 Fri 9/28/0728 Joe McGlinchy,Matt Tas chner,Tom Vo
66 Progress Reports 56 days Fri 9/28/07 Fri 11/23/07 65 Matt Taschner
67 Report #1 7.09 days Fri 9/28/07 Fri 10/5/0765 Matt Taschner
68 Report #2 7 days Fri 10/5/07 Fri 10/12/0767 Matt Taschner
69 Report #3 7 days Fri 10/12/07 Fri 10/19/0768 Matt Taschner
70 Report #4 7 days Fri 10/19/07 Fri 10/26/0769 Matt Taschner
71 Report #5 7 days Fri 10/26/07 Fri 11/2/0770 Matt Taschner
72 Report #6 7 days Fri 11/2/07 Fri 11/9/0771 Matt Taschner
73 Report #7 7 days Fri 11/9/07 Fri 11/16/0772 Matt Taschner
74 Report #8 7 days Fri 11/16/07 Fri 11/23/0773 Matt Taschner
75 Accepted Project Design 56 days Fri 11/23/07 Fri 1/18/08 74 Joe McGlinchy,Matt Taschner,Tom Vo
76 Design Gantt Chart 7 days Fri 11/23/07 Fri 11/30/0767 Tom Vo
56
77 Software Design 3 days Fri 11/23/07 Mon 11/26/07 Tom Vo
78 Psuedo Code 3 days Fri 11/23/07 Mon 11/26/07 Tom Vo
79 Input R outine 3 days Fri 11/23/07 Mon 11/26/07 Tom Vo
80 Hardware Design 56 days Fri 11/23/07 Fri 1/18/08
81 Sim ulations 56 days Fri 11/23/07 Fri 1/18/08
82 Schem atics 56 days Fri 11/23/07 Fri 1/18/08
83 Parts Reques t Form 56 days Fri 11/23/07 Fri 1/18/08
84 Budget (Estim ated) 1 day Fri 11/23/07 Sat 11/24/07 Tom Vo
85 C om petition C os ts 1 day Fri 11/23/07 Sat 11/24/07 Tom Vo
86 R obot Materials 1 day Fri 11/23/07 Sat 11/24/07 Tom Vo
87 Tes ting Materials 1 day Fri 11/23/07 Sat 11/24/07 Tom Vo
88 Testing Procedures 56 days Fri 11/23/07 Fri 1/18/08
89 Hardware Procedures 2 days Fri 11/23/07 Sun 11/25/07
90 Motor & H-Bridge Operation 2 days Fri 11/23/07 Sun 11/25/07 Matt Taschner
91 Tes t Motor Speed w/PWM s ignal 2 days Fri 11/23/07 Sun 11/25/07 Matt Taschner
92 Proper Motor Direction given H -Bridge Log 2 days Fri 11/23/07 Sun 11/25/07 Matt Taschner
93 Actuator Operation 1 day Fri 11/23/07 Sat 11/24/07 Matt Taschner
94 Capable of closing the CO2 pump lever 1 day Fri 11/23/07 Sat 11/24/07 Matt Taschner
95 Verify Proper Sensor Outputs 2 days Fri 11/23/07 Sun 11/25/07 Joe McGlinchy
96 Flame Sensors 2 days Fri 11/23/07 Sun 11/25/07 Joe McGlinchy
97 Ultrasonic Sensors 2 days Fri 11/23/07 Sun 11/25/07 Joe McGlinchy
98 Infrared Line Detectors 2 days Fri 11/23/07 Sun 11/25/07 Joe McGlinchy
99 Software Procedures 56 days Fri 11/23/07 Fri 1/18/08 Tom Vo
100 Motor Output 7 days Fri 11/23/07 Fri 11/30/07 Tom Vo
101 Given direction, Proper H-Bridge Logic is prod 7 days Fri 11/23/07 Fri 11/30/07 Tom Vo
102 Given s peed, Proper PWM s ignal is produced 7 days Fri 11/23/07 Fri 11/30/07 Tom Vo
103 Sensors 2 days Fri 11/23/07 Sun 11/25/07 Tom Vo
104 Verify expected values are read in properly 2 days Fri 11/23/07 Sun 11/25/07 Tom Vo
105 Project Poster 7 days Fri 11/30/07 Fri 12/7/0776 Joe McGlinchy,Matt Tas chner,Tom Vo
106 Implem entation Gantt Chart 21 days Fri 12/7/07 Fri 12/28/07105 Joe McGlinchy,Matt Tas chner,Tom Vo
107 Final Design Report 95 days Mon 8/27/07 Fri 11/30/07 Joe McGlinchy,Matt Tas chner,Tom Vo
108 Final Design Presentation 7 days Fri 11/30/07 Fri 12/7/07107 Joe McGlinchy,Matt Tas chner,Tom Vo
57
ID T ask Name Duration Start Finish Prede Week Resource Names
1 Revise Gantt Chart 22 days Mon 12/17/0 T ue 1/8/0 1
2 Implement Project Design 93 days Mon 12/17/07 Wed 3/19/08
3 Hardw are Implementation 93 days Mon 12/17/07 Wed 3/19/08
4 Breadboard Components 28 days Mon 12/17/07 Mon 1/14/08
5 Li-Ion Power Suppl y 14 days Mon 12/24/0 Mon 1/7/0 Matt
6 PIC and H-Bridge Circuit 5 days Mon 12/24/0 Sat 12/29/0 Matt,Tom
7 DC Spur Gear Motors 7 days Mon 12/31/0 Mon 1/7/0 Matt
8 Audio Detection Circuit 5 days Mon 12/17/0 Sat 12/22/0 Joe
9 Ultrasonic Sensors 14 days Mon 12/31/0 Mon 1/14/0 Joe
10 Infrared Sensors 14 days Mon 12/17/0 Mon 12/31/0 Joe
11 UVT RON Flame Sensor 14 days Mon 12/17/0 Mon 12/31/0 Joe
12 White Line Detection Circui t 10 days Mon 12/31/0 T hu 1/10/0 Joe
13 Layout and Generate PCB(s) 30 days Mon 12/31/07 Wed 1/30/08 2
14 H-Bridge Heatsi nk PCB traces 7 days Wed 1/2/08 Wed 1/9/08 Matt
15 Audio Detection PCB 5 days Mon 12/31/0 Sat 1/5/08 Joe
16 dsPIC33F Layout and Connecti ons 14 days Mon 1/7/0 Mon 1/21/0 T om
17 Ultrasonic Sensors Overal l Layout PCB 9 days Mon 1/21/0 Wed 1/30/08 Joe
18 IR Sensor Breakout Board 9 days Wed 1/2/08 Fri 1/11/08 Joe
19 Digital Compass PCB 2 days T ue 1/1/0 T hu 1/3/0 T om
20 Assemble Hardw are 79 days Mon 12/17/07 Wed 3/5/08 4
21 Electrical 29 days Sat 1/5/08 Sun 2/3/08
22 Power connecti ons 14 days Sat 1/5/08 Sat 1/19/08 Matt
23 H-Bridge and dsPIC33F PCB assembl y 5 days Wed 1/9/08 Mon 1/14/0 14 Matt,Tom
24 Audio Detection Circuit PCB assembl y 5 days Sat 1/5/08 T hu 1/10/0 15 Joe
25 dsPIC33F PCB assembl y 7 days Mon 1/21/0 Mon 1/28/0 16 T om
26 Ultrasonic Sensor PCB assembl y 4 days Wed 1/30/08 Sun 2/3/08 17 Joe
27 IR Breakout Board assembly 5 days Fri 1/11/08 Wed 1/16/08 18 Joe
28 Digital Compass assembly 4 days Wed 1/9/08 Sun 1/13/0 Joe
29 Mechanical 79 days Mon 12/17/07 Wed 3/5/08
30 Mock Arena Construction 14 days Mon 12/17/0 Mon 12/31/0 Matt,Joe,Tom
31 Pol ycarbonate Body Construction 14 days Mon 1/14/0 Mon 1/28/0 Matt,Joe,Tom
32 Motor Mounti ng 8 days T ue 1/29/0 Wed 2/6/08 Matt
33 Wheels, couplers, and hub attachments 8 days T ue 1/29/0 Wed 2/6/08 T om,Matt
34 H-Bridge and dsPIC33F PCB Pl acement 3 days Wed 2/6/08 Sat 2/9/08 33 Matt
35 White Line Detection Circui t Orei entation 3 days Wed 2/6/08 Sat 2/9/08 Joe
36 Caster Mounting and pl acement 5 days Wed 2/6/08 Mon 2/11/0 32 T om
37 Hol ocon ori entati on and mounting considerations 5 days Mon 2/18/0 Sat 2/23/08 T om
38 Power-Battery l ocations and mounti ng 5 days Mon 2/18/0 Sat 2/23/08 Matt
39 Ultrasonic platform construction 5 days Sun 2/24/08 Fri 2/29/08 Joe
40 Ultrasonic sensor mounting 5 days Sun 2/24/0 Fri 2/29/08 Joe
41 Infrared sensor orientati on and mounting 4 days Mon 2/25/0 Fri 2/29/08 Joe
42 UVT RON sensor placement 4 days Mon 2/25/0 Fri 2/29/08 Joe
43 Extinguisher mounting 5 days Fri 2/29/08 Wed 3/5/08 Matt
44 Test Hardw are 27 days Mon 1/14/08 Sun 2/10/08 5
45 Audio Detection response to specifi c frequencies 5 days Wed 1/16/08 Mon 1/21/0 24 Joe
46 H-Bridge, dsPIC33F, and motor synchroni zation 7 days Mon 1/14/0 Mon 1/21/0 23 T om,Matt
47 Ultrasonic Sensor range and response 7 days Sun 2/3/08 Sun 2/10/0 26 Joe
48 IR Sensor range and response 7 days Wed 1/16/08 Wed 1/23/08 27 Joe
49 UVT RON Sensor range and response 7 days Wed 1/16/08 Wed 1/23/08 Joe
50 Power consumpti on and requirements 14 days Mon 1/14/0 Mon 1/28/0 Matt
51 Actuator-CO2 bike pump performance 6 days Mon 1/14/0 Sun 1/20/0 Matt
52 Revise Hardware 7 days Wed 3/5/08 Wed 3/12/08 20
53 Demonstrate Hardware 7 days Wed 3/12/08 Wed 3/19/08 44,52 7
54 SDC & FA Hardware Approval 0 days Wed 3/19/08 Wed 3/19/08 53
55 Softw are Implementation 75 days Mon 12/17/07 Sat 3/1/08
56 Dev elop Softw are 54 days Mon 12/17/07 Sat 2/9/08
57 H-Bridge and dsPIC33F Communicati on 5 days Wed 1/2/08 Mon 1/7/0 T om,Matt
58 Hol ocon communication wi th sensors 14 days Mon 12/17/0 Mon 12/31/0 T om
59 Hol ocon and dsPIC33F Interface 14 days Mon 1/7/0 Mon 1/21/0 T om
60 Holocon Algorithms 33 days Mon 1/7/08 Sat 2/9/08 Tom
61 Arena navigating algorithm 14 days Mon 1/7/0 Mon 1/21/0 T om
62 Room navigating algorithm 7 days Mon 1/21/0 Mon 1/28/0 T om
63 Flame extingui shing al gorithm 5 days Mon 1/28/0 Sat 2/2/08 T om
64 Return Home T rip algorithm 7 days Sat 2/2/08 Sat 2/9/08 T om
65 Test Softw are 46 days Tue 1/1/08 Sat 2/16/08
66 H-Bridge and dsPIC33F Communicati on 5 days Mon 1/7/0 Sat 1/12/08 T om,Matt
67 Hol ocon communication wi th sensors 10 days T ue 1/1/0 Fri 1/11/08 T om
68 Hol ocon and dsPIC33F Interface 10 days Mon 1/21/0 T hu 1/31/0 T om
69 Holocon Algorithms 26 days Mon 1/21/08 Sat 2/16/08 Tom
70 Arena navigating algorithm 14 days Mon 1/21/0 Mon 2/4/0 T om
71 Room navigating algorithm 7 days Mon 1/28/0 Mon 2/4/0 T om
72 Flame extingui shing al gorithm 5 days Sat 2/2/08 T hu 2/7/0 T om
73 Return Home T rip algorithm 7 days Sat 2/9/08 Sat 2/16/08 T om
74 Revise Software 7 days Sat 2/16/08 Sat 2/23/08 69
75 Demonstrate Software 7 days Sat 2/23/08 Sat 3/1/08 74 8
76 SDC & FA Software Approval 0 days Sat 3/1/08 Sat 3/1/08 75 9
77 System Integration 96 days Mon 1/21/08 Sat 4/26/08
78 Assemble Complete System 28 days Mon 1/21/08 Mon 2/18/08
79 Intergrate H-Bri dge, dsPIC33F, and motors wi th Holocon mi crocontroll 14 days Mon 1/21/0 Mon 2/4/0 Matt,Tom
80 Integrate al l sensors with Holocon microcontroll er 14 days Mon 2/4/0 Mon 2/18/0 Joe,T om
81 Integrate al l alogrithms, have all components functi on at proper time 21 days Mon 1/21/0 Mon 2/11/0
82 Test Complete System 9 days Sat 3/8/08 Mon 3/17/08 10
83 Power-Up 5 days Sat 3/8/08 T hu 3/13/0 Matt
84 Locomoti on 7 days Sat 3/8/08 Sat 3/15/08 Matt
85 3-4kHz Frequency Activation 5 days Sat 3/8/08 T hu 3/13/0 Joe
86 Flame location accuracy 5 days Sat 3/8/08 T hu 3/13/0 Joe
87 Flame extingui shing accuracy 5 days Sat 3/8/08 T hu 3/13/0 Matt
88 Hal lway Navi gation 7 days Mon 3/10/0 Mon 3/17/0 T om
89 Room Navi gation 7 days Mon 3/10/0 Mon 3/17/0 T om
90 Return Home T rip 7 days Mon 3/10/0 Mon 3/17/0 T om
91 Revise Complete System 14 days Mon 2/18/0 Mon 3/3/0 78
92 Demonstration of Complete System 0 days Sat 4/12/08 Sat 4/12/08 91 12
93 Demonstration w/ 10 % Fi nal Grade deduction 0 days Sat 4/26/08 Sat 4/26/08 14
94 Dev elop Final Report 105 days Mon 1/14/08 Mon 4/28/08
95 Wri te Final Report 105 days Mon 1/14/0 Mon 4/28/0
96 Submit Final Report 0 days Mon 4/28/0 Mon 4/28/0 95 15
97 Marti n Luther King Day - Universi ty cl osed 0 days Mon 12/17/0 Mon 12/17/0
98 Spring Recess 6 days Mon 3/17/0 Sun 3/23/0
99 ECE Advi sory Counci l Presentation 0 days Mon 4/14/0 Mon 4/14/0 13
100 Senior Desi gn Expo 0 days Wed 4/30/08 Wed 4/30/08 15
58
ID T ask Na me Durat io n Sta rt Fin ish Pre de We ek Resou rce Nam e s
59
Design Team Information
In all, the construction and testing of the robot was completed by the time of the
competition. The mechanical design of the robot proved to be a very daunting task, as
this affected the manner in which the robot was able to move and where components
were able to be placed.
Another place for improvement is in the sensor network of the robot. For instance, if
Sharp GP2D120 sensors are used again, they should be placed further in from the base of
the object whose distance they are measuring. Since any distance below 3-4 cm provides
erroneous readings, placing the sensor more than 3-4 cm from the edge of the object they
are attached to would provide more consistent readings. Also, determining a method to
detect how close the robot is to the candle without relying on the white line detectors
might also be advantageous in a real-world setting. Lastly, the entire implementation
process could have been simplified if a single controller could have been used.
60
References and Acknowledgments
References
Acknowledgments
Western Reserves Controls - Fred Billock, VP and Senior Head Engineer, Akron, Ohio
Ametek - Alan Neal, Division VP Engineering, Kent, Ohio
Rick Nemer - Electronics Engineer, University of Akron, Akron, Ohio
Appendices
RefDes Datasheet
http://www.wrc.cc/general/product_specs/HOLOCON%20
U20 Controller.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/70265
U26, U31 B.pdf
U1,U2,U3 VIRFL Infrared Flame Sensor datasheet
U9,U10,U11 http://www.mouser.com/catalog/632/156.pdf
U8 http://acroname.com/robotics/parts/R66-R2868.pdf
D1,D2,D3 http://www.allelectronics.com/spec/LED-126.pdf
U4,U5,U6,U7 http://www.robot-electronics.co.uk/htm/srf05tech.htm
http://rocky.digikey.com/WebLib/Horn/WEB%20DATA/E
MK1,MK2 M6050P-44.PDF
U12 http://www.radioshack.com/product
U13,U14,U15,U17,U18 http://www.acroname.com/robotics/parts/GP2D120_SS.pdf
61
http://www.dimensionengineering.com/datasheets/DE-
U16,U19 SW0XX.pdf
http://www.dimensionengineering.com/datasheets/DE-
U18 SW0XX.pdf
http://www.sparkfun.com/datasheets/Components/HMC635
U17 2.pdf
http://www.transmotec.com/PDF/Solenoids_Open_Frame/F
U22 1578.pdf
http://www.transmotec.com/PDF/Motors_Spur_Gear_1W-
MG5,MG6 40W/SD3729.pdf
D4,D5,D6,D7,D8,D9,D10,D11,D12 http://www.onsemi.com/pub/Collateral/1N4001-D.PDF
Q5,Q6,Q9,Q10 http://www.st.com/stonline/books/pdf/docs/4132.pdf
Q3,Q4,Q7,Q8 http://www.st.com/stonline/books/pdf/docs/4132.pdf
Q1,Q2,Q11,Q12 http://www.fairchildsemi.com/ds/2N/2N4123.pdf
62