JAMDROID Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE.
-
Upload
mervin-lambert -
Category
Documents
-
view
216 -
download
0
Transcript of JAMDROID Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE.
JAMDROIDGroup Seven
Kacey Lorton, BSEE
Brian Parkhurst, BSEE
Anna Perdue, BSEE
What Is It? • Electrically controlled electromechanical system that produces human-like
guitar performance.• Uses internal memory or external converted music files to send coordinated
commands to motors and solenoids, which control string pressing and picking.
Motivation• Interest in integrating music with electrical engineering concepts• Exploration of an uncommon project theme• Desire to increase knowledge of an familiarity with electromechanical
devices
Goals and Objectives • Create characteristic guitar sound through electromechanical, rather than
human, performance• Achieve satisfactory timing and coordination of electromechanical devices
within a narrower-than-perceptible tolerance. • Acquire and drive devices whose performance will allow for audio playback
through a range of common tempos. • Achieve goals with a low-cost, low-power, wall powered solution
Specifications and Requirements• Overall system requirements:
Parameter Specification
Maximum Note Speed 10 Hz (600 notes per minute)
Pitch Range 37 discrete pitch levels
Volume Range Variable volume levels
Primary Electromechanical DevicesDevice Function
Solenoid Depresses guitar string to change pitch
Servo Motor Drives solenoid to select different string;Rotates guitar pick to strike string
BRIAN
Mechanical Block Diagram
BRIAN
Guitar Base Assembly • Base Assembly
• Rests flush with the top of Guitar Body
• Suspends 6 servo motors, 3 on each side and staggered
• String Picking System• Servo motors each have one
pick-like arm attached to the shaft
BRIAN
Dynamic Control System
• The idea: Raise and lower the picks to change how far down past the string they go
• The deeper the pick goes, the further the string will be displaced when it is plucked by the motor/pick
• This will allow for different levels of intensity in the playback of a song
BRIAN
Damping Solenoids
• Replaces Dynamic Control Servo Concept
• 6 solenoids located at the base of the neck guitar
• One solenoid for each string• Silence or decay excess vibration after string is plucked
• Allows open string
BRIAN
Guitar Neck Assembly
• Framework that will enclose the guitar neck
• Structural support for Devices• Idea: Suspend Solenoids over string positions
• Move Solenoids from string to string
• Original Concept: Belt-pulley system (shown to the right)
BRIAN
Rack and Pinion
• Comprises a pair of gears that convert rotational motion into linear motion.
• A circular gear called "the pinion" engages teeth on a linear "gear" bar called "the rack“
• Rotational motion applied to the pinion causes the rack to move, translating the rotational motion of the pinion into the linear motion of the rack.
BRIAN
Guitar Neck Assembly
• Identical Interchangeable assemblies
• Mounted to board upon which the guitar is also mounted
• Aluminum Construction from discrete aluminum materials and steel screws
BRIAN
String Selection and Fret Pressing
• 8 solenoids, One for each fret • Size constraint of the upper frets limits
our design to the wider, lower frets• 8 Servo Motors, one for each
solenoid, responsible for moving it from side to side
• This design is in lieu of an array of solenoids (8 frets * 6 strings = 48 solenoids = ~$250, where as 8 Servos = ~32$ +8 Solenoids = ~40$ totals ~72$)
• Alleviates size constraint of solenoids (string-to-string distance of 7mm at nut, 10mm at bridge of guitar)
BRIAN
Electrical Block Diagram
Picking System• Bipolar stepper motors to drive
the rotation of the guitar picks• The desired motor behavior is to rotate between -30o and
30o from the string, traversing 60o to pick one note• 3.9V, 2-phase bipolar (SY20STH30-0604A, Pololu)
Specification Desired Value Product Value
Minimum torque 102.3 g-cm 180 g-cm
Max length, width 22 mm 20.2 mm
Rotational speed 200 rpm 286.8 rpm
Picking System- Servo Motor
• Angle Encoded servo motors to drive the rotation of the guitar pick
• Less susceptible to resonance • Calibration
String Depression System - Solenoid
• The desired solenoid behavior is to apply enough force to depress the string when activated
• 5V D-frame (ZHO-0420S-05A4.5, Sparkfun)
Specification Desired Value Product Value
Force 200 gf 140 gf
Max length, width 20 mm 12, 11 mm
Rotational speed 200 rpm 286.8 rpm
Current Draw 1 A 0.4 – 1 A
Weight 50 g 13 g
Solenoid Driver Circuit
• Simple switching circuit• Darlington Pair BJT can handle up to 8 A of current (we need about 1 A)
• Flyback diode protects circuit from back EMF
Rack and Pinion-Servo Control
• The eight selected servos• interfaced directly with the
microcontroller chip’s twelve dedicated individual PWM GPIO pins• Microcontroller and servo motors share
a common ground.
• The Servos (MG90S, TowerPro) require a pulse width modulation voltage of 5 volts.
Brains - Central Microcontroller• Tiva C Series TM4C123G• Built in PWM channels • 32-bit ARM Processor • Familiar CCS software
MCU Program Structure• Lowest level functions:
• Change solenoid state (simple on/off)• Change Servo PWM value (encodes position)• Activate hardcoded stepper motor pulse sequence (one stroke)
• Higher level functions:• Note parameter -> device command converter• Timing optimization
Software/ Firmware Block Diagram
What is MIDI?• Musical Instrument Digital Interface, or MIDI, was developed in 1983 as a
means for instruments and computers to communicate and control one another.
• Most of the data in a MIDI file is dedicated to the different instrument tracks and their events• Events include Note Off, Note On, Note Aftertouch, Program Change, and Pitch Bend• Each event contains note pitch, velocity (volume), and start and stop time stamp values
• Events are encoded in chronological order, with a field indicating the time delay from the previous event, with the lowest value being zero, meaning the event should occur simultaneously with the previous event.
Software Summary
• The goal of the of the desktop application (C++) is to parse a MIDI file into its sequence components
• Our baseline system only needs pitch, volume, and timing data – the rest of the data can be thrown out
• Shown: Relevant information on a five note sequence
• Once the MIDI information is processed, the entire sequence packet is sent to the MCU which will determine device commands
Sequence Title, Beats Per Minute = 60, Time Signature = 4/4Number of items in Sequence = 6Measure
Note (0-127) Intensity Duration Aftertouch Modulation
0.00 60 (Middle-c) 100% Quarter No No0.25 62 100% Quarter No No0.50 64 100% Quarter No No0.75 65 100% Quarter No No1.00 67 100% Whole No No2.00 0% Rest No No
Frequencies
• MIDI has 128 different notes• Some of them line up with available notes
that can be played by our apparatus• The lowest frequency available on the
guitar, assuming a standard tuning of E, A, D, G, B, and E in that order
• MIDI Sequences begin at the Scientific Notation pitch of C1, which is a frequency of 32.703 Hz. This is below the lowest available frequency to be possibly played on the guitar.
• The maximum note being one octave above E4 (12 frets meaning 12 half steps meaning one octave), E5 is our maximum frequency to be played. This note is 659.26 Hz.
String Frequency Scientific Pitch
1(E) 329.63 Hz E4
2(B) 246.94 Hz B3
3(G) 196.00 Hz G3
4(D) 146.83 Hz D3
5(A) 110.00 Hz A2
6(E) 82.41 Hz E2
Mapping Module Example
• MIDI Sequence Notes will be given equivalent positions on the guitar
• If a note can be played on an open and available string, it would be convenient in all aspects to simply pick that particular string.
• Also to be converted is the measure value to a timestamp value, by taking the beats per minute and measure and combining them, taking into account the time signature as well, into a point in time for our convenience, with the beginning of the sequence being time t = 0.000.
Sequence Title, Beats Per Minute = 60, Time Signature = 4/4
Number of items in Sequence = 6
Measure Note (0-127)
String Fret Whole/Half/Quarter/etc
Duration Time t End Note Time
0.00 60 2(B) 1 Quarter 0.250 0.000 0.250
0.25 62 2(B) 3 Quarter 0.250 0.250 0.500
0.50 64 1(E) 0 Quarter 0.250 0.500 0.750
0.75 65 1(E) 1 Quarter 0.250 0.750 1.000
1.00 67 1(E) 3 Whole 0.250 1.000 2.000
2.00 X X X Rest Infinity 2.00 Inf.
???????
Converted Mapping Module
• Example sequence, shown with conflicts
• Warning in red• Fret Conflict; two notes on the same
fret at the same point in time• This simple G – Chord cannot be
implemented in our design• The Higher note, 1(E) on fret 3 can be
moved to string 2(B), on fret 8• In yellow is a note that is beyond the
range of the playable frets• This note can be taken down an
octave and played ???????
Firmware Summary
• Once the MIDI-converted Note Sequence Packet has been sent to the MCU, It must be turned into sequential and simultaneous Driver commands
• The microcontroller will see a list of tasks to perform in a timeline
• For this to happen, we need to have a few data classes
???????
Devices in state/position Value
• Servo motors will need 6 different states, one per position above a string on the guitar
Solenoids only have two states, on or offStepper motors have many possible states, 0 (no action) all the way up to the maximum speed we can achieve Different mechanical actions take different lengths of time to complete
Component Reference Designation
Possible Values
Servo Motor 1 SER1 1, 2, 3, 4, 5, 6Servo Motor 2 SER2 1, 2, 3, 4, 5, 6Servo Motor 3 SER3 1, 2, 3, 4, 5, 6Servo Motor 4 SER4 1, 2, 3, 4, 5, 6Servo Motor 5 SER5 1, 2, 3, 4, 5, 6Servo Motor 6 SER6 1, 2, 3, 4, 5, 6Servo Motor 7 SER7 1, 2, 3, 4, 5, 6Servo Motor 8 SER8 1, 2, 3, 4, 5, 6Servo Motor 9 SER9 1, 2, 3, 4, 5, 6Servo Motor 10 SER10 1, 2, 3, 4, 5, 6Servo Motor 11 SER11 1, 2, 3, 4, 5, 6Servo Motor 12 SER12 1, 2, 3, 4, 5, 6Solenoid 1 SOL1 Up, DownSolenoid 2 SOL2 Up, DownSolenoid 3 SOL3 Up, DownSolenoid 4 SOL4 Up, DownSolenoid 5 SOL5 Up, DownSolenoid 6 SOL6 Up, DownSolenoid 7 SOL7 Up, DownSolenoid 8 SOL8 Up, DownSolenoid 9 SOL9 Up, DownSolenoid 10 SOL10 Up, DownSolenoid 11 SOL11 Up, DownSolenoid 12 SOL12 Up, DownDynamic Control Servos
DYN Low, High
Stepper Motor 1 STEP1 0 through Max SpeedStepper Motor 2 STEP2 0 through Max SpeedStepper Motor 3 STEP3 0 through Max SpeedStepper Motor 4 STEP4 0 through Max SpeedStepper Motor 5 STEP5 0 through Max SpeedStepper Motor 6 STEP6 0 through Max Speed
???????
Time-base list
• A note is given a slot with all of the necessary commands required to implement that note
• Notes in the future have to be considered before they need to be played, as servos have a noticeable time delay to change position
• The advantage of splitting is that there is inherent delays in moving objects over variable distances, which would need to be calculated based on previous positions
• An example of what that would look like is… ???????
Timestamp
• Each type of Mechanical device would get its own list with time-based events
• Timing could be more precise where required
• One issue could be debugging unsynchronized events
Timestamp Servo Action-0.250 SER1 Move to 2-0.250 SER3 Move to 2+0.275 SER1 Move to 1+0.525 SER3 Move to 1
Timestamp Solenoid Action
-0.050 SOL1 ON+0.240 SOL3 ON+0.249 SOL1 OFF+0.510 SOL3 OFF+0.740 SOL1 ON+0.990 SOL3 ON+0.999 SOL1 OFF+1.999 SOL3 OFF
Timestamp Stepper Action+0.000 STEP2 Pick+0.250 STEP2 Pick+0.500 STEP1 Pick+0.750 STEP1 Pick+1.000 STEP1 Pick
???????
PCB Design• 2 PCB Boards Designed• Switching Power Regulation board• Control Signal and Power Distribution Board• Wiring Harnesses from Control board to devices/Perhipherals• CadSoft Eagle for PCB implementation• OshPark for Board Fabrication
BRIAN
PCB Schematic and Board Layout
BRIAN
Power Regulation• 24 AC to DC
• 350 W
• Buck Controller • LM25117
• Step Down Regulator • LMR10515Y• TPS62095RGT
Power Supply
Component Manufacturer Part Number Rated Voltage
Rated Current
Power Supply TDK Lamada America LS35-5 5 7 A
Servo Motor (Pulley System)
Tower Pro MG90S 4.8-6 VDC 7.4-7.7mA/idle 160-180 mA no load operating
Solenoid SparkFun ROB-11015 ROHS 5 VDC 0.5 A
MCU TIVA TM4C123GH6PZ 3.3 VDC 19.7 mA
Power Regulator • Linear regulator • Dampening solenoid 3.3 Volts• TC1265-3.3• 0.5 A output
FinancesJAMDROID Inventory and Bill of Materials
Item CategoryUnit Cost Qty
Ext. Price
Qty. Purchased
Expense
Qty. In Use
Final/Proto
Jamdroid Cost
1/16"x1/2"x3/4"x36" Aluminium Aluminium 4.28 1 4.28 1 4.28 0 Proto 0.001/16"x1"x1"x36" Aluminium Aluminium 5.05 1 5.05 2 10.10 2 Final 10.101/8"x3/4"x3/4"x36" Aluminium Aluminium 6.98 1 6.98 2 13.96 2 Final 13.961/8"x1.5"x36" Aluminium Aluminium 14.83 1 14.83 1 14.83 1 Final 14.83Dual IC Board Board 2.49 1 2.49 1 2.49 1 Final 2.49SMT Protoboard Board 2.64 1 2.64 5 13.20 0 Proto 0.00SOP IC Board Board 2.97 1 2.97 1 2.97 1 Final 2.97SSOP Protoboard Board 3.69 1 3.69 3 11.07 0 Proto 0.00SSOP Protoboard Board 7.19 1 7.19 1 7.19 0 Proto 0.00PCB OSHPARK (Breakout Test) Board 30.00 1 30.00 1 30.00 0 Proto 0.00PCB OSHPARK (Power) Board 60.00 1 60.00 1 60.00 0 Proto 0.00PCB OSHPARK (Control) Board 80.00 1 80.00 1 80.00 1 Final 80.0090 Degree Bracket Bracket 0.43 1 0.43 6 2.58 2 Final 0.86SMT Aluminum Capacitor Capacitor 0.35 1 0.35 10 3.52 6 Final 2.11.01 uF 1206 Capacitor Capacitor 0.78 1 0.78 5 3.90 0 Proto 0.00.001 uF 1206 Capacitor Capacitor 0.83 1 0.83 5 4.15 0 Proto 0.00Tiva TM4C123GH6PMI Launchpad
Development Board 14.29 1 14.29 2 28.58 1 Final 14.29
1N4001 Power Diode Diode 0.11 1 0.11 125 13.68 14 Final 1.53H-Bridge Motor Driver L293E Driver 3.75 1 3.75 10 37.50 0 Proto 0.00Nylon Gear Gear 9.61 1 9.61 10 96.10 8 Final 76.88Tri-State Buffer 74VHC244FT IC 0.38 1 0.38 10 3.83 0 Proto 0.00D-Flip Flop 8 bit IC 0.39 1 0.39 25 9.63 0 proto 0.00XOR Gate 74LS86 IC 0.43 1 0.43 30 12.90 0 Proto 0.00Darlington Pair TIP 102 IC 0.85 1 0.85 30 25.56 14 Final 11.93Misc. Non-Itemized (EST) Lowes 40.00 1 40.00 1 40.00 0.5 Final 20.00Feetech Continuous rotation Servo Motor 4.95 1 4.95 3 14.85 0 Proto 0.00Hitec HS-322 Servo Motor 12.00 1 12.00 1 12.00 0 Proto 0.00Hitec HS-311 Servo Motor 13.00 1 13.00 1 13.00 0 Proto 0.00Pololu 20mm x 30 mm Stepper Motor Motor 17.95 1 17.95 4 71.80 0 Proto 0.00Tower Pro MG90S Motor 4.75 4 18.99 20 94.95 14 Final 66.47Plexiglass 6"x12" Plexiglass 5.07 1 5.07 5 25.35 1 Final 5.07
DC Power Supply, 5V 7A Power 19.00 1 19.00 1 19.00 1 Final 19.00DC Power Supply, 5V 8A Power 19.00 1 19.00 1 19.00 0 Proto 0.00DC Power Supply, 12V Power 29.00 1 29.00 1 29.00 0 Proto 0.00DC Power Supply, 13.8V Power 48.00 1 48.00 1 48.00 0 Proto 0.00
TM4C123GH6PMI Processor Processor 11.55 1 11.55 2 23.10 0 Proto 0.00LM7805 Linear Regulator Regulator 0.57 1 0.57 20 11.32 0 Proto 0.00
3.3V 0.8A Linear Regulator Regulator 0.68 1 0.68 10 6.80 6 Final 4.08TPS77001 SOIC Package Regulator 2.15 1 2.15 3 6.45 0 Proto 0.002k 1206 Resistor Resistor 0.01 100 1.40 1 1.40 0 Proto 0.001k 1206 Resistor Resistor 0.02 100 2.10 1 2.10 1 Final 2.101/4-20 Wood Insert Screw 1 0.00 24 0.00 20 Final 0.004-40 1/2" Flat head Screw 1.24 1 1.24 5 6.20 5 Final 6.20Warsher Screw 0.01 100 1.48 1 1.48 1 Final 1.48Threaded Post Screw 4.00 1 2.00 1 2.00 20 Proto 40.002-56 Nut Screw 0.03 100 2.53 1 2.53 1 Final 2.534-40 3/8" Flat head Screw 0.03 100 3.14 1 3.14 1 Final 3.142-56 5/16" Flat Head Screw 0.07 100 6.80 1 6.80 0 Proto 0.002-56 1/8" Flat Head Screw 0.08 100 8.00 1 8.00 1 Final 8.001/4-20 3/8" Flat Head Screw 0.08 100 8.23 1 8.23 1 Final 8.232-56 1/8" Pan Head Screw 0.10 100 9.90 1 9.90 1 Final 9.90Misc. Non-Itemized SkyCraft 7.61 1 7.61 1 7.61 1 Proto 7.61Misc. Non-Itemized SkyCraft 10.59 1 10.59 1 10.59 0 Proto 0.00Misc. Non-Itemized SkyCraft 18.96 1 18.96 1 18.96 0 Proto 0.00Solder Solder 4.99 1 4.99 4 19.96 4 Final 19.96
Sparkfun 5V Solenoid Solenoid 4.95 1 4.95 21 103.95 14 Final 69.3020 Pin Male Connector Wiring 0.56 1 0.56 25 13.93 3 Final 1.67JR Connector Pack, Male Wiring 2.66 1 2.66 10 26.60 5 Final 13.3030 Gauge Wire, Blue Wiring 12.18 1 12.18 1 12.18 1 Final 12.1826 Gauge Wire, White Wiring 15.90 1 15.90 1 15.90 1 Final 15.9026 Gauge Wire, Yellow Wiring 15.90 1 15.90 1 15.90 1 Final 15.9026 Gauge Wire, Blue Wiring 15.90 1 15.90 1 15.90 1 Final 15.90Wood Shim Wood 1.57 1 1.57 1 1.57 1 Final 1.5712"x1"x2" Oak Wood 2.78 1 2.78 2 5.56 2 Final 5.56
Grand Total
1247.03
Total On Final Product
607.00
Milestones
August 1-8 Order Parts9-15 Mechanical testing for string plucking sub-
system, work on code16-22 Mechanical testing for String Depression
sub-system, work on code23-31 Work on programming code, PCB DesignSeptember 1-5 Continue program, and PCB Design6-12 Code Testing; finalize schematics13-19 Code Testing; finalize schematics20-26 Debug; order PCB Board27-31 Debug
October 1-9 Testing10-16 Debug17-23 Assembly of systems24-28 Assembly of systemsNovember 1-9 Interface10-16 Interface17-19 Troubleshooting and prepare for presentation 20 PresentationDecember 1-5 Work on paper13 Graduation
Division of LaborFunction Anna Brian Kacey
Electrical Design X X
Software Design X
Power Design X
Hardware Design X X
PCB Designs X X
Procurement X X X
Financing X X X
Hardware Assembly X
Hardware Integration X X
Software Optimization X
Integrated Test X X X
System Optimization X X X
Documentation X X X
Progress Report
Design
Research
Testing
Prototype
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Series 1
Series 1
Problems
Questions?