p5 ldr line following robot

Click here to load reader

Post on 27-Nov-2014

116 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

Project 5: LDR Line Following Robot Design a Line Following Robot using a Light Dependant Resistor (LDR)

Learning OutcomeThis project gives the user a hands-on experience on how to use ezCircuit Designer (ezCD), CoreChart and the eLab16m to design, build, document and program a Line Following Robot. The aim is to encourage the user to design other PIC microcontroller electronic projects. A typical example: a team of Secondary students used ezCircuit Designer (ezCD), CoreChart and eLab16m to design, build, document and program a touch pad device for autistic children to communicate through an i-pod.

Equipment for workshopComputer PC running Windows 2000 SP4 or higher with USB connections Software Microsoft .NET Framework V2 ( Required to run ezCircuit Designer ) ezCircuit Designer CoreChart Microsoft Word Hardware eLab16m Controller Board eLabtronics USBP Programmer with USB Cable LDR Line Following Robot Parts and Tools Small flat head screwdriver eRacer Mechanical Base with 4x AA Alkaline Batteries ( eRacer robot Base Assembly instructions are available in the ezCD CD) Pre-built: LDR light sensor circuit for the eLab16m board Soldering Iron and solder for construction if required

1

Project 5: LDR Line Following Robot

Line Following RobotBuilding a robot is no longer rocket science. With only one LDR (Light Dependant Resistor) and two motors, a simple robot can be built to follow a line.

Step 1: Select eLab16m TemplateThe Line Following Robot is developed using the eLab16m board. The PIC16F819 chip on the board will be programmed by the user to form the brain of the robot. a. Start up ezCircuit Designer. If a different project is displayed click on the following drop down menu to find eLab16m template: File, Open, ezCircuit, Examples and eLab16m. The eLab16m template should look like figure 1.1

figure 1.1

Step 2: Create Documentsa. In the main menu, click on Documentation, Create Document and select Specification.

figure 2.1 2Project 5: LDR Line Following Robot

b. Fill in Introduction, Functional Requirement and Requirements Specification Rationale as follows: Introduction: The aim of this project is to build a line/light following robot. Functional Requirement: The Line Following Robot uses a light sensor to detect the colors of the line and two motors to move the robot along the line. The Robot needs to be powered from the Robot base and not an external battery pack. Requirements Specification Rationale: Learn to build and program a Line Following Robot with the eLab16m board, a light sensor and two DC motors. NOTE: Please save the program regularly.

Step 3: Add Light Dependant Resistor (LDR)a. Select the Light Dependant Resistor (LDR) icon in the Circuit Groups. b. Ensure Active High in Circuit Typess sub-menu is selected and then click on pin 17 (A0) of the chip diagram. c. Right click LDR17 box and click Rename. Change LDR17 to LightSensor.

figure 3.1

3

Project 5: LDR Line Following Robot

The LDR Circuit Diagram is available from ezCircuit Designer. To view the circuit diagram right click on the newly named LightSensor box. Then click on View Circuit Diagram. NOTE: This is an Active High Circuit.

figure 3.2 It is important to get familiar with the concept of Active High and Active Low circuits. To return from the circuit diagram to the main screen, go to the top right corner and click the drop menu to find Main to return to the main page. Alternatively click the backward arrow to return to the main page.

figure 3.3

4

Project 5: LDR Line Following Robot

Step 4: Rename MotorsIn the template the Motor Drivers are connected to pin 10, 11, 15 & 16. a. Rename the Motor Drivers as shown in Table 1 and figure 4.1. This will make programming easier to follow. Pin to Change Renamed to Driver_B (B4) Motor1Forward Driver_D (A6) Motor2Forward Table 1: Rename Motor Driver Pins

figure 4.1 The Line Following Robot design is now complete. b. Go to the ezCircuit Designer File menu and click Save as. Save the template name as LineFollower. c. Generate CoreChart test program to test the hardware. Click on Options and then click Send to CoreChart. Alternatively click on the CoreChart icon in the ezCircuit Designer menu bar.

figure 4.2

5

Project 5: LDR Line Following Robot

Step 5: Hardware ConnectionNote: This project uses the battery power source from the robot base, not the battery pack that comes with the eLab16m. a. Plug the white 3 pin power connector that comes from the robot base into the white socket labeled BAT on the eLab16m. b. Plug in the two 2 pin motor connectors as shown in figure 5.1. c. Note that the first column of header pins next to the labels are connected to the negative rail, the middle column of pins are connected to the positive rail and the inner most column of pins are the signal pins as shown in the KEY. KEY

