53
HelperTech. School of Engineering Science, Burnaby, BC, V5A 1S6 February 14, 2010 Dr. Andrew Rawicz School of Engineering Science Simon Fraser University 8888 University Drive Burnaby, BC V5A 1S6 Re: ENSC 305/440 Design Specification for Remote Control Snow Blower Robot Dear Dr. Rawicz: The enclosed document clearly describes the design specification of our developing snow blower robot, RoboBlow, which is a wireless remote control robot for snow removal. Our proposed robot will provide the utility of snow removal without the necessity of going outdoors in person. The main functionality of the robot will include salt spraying, snow throwing, and real time video transmission from the robot to the remote controller. The attached document describes the design specification to achieve the functionality requirements of the robot as well as the solutions and the systems in mechanical, electrical, and programming aspects. The mechanical parts and models that will be used in this project are also listed in this attachment. HelperTech is a research team found by four talented and innovative senior engineering students: Leo Cheng, Peter Hsiao, Joseph Shen, and YuYuan Liu. If there are any questions or concerns regarding our proposal, please feel free to contact me by phone or by email. Sincerely, Leo Cheng President and CEO, HelperTech Phone: (604) 760-1283 Email: [email protected] Enclosure: Design Specification for Remote Control Snow Blower Robot

HelperTech. School of Engineering Science, …whitmore/courses/ensc305/projects/2011/6desi.pdfHelperTech. School of Engineering Science, Burnaby, BC, V5A 1S6 ... ATX Power Supply Main

Embed Size (px)

Citation preview

HelperTech.

School of Engineering Science, Burnaby, BC, V5A 1S6

February 14, 2010

Dr. Andrew Rawicz

School of Engineering Science

Simon Fraser University

8888 University Drive

Burnaby, BC

V5A 1S6

Re: ENSC 305/440 Design Specification for Remote Control Snow Blower Robot

Dear Dr. Rawicz:

The enclosed document clearly describes the design specification of our developing snow

blower robot, RoboBlow, which is a wireless remote control robot for snow removal. Our

proposed robot will provide the utility of snow removal without the necessity of going

outdoors in person. The main functionality of the robot will include salt spraying, snow

throwing, and real time video transmission from the robot to the remote controller.

The attached document describes the design specification to achieve the functionality

requirements of the robot as well as the solutions and the systems in mechanical, electrical,

and programming aspects. The mechanical parts and models that will be used in this project

are also listed in this attachment.

HelperTech is a research team found by four talented and innovative senior engineering

students: Leo Cheng, Peter Hsiao, Joseph Shen, and YuYuan Liu. If there are any questions

or concerns regarding our proposal, please feel free to contact me by phone or by email.

Sincerely,

Leo Cheng

President and CEO, HelperTech

Phone: (604) 760-1283

Email: [email protected]

Enclosure: Design Specification for Remote Control Snow Blower Robot

Design Specification

Remote Control Snow Blower Robot Spring 2011

Submitted to: Andrew Rawicz (ENSC 440)

Michael Sjoerdsma (ENSC 305)

Project Team: Leo Cheng (301084573)

Peter Hsiao (301025638)

YuYuan Liu (301046236)

Joseph Shen (301032167)

Design Specification for Remote Control Snow Blower Robot

ii

Executive Summary

This design specification document provides detail description of the technical solutions to

the functional requirements of RoboBlow, which is a remote-controlled robot for snow

removal. RoboBlow can be controlled wirelessly and it is attached with two cameras, one

snow thrower, and one mechanical part to spray salt for snow removal such that the user can

stay indoors and remove snow outdoors.

Section 2 discusses the design of snow thrower in the physical, mechanical, and electrical

aspects. Section 3 describes the solution to snow-out direction control with the physical

design and method to monitor the snow-out process. Section 4 discusses the salt spraying unit

and section 5 shows the overall physical design of the robot. Finally, section 6 provides a

detail description on the remote controller in various aspects.

This document is believed to explain the design specifications to the RoboBlow functionality

and following the design specifications in this document should lead to a completion of the

prototype of RoboBlow.

Design Specification for Remote Control Snow Blower Robot

iii

Table of Contents

Executive Summary .......................................................................................................................... ii

List of Figures ................................................................................................................................... vi

Glossary ......................................................................................................................................... viii

1. Introduction .................................................................................................................................. 1

1.1 Scope ...................................................................................................................................... 1

1.2 Audience ................................................................................................................................. 1

2. Snow thrower Module .................................................................................................................. 2

2.1 Snow Thrower Physical and Mechanical Design .................................................................... 2

2.2 Snow Thrower Electrical Design and Power .......................................................................... 3

2.2.1 Circuit diagram: ............................................................................................................... 3

2.2.2 Part information: ............................................................................................................. 3

2.2.3 Operating Limits .............................................................................................................. 4

2.3 Power Distribution.................................................................................................................. 5

2.3.1 Electronic Design ............................................................................................................. 6

2.4 Driving Unit ............................................................................................................................. 8

2.4.1 Physical and Mechanical Design ...................................................................................... 8

2.4.2 Electronic Design ...........................................................................................................10

2.5 Safety Design ........................................................................................................................12

2.6 Test Plan ...............................................................................................................................14

3. Snow-out Direction Unit .............................................................................................................15

3.1 Physical and Mechanical Design ...........................................................................................15

Design Specification for Remote Control Snow Blower Robot

iv

3.1.1 Control Circuit ................................................................................................................16

3.1.2 Method of attaching ......................................................................................................17

3.2 Camera Unit ..........................................................................................................................17

3.2.1 Physical design ...............................................................................................................17

3.2.2 Camera...........................................................................................................................18

3.2.3 Step Motor Connection .................................................................................................18

4. Salt Spraying Unit .......................................................................................................................20

4.1 Physical and Mechanical Design ...........................................................................................20

4.2 The Salt Stopper ...................................................................................................................20

4.3 The Salt Filter ........................................................................................................................21

5. The Entire Body Building ............................................................................................................22

5.1 Physical Design .....................................................................................................................22

5.2 Method of Connection .........................................................................................................23

5.3 Partition in the Bottom Board ..............................................................................................23

6. Remote controller ......................................................................................................................24

6.1 physical design specification ................................................................................................24

6.1.1 Dimension, weight and material ...................................................................................25

6.1.2 Controller panel design .................................................................................................25

6.1.3 Internal structure...........................................................................................................26

6.2 Hardware design specification .............................................................................................26

6.3 Software design specification .............................................................................................27

