Programming PIC Microcontrollers Programming PIC Microcontrollers
1 Yale Autonomous Vehicle Project: Implementing an Embedded System with an EBX Form Factor PC System...
-
date post
20-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of 1 Yale Autonomous Vehicle Project: Implementing an Embedded System with an EBX Form Factor PC System...
1
Yale Autonomous Vehicle Project:
Implementing an Embedded System with an
EBX Form Factor PC System and PIC Microcontrollers
10
Basic Block Diagram
EBX-Form Factor
PC System
Compass
&
Odometry
LCD Output
&
Keypad Input
Motor Control Sonar/GPS
COM1 COM2 COM3 COM4
16
Flow Chart
•Turn.cInitialize COM Ports
Initialize Display
Initialize Variables
Get Time
Check to see if 90 ms have passed
If so, parse COM1 RS232 String Packets
Yes
No
Print to Screen Results
Adjust Heading Subprogram
17
Flow Chart
•Adjust Heading Subprogram
Get Heading Error Given
Current Heading and Destination
Heading
Compute Left Speed
Compute Right Speed
Output to Motor Control
18
Flow Chart
•Get Heading Error Subprogram
Current Heading: 20
Current Heading: 300
Destination Heading: 10
Reference Point: 360Destination
Heading: 310
Error Formula=
Ref-Current+Destination
10 degrees to right
10 degrees to left
Error Formula = 360-20+10 = 350 degree clockwise
Error Formula = 360-300+310 =
370 degree clockwise
19
Flow Chart
•Get Heading Error Subprogram
Destination in counter clock wise direction?
Diff >= 180
Return Counter
Clockwise Spin Amount
(Negative)
-180<diff<-1
Yes
Destination Reached?
Diff==0?
Return O
Destination in clock
wise direction?
Diff < 180
Return Clockwise Spin
Amount (Positive)
1<diff<180
Yes Yes
Get Counterclockwise difference from
reference value of 360 degrees
21
Flow Chart
•Forward2.cInitialize COM Ports
Initialize Display
Initialize Variables
Get Time
Check to see if 90 ms have passed
If so, parse COM1 RS232 String Packets
Yes
No
Print to Screen Results
Update Global Variable Counters
Check to see if “#”
has been
pressed
Reset Global Variable Counters
Yes
No
23
Flow Chart
•Full5.cInitialize COM Ports
Startup Display
Main Menu
Get Menu Selection
“#” Pressed?
No
Update Display Feedback
Playback program?
Recording program?
DiagnosticMenu?
Yes
Yes
Yes
Playback Program
Playback Program
Yes Yes
Yes
Diagnostic Menu
Get Menu Selection
“#” Pressed?
Update Display Feedback
No
Manual Control?
Connect the Dots?
Yes Yes
Manual Control Program
Connect the Dots Program
Yes Yes
Find Heading?
Yes
Find Heading Program
Yes
24
Benefits of the EBX-Form Factor
•Low-Power
•Small Size
•PC-Compatible
•PC/104 Compatible
•4 COM Ports Built-In
•Solid-State Flash Disk