-
AD7177_H723ZG_20250218_v2
This folder is the firmware to be flashed onto the STM32H723ZG through STM32CubeIDE. Note that it is mostly autogenerated CubeMx. The only autogenerated file which has been changed by me ismain.c, found by navigating toCore/Src/main.c. I have also defined registers for the AD7717-2 inAD7177_registers.h, found by navigating toCore/Inc/AD7177_registers.h. -
v2_UDP_Socket.py
This script is used to listen for UDP packets sent over Ethernet and logs the raw data from the AD7177-2 into a CSV file. -
Import_and_display_data.ipynb
This is the notebook I used to read the CSV files and display data. -
Calibration2_Import_data.ipynb
This notebook was used to calibrate the raw offset and gain values of the ADXL354B. -
runUDP.ipynb
This notebook can be disregarded. I have issues with Python on my laptop and I just use this notebook to runv2_UDP_Socket.py. -
.ipynb_checkpoints
This can be disregarded.
The accelerometer system includes an ADXL354 accelerometer, AD7177-2 ADC and an STM32H7 microcontroller. The system is configured to sample 3-axis acceleration data using SPI (mode 3) with DMA and transmit it over UDP at ~815 Hz per channel. The ADXL354 operates in ±4g mode with a 1.8 V reference
The firmware should be flashed onto an STM32H723ZG using STM32Cube IDE. If reconfiguring anything in CubeMX (ioc file), there are some changes that must be made to the autogenerated code in main.c. In the MX_GPIO_INIT function, remove "HAL_NVIC_EnableIRQ(EXTI9_5_IRQn)". This is the last line of the function. Additionally, remove "MX_LWIP_INIT()" from "startDefaultTask()".
Below are the main system hardware components. There is also a doclib entry containing all the datasheets.
- Microcontroller: STM32H7 Nucleo-144 Board
- ADC chip: AD7177-2
- ADC breakout board: EVAL-AD7177-2SDZ
- Accelerometer chip: ADXL354B
- Accelerometer breakout board: EVAL-ADXL354BZ
