Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line...

55
Line Follower Robot Racing Build Program Race!

Transcript of Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line...

Page 1: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

Line Follower Robot Racing

Build

Program

Race!

Page 2: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 1

The COLMAC Line Follower Robot has been developed

as a low cost introductory model for students and

educators interested in Robotics.

Line follower robots are used extensively in industry

in areas where parts or materials need to be

constantly delivered from one location to another.

Generally known as AGVs (Automated Guided Vehicles) they are found mainly in the car

manufacturing industry and anywhere that employs large warehousing where the robot follows

tracks to and from the shelves they stock and retrieve from.

The COLMAC line follower robot kit has the following features:

Simple chassis made from acrylic sheet.

Two wheeled easily controlled differential drive and steering.

Significant distance between line sensors and wheels allowing the robot time to react and

reduce the instances of over-shooting.

Line illumination LED.

The following should be noted when using this robot:

All the settings for the LDR sensors indicated in the notes are examples only. Each robot will

require its own settings for the sensors to be found through calibration. They will depend

on the surface it is operating on, the colour of the line being followed, the charge in the

batteries etc. and indeed similar LDRs will differ slightly from each other.

This robot is also suitable for entering the annual Robotics Ireland ©Robot Games Ireland

Tournament in the Line Follower Racing category. See www.colmac.ie for further details.

Page 3: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 2

Table of Contents

1. Assembling the Line Follower Robot Kit……………………………………………………… .................. 3

2.Downloading/Installing GENIE Design Studio Software ................................................. 21

3. GENIE Design Studio Interface ..................................................................................... 22

4. Connecting the E18 Motor Control Board to your computer ......................................... 23

5. Testing the E18 Motor Control Board ........................................................................... 24

6. Driving the robot forward/reverse ............................................................................... 29

7. Turning the robot ........................................................................................................ 32

8. Using the LDRs to detect a line .................................................................................... 35

9. Using the LDRs to follow a line .................................................................................... 43

10. Using a defined loop during a program ...................................................................... 45

11. GENIE Design Studio Help .......................................................................................... 48

12. Troubleshooting Tips ................................................................................................. 49

13. Improving your Line Follower racing……………………………………………………………………………53

Page 4: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 3

1. Assembling the Line Follower Robot Kit The following tools which are not supplied are the minimum necessary in order to build the robot:

Minimum 25Watt soldering iron and stand – solder is supplied in the kit.

Small long nosed pliers suitable for electronics.

These can be used for manipulating small components and

stripping cable insulation.

They can also be used for trimming the legs of components once

they have been soldered into the printed circuit board (PCB).

Some method of holding the GENIE E18 printed circuit board (PCB) while components are being

soldered is very useful. Some examples are shown below:

Assembly aids and small vices are

ideal but any method that holds the

PCB while the component is being

soldered is ideal – pieces of Blu-Tack

can even be used!

SAFETY NOTICE

Never touch tip of soldering iron – it will burn you!

Always return iron to its stand when not in use.

Wear eye protection – solder can ‘spit’

Avoid inhaling fumes – work in a ventilated area

Ensure all parts of the equipment are damage free

See www.colmac.ie for soldering technique video and other related videos e.g. cable stripping etc.

Page 5: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 4

The first step is to populate and solder all the components on to the GENIE E18 Motor Control

Board.

When completed, this board is a PIC micro controller. Peripheral Interface Controllers (PIC) are

small computers that can be programmed and reprogrammed using the GENIE Design Studio

programming language to turn on/off various outputs depending on the state of various inputs.

The outputs being controlled in this case are:

2 x DC motors used to drive and steer the robot

1 x LED used to illuminate the line being followed

The inputs used to control these outputs are:

2 x LDR (Light Dependent Resistors) that act as line following sensors

The processing of all the information from the inputs and the control of the outputs is done by:

1 x GENIE E18 PIC Microcontroller Chip (18 pin shown in red above)

The motors are driven forward/reverse or clockwise/anti using a motor driver chip:

1 x L293D Motor Driver Chip (16 pin shown in yellow above)

Page 6: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 5

Step 1: Solder in the fixed resistors. Resistors reduce the flow of electric current and also change the voltage level at different parts of

