Skip to content

An embedded system that records vehicle sensors to a CSV file in real-time.

License

Notifications You must be signed in to change notification settings

DallasFormulaRacing/DataAcquisition2.0

Repository files navigation

DataAcquisition2.0

🏁 For documentation, checkout our Wiki!

Table of Contents

  1. Objective
  2. User Features
  3. Hardware and Equipment
  4. Firmware Tech Stack
  5. Automation
  6. Future Plans
  7. Deprecated Technologies

Objective:

  • A Data Acquisition (DAQ) System for interfacing with the vehicle ECU and additional sensors.
  • Build the first fully-fledged DAQ with re-usable code through:
    • The Layered Architecture design pattern
    • Modularity of components
    • Hardware abstraction
  • Efficiently record data to a CSV file for system testing & refinement of other vehicle components via analyses.
  • Make sensor data conveniently accessible for the whole DFR organization.
  • To be used in tandem with DFR's DataAnalyzer.

User Features

Supported Logging Method Library Completion
Micro-SD Card
USB Flash Drive
Wireless Transmission

Hardware and Equipment

Target Device

The STM32 Nucleo F429ZI microcontroller development board is used as the current target device for code merged to the main and develop branches. Theoretically, other Arm Cortex M4 based STM32 devices with the necessary peripherals should be able to run the same program.

image

Input

Component Type Supported Hardware Device Library Completion
Linear Potentiometer - SLS 1322-3
Accelerometer - LSM303DLHC
Gyroscope - L3GD20H
Magnetometer - L3GD20H
GPS/GNSS - NEO-M9N
Strain Gauges
Tire Temperature - MLX90614
ECU - PE3-8400P

For additional information regarding each device and its implemention, refer to our Wiki.

Output

A CSV file with associate a timestamp with the following sampled data.

Computed Output Supported Units
Suspension Travel Displacement - Inches
- Millimeters
Acceleration (3 DoF) - m/s^2
- Gs
Rotational Velocity (3 DoF) - Degrees per second
- Radians per second
Location Coordinates - Altitude
- Latitude
- Longitude
External Force - Stress
- Torque
- Pressure
Tire Temperature - Farenheit
- Celsius
Motor Shaft Speed - Revolutions per Minute (RPM)
Throttle Position - Percentage
Fuel Open Time - Milliseconds
Ignition Angle - Degrees
Atmospheric Pressure - Pound per Square Inch (PSI)
- Kilopascal (kPa)
Intake Manifold Pressure - Pound per Square Inch (PSI)
- Kilopascal (kPa)
Exhaust Oxygen - Lambda

Firmware Tech Stack

  • STM32 Hardware Abstraction Layer (HAL)
    • Generated by STM32CubeMX within the CubeIDE environment, which also provides the arm-none-eabi toolchain.
    • Serves as a set of drivers or a Board Support Package (BSP) to interface with the microcontroller.
  • FreeRTOS
    • Multi-threading and concurrent programming.
    • For optimizing timing and performance.
  • CMSIS-RTOS v2
    • Not to be mistaken for another RTOS framework.
    • An abstraction layer for interacting with an RTOS framework (i.e., FreeRTOS).
  • FatFS
    • For maintaining the FAT file system.
    • Allows users to access the resulting CSV file on any device

Automation

Future Plans

  • Developing for a dual-core STM32H7 microcontroller.
    • The Cortex M4 core may focus on sampling data from sensors.
    • The Cortex M7 core may focus on outputting the processed data.
    • Both cores may run FreeRTOS for organizational purposes.
    • Both cores may communicate and synchronize with each other using the OpenAMP framework.
  • Developing on a custom PCB microcontroller.
    • Currently in progress and led by our Electrical Team.
    • Ideal for mounting on the vehicle.

Deprecated Technologies

Initially, this project ran a program consisting of a simple super loop and interfaced with the hardware using the Mbed framework. This allowed us to focus on building the team knowledge base for developing custom drivers to support sensors. In favor of our long term goals, we have transitioned to supporting the above Firmware Tech Stack for the DAQ.

About

An embedded system that records vehicle sensors to a CSV file in real-time.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages