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?