the circuit. Their size is measured in Ohms (Ω) and usually in thousands of Ohms or Kilo Ohms – this

is usually just written as K e.g. 22K = 22 Kilo Ohms

Fixed resistor size is shown using colour code: http://en.wikipedia.org/wiki/Electronic_color_code The colour coding of all resistors used in the E18 board is shown below. Fixed resistors have no polarity i.e. no positive or negative (+ or –) and so can be inserted either

way around.

Insert the resistors in their correct places either

way around as they don’t have a positive or

negative (+ or -).

The size of each resistor is marked on the board and their colour coding is as follows:

0 Ohm – Black – Marked ‘LK’ on PCB

330 Ohm – Orange, Orange, Brown, Gold

4.7K – Yellow, Violet, Red, Gold

10K – Brown, Black, Orange, Gold

22K – Red, Red, Orange, Gold

100K – Brown, Black, Yellow, Gold

NOTE: Many instructional videos including how to solder the printed circuit board (PCB) and the

associated components properly can be found at www.colmac.ie

Page 7: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 6

Step 2: Solder in the capacitors Capacitors are devices that store electricity. Their size is measured in Farads, usually a small

fraction of a Farad such as a micro Farad (µF) or nano Farad (nF).

Solder the ceramic capacitors in their correct places either way around as they don’t have a + or -.

These capacitors are used primarily to reduce

electrical noise generated by the motors when

they are running. This electrical noise can

interfere with the operation of the E18

microcontroller.

As such, C3 and C4 are connected directly across the motor output connections Q6/7 and Q4/5.

Note that C5 shown in red is not required for this project.

Solder the electrolytic capacitor in its correct place. It has polarity i.e. a positive and negative.

The negative (-) leg is beside the grey stripe (marked with a minus sign) as shown below.

Page 8: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 7

Step 3: Solder in the diode Diodes allow electricity to travel in one direction only.

Solder the diode in its correct place - it has polarity i.e. a positive and negative. The negative (-) leg

is beside the grey band as shown below.

Step 4: Solder the transistor, the reset switch and the USB jack The transistor operates as an automatic switch.

The USB jack allows the microcontroller to connect to your computer.

The reset switch restarts the program from the beginning.

Grey band on negative side

Flat side

USB

Page 9: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 8

Step 5: Solder the status LED and chip sockets Insert the green status LED as shown below – flat side is negative.

The chip sockets to hold the GENIE E18 microcontroller and L293D motor driver microchips should

be inserted as shown. The L293D chip allows the motor turn both clockwise and anti-clockwise

which gives forward/reverse and turning motion in the line follower robot.

Step 6: Solder the cable terminal blocks. Insert the terminal blocks as shown – arrows indicate where flying lead cables will be inserted.

Notch

Flat side -

Page 10: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 9

NOTE: Soldering should be neat and uniform. Connections should not touch each other unless they

are supposed to as circled below.

Step 7: Insert E18 and L293D microchips Try to handle the chip legs as little as possible but ensure that all legs are properly inserted into

their socket.

L293D

E18

Page 11: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 10

Step 8: Make flying lead connectors for LED, LDRs and motors

Use the coloured cable to make flying lead connectors as shown in the following pictures.

For the LED, cut approx. 170mm of each cable, braid together as shown and remove approx. 5mm

of insulation from the ends.

Shorten the legs of the LED as shown using snips/pliers etc. in order to minimise the chance of

them touching each other and creating a short circuit.

Braid the individual strands of the exposed cable in order to minimise stray cable strands touching

each other and solder the LED as shown. Take note of which cable is connected to the flat side of

the LED.

5mm

Twist/braid strands together

Black connected to flat side of LED

Page 12: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 11

For the LDRs, cut approx. 250mm of each cable, braid together as shown and remove approx. 5mm

of insulation from the ends as before.

As before, shorten the legs of both LDRs as shown to approx.

10mm using snips/pliers etc. in order to minimise the chance

of them touching each other and creating a short circuit.

Braid the individual strands of the exposed cable in order to minimise stray cable strands touching

each other and solder the LED as shown. Take note of

which cable is connected to the flat side of the LED.

Page 13: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 12

For the motors, cut approx. 150mm of each cable, braid together as shown and remove approx.

