630 likes | 645 Views
SAE Formula Car Display and Data Acquisition System “SAEDAQ”. Caleb Davison Phil Jacher George Kontos Advisor: Mr. Gutschlag. Overview. Summary Measurement Strategies LabVIEW User Interface Microcontroller LCD Screen Wireless Chips. Overview. Summary Measurement Strategies
E N D
SAE Formula Car Display and Data Acquisition System “SAEDAQ” Caleb Davison Phil Jacher George Kontos Advisor: Mr. Gutschlag
Overview • Summary • Measurement Strategies • LabVIEW User Interface • Microcontroller • LCD Screen • Wireless Chips
Overview • Summary • Measurement Strategies • LabVIEW User Interface • Microcontroller • LCD Screen • Wireless Chips
SAEDAQ Summary • Society of Automotive Engineers Formula One racecar • Data recording • wheel speed • engine rpm • oil pressure • oil temperature • coolant temperature • Data will be transmitted to the car’s dashboard and an off-track laptop
Previous Works • Project has been attempted several times • Never been able to coordinate with MEs • Most recently last year with Justin Peters • Using different MCU, upgraded wireless chips • New dashboard design
Overview • Summary • Measurement Strategies • LabVIEW User Interface • Microcontroller • LCD Screen • Wireless Chips
Temperature and Pressure • Temperature sensor (0-300 degrees Fahrenheit) x 2 • Pressure sensor (0-100 psi) x 1 • Requires supply voltage (12V) • Outputs current (4-20mA)
Sensor Measurement Circuit • From datasheet: ZLmax=(Vs-9.6)*50 • Vs=12V from car battery, ZLmax =120 ohms • Issue: at 20mA, A/D voltage will be only 2.4V • Solution: Adjust A/D resolution (0-2.56V)
Linear Based Method • Temp=(1.5625*A/D Value)-75 • Attempt 1: Temp=((A/D Value*3)/2)-75 • Attempt 2: Temp=((A/D Value*1563)/1000)-75 • Solution: Look up table, use memory available
Linear Based Method • Temp=(0.5208*A/D Value)-25 • Attempt 1: Temp=(A/D Value/2)-75 • Solution: Look up table, use memory available
Engine RPM Measurement • ACI Hall-effect current sensor • TTL output • Induced supply power • Meets amperage range
Overview • Summary • Measurement Strategies • LabVIEW User Interface • Microcontroller • LCD Screen • Wireless Chips
LabVIEW Interfacing: Front Panel (cont.) • RS232 communication protocol • Complete control over settings • Data logging feature
LabVIEW Interfacing: Front Panel (cont.) • Pressure and temperature updated in real time along with engine RPM and speed • Warning lights indicate dangerous levels
LabVIEW Interfacing: Front Panel (cont.) • Data vs time displays operate independently
Overview • Summary • Sensors • LabVIEW User Interface • Microcontroller • LCD Screen • Wireless Chips
Microcontroller: AmtelATmega 128 MCU 16 MHz clock 8 A/D converters Voltage regulator (5.5-15V) Dual UARTS Additional power and ground connectors
Programming Phases • A/D Converter • RS-232 Interface • RPM Counter • Touchscreen • All Together
Programming Phases • A/DConverter • RS-232 Interface • RPM Counter • Touchscreen • All Together
A/D Conversion • Records oil pressure, oil temperature, and coolant temperature • A/D inputs: 0-2.56V • Sensor voltages: 0.48-2.4V • Scaled into single byte value
A/D Conversion ADC clock machine cycle: 8us 1st conversion: 200us Normal conversions: 104us Three conversions: 312us Vref = 2.56 V
Programming Phases • A/D converter • RS-232 Interface • RPM Counter • Touchscreen • All Together
RS-232 Interfacing • Previous experience with transmit/receive • Stair step progress: • Polling • Interrupt driven • Timer based
RS-232 Interfacing • Hyper Terminal problems • Incorrect Hyper Terminal settings • ASCII Setup – echo typed characters locally • Transmitting/Receiving settings: • 9600 baud • 8 data bits • 1 stop bit
Example RS-232 Communication • Receive key press from computer • ASCII ‘F’ sent back to computer • Hyper Terminal displays appropriate values
Example RS-232 Communication • String based communication with timer • Sends “1abcde” every 5 seconds • Practical application
Programming Phases • A/D Converter • RS-232 Interface • RPM Counter • Touchscreen • All Together
Example simulation Set up basic pulse counting program 100ms (10 Hz) sampling period Counts rising edges 30 Hz Pulse Input RPM Counter
RPM Counter • Problems with 16-bit counter • Had to use external interrupts • Rising edge triggers interrupt • Counter increments • Inefficient
Programming Phases • A/D Converter • RS-232 Interface • RPM Counter • Touchscreen • All Together
Touchscreen • ASCII protocol • CRC protocol • Used XON/XOFF to simplify
ASCII Protocol • Set byte variable 1 to 0xFE • Set IR word variable 0 to 0x02C9 Opcode Internal RAM address Internal RAM value
Jump to Page Function • Does not use the normal ASCII protocol • Reads in hexadecimal format • Jump to page 0x103: • Opcode • Internal RAM address • Internal RAM value
Calculating the Checksum Value • X=0xA0+0x02+0x01+0x03=0xA6 • The sums of the LSB must be 0xNN00 • 0x100-0xA6=0x5A
Programming Phases A/D Converter RS-232 Interface RPM Counter Touchscreen All Together
Overview Summary Sensors LabVIEW User Interface Microcontroller LCD Screen Wireless Chips
Touchscreen Amulet Technologies GEMStudio µHTML 9600 Baud Resistive technology LCD GUI from 2010 Project