6.3.1 Driver development .......................................................................................................27

6.3.2 Software architecture in Nutshell .................................................................................28

6.3.2 Algorithm flow chart ......................................................................................................28

6.4 Control module inside the robot ..........................................................................................29

Design Specification for Remote Control Snow Blower Robot

v

6.4.1 Hardware design ............................................................................................................29

6.4.2 Software design specification ........................................................................................29

7 Conclusion ...................................................................................................................................30

8 Appendix .......................................................................................................................................31

9 References ...................................................................................................................................44

Design Specification for Remote Control Snow Blower Robot

vi

List of Figures

Figure 1: Yardworks Electric Snow Thrower 2

Figure 2: Power switch module for the snow thrower 3

Figure 3: Inside the Power Distribution Module 5

Figure 4: ATX Power Supply Main Connector 6

Figure 5: Driving Unit Module 8

Figure 6: DC geared motor CAD diagram, units are in inches 8

Figure 7: H-Bridge Schematic 10

Figure 8: adding Heat Sink to the power transistor 11

Figure 9: Flashing LED using microcontroller 12

Figure 10: Motion Detection for Warning Alarm 13

Figure 11: Testing the power switch circuit with low power application 14

Figure 12: Snow Thrower and the Vane 15

Figure 13: Stepper Motor 15

Figure 14: PCB connection of the L293N IC and the motors 16

Figure 15: Camera location in the robot 17

Figure 16: PCB connection of the L293N IC and the motors 18

Figure 17: Electromagnet 20

Figure 18: Tea set filter 21

Figure 19: Physical design of the robot 22

Figure 20: Partition in the Bottom Board 23

Figure 21: the remote controller with cover opened. 24

Design Specification for Remote Control Snow Blower Robot

vii

Figure 22 the remote controller with the cover closed 24

Figure 23: the top-view of the remote controller 25

Figure 24 the software architecture in the controller 28

Figure 25: Software architecture in the robot 29

Design Specification for Remote Control Snow Blower Robot

viii

Glossary

LCD Liquid Crystal Display, a flat electronic visual display

Snow Intake The amount of snow that the snow thrower can handle at a given

moment

H-bridge A well know electronic circuit used to control motor rotation

direction

ARM9 The version 9 ARM CPU. ARM is a global leading company for

designing embedded system processor. ARM9 is one of their product

models.

MCU Micro-controller. It is a small computer on a single IC containing a

processor, memory and programmable I/O [2]. It is usually used in

automatically controlled products and devices.

IEEE 802.11 It is a set of standards carrying out wireless local area network

computer communication in the 2.4, 3.6 and 5 GHz [1].

USB HID The USB human interface device class ("USB HID class") is a USB

device class that describes human interface devices such as

keyboards, mice, game controllers and alphanumeric display devices.

Linux kernel The Linux kernel is an operating system kernel used by the Linux

family of Unix-like operating systems. It is one of the most

prominent examples of free and open source software.

Design Specification for Remote Control Snow Blower Robot

1

1. Introduction RoboBlow is a remote-controlled snow thrower robot which enables its operator to

remove the snow and prevent ice formation on walkways or driveways while staying

inside his/her home. The remote controller of RoboBlow allows its operator to move

RoboBlow in any direction with desirable speeds and offers the utility to switch on/off a

snow thrower attached to the robot and to spray salt from the robot. This design

specification discusses the technical approach to the RoboBlow development for these

functions and the functional specifications outlined in the document of RoboBlow

Functional Specification.

1.1 Scope

This design specification clearly describes the technical solutions for RoboBlow

development to approach the requirements listed in the RoboBlow Functional

Specification.

The possible hardware and software approaches are discussed in this document.

1.2 Audience

This document is proposed for development use in the HelperTech research team. This

document has provided a design guideline with the detail solutions to the final product

requirements. Engineers should use this document as reference when implementing and

testing the final product.

Design Specification for Remote Control Snow Blower Robot

2

2. Snow thrower Module

2.1 Snow Thrower Physical and Mechanical Design

Due to the level of difficulties and time limitations, we decide to purchase an off market

electrical powered snow thrower from Canadian Tire [1]. The figure below shows the

thrower unit we will facilitate.

Figure 1: Yardworks Electric Snow Thrower

The blade shown in the figure is rotated by an AC motor inside the snow thrower. The

purpose of the blade is to “stir” the snow in the front and creates an upward force to the

snow. The vane can be rotated manually so the snow with upward force can be blown into

a desired direction. (The direction of the vane will be robotized and is discussed in

another section.)The physical and mechanical specification and limits are lists on the

operation manual and are presented in the table below.

Table1: Snow Thrower Physical and Mechanical Specification Specification

Blade Speed Up to 2600 RPM (no load)

Clearing Width 40.6 cm

Clearing Depth 15.2 cm

Impeller Size 35.6 cm

Weight 10.2 kg

Design Specification for Remote Control Snow Blower Robot

3

2.2 Snow Thrower Electrical Design and Power

2.2.1 Circuit diagram:

Figure 2: Power switch module for the snow thrower

We wish to be able to turn on/off our snow thrower on our robot through the

microcontroller on board. The snow thrower is purchased from Canadian Tire which uses

an AC motor that operates at 120V, 9A, 60Hz to rotate the turbine. Therefore, we need a

relay so that we can switch AC power from the wall plug. The relay is a mechanical

device that enables lower power signals to switch another high power circuit. From the

diagram above, in order to switch on the relay, we can output an “on” control signal to

the transistor which will put the transistor into saturation mode. Once the transistor is

switched on, the switch in the relay contacts would turn to the NO node which completes

the circuit to turn on the motor. We can then output an “off” control signal to the

transistor so there would be no current flowing through the relay coil, and the switch in

the relay contacts would turn back to the NC node which opens the circuit and turn off

the motor.

2.2.2 Part information:

Table 2: Circuit components list Component: Name: Value/rating:

Diode 1N4148 450 mA max.

Transistor 2N3904 200 mA max.

Resistor N/A 1K ohm

Relay 1EC255 240VAC, 10A max.

AC motor (Snow thrower) Electric snow thrower 120V, 60Hz, 9A

Design Specification for Remote Control Snow Blower Robot

4

2.2.3 Operating Limits

By inspecting the data sheets and the description of each of the components in the switch

circuit, we have implemented mechanisms to prevent the components from going over

their limits.

1. AC motor

The AC motor inside the snow thrower is rated to operate at 120V, 60Hz, 9A. The power