5mm of insulation from the ends.

Solder the flying leads to the motors as shown. Be careful with the motor connections as they are

quite delicate.

If possible use similar colour cables in the positions as shown in order to program in accordance with the notes later.

Page 14: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 13

Step 9: Attach motors to chassis using sticky pads

The motors should be attached to the plastic chassis using two sticky pads on each as shown below. The motor cables are then fed through the holes as shown. The edge of the motors should be positioned on the chassis as seen here.

Line up the edge of the motor with the edge of the chassis marked in red.

Page 15: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 14

Step 10: Attach battery pack/switch to chassis.

Attach 2 sticky pads to the battery pack on the switch side as shown.

Stick down the battery pack as seen below – try to centre on the chassis in order to keep it

balanced.

Feed the red (+V) and black (0V)

cables through the holes as shown.

Battery pack cable

Page 16: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 15

Step 11: Connect motor flying leads to the E18 PCB

Firstly attach two sticky pads to the bottom of the PCB in each of the approximate positions shown.

2 x sticky pads are used in each case in order to

accommodate the raised soldered joints and

ensure secure fit to the chassis.

Then insert the cable from each motor into the M3 and M4 connectors preferably in the same

manner as shown below in order to correspond with the programming later on. Do not worry

however if they are inserted differently as changes can easily be made to the programming.

Q4=Black Q5=Yellow Q6=Black Q7=Yellow

Page 17: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 16

Step 12: Insert LED in chassis and connect to E18 PCB

Insert the line illumination LED into the front of the

chassis as shown and feed the flying lead through the

centre cable hole.

Route the LED flying lead through the hole beside the

PCB as shown.

Connect negative (-) cable (black in this case) to the

right side connection of output Q3 and the other cable

to the left side positive (+) connection.

NOTE: If the LED is connected the wrong way around it

will not be damaged but will simply not work.

Flat side = Negative (-)

__ +

Page 18: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 17

Step 13: Connect battery power leads to the E18 PCB

Connect the red (+V) and black (0V) cables to the relevant connectors as shown below. If the cables

are connected the wrong way around the E18 chip will heat up and may be damaged.

Step 14: Insert LDRs in chassis and connect to E18 PCB

Insert the two LDRs into the front of the chassis

as shown and feed the flying lead through the

cable holes.

NOTE: Ensure that the LDR legs do not touch

each other or the legs of the LED which would

result in a short circuit.

0V +V

A2 A0

Page 19: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 18

Route the cables through the remaining holes as shown and connect into the input terminals A0

and A2 as shown on page 8.

NOTE: Light Dependent Resistors (LDRs) do not have polarity (positive/negative) which means that

it does not matter how the cables are connected into the terminal blocks.

Finally, using the sticky pads, attach the E18 to the chassis in the position shown.

A2 A0

Page 20: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 19

Step 15: Attach the rubber bands to the wheels and the wheels to the motors. The rubber bands are used to increase the grip of the wheels. When attached the wheels should

push fit on to the motor drive shaft.

Step 16: Assemble the rear spoiler and attach to chassis

The 5mm end of the support fits into

the spoiler.

The 3mm end of the support fits into

the chassis.

5mm

3mm

Support

Spoiler

Page 21: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 20

Congratulations, you have built the COLMAC Line Follower Racing Robot!

Page 22: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 21

2. Downloading/Installing GENIE Design Studio Software GENIE Design Studio Version 1.1 software is required to program the robot and can be

downloaded free of charge from its developers at their website http://www.genieonline.com/

Complete the required details in the online form and a link will be emailed to you – click on the link

to download and install the software.

If you encounter any difficulties click on the Support tab and you will be directed to the GENIE

Troubleshooting Guide and the Troubleshooting Tool.

Page 23: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 22

3. GENIE Design Studio Interface To open GENIE Design Studio click the GENIE Design Studio icon on the desktop or use the start menu to locate the program.

Menu Bar

Programming Area

Tool Bar

Programming Commands

Microcontroller button

Page 24: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 23

4. Connecting the E18 Motor Control Board to your computer

NOTE: It is necessary to use the GENIE USB Plug & Play cable in order to connect your computer to

