This design allows the user to write guitar songs in software and play them back using a robotic system mounted to a guitar. This system allows the user to control how each of the guitar strings is pressed (within the first 12 frets) and how they want each string to be strummed/picked for this particular “note-pick-frame”. This is one of the most complicated systems I have designed to date.
06/23/2012 I am on the last stage of design for this system which involves building the mounting brackets that put the system on a guitar. I am happy to say that all other software/hardware/electrical systems have been tested and are working wonderfully. It’s amazing to watch all of the motors turn and solenoids fire as “note-pick-frames” are played back.
Primary task involved with developing the Self-Playing Guitar System
- Brainstorm the feasibility and/or possible ways to accomplish playing a guitar
- Select stepper motors/solenoids/drive pulleys/drive belts
- Create computer software that allows the user to create/save/edit robot-guitar songs and send them over USB 2.0 FS to a control board. This required hard-coding a database and robot guitar file system
- Create USB drivers for computer and microprocessor
- Design firmware stepper motor drive routines
- Design firmware solenoid drive routines
- Design firmware feedback/sensor processing routines
- Design a Cooperative Multitasking System for the MCU that facilitates communication with a computer running the robot guitar song software over USB while concurrently executing the routines used to control how the robot devices are playing the guitar. (Authors Note: This was an intense challenge given the number of motors/solenoids/feedback elements/timing/speed factors for this system!)
- Design the electrical circuits/evaluate and select parts/create virtual simulation models using schematic capture and simulation. Order necessary parts.
- Integration of low voltage/high current switched mode power supply, “SMPS”, used for powering the stepper motors and solenoids
- Design the PCB
- Print the PCB
- Populate the PCB
- Test the PCB
- Debug software/hardware, correct errors, wash-rinse-repeat until perfect
- Build adjustable guitar mounting brackets for motors/solenoids/feedback elements
- Control: (7) Bi-Polar Stepper Motors, (6) DC solenoids
- Power: There are three separate power rails on this system that require the following:
- 5-16 VDC [MCU supply rail; Regulation is onboard]
- 12VDC x 16A [SMPS input for stepper motor power]
- 18-24VDC x 8A [SMPS input for solenoid power]
- MCU: PIC32MX795F512L (100 pin TQFP)
- Communication: USB 2.0 FS running Custom Class USB drivers on computer/MCU
- Interface: Self-Playing Guitar Computer Software
- Input: (6) feedback elements (absolute stepper motor reference)
- Motor Driver IC: L298N
- Self-playing guitar/violin/banjo/drums/etc.
- CNC machines
- 3-D printers