/
Jamdroid Group Seven Jamdroid Group Seven

Jamdroid Group Seven - PowerPoint Presentation

mitsue-stanley
mitsue-stanley . @mitsue-stanley
Follow
351 views
Uploaded On 2019-11-07

Jamdroid Group Seven - PPT Presentation

Jamdroid Group Seven Kacey Lorton BSEE Brian Parkhurst BSEE Anna Perdue BSEE What Is I t Electrically controlled electromechanical system that produces humanlike guitar performance Uses internal memory or external converted music files to send coordinated commands to motors and solenoids ID: 764287

servo motor solenoid string motor servo string solenoid note guitar board power time brian system sequence solenoids stepper 250

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Jamdroid Group Seven" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Jamdroid Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE

What Is I t? 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 conceptsExploration of an uncommon project themeDesire to increase knowledge of an familiarity with electromechanical devices

Goals and Objectives Create characteristic guitar sound through electromechanical, rather than human, performanceAchieve 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 Devices Device 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 staggeredString Picking SystemServo 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/pickThis 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 guitarOne solenoid for each stringSilence 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 positionsMove Solenoids from string to stringOriginal 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“ R otational 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 frets8 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$) A lleviates 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 picksThe desired motor behavior is to rotate between -30o and 30 o from the string, traversing 60 o to pick one note 3.9V, 2-phase bipolar ( SY20STH30-0604A, Pololu) Specification Desired ValueProduct 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 pickLess 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 mm12, 11 mmRotational 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 pinsMicrocontroller 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 valuesEvents 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/4 Number of items in Sequence = 6 Measure Note (0-127) Intensity Duration Aftertouch Modulation 0.00 60 (Middle- c ) 100% Quarter No No 0.25 62 100% Quarter No No 0.50 64 100% Quarter No No 0.75 65 100% Quarter No No 1.00 67 100% Whole No No 2.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 orderMIDI 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 timeThis simple G – Chord cannot be implemented in our designThe Higher note, 1(E) on fret 3 can be moved to string 2(B), on fret 8In 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 off Stepper 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, 6 Servo Motor 2 SER2 1, 2, 3, 4, 5, 6 Servo Motor 3 SER3 1, 2, 3, 4, 5, 6 Servo Motor 4 SER4 1, 2, 3, 4, 5, 6 Servo Motor 5 SER5 1, 2, 3, 4, 5, 6 Servo Motor 6 SER6 1, 2, 3, 4, 5, 6 Servo Motor 7 SER7 1, 2, 3, 4, 5, 6 Servo Motor 8 SER8 1, 2, 3, 4, 5, 6 Servo Motor 9 SER9 1, 2, 3, 4, 5, 6 Servo Motor 10 SER10 1, 2, 3, 4, 5, 6 Servo Motor 11 SER11 1, 2, 3, 4, 5, 6 Servo Motor 12 SER12 1, 2, 3, 4, 5, 6 Solenoid 1 SOL1 Up, Down Solenoid 2 SOL2 Up, Down Solenoid 3 SOL3 Up, Down Solenoid 4 SOL4 Up, Down Solenoid 5 SOL5 Up, Down Solenoid 6 SOL6 Up, Down Solenoid 7 SOL7 Up, Down Solenoid 8 SOL8 Up, Down Solenoid 9 SOL9 Up, Down Solenoid 10 SOL10 Up, Down Solenoid 11 SOL11 Up, Down Solenoid 12 SOL12 Up, Down Dynamic Control Servos DYN Low, High Stepper Motor 1 STEP1 0 through Max Speed Stepper Motor 2 STEP2 0 through Max Speed Stepper Motor 3 STEP3 0 through Max Speed Stepper Motor 4 STEP4 0 through Max Speed Stepper Motor 5 STEP5 0 through Max Speed Stepper 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 positionsAn 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 BoardWiring Harnesses from Control board to devices/PerhipheralsCadSoft 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 LM25117Step Down Regulator LMR10515YTPS62095RGT

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.30.5 A output