the GENIE microcontroller. The cable can be used with all GENIE microcontrollers and can be

purchased from http://colmac.ie/product/download-cable/

Connect the GENIE USB Plug & Play cable and the following window should appear:

If the confirmation window does not appear then click on the Help button and consult the

Troubleshooting Guide.

Select OK

Page 25: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 24

5. Testing the E18 Motor Control Board

Firstly you must tell the software what GENIE chip you are using. Select Microcontroller from the

tool bar followed by Program Settings. Select the GENIE E18 chip.

NOTE: This must be done each time a new program is written unless E18 is set as default.

The Program Settings window provides information about the inputs and outputs available on the

selected E18 chip:

Page 26: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 25

The E18 chip has the following features:

8 digital outputs labelled Q0 to Q7

We are only using Q3 to Q7 incl. for this line follower robot

These outputs are ‘digital’ in that they are either on (1) or off (0)

3 possible analogue inputs e.g. LDR, Thermistor etc. labelled A0, A1 and A2

5 possible digital inputs e.g. switches labelled D0, D1, D2, D6 and D7

As shown on the chip configuration:

o Input A0 and D0 share Pin 17 – connected to A/D0 on PCB

o Input A1 and D1 share Pin 18 – connected to A/D1 on PCB

o Input A2 and D2 share Pin 1 – connected to A/D2 on PCB

We are only using A/D0 and A/D2 for this line follower robot

Power to the chip can be tested across Pin 5 (0v) and Pin 14 ( should be at least 3.5 to 9v)

Number of inputs and outputs available

Chip configuration

NOTE: We are only using LDR inputs in this

robot but it is possible to use many

other analogue inputs such as a

thermistor, variable resistors etc. with

the GENIE E18.

Similarly it is possible to incorporate

digital inputs such as micro switches

with the robot for obstacle avoidance.

etc. but they are not covered in this

Page 27: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 26

Connect the GENIE USB Plug & Play cable to the line follower robot and turn on power to the robot

using the on/off switch included in the battery pack.

The green status LED should flash and the software should

indicate that the microcontroller is now connected as shown.

We can now test that both motors and the line illumination LED

are working.

We will use the Control Device command to test these outputs. This command can be activated

from the menu shown above or by clicking the Microcontroller button on the tool bar as shown

below.

Page 28: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 27

Activating the Control Device command opens the following window in the Program menu.

By clicking on output Q3 and changing it from off (0) to on (1) we should be able to activate the line

illumination LED at the front of the line follower robot as shown.

If the LED does not illuminate, check the following: Is the LED cable connected into the PCB with correct polarity as

shown below?

Is the LED cable connected to the LED with correct polarity i.e.

leg on flat side of LED connected into negative black?

This indicates that the software recognises that the 2

LDR sensors are connected to A/D0 and A/D2 inputs.

NOTE: If they do not show up immediately, cover the

sensors with your finger or lift the nose of the robot

off the ground.

This indicates that all outputs are currently off (0)

Page 29: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 28

Now, by turning on (1) and off (0) outputs Q7, Q6, Q5 and Q4 in turn, we should observe the

clockwise and anticlockwise rotation of each motor M4 and M3.

If the motors do not operate then check the following:

Are the 2 cables from M4 connected into Q6 and Q7 on the PCB?

Are the 2 cables from M3 connected into Q4 and Q5 on the PCB?

NOTE: Consult Section 12 Troubleshooting Tips if you still have problems connecting to the board

and using Control Device.

In the next section we will now look at how to write a simple program to operate both motors in

order to create forward and reverse motion.

Page 30: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 29

6. Driving the robot forward/reverse We are now ready to write our first program to move the motor forward and reverse.

Construct the following flowchart by left clicking and dragging the programming commands from

the Gallery. Commands will automatically link together when you drop them in place.

The Motor command is located under the Input and Output section of the

flowchart symbols.

The Wait and Stop commands are located under the Program Control section of

the flowchart symbols.

Commands will automatically link together when you drop them in place.

Each command must now be edited in order to complete the program.

NOTE:

The following conventions are used when editing outputs and inputs:

0 Make output low (off)

1 Make output high (on)

T Toggle this output (where high is set to low and low is set to high)

X Leave output alone

