F12: Evil Watchdog
Contents
Abstract
The Evil Watchdog takes the responsibilities of a pet guarding a house. It will roam around a predefined environment, avoid obstacles, and sound an alarm whenever foreign motion is detected.
Introduction
The objective of this project is to design a vehicle to imitate a guard dog. The following items will be incorporated to accomplish this goal :
- Motor driven chassis
- Vehicle will move in a random path detecting motion
- Vehicle will sound an alarm when motion is detected
Technology used
- Motion sensor
- Distance sensor
Team Members and Roles & Responsibilities
- Waymond Chen: Front motor control and distance sensor programming
- Hung Vuong: Distance and motion sensor programming
- Erik Montoya: Backside motor control and programming
Schedule
Starting | Ending | Planned Activities | Actual |
---|---|---|---|
Oct 26, 2012 | Nov 1, 2012 |
|
|
Nov 2, 2012 | Nov 8, 2012 |
|
|
Nov 9, 2012 | Nov 15, 2012 |
|
|
Nov 16, 2012 | Nov 22, 2012 |
|
|
Nov 23, 2012 | Nov 29, 2012 |
|
|
Nov 30, 2012 | Dec 6, 2012 |
|
|
Dec 7, 2012 | Dec 13, 2012 |
|
|
Dec 19, 2012 | Dec 19, 2012 |
|
Parts List and Costs
Item | Details | Source | Cost Ea. | Qty. | Total |
---|---|---|---|---|---|
Batteries | Duracell 1.5V Size AA | Costco | $1.33 | x5 | $6.65 |
Distance Sensors | SRF02 Ultrasonic Range Finder | Preet Kang | $25.00 | x3 | $75.00 |
LEDs | Blue and Green LEDs | HSC Electronics | $0.35 | x2 | $0.70 |
Microcontroller | ARM7 NXP LPC2148 | Preet Kang | $60.00 | x1 | $60.00 |
Motion Sensor | PIR Motion Sensor SEN-08630 | Preet Kang | $9.95 | x1 | $9.95 |
Motor Controllers | SJValley Engineering 5A Motor Controller | Dr. Özemek | $17.99 | x2 | $35.98 |
Piezo Buzzer | 75dB 6VDC Piezo Buzzer | RadioShack | $3.89 | x1 | $3.89 |
RC Car | New Bright Land Rover Mud Slinger | Fry's Electronics | $15.34 | x1 | $15.34 |
Voltage Regulator | LM7805CV Voltage Regulator | HSC Electronics | $2.00 | x1 | $2.00 |
Design and Implementation
Hardware Design
Frame and Inner Placement
For convenience, a New Bright toy RC car was purchased and disassembled. The motors and wheels were already pre-mounted onto the chassis, allowing electronic parts to control the car. On the chassis, slots above the wheel wells were large enough to house motor controllers while the center of the chassis provided enough room to include a small breadboard and the microcontroller. All wires were shortened to the shortest length possible to reduce clutter.Sensor Placement
The sensors, which guided car control, were strategically mounted in front and above the car. This increased visibility of the sensors. Three distance sensors were used to detect obstacles: a left-, a center-, and a right-side sensor was used to determine steering of the vehicle. A front-mounted sensor would seek motion as the car was stopped. Should motion be seen, the piezo buzzer sitting at the front of the car would promptly be sounded.
Power Supply
The battery box beneath the car provided additional convenience. It housed five 1.5-volt AA batteries that supplied up to 7.5 volts in series. This power supply provided enough power to run all of the components of this project. Whenever existing batteries began to run low on power, new batteries could be swapped into place easily. The following list describes the power requirements of each part used:
Part | Voltage Range | Source |
---|---|---|
Distance Sensors (Parallel) | +5V | Microcontroller Pin |
LPC2148 Microcontroller | +7V to +20V | Battery Pack |
Motion Sensors | +5V to +12V | Battery Pack |
Motor Controllers | +7V to +30V | Battery Pack |
Piezo Buzzer | +3V to +6V | Microcontroller Pin |
Hardware Implementation
Software Design
Software Implementation
Testing and Technical Challenges
Battery Life
By far, the battery pack is the most vulnerable component in keeping the Evil Watchdog alive. Only five 1.5-volt AA batteries power the entire system. Possible solutions to this problem are to either use batteries with longer lifespans or to use rechargeable batteries to avoid wasting single-use cells. During testing, a variable-voltage DC power supply, grabbing power from a wall outlet, was used to power the project. This saved battery power later needed for demoing.
Check Opposites
When working with registers, double-check the code to see whether logic is written properly. Using IOSET and IOCLR, for instance, may seem easy and straightforward. However, they can easily become mixed up when a boolean checker is thrown into the mix. At one point during testing, the alarm rang when motion was sighted, and continued to ring forever. The suspect was an IOSET assignment that was instead supposed to be IOCLR. Once that was repaired, the dog ran happily again.
Distance Sensor Placement
Keep the side distance sensors pointing 45 degrees away from center sensor instead of perpendicular to it. Suggested by Preet, this allows the car to see more of its path ahead while maintaining some peripheral vision.
Motion Sensor Polling
The motion sensor is highly sensitive. It can detect slight movements in its environment. To avoid false alarms, modify the program to force the motion sensor to detect continuous movement before it decides to ring the alarm. By doing so, the system will ignore sudden movements assumed non-dangerous.
Vehicle Weight
The original toy car was designed to carry a lightweight circuit board that received RF signals to control the motors. When the car is torn apart and new components are added for this project, the amount of weight placed on the wheels rapidly increases. Additional weight requires extra torque from the wheels to move the carried load, which can drain the batteries much more quickly. The best way to alleviate this problem is to eliminate excess weight and to select the lightest available parts to be placed on the vehicle.
Conclusion
References
Thanks To...
- Dr. Haluk Özemek
- Preet Kang, TA
Appendix
- Project Code: (FIXME)
- Project Video: (FIXME)