supply is coming directly from the wall plug. Inside the original switch component (it

comes with the product), there is already a fuse installed. Therefore, we decided to

replace the push bottom switch with our relay but keep the original fuse to prevent the

AC motor drawing excess current.

2. Relay

The relay we purchased is rated to operate at 240Vac, 10A maximum on its contacts.

Since we already have a fuse that comes with the snow thrower, we are certain that the

operating power would not exceed the relay operating limits, or else the fuse would break

down and prevent damages to the relay or the motor.

3. Transistor

According to datasheet, the maximum current that the 2N3904 BJT can handle is 200mA.

When we apply the 8V to the relay, we can make sure the current is below 200mA by

minimizing the power supply current when the transistor is in saturation mode. However,

when the relay is switched off, there might be a brief high voltage produced due to the

back emf of the coil. In order to prevent this voltage causing undesired high current

flowing through the transistor while it is cut off, we direct this current away from the

transistor by using the 1N4148 diode so the current can be dissipated gradually through

the loop as the back emf disappeared.

4. Microcontroller

The current from the digital pin of the Arduino microcontroller is about 40mA. In order

to prevent more current drawing from the I/O pin, we place a 1K ohm resistor in between

the base of the BJT and the microcontroller to limit the current flow to about 4mA. The

operating points will be discussed in the next section.

Design Specification for Remote Control Snow Blower Robot

5

2.3 Power Distribution The power distribution module on board is responsible to provide sufficient electrical

power supplies to each of the component in the robot. The below block diagram

illustrates the responsibilities of the module:

Figure 3: Inside the Power Distribution Module

Table 3: Power requirements for each component on board

Components: Power Requirement:

Snow Thrower 120 Vac, 60Hz, 9A

Driving Unit

(including 2x H bridges)

12 Vdc, 15A max each

Stepper Motors 12 Vdc, 0.33A max each

Control Circuits:

-Power Switch Circuit

-On Board Microcontroller

-Interfacing BJTs for power

MOSFETs

-8 V

-5V (Max 10Watt)

-About 10V

Total: < 1500 Watts

Note: The power extension cord should be able to handle the power rating of up to 1500

Watts. Therefore, the one rated as contractor grade with three outlets from Canadian Tire

will be selected. (Please see [3])

Power Extension Cord

Home Outdoor

Power outlet3x Power Outlets

on board

Snow

Thrower

2x Computer

Power

Supplies

Driving Unit

Stepper

Motors

Control

Circuits

Design Specification for Remote Control Snow Blower Robot

6

2.3.1 Electronic Design

Powering the Snow Thrower Module

The snow thrower purchased off the market already comes with a switch circuit and the

plug. Therefore, we modify the switch circuit as discussed in the snow thrower module

section and simply plug the power cord to one of the three power outlets from the

extension cord and the snow thrower can be powered when the power switch is on.

ATX Computer Power Supply

Since we need to design and implement circuits for driving unit, stepper motors, and

control unit modules, we have to use sufficient power supplies in order to meet different

power requirements of each module. The power supply for computers is our number one

choice. The output voltages from computer power supplies are regulated, and the currents

can be chosen with respect of the number of wires connected. We use two ATX power

supplies (Provide maximum power 400Watt each) recycled from old computers. The

table below displays the power ratings of these power supplies.

Table 4: A 400 Watt ATX Power Supply Distribution Voltage Total Current Color of Wire Number of Wires Current/Wire

12V 22A Yellow 9 2.4A

5V 20A Red 10 2A

3.3V 10A Orange 5 2A

GND Black 25

In order to turn on the power supply with no connection to computer motherboards, we

just need to short the PS_ON pin on the power supply main connector to the ground pin

as indicated by the green line shown in the below figure.

Figure 4: ATX Power Supply Main Connector

Design Specification for Remote Control Snow Blower Robot

7

Powering the Driving Units

We will facilitate one H bridge for each of the two robot driving DC motors. As indicated

by table 3, the power requirement to drive each motor is 12 V and 15 A maximum.

Therefore, according to table 3, we will connect six 12V yellow wires together so we will

have a maximum of 14.4 A current supply to each motor. Subsequently, six black wires

should be connected so the power supply can handle the same amount of current to the

ground. Tongue terminals are used to connect the ends of each bundle. We need to use

two power supplies because each of them can only provide 9 12V wires and we need at

least 12 wires.

Powering Stepper Motors

The power requirement for stepper motors is 12V and 0.33A maximum. Each 12V yellow

wire from the ATX power supply provide up to 2.4A of current. The control H Bridge IC

can only handle the maximum current of 0.33A as well. Therefore we need to use high

power resistor in series with the control IC to limit the current flow in order to prevent

damages to the IC. We can also facilitate current dividers which we can make sure only

one eighth of 2.4 A is drawn to the IC. More details will be researched and the specific

value of the current limiting resistors will be determined as we make further progress into

our project.

Powering the Microcontroller and other control circuits

To power the microcontroller, we need a 5V supply with 10 Watt maximum power. This

requirement indicates we can simply connect one of the 5V red wires directly to the

microcontroller since it only supplies up to 2A of current. However, we will need to

install a fuse in series with the power input of the microcontroller to prevent more current

causing damages to the circuitry.

Each of the control circuits such as the power switch and H Bridge driving BJTs require

voltages and current much lesser than one 12V yellow wire supply. When we use

standard electronic lab power supplies, we can choose the right amount of power needed

for each circuit. However, since the ATX power supply can only output fixed amount of

power, we need combinations of voltage current dividers with power resistors to limit the

power outputs. Again, more details such as resistor values are to be determined as we

move further into our development. Also, test plans will be discussed and carried out.

Design Specification for Remote Control Snow Blower Robot

8

2.4 Driving Unit The driving unit is responsible of the movement of our RoboBlow robot. Two geared DC

motors are used in this module. Control signals are inputted from the on board

microcontroller to control the speed and the direction of these motors. The two Bridges

act as the interface to between power, control signals and the motors. The figure in below

illustrates this relationship.

H Bridge

Control Signals

Power Supply

DC motor with Gear

BoxWheel Rotation

Figure 5: Driving Unit Module

2.4.1 Physical and Mechanical Design

DC Motor Performance

Our robot driving motor is purchased from NPC robotics, a war robot specialized vendor.

The motor is bought as a set which includes a DC motor with gear box connected with

the gear ratio of 34:1. The wheel is also included. The below figure shows the CAD

diagram of the geared motor.

Figure 6: DC geared motor CAD diagram, units are in inches. (Cited from NPC Robotics [5])

