Piano Touch Keys II P13364 Project Goals/Customer Requirements - - PowerPoint PPT Presentation
Piano Touch Keys II P13364 Project Goals/Customer Requirements - - PowerPoint PPT Presentation
Piano Touch Keys II P13364 Project Goals/Customer Requirements Augment a keyboard to allow musical parameters (pitch, timbre, intensity) to be changed while playing with two hands. Allow the musician to play in a way that isn't
Project Goals/Customer Requirements
- Augment a keyboard to allow musical
parameters (pitch, timbre, intensity) to be changed while playing with two hands.
- Allow the musician to play in a way that isn't
possible on currently available keyboards.
- At least two axes of control, tracking both
position and velocity.
- Demonstrate this functionality on a single
- ctave keyboard
Hardware / Software Design
- PCB design
- Power system design
- Touch Processor Software Flowchart
- I2C Communication Flowchart
- Supervisor Processor Software Flowchart
- Supervisor Processor to Plogue
Hardware / Software Design
PCB Design (Key Design)
- Each piano key has:
○ MSP430 IC ○ 1 uF capacitor VDD to GND ○ 6-pin ZIF Connector ○ Touchpad array
- MSP430 and cap on the underside (top
layer, red) of the board.
- Pad array and connector on the top surface
(bottom layer, blue)
- Limited ground-plane on the touchpad layer,
but no ungrounded islands.
PCB Design (Key Design)
PCB Design (Key Design)
PCB Design (Header board)
- Header board contains:
○ MBed socket ○ Power regulation ○ ZIF connectors to keys ○ Jumper headers to select an MSP430 for programming.
- Unfinished due to
unforeseen problems with EagleCAD license.
Power System Design
Power System Design
USB Power Standard:
- 500mA, 5V, 2.5W
mbed Processor:
- 200mA (max), 5V, 1W
MSP430G2403
- 7mA (max, per device), 3.3V, 0.0231W
Power System Design
Available Power(MSP430) = Power(USB) - Power(mbed) 1.5W = 2.5W
- 1W
Power Regulator Efficiency = 85% Power(MSP430, 3.3V) = Power(MSP430) * 85% Power(MSP430, 3.3V) = 1.275W Each MSP430 uses 0.0231W 32 MSP430s use 0.7392W
Touch Processor
- Must collect capacitance data from
electrodes
- Using the capacitance data, a location must
be determined.
- At any point in time the touch processor
must be ready to send the location data over the I2C bus
Capacitive Technology
I2C Communication
Bus protocol consisting of one master and several slaves Supervisory processor acts as master, polling the individual key processors for X and Y touch data
High Level Software
Package Into Multi-Channel MIDI Stream Key Press Data Key Touch Data Merge MIDI Channels Into Single Sound Source/Stream MIDI via USB HID Apply Transformations to Individual Channels
Supervisor Processor Plogue
Assembly Process Programming the MSP430
- The cable connecting the key to the mbed
PCB will include:
○ Power ○ I2C ○ Test/Reset
- The launchpad programmer will be
connected to the Test and Reset pins to program the device once assembled.
- This allows for reprogramming and
reconfiguring on the fly, even once the prototype is fully assembled.
Assembly Process Programming the mbed
Option 1) Program with binary executable
- Plug the mbed into any computer and
copy the binary firmware file onto its USB mass storage device Option 2) Compile the code
- Open the project in the mbed web IDE
- Compile the project and download the
executable binary
- Load the binary, as in option 1
Assembly Process Mounting the boards
Piano Keys:
- The top surface will be milled down to expose
the hollow middle section of the key.
- The PCB is then glued on top of the key, with
the bottom layer components fitting into the hollow section. Header Board:
- During testing, the header board will be taped.
- For final asm., the board will be mounted with
stand-offs to the keyboard
Test Plan
Objective Description Goal Spec Timing From electrode to through MSP430 2ms-4ms delay S1.1 From MSP430 through mBed 3ms-5ms delay S1.2 mBed through Plogue 2ms-5ms delay S1.3 Accuracy Steady Finger 1mm resolution S6 Movement 5mm resolution S5 Reliability Multi key touch 10 simultaneous touches S12 Validity Full use of midi spec concerning sound alteration Test all potential midi spec alterations through Plogue. S13
Timing
From electrode through MSP40 processing
Goal: 2ms Setup oscilloscope to accept two inputs, place one of these probes on the electrode that is being tested and the other on a designated output pin of the MSP430. Within the MSP430 have the designated output turn on if the electrode being tested has the highest capacitance. On the
- scilloscope, it is possible to see when a finger touches the electrode. If the input and output are
compared within the oscilloscope it is then known the length of time the MSP430 took to process that single touch. This test should be done for all electrodes to find an average and maximum value.
From MSP430 through mBed processing through to Plogue
Goal: 3ms-5ms to 2ms-5ms This can be tested through the use of software debugging and timing modules implemented in the
- verall design. Allowing for precise timing using the system clock and markers or register values for
timestamps.
Accuracy
Holding finger steady, should not have an output change in location
Goal: under 1mm How do we test this? Using the mbed processor, a program can be setup to poll a single MSP430 repeatedly. From this poll the interpreted location will be know by the mbed and then a variation can be calculated by looking at the range of values given by the MSP430 over the span of the unmoving touch.
Should be able to detect small movements
Goal: under 5mm How do we test this? Measure out predetermined increments on the board and mark them. These increments should be at most 5 mm apart and should be made smaller every time this test is passed. Place finger on first marking (center of finger should be on marking). The location determined by the MSP430 should be
- recorded. Continue recording MSP430 locations for each marking on the board. The change in
MSP430 location should be linear along the markings and should change in a detectable amount between different locations.
Reliability
Touch sensing supports multiple key touches at once
Goal: 10 simultaneous touches across 10 keys Preliminary testing will be done through software manipulation and system output. Catalogging and recording each of the trials through which multiple keys will be tested for sense verification and midi modification. Final testing will be done using the complete software package and midi analysis. This will determine if all ten keys are being responsive and the midi signal is getting the proper separate sound modification on each of those keys.
Validity
Full use of the midi spec with sound alteration
Goal: Making available full use of the sound alteration possible within the midi spec Test and verification of all potential alterations. They should be cataloged on how much of the alteration was successful and the degree to with it was so. This will be to verify and assure that the device is capable of multi alteration features and customizable to for the user requirements.
Physical Characteristics
Does key overlay fit on top of key?
Goal: Yes Upon receiving PCBs, measure them to ensure they are the same dimension as ordered. Also, a side by side comparison should be made between the PCB and the key. To fully satisfy this specification, the PCB is able to be shorter or thinner than the key but may not be wider or longer.
New key surface should be smooth
Goal: within 2 mm at all points Using a caliper, the thickness can be taken at any point on the key. After measuring the thickness on all sides, and upon visual inspection, if no point is more than 2 mm thicker than any other this test can be considered passed.
Bill of Materials
Part(s) Cost mBed FREE ($60 production) PCB $129.78 Connectors & passive components $127.88 Total $257.65 Vendor List Digikey mBed OSH Park
Updated Risk Assessment
ID Risk Item Solution 11 MSP430 cannot poll electrodes fast enough to meet timing specification. "Borrow" time from other processes in project, Increase system clock, or add external alt clock to poll each electrode faster. 12 PCBs do not fit the black keys. Early PCB order will help to determine fit with little extra cost.