Custom Data Acquisition - LabView Powered (IR Tire Temps, PID control systems, etc.)
#1
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
Custom Data Acquisition - LabView Powered (IR Tire Temps, PID control systems, etc.)
I am currently developing my own custom data acquisition system to be used by my school's formula SAE team and after my Miata. I just want to document my build here and get feedback from the community on what features would be useful to the weekend track racer and get ideas for future additions to the systems. I am going to be 100% honest that I do not know a whole lot about processing this data to fine tune a vehicle. At the moment I am focusing on the hardware and software and getting useful data that is accurate and at adequate data rates.
The hardware:
National Instruments MyRIO (NI myRIO - National Instruments)
-Xilinx FPGA and dual-core ARMŽ Cortex™-A9 processor
-10 analog inputs, 6 analog outputs, 40 digital I/O lines
-onboard accelerometer
-wireless communication (stream information to any windows comp or tablet)
GPS module using UART communication
Infrared Temperature sensors using I2C
LCD screen with I2C interface
CAN bus module using SPI module
ADC expansion modules using SPI
The software:
Labview - with real time and FPGA and other add ons
Diadem - for data analysis and data reporting
Data Channel capabilities:
All ECU data via CAN communication (in development)
Infrared temperature sensor arrays (done)
Accelerometer (done)
GPS (coordinate log done, possible live map view in the future)
Temperature data via external ADC with bridge and up amp circuits (not started)
Pressure sensor via external ADC (not started)
Strain gauge force measurements (done)
Wheel Speed Sensors (not started)
Linear potentiometers for suspension travel and steering angle (not started)
Synchronize Video files in Diadem (in progress)
Acoustic Octave Analyzer (done- required per FSAE rules, useful for tracks like Laguna Seca)
Control Sysren Ideas
Active Aero
I can easily create open loop or closed loop PID control systems with any of the sensor data I am capable of logging. This can make for some neat projects down the road when I have a reliable core system developed. Simple ideas is programmable warning lights and actions (ie: warning light on display if coolant temp over x1, loud buzzer if coolant temp over x2, shut off engine is coolant temp over x3). a more complicated idea would be active aero based on throttle, steering, speed and accelerometer inputs. Let me know if you have any idea for projects.
Diadem Data Viewer example:
tire temp accel and gps testing
strain Gauge User interface:
strain gauge data for one corner Suspension set
Tire contact forces extrapolated from strain gauge data in the above pic using 3D vector Statics.
example labview programing code. pretty huh?
custom hardware enclosure:
Sure have come a long way from the early prototype stages of straping my macbook to the fsae car. lol. I'm surprised that actually worked okay.
PS: I recently purchased a 3D printer to design and prototype custom enclosures and brackets.
Stay tuned for updates and feedback is always appreciated
The hardware:
National Instruments MyRIO (NI myRIO - National Instruments)
-Xilinx FPGA and dual-core ARMŽ Cortex™-A9 processor
-10 analog inputs, 6 analog outputs, 40 digital I/O lines
-onboard accelerometer
-wireless communication (stream information to any windows comp or tablet)
GPS module using UART communication
Infrared Temperature sensors using I2C
LCD screen with I2C interface
CAN bus module using SPI module
ADC expansion modules using SPI
The software:
Labview - with real time and FPGA and other add ons
Diadem - for data analysis and data reporting
Data Channel capabilities:
All ECU data via CAN communication (in development)
Infrared temperature sensor arrays (done)
Accelerometer (done)
GPS (coordinate log done, possible live map view in the future)
Temperature data via external ADC with bridge and up amp circuits (not started)
Pressure sensor via external ADC (not started)
Strain gauge force measurements (done)
Wheel Speed Sensors (not started)
Linear potentiometers for suspension travel and steering angle (not started)
Synchronize Video files in Diadem (in progress)
Acoustic Octave Analyzer (done- required per FSAE rules, useful for tracks like Laguna Seca)
Control Sysren Ideas
Active Aero
I can easily create open loop or closed loop PID control systems with any of the sensor data I am capable of logging. This can make for some neat projects down the road when I have a reliable core system developed. Simple ideas is programmable warning lights and actions (ie: warning light on display if coolant temp over x1, loud buzzer if coolant temp over x2, shut off engine is coolant temp over x3). a more complicated idea would be active aero based on throttle, steering, speed and accelerometer inputs. Let me know if you have any idea for projects.
Diadem Data Viewer example:
tire temp accel and gps testing
strain Gauge User interface:
strain gauge data for one corner Suspension set
Tire contact forces extrapolated from strain gauge data in the above pic using 3D vector Statics.
example labview programing code. pretty huh?
custom hardware enclosure:
Sure have come a long way from the early prototype stages of straping my macbook to the fsae car. lol. I'm surprised that actually worked okay.
PS: I recently purchased a 3D printer to design and prototype custom enclosures and brackets.
Stay tuned for updates and feedback is always appreciated
#2
Senior Member
iTrader: (1)
Join Date: Dec 2010
Location: Farmington Hills, MI
Posts: 1,218
Total Cats: 175
Good stuff! We also find yaw rate beneficial. But then again, I'm sure yaw rate is a lot more critical to making an FSAE car fast than a Miata.
Congrats on the finish at Michigan, going to Lincoln again?
Congrats on the finish at Michigan, going to Lincoln again?
#4
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
For the miata I can stream data to a tablet or computer and build custom interfaces similar to the ones in the picture.
#5
If you decide to do a display I started using these:
Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow ID: 879 - $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Not the fanciest thing but bright and easy to read. Also talk through I2C. I am currently working on a gauge set using these and an arduino. Even though the arduino is not quite as powerful as labview, I kind of like using it instead. Probably because I hate the kidpix style of programming in labview and when you make modifications it can get messy. Also all my experiments run on labview so sick of decoding other peoples messy programs.
Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow ID: 879 - $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Not the fanciest thing but bright and easy to read. Also talk through I2C. I am currently working on a gauge set using these and an arduino. Even though the arduino is not quite as powerful as labview, I kind of like using it instead. Probably because I hate the kidpix style of programming in labview and when you make modifications it can get messy. Also all my experiments run on labview so sick of decoding other peoples messy programs.
#8
Oh labview. This brings back memories of determining the pressure inside a soda can with a strain gauge and other mildly amusing labs. Is the newer version of labview more stable? I had a few instances where I wanted to put my fist through the screen because it didnt save or something annoying a few years ago.
#9
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
If you decide to do a display I started using these:
Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow ID: 879 - $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Not the fanciest thing but bright and easy to read. Also talk through I2C. I am currently working on a gauge set using these and an arduino. Even though the arduino is not quite as powerful as labview, I kind of like using it instead. Probably because I hate the kidpix style of programming in labview and when you make modifications it can get messy. Also all my experiments run on labview so sick of decoding other peoples messy programs.
Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow ID: 879 - $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Not the fanciest thing but bright and easy to read. Also talk through I2C. I am currently working on a gauge set using these and an arduino. Even though the arduino is not quite as powerful as labview, I kind of like using it instead. Probably because I hate the kidpix style of programming in labview and when you make modifications it can get messy. Also all my experiments run on labview so sick of decoding other peoples messy programs.
Arduinos are nifty for the price and have a huge support community and library's for sensors already programed making them easy to use. A lot of what I do is read arudino or C programing for a sensor then convert it into LabView programs. I prefer LabView because I can implement a sensor and user interface extremely quickly, and visually debug application. If you plan ahead and use good coding practices and sub-VI it is not messy at all and is very easy to read code. But the software and hardware price is no where near that of the arduino.
Nice, how do you like working there? I was kinda considering that company for a bit.
Oh labview. This brings back memories of determining the pressure inside a soda can with a strain gauge and other mildly amusing labs. Is the newer version of labview more stable? I had a few instances where I wanted to put my fist through the screen because it didnt save or something annoying a few years ago.
#11
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
Digilent Inc. - Digital Design Engineer's Source
I wish I did purely this as me senior design project. I did the stain gauge DAQ system as part of my project then Carbon Fiber A-arms and have since graduated but am finishing up this system for the FSAE team for our last comp coming up soon. Then it gets adapted for the Miata
#12
What hardware and software did you use? The GPS is the pmodgps unit set to 1Hz with a 10Hz max. I haven't messed around with changing that rate but I think 5 Hz would be adequate.
Digilent Inc. - Digital Design Engineer's Source
I wish I did purely this as me senior design project. I did the stain gauge DAQ system as part of my project then Carbon Fiber A-arms and have since graduated but am finishing up this system for the FSAE team for our last comp coming up soon. Then it gets adapted for the Miata
Digilent Inc. - Digital Design Engineer's Source
I wish I did purely this as me senior design project. I did the stain gauge DAQ system as part of my project then Carbon Fiber A-arms and have since graduated but am finishing up this system for the FSAE team for our last comp coming up soon. Then it gets adapted for the Miata
4 turck speed sensors (wheel speed). We also used a 1GT honeywell sensor
3 MLX9614 IR temp sensors (wheel temp: in, mid, out)
1 ADXL345 ( 3-axis accel)
This was for a Formula Hybrid team, so we also setup a voltage divider to get a general idea of battery charge. All the software was either open-source/shared code or written by us. We didn't setup anything special since .csv is widely accepted.
We had other ideas for stuff to do/add, but being a 14-16 week project including fabricating a box and doing the wiring, we were told not to. Probably a good idea, as we finished right on time.
#14
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
we used an arduino (we did a lot of this on M16C initially, but swapped over), + an SD card shield:
4 turck speed sensors (wheel speed). We also used a 1GT honeywell sensor
3 MLX9614 IR temp sensors (wheel temp: in, mid, out)
1 ADXL345 ( 3-axis accel)
This was for a Formula Hybrid team, so we also setup a voltage divider to get a general idea of battery charge. All the software was either open-source/shared code or written by us. We didn't setup anything special since .csv is widely accepted.
We had other ideas for stuff to do/add, but being a 14-16 week project including fabricating a box and doing the wiring, we were told not to. Probably a good idea, as we finished right on time.
4 turck speed sensors (wheel speed). We also used a 1GT honeywell sensor
3 MLX9614 IR temp sensors (wheel temp: in, mid, out)
1 ADXL345 ( 3-axis accel)
This was for a Formula Hybrid team, so we also setup a voltage divider to get a general idea of battery charge. All the software was either open-source/shared code or written by us. We didn't setup anything special since .csv is widely accepted.
We had other ideas for stuff to do/add, but being a 14-16 week project including fabricating a box and doing the wiring, we were told not to. Probably a good idea, as we finished right on time.
FSAE vehicle suspension consist of 6 tubes per corner which are all in theory axially loaded. So I can back calculate 3 axis tire contact forces and moments, using those 6 gauges (6 equations 6 unknown 3D vector statics problem).
Unfortunately this type of analysis is not possible on the Miata since the control arm members are not in just simple axial loading.
#16
Elite Member
iTrader: (24)
Join Date: Jun 2007
Location: Woodland Hills, CA
Posts: 4,667
Total Cats: 18
Do you have any pics of the 7 segment displays mounted in the car? I was thinking of building an Arduino based dashboard for my car and stumbled onto the same Adafruit units as the only feasible solution with limited I/O channels.
#17
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
similar to this:
#19
Senior Member
Thread Starter
iTrader: (8)
Join Date: Jan 2012
Location: Azusa, CA
Posts: 1,407
Total Cats: 116
I'm in the process of building a simple circuit board to power a few tri color LED's which I am planning to mount in the oem cluster. I'll post a video when I get it all finished up. A tri color LED with just 3 digital lines gives you 7 different colors which can be used for different warnings lights
#20
I thought many times about trying to put together an array of IR sensors for live tire temp data. It would be pretty cool to try it with a cheap IR capable camera too and get the entire tire surface and overlay it on video.
I've also been kicking around the idea of adding a heart rate monitor like they used to in F1. Found this on sparkfun that would be pretty easy to tie into my RacePack USM or any other analog input.
https://www.sparkfun.com/products/8661
I've also been kicking around the idea of adding a heart rate monitor like they used to in F1. Found this on sparkfun that would be pretty easy to tie into my RacePack USM or any other analog input.
https://www.sparkfun.com/products/8661