Design Specification for Remote Control Snow Blower Robot

9

Since the DC motor is already geared, the torque the shaft outputs is increased, but the

speed of the rotation is decreased which suits our application where higher torques are

needed. The table below shows the performance of the geared motor output with respect

to various current supplied.

Table 5: Torque, RPM and amperage relationship @ 12V [5]

Material of the Wheel

The wheel of our robot is included in the set with the geared motors. The diameter is 8”

long and the width is about 0.8” wide. The surface of the wheel is smooth and made of

rubber which would not be sufficient for our robot to drive in icy conditions. Therefore,

we plan to cut two pieces of strips from a slip proof mat of width 0.8” and length of 25”

and use superglue to attach them to our wheels. There might be alternative solutions to

improve the traction of our wheels. More details will be addressed as we make further

progress into this module.

Design Specification for Remote Control Snow Blower Robot

10

2.4.2 Electronic Design

In order to rotate our motors in two directions, we need to implement an H-bridge circuit

for each of them. The figure below presents the schematic of a standard H bridge [6].

Figure 7: H-Bridge Schematic

The goal of an H-bridge circuit is to supply electrical power to motors in two directions

so the motor can be rotated in either counter clockwise or clockwise direction. The theory

of operation is fairly simple. From the above figure, when control signal 1 and 4 switch

on the Q1 and Q4 transistors while the Q2 and Q3 transistors stay off, Q4 will source

current to the motor while Q1 sinks the current to the ground. In order to reverse the

rotation of the motor, control signals switch on Q2 and Q3 transistors while Q1 and Q4

transistors are turned off. D1 to D4 are flyback diodes. Their main purpose is to prevent

sudden voltage change applied across inductive loads in order to protect the transistors

from damages caused by excess current. The table below presents the basic components

we will use to build our H-bridge circuit.

Table 6: Basic Components in H-Bridge Component: Device: Description:

Q4, Q2 IRF 9540 N-channel Power MOSFET

Q1, Q3 IRF 540 P-channel Power MOSFET

D1 to D4 (might not be

used)

1N4001 Flyback diodes

BJT on control signal

(not shown)

2N3904 General Purpose NPN BJT

M1 NPC-41250 DC Geared Motor

Design Specification for Remote Control Snow Blower Robot

11

The four power MOSFETs selected are mainly used for high power applications which

can handle current up to 22A. Since we plan to supply 15 A to our motor, these transistors

are suitable for our purpose. The control signals outputted by our microcontroller are 5V

and 40mA maximum when they are digitally HIGH. Therefore, we might have to add a

general purpose bipolar junction transistor on each control signal in order to amplify

these signals in order to sufficiently turn on either set of the power transistor. Specific

details of this issue will be researched and addressed as we make further progress into

this module. The flyback diodes might not be needed in our H bridge circuit because

these diodes are already fabricated with the power transistors.

One of the most important concerns of our H-bridge circuit is the power generated from

the transistors during operation. This power can be estimated using equation:

Where Id is the drain current, and Rds(on) is the resistance between drain and source

when the transistor is conducting. According to data sheet, the Rds(on) is about 0.055 to

0.077 ohm. We will use 0.066 ohm as estimation and take the drain current to be 16 A,

and we could find the power generated would be about 17 Watt. Based on the

calculation, we would need to add heat sinks in order to dissipate the heat generated.

The figure below shows how the heat sink is added to the power transistor. The insulating

Mica is placed on the metal plate of the transistor so the heat sink is insulated. The

washer is used to provide electrical insulation to the screw.

Figure 8: adding Heat Sink to the power transistor

Design Specification for Remote Control Snow Blower Robot

12

2.5 Safety Design Safety is the most important factor when it comes to designing a product. Roboblow is

targeted to bring convenience to people’s life. Despite its main task which is to clean the

snow, It should not make damages to any properties or cause injuries to any life form by

any means.

There are two cameras installed on the robot, one monitoring the front, and the other one

can be rotated wirelessly by the operator. When the operator sees any incoming danger of

operation, he/she can shut down the onsite robot remotely through the wireless controller.

However, there should be other safety mechanism on the robot itself, so other people can

be warned or directly shut down the robot when troubles are about to happen. We have

planned three mechanisms that would help dealing with these safety issues.

Flashing LEDs during Operation

We plan to use four LEDs so that two of them will be flashed for a second whenever the

microcontroller on board is powered on. The colors of LEDs have to be in bright tones

such as yellow and red so people nearby the area can notice the machine is in operation.

The figure below illustrates how the LED flashing circuit will be connected. When digital

output1 is HIGH, the two LEDs at the top are lighted, and vice versa for the bottom two

LEDs. The two resistors are implemented in order to limit the current. Specific resistor

values and LED colors will be decided as we make further progress into our safety

module.

Figure 9: Flashing LED using microcontroller

Design Specification for Remote Control Snow Blower Robot

13

Motion Detection for Warning Alarm

Although there are two cameras installed on the robot with one able to rotate, there are

still plenty of blind spots when the robot is in operation. Therefore, we need to add other

sensors on the robot in order to monitor the surrounding so warnings can be given to live

forms nearby. We plan to install three motion sensors on our robot, so all sides of the

machine can be monitored except for the front side where there is always a camera

looking forward.

Motion SensorsSensor

SignalsMicrocontroller

Control

SignalsAlarm

Figure 10: Motion Detection for Warning Alarm

According to the above diagram, the motion sensors installed on our robot will send

signals to the on board microcontroller whenever any motion is detected from the

surroundings. Once the microcontroller receives any of the sensor signals, it will send

control signal to sound the alarm so live forms nearby can be warned. We will use PIR

motion sensors and adequate electronic alarm to construct our circuit.

Button-Triggered Emergency Power Off

This mechanism is relatively simple to be achieved and is also one of the most crucial

functions on our robot. A red button with very noticeable sign will be installed on the

cover of our robot, so whenever it is pressed, the robot under operation will be shut down

and power off immediately. At the hardware level, we simply have to connect the button

to the microcontroller and label the button clearly on the cover of our robot. At the

software level, there will be an if-statement checking the status of the button before each

loop with other functions is executed.

Design Specification for Remote Control Snow Blower Robot

14

2.6 Test Plan Power Switch Test Plan

Turning the switch between NO and NC nodes in relay contacts

Since we have no previous experience with a relay, we first start by checking if the relay

purchased works according to its description. We connect the two ends of the relay coil to

