Transcript Powerpoint

Advanced Energy Vehicle (AEV)
Lab 04: AEV External Sensors
AEV Project Objective
(Problem Definition)
INITIAL CONCEPTS
(Brainstorming)
EXPERIMENTAL RESEARCH
(Programming)
(System Analysis)
ANALYZE
COMPARE
PT 1
PT 2
PT 3
PT 4
RESEARCH
FINAL DESIGN
Present AEV Design
DESIGN
DECISION
Learning Objectives
 Become familiar with the external sensor
hardware components
• Become familiar with troubleshooting
techniques
 Program the function calls in controlling the AEV
using the external sensors
External Sensors
 The importance of external sensors on the AEV
is to provide real-time information being
provided to the Arduino for autonomous vehicle
operation
• This is known as a feedback control
 The sensor that will be focus of today’s lab is
the Reflective Sensor
Image: from Arduino Website
Reflective Sensors
 The sensor will produce a low voltage due to the reflectance
of the aluminum tape and produce a high voltage due to the
1 Mark
dark color of the wheel
 This voltage change is called a
“mark.” For one full wheel
1 Mark
revolution, a sensor will have 4
voltage changes or 4 marks.
Since we have two sensors, one
full wheel revolution will have
how many marks?? EIGHT Marks!!
1 Mark
1 Mark
Mounting the Sensor
 The closer the sensor is to the wheel, the better voltage
reading the sensor will usually have
Optimum
Too Far
Away
Troubleshooting the Sensors
 To make sure the sensors are
on correctly
 Run the
“reflectanceSensorTest();”
 Make sure to set to set the
serial monitor to 115200 Baud
Making the Connections
 Take careful consideration
where the reflective sensor is
attached to on the Arduino.
 Read the AEV Lab Manual for
proper orientation and pin
locations
 When in doubt
ASK IF UNCERTAIN!
Important Note: Make sure the
connections are installed with the white
wire facing the Arduino mini-USB
connection.
Arduino Programming Sensor
Function Calls
 goToRelativePosition(M);
• One Argument; works specifically with the reflectance sensor
 M: wheel marks
• Example:
motorSpeed(4,27);
goToRelativePosition(44);
Sets all motors to 27% full power
Continues the last command for
44 wheel marks.
 Each wheel has 8 marks and the wheel has a circumference of
3.902 inches
 Therefore: (44 marks)*(3.902/8) inches = 21.46 inches traveled
Arduino Programming Sensor
Function Calls
 goToAbsolutePosition(M);
• One Argument; works specifically with the reflectance sensor
 M: wheel marks
• Example:
motorSpeed(2,30);
goToAbsolutePosition(500);
Sets motor 2 to 30% full power
Continues the last command
for until the AEV accumulates
500 total wheel marks.
 Each wheel has 8 marks and the wheel has a circumference of
3.902 inches
 Therefore: (500marks)/(3.902/8) inches = 243.76 inches
traveled
Difference Between
goToAbsolutePosition and
goToRelativePosition
0 Inches
40 Inches
80 Inches
 We want to go ANOTHER
40 inches 40
(aka
82 marks)
what
codewhat
do wecode
inches
(aka 82
marks)
want?
do we want?
motorSpeed(4,20);
motorSpeed(4,20);
goToAbsolutePosition(82);
OR goToRelativePosition(82);
goToAbsolutePosition(164);
OR goToRelative(82);
 Note: This is assuming the AEV stops at exactly said distance
and does not coast!
Questions?