PortaG Accelerometer (EJ14-ECE342-W24)

C++
3D Printing
System Design
System Testing
Arduino
PCB
Accelerometer
Hardware

The PortaG Accelerometer System is a compact, user-friendly device designed to measure and display vibration g-forces with high accuracy. With a size of 15.8 square inches, the system ensures portability, allowing for easy transportation and use in various environments. Safety is a priority, with the system operating at a safe voltage of 3.7V. The system contains features ensuring that user interaction is simplified. These features include an integrated display that shows real-time x, y, and z acceleration values, the overall magnitude of acceleration, and the corresponding g-forces, ensuring immediate and clear data presentation. Accuracy is assured with measurements displayed to a precision of 0.1 m/s^2. Additionally, the system includes wireless capabilities to upload data to a computer, where acceleration over time can be graphically plotted. This functionality is facilitated by bluetooth communication with a second microcontroller, which also features a button to reset the system and initiate data collection. The collected data is then stored and visualized using the Arduino Serial Plotter on a nearby computer, providing comprehensive analysis and ensuring the system meets all specified requirements for portability, safety, ease of use, and accuracy.

9 Lifts 

Artifacts

Name Description
Custom PCB Our custom PCB was designed to meet specific electronic requirements, allowing all our individual blocks to be precisely mounted on it. This ensures optimal functionality and compactness, reducing the need for complex wiring and enhancing reliability.   Download
Enclosure This is a 3D-printed module that encloses the accelerometer system, providing robust protection and portability. The custom-designed box includes rails to securely hold the PCB and internal components. It features openings for charging ports, a display screen, and a reset button. Additionally, a separate lid file completes the enclosure, ensuring the system is well-protected while remaining fully functional and easy to transport. The enclosure enhances both the durability and usability of our project.   Download
Bill of Materials The Bill of Materials (BOM) for our project detailed all necessary components, quantities, prices, and suppliers. This comprehensive list facilitated efficient project planning and budgeting.   Download
Master Microcontroller Arduino Code Our project code integrates an accelerometer system with a Bluetooth module and an LCD screen. The key functionalities of our master microcontroller code are as follows: The code initializes the MPU6050 accelerometer, setting its range and filter bandwidth. It also calibrates the accelerometer to ensure accurate readings by calculating offsets for x, y, and z axes. The accelerometer readings (x, y, z, and the calculated magnitude and G-force) are displayed on an LCD screen. The screen is configured and updated with new readings in each iteration of the main loop. The master Bluetooth module was initially sending inconsistent garbage values. We identified two constant values (0 and 15) that were consistently present in the garbage data. We mapped these values to binary 1s and 0s to encode our data. The actual acceleration value (magnitude) is converted to a 32-bit unsigned integer. The encoded acceleration data is then sent via the Bluetooth module to the slave microcontroller. This combination of accurate data acquisition, real-time display, and reliable communication forms the backbone of our accelerometer system.   Download
Slave Microcontroller Arduino Code Our slave microcontroller code facilitates the reception and transmission of accelerometer data via Bluetooth, and also provides a means to debug through the serial monitor. The code initializes a SoftwareSerial connection to communicate with the Bluetooth module, and pins are set up for receiving and transmitting data. The code contains functionalities that are used to send the mapped garbage values (0 and 15) representing binary 1s and 0s respectively, encode a float value into a 32-bit unsigned integer and send it using the mapped values. The main section receives and decodes 32-bit data sent by the master microcontroller. The received data is read bit by bit, reconstructed into a float, and printed to the serial monitor for verification. The commented sections allow for bidirectional communication between the Bluetooth module and the serial monitor, facilitating debugging and sending AT commands to the Bluetooth module.   Download
Individual Block and Wiring Diagrams We included system and individual block diagrams, along with wiring diagrams, to provide clear visual representations of each module and their connections within our project. These diagrams help in understanding the overall system design and ensure accurate assembly and troubleshooting.   Download
Executive Summary The executive summary encapsulates the the process behind the PortaG Accelerometer System, highlighting its design, capabilities, and the team's ability to overcome challenges. It serves as a testament to the project's success and readiness for future endeavors.   Download
System Verification This document provides a detailed overview of the PortaG Accelerometer system, outlining its design, functionality, and testing procedures. It includes descriptions of the system’s features, interface definitions, a comprehensive test plan, engineering requirements, artifacts such as diagrams and code, and a bill of materials.   Download
Showcase Video This video outlines our entire design process. It features the key accomplishments, challenges, learning experiences, and future improvements of the PortaG Accelerometer.   Link
Feedback