Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

Interfacing a microcontroller with an SD card for analyzing data from the car's sensors and CAN bus.

Notifications You must be signed in to change notification settings

crsz20/SDCard-Interface-STM32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDCard-Interface-STM32

An interface between the STM32 NUCLEO F446RE and a micro-SD card for storing data from sensors of the race car's dashboard. A Data Logger for UTD's Dallas Formula Racing.


Objective:

  • Implement SDIO communications
  • Interface the micro-SD card with the MCU for storage capabilities.
  • Provide LED light indication for card detection
  • Condense the program to a callable function
  • Store the output as a CSV file
  • Improve modularity for a swappable interface
  • Build a report generator with Excel and/or MatLab, or use DFR's DataAnalyzer

Technologies:

Hardware and Equipment:

  1. STM32 Nucleo-FE446RE Micro-Controller Unit (MCU) - Equipped with the ARM Cortex M4 processor
  2. Adafruit's Micro-SD Card Breakout for SD SPI or SDIO*

STM32 Nucleo-FE446RE MCU

Adafruit's Micro-SD Card Breakout

Pinout

  • PC8 ---> DAT0
  • PC9 ---> DAT1
  • PC10 --> DAT2
  • PC11 --> DAT3
  • PC12 --> CLK
  • PD2 ---> CMD
  • PB6 ---> CD (Card Detection)

Expected Input

CAN Bus

- RPM
- TPS (Throttle Position Sensor)
- Fuel Open Time
- Ignition Angle
- Barometer
- Map (Manifold Absolute Pressure)
- Radiator Air Temp
- Radiator Coolant Temp
- AFR (Air Fuel Ratio)
- Oil Pressure
- Mass Air Flow Sensor
- Wheel Speed
- Battery Voltage

GPS

- Second, minute, hour, day, month, year
- Speed
- Latitude
- Longitude
- Ellipsoidal Height
- Sea Level Height

Analog-to-Digital Converter (ADC)

- Damper Sensing
- Steer Sensing
- Brake Sensing

Accelerometer & Gyroscope

- X, Y, & Z
- Roll
- Pitch
- Yaw

Note

In order to enable the GPS-based file naming, set the macro _USE_LFN to 2. This enables the Long File Naming Convention, and must be done everytime you make changes to the .ioc file and allow code generation. _USE_LFN can be found in FATFS > Target > ffconf.h

About

Interfacing a microcontroller with an SD card for analyzing data from the car's sensors and CAN bus.

Topics

Resources

Stars

Watchers

Forks