the power supply in our electronics lab with minimum current and gradually increase the

voltage on. There are no connections to the relay contacts. As soon the voltage reaches 8V,

the switch inside the relay clicks to another side of the two contacts. Therefore, we

conclude that we only need 8V to switch on the relay.

Connect the circuit according to the diagram with LED as load instead of motor

Figure 11: Testing the power switch circuit with low power application

After making sure our relay works according to its description, we then connect the

switch circuit like above. We use a LED instead of the AC motor, and Vdc with ~1V from

the power supply in our lab with minimum current to make sure our switch circuit works

according to the theory before we actually put the high power application on site. Upon

connecting the necessary circuit components and apply adequate voltages for the switch

circuit and Vdc, we observe the LED turning on/off according to the digital control signal

given by the microcontroller.

Design Specification for Remote Control Snow Blower Robot

15

3. Snow-out Direction Unit

3.1 Physical and Mechanical Design To control the snow blowing direction, we use a DC stepper motor attaching to the handle on the

body of the snow thrower to turn the snow direction vanes on the thrower. To ensure that the vane

can rotate full range without breaking the limit (the vane has its physical limit that it can only

rotate to a certain instance.) we need to carefully select the initial position of the motor and the

range of degree that the handle rotates within 90 to prevent breaking.

The following diagram shows the snow thrower vane that is controlled by the motor (The handle

is hidden behind the vane, inside the robot body.) The following diagram shows the vane that

controls the snow blowing direction.

Figure 12: Snow Thrower and the Vane

Stepper Motor

We need to choose a stepper motor that has sufficient torque to apply force to rotate the

handle. Since the motor is attached to the end of the handle, it needs much more force to

drive. We choose a Sm-42b-yg011-25 mercury stepper motor to serve this purpose. The

bipolar motor is driven by a L293dne IC chip. The following diagram shows the

connection between IC, motor, and the Arduino microcontroller. Note that Arduino MCU

is only used for testing.

Figure 13: Stepper Motor

The motor has four colored wires that are blue, green, red, and yellow, respectively.

Design Specification for Remote Control Snow Blower Robot

16

3.1.1 Control Circuit

The following diagram shows the PCB connection of the L293N IC and the motor, where

RA0 is Blue, RA1 is yellow, RA2 is green, and RA3 is red.

Figure 14: PCB connection of the L293N IC and the motors

The mechanism we use is standard full-step iteration. Since precision is not highly

required for this application, half-step iteration is not used. The bipolar step motor is

consisting of two electromagnets. The red and green wire controls one magnet and need

to be always inverted to each other, while the blue and yellow wire controls another one

and need to be always inverted to each other.

To control the above circuit by microcontroller, we apply positive or negative digital

signals to the pins 1Y, 2Y, 3Y, and 4Y by a specific order. The order can be summarized

by the following table:

Table 7: Pin signal sequence for snow-out direction

1Y 2Y 3Y 4Y

+ - - +

- + - +

- + + -

+ - + -

“+” stands for positive digital signals

“-” stands for negative digital signals

We keep looping the signal order and insert a delay of 75ms between the iterations. ach

iteration would cause the motor to rotate .8 ˚. When applying the order reversely, the

motor would rotate in reverse direction.

Design Specification for Remote Control Snow Blower Robot

17

3.1.2 Method of attaching

To make the motor apply force to the handle, we screw a hole on the handle, stick a metal

rod inside the hold, then attach the metal rod and the end of the handle to the top of the

motor.

To ensure that the motor is properly attached to the handle, we choose to use the

electrical glue gun.

3.2 Camera Unit

3.2.1 Physical design

In order to be able to constantly check the surrounding environment 360 degrees wise, we

need two USB cameras on the robot. Camera A is mounted on top of a robot and is able

to rotate 360˚(controlled by another stepper motor used for controlling the snow blowing

direction). Camera B is mounted solid in the front of the robot as the picture shows below,

and has no freedom to rotate. Camera B is used to constantly monitor images in front of

the robot to the ground to ensure safety. The cameras are securely placed outside the

robot, and covered by acrylic boards which are two centimeters thick. We also install a

transparent glass shield in front of the camera to make it possible to be used under snow

and wet condition.

Figure 15: Camera location in the robot

Design Specification for Remote Control Snow Blower Robot

18

3.2.2 Camera

We choose Webcam camera SPCA5xx by Vimicro Corp for both of our camera. This

camera supports Linux kernel and can be configured to send real time image to the

central MCU on the robot, where the MCU on the robot sends the image back to the LCD

screen for the user to monitor. Below is an image of SPCA5xx, a stable, high quality

webcam camera.

3.2.3 Step Motor Connection

We use the same mechanism and step motor as described in the snow blowing direction

section. To connect the camera to the motor, we make use of the cylinder acrylic rod,

which is hollow in the interior. We insert a solid rod from the interior, connect the camera

on one end via superglue, and connect the other end on the top of stepper motor by

electrical glue gun. This application requires precise rotating degree, hence, we employ

the half-stepping technique of stepper motor. To look at the reference diagram of stepper

motor connection again:

Figure 16: PCB connection of the L293N IC and the motors

Design Specification for Remote Control Snow Blower Robot

19

We give 1/0 digital signals to 1Y, 2Y, 3Y and 4Y according to the following table of

order:

Table 8: Pin signal sequence for camera direction

Step 1Y 2Y 3Y 4Y

1 + - - -

2 + + - -

3 - + - -

4 - + + -

5 - - + -

6 - - + +

7 - - - +

8 + - - +

This technique has twice as many as steps comparing to the standard technique used in

controlling the thrower vane. This way, the resolution is double and each step rotate the

motor 0.9 degree, hence increase the precision.

Design Specification for Remote Control Snow Blower Robot

20

4. Salt Spraying Unit

4.1 Physical and Mechanical Design The salt spraying unit serves the purpose of spraying salt on the areas that the robot goes

through. The unit is placed under the bottom of the robot. The important issues we need

to consider is how to control the amount of salt carefully so we don’t waste salt or runs

out of salt too fast. Second of all, we want to limit out budget and design complicity on

this part as much as possible. Therefore, using another stepper motor is not in our

consideration for this case. The design can be broken into 3 parts: The salt box, the salt

stopper, and the salt filter. The box containing the salt needs to be made of material that

doesn’t easily conduct heat to prevent the salt from melting. The box should at the same

time be waterproof. We choose to make the box with plastic. The box should be

30cmx40cm to contain 1.2 liters of salt.