Page 31: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 30

Double click on each of the commands except the Stop and edit as shown below. Remember to set

the type of motor being used to DC:

It is good practice to give every program a name to appear in the Start symbol.

Push up the M3 and M4 sliders in order to set both to forward motion. NOTE: Depending how you have connected each motor polarity you may find that you need to set the sliders in the down position or one slider up and the other down in order to achieve forward motion when you download and Run Live.

Set the Wait time to 3 seconds. This instructs the program to continue running the last command for 3 seconds.

Click on the M3 and M4 buttons to turn both motors off as shown. NOTE: The Stop command stops running the flowchart program – it will not turn off the motor if it is already running!

Page 32: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 31

In order to download the program to the robot, click on the Microcontroller button and select Run

Live. The Program window will indicate that it is Accessing the PIC chip and then that it is Running

Live. The program will start immediately once it is downloaded. The USB cable can then be

removed and the program rerun by pressing the small reset switch on the PCB.

The following commands and screen will be seen when using Run Live.

As mentioned previously, when you run this program live you may now discover one of the

following scenarios depending on how you have connected the motor polarity either at the motors

or on the PCB:

a) The motor is actually going in reverse. In this case you simply set both M3 and M4 sliders to

the down position instead of the up in order to get forward motion.

b) One motor is going forward and the other going in reverse. In this case you will have to

move M3 slider up and M4 down or vice versa.

EXERCISE 1

Edit the program so that your robot moves forward for 4 seconds AND then reverse for 4 seconds.

Use Run Live to download and run the program.

Page 33: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 32

7. Turning the robot

The procedure for turning the robot while it is moving is based simply on turning off one motor and

leaving the other running.

Construct and edit the following flowchart as shown. Settings for motor control are shown.

You will see these output settings appear in the Multiple Panel View when we simulate this program.

Page 34: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 33

Select the Run command on the tool bar.

You will see each flowchart command highlight as the program simulates. The Speed Dial can be rotated to adjust the speed at which the simulation runs.

Now click on the View several monitor panels at once command in order to open Multiple Panel View. This allows us see what each flowchart command is doing as shown below.

To turn left motor M4 is turned off by turning off both outputs Q6 and Q7 and motor M3 is left running (output Q4) in forward direction. We created this setting earlier while editing this command using Motor Properties

Page 35: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 34

Click on the Microcontroller button and select Run Live in order to download the program to the

robot. The Program window will indicate that it is Accessing the PIC chip and then that it is Running

Live. The program will start immediately once it is downloaded. The USB cable can then be

removed and the program re-run by pressing the small reset switch on the PCB.

EXERCISE 2 Like all learner drivers you need to learn how to complete a 3 point turn.

Edit the previous Turning Ex program to have your robot execute a 3 point turn.

If you’re not sure what a 3-point turn is ask your teacher to explain.

Points to consider:

It is not possible to control the number of revolutions of a DC motor as it is with a servo or

stepper motor.

Controlling the amount your robot turns using the Wait command is accomplished by trial

and error.

It is possible to set the Wait Properties to fractions of seconds by typing the value in rather

than selecting the set values from the drop down menu as shown below.

The turning circle of a robot such as this depends on the diameter of the wheel and the

distance between the wheel centres. This could be the basis for an Applied Math question.

Having completed this exercise why not try to program your robot to drive in a square, drive in a

figure 8 or even set up a parking bay that it must park in using parallel parking!

Page 36: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 35

8. Using the LDRs to detect a line Before we can successfully use the LDR sensors to detect a line we must learn how to understand

the digital reading that the LDR creates in the GENIE software.

The resistance of the LDR supplied goes from approx. 1KΩ in normal light to approx. 15KΩ in

normal darkness i.e. the resistance of an LDR increases as it gets darker.

Theoretically it goes from 0KΩ in total brightness to 1MΩ in total darkness.

The GENIE software takes whatever analogue resistance value the LDR has at any given moment

and converts it into a digital reading of between 0 and 255.

A digital value of 0 corresponds to an LDR resistance of 1MΩ i.e. total darkness.

Similarly, a digital reading of 255 corresponds to an LDR resistance of 0KΩ i.e. total brightness.

