Customer Handoff & Final Project Documentation
Table of Contents
Team Vision for Final Demo and Handoff
- 88 individually addressable solenoids were connected. Each solenoid could be fired at a variable voltage relating to a variable volume of playback. This was accomplished through the use of 4, 24 channel PWM drivers.
- Coplied CAD files for handoff
- 3D printed solenoid caps and control circuit supports
- Assist with solenoid mounting and wiring
- The new code can take in any MIDI file made for 88 key pianos and play them back at variable volumes. The current interface displays the song’s given tempo, buttons for playback controls, and all of the tracks that are contained in the chosen MIDI file
Test Results Summary
Risk and Problem Tracking
Many of the risks we accounted for were non-issues in the final installation of the piano:
- The solenoids never reached a dangerous temperature.
- The rack stayed firmly mounted within the piano
- The Python Code was able to appropriately keep time for the songs
Some new risks were found:
- Exposed electrical components can lead to shorts
- Bad connections can lead to intermittent playing
- Sensors not being able to fit within only one key
Final Project Documentation
- Technical Paper
- Embedded Edge Link: https://edge.rit.edu/edge/P19363/public/Handoff/Technical%20Paper%2C%20Imagine%20Poster%2C%20Lightning%20Talk%20Slide/P19363%20Player%20Piano%20Technical%20Paper.docx
- Embedded Edge Link: https://edge.rit.edu/edge/P19363/public/Handoff/Technical%20Paper%2C%20Imagine%20Poster%2C%20Lightning%20Talk%20Slide/Poster.pdf
- Operator Manual
- Embedded Edge Link: https://edge.rit.edu/edge/P19363/public/Handoff/Manuals/P19363%20Operation%20Manual.pdf
- Service Manual
- Embedded Edge Link: https://edge.rit.edu/edge/P19363/public/Handoff/Manuals/P19363%20Service%20Manual.pdf
Quick note, the screws used in the frame are all 1/4-20 with 5/32 sockets. The only exceptions are the screws that go through the five inch rail, which are 3/16 sockets. The washers and nuts are either 1/4-20, 3/8-16 or 9/16-18.
- Player-Piano on Github:
CAD/SchematicsOur parts were designed and or edited using Autodesk Fusion 360. We chose this program as RIT had entered into a partnership with Autodesk which gave us easy access to their software, their cloud service for team collaboration, and their on-campus service representatives for troubleshooting. In order to open these files, you need to open them through CAD software like Fusion360 or Solidworks. If you do not have access to this software on a personal device, there are computers on campus that do.
The majority of the design was made by the previous team (P18363), minor changes were made in an attempt to better our workflow. We added fasteners (e.g. screws, nuts, bolts) that were missing from the previous design to test if our assembly could move freely (everything was rigidly constrained in the previous design) to hit keys before ordering or machining components. We changed to using larger subassemblies (the previous team had multiple designs integrated as a single component) and we tried to use standard parts or cad files for parts from McMaster-Carr whenever possible (the SolidWorks assemblies from the previous team were broken when imported due to missing parts).
Please note that we have chosen not to include the rails with the solenoids in the frame as it would not represent an accurate depiction of the position of the solenoids needed to hit the hammer mechanism (as minor adjustments must be made after re-inserting frame into piano) and because Fusion 360 will not export our larger assembly to general cad file formats (like STEP files).
Quick note, the plank can be made of any wood that be cut to 1.7 inches high and 0.25 inches thick; the length should be anywhere between 16 inches and 17.5inches depending on whatever bank of keys it is being placed above.
Control Circuit Holder General Link: https://a360.co/2PsPO2z Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/control%20circuit.stp
Piezo Sensor Holder General Link: https://a360.co/2PsPSPR Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/seperater30_longer.stp
Plank Holder General Link: https://a360.co/2vtgqr3 Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/Upper%20Sensor%20Fixture.stp
Plank Spacer General Link: https://a360.co/2vj5j3E Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/spacing%20block.stp
Frame without Solenoid Rails General Link: https://a360.co/2VqOgeH Edge Embedded Link:
Regular Solenoid General Link: https://a360.co/2Vg2YFt Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/Solenoid%20Set%20Without%20Extender.stp
Extended Solenoid General Link: https://a360.co/2vmgZm9 Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/Solenoid%20Set%20With%20Extender.stp
Taller Caps General Link: https://a360.co/2viFh0j Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/3.4mm%20ID%20cap%2C%20with%204mm%20height%20extension.stp
Vibration Damper General Link: https://a360.co/2vmIYCd Edge Embedded Link: https://edge.rit.edu/edge/P19363/public/Handoff/CAD%20%26%20Schematics/vibration%20dampener.stp
Purchasing HistoryNot included here are testing equipment, parts sourced or created for free using campus resources, and smaller purchases that we may have made individually to create prototypes.
Final BOMThis is the bill of materials as it currently stands for 82 solenoids. The other 6 solenoids needed to play all 88 keys of an upright piano were not added as they either did not fit on the frame or the key they would be used to actuate was broken or missing. Not included are expendable items such as the Devcon epoxy and loctite super glue used with the solenoids and the wiring used in control circuit and sensor array.
Suggestions for Future work
CAD/Schematics:If you continue to work with Fusion 360, try to find a way that position of joints (Fusion 360 ‘speak’ for constraints or mates) and selected contact sets (automatically detects interferences within motion) do not get corrupted for components that were designed from scratch and not imported. Design a PCB for the solenoid control circuit. Again, if you continue to work with Fusion 360, this can either be done with Fusion 360 (for a simple design) or using Autodesk Eagle (for a design incorporating spice models) which be exported to and cloud synced with Fusion 360 designs.
Frame:Change the base stands to rubber feet to keep the frame from slipping and scratching the inside of the piano. Design an easily adjustable methods for connecting these feet to the frame to save time on minor adjustments that must be made when re-inserting frame. Change the rubber bumpers to those with pre-installed threaded metal 3/16 sockets. Choose bumpers that fit inside the piano without needing to be cut to size when the piano covers are installed. Add a level to the frame. Maybe also redo the 5inch 8020 rails with the holes in them, there should be enough scrap 8020 to create one additional rail which could be matched to one of the previous rails. These shorter rails are not properly aligned causing spacing issues (different length holders must be made for the circuit) as you move across the frame.
Solenoids:Find an easier to apply and remove method of connecting caps, extenders and plunger together. The Devcon used has a long cure time and the solvent (acetone) deforms the black abs tube. The superglue used cannot be removed easily if there are mistakes with the alignment of the extender. If you choose to redo the adhesives to the plungers, test adding small o-rings (#36 - 5/16 inch OD x 3/16 inch ID x 1/16 inch wall thickness) to outside of the smaller end of the plungers before feeding the plunger into the solenoid barrel to stop the clicking sound. The o-rings significantly reduce the clicking without impeding the stroke length of the solenoids and do no deform from the heat from the solenoids. Test multiple solenoids before switching completely to o-rings as some solenoids had a more audible humming or beeping while operating with an o-rings while other solenoids did not.
Purchasing:Keep a larger percentage of the budget for the final semester. We thought we saved enough after doing initial testing to validate the components and how much we would need of each component but we still had issues after unexpected failures. Use more resources on campus or through the school whenever possible. We initially bought most of the components before transitioning to getting them from the construct parts catalog, electrical engineering senior design space, machine shop scrap, and the prosthetics printing lab. Reach out to additional sponsors or try to get funding/parts from student competitions. There is a limited budget for this five year project, we took extra from the successive years to buy necessary components. Sponsors and competitions could provide extra funding before a budget increase is approved in the second semester (if it approved at all).
Inventory:Rent out a lockers and a workspace (preferably the one next to the piano) as soon as possible. Do it before they’re all gone and you don’t have a table to work with like we did (they will remove unassigned tables/workbenches as groups need more space to continue working throughout the semester). Find a better system than what we had to keep our parts. We recommend color coded baggies, folders and or a set of drawers. Keep this system collapsable or small enough to fit underneath the piano as lockers and workspaces must be emptied at the end of the year leaving only the area around/on the piano to leave parts for the next team (this is a five year project).
Sensors:For the sensors the following need to be done integrate the pi code with the information that the teensy is sending.Use pyserial to take the data from the teensys. Use the data as a feedback which would tell you the state of the keys being pressed. Create a better hold that presses the sensors flat as the current method forces the sensors to bend. Create a solid hold for the teensy. The teensys need to be near the sensors or extend the wires to the sensor.
- Get the UI to properly Pause and Stop songs during playback, depending on which button is hit on the interface
- tempo when the BPM is changed on the playback UI
- Make it so that different tracks (channels) of the songs can be turned on/off depending on whether or not the track is checked or unchecked on the playback UI
- Fix up the scroll bar to start at 0:00, update the current position and timestamp in the song during playback, and change the current position when the scroll bar is moved
Electrical:The current control circuit while functional is rather dense and exposed. This can lead to short circuits and possible malfunctions. A PCB would solve this problem. However that would mena buying all new circuits elements and remanufacturing the control boards. If this expense is not worth it then the boards can simply be mounted more securely and electrically isolated from the environments with some tape or an appropriate cover. The main electrical issue is poor connections between the circuit boards. Crimp connector were used for distributing the 5V, 36V, and Ground lines. This connectors ought to work well as they keep the circuits easily removable however they were not installed well and some/all need replacing. The data cables connecting the PWM IC’s are not good. A new cable with a good connector that “clips” into place ought be created. Use the hardware disable/enable available on the PWM ICs to prevent the soleniods from firing.
Functional Demo Materials
Video Link: https://youtu.be/ttA16NDIiTg
He’s a Pirate: https://youtu.be/xYeMQhcFmOw
Flight of the Bumblebees: https://youtu.be/r2itzYmqATM
Fur Elise: https://youtu.be/Aum1Z_UNLzs
Testing Keys for Twinkle Twinkle Little Star: https://youtu.be/cXWvZe4s8QI
Testing every solenoid: https://youtu.be/Xh-p9b8-gn4