4.2 The Salt Stopper As above graph illustrates, we drill a hole at the bottom of the plastic box and put a

stopper at the hole to fill the hole. We want to be able to control the stopper with

microcontroller. The design we think of is that we use an electromagnet to be the salt

stopper, and place one permanent magnet at the top of the box and superglue another one

below the hole on top of the salt filter. If we configure it that way, When the Salt

Spraying unit is off, counter-clock wise current is applied by the microcontroller, to force

the filter end to become N polar, hence is forced to touch the magnet at the top of filter

and filled the hole. When the unit is on, the current is applied reversely and the top end is

forced to be N polar, hence the stopper touches the top and leave the hole by a tiny

amount, allowing salt to go through holes and spray through the filter. The following

graph shows the electromagnet we are going to use

Figure 17: Electromagnet

Design Specification for Remote Control Snow Blower Robot

21

4.3 The Salt Filter We want the filters to have as small holes as possible which would be just a little bit

bigger than a single salt. We choose to use the stainless-steel filter for tea set for our salt

filter. To prevent from wasting salt, the enable of the microcontroller signal is attached to

the wheel motor signals so that whenever the robot is not moving, the salt spraying unit

always stops spraying. The magnet we are using is one standard medium round craft

magnet. If applied enough current to the electromagnet, this magnet would have enough

magnetic force to attract/repel the electromagnet even with the resistance from the salt.

The same magnet is attached to the top of the box to form a switch for the stopper. The

following graph shows the tea set filter and the medium round magnet.

Figure 18: Tea set filter

Design Specification for Remote Control Snow Blower Robot

22

5. The Entire Body Building

5.1 Physical Design The robot needs to overcome snow condition hence there is no doubt it needs to be

waterproof. While we are driving the robot with only two NPC motors, the weight of the

robot is going to be another issue. The robot functions in best efficiency when the totally

weight is at around 60 pounds. Considering the weight and the waterproof issue, we

choose acrylic board for our body material. We can get the acrylic boards from industrial

plastic and paints. Another choice would be that to build the body of aluminum, which is

light and waterproof, too. We can bring our design to a local welding company, where

they can fabricate the body in aluminum. As the following graph illustrates, the body is

more like a square box, with the back cut to fit in the wheels. All of our design circuitry

and motors are well hidden inside the body.

Figure 19: Physical design of the robot

The above graph is the right side view of the robot. The yellow part is the body of the

robot. We might install a pair of small decorative wheels at the front of the thrower to

reduce the friction.

Design Specification for Remote Control Snow Blower Robot

23

5.2 Method of Connection To make sure the body is attached solidly, we take the body to the machine shop in Simon

Fraser University, drill holes in them and use screws to connect the body. The reason we

want to use screw instead of electrical glue gun is because it’s easier to repair if we can

open the body easily. The body needs to connect to the thrower perfectly to ensure proper

functionality.

5.3 Partition in the Bottom Board To place the component, circuitries and power supply solidly inside the body, we need a

mechanism to ensure that they don’t move around. We partition the bottom body by

installing acrylic board boundaries. The parts consist of 2 motor blocks, one power

supply block, one cylindrical block (for the upper camera), two stepper motor blocks,

MCU block and circuit blocks. The concept is illustrated in the following graph.

text

NPC WHEEL MOTOR NPC WHEEL MOTOR

STEPPER MOTOR FOR

CAMERA

POWER SUPPLY

STEPPER MOTOR FOR

VANE

MCU

textPCB

CIRCUITRY

text

text

PCB CIRCUITRY

PCB CIRCUITRY

PCB CIRCUITRY

Figure 20: Partition in the Bottom Board

Design Specification for Remote Control Snow Blower Robot

24

6. Remote controller The design specification of the remote controller will be provided from physical design,

hardware design and software design aspects. In physical design, the controller

dimension, weight and material will be stated. It will also provide internal structure of the

controller which includes the detailed information of the different hardware as well as

their inside positions. In order to make this demonstration easier, the SolidWork graph of

the controller will be shown in the physical design subsection. In hardware design, each

hardware information and its functions will be presented. It also provides how each

hardware interacts with others. In software design aspect, the embedded software

architecture will be given. This includes the software working mechanism and the

algorithm of each process.

6.1 physical design specification For the ease of understanding this section, please refer to the figure 21 and figure 22.

Figure 21: the remote controller with cover opened.

Figure 22 the remote controller with the cover closed

Design Specification for Remote Control Snow Blower Robot

25

6.1.1 Dimension, weight and material

The shape of the controller is a rectangular block. The length is 330mm, the width is

190mm and the height is 45mm. The weight is less than 1 kg. We make this size and

weight mostly for the portable consideration. When user is controlling the joystick, the

base of the controller should be able to provide enough fictions so that it will not slip

with the human operation. Thus at the bottom of the controller, there will be four rubbers

at four corners to increase the fiction. The cover of the controller will be made by Acrylic,

because Acrylic material can provide enough strength. Its density is suitable. It is also

very cheap.

6.1.2 Controller panel design

The control panel layout is shown in figure 23. The button distribution is design based on

the controller panel convention, function importance and ease of controlling. In addition,

buttons controlling the same module are arranged together. The joystick is positioned at

right side of the controller which is designed for right-handed user. We also have the

similar design for left-handed user. The only difference from right-handed design is that

the positions of the joystick and buttons are switched. A 5.6 inches LCD screen used to

display the real-time image from camera is located in the middle area of the controller.

The speed display is right beside the screen.

Figure 23: the top-view of the remote controller

Design Specification for Remote Control Snow Blower Robot

26

Table 9: All the buttons on the control panel as well as their functions.

Button functions

A Camera switch

B Switch the camera view

C Rotate camera counter-clockwise

D Rotate camera clockwise

E Snow out direction rotate counter-clockwise

F Snow out direction rotate clockwise

G Snow blower switch

H Salt spraying switch

I Power switch for controller

J Emergency switch

K High speed

L Low speed

6.1.3 Internal structure

The ARM development board, USB breadboard and WIFI module are placed and fixed

inside the controller. USB breadboard and WIFI module are both connected to the ARM

development board. Buttons and joystick are connected to the USB breadboard. LCD

screen, LEDs and seven segment display are connected to ARM development board.

6.2 Hardware design specification ARM development board is the central processing unit of the controller. It is responsible

for collecting all the user inputs, data received from WIFI module. It is also designed to

process all the data it received and send out the proper commands. Linux OS has already

been built in. The kernel version is 2.6.12. It enables us to use multi-process/threads