Turn on your robot, connect it to the USB and select Calibrate Sensor from the Microcontroller

menu on the tool bar. You should see the screen shown below.

Shows the LDRs connected to A0 and A2 and their current reading. Move the robot around and observe the reading change as LDRs pass over bright and dark surfaces.

Page 37: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 36

The area underneath the LDRs on the robot will, by virtue of its design, be quite dark. This could

create difficulties when trying to detect a white line on a dark surface. In order to solve this

problem a LED has been installed between them to illuminate the line and surface.

In order to calibrate the LDRs while this LED is on we will use the Debug Live command.

Construct and edit the following ‘Calibrate LDR’ flowchart.

To create the loop, firstly left click and hold the mouse over the right connection point on the

Outputs symbol. Drag the connecting line to the right and then upwards to create the first 90˚bend.

To create the second 90˚bend, release the left mouse button and then click again at a point

approximately in line with the Start command. Continue dragging the line to complete loop.

The Outputs command is

used to turn on the LED

connected to output Q3.

The loop back to the Start keeps the LED tuned on.

Release and click again here

Shows the LDRs connected to

A0 and A1 and their current

reading.

Move the robot around and

observe the reading change as

LDRs pass over bright and dark

surfaces.

The Outputs command is used to turn on the LED connected to output Q3. The loop back to the Start keeps the LED tuned on.

Page 38: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 37

Place your robot on the Calibration Sheet shown on the next page (remove/print/copy if

necessary), turn on and select Debug Live from the Microcontroller menu. You will see the screen

shown below.

Click Start to begin Debug Live. This facility allows you watch your program animate as it runs live on the microcontroller.

By clicking on View several monitor panels at once as shown

below we can now observe what the LDRs are reading along

with what inputs/outputs etc. are activated.

You could choose to view the inputs/outputs or the analogue

sensor readings etc. on their own but the View several monitor

panels at once option shows nearly everything and is

demonstrated on page 39.

Page 39: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 38

Page 40: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 39

You should now see the screen as shown.

Move the front of the robot on to the thick black line order that the LDRs detect the new reading

associated with the black line. Now, take note of both readings as shown below.

Readings on white area:

A0 = 224

A2 = 231

NOTE: Depending on number of

batteries used and ambient

lighting conditions etc. your

readings may be significantly

different.

Indicates that inputs A0 and

A2 are connected.

Indicates that the LED

connected to output Q3 is on.

Readings from LDRs

connected to A0 and A1.

LDRs on the white area.

NOTE: Your readings may be

different

Page 41: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 40

Readings on black line:

A0 = 180

A2 = 184

NOTE: Depending on

number of batteries used

and ambient lighting

conditions your readings

may be significantly

different.

The data gathered in this example shows:

LDRs read a max of approx. 231 on the white surface

LDRs read a max of approx. 184 on the black line

For the purposes of this line follower we can summarise by saying that once the LDR readings go

above 190 then they have definitely moved away from the black line and into the white area.

This allows a little tolerance for ambient lighting, battery power etc.

We can now use this information to create a simple program to stop the robot from driving over

the black line.

Page 42: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 41

Construct the following program shown below.

The Compare command is found in

the Flow Control section of the

flowchart symbols.

It is used to compare the LDR readings

and decide whether to follow the Yes

(Y) or No (N) route in the program.

The first line connected to the

Compare command will indicate the

Yes (Y) route to follow and the second

line connected will indicate the No (N)

route to follow.

These can be swapped by right clicking

the Compare command and selecting

Swap Yes and No if necessary.

We will now edit this flowchart so that it carries out the following program:

1. Turn on the line illumination LED connected to Q3.

2. Check if the LDR readings are more than 190 (>190).

3. If so then drive the robot forward as it is still on the white surface.

4. If not, i.e. less than 190 then stop the robot as it has detected the black line.

5. The loop will ensure that the program continually checks the readings.

NOTE: The settings used i.e. more than 190 may need to be adjusted to suit the surface and lighting

that your own robot is operating in. Use your own reading found while calibrating using Debug Live

earlier.

The edited flowchart symbols are shown on the next page.

Page 43: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 42

NOTE: The speed of rotation of the motor can be slowed by not pushing up the slider control fully up or down. Beware of having motors rotate at different speeds as this will cause the robot to veer off line.

