Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Bradley University Electrical Engineering Department SAE Formula Car Data Acquisition & Display System April 9, 2015 Advisor : Professor Steven Gutschlag Ahmed Albitar John Gertie Justin Ibarra Sean Lenz Agenda • • • • • • • • • Problem statement Background System block diagram Division of labor Project non-functional requirements Project functional requirements Discussion of individual contributions System test results Summary & conclusion 2 Problem Statement Every year the Mechanical Engineering department at Bradley University designs and constructs a formula racing car. Past performances have proven to be inconsistent due to engine failures and structural breakdowns. To improve future performance, an advanced data acquisition system will be employed to indicate problems before a failure occurs. Unlike the existing system, data will be monitored by both the driver and the crew. A touch screen mounted in the vehicle will display data and warning signals to the driver. The same data will also be transmitted to a computer, where it will be recorded for diagnostic evaluations. Multiple indicators will be used to warn the driver and crew if data readings exceed a safe limit.This system will provide the necessary information to optimize the formula cars performance, giving Bradley’s mechanical engineering department an edge over the competition. 3 Problem Description • Acquire 5 Key data values from SAE Formula Car • • • • • RPM Speed Oil Pressure Water Temperature Battery Voltage • Aggressive Notification system to alert driver if data exceeds threshold values • Multi-mode touch screen display • Wireless transmission of data to off-track computer • Data Logger 4 Background • Design goals • • • • Aesthetically pleasing Economically viable Race ready performance User friendly for all levels • '07-'10 Honda CBR600RR engine • Total budget of $10,000 5 System Block Diagram 5V Power Supply Sensors UART Amulet LCD UART Wireless Transceiver Microcontroller (ATmega128) RS-232 Laptop (LabVIEW GUI) 6 Division of Labor • • • • Ahmed • Sensor selection & interfacing Justin • Amulet display Justin & John • • • Interface microcontroller with HyperTerminal Test microcontroller with simulated sensor data Interface microcontroller with LabVIEW Sean • • • Prepared LabVIEW to receive wireless data Interface microcontroller with Amulet Setup external power supplies for the microcontroller, Amulet, and Op-Amps 7 System Block Diagram 5V Power Supply Sean Ahmed UART Amulet LCD Microcontroller Sensors John & Justin (ATmega128) UART Wireless Transceiver RS-232 Sean Laptop (LabVIEW GUI) 8 Project Non-functional Requirements 9 Project Functional Requirements 10 Ahmed's Agenda • Subsystem block diagram • Pressure and Temperature Sensor Circuitry • Project functional requirement and specification • Sensors • Test result 11 Subsystem Block Diagram Temperature Sensor Pressure Sensor Engine 12V RPM Sensor ATmega128 Velocity Sensor Voltage Measurement 12 Pressure and Temperature Sensor Circuitry 13 Functional Requirements and specification • 12 volts from the car's battery • Water temperature measured by a temperature sensor • Oil pressure measured by a pressure sensor • Velocity and RPM measured by a speed sensor • Data acquisition maximum error of 5% • Sensors compatible with engine 14 Temperature Sensor • ProSense TTD25N-20-0300F-H • Analog output: 4 to 20mA • Operating Voltage: 10 to 30VDC • Temperature range: 0-300 F • ¼ NPT • Cable : CD12L-0B-020-A0 15 Pressure Sensor • ProSense PTD25-20-0100H • Analog output: 4 to 20mA • Operating Voltage: 9.6 to 32VDC • PSI range: 0 to 100 • ¼ NPT • Cable : CD12L-0B-020-C0 16 RPM and Velocity Sensor • Supply Voltage: 4.5 - 24 V DC • Supply Current: 10 mA • Output Signal: Pulse 0-50 V • Maximum output current: 20 mA • Sensing distance: From 0.5 to 2 mm • Maximum operating Frequency: 100KHz 17 Temperature Sensor Result • Maximum 5% error • T = m × Io +k • m = 10418.75 • k = -59.48 C • Linear Sensor • V = Io × Rf (Rf=250 ohms) T= temperature m = slope k = Temperature offset 18 Pressure Sensor Result • Maximum 5% error • P = m × Io +k • m = 6250 • k = -25 C • Linear Sensor • V = Io × Rf (Rf=250 ohms) P = Pressure m = slope k = pressure offset 19 RPM Sensor Result • Maximum 5% error • F = Frequency • RPM = F(cycle/sec) (60sec/1min) (1rev/2cycles) • Linear Sensor 20 Justin’s Agenda • Subsystem block diagrams • Project functional requirements • Hardware and software used • Amulet touch screen • Subsystem test results • Wireless transmission 21 Subsystem Block Diagrams Water Temp Input Amulet Touchscreen Home Page Oil Pressure Input Demo Mode MPH Input Practice Mode Aerocomm AC4790 RPM Input Race Mode Batt. Voltage Input ATmega128 ATmega128 Aerocomm AC4790 22 Project Functional Requirements • Functional Requirement • • Data acquisition sends data for display Display accessible to driver • Specification • • Data can viewed on the touchscreen Can be easily seen by driver without posing as a distraction from driving 23 Hardware and Software Used • Hardware • Amulet touchscreen • Laptop • Atmega128 • Software • Gemstudio • Atmel Studio 24 Amulet Touchscreen • Pseudo data used for demo mode • Aggressive warning system • Demo mode sweep • Navigation between modes 25 Amulet Display Results • Aesthetics • Navigation • Widgets • Microcontroller communication 26 Home Page 27 Practice Mode 28 Demo Mode 29 Demo Mode 30 Race mode 31 John's Agenda ● Subsystem block diagram ● Project functional requirements ● Hardware & software used ● Wireless transmission testing ● Testing with simulated data ● Interfacing with LabView ● Subsystem test results 32 Subsystem Block Diagram Water Temp Input Oil Pressure Input MPH Input RPM Input Aerocomm AC4790 LabVIEW Display Batt. Voltage Input ATmega128 Aerocomm AC4790 33 Project Functional Requirements 34 Hardware & Software Used Hardware Software • Atmega128 • Aerocomm AC4790 • Laptop • Atmel Studio • HyperTerminal • LabVIEW 35 Wireless Transmission Testing • Board to board • Board to HyperTerminal • Microcontroller to HyperTerminal 36 Testing with Simulated Data • Linear Output • Oil Pressure, Water Temperature, Battery Voltage • Simulated with Power Supply • Pulse Output • Tachometer, Speedometer • Simulated with the Wave Generator 37 Interfacing with LabView • Communication Protocol • Universal Asynchronous Receiver/Transmitter(UART) • Transmission Type • Ascii • Sent using packets 38 Subsystem Test Results • Wireless communication established • Microcontroller communication with HyperTerminal • Data displayed is current • Values displayed in ascii equivalent 39 Sean’s Agenda • Functional requirements • Subsystem block diagram • Equipment used • Interface Amulet with microcontroller • Prepare LabVIEW to display wireless data • Results 40 Functional Requirements & Specifications Functional Requirements Specifications Display data to driver and pit crew Touchscreen display Store data for review UART communication Does not interfere with driver performance 5 V power supply No loose or exposed wires Display real time data 41 Subsystem Block Diagram 5V Power Supply Microcontroller (ATmega128) Data From Wireless Transceiver UART RS-232 Amulet LCD Laptop (LabVIEW GUI) 42 Hardware & Software Equipment Software • Amulet LCD • GemStudio Pro (Amulet display software) • ATmega128 (microcontroller) Studio 6.1 (microcontroller • DC/DC converter (±5 𝑉 , ±15 [𝑉]) • Atmel software) • Level shifter (+5 [V] to +3.3 [V]) • LabVIEW 2014 • Laptop • Oscilloscope 43 Amulet Subsystem Bl0ck Diagram 5V Power Supply Microcontroller Put Sensor Data in Array to Transmit Send Data Array UART Amulet Touchscreen 44 Amulet LCD • Serial Protocol • UART • Ascii • 9600 bps baud rate • Transmit specific protocol to access variables • Microcontroller is master • Initializes communication • Amulet is slave • Full Protocol- Responds only if Amulet receives valid message 45 Amulet LCD • Internal RAM (IR) is memory on the Amulet. • 256 byte variables • 256 word variables (word = 2 bytes) • Can receive 14 different command messages from microcontroller • Can access internal RAM on Amulet • Changing and copying variables • Jump to different pages on display • Draw pixel, line, or box 46 Amulet Serial Communication Flow Chart Op-code = Tells Amulet what type of variable is being accessed (byte or word) Address = The variables location on the RAM of the Amulet LCD Value = The data to be displayed on the Amulet LCD Op-code Variable Address (High nibble) Variable Address (Low nibble) Variable Value (High nibble) Variable Value (Low nibble) Figure 1 – Transmit protocol for a byte variable. 47 LabVIEW Subsystem Bl0ck Diagram Put Sensor Data in Transmission Array Send Array Data RS-232 LabVIEW I/O Assistant (Parse Data) LabVIEW Gauge Display Log Data 48 LabVIEW Display • Serial Protocol • RS-232 • Ascii • 9600 bps baud rate • Transmit packets of data • Instrument I/O Assistant Aerocomm Transceiver Laptop (LabVIEW Display) Instrument I/O Assistant • Front Panel vs. Block Diagram • Connect blocks to data type and viewing method Display Data Save Data 49 Front Panel 50 Serial Communication Setup 51 Block Diagram 52 53 Subsystem Results • Successful interface between ATmega128 and Amulet LCD • Data sent and displayed on the Amulet LCD • Successful interface between Aerocomm Transceiver and LabVIEW GUI • Data sent, displayed, and stored on the LabVIEW GUI 54 System Test Results • Display data to driver with aggressive notification system • Race, demo, and practice modes • Wirelessly send data to pit crew’s laptop to be displayed on LabVIEW • Data logged via LabVIEW • Sensor’s acquire data with max error under 5% 55 Summary & Conclusion • BU ME’s require more advanced notification system for driver • Requires data logging, multiple display modes, and wireless transmission • System is functional • Requires installation and further testing 56 Sources • • • • • • http://cegt201.bradley.edu/projects/proj2011/pjacher/SAEDAQ/Deliverables_files/SAEDA Q_final_report.pdf http://www.atmel.com/images/doc2467.pdf http://www.amulettechnologies.com/images/stories/Downloads/mk480272cdatasheet111 2.pdf https://www.dropbox.com/s/l8abp41iru83oqg/Datasheet_carspd_eng_101.pdf?dl=0 http://www.automationdirect.com/static/specs/prosensettrans.pdf http://www.automationdirect.com/static/specs/prosensetransmitters.pdf 57 Appendix 58 Initialization 59 ISR 60 .C/.h files 61 to_ascii 62 Amulet Ascii Transmit Protocol Example Microcontroller Set Byte Variable Amulet Response Microcontroller Set Word Variable Amulet Response Figure 2 – Serial communication flow chart 63 Amulet Protocol Ascii Example: microcontroller sets internal RAM (IR) word variable to specific value (0x02C9) Figure 3 – Serial communication flow chart 64 UART Transmit • 1V per division • 0.5ms per division • Transmission contains: {0x00, 0xD6, 0x31} 65 66 67 Maximum data log time • Limited by max rows in excel • Max rows about 1 million • Log data every 100 [ms] • Max time = 27.8 hours • 0.1 [sec/row] *1.2E6 [rows] = 100,000 sec • 100,000 [sec] /60 [sec/min] /60 [min/hr] = 27.8 hrs 68 Max Transmission Rate with 9600 bps Baud Rate • 1 bit sending time: • 1/9600 = 104 us • Assume 16 byte packet • 8 bits + 1 start_bit + 1 stop_bit = 10 bits/byte_sent • 104 [us/bit] * 10 [bits/byte] * 16 [bytes/packet] = 16.6 [ms/packet] 69 Research • Amulet serial communication protocol • LabVIEW Instrument I/O Assistant • Troubleshooting errors 70 71 72 73 74 75 76 77