Team Vision for Final Demo and Handoff
For this final phase, the team planned to finish all integration testing and finalize any outstanding design decisions so that the Robotic Drum Assist could be demonstrated and delivered to the customer. This included implementing the beat programming board replacement, finalizing and testing the striking mechanisms, and addressing any lingering risks surrounding the motors' durability.
Ultimately, this vision was accomplished, as the device was successfully completed and handed off to the customer. All requirements were satisfied, and the final build was tested and demonstrated before handoff.
Design Updates
In this final phase, the last few design questions were solved and tested.
Beat Programming Board
After being faced with the exorbitant cost of the original physical beat programming board PCB, a WebApp was selected as an alternative. This option was relatively simple to implement and is familiar to the students that will be using the device, as it is based on their current Chrome Music Labs Rhythm tool. This WebApp was implemented on a NodeMCU microcontroller, which has a built-in ESP8266 WiFi module. The Arduino and NodeMCU communicate through hardware serial I/O, which allows the NodeMCU to relay beat selections as bytes. The Start button on the application triggers the Arduino to enter beat programming mode, where it gathers the updated beats from the NodeMCU and then play the rhythms as the buttons are toggled.
Final Striking Mechanism Mounts
The snare drum mechanism utilizes a readily available percussion claw along with 2 custom designed and laser cut pieces of wood. A steel strap is created to hold the drumstick to the door lock actuator and an eyebolt is used to secure the drumstick to the mount and act as a pivot point.
The bass drum mechanism utilizes the original bass pedal based striking mechanism. The pedal was removed and replaced with a door lock actuator. The door lock actuator is mounted utilizing a custom steel bracket along with some minor modification to the structure of the mechanism.
The hi hat mechanism utilizes a full steel construction. All components were custom cut and bent. The door lock actuator directly bolts to the mechanism and utilizes a similar steel strap to hold the drumstick. An eyebolt is also used to secure the drumstick to the mount and to act as a pivot point. The mechanism is bolted to the hi hat stand with the use of steel split ring pipe hangers.
H-Bridges and Current Limiting Resistors
The H-bridge circuits were implemented by hand on thru-hole boards using 4 relays.
During testing, a problem emerged regarding the current draw of the motors. During operation, the motors were drawing heavy current while stalling due to the fore of hitting the drums, which raised the possibility of the motors burning out and failing. To mitigate this risk, 6-ohm, 50W resistors were installed in series between the h-bridge and the motor inputs to limit that current and take the heat off of the motors.
Control Box
Now that the final build was taking shape, the electronic components needed to be safely and compactly housed. A two-layer box was designed to be laser cut out of wood, and would hold the power supply on the bottom with room for ventilation and the logic and motor circuitry arranged on a shelf above it. The power supply was secured with velcro and connected to the AC connector that fit into the outside of the box for easy access to the power switch. On the shelf, the tempo slider and seven segment display were placed on a raised shelf on the far left, with the Arduino beside them. The Arduino was wired in to the NodeMCU on a breadboard next to it, and the three h-bridge boards made up the remaining circuit space. On the right edge of the shelf before the gap for the power supply wires, the three resistors were bolted onto a metal plate. The three 3.5mm jacks were placed on the bottom edge of the shelf for the user-input buttons to connect to, and six holes were made for the motor output wires. The top of the box contained a slit for the slider and seven segment display to extend out the top, and also included ventilation slits above the resistors. The USB connector for the Arduino was dremeled out to allow access for reprogramming and independent power.
Test Results Summary
The live document with the final updated test plan for this phase can be found here: P20068 MSD II Test Plan - FINAL
To summarize changes, two tests were removed from the test plan in order to account for design modifications. These tests both revolved around the programmable soundboard that was originally in our design, but we later removed. The tests in question are now crossed out in the document, indicating that the test is no longer relevant to our system.
The other changes made to the test plan consisted of updating the status of the remaining relevant tests. All tests listed had passed, and are therefore now highlighted in green, following the key presented at the bottom of the document.
Risk and Problem Tracking
Risks had been detailed, tracked, and mitigated throughout the project. In this final phase, all remaining risks were to be ideally driven to zero, as all open questions and concerns would be addressed before delivery. Due to end-of-semester timing and heightened COVID-19 risks on campus, some longer-term testing was unable to be performed to fully address certain durability risks. But all budget, social, and short-term development risks were fully mitigated.
Problem tracking provided a way to address risks and other development issues. An outstanding problem from the previous phase was the beat programming board, which was facing a significant redesign due to budgetary constraints. Alternative concepts were discussed and a web application was chosen and implemented. Another critical problem that was addressed was excessive current draw on the motors, which would lead to failure and potential dangers. This problem was resolved by the addition of current-limiting resistors to the motor circuitry. Final testing also revealed a problem with powering the Arduino from the power supply, where the 12-9V converter was successfully tested but a power draw issue shut off the Arduino when multiple buttons were activated simultaneously. There were a few potential solutions, including using the 5V USB connector for power, allowing access to a 9V power brick, or providing a 9V battery. The USB connector was chosen for its availability and double purpose for reprogramming the Arduino in the future.
Final Project Documentation
- Technical Paper: P20068_Final_Paper.pdf
- Poster: P20068_RoboticDrumAssistPoster.pdf
- Lightning Talk Video: P20068 Lightning Talk
- Final BOM: Bill of Materials.xlsx
- User Manual: Robotic_Drum_Assist_UserGuide.pdf
- Software: RDA_Code.zip
- Software is provided in three files created and uploaded using the Arduino IDE.
- RDA_Main.ino and RDA_Main.h run on the Arduino and provide the main functionality for the device.
- RDA_SAP.ino contains the WiFi access point and website generation code for the beat programming mode, for the NodeMCU.
- CAD/Schematics:
- Sides and top with ventilation holes, laser_box_vents.pdf
- Full box document to be used for laser cutting: laser_cut_box.pdf
- CAD files for control box and snare mount:
- Control Box Wiring Schematic and Layout Sketch: Control Box Layout.pdf
Recommendations for Future Work
We believe this prototype for the Robotic Drum Assist is a great starting point for making advancements in improving accessibility and independent participation in interactive classroom activities, particularly music classes. Even so, with more time and budget there are items that could have been better addressed or implemented in addition to current features.
- Volume adjustment - user customization option that affects timing constants used by the motors, adjusting their speed and striking force
- Beat programming time signature options - currently only 4/4 time is available, but more songs could be supported with 3/4 time
- Wiring - a simple improvement could be made to clean up the wiring between the control box and the motors, such as wrapping the two motor wires together
- Arduino power issue - Identify solution to allow Arduino to be powered from power supply rather than needing its own USB power source
Functional Demo Materials
Customer Handoff took place on 11/20/20, with the customer witnessing a demo and receiving the final prototype at RIT.
Link to video/picture repository from various prototype tests and the handoff: Video/Picture Collection (Google Drive)
Final Design Review took place on 11/27/20: Final Review Presentation.pdf
Plans for Wrap-up
With the Robotic Drum Assist completed and handed off to the client, we will finish gathering all documentation needed to understand and build off of this project in the future. All unused components have been checked in to MSD spare inventory or donated for use elsewhere.