Tick the ‘and’ box to open the second expression. This instructs the program to compare both readings from A0 and A1 to see if they are more than 190.

If they are, then the robot is still on the white surface and continues forward.

If they are less than 190 the robot has encountered the black line and stops.

See www.colmac.ie for a video of the program in operation.

Page 44: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 43

9. Using the LDRs to follow a line

Before beginning work on programming the line follower to follow a line you should firstly set up a

line course/track for it to follow. The program that follows is based on the COLMAC GP course as

used in competition. The GP course consists of a black line track on a white background as shown

below.

This track is available to purchase from www.colmac.ie and measures approx. 2400mm x 1200mm.

You can create your own track with a roll of standard 20mm wide black

insulating tape and using it to create a track on a lighter coloured floor.

Don’t make the track too difficult initially – keep corner radius large.

In Section 10 we will look at how to deal with difficult tracks.

NOTE: The following program is designed to instruct the line follower follow the black line and

correct itself when it moves on to the white area. It is also possible to program it to stay in the

white each side of the black line and correct itself if it moves on to the black line.

Page 45: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 44

In the first Compare command the LDRs are set so that if they both read less than 190 i.e. they are both detecting the black line, then both motors are on moving the robot forward.

In the second Compare command if A0 reads more than 190 then the robot has moved off the line to the right and motor M3 is turned off in order to turn the robot left and back to the line.

In the third Compare command if A2 reads more than 190 then the robot has moved off the line to the left and motor M4 is turned off in order to turn the robot right and back to the line.

Visit www.colmac.ie for videos showing the program being tested using Debug Live and the robot following the GP track.

NOTE: Remember to use your own LDR readings in the Compare commands.

Page 46: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 45

10. Using a defined loop during a program In order to deal with difficult 90˚ bends similar to those highlighted on the COLMAC F1 track

shown below where the robot can lose sight of the line, we need to program it to stop and look for

the line if it loses it completely.

This can be accomplished by instructing the robot to firstly stop, then look left and if it does not

find the line there to then look right until it does.

We could program this in a number of ways but we have chosen to use the defined loop commands

as shown in the program on the following page. Edit the previous program to create the flowchart

shown.

Page 47: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 46

Initially we need to insert another Compare command that will check if both LDRs A0 and A2 have

lost sight of the black line i.e. if the LDR reading has gone above 190.

We will now look in closer detail at the commands that follow this new Compare command in order

to see how the robot can look for a missing line.

Page 48: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 47

Once the program detects that the sensors A1 and A0 are both off the line the motor stops briefly for half a second. This minimises the amount of over-shoot of the line.

The For command is found in the Flow Control section of the flowchart symbols. It runs the series of commands between it and the End Loop command either a set number of times or for a given number of seconds – in this case, for 5 seconds. The Motor command that follows causes the robot to perform a two wheeled left turn in order to look for the line. Note that the sliders are set slightly less than max in order to slow the rotation speed. The Compare command checks to see if A2 is on the line during the left turn. If it is then the program follows the Y route back to the main section of the program. If not, after the 5 second loop ends, the motor performs a two wheeled right turn continuously until a further Compare command detects the line in the other direction. When it does the program follows the Y route back to the main section of the program. Again that the sliders are set slightly less than max in order to slow the rotation speed.

Page 49: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 48

11. GENIE Design Studio Help

These notes are only an introduction to GENIE Design Studio. It contains many more commands

that have not been mentioned at all. Explanations of these other commands can be found in the

Help section of the software by clicking on GENIE Design Studio Help as shown below:

Then select Flowchart commands as shown: This will open a window displaying all current GENIE commands. By clicking on any command the

user will be given a simple explanation of what the command does along with a sample flowchart

showing how the command may be used.

Page 50: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 49

12. Troubleshooting Tips The most common problem involves getting the ‘No Device Found’ error when trying to connect to

the GENIE E18 microcontroller using the USB cable. Follow the steps below when trying to resolve

this issue:

Check the USB cable is connected properly using the

Troubleshoot GENIE tool in the Help section.

Follow the steps in the window that opens.

Test the supply voltage across pins 5 and

