Git Product home page Git Product logo

dataacquisition2.0's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.