← Back to Portfolio
Engineering

BIR Accelerometer

Role Sole Engineer (Embedded and Electrical Engineering)
Tools KiCAD, Arduino, and Python 3.X
Disciplines
Electrical Embedded

Problem & Context

A critical component of success for one of our products was impact energy dissipation. By plotting an acceleration curve over the impact event interval I could compare different configurations for best energy dissipation. Properties like total impulse, peak force, contact duration, and rise time build a better picture on how to redesign the product.

Scope of Work

Technical Approach

KiCAD was used to design the accelerometer board with an nRF24L01+ RF transceiver, Seeeduino Xiao MCU, 9V battery connector, voltage regulator, and MPU_LSM6DS accerlerometer module.

The logic on the MCU was a little complex due to the limitations in memory and the sample rate required to get data on the ms scale.

The acceleration data (single axis) was stored in an array prior to relaying to the receiver. Sample rate and data efficacy dropped if clock cycles were used to transmit the acceleration values in real-time to the PC.

With memory limitations, the array size was limited to a length of 4000. This is approximately a 2s of data.

A custom protocol was created to transmit the data between the BIR tool and the Python program. To ensure efficacy and lossless transmission of the data, each acceleration sample was indexed. The Python program verified the data being sent was the next in the sequence. The BIR tool would resend the data until an ACK was sent back from the Python program (form of error checking).

The Python program generated an audible tone to commence the acceleration test. There was only a 2s window for capturing data so there needed to be a countdown synchronization between the BIR tool and the Python program.

The BIR tool without the accelerometer is what was used as the receiving dongle. The receiving dongle simply setup a serial connection to the Python program and fed all the data directly from the RF24 through the Seeeduino to the USB port of the PC.

BIR Accelerometer PCBA with nRF24L01+ RF transceiver, Seeeduino Xiao MCU, and MPU_LSM6DS accelerometer

Results

Python script for data acquisition and visualization from BIR accelerometer

Acceleration vs Time graph showing impact event analysis with Time on Target (ToT) calculation

Acceleration graphs were used to calculate the "Time on Target" (ToT) value. This value helps with figuring out which round has better energy dissipation.

The crush zone can be improved to ensure we have the longest ToT.