14 of the E18 microchip. These are the

+/- power connections.

There should be at least 3.5V in order for

the chip to work properly and connect to

your computer.

NOTE: If the supply voltage is already low (</= 3.5V) it will drop further when the motors are

turned on and this can also cause the chip to turn off and cease controlling/connecting etc.

Pin 14 (+V)

Pin 5 (-V)

Page 51: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 50

If the USB cable is OK and the voltage at the chip is sufficient then the next most common problem

is poor soldered connections. Please consult www.colmac.ie for soldering technique video.

Check your soldering by examining the connections under a magnifying glass. You should see the

following:

The connection should be solid if you try to wiggle it with some tweezers or pliers.

The pad should be covered completely but not overflowing.

The solder should be shiny.

The following are indicators of a poorly soldered joint:

The pad and lead aren't completely covered with solder, enabling you to see through one

side of the hole through which the lead passes.

o You didn't apply enough solder, or the pad wasn't hot enough to accept the solder.

The lead is loose in the hole or the solder isn't firmly attached to the pad.

o You possibly moved the lead before the solder had completely cooled.

The solder isn't shiny.

o If the solder gets just barely hot enough to melt, then flows over a wire or pad that

isn’t heated sufficiently, it will be dull when it cools.

o Unfortunately, the new lead-free solder almost always cools dull, so it looks like a

bad solder joint even when the joint is good!

Solder overflows the pad and touches an adjacent pad.

o This can happen if you apply too much solder. It can also happen if the pad didn't get

hot enough to accept the solder, which can cause the solder to flow off the pad and

onto an adjacent pad. If solder spills over from one pad to an adjacent pad, your

circuit may not work right.

Page 52: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 51

Solder not firmly attached to component leg

can be caused by leg moving before solder had

cooled fully.

This is a difficult fault to find and is best

located using a magnifying glass.

Sometimes a pad can break off either during

initial soldering or later de-soldering.

If this happens, scrape off the green protective

coating and reconnect the broken track using

cable links soldered to the component leg as

shown.

The photo below shows 6 examples of poorly soldered connections and 2 examples of properly

soldered connections.

Missing pad

Component leg

Properly soldered connections

Page 53: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 52

Finally, you may sometimes encounter strange things happening in your programs during either

Debug Live or Run Live such as outputs turning on/off for no apparent reason.

This can be caused by electrical interference generated by the motors during operation. This is a

common problem when motors are being controlled by microcontrollers and is minimised by

attaching a capacitor across the motor connection terminals. This is already done on the PCB with 2

x 100nF ceramic capacitors attached across terminals Q4/Q5 and Q6/Q7 as shown below.

In the event that you still experience these types of issues you can solder a further 100nF capacitor

directly across the terminals of the motor, at the actual motor – they have no polarity so it does not

matter which way around they are connected – an example on a different motor is shown below.

Notice that the cables are also glued to the body of the

motor – this is good practice in order to minimise the chance

of the motor cable connection being damaged through

excessive movement of the cables.

Consult www.colmac.ie for further help with troubleshooting

Page 54: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 53

Circuit and PCB diagrams courtesy of www.genieonline.com

Page 55: Line Follower Robot Racingcolmac.ie/.../11/COLMAC-Line-Follower-Workbook.pdf · 1 The COLMAC Line Follower Robot has been developed as a low cost introductory model for students and

www.colmac.ie 54

14. Improving you Line Follower racing There are numerous ways of improving the speed of your line follower with a view to entering

competitions such as the annual Robotics Ireland tournament that features both line follower and

mini sumo competitions. Here are some examples:

1. Increase the diameter of the wheels. This will necessitate recalibration of the LDR sensors.

2. Increase the voltage supply to the board. The manufacturers indicate that up to a 12V

battery supply may be used but recommend not to use a 9V PP3 battery. Again, this will

necessitate recalibration and editing of wait times etc.

3. Improve your programming skills and try out other commands such as Analogue, Sub etc.

4. Shield the LDR sensors from external light sources using a shield of your own design. This

will improve the performance of the sensors.

5. Make your line follower as light as possible by removing unnecessary parts.

Further Information

www.colmac.ie

[email protected]

www.roboticsireland.com

www.genieonline.com