programming skills when writing the embedded software. The RAM is 64MB which is

enough for our products.

USB breadboard connected to the buttons belongs to USB HID class. It will recognize

the inputs from user and send the corresponding USB format data to ARM MCU. The

driver for this device can be found in Linux kernel, the dynamically module installation

method is chosen for mounting this device.

WIFI module (802.11g) is also connected to ARM board by USB. It receives the data

from robot and send out the command issued by ARM MCU in the controller. The

effective wireless communication distance is 100-150 meters depending on environment

situation. Considering that the usage of the robot is mainly for family, this

communication distance is enough for our products. The device driver can be

downloaded from manufacturer’s website. The dynamically module installation method

is chosen for mounting this device.

Buttons and Joystick are directly connected to the USB breadboard. Joystick has eight

Design Specification for Remote Control Snow Blower Robot

27

directions (forward, left forward, right forward, backward, left backward, right backward,

left and right).

LCD screen is connected to ARM development board. The driver is built inside the Linux

kernel.

LEDs and seven segment display are connected to I/O extension port in ARM

development board. The driver is created by our team. The dynamically module

installation method is chosen for mounting this character device.

6.3 Software design specification

6.3.1 Driver development

I/O extension driver is developed by our team. It is used to assign a single pin to be high

or low voltage at a time. The driver specification is stated as following:

1. The device is registered as character device. The device name is ioext.

2. Once the device is opened, all the pins will be set as low voltage. All pull up

resistors associate with the pins will be set.

3. The pins can be set as input or output pins by ioctl function.

4. Before writing to/read from a pin, that pin must be first configured as

output/input pin by using ioctl function.

5. The pin can be read by using read() function.

6. The pin can be write by using write() function.

Note that the complete API will not be provided as it is under development.

Design Specification for Remote Control Snow Blower Robot

28

6.3.2 Software architecture in Nutshell

Figure 24 the software architecture in the controller

As indicated in the nutshell graph, there are 3 main processes in our embedded software.

Process A has 3 threads. Thread 1 is continuously detecting the input from USB buttons

and joystick. Thread B does the I/O extension pin assignments according to the output

from thread 1, so that LEDs and 7 segment display can works properly. Thread 3 is used

to send the command obtained from user input to the WIFI module which will be

transferred to the robot wirelessly later on. Since WIFI communication usually has more

time delay, FIFO inter-process communication method will be used to communication

with WIFI process (process B). Process B is WIFI process. It is used to read/write to the

WIFI module. Reading WIFI module means getting the data received from WIFI while

writing WIFI module means sending data to the robot. This module will accept the data

from FIFO that connects to process A. It will also transfer the camera image data to LCD

process (process C) via another FIFO. LCD process is responsible to decode the camera

image data and display it on the LCD screen. Note that process B and process C are also

controlled by process A via signal mechanism.

6.3.2 Algorithm flow chart

Processes and threads algorithm can be found in appendix. The following table indicates

the appendix indexes for each process and thread.

Table 10: Appendix index for each process and thread

Process or thread name Appendix index

Thread 1 (Process A) Appendix 3

Thread 2 (Process A) Appendix 4

Thread 3 (Process A) Appendix 5

Process B Appendix 6

Process C Appendix 7

Design Specification for Remote Control Snow Blower Robot

29

6.4 Control module inside the robot The controlling module can be divided into two parts, hardware design and software

design. In hardware design, MCU, WIFI module and camera as well as other devices will

be introduced. In software design, the embedded software algorithm will be presented.

6.4.1 Hardware design

The MCU used inside the robot is the same as the one in the controller. It is responsible

for receiving commands from controller and sending the corresponding commands to the

robot. The pins in I/O extension port will be connected to the control circuit of the actual

module. By controlling the transistor base voltage, the motor or other component can be

switched on and off. The pin assignment can be found in the appendix 1 and 2. The I/O

extension driver is created by our team members. The dynamically module installation

method is chosen for mounting this device.

The WIFI module used inside the robot is the same as the one in the controller. It is

connected to MCU by USB port. It is responsible for transmitting camera image to the

controller and receiving the data from controller.

There are 2 cameras installed on the robot. The cameras are connected to the MCU by

USB port. The driver is already inside the Linux OS.

6.4.2 Software design specification

6.4.2.1 Software architecture in nutshell

Figure 25: Software architecture in the robot

As indicated in the nutshell, there are 3 processes. Process A is WIFI process; it receives

the data transmitted from the controller and send camera data to the controller. The

Design Specification for Remote Control Snow Blower Robot

30

received data will be further sent to the process B which consists of 3 threads. Thread 1 is

used to receive the data from process A. Thread 2 does the pin assignment according to

the received data. Thread 3 detects all the sensors states installed on the robot. If

emergency situation occurs, it will stop all the working components in the robot and send

emergency signal to controller. Process C collets the real-time image captured from two

cameras and sends the data to process B.

6.4.2.2 Algorithm flow chart

Processes and threads algorithm can be found in appendix. The following table indicates

the appendix indexes for each process and thread.

Table 11: Appendix index for each process and thread

Process or thread name Appendix index

Thread 1 (Process B) Appendix 8

Thread 2 (Process B) Appendix 9

Thread 3 (Process B) Appendix 10

Process A Appendix 11

Process C Appendix 12

7 Conclusion This document has discussed the technical design solutions to meet the RoboBlow

functional specifications as well as listing the hardware parts which are possible to be

used in the product. The prototype of Roboblow is expected to be realized by following

the designed specifications and test plans in this document.

Design Specification for Remote Control Snow Blower Robot

31

8 Appendix Appendix 1:

I/O extension pin assignment for MCU in the robot

I/O extension pin number Associated CPU I/O pin Function

PIN#1 GPE11 Power MOSFET #1 gate

voltage control for robot left

wheel H-bridge

PIN#2 GPE12 Power MOSFET #2 gate

voltage control for robot left

wheel H-bridge

PIN#3 GPE13 Power MOSFET #3 gate

voltage control for robot left

wheel H-bridge

PIN#4 GPG2 Power MOSFET #4 gate

voltage control for robot left

wheel H-bridge

PIN#5 GPG3 Power MOSFET #1 gate

voltage control for robot right

wheel H-bridge

PIN#6 GPG5 Power MOSFET #2 gate

voltage control for robot right

wheel H-bridge

PIN#7 GPG6 Power MOSFET #3 gate

voltage control for robot right

wheel H-bridge

PIN#8 GPG7 Power MOSFET #4 gate