figure 5.1

Motor1 = Black A6 + Red B5 Motor2 = Black B4 + Red A7

Connect the Light Dependant Resistor (LDR) sensor as shown below. Use heat-shrink to cover the edges of the LDR to vary the sensitivity of the LDR. The LDR Circuit Diagram is available from ezCircuit Designer. Right click on the LDR box connected to the PIC chip, then click on View Circuit Diagram. To return to the Main page, click on the Backward arrow on the top right corner.

figure 5.2 6Project 5: LDR Line Following Robot

Step 6: Test Hardware with CoreChart test programThe CoreChart test program should look like figure 6.1. a. Save the CoreChart test program as LineFollower.

figure 6.1 b. Plug in the USB cable to the computer. Connect the USBP programmer to the eLab16m. Turn on the eLab16m power. Send the CoreChart test program to the chip. The test program will test all the outputs on the project. c. When the program is successfully downloaded to the chip, unplug the USBP programmer from the eLab16m. d. Press and release the reset push button switch on the eLab16m to start the program. e. One of the motors will spin clockwise for few seconds and the other will spin in a counter clockwise direction. f. The Yellow LED will flash once.

7

Project 5: LDR Line Following Robot

Step 7: Modify program to test the Light sensora. Delete icon 3 and icon 4 in the test program shown on figure 6.1. b. 3. Insert the Again LABEL icon

c. The program does not allow icon 4, a Decision icon, to be inserted just before the END MAIN icon because this will create a logical error. Reason: If the Decision is a YES before END MAIN icon then the program will stop. If the Decision is a NO then the program will point past END MAIN which causes a program error. Please refer to NOTE: Use of Decision icons below for further details. d. The correct CoreChart programming procedure is to insert icon 5 first and then insert the Decision icon 4. e. chip. Save the program and send to

f. Before running the program, ensure the LDR sensor is correctly connected to the eLab16m. (As shown in Step 5, figure 5.2) g. Switch on the power on eLab16m and press the reset push button once to start the program. figure 7.1 h. Direct the sensor towards a light source and then cover the sensor. Check the response of the Yellow LED. It should turn on and off with the changes of light intensity.

8

Project 5: LDR Line Following Robot

NOTE: Use of Decision icons A Decision icon CANNOT be placed before a LABEL icon e.g. the Again icon. It must be placed BEFORE an instruction icon.REASON:

The reason is that if the Decision is a YES before a LABEL icon the program will skip the LABEL because it is NOT an instruction. If the Decision is a NO then the program will also skip to the icon after the LABEL. This is a logical error because the Decision cannot make a decision. CoreChart also does not allow two Decision icons to be placed one after the other because this will create a logical error between YES or NO decisions in the two Decision icons.

Step 8: Add SubroutinesAdd in subroutines RIGHT and LEFT. a. Click on the Edit drop menu and click on Subroutines b. Type LEFT in the text entry box then click on Add Subroutine c. Repeat this for RIGHT subroutine. d. Click Close when finished

figure 8.1 9

Project 5: LDR Line Following Robot

Step 9: Build Line Following ProgramEdit the Main Program to as follows. a. Replace the YellowLED icons with the new subroutines as in figure 9.1 and save program. The robot travels along a line or the edge of a piece of paper by the following process: The robot moves right when the LightSensor is OFF and moves left when the LightSensor is ON.

figure 9.1 10Project 5: LDR Line Following Robot

STEP 10: Build the Subroutinesa. Double click on the subroutine LEFT and add icons as shown in figure 10.1. b. Repeat for subroutine RIGHT and add icons as shown in figure 10.1. The LEFT subroutine makes the robot turn left and the RIGHT subroutine makes the robot turn right. SUBROUTINE LEFT SUBROUTINE RIGHT

figure 10.1

The LDR Line Following Robot program is now complete. c. Save the program as Linefollower_ROBOT and then send to chip. d. Press the reset push button switch on the eLab16m board to start the program. e. Take a piece of white paper and place it on a dark surface. Then place the robot on the edge of the paper. Finally, position the light sensor to face the floor. The robot follows the line or the edge of the paper.

END OF Project 5: LDR Line Following Robot11Project 5: LDR Line Following Robot