Finances JAMDROID Inventory and Bill of Materials Item Category Unit 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.00 1/16"x1"x1"x36" Aluminium Aluminium 5.05 1 5.05 2 10.10 2 Final 10.10 1/8"x3/4"x3/4"x36" Aluminium Aluminium 6.98 1 6.98 2 13.96 2 Final 13.96 1/8"x1.5"x36" Aluminium Aluminium 14.83 1 14.83 1 14.83 1 Final 14.83 Dual IC Board Board 2.49 1 2.49 1 2.49 1 Final 2.49 SMT Protoboard Board 2.64 1 2.64 5 13.20 0 Proto 0.00 SOP IC Board Board 2.97 1 2.97 1 2.97 1 Final 2.97 SSOP Protoboard Board 3.69 1 3.69 3 11.07 0 Proto 0.00 SSOP Protoboard Board 7.19 1 7.19 1 7.19 0 Proto 0.00 PCB OSHPARK (Breakout Test) Board 30.00 1 30.00 1 30.00 0 Proto0.00PCB OSHPARK (Power)Board60.00160.00160.000Proto0.00PCB OSHPARK (Control)Board80.00180.00180.001Final80.0090 Degree BracketBracket0.43 1 0.43 6 2.58 2 Final 0.86 SMT 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.8354.150Proto0.00Tiva TM4C123GH6PMI LaunchpadDevelopment Board14.29114.29228.581Final14.291N4001 Power DiodeDiode0.1110.1112513.6814Final1.53H-Bridge Motor Driver L293EDriver3.7513.751037.500Proto0.00Nylon GearGear9.6119.611096.108Final76.88Tri-State Buffer 74VHC244FTIC0.3810.38103.830Proto0.00D-Flip Flop 8 bitIC0.3910.39259.630proto0.00XOR Gate 74LS86IC0.4310.433012.900Proto0.00Darlington Pair TIP 102IC0.8510.853025.5614Final11.93Misc. Non-Itemized (EST)Lowes40.00140.00140.000.5Final20.00Feetech Continuous rotation ServoMotor4.9514.95314.850Proto0.00Hitec HS-322 ServoMotor12.00112.00112.000Proto0.00Hitec HS-311 ServoMotor13.00113.00113.000Proto0.00Pololu 20mm x 30 mm Stepper MotorMotor17.95117.95471.800Proto0.00Tower Pro MG90SMotor4.75418.992094.9514Final66.47Plexiglass 6"x12"Plexiglass5.0715.07525.351Final5.07 DC Power Supply, 5V 7APower19.00119.00119.001Final19.00DC Power Supply, 5V 8APower19.00119.00119.000Proto0.00DC Power Supply, 12VPower29.00129.00129.000Proto0.00DC Power Supply, 13.8VPower48.00148.00148.000Proto0.00TM4C123GH6PMI ProcessorProcessor11.55111.55223.100Proto0.00LM7805 Linear RegulatorRegulator0.5710.572011.320Proto0.003.3V 0.8A Linear RegulatorRegulator0.6810.68106.806Final4.08TPS77001 SOIC PackageRegulator2.1512.1536.450Proto0.002k 1206 ResistorResistor0.011001.4011.400Proto0.001k 1206 ResistorResistor0.021002.1012.101Final2.101/4-20 Wood InsertScrew 10.00240.0020Final0.004-40 1/2" Flat headScrew1.2411.2456.205Final6.20WarsherScrew0.011001.4811.481Final1.48Threaded PostScrew4.0012.0012.0020Proto40.002-56 NutScrew0.031002.5312.531Final2.534-40 3/8" Flat headScrew0.031003.1413.141Final3.142-56 5/16" Flat HeadScrew0.071006.8016.800Proto0.002-56 1/8" Flat HeadScrew0.081008.0018.001Final8.001/4-20 3/8" Flat HeadScrew0.081008.2318.231Final8.232-56 1/8" Pan HeadScrew0.101009.9019.901Final9.90Misc. Non-ItemizedSkyCraft7.6117.6117.611Proto7.61Misc. Non-ItemizedSkyCraft10.59110.59110.590Proto0.00Misc. Non-ItemizedSkyCraft18.96118.96118.960Proto0.00SolderSolder4.9914.99419.964Final19.96Sparkfun 5V SolenoidSolenoid4.9514.9521103.9514Final69.3020 Pin Male ConnectorWiring0.5610.562513.933Final1.67JR Connector Pack, MaleWiring2.6612.661026.605Final13.3030 Gauge Wire, BlueWiring12.18112.18112.181Final12.1826 Gauge Wire, WhiteWiring15.90115.90115.901Final15.9026 Gauge Wire, YellowWiring15.90115.90115.901Final15.9026 Gauge Wire, BlueWiring 15.90115.90115.901Final15.90Wood ShimWood1.5711.5711.571Final1.5712"x1"x2" OakWood2.7812.7825.562Final5.56 Grand Total1247.03 Total On Final Product 607.00

Milestones August   1-8 Order Parts 9-15 Mechanical testing for string plucking sub-system, work on code 16-22 Mechanical testing for String Depression sub-system, work on code 23-31 Work on programming code, PCB Design September   1-5 Continue program, and PCB Design 6-12 Code Testing; finalize schematics 13-19 Code Testing; finalize schematics 20-26 Debug; order PCB Board 27-31 Debug October   1-9 Testing 10-16 Debug 17-23 Assembly of systems 24-28 Assembly of systems November   1-9 Interface 10-16 Interface 17-19 Troubleshooting and prepare for presentation 20 Presentation December   1-5 Work on paper 13 Graduation

Division of Labor Function Anna Brian Kacey Electrical Design X X Software Design X Power Design X Hardware DesignX 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

Problems

Questions?