voltage control for robot right

wheel H-bridge

PIN#9 GPG11 H-bridge Power MOSFET #1

gate voltage control for salt

spraying motor

PIN#10 GPB0 H-bridge Power MOSFET #2

gate voltage control for salt

spraying motor

PIN#11 GPB9 H-bridge Power MOSFET #3

gate voltage control for salt

spraying motor

PIN#12 GPB1 H-bridge Power MOSFET #4

gate voltage control for salt

spraying motor

PIN#13 GPB5 Snow blower power switch

control

PIN#14 GPB6 H-bridge Power MOSFET #1

gate voltage control for snow

out direction motor

PIN#15 GPB8 H-bridge Power MOSFET #2

gate voltage control for snow

Design Specification for Remote Control Snow Blower Robot

32

out direction motor

PIN#16 GPB10 H-bridge Power MOSFET #3

gate voltage control for snow

out direction motor

PIN#17 GPA21 H-bridge Power MOSFET #4

gate voltage control for snow

out direction motor

PIN#18 GPB7 H-bridge Power MOSFET #1

gate voltage control for

camera rotation motor

PIN#19 AIN0 NULL

PIN#20 AIN1 NULL

PIN#21 AIN2 NULL

PIN#22 AIN3 NULL

PIN#23 GPF0 H-bridge Power MOSFET #2

gate voltage control for

camera rotation motor

PIN#24 GPF2 H-bridge Power MOSFET #3

gate voltage control for

camera rotation motor

PIN#25 GPF3 H-bridge Power MOSFET #4

gate voltage control for

camera rotation motor

PIN#26 GPF4 NULL

PIN#27 IIC SDA NULL

PIN#28 IIC SCL NULL

PIN#29 VCC NULL

PIN#30 GND Ground

Design Specification for Remote Control Snow Blower Robot

33

Appendix 2:

I/O extension pin assignment for MCU in the controller

I/O extension pin number Associated CPU I/O pin Function

PIN#1 GPE11 Power button LED

PIN#2 GPE12 Emergency button LED

PIN#3 GPE13 Camera on/off LED

PIN#4 GPG2 Snow blower switch LED

PIN#5 GPG3 Salt spraying switch LED

PIN#6 GPG5 Robot Speed level 1 LED

PIN#7 GPG6 Robot Speed level 2 LED

PIN#8 GPG7 7 segment display

PIN#9 GPG11 7 segment display

PIN#10 GPB0 7 segment display

PIN#11 GPB9 7 segment display

PIN#12 GPB1 7 segment display

PIN#13 GPB5 7 segment display

PIN#14 GPB6 7 segment display

PIN#15 GPB8 7 segment display

PIN#16 GPB10 NULL

PIN#17 GPA21 NULL

PIN#18 GPB7 NULL

PIN#19 AIN0 NULL

PIN#20 AIN1 NULL

PIN#21 AIN2 NULL

PIN#22 AIN3 NULL

PIN#23 GPF0 NULL

PIN#24 GPF2 NULL

PIN#25 GPF3 NULL

PIN#26 GPF4 NULL

PIN#27 IIC SDA NULL

PIN#28 IIC SCL NULL

PIN#29 VCC NULL

PIN#30 GND Ground

Design Specification for Remote Control Snow Blower Robot

34

Appendix 3:

Algorithm flow chart of thread 1 in process A for software in controller MCU

Design Specification for Remote Control Snow Blower Robot

35

Appendix 4:

Algorithm flow chart of thread 2 in process A for software in controller MCU

Design Specification for Remote Control Snow Blower Robot

36

Appendix 5:

Algorithm flow chart of thread 3 in process A for software in controller MCU

Design Specification for Remote Control Snow Blower Robot

37

Appendix 6:

Algorithm flow chart of process B for software in controller MCU

Design Specification for Remote Control Snow Blower Robot

38

Appendix 7:

Algorithm flow chart of process C for software in controller MCU

Design Specification for Remote Control Snow Blower Robot

39

Appendix 8:

Algorithm flow chart of process A for software in robot MCU

Design Specification for Remote Control Snow Blower Robot

40

Appendix 9:

Algorithm flow chart of thread 1 in process B for software in robot MCU

Design Specification for Remote Control Snow Blower Robot

41

Appendix 10:

Algorithm flow chart of thread 2 in process B for software in robot MCU

Design Specification for Remote Control Snow Blower Robot

42

Appendix 11:

Algorithm flow chart of thread 3 in process B for software in robot MCU

Design Specification for Remote Control Snow Blower Robot

43

Appendix 12:

Algorithm flow chart of process C for software in robot MCU

Design Specification for Remote Control Snow Blower Robot

44

9 References [1] Snow Thrower, [Online] Available:

http://www.canadiantire.ca/AST/browse/2/OutdoorLiving/PowerEquipment/Snowthrowe

rs/PRDOVR~0603982P/Yardworks%252B9A%252B%25252B%252B16-in%252BElectr

ic%252BSnow%252BThrower.jsp?locale=en [Accessed: Mar 13th, 2011]

[2] Power Switch Circuit, [Online] Available:

http://www.kpsec.freeuk.com/trancirc.htm [Accessed: Mar 13th, 2011]

[3] Power Extension Cord, [Online] Available:

http://www.canadiantire.ca/AST/browse/3/HouseHome/2/Electrical/OutdoorPowerCords/

PRDOVR~0522321P/Contractor%252BGrade%252BPower%252BBlock%252BCord%2

52B12%25252B3.jsp?locale=en [Accessed: Mar 13th, 2011]

[4] Converting ATX Power Supply, [Online] Available:

http://www.instructables.com/id/Convert-an-ATX-Power-Supply-Into-a-Regular-DC-Pow

e/#step1 [Accessed: Mar 13th, 2011]

[5] Driving unit DC motor, [Online] Available:

http://www.npcrobotics.com/products/viewprod.asp?prod=40&cat=20&mode=gfx

[Accessed: Mar 13th, 2011]

[6] H-Bridge Circuitry. [Online] Available:

http://www.robotroom.com/BipolarHBridge.html [Accessed: Mar 13th, 2011]

[7] Bipolar Step motor operation theory. [Online] Available:

http://www.imagesco.com/articles/picstepper/02.html [Accessed: Mar 13th, 2011]

[8] Resource of SPCA5xx webcam by Vimicro Corp. [Online] Available:

http://www.unixresources.net/linux/lf/11/archive/00/00/16/40/164005.html

[Accessed: Mar 13th, 2011]