120 likes | 191 Views
Advanced Energy Vehicle (AEV). Lab 04: AEV External Sensors. FINAL DESIGN. AEV Project Objective (Problem Definition). Initial Concepts (Brainstorming). experimental Research. (Programming). (System Analysis). PT 1 PT 2 PT 3 PT 4. Present AEV Design. Learning Objectives.
E N D
Advanced Energy Vehicle (AEV) Lab 04: AEV External Sensors
FINAL DESIGN AEV Project Objective (Problem Definition) Initial Concepts (Brainstorming) experimental Research (Programming) (System Analysis) PT 1 PT 2 PT 3 PT 4 Present AEV Design
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 dark color of the wheel 1 Mark • This voltage change is called a “mark.” For one full wheel 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?? 1 Mark 1 Mark 1 Mark EIGHT Marks!!
Mounting the Sensor • The closer the sensor is to the wheel, the better voltage reading the sensor will usually have Too Far Away Optimum
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 Important Note: Make sure the connections are installed with the white wire facing the Arduino mini-USB connection. • 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!
Arduino Programming Sensor Function Calls • goToRelativePosition(M); • One Argument; works specifically with the reflectance sensor • M: wheel marks • Example: motorSpeed(4,27);goToRelativePosition(44); • 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 • Sets all motors to 27% full power • Continues the last command for 44 wheel marks.
Arduino Programming Sensor Function Calls • goToAbsolutePosition(M); • One Argument; works specifically with the reflectance sensor • M: wheel marks • Example: motorSpeed(2,30);goToAbsolutePosition(500); • 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 • Sets motor 2 to 30% full power • Continues the last command for until the AEV accumulates 500 total wheel marks.
Difference Between goToAbsolutePosition and goToRelativePosition • We want to go 40 inches (aka 82 marks) what code do we want? motorSpeed(4,20); goToAbsolutePosition(82); OR goToRelativePosition(82); 80 Inches 0 Inches 40 Inches • We want to go ANOTHER 40 inches (aka 82 marks) what code do we want? motorSpeed(4,20); goToAbsolutePosition(164); OR goToRelative(82); • Note: This is assuming the AEV stops at exactly said distance and does not coast!