an automated guitar system group seven kacey … automated guitar system group seven kacey lorton,...

108
An Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE

Upload: trannhan

Post on 11-May-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

An Automated Guitar System

Group Seven

Kacey Lorton, BSEE

Brian Parkhurst, BSEE

Anna Perdue, BSEE

Page 2: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

ii

Table of Contents 1. Executive Summary………………………………………………………......1

2. Project Description……………………....…………………………………….2

2.1 Project Motivation and Goals…………………………………….....2

2.2 Objectives……….………………………………………………........3

2.3 Project Requirements and Specifications………….………….…..4

2.3.1 String Depression Requirements…..………….……4

2.3.2 String Picking Requirements…………………..…....5

2.3.3 Software Requirements…………………………..….7

2.3.4 Power Distribution Requirements……………...……7

3. Research Related to Project Definition……………………………………...7

3.1 Existing Similar Projects and Products………………………...………..8

3.2 Relevant Technologies…………………………………………………...10

3.2.1 Electromechanical Devices……………………………………..10

3.2.1.1 Linear Motion – String Depression…………..11

3.2.1.2 Rotational Motion – String Picking…………..12

3.2.1.3 Directional Motion – String Selection………..13

3.2.1.4 Dynamic Control- Picking Depth……………..14

3.2.2 MIDI Conversion…………………………………………….……..16

3.2.3 Control System…………………………………………………….17

3.2.3.1 FPGA/Microcontroller Comparison…………..18

3.2.4 Programming Language…………………………………………..19

3.2.5 Power Supply………………………………………………………19

3.2.6 Serial Communication……………………………………………..21

3.3 Strategic Components………………………………………………..…..22

3.3.1 Stepper Motors…………………………………………………….22

3.3.2 Servo Motors ………………………………………………………27

3.3.3 Driver belts………………………………………………………….34

3.3.4 Solenoids……………………………………...…………………....35

Page 3: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

iii

3.3.5 Microcontroller…………………………………………………....42

3.3.6 Power Supply………………………………………………….....48

4 Project Hardware and Software Design Details………………………………50

4.1 Initial Design Diagram…………………………………………………..50

4.1.1 Electrical Block Diagram……………………………………….50

4.1.2 Mechanical Assembly Block Diagram………………..……….51

4.1.3 Software/Firmware Block Diagram………………..…………..52

4.2 Stepper Motor Control (Picking System)………………………………53

4.3 Servo Motor Control (Pulley System)…………….……………………56

4.4 Dynamic Control…………………………………………………………58

4.5 String Depression………………………………………………………..58

4.5.1 Solenoids and Control…………………………………………..59

4.6 Power Supply……………………………………………………………..62

5 Design Summary……………………………………………………………….....69

5.1 Electrical Design Summary………………………………………………69

5.1.1 Power Regulation………………………………………………...69

5.1.2 Servo Drivers……………………………………………………...70

5.1.3 Stepper Motor Drivers……………………………………………71

5.1.4 Solenoid Drivers……………………………………………….....72

5.2 Mechanical Design Summary……………………………………………72

5.2.1 PCB Enclosure……………………………………………………73

5.2.2 String Selection Assembly…………………………………….....74

5.2.3 Picking Assembly………………………………………………....76

6 Project Prototype Construction and Coding……………………………………78

6.1 PCB Design……………………………………………………………….78

6.2 Software and Firmware Summary……………..……………………….78

6.2.1 Software Summary………………………………………………..78

Page 4: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

iv

6.2.2 Firmware Summary……………………………………………….82

7 Project Prototype Testing………………………………………………………....86

7.1 Solenoid Subsystem Testing…………………………………………….87

7.2 Stepper Motor Subsystem Testing………………………………………88

7.3 Servo Motor Subsystem Testing………………………………………...89

7.4 Dynamic Control Subsystem…………………………………………….90

7.5 Microcontroller Testing…………………………………………………...91

7.6 Power Distribution Testing……………………………………………….92

7.7 MIDI C++ Programming Testing…………………………………………93

7.8 Integrated System Testing…………………………………………….…94

8 Administrative Content…………………………….………………...……………95

8.1 Budget and Finances………………………………………………….….95

8.2 Milestone Timeline…………………………………………….…………..96

A Appendix A………………………………………………………………………..……i

A.1 Table of Tables………………………………………………………..…....ii

A.2 Table of Figures………………………………………………………….…iii

A.3 Copyright Permissions……………………………………………………..v

A.4 Bibliography…………………………………………………………….…..vi

Page 5: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

1

1 Executive Summary Music is nearly ubiquitous in our lives. There are many great musicians, Jimi Hendrix, Slash, Keith Richards, or even Jimmy Page. These musicians each have a different sound and are known for their remarkable talent with the electric guitar. Though these bands have either broken up or the artists have passed away their talent is unique to only them. There have been many cover bands that have tried to reproduce the sound of Led Zeppelin or the Rolling Stones. However some may say that the one component that is missing to these cover bands is a great guitar player. Imagine going to see a Led Zeppelin cover band play. While watching and listening to the music play, all of a sudden you hear Jimmy Page’s solo performance in “Stairway to Heaven”, almost exactly the same as when you first heard him play in 1971. For some this could be a beautiful experience, because the one thing that always seems to be missing in a cover band is the true talent that comes from the original electric guitarist. This is where an automated guitar would be useful in the modern era. The idea of an automated guitar is to be able to replicate the sound of the electric guitar without human performance. This document discusses the idea of a design to make this experience possible. This project will be achieved through the efforts of Kacey Lorton (Electrical Engineer), Brian Parkhurst (Electrical Engineer) and Anna Perdue (Electrical Engineer), while satisfying the requirements of ABET (Accreditation Board of Engineering and Technology) for all graduating computer and electrical engineers. This will also provide hands-on opportunity in the field of electrical engineering, prepare us for design opportunities upon graduation, as well as learning to work in a group and understanding the importance of team work. The documentation discusses the design of a controlled electrical circuit and mechanical system that produces reliable playback of audio sound files on guitar. The electrical circuit including control system should be installed on a PCB with interfaces both to a computer USB drive and to the mechanical system. The idea starts with inputting any music file through the computer. The file will be converted, and will talk to the control system. The control system will talk to the different subsystems that we will create to make an automated guitar possible. The electro- mechanical devices we will create will include string selection and depression. This is what gives the guitar its ability to produce different pitches. Along with that we will create a subsystem for picking. The picking apparatus will also include dynamic control so that the guitar picks will move up and down to create a softer or louder sound, depending on the file chosen. This will give the automated guitar its unique quality of mimicking an electric guitar sound. The focus will be on electromechanical design, power systems, circuit design, programming, and serial communication. We decided to design an automated guitar because it incorporates

Page 6: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

2

the group’s interest in music and engineering. Though combining music and electrical engineering could take a variety of forms, a challenge would be creating an automated musical instrument performance through an electromechanical system.

2 Project Description In section two, we describe our project. This includes the motivation and goals behind the development of the guitar as well as the requirement and specifications in order to complete the design. For our senior design project we have developed a plan to create an automated guitar. The project description will give brief insight on our objectives, and what is required as a starting point to begin development.

2.1 Project Motivation and Goals

All three of our group members have a love for music, whether listening or performing. Our group members have multiple guitars and have enjoyed playing them for years. One of us holds a Bachelor’s of Music Education. Though now he is working toward the field of Engineering, he thinks the idea of joining the two areas of interest in a project is great way to integrate his past and future experiences. Another project that was considered was a system that aided in skills development for novice guitarists. Both of these ideas illustrate our affinity for music and our desire to share great listening and great performance experiences with others, even if they have no musical background. As an extension of our sheer interest in music, another motivation for this project is the assumption that it can hold our interest for several months. Many groups choose to design similar projects, such as robotic devices or vehicles. Since our project path is much less traveled, and since the expected end result is not just an object maneuvering the way it is intended to, but creating enjoyable and impressive audio playback, we feel this project will keep itself fresh and interesting for each of the few hundred days we work on it. Automated playback of musical instruments is not a new concept. From music boxes to player pianos, this automation technology extends back no earlier than the 19th century. Automation of guitar performance, however, is a much more fledgling pursuit than the same for piano. As is explained further in the “Existing Projects” section (3.1), several, if not dozens, of guitar automation designs exist. There is room for improvement. Many musicians and music lovers, and seemingly guitar players in particular, have distinct notions of what constitutes “good” music. Contempt exists in the minds of many that attempts to approximate human instrument performance are either ill-intentioned or doomed to failure. The reason for this is the nuance with which humans are capable of playing music instruments, with thoughtful variations in tempo, note length, dynamics (volume), pitch, and tone, is extensive. These

Page 7: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

3

nuances, combined with other “intangible” human qualities, add to the emotion, the “soul” of performance. The thought that an electromechanical system can exactly reproduce or closely approximate those qualities, if not threatening, is considered questionable. These concerns are founded in truth, as many automated instrument designs limit their level of nuance to correct pitches or notes at correct times, without even dynamic sensitivity, and their performances can rightly be described as “robotic.” All of this is another motivation for our project. We do not intend to create the world’s first human-sounding guitar automation. We do understand all this room for improvement means room for design. Our project plan addresses pitch, time, and dynamic sensitivity. However, once these goals are achieved, this project affords several avenues for modification and upgrade, to closer approximate human performance. A final motivation is an educational one. Our hope was to cover as many areas of study as were appropriate in the design of this project. Our group members would like to complete their careers at UCF with knowledge and experience in areas as diverse as electromechanical systems, pulse width modulation, embedded systems, and power systems. This project will give us the opportunity to do so.

2.2 Objectives

The overall goal of this project is to create an automation system to be used on an electric guitar, essentially making a real-time analog playback device. Our device would be used in place of human guitar playback or digital re-creation of guitar tones from a digital music sequence. To further detail why this would be useful, there are several cases in which such a device is advantageous. In the case of live music performance, bands or individual musicians sometimes use backing tracks or automated musical accompaniments during live performances, usually in the form of MIDI sequences being played back on a synthesizer, keyboard, or simply on a computer. The usual reason for this is because of complexity (or simplicity) of the sequence, or in the case of one-man-bands, to add more depth to the performance. We want our guitar system not only to be as functional as one of these options for automated sequence playback, but also to provide the sense of a human playing the guitar, instead of a machine. The typical ways that sequences are created are through either MIDI-enabled keyboard pianos, or by software on a computer. Sequences can be created on either and sent to either. We wish to use a similar method of taking a pre-determined music sequence and sending to our instrument hardware, and having it play it back as if it were a person. To give a picture as to what the end product could look like, a user would download or create a MIDI file on a computer, be converted to whatever format for control lines is needed for our system, be sent to the guitar hardware, and at the proper

Page 8: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

4

time, be played back. The playback would be sensitive to speed, note intensity, durations, and as many inflections and characteristics as possible. The guitar output would be sent to an amplifier or passed through effects pedals, as any other guitar might be in a live performance. Our design can be broken into four main sections, encompassing hardware, firmware, and software. Falling under hardware is the mechanical systems required to press frets, pick strings, and create dynamic elements in the music. The other side of hardware is the electrical components used to control the mechanical parts, both in terms of power distribution and control signals, along with an interface with a computer. For firmware, we will create a control construct based on picking a note, which encompasses picking a string and fret, deciding when to play that note, at the same time potentially simultaneously doing the same for a different fret/string combination. In terms of software, we will be converting a MIDI file format into our firmware format, using a program that we would need to create ourselves in a high-level language. Also included in software would be a GUI controlling when the guitar plays, and potentially other features.

2.3 Project Requirements and Specifications

In the section of project requirements and specifications, we discuss the different subsystems of the project. In this section we describe our general idea and what specifics will be needed in order to make the design a reality. This includes the use of different subsystems. The subsystems included in our design are string depression, string selection, string picking, and dynamic control. Our string picking and dynamic control subsystems will be joined in the same apparatus, with one set of motors for string picking and another for dynamic control. Similarly, the string our string depression system will work in tandem. The actuators will be movable, to select different strings. Along with these systems we discuss the requirements for our power supply.

2.3.1 String Depression Requirements

The string depression system is one of the electromechanical subsystems in our project. It will require the use of 12 actuators, one for each fret we choose to be able to depress. This is less than the 22 frets on a standard guitar. We have chosen to focus on 12 frets rather than 22 for cost and feasibility purposes. For each actuator there will be two pulleys, driven by a motor. The pulley subsystem will be controlled to move the actuators back and forth between six strings. The motor driving the pulleys will be located at the bottom of the neck, one for each fret. The actuator will be attached to a drive belt that will be fed through the pulley system. The fret system will require 12 drive belts, one for each actuator. To prevent metal on metal interface 12 small pads, one for each actuator, will be affixed at the bottom of each device. The fret system will then be controlled through a digital electronic control system. Table 2.3.1.1 summarizes the component requirements of this subsystem.

Page 9: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

5

Table 2.3.1.1: String Depression System Mechanical Components

2.3.2 String Picking Requirements

The materials and devices we expect to use for string picking include standard guitar picks, motors to control the picks, intermediate structures to interface between the motor shaft and the picks, and a holding structure to captivate each motor and provide stability and support for the whole system. The specifics of the demands for and selection of these parts are given in later sections.

One of the more crucial parameters of this system is the frequency of unique notes, or sounds, produced. We expect that each motor in the picking system should cause the pick to produce unique notes at a frequency of 10 Hz, which, in music terms, is equivalent to 16th notes, at 150 beats per minute (bpm). Modern music tempo generally falls in the range of 90-130 beats per minute. 16th notes are considered to be fast notes, and 150 bpm is considered to be fast tempo. So, though we don’t expect our system to produce superhuman performance, the upper limits of our system’s capabilities would be considered “fast.” Inherent in the note frequency requirements is the ability for the motor to change direction. We do not expect the motor to use its whole range of motion, but to cause the pick to move back and forth across the string as a human would cause it to do. Not all motors are designed or intended for frequent changes in direction, so this requirement should filter out many potential motors from consideration. The numerical requirement is that the change of direction does not hinder the system from achieving a frequency of 10 Hz. Table 2.3.2.1, shows the parameters we must work within.

Parameters Values

Frequency 10 Hz

Notes 16th

Beats per Minute 150

Table 2.3.2.1: String Picking Frequency Parameters

Another requirement on the motor behavior is the reliability of position control. The timing and synchronization of all electromechanical parts to produce stable performance is the most important overall goal of the system. As such, we must be able to know and control in great detail, the angular position of the pick and the

Components Desired

Actuators 12

Pulleys 24

Drive Belts 12

Motors 12

Page 10: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

6

motor. Only a few specific types of motors are designed to control position in the way we require, so this requirement should further narrow our focus in motor selection.

The motors we choose must deliver the torque need to vibrate the string as a human would. We intend our system to have dynamic control. As mentioned in the dynamic control section, in order to produce a louder sound the string must oscillate at a higher displacement amplitude. To accomplish this, the pick must displace the string further while picking. This will happen when more of the pick overlaps the string. When this is the case, the length of the effective lever arm for the motor is decreased, so that more torque is required to apply the same force to the string. For the motors we choose, torque will be an important criterion for our design.

Our system for string picking will not include one pick as a human would use. To improve performance, and for simplicity of design, our system will include six actual guitar picks whose motion is controlled by motor. As this is the case, our system must fit six motors within the picking area which is 60 mm wide. Because of this, the required width of each motor is less than 10 mm if all motors are placed side-by-side, and 20 mm if the motors are staggered, with two separate sets of three motors each. The height limit for the motor is 60 mm, twice the height of an average pick, as a motor that size would not allow the pick to rest in place to pick the string without itself interfering with the string motion. The length limit of the motor is 50 mm, as a longer length would disallow the potential use of staggered motor sets. Each motor should weigh less than 250 g to avoid placing a design burden on the system.

The following three requirements are common to many systems: low noise, low cost, and low power. Motors can be noisy, and while some modifications may be applied to the motor itself, one of the mitigations for this concern is to raise the amplification of the electric guitar sound to a level at which the noise produced by the motors is relatively negligible. The other requirements are loose but considered reasonable to meet. Our goals for these parameters are for each motor cost less than $20, and to dissipate less than 10 W of power each when in regular use. Table 2.3.2.2 summarizes our requirements on the motor for the picking system design.

Goals Maximum

Price $20.00

Power Dissipation 10 W

Weight 250 g

Height 60 mm

Length 50 mm

Motors 6

Table 2.3.2.2: String Picking System Motor Requirements

Page 11: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

7

2.3.3 Software Requirements

Our software will be required to properly decompose the MIDI file format into its components of note, duration, volume, and other parameters available within the file and rearrange the information to the form that we will use on our control system to control the hardware. The software must also include a user interface to allow the selection of a MIDI file, a button to begin the conversion process, various data outputs indicating status and estimated time to completion of conversion. A button should also exist to allow the user to signal the guitar to begin playback. Our hardware should also be a recognizable USB-pluggable device with the proper serial communication protocols in place to allow the transfer of data and commands.

2.3.4 Power Distribution Requirements

The power will need to be distributed so that the supply will be provided to motors, actuators, controller(s) and driver circuits. In order for this to be achieved power supply will need to be centralized. Along with a centralized distribution, the power supply will require power regulators so that enough current is being passed to the actuator, motors and circuit. The power supply will need to have enough current that can be provided to the different systems on the board simultaneously. The power supply we wish to use should be simple and plugged into a wall, where we can simply flip the power on and off. Table 2.3.4.1 is a chart of the expected voltage and current values we will need. We will need 24 VDC, because we are regulating it to many different sub-systems. This is also why we desire a higher output current than more common, low-current devices.

VDC OUTPUT CURRENT

24 18

24 15

24 14

Table 2.3.4.1 Ideal Voltage and Current Relationship

3 Research Related to Project Definition

In section three we describe our research process. First, we discuss existing products or similar projects related to our project, the automated guitar. This is important to research because it offers a way to learn how projects similar to ours have been created. We may need to recall this and it will prove to be very useful if we need to troubleshoot in the building process. In section three will also discuss research done on the types of devices that will help us meet our requirements. We have spent time gathering information on electromechanical parts, MIDI conversion, software language, power supplies, serial communication, and

Page 12: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

8

controller parts. In order to make this design a reality we need to research and consider many potential solutions to our design concerns. This is why we have used the research to discuss our ideas and propose alternatives for each sub-system, as can be seen in the documentation. Along with the research of the various types of components, a purpose of this section is to determine strategic components we will need. This is where we have recorded our shopping. This will include tables created from component specifications, to compare and contrast parts. We will also be discussing which parts we have picked and why we have decided to choose the component for the automated guitar. It discusses the relative strengths and weaknesses for each strategic component needed for the system and how we learned that one part component may offer better technology for our specific project than another part.

3.1 Existing Similar Projects and Products

Few documented automated guitar projects exist, relative to the large number of quadcopter projects, for example. Despite the relative lack of precedent and documentation, what is available has been useful to inform the creation of our project.The first project that comes up as a search result for “automated guitar” Is one created by Ken Caulkins. His device, along with a majority of the other projects we were able to observe, makes use of linearly moving parts for string picking. The underside of the part has a projection that comes in contact with the string as the part moves across the body of the guitar. Our original conception of this function was of rotary motion from the shaft of a motor to control the picking. However, we can perceive the benefits of a linear system potentially including high speed of operation. In addition, his fret system was an array of parts, each one above a unique fret location, that would depress the string when pulled by a wire from below the guitar. To accomplish this, Mr. Caulkins ran the wire through holes he created in the guitar neck, a process which we are not inclined to emulate. Another process we are not inclined to emulate is that used by Clippard Instrument Laboratory in the design of an automated guitar; pneumatic actuation. Though pneumatics is an interesting and somewhat unknown area of study for us, we project that it would be expensive and beyond the scope of the knowledge and skills we desire to acquire in this project. Though Clippard employed pneumatic solenoids to depress the strings, the majority of the projects we researched used electromechanical solenoids. Gregg Bizier, whose automated guitar project was for a Senior Design course at the New England Institute of Technology, also used solenoids to strike the strings. This, an alternative to picking, is the same kind of sound production used in pianos, and as such, produces a correspondingly different tone. It is our thought that, as much as possible, we ought to design our system so that it plays the guitar in as human-like an approach as possible. Because of this, we do not plan to incorporate solenoids for the sound production subsystem. Before considering more elements of Mr. Bizier’s design, we note that another project used solenoids differently in sound production. A system created by Demin

Page 13: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

9

Vladimir aimed solenoids, parallel to the body of the guitar, at the sides of the strings. The result was still a piano-like, striking motion, but in doing so, the edge, rather than the middle, of the solenoid shaft attachment brushed the string. The sound quality was improved over Mr. Bizier’s design. However, since the attachment was not a flexible plastic pick, but a thick metal plate, the sound was still overbearing and crass. This solidified our confidence in the design idea of including real guitar picks in the sound production subsystem. Mr. Bizier had his guitar system supported by a stand underneath the neck of the guitar and by two rails along the neck. The wire harness ran along the rails, so that the wires were kept from obstructing the movement of any electromechanical parts. This structural subsystem is similar to what we would like to implement in our design. It would provide stability to the guitar itself and the system built around the guitar. Also the upward force applied on the neck serves to lessen the force required from the solenoids, which loosens the specifications on parts we are considering. This will drive down cost and give us more flexibility to focus on other important parameters, including size. Finally, we were able to get a sense of the software/firmware side of Mr. Bizier’s project. He created a GUI in which he could energize and test each solenoid individually. This sort of functionality is not necessary for final performance, but can be useful during development. It is worthwhile to consider not only writing programs only for performance, but intermediate programs that may expedite troubleshooting. At one point in his project, he disconnected the system from the controlling computer and allowed the system to perform music by pulling its data from built-in system memory. While his project memory held only two songs, it should be noted that he created his project in 1998, and on-board memory systems for controlling devices are presently much larger and more powerful. Because of this, we could import a bank of music for the guitar to play, as a jukebox would. Above, we mentioned our interest in sound production through rotary actuated picking. Two projects we researched included rotary picking. Both were Senior projects, one at the US Naval Academy and one at Saginaw Valley State University. What was notable about the performance of both projects was the poor timing of the electromechanical devices’ actions. We cannot verify that this is correlated to the use of rotary picking, but it does cause us to be more aware of potential design flaws and limitations that may arise. One potentially significant difference between the use of rotary motion in these projects and our concept is the length of the arm that extends perpendicularly from the shaft of the motor, to which the pick connects. We estimated the length from the shaft to the point in which the arms connects to the top of the pick at around 50-60 mm. This unnecessary extra distance makes precision movements more difficult to accomplish and may lead to timing issues. Our plan is to connect the arm to the shaft so that the arm acts as an extension of the shaft, in line with it. It would then run horizontally across the top of the pick, fastening to it. This reduced moment of inertia of the system will require less torque for the motor and should enhance the

Page 14: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

10

maximum precision and frequency of picking. One final note about the US Naval Academy project is that it employed two PCBs and one breadboard. In our projected design we expect to integrate the central electrical system on one PCB. The final project to consider is that of a Senior Design team from ITT Technical Institute. Their approach was to remove the body of the guitar altogether, leaving just strings to pick and to depress at precise intervals where frets would be. Though we will not in any way emulate the guitar-less guitar system, their design did include elements worth consideration. Their control system was centered on an Arduino microcontroller. Though this information was not readily available for most of the projects, no FPGAs are known to have been used for any of the projects we researched, while at least this one employed microcontroller technology. We will discuss the choice between FPGA and microcontroller technology in our “Relevant Technologies” section (3.2). The ITT Tech team’s electromechanical system included solenoids, as did most, but also included relays to control the current, determining the state of the solenoids. We intend to consider relays in our design. What was more helpful was that the team called out the specific voltages used for both types of components. This gives us a reference point when considering and comparing parts. In summary, researching this projects gave us several examples and non-examples of good design choices to incorporate, including solenoid depressing of strings, computer interfaces, pneumatic actuation, and rotary picking. One common element in all projects was the fret array. No team or individual chose to create an automated guitar system that attempted to emulate the movement of the human hand across the fret board in selecting fret locations. We believe that, as we are interested in creating a sliding string selection system that moves solenoids between strings to select correct fret locations, this and other aspects of our design come together to create a concept that is both derivative and original.

3.2 Relevant Technologies

In the relevant technologies subsection we discuss the technology that will help us create the automated guitar. This includes parts such as motors, actuators, digital electronic control devices, and computer language. Relevant technologies include electromechanical devices, MIDI conversion, serial communication, and power distribution.

3.2.1 Electromechanical Devices

The design of an automated guitar has many subsystems, which require the use of electromechanical devices. Electromechanical device combine electrical design and mechanical theory, which means these devices carry out electrical operations to control mechanical movement. For our purposes this includes linear motion of the actuators, rotational motion of motors, and the linear motion of the belt and pulleys. All of these devices will be required to work synchronously to produce the guitar sound we require.

Page 15: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

11

3.2.1.1 Linear Motion - String Depression

The string depression system in our design requires the use of linear actuators. The linear actuators we have researched and found to be satisfactory for our design, are solenoids. Solenoids produce mechanical force by the induction of a magnetic field through a coil. This mechanical force acts upon a moveable plunger. We plan to apply the force of this plunger to the guitar string, pressing it to the guitar neck so that the string vibrates at a certain frequency, producing a unique sound. Many solenoids include a spring that, when the power in the circuit is cut off, the plunger returns to its neutral off position. Solenoid plungers can be switched in between an on or off position by a number of electrical components, including transistors. Solenoids act as inductive loads on a circuit, whose voltage drop is proportional to change in current so a protective component is required to be placed in parallel with the solenoid coil to prevent high voltage from damaging the semiconductor switching device. In this case we will need a freewheeling diode. In the design or testing part of the solenoid we may also use a small value resistor in the circuit. Figure 3.2.1.1.1 shows how a DC solenoid can be controlled using a transistor to switch.

Figure 3.2.1.1.1 Transistor Controlled circuit A freewheeling diode is used to conduct current when the transistor turns off. Adding resistors from the control system, output to ground and from the controller to the transistor gate/base adds resistive isolation between power switch and the control system and prevents the transistor from overheating. It is important for the impedance of the solenoid will fall to the DC resistance after the solenoid core saturates. The transistor needs to be able to handle the current load or increase the resistance by adding resistor in series between the solenoid and the transistor to reduce coil flow. Adding a capacitor in parallel with the resistor will provide an extra start up kick to the solenoid. 24V applied voltage power supply would be needed. The information is to help aid us in our circuit design, if we have any issues

Page 16: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

12

during the simulation period. The way of pulsing a solenoid would be to have a pulse duty cycle. Usually 10% to 25%, this can generate a large force for a short time but will quickly overheat if it is running for a long time. The duty cycle can be expressed as

Duty

Figure 3.2.1.1.2 Duty Cycle Formula Cycle % = [(

3.2.1.2 Rotational Motion – String Picking

For the string picking subsystem, it would require the use of a motor that would be able to provide a rotational motion. The best way to create a rotational motion would be through using servo or stepper DC motors. Servo motors require a controlled circuit and a position sensor. Power will need to be constantly applied, with the control circuit regulating the power to drive the motor. The angle of rotation is fixed at 180 degrees so the shaft moves back and forth. This is very fast, the micro servo high- torque motor is small enough and has enough torque for the string picking. The motor then would be connected to the control system to control the motion and synchronize it with the MIDI conversion. Table 3.2.1.2.1 shows specifications for a sample servo motor.

Modulation: Analog

Speed:

4.8V:

0.10 sec/60°

6.0V:

0.09 sec/60°

Weight: 0.30 oz (8.5 g)

Dimensions:

Length:

0.87 in (22.1 mm)

Width:

0.43 in (10.9 mm)

Height:

0.91 in (23.1 mm)

Table 3.2.1.2.1: Data for Servo Motor

A stepper motor is similar to servo motors, require the use of an external circuit to energize each electromagnet and make the motors shaft run. Each rotation from one electromagnet to the next is called a step and thus the motor can rotate and full 360 degrees. Stepper motors will provide a constant torque even without the motor being powered. Positioning errors don’t usually occur in stepper motors since they physically have pre-defined stations. Stepper motors have very poor

Page 17: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

13

torque characteristics at higher speeds, compared to the servo motors. The maximum speed of the string picking system would be 10 Hz. Since the tension of the string is not a large load on the motor, the relatively poor torque should have no effect in picking a stepper motor for the design. Table 3.2.1.2.2 shows specifications of a sample stepper motor.

Modulation: Analog

Speed: 5 V:

1 step/45°

Weight: 0.30 oz (8.5 g)

Dimensions:

Length:

0.79 in (20 mm)

Width:

1.106 in (28 mm)

Table 3.2.1.2.2: Data for Stepper Motor

Above is information from a small reduction stepper motor, running at 5VDC found at the Adafruit website. There are only 32 steps which is 11.25 degree per revolution. Inside is a 1/16 reduction gear set so in reality there are 513 steps. The shaft for the stepper motor is flat and easy to attach stuff such as the pick. For this specific stepper motor at 5V in order to keep the motor to run smoothly it was recommended to keep the 5V stepper motor under 25 rpm. However this will not work for our project because we require at least 100 rpm, with a rated voltage from 5-20 volts. We have chosen to use stepper motors in our design as their open-loop position control will be advantageous in standardizing the string picking action. The stepper motors would communicate with the control system to simultaneously pick the string while the solenoids press down on the string. In order to do this an external circuit providing voltage and current to the motor would need to be designed on a PCB board and connected to the output pins of a control system.

3.2.1.3 Linear Motion - String Selection

The string selection is part of the string depression subsystem. We plan to use 12 solenoids, one for each fret. The solenoid will need to move up and down the individual fret in a directional motion. For linear displacement of the solenoid between strings to take place we have determined that the best subsystem would be of a pulley subsystem. The idea is to have two pulleys that would be located at the end of each fret. The pulleys then would be connected through a driver belt that would run through either a stepper motor or a servo motor. The driver belt would then meet at the solenoid, where it will be connected. The motor will need to rotate fast enough so that the solenoid activation and the belt displacement would happen with a minimum frequency of 10 Hz.

Page 18: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

14

We researched both servo motors and stepper motors for the belt driver. The research shows that a servo motor runs faster than a stepper motor. Since the directional motion needs to work fast to synchronize all the subsystems, we chose to use a servo motor. A servo motor then will be connected to a driver board, and then a controlled circuit to run the motor. The top of the band will be connected to a part that we will be able to place on a solenoid. If we are able to design this part, we can 3D print this small part for an affordable price. Servo motors are a prepackaged combination of several components. They include a motor, gear ratios used to increase torque and decrease angular velocity, and a stator which feeds the position of the motor back to motor. This prepackaged system makes servos easy to use for many applications in hobby projects as well as industrial design.

3.2.1.4 Dynamic Control - Picking Depth

To enhance the dynamics of our guitar playing, we wish to be able to control how loud or soft the notes are being played. To do this, we must consider how this is accomplished when a user is playing a guitar. Upon inspection, the guitar players among our group concluded that it is a combination of several factors: how far down the pick is pushed past the string when it is being forced into it, how abruptly the pick is pressed to the string, and also whether or not one’s picking hand’s side is resting on the strings, very closely to the bridge of the guitar, which is where the strings are attached, in a sense, providing some dampening to whatever inputs are coming from the picking. Essentially, picking the guitar string is displacing the string a certain distance per the stroke, and then releasing it. The more one displaces the string in the perpendicular axis, the higher the amplitude of the sine wave that is generated. Therefore, we conclude that if one lowers the pick further down so that as one picks the string, the string will have more distance to travel with the pick still forcing on it, and therefore will be forced to oscillate with a greater amplitude, ergo, louder.

As for the techniques for accomplishing this dynamic feature, we have yet to find any existing projects that have attempted this. Hence, we have come up with our own solution, which is to have the apparatus on which the picks are attached be capable of raising and lowering a short distance to a very fine degree, so as to change how far the picks would be displacing each string when they are used. Our plan is to incorporate all picking motors on the same frame, which could be raised and lowered using a motor, with a certain gear ratio enabling the movement to be incremental.

To accomplish this, it must be determined how to use gear ratios to our advantage, and what kind of forces are involved that could be limiting factors. The weight of six motors used for picking, as well as the weight of the apparatus that is holding them in place, cannot be ignored. Figure 3.2.1.4.1 is a concept sketch of the apparatus design that could be used.

Page 19: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

15

Figure 3.2.1.4.1: Sketch for apparatus design

An alternative design configuration has been considered more recently while looking for possible mechanical parts to be used. The part that was noticed that inspired a different, possibly more easily implementable design, is a worm screw, pictured below in Figure 3.2.1.4.2.

Figure 3.2.1.4.2: Alternative Design

The worm gear removes the inherent issue of the weight of the pick motors wanting to force the apparatus to a resting position, as a worm gear can turn a load gear, but a load gear cannot turn a worm gear. This means gravity cannot cause the frame on which the motors are mounted to slide unwillingly. See Figure 3.2.1.4.3.

Figure 3.2.1.4.3: Apparatus including worm gear design

Page 20: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

16

A potential candidate for the stepper motors to be used in the picking system has a weight of 60 grams. Since there are six, that is 360 grams of weight, or 4/5 of a pound. Accounting for whatever material the framework is made up of, it would be reasonable to assume that the sum total of the weight being lifted is between 1 and 2 pounds.

3.2.2 MIDI Conversion

As one of the objectives of our automated guitar project is to play theoretically any song that an end user desired, it is important to use a commonplace data format already in existence. One of the first music file types was the Musical Instrument Digital Interface, or MIDI. As a brief history, shortly after the personal computer industry took off, Instrument companies collaboratively created the MIDI standard in 1983, as a means for instruments and computers to communicate and control one another, allowing musicians to change how music was performed and recorded. For our guitar to be able to play a MIDI file, it is first necessary to observe the MIDI file structure, so as to decode it to our own purposes. MIDI data is stored in big-endian, variable-length format, with the upper one bit of each byte indicating whether another byte in the same datum follows, the maximum variable length of datum being 4 bytes. There is a header chunk for each MIDI file, consisting of a chunk ID, which is identical to every other MIDI file. Next are fields indicating size of chunk, whether the file contains one or several tracks, and the total number of tracks. The final field, and of most use to us, is ‘Time Division’. The MSB indicates whether the tracks will be played in terms of ‘ticks per beat (bit mask 0x8000)’ or ‘frames per second (bit mask 0x7FFF)’. Frames per second uses the SMPTE timecode, a music/film industry standard. For individual tracks within a file, there is a header indicating how many sequences are encompassed within the track, after which comes the actual musical sequence data. Several types of events exist, with track title and beats-per-minute normally being encoded at the beginning of the sequence. If BPM is not specified, a default of 120 BPM is selected. 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. There are three types of MIDI events, but the bulk are MIDI Channel Events. There are eight Channel Events: Note Off, Note On, Note Aftertouch, Controller, Program Change, Channel Aftertouch, and Pitch Bend. Each Channel Event has two parameter byte fields, specifying which of the 128 notes available is being played, and note velocity, which is known to most as the volume of the note. For Pitch Bend, the fields indicate the value of modulation, with 0x2000 being the position of no modulation occurring. Note Aftertouch is a change in note volume on a note already ‘pressed down’. Channel Aftertouch Event is similar but applies to all keys pressed on a channel. Controller Events signal a change in channel state. The byte fields are for specifying what control is changing and defining the

Page 21: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

17

new value. Program Change Event changes the instrument on a channel. Meta Events are not sent to the instrument, such as text and track name, copyright notice, lyrics, and the end of the track. Time Signature sets a sequence’s time signature. The fields for Time Signature include a numerator and a denominator, as if it were written on sheet music. Key Signature has fields to specify how many sharps and flats are used in the music scales used, and for stating whether the sequence is in a major or minor key. There are a few other specialized events that could in theory be ignored for the sake of our project.

3.2.3 Control System

The electromechanical devices used in sound production, including solenoids and motors, need to be governed by a central control unit. The main end-requirement of the control system is that it must be able to send commands to the electromechanical devices in such a way the string picking system is synchronized to the string depressing system. This will bring about musical performance that is cohesive and does not include poor or unexpected sounds. The control system must have a processing speed that is fast enough to send all of its commands to the devices, so that the performance appears to the human to be completely synchronous, even if it is not. That is, the resolution of the deviations from synchronization must be finer than human sound perception is able to sense.

Early estimates of the number of electromechanical devices we plan to use in our design are around 30. We would like to control each electromechanical system with separate outputs from the control system. Some devices may require just one control line, while others may require two or more. Because of this, we expect to use a large number of output pins, greater than 40, in our control system.

We estimate our memory requirements to be relatively low, as we expect the RAM to contain variables for the use of running the electromechanical device control, and the ROM to contain the actual code and the MIDI files. MIDI files are exceptionally small, with the file size for an average piece of music to be on the order of tens of kB. Because of these considerations, the minimum memory requirement for both RAM and ROM is in the kB range, rather than MB and beyond.

Beyond performance and general interface resources, we are also interested in power dissipation, cost, and specific interfaces and functionalities. As with the rest of our design, a general goal is to minimize power dissipation. We do not expect any potential control system candidate to have poor performance in this area, but we do consider it, nonetheless. We expect the cost of our control system to be less than $20, as we are looking for good performance, but understand that the scope of functionality we are expecting it deliver is relatively narrow. One type of electromechanical device we expect to use is meant to be controlled using pulse width modulation (PWM). The control system technology we should be able to produce this output. As for specific interfaces, we want to use a USB connection to connect to a computer.

Page 22: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

18

3.2.3.1 FPGA/Microcontroller Comparison

The technologies that can be used to accomplish this behavior include FPGAs and microcontrollers. The potential benefits and drawbacks of both are considered below. After brief research into available FPGAs and microcontrollers focusing on those that fit our desired price range, we found that a large number of models of both FPGAs and microcontrollers were available that satisfied our internal clock speed, I/O, memory, and cost requirements. As such, we had to narrow our search based on the secondary and other criteria.

One main difference between FPGAs and microcontrollers is the way in which they are implemented. FPGAs, being vast arrays of logic gates, are able to emulate large digital electronics systems. If multiple “modules” are desired to run simultaneously, more gates are used, and the modules are able to run in parallel. On the other hand, microcontrollers, which use digital logic differently to form memories that interact with a central processing unit, are limited by the performance of the processor. That is, the processor executes a set of instructions sequentially, so the amount of parallel operations is limited by the word width of the architecture. However, as the processing speed increases, the microcontroller can closer approximate the completely parallel behavior of the FPGA. The FPGA becomes more powerful by being large. The microcontroller becomes more powerful by being fast, with wide word widths.

The significance of this comparison is that FPGAs often have greater capacity of functionality than microcontrollers. FPGAs can generally do more than microcontrollers can. They can even create systems that imitate microcontrollers. They are also often more expensive, though we have determined that cost is not likely to be a problem with either device. One concern, though, is of using a device that has much more power and functionality available than is needed for the design. That likely describes our situation. An FPGA may be overqualified to control our system, whereas a microcontroller may be simpler, yet may be more appropriate.

After some research we have found some microcontrollers to have designated PWM functionality and outputs. Both microcontrollers and FPGAs can certainly implement PWM functionality, but to have existing functionality that is designed specifically for PWM is a benefit to the design of our control system. It may simplify the corresponding design of the motor control. The remaining comparisons are of a practical, rather than performance, nature.

All of the group members have had lab experience working with both microcontrollers and FPGAs, as part of required classes. The Computer Organization and Embedded Systems classes have required the use of microcontrollers, specifically the MSP430 from Texas Instruments. The Digital Systems class required the use of FPGAs, specifically the BASYS2 board, which used the Spartan-3E series of FPGA from Xilinx. From this consideration, our group members have had slightly more experience with microcontrollers than with FPGAs, two classes to one.

Page 23: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

19

In working toward a design project it is important to find a balance between familiarity with certain subject matter and the benefit of cultivating new skills. The use of either of these technologies will allows us to do both. FPGAs must be configured using hardware description languages (HDLs), including Verilog and VHDL, while microcontrollers can be programmed using more commonly used languages like C. This presents an advantage in using microcontrollers. Also, we have found the development software associated with FPGAs to be less helpful and less intuitive to use than that of microcontrollers. Though we have had experience with HDLs and FPGA development software, and though the benefit of cultivating new skills is significant, the potential project delay associated with the lead time of learning to use these tools in the way our project requires, is even more of a concern. When troubleshooting a problem with the function of the control system, it exacerbates the issue to keep in consideration the possibility that the improper use of the language, not the functionality itself, could be responsible for the problem. Considering all these factors, we have chosen to use microcontroller technology for our control system.

3.2.4 Programing Language

An important part of the design is picking the programing language to use. The programming languages in consideration were Assembly versus a higher level language such as C. We all have experience with controlling a microcontroller with both assembly and C programming. Programing in Assembly can execute the program faster, C is easier to develop and debug. It basically came down to the key advantage, when using assembly language it requires us to spend extra time to understand the architecture of the microprocessor being used. Another consideration we needed to discuss when choosing a language was how complex and large our project is. In theory we will have a few microcontrollers that will each have to be programmed in accordance with the sub-system. The software language that we write in will also be more complex because of the midi file conversion. Since the project is large and intricate C programming offers an easier way to control the microcontroller. Since each of the members of the group have experience with Code Composer Studio and controlling a microcontroller through C programing we have decided to also use this development tool for our project. In conclusion we have decided due to the complexity of our project we will write the software in C language using the Code Composer Studio development tool. For the MIDI conversion application, the C++ language will be used because of its versatility in visual and data structure applications.

3.2.5 Power Supply

When researching power supply, a consideration for a device was its ability to be plugged into the wall. This will require AC to DC conversion of power. When the strings are being pressed down, the pulley system that includes the motors will be off. We will not have to take into account the current draw for these motors at the

Page 24: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

20

same time as current draw for the solenoids. At most 6 solenoids will be in the on position. If they typically draw up to 1 A each, the fret subsystem will draw roughly around 6 A when all solenoids are activated. When the solenoids are on, the string picking subsystem will be working. There are 6 motors for the string picking system, and if a motor is in use, it will draw around 0.4 A. We expect the entire system for string picking will draw around 2.4 A from the power supply. The control system will draw a negligible amount of current. There may be other parts that may be later added to the design that will draw power. When the solenoids are in the off position, meaning that they are not pressing down on the fret board they will moving up and down each fret. When this occurs the stepper or servo motors at the bottom of the neck are being activated. In the solenoid off position, the maximum about of the stepper or servo motors moving will be roughly 0.4 amps for each motor, so 0.4*12=4.8 amps, for the total fret system. While the solenoids are moving down and up the fret, the guitar may still be strumming. This means that the motors at the string picking system may always be on they will still draw there 2.4 amps from before. The microcontroller will still be drawing the 1 amp, and there also may be miscellaneous current being drawn on the guitar. When the solenoids are in the off position it will roughly be using around 10 A of current. When picking a power supply, it was important to calculate the amps being drawn at each maximum time. It is never a good idea to over draw amps, and therefore it important to have a power supply that will provide at least 12 amps of current to the guitar. The power supply, will also need to plug into a wall. Along with a power supply, it will need voltage regulators that will be connected on the PCB board. There are different types of voltage regulators such as linear regulation, switching regulation, and ferroresonant regulation. Linear regulation uses a transistor that controls voltage and reduces ripple. For low-power situations that demand a clean power, linear regulation is the most recommended in comparison to the others. Switching regulation is best used in situations that require an efficient power conversion. With the power supply, we would want one that converts AC to DC efficiently, through a wall plug. Once the power supply has been chosen the next thing to consider is how the power is going to be distributed. There are many ways to distribute power. Since the power being delivered is filtered DC power from power conductors to circuits, motors, and actuators, a centralized supply is required. Figure 3.2.5.1 shows an illustrated centralized power supply. The figure above is a reference design that was taken from Kepco Power Solutions and redesigned to show the basic use of regulated power converter. This figure is included as reference circuit, and shows how one power regulator can be used to distribute power through multiple loads using a simple resistor. This is also a basic circuit design on how power supply can be centralized. Since the automated guitar

Page 25: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

21

Figure 3.2.5.1 Centralized Power Supply

will be using centralized power, we have included the circuit design purely as a reference for the research of distributing power supply. We wanted to show how a power conversion can work, and how to distribute through a PCB board. Software such as Webench offered from TI is in consideration to be used for the power design. We do not intend to use the specific power design above. However it is included as a reference of how multiple loads can be used by one power converter.

3.2.6 Serial Communication

To get control data to our guitar hardware, we need a form of communication between a computer and our control box. A viable way to do this is to use serial communication. The most common form of serial communication in use today is via a Universal Serial Bus, or USB. USB was created by the computer industry to replace the several other standard serial and parallel communication protocols in place by the early 1990’s. The protocol has undergone several revisions, with backwards compatibility. As an overview of the USB protocol, the layout consists of a host device controller and up to 127 peripheral devices simultaneously on the individual controller. On the Physical layer, the link consists of a 4-wire connection: +5V Power, twisted pair Data+ and Data-, and Ground. Self-powered peripheral devices do not draw power from the 5V line and ‘Bus-powered’ devices do, up to 500mA. There are three USB Speeds: low speed (1.5 Mbps), full speed (12 Mbps), and high speed (480 Mbps). Transmitters consider a logic 1 as D+ being over 2.8V with a resistor pulled to ground, and D- being less than 0.3V with a resistor pulled to +3.3V. Logic zero is the reverse. Receivers consider D+ 200mV greater than D- as differential 1 and D- 200mV greater than D+ as Differential 0. Above the physical layer, there are four different USB packet types. Token packets are sent by the host to let a peripheral device know it wants to send or request data. Data packets, up to 1kb, are sent by both host and peripheral device.

Page 26: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

22

Handshake packets include acknowledgements, non-acknowledgements, and stalls. Start of Frame packets are sent in 500ns intervals from host to peripheral. When a USB device connects, it is noticed by the host machine, and the host asks the peripheral for its general information and for drivers to make it usable to the application layer. For our custom hardware to be recognized by a computer as a device, it would be logical to find a part that is pre-configured to interface and be recognized by a computer, and have serial or parallel data out, since we should only need to send our control data from the computer to the guitar hardware box. One such DIP packaged chip is the FT245BM.

Figure 3.2.6.1: Typical FT245R Circuit Configuration

It has I/O for the USB, several control lines, and 8 parallel data lines. This could then directly talk to our FPGA/MCU. There are boards pre-made to be used although we could most likely incorporate it into our PCB.

3.3 Strategic Components

In the strategic components section, we discuss that parts that we decided to pick for each subsystem and why we decided to pick the certain parts. We also recorded our shopping, the parts that we will buy, and the vendor from which we will purchase them.

3.3.1 Stepper Motors

Our research of potential stepper motors to be procured for the string picking system focused primarily on the overall goal of high speed and reliable position control performance. Specifically, our requirements were that the motors would cause the picks to produce stable note production at a frequency of no less than 10 Hz, which is equivalent 600 beats per minute.

Page 27: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

23

Torque performance was of secondary consideration, not because of any lesser importance, but because of a wider target value range of 1.42 in-oz to 14.2 in-oz. We did not have prior knowledge of common torque specifications of small stepper motors, so our approach was to ensure the speed requirements were met, then to examine the corresponding torque values of the motor.

Rated voltage, current, and power dissipation were important for power supply planning, but were not give the most consideration. From our requirements, we were looking for a low-power motor that consumed less than 10 W of power.

The non-performance specifications we considered were length, width, and height dimensions, weight, and cost. Weight and cost were specifications we desired to minimize as much as possible, less than 250 g and less than $20, respectively, but were not considered as having as strict thresholds as speed of performance. Length and width were required to be less than 20mm each, and height was desired to be less than 50 mm. Length and width were considered to be hard requirements, as values greater than spec would prevent the picks to be spaced correctly with the strings. Because of all this, our hierarchy of importance of specifications was as follows, in order of decreasing importance: speed of motor, length and width, torque, electrical specifications of voltage, current, and power, cost, and weight.

In researching stepper motor datasheets, it was clear that overall expected speed was not a commonly delineated specification. Instead we were able to use equations involving voltage, current, and coil inductance, specifications that were regularly given for devices, to arrive at expected speed behavior. The time it takes for the stepper motor to complete one step is the time it takes to build up the magnetic field in the coils to take the step, plus the time it takes to return the field back to its neutral state, to complete the step cycle. This time equation is shown below, as

where t is the step time in milliseconds, I is the maximum rated current in Amperes, L is the coil inductance is milliHenries, and V is the maximum rated voltage in Volts. So, this equation determines the amount of time one step will take. From this value above the maximum speed in revolutions per minute (rpm) is given by

where SPR is steps per revolution, a given specification for each stepper motor, and t is the time per step, determined above. The division is out of 60,000 because there are 60,000 ms per minute. Bearing in mind that our design requirement for the stepper motor is 200 rpm, we examine the specifications of several stepper motors and their corresponding speeds below, in Table 3.3.1.1.

t 2[2IL /V ] 4IL /V

RPM 6*104 /(SPR * t)

Page 28: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

24

Table 3.3.1.1: Stepper Motor Component Comparison

From the table it is evident that most of the stepper motors researched did not meet our speed requirement of 200 rpm. Each of the three stepper motors whose speed met our requirements were bipolar stepper motors with a step resolution of 200 steps per revolution. Their unique specifications we will examine more closely.

The first stepper motor we considered was Adafruit Product ID No. 324. It is a 12V NEMA 17 size, square-bodied stepper motor. It had the highest speed of nearly 600 rpm, which would be more than adequate for our design. Its rated current was fairly low at 350 mA, which is good for keeping power down. An estimate of maximum power dissipation of 12V * 0,35A = 4.2W. Its holding torque was high, at 200 mN*m, which was higher than the majority of the components we considered. That value of torque exceeds what we predict will be necessary to cause the pick to pluck the string without disturbing the expected motion of the motor.The cost fell within our desired range, below $20, at $14. This cost was the third-lowest of the 10 motors we considered. This potential savings is a benefit to keeping our budget on target.

The one specification of importance that was not met was the width of the motor. We desired a motor of no more than 20 mm wide. This stepper motor was 42 mm

Vendor PN Voltage (V)

Current (A)

L (mH) Steps/rev

Final RPM

Omega OMHT23-393 3.7 1.41 5.4 200 36.45

Omega OMHT11-013 2 1 2.6 200 57.69

Sparkfun SM-42BYG011-25 12 0.333 46 200 58.75

Omega OM5014-842 4.8 1 5.5 200 65.45

Wantai 28BYGH102 3.8 0.67 3.4 200 125.11

Circuit Specialists 28BYG501 6.2 0.8 3.3 200 176.14

Wantai 39BYG013 6.5 0.4 6.8 200 179.23

Circuit Specialists 28BYG201 4.18 0.95 1.5 200 200

Pololu/SOYO SY20STH30-0604A 3.9 0.6 1.7 200 286.76

Adafruit N/A 12 0.35 4.3 200 598.01

Page 29: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

25

wide, more than twice our specification. To accommodate this, we would have to create several separate, staggered structures to hold these motors without them overlapping each other. Other than causing a redesign, this may not even be feasible, considering the length limitations of the body area. However, if this problem could be mitigated, the Adafruit stepper motor would be a prime candidate. In Table 3.3.1.2 are the specifications of the Adafruit motor.

Specifications Specifications

Step angle (°) 1.8 Rated Voltage (V) 12

Temperature Rise (°C) 70 MAX Rated Current (A) 0.35

Ambient Temperature (°C) 0 ~ +50 Resistance per phase (Ω) 34

Number of Phases 2 Inductance per phase (mH)

4.3

Insulation Resistance (MΩ) 100 Min (500VDC) Holding Torque (mN*m) 200

Insulation Class Class E Detent Torque (mN*m) 11.8

Length*Width*Height (mm) 42*42*34 Rotor Inertia (g.cm2) 38

Shaft length 24 Weight (g) 200

Table 3.3.1.2: Adafruit Motor Specifications

The second motor we considered was 28BYG201, sold by Circuit Specialists. It is a 4.2V NEMA 11 size, square bodied stepper motor. The estimated speed was lower than the Adafruit stepper motor, at 220 rpm. This still meets our specifications, but does give cause for concern, because we want to build the largest margin as we can. The rated voltage was much lower than that of the Adafruit motor, but the current was much higher, at 950 mA. Ideally, our design would not have to deliver that high of a current, so that is a specification to monitor. The estimated maximum power dissipation was 4.18V * 0.95A = 3.971W, marginally less than for the other motor, but still less. Its holding torque was 54 mN*m, a fourth of that of the Adafruit motor, but still meeting our estimation of what will be required. The cost of the 28BYG201 was comparable to that of the Adafruit motor, at $13.95, again providing potential savings.

A specification of note that may not affect the overall design but is different is the use of 6 wires in this configuration, rather than the 4 wires used for the Adafruit motor. This would require a different design of the motor driver circuit, and may potentially increase the number of required output pins from the control system. Additionally, like the Adafruit motor, yet not as far off, was the width of the motor, which came in at 28.2 mm. Again, this is 14 mm closer to our requirement than the Adafruit motor, yet still 8 mm over the required 20 mm. However, the use of this motor would not put as much of a burden of design change on the system. That is, the use of this motor would require three staggered rows of two motors each, rather than the expected two rows of three. We do not consider this to be ideal, but we believe it is within the space constraints of the guitar body to implement this, if needed. In Table 3.3.1.3 are the specifications of the Circuit Specialists motor.

Page 30: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

26

Specifications Specifications

Step angle (°) 1.8 Rated Voltage (V) 4.18

Temperature Rise (°C) 80 MAX Rated Current (A) 0.95

Ambient Temperature (°C) -20 ~ +50 Resistance per phase (Ω) 4.4

Number of Phases 2 Inductance per phase (mH) 1.5

Insulation Resistance (MΩ) 100 Min (500VDC) Holding Torque (mN*m) 54

Insulation Class N/A Detent Torque (mN*m) N/A

Length*Width*Height (mm) 28.2*28.2*30 Rotor Inertia (g.cm2) N/A

Shaft length 10 Weight (g) N/A

Table 3.3.1.3: Circuit Specialists Motor Specifications

The final stepper motor we considered was the Changzhou Songyang Machinery & Electronics S20STH30-0604A stepper motor, sold by Pololu. It is a 3.9V NEMA 8 size square-bodied stepper motor. Its estimated speed was between the speeds of the other two, at 286.8 rpm, giving more margin than the Circuit Specialists motor. The rated voltage was slightly lower than that of the second motor, but the rated current was significantly less, at 600 mA. The estimated maximum power dissipation was 3.9V * 0.6A = 2.34W, nearly half that of the other two, which is very good.

The most remarkable feature of this motor was its dimensions. Its width was 20 mm, exactly at the top of our requirements. This is a major advantage over the other two motors, as it would allow us to use our desired two-rows-of-three picking system, rather than requiring a redesign. This motor was unique in that, of the 10 motors we researched, it was the only one that met our width specifications. Other NEMA 8 (0.8 inch, or 20 mm) motors were available, but as far as we researched, we were not able to find any others that could meet our speed performance requirement.

There are two potentially significant drawbacks of this stepper motor, cost and torque. The cost of this motor was $17.95, four dollars more than the other two, or $24 more for the six that we need. While this is disadvantageous, if this motor meets our design needs in ways the others cannot, the extra cost would be a reasonable expense. The second drawback is more significant. The holding torque of this motor was 17.7 mN*m, a third of the Circuit Specialists motor, and a tenth of the Adafruit motor. This torque difference is significant, but if the torque performance of this motor were able to meet our requirement of string picking, it would not be an issue. However, testing would likely be required to determine not only whether the motor could produce enough torque to cause the pick to rotate, but whether its timing would be hindered by the impulsive load of displacing the string. The presence of any actual timing delay would be difficult to predict and would require testing. In Table 3.3.1.4 we have listed the specifications of the Pololu motor.

Page 31: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

27

Specifications Specifications

Step angle (°) 1.8 Rated Voltage (V) 3.9

Temperature Rise (°C) 80 MAX Rated Current (A) 0.6

Ambient Temperature (°C) -20 ~ +50 Resistance per phase (Ω) 6.5

Number of Phases 2 Inductance per phase (mH) 1.7

Insulation Resistance (MΩ) 100 Min (500VDC) Holding Torque (mN*m) 17.7

Insulation Class Class B Detent Torque (mN*m) N/A

Length*Width*Height (mm) 20.2*20.2*30 Rotor Inertia (g.cm2) 2

Shaft length 15 Weight (g) 60

Table 3.3.1.4: Pololu Motor Specifications

After considering the three motors, we have decided to use the Pololu motor for our string picking subsystem design. We intend to fit the motors in two rows of three, so the width meeting specifications is essential. We found that the motor speed of 286.8 rpm would be more than adequate. Also, not mentioned before because we did not have the weight data of all three stepper motors. The light weight of the motor (60g versus 200g of the Adafruit motor) will serve to ease the motor requirements of the dynamic control system, at a total load savings of 140g * 6 = 840g, which is significant to ease the burden on dynamic control displacement speed. As mentioned before, the low power dissipation of the Pololu motor will also provide load savings for the power supply system of 11.2 W.

Our concern with the low torque performance of the Pololu motor is significant. We plan to determine during testing the viability of the torque performance of this motor. If we determine that the torque performance of this motor does not meet our needs, our second choice would be to use the Circuit Specialists motor, which would cause us to reconfigure our motor apparatus and dynamic control system, but would improve the torque performance to well above adequate to meet the requirements of the string picking subsystem.

3.3.2 Servo Motors

There are several requirements to be bet in regards to our servo motors being used to move the solenoid assembly. The total distance that the belt needs to travel is the distance is from the bottom E string to the top E string, which, at the first fret of the guitar, is 38 millimeters and at the twelfth fret is 43 millimeters. The maximum size allotted to the servo stem attachment is 9 millimeters or less in radius, although this would change depending on the actual dimensions of the chosen servo. To rotate from one side to the other would require (180*28)/(2*pi*9) degrees of rotation, or from the center position, +-120 degrees of rotation. If however the radius requirement of the servo fixture were able to be larger, then the required maximum rotation angle would decrease. There are servo motors with various degree limits of rotation as well as continuous rotation servos. Using a servo that can continuously rotate would circumvent that requirement.

Page 32: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

28

Another requirement of the servo is to have the ability to go travel from one outlying string to the other outlaying string in a given amount of time. We have chosen to have a maximum of ten notes being played per second. It is unlikely that we would be required to play two notes on the same fret on opposite ends of the fret board with only one tenth of a second between them, but for posterity, it would require an angular velocity, assuming a radius of 9 millimeters, of 240*10 = 2400 degrees per second. This is likely beyond the scope of low cost or small size servos, which are both constraints as we need 12 servos. A more realistic goal is to take a second to travel to the farthest string, which requires 240 degrees per second. This is not taking into account the time required to de-activate the solenoid, then move, then re-activate the solenoid.

A final requirement of the servo motor is to fit into a tight space to allow 12 staggered servos, 2 parallel rows of 6 series servos. Based on the model simulating possible dimensions requirements, we allotted 20x20 millimeter square face with a 25 millimeter length. This is not the typical servo shape, but the dimensions can be comparable. An ideal design of our system would have the solenoid assembly slide freely from side to side, with rollers for the belts to have the belt not bend too tightly. It could be safe to neglect how much torque is required to spin the belt, as our objective is to make the solenoid enclosure and sliding system virtually frictionless. Regardless, a discussion on torque requirements will follow. Power consumption is also not an issue, as typical servo power draw is below 101 Watts. It would be unlikely to operate all 12 servos simultaneously. If necessary, a case as such could be programmed out in the exceptions module of code.

Taking all of these factors into consideration, Table 3.3.2.1 shows the potential candidate servo motors and their specifications. Every servo with the exception of the Adafruit 154 motor had a maximum rotation of 180 degrees.

Vendor PN Voltage (V)

Max Angular Velocity

Torque (kg-cm)

Dimensions (mm)

Price (ea)

Adafruit Adafruit 154 5 60 RPM 3.4 40.5x20.0x30.0 14.00

Hitec 31311S HS-311 6

0.15 sec/60 Deg 3.7 39.9x19.8x36.3 7.99

Hitec 31055S HS-55 6

0.14 sec/60 deg N/A 22.6x11.4x23.9 10.13

Hitec 33322S HS-322HD 6

0.15 sec/60 deg 3.7 39.8x19.8x36.3 11.98

Page 33: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

29

Vendor PN Voltage (V)

Max Angular Velocity

Torque (kg-cm)

Dimensions (mm)

Price (ea)

Hitec 33485S HS-485HB 6

0.17 sec/60 deg 6.4 39.9x19.8x37.9 17.69

SMAKN MG996R 6 0.17 sec/60 deg 11.0 37.0x18.0x40.0 8.99

Tower Pro (4 pc) MG90S 6

0.10 sec/60 Deg 2.2 33.0x32.0x12.0 4.25

Traxxas 2055 6 0.20 sec/60 deg 6.2 40.5x20.5x36.0 19.23

Table 3.3.2.1: Servo Motor Component Comparison

To estimate what kind of torque may be required to move the solenoid assembly, we can use F=M*A. The typical weight of the solenoids we are potentially going to use are between 25 and 150 grams. The casing holding the solenoid could be guessed to be 100 grams, and being liberal would weigh in the belts at 100 grams. The rough estimate rounds in around 300 grams. So, if the radius of our lever arm, i.e. the belt drive is 1 cm, then with servos in the maximum torque range of 1-3 kg-cm, F/A = 1-3 kg. Acceleration is then the factor of performance in the servo of choice. It would seem possible for every servo to be able to get the solenoid assembly to move. However, we may prefer one that can perform quicker than others. This parameter, as shown in table 3.3.2, is given in seconds per 60 degrees, or if the servo is continuous in rotation, is given in revolutions per minute. The lower the number, the faster the servo can rotate. As stated before, we wish to be able to travel 43 millimeters in less than or equal to one second. The majority of servo motors we found are 180 degree range of motion, with the slowest one in theory being able to rotate 60 degrees in 1/5 of a second. With a range of 180 degrees, that means that it can travel from stop to stop in 3/5 of a second, within our requirement.

To circumvent the size constraints placed on the servo motors due to proximity to each other and the guitar, the orientation that they are fastened to the chassis in can change depending on necessity. Also, the largest dimension the servo motors can be reduced as they are typically molded plastic fastening holes, two on each end. These would be unnecessary to our application and furthermore getting in the way. Hence, paring down our possible servos to use based on size, except maybe for being too small, would be illogical.

A more likely factor in paring the possible choices down to a few candidates will most like likely be cost. The two high torque servos we found, the Traxxas 2055 and the Hitec 34485S are both very high in performance, but have unit costs of

Page 34: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

30

over 17 and 19 dollars respectively. With a total of 12 servos needed to reach our goal, that price takes the cost of servos up to more than one quarter of our total budget. While it may be fiscally feasible, it does not seem fiscally responsible if it were unnecessary. Therefore, we shall, at least to the point of initial testing, narrow the field of servo motor choices to the small to medium, cost-effective options, and upon testing, if necessary, re-examine the more powerful options that we have found.

To further reduce the list of possible servo choices, the Hitec 31311S HS-311 and Hitec 33322S HS-322HD both have identical torque, size, and speed, however the HS-322HD is four dollars more expensive. Furthermore, it is not necessary to have continuous rotation. Hence, there would be no reason to use the Adafruit 154 5 Volt Servo as it is also more expensive, while having the same size specifications as cheaper servo motor choices.

The most cost-effective option is the Tower Pro MG90S. It can bought individually for 8.23 on Amazon.com or in packs of four for 16.99 on Amazon. The dimensions of the MG90S are 23.1 mm long, 12.2 mm wide, and 29.0 mm high, shown in the Figure 3.3.2.1 below.

Figure 3.3.2.1: Tower Pro MG90S Dimensions

The pulse width is 400-2400 microseconds, with a pulse cycle of 20 milliseconds. This servo would likely be the most cost-effective, as we would require 3 packs of 4 to fulfill our requirement, which would cost a total of around 51 Dollars. If the maximum torque, of which is 2.2 kg-cm, is sufficient for our task, this servo would be the best candidate. A sample servo has been purchased and will be tested with to see if it will be sufficient in torque. One caveat of the MG90S is that the required pulse width modulation signal voltage level is 4.8 to 6.0 volts. This is greater than

Page 35: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

31

the voltage of the GPIO pins on our microcontroller. Hence, to use this servo, we will need a driver circuit.

If, however, this servo is insufficient in output torque, there is a moderately more powerful option to compare it to. The Hitec 31311S HS-311 has a max torque output of 3.7 kg-cm, which is nearly twice as high as the Tower Pro servo. However, it is 39.9 centimeters long by 19.8 centimeters wide by 36.3 high. This is quite larger than the Tower Pro servo. The unit cost is 7.99 dollars, more than twice as much as the Tower Pro servo. The pulse cycle of the Hitec is 20 milliseconds and the Pulse Width is 900-2100 microseconds. The Pulse Width Neutral is 1.5 milliseconds. There is more data available on this servo than the Tower Pro servo which makes it a much safer candidate to use in our project. Table 3.3.2.2 shows the Hitec HS311 specifications, and Figure 3.3.2.2 shows the Hitec HS311 dimensions.

HS311

Control System Pulse Width Control

Pulse Width Neutral 1500 microseconds

Required Pulse 3-5 Volt Peak to Peak Square Wave

Operating Voltage 4.8-6.0 Volts

Operating Speed(4.8V) 0.19sec/60 degrees at no load

Operating Speed(6.0V) 0.15sec/60 degrees at no load

Current Drain (4.8V) 7.4mA/idle, 160mA no load operating

Current Drain (6.0V) 7.7mA/idle, 160mA no load operating

Stall Torque (4.8V) 3.0 kg/cm

Stall Torque (6.0V) 3.7 kg/cm

Dead Bandwidth 5 microseconds

Operating Angle 45 degrees one side pulse travelling 450 microseconds

Direction Multidirectional

Motor Type Cored metal brush

Potentiometer Drive 4 Slider/Direct Drive

Gear Type Nylon

Weight 43 grams

Table 3.3.2.2: Hitec HS311 Specifications

The operating current of the HS311 is 160 milliamps without a load. This current drawn will likely be higher due to non-ideal forces but would likely not deviate too far. As there is so much data on this servo, it is a truly better choice than the cheaper less powerful servo.

Page 36: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

32

Figure 3.3.2.2 Hitec HS311 Dimensions

In the event that neither of the two servos above are powerful enough to move the solenoid fixture, There is the third option of the Hitec 33485S HS-485HB, which on the expensive side, but would deliver big performance. Table 3.3.2.3 shows the specifications of the Hitec HS-485HB and Figure 3.3.2.3 shows its dimensions.

HS-485HB

Control System Pulse Width Control

Pulse Width Neutral 1500 microseconds

Required Pulse 3-5 Volt Peak to peak Square Wave

Operating Voltage 4.8-6.0 Volts

Operating Speed(4.8V) 0.22sec/60 degrees at no load

Operating Speed(6.0V) 0.18sec/60 degrees at no load

Current Drain (4.8V) 8mA/idle and 150mA no load operating

Current Drain (6.0V) 8.8mA/idle and 180mA no load operating

Stall Torque (4.8V) 5.18 kg/cm

Stall Torque (6.0V) 6.41 kg/cm

Dead Bandwidth 8 microseconds

Operating Angle 45 Degrees one side pulse travelling 400 microseconds

Direction Clockwise/Pulse Travelling 1500 to 1900 microseconds

Motor Type 3 Pole Ferrite Motor

Potentiometer Drive Indirect Drive

Gear Type Karbonite Gears

Weight 45 grams

Table 3.3.2.3: Hitec HS-485HB Specifications

Page 37: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

33

Figure 3.3.2.3: Hitec HS-485HB Dimensions

Another useful feature is that this servo is continuous rotation modifiable so that if required, it would be possible to implement it.

As stated before, upon testing we can verify or reconsider our servo choice but at this stage in the design process it is logical to choose the Tower Pro MG90S due to the size and low cost, with performance being determined in prototype testing. With this in mind, here is a reference schematic use to implement the MG90S. This schematic is a generic reference with typical values shown, and is not a specific servo. This drawing was creating using AutoCAD Electrical 2015. Figure 3.3.2.4 shows the reference design of the servo motor driver circuit.

Figure 3.3.2.4: Servo Motor Driver Circuit Schematic

Page 38: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

34

The voltage source value is a range of typical microcontroller power requirements, and the V+ source is a range of typical allowed values for most of the servos we found while shopping.

3.3.3 Driver Belts

To translate a rotational motion of a servo motor into a lateral translation used to move each of the twelve solenoids back and forth, we have decided on using a toothed belt, also known as a timing belt in some applications, most commonly found in automotive mechanical systems. It is important to consider several factors when picking a belt, including tension properties, how tightly it can turn a corner, and load capacity. There are several belt choices, ranging in size and material. To narrow down the possible parts before building a mockup, we used the SketchUp model of the fret board apparatus to give us a good rough estimate as to the required belt length. Shown below in Figure 3.3.3.1 in red is how we would use the belts.

Figure 3.3.3.1: Driver Belt Usage

The total measured length on the model was 28 centimeters or roughly 11 inches. The belt width also comes into play. We need to pack the servos and belts relatively tightly together, so if the belt doesn’t need to be very wide, it would be more cost efficient to find a belt that is sufficient and not over-engineered. However, we wouldn’t want the belts to break from overloading. The width measurement in the simulation allows for a maximum of 8 millimeters, or roughly 1/3 of an inch. It would seem a waste of space to exceed this width. On McMaster.com we found many choices for belts, and have ordered two candidates for testing. Upon prototype testing with these two belts and pending other options we will determine if the lower-budget 1/8th inch belt will be sufficient in performing the required task. Table 3.3.3.1 shows the driver belt options.

Page 39: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

35

P/N Description Belt Length

Belt Width

Pitch Price (ea)

1679K634 Trapezoidal Tooth Urethane

12” 0.125” .080” $1.39

1679K24 Trapezoidal Tooth Urethane

12” 0.25” .200” $2.78

Table 3.3.3.1: Driver Belt Component Comparison

There is, however, an easier alternative to belts, and would be virtually costless and work just as well. This would be to use string in place of a belt. With tension, it could be tied to the windmill or arm attachment of the servo motor and tied onto the solenoid fixture as well. The limitation is on the distance that the solenoid fixture could actually be moved. This is because the windmills attached could be too long to rotate the full 180 degrees if the servos are mounted tightly to the frame. This will be considered in prototyping, however does not require any further research or detailing.

3.3.4 Solenoids

We have determined that in the implementation of depressing strings at frets as a human finger would, linear solenoids would achieve the desired performance. As current is passed through the solenoid, magnetic force is induced that causing a metal shaft to be displaced. The requirements we most considered when comparing solenoids were length, width, and height dimensions, weight, cost, force applied to the shaft, force versus current applied, force versus shaft displacement, coil resistance, and voltage, current, and power ratings.

Of primary importance were the length and width of the solenoid. It was desired that the length and width of the solenoid, which are generally equal or close to equal, were both less than 20 mm. This requirement was chosen because of the fret-to-fret width at the 12th fret, the “highest” fret location we planned to fit with a solenoid for string depression, was slightly larger than 20 mm. The choice of 20 mm had margin built in, as we project that there may be intermediate structure between the solenoids. As values for these dimensions beyond our requirements would lead to an invalid design, this was the first consideration in solenoid specifications.

Of next highest importance was the force applied to the shaft. In initial experimentation it was determined that the force required to fully depress a string on an electric guitar was less than one pound of force (454 gram-force, or gf, units). The minimum required force to depress a string so that characteristic guitar sound could be produced, was estimated to be around 50 gf. Wanting to give plenty of margin on this specification because of the perceived variability of the quality of repeated tones produced from borderline force values, we set the desired force at 200 gf. A small solenoid with length and width below 20 mm each that produced a 200 gf force at the string would fit our first two requirements.

Page 40: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

36

Coupled with the setting of the force requirement was the understanding that solenoid force output varies inversely with displacement of the shaft, we were compelled to estimate the expected distance the shaft would be required to travel. The combination of the maximum prescribed action, or distance between the neck and a string that is not depressed, for a string (2.38 mm), plus a margin to avoid unwanted damping of the string vibration (1 mm), was 3.38 mm. Removed from this displacement was the projected height of a rubber cap adhered to the end of the solenoid shaft to aid in reliable string depression and characteristic guitar tone, which was estimated to be at least 1 mm. A final expected solenoid shaft displacement was set at 2 mm. That is, the desired force of 200 gf should be achievable at a displacement of 2 mm.

Weight was not of great concern for the performance of the solenoid. However, as the solenoid would be a load on the servo motor that was moving it, and considering that the greater load would reduce the maximum speed of the rotation of the servo motor, it was important for the system’s overall performance to minimize solenoid weight. The actual effect of the weight of the solenoid on the maximum speed of servo motor rotation, all other weights involved being equal, is difficult to predict accurately. However, we project that the motor speed loss due to solenoid weight would be minimal if the solenoid weighed less than 50 g. As we researched different models of solenoids, we kept that in mind as a loose requirement.

Next most significant after the four above specifications was power dissipation. As in many other applications, we desired that this value be kept as low as possible while achieving satisfactory performance. Our desired power range was less than 5 W for each solenoid, and beyond that threshold, the lower the better. Related to this is the coil resistance. As will be seen later, a majority of the solenoids we researched were 12V solenoids. Supposing that two of these 12V solenoids delivered the desired performance, the solenoid with the higher coil resistance would allow less current, and, again considering the voltage values were equal, lower power dissipation.

In general, since our design calls for 12 solenoids to be used, we desired to keep the per-unit cost below $10. However, this requirement was not given first consideration in comparing solenoid models. That is, we were generally unwilling to compromise on the solenoid performance for lower cost, since the solenoids’ reliable behavior is that which characteristic note production, and therefore the entirety of our design, depends. A number of types of solenoids exist, including linear and rotary, push, pull, and push-pull, and tubular, C-frame, and D-frame. Our design requires linear motion and thus a linear solenoid. In addition, we expect the solenoids to push down on the strings and release when current is not applied. We do not need it to perform any pulling actions, so a push solenoid is adequate. On structural criteria, the most advantageous choice is the one that will lend itself best to having a drive belt, or an intermediate structure connecting the belt to the solenoid, fastened to it. Our initial assumption is that the open frame (C- and D- frame) solenoids will be more beneficial for this, as they come with a number of

Page 41: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

37

mounting holes for fastening, whereas the tubular solenoids have a threaded section just before the shaft for fastening. The use of the mounting holes would likely be easier than the creation or purchase of a component that fits the threads of a tubular solenoid.

# Vendor PN Structure

L x W, (mm) Body

Ht., (mm) Body/Shaft

1 Sparkfun ZHO-0420S-05A4.5 D frame 12 x 11 20/6

2 Sparkfun ZHO-1364S-36A13 D frame 30 x 30 64.4/25

3 Jameco SMT-1632S12A-R Tubular 15.2 x 15.2 64.5/6.1

4 Jameco SMO-0420S12STD C frame 12.7 x 10.2 20/5.08

5 Jameco SMO-0837S12STD-R D frame 25.4 x 20.3 38.1/6.1

6 Jameco SMT-1325S12A-R Tubular 12.7 x 12.7 30.5/11.9

7 LEDEX 191172-001 Tubular 12.7 x 12.7 25.4/19.1

8 MULTICOMP MCSMO-0630S12STD D frame 19.2 x 16 29.5/12

9 MULTICOMP MCSMT-1325S12STD Tubular 12.7 x 12.7 26.2/12.7

10 MULTICOMP MCSMO-0630S06STD D frame 19.2 x 16 29.5/12

#

Vendor Volt. (V)

Res.

() Power (W) at

100% Max force (12V); at

2mm (12V) (gf) Wt. (g)

Cost ($)

1 Sparkfun 6 30 1.2 185; 140 (25% duty) 13 4.95

2 Sparkfun 36 13 100 3600; 2200 (36V) N/A 14.95

3 Jameco 12 21 7 475; 275 45 16.95

4 Jameco 12 120 1.2 500; 22 182 12.95

5 Jameco 12 36 4 400; 300 95 8.95

6 Jameco 12 36 4 450; 70 23 19.95

7 LEDEX 12 45 3.2

N/A; 199 (2.54 mm, 27V, 25% duty)

45 4.49

8 MULTICOMP 12 60 2.4 215; 100 42 10.64

9 MULTICOMP 12 36 4 240; 85 23 13.11

10 MULTICOMP 6 15 2.4 560; 375 (25% duty) 42 11.09

Table 3.3.4.1: Solenoid Component Comparison

Page 42: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

38

Table 3.3.4.1 shows the specifications of the solenoids we considered. All are linear, push solenoids. The items have been numbered for ease of reference. Only one solenoid we researched was of C frame type. Most were D frame or tubular. The length and width of solenoid #2 eliminated it from further consideration; it was simply too large for our design. The remaining solenoids fell within our length and width requirements with the exception of solenoid #5, which is 0.3 mm over specification. The others were either well within specification (#1, 3, 4, 6, 7, 9) or just within margin (#8 and 10). Though height was not of high priority, a very tall solenoid like #3 would require more design work to incorporate in the string selection subsystem.

Most of the solenoids we researched had a rated voltage value of 12V. We are cautious to limit our design from incorporating relatively high voltages (> 20V), so if we chose a 12V rated solenoid, would most likely run it at, or close to 12V and 100% duty cycle. However, for solenoids #1 and 10, which are rated at 6V, we would be more willing to run at higher voltages and lower duty cycles. This provides a potential force performance increase for these solenoids with respect to the others. This consideration was expressed in the maximum force column, in which nearly all solenoids were assumed to be excited by a 12V source. Solenoids #5 and 10 had the highest force value at the expected displacement of 2 mm, among solenoids that had not been eliminated. The very low (< 100 gf) force performance at 2 mm displacement for solenoids #4, #6, and #9 made them unlikely alternatives for our design. In addition, though solenoid #7 had a force performance of nearly 200 gf beyond 2 mm, that value was attained by running it at 25% duty cycle, supplying 27V. This force value at this voltage was used since the datasheet had insufficient force data. Since we do not plan to use voltages that high, and since the solenoid’s force response to an input of 12V would likely be much lower, solenoid #7 would not likely be considered further.

As mentioned earlier in this section, the coil resistance of similarly voltage rated solenoids determined the power dissipation of each. The very high coil resistance of solenoid #4 drove down its power dissipation significantly. The estimated power dissipation of each was calculated from P = V2/R and was considered at 100% duty cycle. Those solenoids running at 25% duty cycle would have four times the power dissipation during the operating periods of the duty cycle. That is, solenoids #1 and 10 would be drawing 4.8W and 9.6W, respectively, during that time. Of note is that with the exception of #2 and 3, the power dissipation of all solenoids operating at 100% duty cycle does not exceed 4W.

Weight is an important consideration as it directly burdens the performance of the motor for the string selection system. These solenoids are all low-weight, and with the exception of #2 and #5, all meet our loose requirement of 50 g. Solenoid #2 has already been eliminated, but the failure of #5 to meet the weight requirement decreases the likelihood of choosing it.

All of the solenoids were priced at less than $20. The midpoint of the cost of the solenoids was around $12, with a high of nearly $20. Three of the solenoids, #1, #5, and #10, met our specification on cost. As so few of these solenoids and of the

Page 43: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

39

solenoids we browsed through actually met our specification, we were willing to give some of the solenoids that exceeded that value, some additional consideration.

The final four solenoids we considered were solenoids #1, 3, 5, and 10. These solenoids had diverse specifications, yet each delivered at least 140 gf force at the desired displacement.

Solenoid #1 is a 6V, D frame solenoid. Itwas the lightest component of those we considered, at 13 g, 30 g lighter than the other final four components. At 13 g, this solenoid would put very little load on the string selection motor, easing its design concerns. Additionally, its length and width were the least of any component we researched, at 12 and 11 mm, respectively. If we chose this solenoid, it would satisfy our space concerns and add plenty of margin for potential additional structural components of the fret system. Lastly, was the least expensive of the last four considered at $4.95, a little more than half the cost of the next cheapest component. This would be a great savings if we felt the solenoid could meet the desired performance. Its rated voltage, current, and power dissipation were all low, at 6V, 0.2A, and 1.2W, and would not burden the power or solenoid driver systems.

One concern with this and the other 6V solenoid is the application of above-rated voltage. Applying 12V is not extreme, but the maximum recommended amount of time to run these at 25% duty cycle is around 18 seconds, which would seem to suggest that and 18 second use would require a 54 second recovery time, which would not be acceptable for our application. We do not expect to need 18 seconds of continuous performance, as typically “long” musical notes last between 1-5 seconds, and the from the natural decay of the guitar, the sound produced does not last far beyond that. However, it is not known how the required recovery time varies for different operation periods, whether proportionally or otherwise. Nevertheless, the selection of this or solenoid #10 carries with it the risk of loss of availability at the expected above-rated voltage use.

The main drawback of this component was the force performance, the most important specification under consideration. As the force requirement itself is an estimation of the necessary value to adequately depress the string, it is possible that it is an overestimation and that force delivered by solenoid #1 may also be satisfactory. Even so, the risk associated with the loss of availability mentioned above, combined with the risk associated with lower than required force performance do give pause in the selection of this solenoid.

Solenoid #10, as mentioned above is also a 6V, D frame solenoid. It has the same above-rated voltage use issue of solenoid #1, but one which raises more concerns. Its coil resistance is half of that of solenoid #1, so its normal rated current and power are 0.4A and 2.4W. When a 12V source is applied, the current and power increase to 0.8A and 9.6W. The power dissipation is above desired values for the system, and the current does not violate a requirement, but requirement of higher current puts higher demands on the solenoid driver circuit.

Page 44: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

40

Compared to solenoid #1, the length and width (19.2 x 16 mm) and weight (42 g) of solenoid #10 are much closer to the requirement threshold, leaving much less margin, but are adequate and would likely not cause any design problems. Though there is no requirement for height, our perspective is that less is better, and the height of solenoid #10 is 13 mm greater than solenoid #1, but 29 mm less than the longest. The cost, at $11.09, is also in the middle of the extremes. None, with the exception of cost slightly exceeding specification, of these parameters are drawbacks, but none are remarkable.

While solenoid #1 has the lowest force performance value, solenoid #10 has the highest, or 375 gf while running at 25% duty cycle, This value is nearly twice our required force, so it gives significant margin and should leave no doubt about the reliability of the string depression. In addition, if this force is be too much, causing undesired noise from striking the string too hard, applying a voltage closer to 6V should alleviate any noise problems while resulting in lower current and power draw. While the force performance of solenoid #10 is more than adequate, the trade-off of non-ideal length, width, height, weight, and cost, and excessive power and current draw may be too much to warrant selecting this solenoid.

Solenoid #5 is a 12V, D frame solenoid. Its force performance value was lower than that of solenoid #10, at 300 gf, yet exceeds the desired force as well with plenty of margin. Whereas solenoid #10 required 0.8A of current and 9.6W of power to achieve 375 gf of force, solenoid #5 would only require current of 0.333A and power of 4W. This difference is a significant power system and driver design savings. Also, these values could be achieved while running continuously, which would remove any lack of availability concerns. The height of solenoid #5 was comparable to solenoid #10, at 44.2 mm, compared to 41.5 mm, a negligible difference. A final advantage over solenoid #10 is cost. The satisfactory force performance and lower power cost are available for $8.95, two dollars less per component. While some of these specifications do not compare to the desirable levels of solenoid #1, the reality that solenoid #5 exceeds force requirements, whereas solenoid #1 does not, is significant.

The main concerns about solenoid #5 have to do with its physical dimensions. With a length and width of 25.4 x 20.3, the solenoid would have to be positioned so that its width ran parallel to the neck of the guitar; its length would be well beyond the value needed to be feasible in the design. Even when positioning the solenoid as such, the width of 20.3 is 0.3 mm beyond specification and would exceed the width between the last two frets in our design by about 1 mm.

A potential alleviation of this problem is allowing positioning the solenoid further down the neck so as to overlap the next fret. This modification would be possible since there would be no other solenoid to interfere with on that side. Taking that modification into consideration would allow us to compare the 20.3 solenoid width with the distance between the next two frets, second and third to the end, the width of which is slightly larger. If the solenoid is similarly too wide, it is possible to attempt to space out the last few solenoids, to ensure they can all fit. This is not an ideal design scenario but would allow solenoid #5 to be used.

Page 45: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

41

An additional concern is with the weight of the solenoid, which is 95.3 g, more than twice the weight of the next solenoid, and more than seven times the weight of solenoid #1. It is not yet known exactly how much detriment this difference would be to the performance of the string selection system, but it is reasonable to suspect the effect would be negative. Ultimately, testing would determine whether the trade-off of string selection motor performance would be significant enough to determine whether or not using solenoid #5 would lead to a viable design.

Solenoid #3 is a 12V, tubular solenoid. Its weight (45.3 g) and length and width (15.2 x 15.2 mm) are significantly better than that of solenoid #5 and comparable to that of solenoid #10. However, these values are not as much as an asset as they are with solenoid #1. In regard to electrical characteristics, the coil resistance is lower than with solenoid #5, so the rated current (0.57A) and power (7W) are not as desirable. However, the rated voltage is 12V rather than 6V, so those values would not increase further as with solenoid #10, in addition to the avoidance of any lack of availability problems. As with solenoids #5 and 10, solenoid #3 does deliver adequate force (275 gf), with a margin of 75 gf over specification.

Whereas the other three solenoids were all D frame solenoids, solenoid #3 is a tubular solenoid, which we project would yield more design problems with connecting to the string selection system than the others. As we intend to move the solenoid by a belt driven by a servo motor, the ends of the belt would need to be fastened to the solenoid or an intermediate structure. All of the D frame solenoids come with mounting holes, which the belt could loop through or which would allow easy installation of another structure that would capture the end of the belt. Since the tubular solenoid can only be fastened by screwing in a part onto threaded structure, the design options are reduced. However, though this situation is less desirable, it does not disqualify solenoid #3 from consideration. Also inherent in the nature of a tubular solenoid is the diameter of the shaft, which is especially narrow. We have not made any requirement on shaft diameter, but we do expect to adhere an end piece made of rubber or similar material, that will serve to reduce noise and ensure a good hold on the string when depressed. Though it is feasible to attach an end cap to a narrower shaft, the process of doing so may not be as simple.

Of the last two specifications of solenoid #3 under consideration, one is non-ideal and the other is problematic. The full height of the solenoid is 89.4 mm, which, for better visualization, is nearly 4 inches and is over three times the height of solenoid #1. As before, we maintain that we do not have a solenoid height requirement other than the perspective that we would prefer it to be short, all other things being equal. The cost of the solenoid, though, would certain be well beyond budget, and may be beyond our means or desire to finance. For 12 solenoids, the cost before shipping would be $203.40, nearly a third of our initial total budget estimate. For the cost, we would expect all or most of the other specifications to be exemplary, which is not the case.

Table 3.3.4.2 summarizes the comparison between the four solenoids. For each specification, the solenoids are given a qualitative rating on a 4-point scale.

Page 46: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

42

Additionally, the actual specification values are given on the second row for each specification. The values we have given in our requirements section used to determine the pass/fail status of each, where green denotes a pass and red denotes a fail. As no one solenoid passes all of our requirements, we chose to tally up the 4-point scale values for each solenoid and use those to help make the final decision on a solenoid.

Table 3.3.4.2: Final Solenoid Component Comparison

As is clear from the last row of Table 3.3.4.2, solenoid #1 rated the highest on our 4-point system, with solenoid #5 next. This confirms the impression we had, that we should choose solenoid #1. The two areas of concern are the low force output and the low duty cycle required to achieve it. If during our testing we find that these conditions are satisfactory for our design, we will continue to use solenoid #1. If, however, during testing we find that the force performance or delay due to duty cycle is unacceptable, our alternate plan is to use solenoid #5. We select this as our backup component with the understanding that some design rework

3.3.5 Microcontroller

Having chosen to use microcontroller rather than FPGA technology for our control system, before considering any specific attributes we would desire, we took a survey of the microcontrollers used in Spring 2014 Senior Design projects. We did this to get a sense of what has been chosen previously and what companies and

Solenoid #1 #3 #5 #10

Force 1 - Poor 3 - Good 3 - Good 3 – Good

(Spec: > 200 gf) 140 275 300 375

Length x Width 4 - Excellent 3 - Good 1 - Poor 2 – Fair

(Spec: < 20 mm) 12 x 11 15.2 x 15.2 25.4 x 20.3 19.2 x 16

Weight 4 - Excellent 2 - Fair 1 - Poor 2 – Fair

(Spec: < 50 g) 13 45 95 42

Cost 4 - Excellent 1 - Poor 3 - Good 2 – Fair

(Spec: < $10) 4.95 16.95 8.95 11.09

Power (12V) (Spec: < 5W)

4 - Excellent 2 - Fair 3 - Good 1 – Poor

4.8 7 4 9.6

Current (12V) 3 – Good 2 - Fair 3 - Good 1 – Poor

(Spec: N/A mA) 400 571 333 800

Height 4 - Excellent 1 – Poor 2 - Fair 3 – Good

(Spec: N/A mm) 26 70.6 44.2 41.7

Duty Cycle (12V) 2 – Fair 3 – Good 3 - Good 2 – Fair

(Desired: 100%) 25% 100% 100% 25%

Type 3 – Good 2 – Fair 3 - Good 3 – Good

(Desired: D fr.) D frame Tubular D frame D frame

Total Points 29 19 22 19

Page 47: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

43

models might be good to use as starting points in our search. Table 3.3.5.1 shows our results. From the results in the table, it is clear that TI and Atmel were companies whose products were chosen most often. From this fact, we decided that, barring failure to find any products from either company that met our design and general demands, we would narrow our search to Atmel and TI microcontrollers.

Company/Model Number Used Company/Model Number Used

Arduino 3 Microchip 2

Arduino Uno 3 PIC18 1

Atmel 9 PIC24HJ256GP206A 1

Atmega168 1 Texas Instruments 11

Atmega2560 1 Hercules TMS570 1

Atmega325 1 MSP430G2553 2

Atmega328P 2 MSP430AFE2xxx 1

Atmega32u4 1 MSP430F2013 1

ATSAM4S16B 1 MSP430F5529 1

ATXMEGA32A4U 1 MSP430F6638 1

XMEGA D4 1 MSP430F6736 1

Freescale Semic. 1 MSP430FG4618 1

MCIMX6D5EYM10AC 1 Tiva Cortex M4 1

Table 3.3.5.1: List of Spring 2014 Senior Design Microcontroller Choices

Within Atmel and TI alone, the process of choosing one microcontroller out of their entire selection is daunting. TI sells 729 unique microcontrollers and Atmel sells 506. The first criterion we would use to narrow the search was the use of an ARM processor. This criterion was not performance based but chosen solely from the desire of our group to use that specific technology. We decided that since ARM processors are used in an overwhelming majority of mobile devices and embedded systems, we wanted to gain the experience of working with them. Among microcontrollers that use ARM processors, we found that TI sells 205 and Atmel sells 170. In selecting microcontrollers that use ARM technology, we were able to narrow the scope of our search to less than a third of the original numbers.

Page 48: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

44

One of the most important specifications for our microcontroller was the availability of designated PWM output channels, as the 12 servo motors we planned to use require a PWM input. PWM is common across many applications, but since companies make so many models of microcontrollers, they are able to optimize them for use in specific applications, some of which do not use PWM. As such we narrowed our search further by eliminating products that did not have this feature. Table 3.3.5.2 shows the families of microcontrollers from Atmel and TI that had at least one dedicated PWM channel.

Comp. Family CPU Max # PWM Comp. Family CPU

Max # PWM

Atmel SAM9G ARM926 4 TI AM5K2Ex Cortex-A15 1

Atmel SAM9M ARM926 4 TI 66AK2Ex Cortex-A15 1

Atmel SAM9R ARM926 4 TI 66AK2Hx Cortex-A15 1

Atmel SAM9X ARM926 4 TI AM17 ARM9 3

Atmel SAM3A Cortex-M3 4 TI AM18 ARM9 3

Atmel SAM3M Cortex-M3 4 TI AM335x Cortex-A8 3

Atmel SAM3S Cortex-M3 4 TI AM437x Cortex-A9 6

Atmel SAM3U Cortex-M3 4 TI TM4C129 Cortex-M4 8

Atmel SAM3X Cortex-M3 4 TI TMS570 Cortex-R4 14

Atmel SAM4E Cortex-M4 4 TI RM46L Cortex-R4 14

Atmel SAM4L Cortex-M4 4 TI RM57L Cortex-R5 14

Atmel SAM4N Cortex-M4 4 TI TM4C123 Cortex-M4 16

Atmel SAM4S Cortex-M4 4 TI F28M35 Cortex-M3 24

Atmel SAMD Cortex-M0+ 24 TI F28M36 Cortex-M3 24

Table 3.3.5.2: Atmel and TI ARM MCUs with Designated PWM Channels

The table shows that only one family of microcontrollers features 12 or more PWM channels, whereas six families of TI microcontrollers do. However, the TMS570, RM46L, and RM57L families use Cortex-R processors. These processors are designed for real-time applications, including many safety functions like automotive braking systems. This does not fit the description of our project, and these processors would offer much more and different functionality than our design needs. As such, they would generally be more expensive than we would like, and would include a number of extra features that would go unused. The remaining

Page 49: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

45

products under consideration all contain Cortex-M processors, which are designed to be low cost and low power, which better describes our desired device. Of the four remaining product families under consideration, we compiled a spreadsheet comparing the specifications from their respective company websites. Since this list still represented 59 unique models, we found it more useful first to consider price and availability. We desired that the microcontroller we chose would cost less than $20, and that it would involve difficulty in acquisition with long lead times. Our vendor search was focused on two of the major electronics vendor websites, DigiKey.com and Mouser.com. Our assumption was that these vendors would be the most likely to have a given device in stock. In Table 3.3.5.3, we compare the total number of devices under consideration in each family to the total number of in-stock devices that had individual unit sales available. We also averaged the prices of the devices found from each family.

Device Family ATSAMD TM4C123 F28M35 F28M36

# of models considered 31 16 6 6

# of models found from DigiKey 21 16 1 0

# of models found from Mouser 14 16 1 0

Average DigiKey Cost $4.34 $10.00 $28.80 N/A

Average Mouser Cost $3.14 $9.99 $31.93 N/A

Average Overall Cost $3.74 $10.00 $30.37 N/A

Table 3.3.5.3: MCU Cost and Availability Comparison

From the table it is evident that the TI F28M35 and F28M36 families were almost entirely unavailable, and otherwise priced beyond our desired range. We also took note of the good and complete availability of the ATSAMD and TM4C123 families, respectively. Of final note was the satisfactory pricing of both families, with extra note of very low cost of the ATSAMD family. Some of the specifications of the remaining 37 models under consideration were compared in Table 3.3.5.4. The values that were compared were cost, memory, processing speed, number of PWM channels, number of general purpose input/output (GPIO) pins, and other common features like various communication interfaces and analog to digital conversion. As memory, processing speed, number of PWM channels, and number of input/output pins are specifications, their relative magnitude for each part was expressed using color coding. The continuum of relative magnitude represented from least to greatest is dark pink, light pink, white, light green, and dark green. Though cost is a specification, it was already determined that the average cost of the TI models was over twice the average cost of the Atmel models, so it was not necessary to mark these values similarly with color. As for layout, the rows were sorted largest to smallest, first by number of PWM channels, by number of GPIO pins, by amount of Flash memory, amount of

Page 50: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

46

SRAM memory, then by processing speed. This was done to make it clear which models had near the highest values in each category,

Part Number Digik. Cost ($)

Mous. Cost ($)

Flash (kB)

SRAM (kB)

Max Spd. (MHz)

PWM Ch. GPIO SPI I2C

UART

ADC Res. (Bit)

ADC Ch.

TM4C123BH6ZRB 10.03 10.02 256 32 80 16 120 4 6 8 12 24

TM4C123GH6ZRB 11.93 11.92 256 32 80 16 120 4 6 8 12 24

TM4C123BH6PGE 10.85 10.85 256 32 80 16 105 4 6 8 12 24

TM4C123GH6PGE 11.84 11.83 256 32 80 16 105 4 6 8 12 24

TM4C123BH6PZ 9.35 9.35 256 32 80 16 69 4 6 8 12 22

TM4C123GH6PZ 11.05 11.04 256 32 80 16 69 4 6 8 12 22

TM4C123AH6PM 9.00 9.00 256 32 80 16 49 4 6 8 12 12

TM4C123FH6PM 11.55 11.55 256 32 80 16 49 4 6 8 12 12

TM4C123BH6PM 9.00 9.00 256 32 80 16 43 4 4 8 12 12

TM4C123GH6PM 11.55 11.55 256 32 80 16 43 4 4 8 12 12

TM4C123BE6PZ 8.30 8.30 128 32 80 16 69 4 6 8 12 22

TM4C123GE6PZ 9.63 9.63 128 32 80 16 69 4 6 8 12 22

TM4C123AE6PM 7.73 7.72 128 32 80 16 49 4 6 8 12 12

TM4C123FE6PM 10.18 10.17 128 32 80 16 49 4 6 8 12 12

TM4C123BE6PM 7.73 7.72 128 32 80 16 43 4 4 8 12 12

TM4C123GE6PM 10.20 10.20 128 32 80 16 43 4 4 8 12 12

ATSAMD21J18A 5.99 N/A 256 32 48 24 52 6 6 6 12 20

ATSAMD20J18 5.99 4.92 256 32 48 16 52 6 6 6 12 20

ATSAMD21G18A 6.23 N/A 256 32 48 20 38 6 6 6 12 14

ATSAMD20G18 5.69 4.78 256 32 48 16 38 6 6 6 12 14

ATSAMD21E18A 6.06 N/A 256 32 48 18 26 4 4 4 12 10

ATSAMD20E18 5.31 N/A 256 32 48 12 26 4 4 4 12 10

ATSAMD21J17A 4.80 N/A 128 16 48 24 52 6 6 6 12 20

Page 51: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

47

Part Number Digik. Cost ($)

Mous. Cost ($)

Flash (kB)

SRAM (kB)

Max Spd. (MHz)

PWM Ch. GPIO SPI I2C

UART

ADC Res. (Bit)

ADC Ch.

ATSAMD20J17 4.30 3.51 128 16 48 16 52 6 6 6 12 20

ATSAMD21G17A 4.56 N/A 128 16 48 20 38 6 6 6 12 14

ATSAMD20G17 4.08 3.32 128 16 48 16 38 6 6 6 12 14

ATSAMD21E17A 4.35 N/A 128 16 48 18 26 4 4 4 12 10

ATSAMD20E17 3.90 3.16 128 16 48 12 26 4 4 4 12 10

ATSAMD20J16 4.03 3.28 64 8 48 16 52 6 6 6 12 20

ATSAMD20G16 3.83 3.11 64 8 48 16 38 6 6 6 12 14

ATSAMD20E16 3.59 2.96 64 8 48 12 26 4 4 4 12 10

ATSAMD20J15 3.32 2.68 32 4 48 16 52 6 6 6 12 20

ATSAMD20G15 3.16 2.55 32 4 48 16 38 6 6 6 12 14

ATSAMD20E15 3.02 2.42 32 4 48 12 26 4 4 4 12 10

ATSAMD20J14 3.15 2.54 16 2 48 16 52 6 6 6 12 20

ATSAMD20G14 2.98 2.39 16 2 48 16 38 6 6 6 12 14

ATSAMD20E14 2.79 2.28 16 2 48 12 26 4 4 4 12 10

Table 3.3.5.4: Comparison of Final 37 MCU Candidates

When the composite of specifications significant to our design is considered, the TM4C123 family of microcontrollers is found to be more satisfactory. More specifically, the TM4C123’s maximum processor speed (80 Mhz to 48 MHz) and maximum number of GPIO pins (120 to 52) were superior. The maximum Flash memory (256 kB) and maximum SRAM memory (32 kB) were the same among the two families, and the rest of the listed specifications were comparable, while the maximum number of PWM channels (24 to 16) was greater with the ATSAMD family. However, as our design only needs 12 different PWM outputs, this was not significant. The major differences between the two families were cost, input/output resources, and processing resources. We felt the performance and resource advantage of the TM4C123 family was worth the cost. Having made the determination to use a TM4C123 family product, the rationale for the choice of specific model was simple; we wanted the highest performing of the group, as the cost difference among them was relatively negligible. Therefore, the microcontroller we chose was the TM4C123GH6ZRB, the part number of which is highlighted in the table.

Page 52: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

48

For the purposes of testing we wanted to purchase a TM4C123 evaluation board that would interface more easily with the rest of the system without the permanence of the final PCB assembly. The evaluation board offered by TI is the Tiva C Series TM4C123G LaunchPad Evaluation Kit. The microcontroller incorporated into the evaluation board is the TM4C123GH6PM, the main drawback of which, when compared to the TM4C123GH6ZRB we plan to use, is its number of GPIO pins (43, compared to 120). Our plan with this is to determine during testing whether this amount of pins is satisfactory. If it is, we will likely purchase the TM4C123GH6PM for the final assembly of our design. If not, we will use the TM4C123GH6ZRB as planned.

3.3.6 Power Supply

The power supply was picked by the most convenient way to hook it up to the wall. We wanted a low power high current supply to meet the requirements for the components on the guitar. We also desired a low cost to work with our budget. We found one from TRC electronics that provided what we needed for a cost of $43.99. Below in Table 3.3.6.1 is a table of specifications from the power supply chosen.

Specifications

Input Voltage 115/230 VAC

Output Voltage 24 V

Output Current 14.6 A

Max Power 350 W

Table 3.3.6.1 Specifications table

It meets the maximum requirements for our automated guitar. The PN# is SE-350-24. This product offers protection for short circuit, overload, over voltage, and over temperature. It comes with a built in DC cooling fan with an on and off control. There is a constant current limiting circuit. For these reasons is which why we decided to pick this part for our project. Figure 3.3.6.1 is a picture of the power supply purchased

Figure 3.3.6.1 Power Supply PN# SE-350-24

Page 53: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

49

With the power supply we would need a voltage regulator to be built into the circuit. Voltage regulators are very inexpensive parts. The LM317TG voltage regulator offers a 1.2 V to 37V adjustable output voltage. The price is $1.37 from SparkFun, it offers an output max current of 1.5A which is more than enough for each component. Another voltage regulator that we plan to use is the LM285-1.2, voltage line regulation; it offers minimum current deliverance and can be purchased from TI. The voltage regulators are both convenient (LM285-1.2 is from Electronics II lab) for our use and an inexpensive component. In Figure 3.3.6.2 is a diagram of how the power will be regulated.

Figure 3.3.6.2: Power Regulation Diagram

There are four components that will need power distributed to the device, in order for the device to perform. The components are the servo motors, microcontroller, stepper motors, and the solenoids. Supply 1 will include a circuit and regulator that will provided the proper current and voltage distribution to each of the loads delivered to supply 1 in this case the stepper motors. Supply 2, will have the correct distribution of voltage and current that will lead to the microcontroller. Supply 3 is a different circuit that will require the proper voltage and enough current to deliver to 12 servo motor loads. Supply 4, requires a distribution of voltage and enough current to the 12 solenoids. We desire to have 12 moving solenoids, 1 for 12 frets, this is the reason for the numerous amounts of solenoids. Since we also plan to use servo motors in the design of the pulley system, this leads to the numerous amounts of servo motors. The power regulation circuit, and device, will be dependent on the strategic components that are picked. The regulator will have its own circuit that will lead to each device in order to adjust the voltage and current as needed. The circuit will include capacitors, inductors, and resistors. The design of the circuit will be introduced in section 4, of the design paper.

Page 54: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

50

4 Project Hardware/Software Design Details 4.1 Initial Design Diagram 4.1.1 Electrical Block Diagram

Legend Work Status:

Build Type: Microcontroller Purchased

COTS HW Solenoid Sampling

PCB Mounted Servo Research

Pre-acquired Stepper Sampling

Guitar Assembly Driver Circuits Research

Power Regulation Research

Signal Flow: Power Supply Purchased

Power Guitar Pre-owned

Data Computer Pre-owned

Mixed Signal Guitar Amplifier Pre-owned

Page 55: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

51

4.1.2 Mechanical Assembly Block Diagram

Legend Work Status:

Build Type: Bud Box Research

COTS HW Neck Assembly SketchUp Model

PCB Body Assembly SketchUp Model

Piece-part Drive Belt Sampling

Custom Build Wiring Harness Research

Page 56: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

52

4.1.3 Software/Firmware Block Diagram

Page 57: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

53

hhCCCh

4.2 Stepper Motor Control (Picking System)

The stepper motor we chose to use in the implementation of the picking subsystem was the SY20STH30-0604A available from Pololu, a 3.9V, two-phase bipolar stepper motor. As previously mentioned, we chose the stepper motor for this application because of its accurate position performance. However, a stepper motor, not being based on continuous current supply but rather on pulses of current, would require a unique driving circuit.

As will be explained more below, the behavior of the stepper motor will be controlled by a small number of control lines from output pins on the microcontroller. As our stepper motor is a two-phase bipolar stepper motor, its inputs are arranged as shown below in figure 4.2.1. The A phase coils can be energized either positively (current flowing from A+ to A-) or negatively (current flowing from A- to A+). The B phase coils can be energized in these two ways as well. For the motor shaft to rotate one step, a specified angular displacement, a pulse is sent to one of the coils, in one of the configurations mentioned above. If the coil were continuously energized in this manner, the motor shaft would hold its position rather than move. In order for the shaft to continue rotating, more pulses would have to be applied. Not only is this so, the subsequent pulses would have to be at a different coil or in a different configuration than the first.

Figure 4.2.1: Stepper Motor Behavior

Many pulse sequences exist that result in different motor output characteristics. It is useful for the driver to be able to switch between types of sequences for increased versatility, but this switching requires an extra control line from the microcontroller. For our purposes, as we want to limit the number of microcontroller output pins used, we plan to use a standard full step sequence. The full step sequence, as shown in Figure 4.2.2, takes the alternating configurations and coils concept in the previous paragraph and modifies it to increase torque performance. In this sequence, both coils are energized at all times. The cost of increased torque is increased current.

Page 58: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

54

Figure 4.2.2: Step Sequence

For the stepper motor to continue to rotation in one direction, this sequence is repeated, step one through four, then back to one. For rotation in the opposite direction, the sequence is reversed, four through one, then back to four.

Since for each phase the current will need to be switched back and forth, a suitable topology to use is an H bridge. In an H bridge configuration, four switches are used, and current flows through the coil in one direction when a pair of switches is closed and flows in the other direction when the other pair of switches is closed. While an H bridge can be constructed out of discrete components including BJTs or FETs, a low-cost, space-saving alternative is to use a ready-made H bridge on an IC.

The component we chose was DRV8833PWPR, made by TI. Its output current (1.5A) and voltage (2.7V-10.8V) ratings accounted for our stepper motor’s values of 0.6A and 3.9V, respectively. It is designed to receive four input logic level input signals and output four power level output signals to the windings of the motor. It incorporates flyback diode protection and current limiting, if needed, internally. Figure 4.2.3 shows the functional block diagram of the device. As shown, a number of external resistors and capacitors will be required to accommodate it. We intend to pull nSL to logic high, and AIS and BIS (current sense outputs) to ground at this time. The device itself will be powered at the same voltage as the supply voltage needed for the motor.

Figure 4.2.3: Functional Block Diagram

Page 59: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

55

There are four inputs to the H bridge device, but we plan to minimize the number of I/O pins used by the microcontroller for the purposes of fitting all functions to the reduced pin count on the evaluation board. To achieve this we plan to use only two output signals from the microcontroller to control the stepper motors. Since the microcontroller will output two signals and the H bridge device we will need an intermediate circuit. Not only do we need to control four lines from two controls, but we need to cause the H bridge to receive a repeated sequence of inputs. To perform these two functions we will use a state machine. If one controls a stepper motor with only two initial control lines, those to controls would include one for step pulse and the other for direction of rotation. In our state machine the step pulse will serve as the clock input to the flip flops. We intend to use D flip flops for their simplicity. Since the direction input will determine the progression of the state machine, it will need to be incorporated at the input of each flip flop. The next table was derived from the figure above in Figure 4.2.2, showing the full step sequence. It is clear that the + side and – side of a coil are always inverse of each other. This reduces the number of flip flops from the state machine from four to two, since the – state is already mapped by the inverse of the + state. With D flip flops, the next state is the same as the input to the flip flop. This arrangement, as shown in Table 4.2.1, determines the kind of combinational logic needed at the flip flop inputs.

Dir A B Da Db A+ B+

0 0 0 1 0 1 0

0 0 1 0 0 0 0

0 1 0 1 1 1 1

0 1 1 0 1 0 1

1 0 0 0 1 0 1

1 0 1 1 1 1 1

1 1 0 0 0 0 0

1 1 1 1 0 1 0

Table 4.2.1: Flip Flop Combinational Logic

Page 60: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

56

In the above table, all the transitions are assumed to occur at the positive edge of the step signal. The derived input equations for the flip flops are as follows:

Da = Dir xor B’

Db = Dir xor A

The implementation of these equations will only require XOR gates, since B’ is already an output of the flip flop, thus an inverter would be obsolete for Da. Therefore, the full implementation of the state machine for one motor encompasses two XOR gates and two flip flops. We chose SN74HC86N, a 4-channel XOR IC, and SN74HC175N, a 4-input D Flip Flop IC, both from TI. The XOR IC provides for the functionality of 4 XOR gates, and the Flip Flop IC provides for the functionality of 4 D flip flops with differential outputs. Because of this, we will be able to provide the logic for the state machine of two motors with one of each of these chips. Therefore, we will only need three of each for our picking subsystem. Their current and voltage requirements are standard logic level as we expected and their propagation delays were negligible.

With the selection of the components of the state machine, the design of the stepper motor driver circuit is complete. In the figure below 4.2.2 is the schematic diagram one of the six identical stepper motor driver circuits that will be used in our picking subsystem.

Figure 4.2.2: Stepper Motor Driver Circuit Schematic

4.3 Servo Motor Control (Pulley System)

The twelve selected servos will be interfaced directly with the microcontroller chip’s twelve dedicated individual Pulse Width Modulation GPIO pins, with the microcontroller and servo motors sharing a common ground. The supply voltage

Page 61: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

57

to the microcontroller will not necessarily be the same as the servo supply voltage source. All twelve servos shall have a common ground and a common supply voltage of 5 volts. There are no required dropdown capacitors or resistors with the servo circuits as they have all the required couplings, stator, and pulse width modulation circuitry is all packaged within the servo. As stated before, the MG90S will require a voltage step up on the PWM input line. There are twelve tri-state buffers that are attached to the input of the twelve servos. The 74VHC244FT buffers’ Vcc are tied to the 5 Volt line used by the Servo DC power node. The Servos (MG90S) require a pulse width modulation voltage of 5 volts. Thus, when the input of 3.3 volts coming from the microcontroller goes into the 74VHC244FT’s lines, they can output the required 5 volts to the servo.

The 74VHC244FT comes in a surface mount packaging, and any resistors can be tombstone surface mount components, to conserve space. This circuit is subject to change if the servo picked is insufficient in moving the solenoid assemblies. If the HS311 or HS485 servos are chosen, then the driver circuit is not necessary, as the input voltage for the PWM control line is variable from 3 to 5 volts. This would save space on the PCB and money as well. The unit cost of the 74VHC244FT is 0.49 dollars. With 8 lines inside each chip, this would mean that we only need 2 and would have 4 spare buffer lines. The servo schematic is shown in Figure 4.3.1.

Figure 4.3.1: Servo Schematic

Page 62: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

58

4.4 Dynamic Control

Dynamic control, in terms of electro-mechanical parts shall be two servo motors, either the HS311 or HS485 servos. They can be tied to the same power, same PWM input control line, and same ground, as they need to be actuated at the same time and travel the same distance. This circuit is easy to implement, as it requires no separate driver circuit, and only needs one PWM line from the microcontroller. As is shown in Figure 4.4.1, one input is used. This should not cause any issues apart from the current drawn from the microcontroller. The current consumed by the PWM line is not a parameter listed on the datasheet for the servos.

Figure 4.4.1: PWM line

4.5 String Depression

Figure 4.5.1 shows the basic design plan of the sub-system for the String Depression. It includes the use of solenoids, with an overall built to hold the solenoids in place. In order to move the solenoids we will use a pulley system that will move accordingly with work from a servo motor.

Figure 4.5.1: String Depression Sub-system

Page 63: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

59

The solenoids will be held by the pulley through a design, with work of a 3D printer. Figure 4.5.2 shows the part that is needed to be attached to the driver belt of the pullet system so the solenoid is able to move up and down each fret.

Figure 4.5.2: Solenoid Covering.

4.5.1 Solenoids and Control

For our string depression system we chose the ZHO-0420S-05A4.5 solenoid, which had an expected force output of 140 gf when excited with a 400mA current at 12V, at a 25% duty cycle. Its expected continuous current is 200mA, but we do not intend to run it at the level of current, since the force output would be much lower. The solenoid will be controlled from an output pin from the microcontroller. It will be powered not from the microcontroller but from the power supply subsystem, outlined in section 4.5.

A solenoid primarily needs to be either on or off. That is, it needs a switch. One of the most common ways to perform this switching function is with a transistor. This is the technology we plan to use. The specific type and model will be discussed later in this section. As a solenoid is inductive, its voltage drop is proportional to the change in current through it. If the solenoid is switched off from an on state, it will resist that change with a proportional voltage spike that is unhealthy for the circuit. A diode will be needed to regulate this occurrence. In addition to the transistor and diode, our design will use a resistor between the output pin of the microcontroller and the base/gate of the transistor to bias it properly. So these three components, a transistor, a diode, and a resistor will complete the solenoid driver circuit.

A reference design of a microcontroller-controlled solenoid driver circuit is shown in the figure 4.5.1.1 below. Our design will emulate this layout, which is one of the simpler solenoid driver circuit designs possible. During testing, we will determine

Page 64: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

60

whether we need to add greater complexity to modify such performance aspects as solenoid current draw and turn-on and turn-off transient response.

Figure 4.5.1.1: Microcontroller Solenoid Driver Circuit

The transistor in the figure 4.5.1.1 is a bipolar junction transistor (BJT). The output from the microcontroller is either high (3.3V) or low (0V). When it is low, the biasing voltage is below turn-on voltage and the transistor is in cutoff mode. The collector-to-emitter terminals act as an open circuit and the power supply is not connected to ground. The solenoid remains in the off state. When the output of the microcontroller pin is high, the transistor is biased beyond the turn on voltage. The collector-to-emitter terminals nearly act as a short circuit; the transistor is in saturation mode. The power supply is connected to ground and current is passed through the solenoid but not through the diode. The current in the solenoid does not change instantaneously but exhibits a transient response that at this phase of our design we are considering to be of negligible length of time and current variation.

By the end of the transient response, the solenoid should be passing the expected amount of current, resulting in the desired force applied to the shaft and, by extension, the guitar string. When the microcontroller output transitions from high to low voltage, the solenoid is expected to return immediately to its off state. This is not the case as the sudden change in voltage supply induces opposing current through the solenoid, causing it to continue operating after the desired time and with the spike in voltage potentially damaging the circuit components. To avoid this occurrence, the diode, commonly referred to as a “freewheeling” or “flyback” diode, is placed in parallel with the solenoid to dissipate the current quickly.

Page 65: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

61

The type of transistor we will choose for our design will be a BJT, rather than a field-effect transistor (FET), as a BJT does not require as high of a voltage applied at the base to operate as a FET requires at its gate. There are tens of thousands of models of BJTs and FETs available to choose from, with many FETs that do not have such a high gate voltage, yet these are often more expensive. Though the drawbacks of using a BJT are current flow at the base terminal, voltage drop across the collector-to-emitter terminals, and often higher power dissipation, these are not expected to present design problems.

We plan to use the TIP102 Darlington NPN BJT that is referred to in the reference design. Its absolute maximum current ratings are listed in Table 4.5.1.1. It can handle up to 8 A of collector-to-emitter current, whereas we expect to need around 500 mA. We do not expect our base current to approach the same order of magnitude as the maximum of 1 A.

Symbol Parameter Rating Unit

IC Collector Current (DC) 8 A

ICP Collector Current (Pulse) 15 A

IB Base Current (DC) 1 A

Table 4.5.1.1: NPN BJT current ratings

The saturation current gain for the TIP102 is 500. From our desired Ic of 500 mA, our base current IB will need to be 1 mA to keep the BJT in saturation. With a microcontroller output voltage of 3.3V, and a base-emitter voltage of approximately1V, the resistor in our driver circuit will need a resistance of at most

2.3 k. To provide margin, we chose a value of 2 k. We note that the corresponding collector-to-emitter voltage drop is 0.8V, which would require a higher supplied voltage if we expect to keep a 12V drop across the solenoid. The power dissipated through the BJT would be VCE*IC = 0.4W, much less than the maximum rating of 2W.

We plan to use the 1N4004 diode that was recommended in the reference design. It is a part of a family of 1N400X diodes (1N4001 – 1N4007) whose overall behavior is similar except for maximum reverse voltage, which ranges from 50V for the 1N4001 to 1kV for the 1N4007. All of these values are beyond the safety factor of 2 recommended above the nominal coil voltage of the solenoid. However, to comfortably handle all voltage spikes, we chose the 1N4004, which has a maximum reverse voltage of 400V. The average output current rating for each model is 1 A, which is greater than our operating current and is satisfactory for our circuit.

Our circuit is shown in Figure 4.5.1.1.

Page 66: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

62

Figure 4.5.1.1: Solenoid Circuit

4.6 Power Supply

The power supply that was chosen and purchased for the use of this project is from TRC electronics PN SE-350-24. It has a rated output voltage of 24VDC and an output max current of 14.6 A. The power it used for distribution and needs to be distributed to the six servo motors, six stepper motors, and 12 solenoids. Along with distributing to the electro-mechanical parts the power supply will need to be distributed to the microcontroller. In order to distribute power it is needed to know what components we are using, and what the rated voltage and current is required for these parts. In doing research, I have noticed that it may be better to even distribute power, that is a couple volts over the rated voltage in order to insure and moving device. In Table 4.6.1 below it shows the rated voltage and current of the known components. The power supply design is then created from these known components. The first is the power design to the stepper motor.

Component Manufacturer Part Number Rated Voltage

Rated Current

Power Supply

TRC Electronincs

SE-350-24 24 VDC 14.6 A

Stepper Motor

Pololu SY20STH30-0604A

3.9 VDC 0.6 A

Servo Motor (Pulley System)

Tower Pro MG90S 4.8-6 VDC

7.4-7.7mA/idle 160-180 mA no load operating

Servo Motor (Dynamic Control)

Hiltec HS-311 4.8-6 VDC

7.4-7.7mA/idle 160-180 mA no load operating

Solenoid Average rate Average Rate 6-9 VDC 0.5 A

MCU TIVA TM4C123GH6PZ 3.3 VDC 19.7 mA

Table 4.6.1: Rated Voltage and Current

Page 67: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

63

In Figure 4.6.1 shows, how a DC power supply, will be feed through a supply and converted for the rated voltage and current required to each stepper motor. The stepper motor will be using a driver circuit, and the power circuit will deliver current and voltage to the load. Since there are 6 stepper motors required, the current output of the supply will be that of the 6 stepper motors added together. So the voltage output required is 3.9 VDC, and the output current is 3.6 Amps. The LM3150, is ideal for this circuit because the voltage allows adjustment through the use of changing resistors values.

Figure 4.6.1: DC Conversion to Stepper Motors

In order to regulate the power going into each load component requires the use of power regulators. The regulators can be designed where once the power has been controlled it can be feed into the multiple components. For instance, for the stepper motor to receive the substantial power it requires the Texas Instrument voltage regulator LM3150 will be useful. The LM3150 is known as the simple switcher, and is a simplified step down power controller. It offers features such as thermal shutdown, under-voltage lockout, over-voltage protection, short-circuit protection, current limit, and output voltage pre-bias startup. This allows for a reliable product. For instance during testing or operation of the automated guitar, instead of frying the circuit or a motor we will, the regulator will allow for shut down. The LM3150 has an operating voltage input range is 6VDC-42VDC. The LM3150, will be designed in conjunction with the use of other components such as capacitors, inductors, and resistors.

In Figure 4.6.2 shows the schematic for the distribution of the power supply to the stepper motors. The output, can be connected to each load, so only one circuit is needed. The schematic includes the use of capacitors, resistors and MOSFET transistors. The output is the rated voltage, and the current required through each load added together.

Page 68: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

64

Figure 4.6.2: Schematic for Stepper Motor

In figure 4.6.3, this shows how a DC power supply will connect to the microcontroller load. Supply_1, signifies the power regulator converter that will be used a long with a circuit to provide the rated voltage of 3.3 VDC for the microcontroller, along with the logic components. The driver circuit of the stepper

Figure 4.6.3: DC Conversion to Microcontroller and Logic Components

motors, in the string picking subsystem will rewuire the use of 3 flip flop ics and 3 xor gates. We are able to set the voltage equal to that of the microcontroller to save design room on a PCB board. Since the TIVA microcontroller is high performance and varies, the rated current was choosen from the data sheet. 19.7 mA, is rated at room temperature at 16 MHz, while the microcontrolller is running. This is a very small current running to the microcontroller, after analysis of the data sheet, it was noticable that this specific controller is able to handle current more

Page 69: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

65

than the rated and as little as 1.6µA. Since the current is so small, in the microcontroller using two regulators is recommended for better effiency. The first regualtor would be used to step-down the voltage and meet the recommend rated current, and the second regulator supply would be used to step-down the voltage to that of 3.3 VDC.

The recommended regualators, for supply_1 is TPS62177. The TPS62177 is a high efficiency synchronous step-down convereter. It has a voltage input rand of 4.75 V to 28 V DC. The device is used to proive up to 500 mA output current. The features of this device, is best suited for out project because it automatically enters power save mode at light loads, to maintain high efficiency across the whole range. It offers a feature a sleep mode to supply applications with advanced power save modes with ulter low power microcontrollers. This step- down converter is used to bring down the voltage as well as the output current. Figure 4.6.4 is a schematic, for the power regulation of the microcontroller load and of the logic components.

Figure 4.6.4: Schematic for Microcontroller and Logic Components

Above in Figure 4.6.5 shows how our DC power supply, will deliver DC voltage to the 12 servo motors. The servo motors are used in the design of the pulley system to move the solenoids, forward and backwards. The rated votlage ranges from 4.6-6V. The design of the power system is for a 6V servo motor. The greater power

Figure 4.6.5: Servo Motor Load Distribution

Page 70: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

66

delivered may help in resulting a greater torque for the servo. The figure shows, how only one voltage regulator will be needed and can be distributed to the multiple servo motors. TPS54336 is the best use voltage regulator for the servo motors. This step down converter is adjustable to the correct circuit to support the ideal current needed in this design.

Figure 4.6.6 shows the schematic for the servo motor. The schematic includes design requirements for the rated voltage and current, of the servo motors. Since each load requires a 0.18 mA of current, the ouput of the supply will have to be 2.34 A. The TPS54226 regulator is ment for output currents of 3 amps or less. It has up too a 28 voltage input, which is just enough for our DC voltage supply.

Figure 4.6.6: Schematic for Servo Motor

The schematic for the servo motor was desing in WEBENCH, a tool for power archeticture that Texas instrument offers. This supply will be regulating voltage and current to the twelve servo motors in the load. The servo motors are being used in the design to control the pulley system, under the fret. Since our design requires the use of 12 solenoids, one for each fret, we will also require 12 servo motors. The power distribution of the servo motor, may be redesigned in the future. The trick with the motor systems, is that there will have to be enough power delivered to each motor, so there is enough torque produced.

Figure 4.6.7 shows the DC conversion to solenoids. Since power can be distributed through multiple loads of the same voltage, only one power regulation circuit will be required for the power supply to the solenoids. The example above has twelve loads in this supply, because it signifies the use of twelve solenoids. The twelve solenoids will be used in the String Depression system. The current running through each solenoid is added in series to the supply, and this result in the output current at the regulation circuit.

The solenoids require a LM25117 synchronous buck controller; this is intended to

Page 71: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

67

Figure 4.6.7: DC Conversion to Solenoids

step down regulator applications from a higher voltage source, such as our 24VDC power supply. The use of the emulated control ramp that this regulator carries is a feature that reduces noise sensitivity of the pulse-width modulation circuit. Figure 4.6.8 shows how the power will be distributed throughout the load. Supply_1 includes the LM25117 regulator. The figure below shows how one supply regulating circuit can be used to distribute over multiple loads. For instance, to power the solenoids uses 0.5 A of current; therefore the output of the supply is 6 amps. The schematic to make this plausible can be found in Figure 4.6.8.

Figure 4.6.8: Schematic for the Solenoid

Page 72: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

68

Figure 4.6.8 shows the schematic for the regulation of power to the twelve solenoids we are using. Since testing is still required for the solenoids, the schematic is for the average rated voltage we plan to use and the average rated current. These values were chosen, because in the research section, it would be ideal to have a solenoid between 5-12 VDC. During testing periods we may conclude that a use of a greater rated voltage may be required, and then the design of the solenoid schematic will need to be re-worked. However for twelve solenoids rated at 6 volts with an input of 0.5 amps of current per each load.

Figure 4.6.9: Dynamic Control Servo Motors

Figure 4.6.9 is the schematic that will be used for the dynamic control power regulation using the servo motors. The max rated voltage was at 6V, with a 180 mA rated current. This design was created for the max current. It reguires the us of the TPS62175 step-down converter. This converter is ideal as it can handle an input voltage from 4.75V-28V. Since there is now driver circuit required for these servo motors used our output current will be under 500 mA. This specific step-down converter provides up to 500mA output current. Another great feature of the regulator is that it offers both adjustable and a fixed output voltage. This is great for future use if the schematic will need to change, we can just adjust the value of the capacitors.

Table 4.6.2: Regulators and Price

In Table 4.6.2 shows the results for the given regulators that we will require. Included in the table is the part number of the regulators and the recorded price for each component. The components will be used for testing purposes. We plan to use Webench, software offered from Texas Instrument, to create our power architecture. Webench allows the design of a multi-load power distribution, which may be integrated into the design of our PCB layout for the project.

Component Regulator Price

Stepper Motors LM3150 $1.42

Microcontroller TPS62177 $1.42

Servo Motors TPS54336 $2.26

Servo Motors TPS61725 $1.44

Solenoids LM25117 $4.30

Page 73: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

69

5 Design Summary 5.1 Electrical Design Summary 5.1.1 Power Regulation

Power Regulation Schematic for stepper motors:

Power Regulation Schematic for Microcontroller and Logic Components:

Power Regulation Schematic for Servo Motors (Pulley System):

Page 74: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

70

Power Regulation Schematic for Solenoids:

Power Regulation Schematic for Stepper Motors (Dynamic Control):

5.1.2 Servo Drivers

Tri-state buffer driver array:

Page 75: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

71

Servo Array:

PWM Line:

5.1.3 Stepper Motor Drivers

Stepper Motor Driver Circuit:

Page 76: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

72

5.1.4 Solenoid Drivers

Solenoid Driver Circuit:

5.2 Mechanical Design Summary

Our Hardware will be comprised of three main assemblies. There shall be a framework that has the 12 servos attached, and the belt-driven solenoid mechanical assembly. A separate assembly shall rest flush with the surface of the guitar body, and consist of the dynamic control system, which contains the six stepper motors. These two assemblies are connected to an enclosure which houses our PCB board and Power supply via wiring harnesses.

Page 77: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

73

Page 78: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

74

The prior figure shows the two subsystems attached to the guitar that will be used for this project. The dimensions of the static items have been fitted specifically for this instrument and would likely not be compatible with another instrument, apart from one of similar make and model. Each subsystem will be detailed in later portions of the paper.

5.2.1 PCB Enclosure

Our PCB and power supply shall be encased inside of a metal casing, with chassis grounding for the power supply and potentially for the PCB as well. The power supply shall be mounted to the enclosure directly, while the PCB board will be mounted to the enclosure using standoffs, giving reasonable clearance for all surface mounted components on the PCB as well as any heat sinks.

5.2.2 String Selection Assembly

The String Selection assembly, shown in Figure 5.2.2.1, would fit and or be assembled around the neck of the guitar. It would comprise of 2 main bulkheads, of which the neck of the guitar would pass through the bulkheads. Also fixed to the two bulkheads are two parallel metal dowels, on which the 12 belts would be rolled over, with some form of friction-removing bit, similar to a paper-towel roller or spool. Attached to the bottoms of each bulkhead shall be a floor on which the servo motors are fixed to, in staggered order. Twelve solenoid assemblies, separated by grooved wedges, shall be suspended above the fret board and strings of the guitar. The belts on each servo motor shall be passed around the dowels and be fixed to both sides of the solenoid assembly. Upon rotation of a servo, it would pull on one side of the solenoid assembly, which has free motion within the grooves in the wedges, would be pulled in the desired direction.

Figure 5.2.2.1: String Selection Assembly (Top View)

Page 79: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

75

As is shown in Figure 5.2.2.1, the dimensions between frets are shown in decrementing fashion from the left to right. Shown in Orange are the two metal dowels. The bulkheads are shown in magenta as well as the grooved wedges. As shown in Figure 5.2.2.2, servo motors are represented by red block items.

Figure 5.2.2.2: String Selection Assembly (Side View)

Solenoid assemblies are represented by blue block items. Spacing and dimensions are shown in the diagram. The grooved wedges are the purple items separating the solenoids, and their required spacing dimensions are specified. As guitar fret boards and string placement is slightly beveled, the grooves need to be slightly beveled as well, so that the solenoid action is the same distance for each string. This is better detailed in figure 5.2.2.3, shown below.

Figure 5.2.2.3: Solenoid Enclosure

Page 80: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

76

Materials for the bulkheads and wedges is not specified at this point in time but a likely candidate is balsa wood, or some other light wood. Solenoid enclosure material candidates include 3D printer-made or similar material. A mold would likely be even more expensive than 3D printing.

5.2.3 Picking Assembly

The picking assembly comprises of a base piece, which would rest flush on the surface of the guitar, conforming to several key contour features, which include the 2 humbucking pickups of the guitar. Four corners of the base shall each have a vertical groove. Matched with each groove is a corner of the dynamic control assembly. The dynamic control assembly consists of a boxlike framework, containing six servo motors, with 3 on each opposite side, staggered and 20 mm apart center to center. Fixed to each stepper motor is a guitar pick, using some method yet to be physically actualized but rather conceptualized at this stage. Two armatures protruding from the box structure would include a tooth that rests on a worm gear. The worm gear is fixed a servo motor, of which is mounted on the base fixture. This is the dynamic control system. When the servo motors are rotated, the worm gear rotates, and would in theory lift up the entire rack of stepper motors, which in turn changes the depth of the picks in reference to each string. These characteristics are visualized in Figures 5.2.3.1, 5.2.3.2, and 5.2.3.3.

Figure 5.2.3.1: Picking Assembly (Top View)

As is shown in Figure 5.2.3.1, the six stepper motors are represented in lime green. These items are directly modeled on the chosen stepper motor, purchased from Pololu. Its dimensions fit very conveniently to our use. The worm gears are shown in light blue. Beneath them are misleadingly modeled servo motors. The servos currently chosen are Hitec HS311’s which are rectangular and tall. They will be more accurately represented in the concept sketch below, Figure 5.2.3.3. The base is shown in dark pink, while the dynamic control frame is shown in light pink.

Page 81: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

77

Figure 5.2.3.2: Picking Assembly

As seen in Figure 5.2.3.2, guitar picks are shown as orange items. The attachment feature used to connect them to the stepper motors is not shown. The picks could be cut accurately and form fitted around the rotating arm of the stepper motors, or securely fixed to the flat side, to simplify the design.

Figure 5.2.3.3: Dynamic Control Assembly

Page 82: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

78

6 Project Prototype Construction and Coding 6.1 PCB Design

The printed circuit board is one of the most important characteristics to our project.

It will offer the circuitry for the power supply, as well as host the microcontroller.

The printed circuit board will host all the components for the project as well as

provide a connection for these components. For the automated guitar project we

have decided to use CadSoft EAGLE PCB design software tool. The reason for

this is because of its high notability, and it is well known in the industry. Eagle

claims to be an easy to learn tool and is able to run on multiple operating systems.

It offers simulation and data import and export. The data importing is important. If

any member wanted to design schematics using different software we would be

able to integrate it all in EAGLE. A very convenient tool that eagle offers is the

DesignLink. The DesignLink is an automated connection to the database to search

and find parts that are within the design environment. This means that it will let us

receive quotes or place orders from quality manufactures.

6.2 Software and Firmware Summary 6.2.1 Software Summary

The sum total objective of the desktop application, which is to be composed in C++, is to parse a MIDI file into its sequence components, and hence be broken down into its elements of note to be played, intensity of note, duration of note, and any other available parameters to be made available. Hence, we would have a data structure that might look something similar to the table below (Table 6.2.1.1).

Sequence Title, Beats Per Minute = 60, Time Signature = 4/4

Number of items in Sequence = 6

Measure Note (0-127) Intensity Whole/Half/Quarter/etc

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

Table 6.2.1.1: Data Structure

This is an estimation of what a simple major scale beginning at middle C and ending at G just five notes up would look like. There are parameters that can be ignored, such as Modulation of the note after it is played (unless we accessorize our guitar with a tremolo bridge to add frequency modulation), and Aftertouch as

Page 83: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

79

well, as we do not intend on changing note intensity quickly enough to impact any one note of a sequence, but rather the overall volume of the notes being played. So, we may want to use this value and take the rolling average of it, to adjust and account for changes in note intensity over a length of time.

Once we have our MIDI music parsed into useable data, we can then go on to convert it into a useable data format that our guitar system microcontroller can use to complete a sequence. Our current objective is to have the lowest 12 frets be playable on all 6 strings of the guitar, in addition to open strings (no fret pressed). Because of the way a guitar is made, there are several places in which the same note (frequency) can be played. The lowest frequency available on the guitar, assuming a standard tuning of E, A, D, G, B, and E in that order, provides the table of frequencies below (Table 6.2.1.2).

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

Table 6.2.1.2: Table of Frequencies

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. Hence, this is one of several programming-implemented exceptions to be created. With our guitar’s 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. Thus, any note in a MIDI sequence Above this frequency, or in terms of MIDI, above note 77, will either have to be discarded or be played one, two, or Don’t-Care octaves below it, with the decision process being based on which note is easiest to get to based on which other notes are being played at the time, or will be played in the near future.

With this in mind, we will create a mapping module that can take in the Note number and simply convert it to a fret number. Because of the way guitar strings are tuned, the 5th fret of the E2 String is equivalent to the open (no fret pressed) note of the A2 string. They are both A2. Therefore, 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. This would circumvent the use of the servo motor and solenoid for that particular note, which frees a particular fret’s servo to be moved to another string to play a note that cannot be attained through the easiest measure possible. 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

Page 84: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

80

sequence being time t = 0.000. Our example case for this conversion will use the scale previously shown (Table 6.2.1.3).

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.

Table 6.2.1.3: Conversion Scale

Now, we have our data in a format that our guitar can more readily turn into control signals. But first, there need to be some exceptions implemented so as to not bog down the hardware with impossible to play sequences and so that notes on the same fret would automatically be changed into a different fret and string combination that is available. To show how this would occur, a new test sequence is required; one that would prove impossible without the planned exceptions. The previous example would in theory be able to fit into the scope of our planned string-switching speed, as there is a separation of half a second between the two notes that are played on the same fret, from the point where the note is released to the time when the new note needs to be played. For simplicity, we will only show it in the converted format and not the original MIDI format (Table 6.2.1.4).

Sequence Title, Beats Per Minute = 60, Time Signature = 4/4

Number of items in Sequence = 6

Measure Note (0-127)

String Fret Duration Time t End Note Time

0.00 20 6(E) 3 0.250 0.000 0.250

0.00 24 5(A) 2 0.250 0.000 0.250

0.00 67 1(E) 3 0.250 0.000 0.250

0.25 80 1(E) 15 0.250 0.750 1.000

0.50 67 1(E) 3 0.500 1.000 2.000

1.00 X X X Infinity 2.00 infinity

Table 6.2.1.4: Converted Format

Page 85: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

81

As is shown in highlighted colors, there are two notes in the sequence, meant to be played at identical points in time, that reside on the same fret number, which is the third fret. The other warning, shown in red, is a note that is too high in frequency to be played by our hardware design. To make proper corrections to the sequence, we shall use a checking sequence that can accomplish several tasks.

To keep the jumping around to a minimum, the first exception check that shall be implemented will be the Range Check, which will alleviate the issue highlighted in yellow. It will compare a sequence item’s converted String and fret position to range of allowable frets (in the event that it is too high) and if it is found to be greater than 77, that value could be subtracted by multiples of 12 until it reaches an allowed frequency and then placed back into the sequence. In the event that the MIDI note was a frequency below the guitar’s lowest frequency, it would not have been mapped to a fret in the first place. This provides us with the choice to either drop those notes all together or bring them up in frequency, up multiples of 12 MIDI notes until it reaches an allowed frequency and then be placed into its respective place in the sequence.

After that stage of exception checking takes place, another exception check is necessary to alleviate the issue highlighted in red, which is, notes being on the same fret. For the example given, we would want the exception handler to see the conflict and then proceed to make the change of string to 5(B) and to then add 5 to the fret value, as this new fret is the same frequency as the previous fret.

As for the first exception, note 80, originally on 1(E), fret 15, would be dropped by one octave, making it fret 3 on (1E). This would raise another hazard, as this fret was previously occupied by the same note. It would be possible to play it twice, as that is what it would do, but it would produce an undesirable effect of repetitive notes. To enhance the sound, this note could instead be moved to 6(E) on fret 3. However, this would raise a slightly different flag than that from before. The issue is not that the notes are on the same fret at the same exact time. Rather, it is that they are on the same fret but meant to be played sequentially without pause. Because of the physical limits in place by our mechanical design, this should raise a flag as well. Moving the servo/solenoid from string 1(E) to 6(E) and all the way back to 1(E) would not be feasible. For this sequence, we know in advance before we play that we want to be back at 1(E) on that fret relatively soon. Hence, it would be very good to not leave unless absolutely necessary until that note has also been played. Therefore, the moved note, originally at note 80, should be played on a fret that is currently not occupied by anyone in the general area of time around that note in the sequence. The exception handler would easily be able to conjure a list of possible notes that are in multiples of octaves below or above the note, and from that list, pare away notes that conflict with other notes nearby in the sequence. The distance in time that notes should be considered for paring is arbitrary at this point.

More generic exceptions to be considered are the tempo of the MIDI sequence provided. Physical constraints on our design will limit the beats per minute that can be played as well as what power of note division can be achieved in measures, i.e. quarter, sixteenth, and thirty-secondth notes. There are two paths that can be

Page 86: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

82

taken to alleviate speed constraints. The first option is to drop every other note completely from the sequence and essentially cut the beats per minute in half (or change the time signature by 2). The other option would to be to slow the song down, and effectively increase the timestamp values linearly across the board.

At this point, the sequence could be ready to be sent to the guitar system to be played. Our microcontroller, and the firmware involved, detailed in section 5.3.2, will simply want to see a stream of values to be pushed out in order to the various mechanical devices required to produce the music sequence. Hence, the final goal of the PC program written in C++ is to communicate via USB with our TI Microcontroller, send over the entire sequence packet, and then be able to initialize playback at the desired time. To accomplish this, the microcontroller has dedicated USB protocol lines and hardware internal to it. We are under the assumption that we will be able to use open source code to implement the USB protocol on the Microcontroller end to make it a slave device. This leads the programming discussion into firmware, detailed below in section 6.2.2.

6.2.2 Firmware Summary

The arena of firmware to be used in our design begins where the software implemented on the PC computer ended, which is at USB communication as a slave device. Our microcontroller will shake hands with the PC computer, receive a packet including a musical sequence and then store it in memory to be initiated at the desired time specified by the master device, the PC computer.

Assuming a song sequence has been sent to the microcontroller and then stored in memory, here is an example of what we will need the microcontroller to do. For simplicity we will use a previously used sequence to demonstrate (Table 6.2.2.1).

Sequence Title (Not Required)

Number of items in Sequence = 6; Volume: High

String Fret Duration Time t End Note Time

2(B) 1 0.250 0.000 0.250

2(B) 3 0.250 0.250 0.500

1(E) 0 0.250 0.500 0.750

1(E) 1 0.250 0.750 1.000

1(E) 3 0.250 1.000 2.000

X X Infinity 2.00 Inf.

Table 6.2.2.1: Sequence Demonstration

As can be seen from the Table 6.2.2.1, the volume level parameter from the MIDI File, has been converted to simply ‘high’ for this sequence. In the case of a much longer sequence, this would be specified per second of the sequence.

All of these sequence components need to be turned into electro-mechanical device instructions. To accomplish this, first, we shall now list all of the devices

Page 87: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

83

that need a state/position value (Table 6.2.2.2). There are various field sizes so encoding these into bits, bytes, or words would be a case by case basis.

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

Table 6.2.2.2: Sequence Components to be Turned

As is evident in the table in Table 6.2.2.2, there are some elements which will only need two states; for example the solenoids. They are either turned on or off. This could easily be represented in two bytes in memory and or a register, and just bit-set when necessary. Other elements, such as servo motors, would need six values, making the minimum bit field required to be 3. The value stored in a particular Servo’s variable field would be tied to a Pulse width modulation value to be output by the Microcontroller at all times while the system is powered on. A 1 encoded would indicate the pulse width required for the servo to move the

Page 88: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

84

matching solenoid to the E(1) string, whereas a 6 encoded would change the pulse width to the value required to move the solenoid over to string E(6). Any steps in between would be encoded accordingly as well. The dynamic control servos would in reality only need 2 values as controlling the dynamic control could prove difficult but build testing could change that.

The stepper motors are a different case as they must either be at rest, or picking at a variable speed, as well as for a variable length of time, completely dependent on the requirements of the song sequence. However, these variations are just the superposition of discrete picking sequences, which in reality are just yes-or-no events. If there is a note to be played, the servos need to do a picking sweep. If there is a second note immediately afterwards on the same string, it could be considered just another separate picking event.

This leads us to a fork. We could, in theory, implement a time-based list of picking events to occur, stepper motor events, and servo motor events to occur, all in separate chronological lists, and would be executed in the processor in a rotating fashion, or, on the other hand, events would be maintained together in groups and then as a whole, executed in order. 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, i.e. for the servo motors. Not every event line can move the hardware simultaneously in sync if there are delays in some hardware components and not others. Hence, it could be better to at this point split the various output components into their own lists, then have them execute in a sampled round-robin fashion. Below are what two possible sequence tables would look like if either option were implemented, using that original example found above in Table 6.2.2.1. Table 6.2.2.3 shows the first method of instruction set.

Combined Execution Method Command Matrix

Number of items in Sequence = 6; Volume: High

Pre-emptive Servo Command

Immediate Solenoid Command

Immediate Stepper Command

String Fret Dura-tion

Time t End Note Time

Time t = -0.250; SER1 => 2

2(B) 1 0.250 0.000 0.250 SER3 => 2 SOL1 => ON STEP2 => PICK

2(B) 3 0.250 0.250 0.500 SER1 => 1 SOL1 => OFF SOL3 => ON

STEP2 => PICK

1€ 0 0.250 0.500 0.750 SOL3 => OFF

STEP1 => PICK

1€ 1 0.250 0.750 1.000 SER3 => 1 SOL1 => ON STEP1 => PICK

1€ 3 0.250 1.000 2.000 SOL1 => OFF SOL3 => ON

STEP1 => PICK

X X Inf. 2.00 Inf. SOL3 => OFF

Table 6.2.2.3: Music Song Sequence

Page 89: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

85

Using the same sequence given above, Table 6.2.2.4 what an event list would look like for the three different components. Time values now no longer have to fit into segmented blocks and can be individual stamps, so if there is some arcane requirement of a servo that needs to be addressed regardless of a solenoid or picking event, it can happen. This would really be a more time-sensitive application but in the case of this sequence, would not really be necessary due to the simplicity. But for proof of concept, this simple sequence will be used.

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

Table 6.2.2.4: Instruction Set Option 2

This representation gives more accurate time placement to when the events should take place, as the servos need to be in place for a solenoid to be allowed to be pressed, and you cannot pick the string until the solenoid is pressing on the string, and each process has its time requirements. Generating these timestamps would require some simple arithmetic based on testing times measured for actions.

This concludes our current assumptions and plans for the development of our custom software. The firmware will be implemented in Code Composer Studio in the C language.

Page 90: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

86

7 Project Prototype Testing Our design must be tested to determine its fulfillment of the original design concept. Due to the complexity of the system, subsections and components within those subsystems will need to be tested to ensure the viability of the design to pass integrated system testing. The figure below (Figure 7.1), shows the generic testing process that will be implemented during all tests. The most likely need following a failed test will be general troubleshooting as we do not expect to set up the most optimal testing condition for every test of every system, subsystem, and component. If troubleshooting does not bring the test to pass, then possible design change must be considered. Though we do expect some aspect of our design to change, this should only be considered after all troubleshooting ideas are exhausted. However, it is possible that the design is functionally satisfactory, but the test requirement or original system, subsystem, or component specification was either unnecessary or not representative of actual conditions that would promote the success of the overall design. In this situation, this specification or test requirement may be subject to change. By this generic testing process we expect to be able to sort any encountered failures into the appropriate category to enhance the efficiency and effectiveness of our testing phase.

Figure 7.1: Prototype testing Sequence

Page 91: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

87

7.1 Solenoid Subsystem Testing

As mentioned in the solenoid strategic components section, none of the final solenoid models we considered met all of our specifications. The choice of solenoid was conditional on the results of force performance testing. Our solenoid subsystem testing focuses on shaft response and voltage and current draw, in addition to force performance. The testing should be performed in an environment with access to a power supply, the microcontroller, driver circuit, solenoid, multimeter, and an electric guitar.

Test Name Test Procedure Expected Result

Solenoid Activation

Connect solenoid leads to a 12V set of standard dry cell batteries.

Solenoid shaft is displaced.

Solenoid Shaft Return After Activation

From an activated solenoid, disconnect the leads. Solenoid shaft returns to rest state.

Solenoid Response to Periodic Activation

At a frequency of 2 seconds per cycle, alternate connecting and disconnecting leads to power supply. Repeat at a frequency of less than 1 second per cycle.

Solenoid shaft moves to position corresponding to each supply condition without visible delay.

Solenoid Current Draw

Using a multimeter, monitor the current levels during activation. Continue to monitor for 10 seconds, then monitor as power supply is disconnected.

Current levels stay below 500 mA.

Solenoid Voltage Spike

Using a multimeter, monitor the voltage levels when disconnecting power supply.

Voltage levels stay below 400 V.

Solenoid Force Contribution to Sound Quality

With solenoid body captivated so that it does not move, and positioned so that the distance between the string and the end of the shaft is 1 mm, connect the leads to the power supply. While the solenoid is activated, use a pick or finger to pick the string.

Sound produced is determined to be consistent and of adequate tone quality.

Solenoid Performance In Driver Circuit

Connect solenoid to microcontroller through driver circuit. Apply signals corresponding to on and off conditions.

If microcontroller code has passed testing, solenoid performance corresponds to test results with solenoid alone.

Page 92: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

88

Solenoid Cycle Speed

Connect solenoid to microcontroller through driver circuit. Alternate high and low microcontroller outputs at a frequency of 10 Hz per cycle

If microcontroller code has passed testing, solenoid cycles between on and off shaft positions at a consistent 10 Hz frequency.

Table 7.1: Solenoid Subsystem Testing

7.2 Stepper Motor Subsystem Testing

The stepper motor component and subsystem are designed to reliably produce characteristic guitar tones at a rate of 10 Hz. The stepper motor should be able to step through its angular displacement at consistent intervals without slipping or stalling. The driver circuit should support this action. The testing should be performed in an environment with access to a power supply, the microcontroller, driver circuit, motor, multimeter, and an electric guitar.

Test Name Test Procedure Expected Result

Motor Response to Single Input

Apply 3.9V power supply to one pair of leads. Repeat with each pair and each polarity.

Solenoid rotor advances one step for each pair and polarity.

Motor Response to Sequential Input

Apply 3.9V power supply consecutively in each configuration for five cycles of the full step sequence. Reverse the sequence through five cycles.

Motor rotor advances 20 steps in one direction. With the sequence reversed, the rotor advances 20 steps in the opposite direction.

Motor Current Draw

Using a multimeter, monitor the current levels during activation. Continue to monitor for 10 seconds, then monitor as power supply is disconnected.

Current levels stay below 1.2A.

Motor Voltage Spike

Using a multimeter, monitor the voltage levels when disconnecting power supply.

Voltage levels stay below 100 V.

Motor Performance in Driver Circuit

Connect motor to microcontroller through driver circuit. Apply step and direction signals in full step sequence through 250 sequence cycles. Switch direction signal and repeat for 250 sequence cycles.

Motor rotor advances through 5 full rotations consistently without slipping or stalling, in both directions.

Page 93: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

89

Motor Speed Connect motor to microcontroller through driver circuit. Apply step and direction signals such that motor should travel 40 steps in each direction. Alternating directions, repeat the 80 step cycle 50 times.

Motor completes 50 80-step cycles in 10 seconds, corresponding to a rate of 10 Hz per 40-step displacement.

Motor Torque Contribution to Sound Quality

With motor body captivated so that it does not move, affix the pick holder and pick to the rotor. Position the pick so that it will strike the guitar string if it rotates, with a starting displacement from the string of 36 degrees. Apply 10 separate 40-step sequences, alternating direction.

Motor causes pick to strike the string effectively, producing a consistent, adequate tone quality. String does not modify the path or speed of the pick noticeably.

Motor Note Production Rate

Repeat the settings of the test above, applying 50 consecutive 80-step alternated cycles.

Motor causes pick to strike the string effectively, producing a consistent, adequate tone quality. Motor completes 50 cycles in 10 seconds.

Table 7.2: Stepper Motor Subsystem Testing

7.3 Servo Motor Subsystem Testing

Test Name Test Procedure Expected Result

Servo Power-Up

Deliver Power to DC servo line, ground to ground. Nothing. No Operation Should Occur.

Servo PWM Resolve

Deliver a centering PWM Signal of 1400 us, 5 volts

Servo should resolve to center position, with 3 strings on each side of it.

Servo Maximum Position

Deliver 2400 us, 5 volt Pulse Width to servo Servo should move to its maximum position, with six strings being on one side of it

Servo Minimum Position

Deliver 400 us, 5 volt Pulse Width to servo Servo should move to its minimum position, with six strings being on the other side of it

Page 94: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

90

Servo Current Monitor

Using a multimeter, measure the current drawn through the DC line when the servo sweeps from one side to the other, and then back

Current levels stay below 0.3 A

PWM Current Monitor

Using an Oscillosocope, measure the current drawn through the PWM line when the servo is ambient, at various positions.

Current value does not exceed specified output requirements of the microcontroller or buffers

Servo Position accuracy

Determine the PWM value required to position the solenoid directly over each string

Servo can accurately move from each position to every other position.

Servo Speed Test

Measure the Time it takes to change from each string to every other string position after sending the new PWM signal to the servo

Servo passes our minimum specifications on how quickly it can be used in another note

Table 7.3: Servo Motor Subsystem Testing

7.4 Dynamic Control Subsystem Testing

Test Name Test Procedure Expected Result

Dynamic Control Initialize

Supply voltage to the two Dynamic Control Servo Motors

No ambient noise/part spasms

Dynamic Control Range Test

Send a PWM signal to the Dynamic control Servos to Initialize it to a center position

Servos successfully raise to an equilibrium in synchronous fashion

Dynamic Control Range Test

Send a PWM signal to the Dynamic control Servos to Initialize it to the maximum low position

Servos successfully lower to a minimum in synchronous fashion

Dynamic Control Range Test

Send a PWM signal to the Dynamic control servos to Initialize it to the maximum high position

Servos successfully raise to a maximum in synchronous fashion

Dynamic Control Position Test

Incrementally raise and lower the dynamic control from maximum position to minimum position and back

Noticeable difference in dynamic control apparatus height in each step, if on guitar, change in the amplitude in a string is noticeable by measuring the guitar output on an oscilloscope.

Table 7.4: Dynamic Control Subsystem Testing

Page 95: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

91

7.5 Microcontroller Subsystem Testing

Test Name Test Procedure Expected Result

Microcontroller Power On

Supply required voltage to microcontroller Successful power-up sequence for microcontroller

Microcontroller Code Implementation

Use Code Composer Studio to program the microcontroller with all of the required functions, modules, and kernel

Code Compiles

Microcontroller Boot Sequence

Initialize the microcontroller into an ambient state

Successful power-up sequence for programmed microcontroller

Microcontroller GPIO Run-through

Run a Test Program that outputs typical signal sequences for the 12 Servo Control Lines, PWM 400μs all the way to 2400μs and measure using an oscilloscope

Outputs are accurate and stable for all 12 GPIO PWM pins used

Microcontroller GPIO Run-through

Run a Test Program that toggles the GPIO Pins for the 12 Solenoids, and measure on a multi-meter

Outputs are accurate and stable for all 12 GPIO Solenoids pins used

Microcontroller GPIO Run-through

Run a Test Program that activates the stepper motor GPIO pins and ramps the values of the Pulse train frequency up and down in various fashions, and measure on the oscilloscope

Outputs are accurate and stable for all 12 GPIO Stepper pins used

Microcontroller GPIO Run-through

Run a Test Program that activates the one GPIO pin used for Dynamic Control Servo motors, and measure on the oscilloscope

Output is accurate and stable for the GPIO PWM pin used

Firmware Song Test

Generate a hard-coded song sequence in Code Composer Studio that can implement the various required outputs with hardware in place to verify

All control Items are successfully and synchronously activated and are do not perform out of specification

Microcontroller Communication

Attempt to communicate with microcontroller using PC computer

Microcontroller should act as a slave device with storage memory

Microcontroller packet transfer

Attempt to send Music Sequence to microcontroller Memory using PC computer

Microcontroller should act as a slave device with storage memory

Table 7.5: Microcontroller Subsystem Testing

Page 96: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

92

7.6 Power Distribution System Testing

Test Name Test Procedure Expected Result

Motor Current Draw Apply 3.9V power supply to one pair of leads. Using a multi-meter, monitor the current levels during activation. Continue to monitor for 10 seconds, then monitor as power supply is disconnected.

Current levels stay below 1.2A.

Motor Voltage Apply 3.9 V power supply to one pair of leads. Using a multi-meter, monitor the voltage at the input and output levels.

Voltage levels at input is 12-24V and voltage at output should be 3.9-5V.

Solenoid Current Draw

Using a multi-meter, monitor the current levels during activation. Continue to monitor for 10 seconds, then monitor as power supply is disconnected.

Current levels stay below 500 mA.

Solenoid Voltage Using a multi-meter measure the input and output voltage levels when power supply is on. Measure levels of input and output when power is off.

When power is on want output levels to be 12V, when power is 0V.

Servo Power-Up Deliver Power to DC servo line, ground to ground.

No Operation Should Occur.

Servo Current Monitor

Using a multi-meter, measure the current drawn through the DC line when the servo sweeps from one side to the other, and then back

Current levels stay below 0.3 A

PWM Current Monitor

Using an Oscilloscope, measure the current drawn through the PWM line when the servo is ambient, at various positions.

Current value does not exceed specified output requirements of the microcontroller

Microcontroller and Driver Circuit Stepper Motor testing

Using the regulator circuit. Measure the voltage at the input and output of the regulator. Then power On Apply 3.3 V required voltage to microcontroller and driver circuit.

The output voltage should be equal to 3.3 V. The microcontroller should turn on.

Microcontroller and Driver Circuit Stepper Motor testing

Supply voltage to the driver circuit and microcontroller using the regulator circuit. Measure the current at the input and output of the regulator, to the driver circuit.

The output current of the driver circuit should be minimum, close to zero. The microcontroller should turn on

Page 97: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

93

Dynamic Control Voltage

Supply voltage to the Dynamic Control Servo Motors using the regulator circuit. Using the multi-meter, measure the input and output voltages at the voltage regulator. Using the multi-meter, measure the input and output current at the voltage regulator.

The output voltage should be equal to 5V.

H-Bridge Voltage/ Current

Supply voltage to the H-Bridge using the voltage regulator circuit. Using a multi-meter measure the input and output voltage at the end of the regulator. Using the multi-meter measure the input and output current at the voltage regulator.

The output voltage should be equal to 3.3 V. The output current should be in micro-amps, very close to zero.

Table 7.6: Power Distribution Subsystem Testing

7.7 MIDI C++ Program Testing

Test Name Test Procedure Expected Result

MIDI C++ Program Compiling

Compile Desktop Application that encompasses all software requirement aspects and features needed to fully use the guitar system

Code compiles and visual features and elements are functional, with no errors or other issues

MIDI C++ Program Initialize

Open Desktop Application Desktop Application Opens successfully

MIDI C++ Program Functionality

Tester finds browse for MIDI File box and selects a MIDI file to load

MIDI file is selected and then loaded into the program's memory

MIDI C++ Program Functionality

Tester executes "Convert" command (test operation)

MIDI file is examined and parsed, with an output test text file being generated for the Tester to view and verify and make necessary corrections

MIDI C++ Program Functionality

Tester executes "Convert" command (full operation)

MIDI file is examined and parsed, with the output file being generated that can be sent via USB to the guitar

MIDI C++ Program Functionality

Tester executes "Send" command Sequence packet is sent to the computer's USB protocol to be packaged and sent to the guitar. It is then transmitted to the microcontroller. Once at the microcontroller it would be placed in the proper memory by the microcontroller's kernel.

Page 98: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

94

MIDI C++ Program Functionality

Tester executes "Play" command A command packet is sent to the microcontroller that when read by the kernel begins the playback process

Table 7.7: MIDI C++ Program Testing

7.8 Integrated System Testing

Test Name Test Procedure Expected Result

System Power On

Load a MIDI translated file to microcontroller with power supply connected, but do not press computer key for ‘START’.

No power or other anomalies occur.

Load Song 1 Load first MIDI translated file to microcontroller. The sequence instructs all motors to drive string picking simultaneously at 1 Hz, for 17 notes. No solenoids are driven to depress strings. This process is then repeated at 2 Hz, 4 Hz, then 8 Hz.

All strings are picked simultaneously, with no audibly or visually detectable variation in timing. The timing and consistency of note rate should not vary as frequency increases.

Load Song 2 Load second MIDI translated file to microcontroller. The sequence instructs one stepper motor at a time to drive string picking at 1 Hz, starting with the lowest pitch string. All servo motors are initially driven to that string. After the first note, the solenoids are activated one at a time for subsequent notes, starting with the lowest fret. After each solenoid is activated and released, the servo motor is driven to move that solenoid to the next nearest string. When the 12th solenoid is activated, the process continues on the next string, until all fret locations have been reached. This process is then repeated at 2 Hz, 4 Hz, then 8 Hz.

All notes are produced at the expected time with the same quality and volume of characteristic guitar tone. The timing and consistency of note rate should not vary as frequency increases.

Load Song 3 Load third MIDI translated file to microcontroller. The sequence instructs one stepper motor to drive string picking at 4 Hz. The dynamic control servo motors are driven to cycle the dynamic control system through all 8 height levels, with eight 4 Hz notes each.

All notes are produced with a noticeable volume increase across the 64 notes. The picking is not slowed down as the dynamic control cycles through the height levels.

Load Song 4 Load fourth MIDI translated file to microcontroller. The sequence instructs one stepper motor at a time to drive string picking at 1 Hz in a repeating sequence starting at the lowest-string stepper motor and cycling back after the activation of the highest-string stepper motor. While this sequence repeats, the lowest-fret solenoid is activated to depress the corresponding string that is being vibrated. After that solenoid depresses all six strings, the same sequence is repeated with the

All notes are produced at the expected time with the same quality and volume of characteristic guitar tone. The timing and consistency of note rate should not vary as frequency increases.

Page 99: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

95

second solenoid, through to the 12th. This process is then repeated at 2 Hz, 4 Hz, then 8 Hz.

Load Song 5 Load five MIDI translated file to microcontroller. The sequence instructs the system to perform a well-known piece of music.

All tone quality, note length, timing, and dynamics are produced consistent with the expected performance.

Table 7.8: Integrated System Testing

8 Administrative Content

Section (8) eight is reserved for administrative content. The first sub-section discusses our budget and finances. Our budget is how much we plan to spend, and the finances include how much each part costs. The second sub-section of the administrative content contains a timeline that will include our milestone goals for Senior Design I and Senior Design II. The timeline is from May 2014 through December 2014. Section (8) is reserved for the organizational plan needed in order to make the automated guitar a reality.

8.1 Budget and Parts

This project will be financed by each member of the group. We plan to each provide $150 for the budget, with a donation of $300. This leaves us with a budget total of $750.00. The group members currently have guitars and amplifiers for the use of this project. Below is the breakdown for the cost analysis, leaving us with $70.00 for miscellaneous use. The guitar and amplifier required for the project will be provided by the group members.

Parts Vendor Part Number Price QTY Total

Solenoid SparkFun ROB-11015 $4.95 12 $59.40

Flyback diode Digikey 641-1311-1-ND $0.11 12 $1.32

NPN Darlington Pair

Digikey TIP102TU-ND $0.91 12 $10.92

BJT base resistor

Digikey CF14JT2K00CT-N

$0.08 12 $0.96

Stepper Motors Pololu 1204 $17.95 6 $53.85

H Bridge IC Digikey 296-29434-2-ND $2.73 6 $16.38

D Flip Flop IC Digikey 296-8257-5-ND $0.52 3 $1.56

XOR Gate IC Digikey 296-8375-5-ND $0.49 3 $1.47

Servo Motors (Pulley system)

Tower Pro MG90S $8.23 12 $98.76

Buffer Driver Digikey 74VHC244FT(BE) $0.49 2 $0.98

Page 100: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

96

Servo Motors (Dynamic Control)

Hiltec HS-311 $10.02 2 $20.04

Power Regulator

Texas Instrument

LM3150 $1.42 1 $1.42

Power Regulator

Texas Instrument

TPS62177 $1.42 1 $1.42

Power Regulator

Texas Instrument

TPS54336 $2.26 1 $2.26

Power Regulator

Texas Instrument

TPS61725 $1.44 1 $1.44

Power Regulator

Texas Instrument

LM25117 $4.30 1 $4.30

Power Supply TRC Electronics

SE-350-24 $55.05 1 $55.05

Building Material

---------------- ----------------------- $50.00 ------ $50.00

PCB board ----------------------- $50.00 1 $50.00

Driver Belt Trapezoidal Tooth Urethane

1679K634 $1.39 12 $16.68

Bud box ---------------- ----------------------- $20.00 1 $20.00

Miscellaneous electrical components

---------------- ------------------------ $20.00 ----- $20.00

Total $488.21

Table 8.1: Project Budget

8.2 Milestone Timeline

MAY

15-23 Research: Project ideas, automated guitar, robot

23-30 Research on automated guitars, Power needs, Assembly, Methods to develop, sub-systems, Midi conversion and C++

JUNE

1-6 Continue research

7-13 Determine requirements and determine specifications

14-20 RESEARCH: Programming vehicle control software

21-27 Simulations Continue research Continue research

Page 101: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

97

28-31 Simulations Continue research Continue research

JULY

1-10 Research; driver circuits, for solenoids, servo motors, stepper motors, research power distribution

11-17 Pick parts

18-26 Work on Senior Design 1 paper

27-30 Finalize paper; order parts

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 together

24-28 Assembly of systems

November

1-9 Interface

10-16 Interface

17-23 Testing

24-31 Testing

December

1-5 Work on paper and presentation

6-13 Presentation

Figure 8.2: Milestone Timeline

Page 102: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

i

Appendix A A.1 Table of Tables Table 2.3.1.1 String Depression System Mechanical Components: Page 5

Table 2.3.2.1 String Picking Frequency Parameters: Page 5

Table 2.3.2.2 String Picking System Motor Requirements: Page 6

Table 2.3.4.1 Ideal Voltage and Current Relationship: Page 7

Table 3.2.1.2.1 Data for Servo Motor: Page 12

Table 3.2.1.2.2 Data for Stepper Motor: Page 13

Table 3.3.1.1 Stepper Motor Component Comparison: Page 24

Table 3.3.1.2 Adafruit Motor Specifications: Page 25

Table 3.3.1.3 Circuit Specialists Motor Specifications: Page 26

Table 3.3.1.4 Pololu Motor Specifications: Page 27

Table 3.3.2.1 Servo Motor Component Comparison: Page 28 and 29

Table 3.3.2.2 Hitec HS311 Specifications: Page 31

Table 3.3.2.3 Hitec HS-485HB Specifications: Page 32

Table 3.3.3.1 Driver Belt Component Comparison: Page 35

Table 3.3.4.1 Solenoid Component Comparison: Page 37

Table 3.3.4.2 Final Solenoid Component Comparison: Page 42

Table 3.3.5.1 List of Spg. 2014 Senior Design Microcontroller Choices: Page 43

Table 3.3.5.2 Atmel and TI ARM MCUs with Designated PWM: Page 44

Table 3.3.5.3 MCU Cost and Availability Comparison: Page 45

Table 3.3.5.4 Comparison of Final 37 MCU Candidates: Page 46 and 47

Table 3.3.6.1 Power Supply Specifications Table: Page 48

Table 4.2.1 Flip Flop Combinational Logic: Page 55

Table 4.5.1.1 NPN BJT Current Ratings: Page 61

Page 103: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

ii

Table 4.6.1 Rated Voltage and Current: Page 62

Table 4.6.2 Regulators and Price: Page 68

Table 6.2.1.1 Data Structure: Page 78

Table 6.2.1.2 Table of Frequencies: page 79

Table 6.2.1.3 Conversion Scale: Page 80

Table 6.2.1.4 Converted Format: page 80

Table 6.2.2.1 Sequence Demonstration: Page 82

Table 6.2.2.2 Sequence Components to be turned: Page 83

Table 6.2.2.3 Music Song Sequence: Page 84

Table 6.2.2.4 Instruction Set Option 2: page 85

Table 7.1 Solenoid Subsystem testing: Page 88

Table 7.2 Stepper Motor Subsystem Testing: Page 88 and 89

Table 7.3 Servo Motor Subsystem Testing: Page 90

Table 7.4 Dynamic Control Subsystem Testing: Page 90

Table 7.5 Microcontroller Subsystem Testing: Page 91

Table 7.6 Power Distribution Subsystem Testing: Page 92 and 93

Table 7.7 MIDI C++ Program Testing: Page 93 and 94

Table 7.8 Integrated System Testing: Page 94 and 95

Table 8.1 Project Budget: Page 100

Table 8.2 Milestone Timeline: Page 10

A.2 Table of Figures

Figure 3.2.1.1.1 Transistor Controlled Circuit

Figure 3.2.1.1.2 Duty Cycle Formula: Page12

Figure 3.2.1.4.1 Sketch for Apparatus Design: Page 15

Figure 3.2.1.4.2 Worm Gear Design: Page 15

Page 104: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

iii

Figure 3.2.1.4.3 Apparatus Including Worm Gear Design: Page 15

Figure 3.2.5.1 Centralized Power Supply: Page 21

Figure 3.2.6.1 Typical FT245R Circuit Configuration: Page 22

Figure 3.3.2.1 Tower Pro MG90S Dimensions: Page 30

Figure 3.3.2.2 Hitec HS311 Dimensions: Page 32

Figure 3.3.2.3 Hitec HS-485HB Dimensions: Page 33

Figure 3.3.2.4 Servo Motor Driver Circuit Schematic: Page 33

Figure 3.3.3.1 Driver Belt Usage: Page 34

Figure 3.3.6.1 Power Supply PN# SE-350-24: Page 48

Figure 3.3.6.2 Power Regulation Diagram: Page 49

Initial Design Block Diagrams: Page 50 through 52

Figure 4.2.1 Stepper Motor Behaviour: Page 53

Figure 4.4.2 Step Sequence: Page 54

Figure 4.2.3 H-Bridge Functional Block Diagram: Page 54

Figure 4.2.2 Stepper Motor Driver Circuit Schematic: Page 56

Figure 4.3.1 Servo Schematic: Page 57

Figure 4.4.1 PWM Line: Page 58

Figure 4.5.1 String Depression Subsystem: Page 58

Figure 4.5.2 Solenoid Covering: Page 59

Figure 4.5.1.1 Microcontroller Solenoid Driver Circuit: Page 60

Figure 4.6.1 DC Conversion to Stepper Motors: Page 63

Figure 4.6.2 Schematic for Stepper Motor: Page 64

Figure 4.6.3 DC Conversion of MCU and Logic Components: Page 64

Figure 4.6.4 Schematic for MCU and Logic Components: Page 65

Figure 4.6.5 Servo Motor Load Distribution: Page 65

Page 105: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

iv

Figure 4.6.6 Schematic for Servo Motor: Page 66

Figure 4.6.7 DC Conversion to Solenoids: Page 67

Figure 4.6.8 Schematic for Solenoid: Page 67

Figure 4.6.9 Dynamic Control Servo Motors: Page 68

Design Summary Schematics: Pages 69 through 72

Mechanical Assembly Summary: Page 73

Figure 5.2.2.1 String Selection Assembly: Page 74

Figure 5.2.2.2 String Selection Assembly: Page 74

Figure 5.2.2.2 String Selection Assembly: Page 75

Figure 5.2.2.3 Solenoid Enclosure: Page 75

Figure 5.2.3.1 Picking Assembly: Page 76

Figure 5.2.3.2 Picking Assembly: Page 77

Figure 5.2.3.3 Dynamic Control Assembly: Page 77

Figure 7.1 Prototype Testing Sequence: Page 86

Page 106: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

v

A.3 Copyright Permissions

RE: Privacy and copyright question

Wayne Electronics-Tutorials <[email protected]>

Mon 6/9/2014 6:00 AM

To: 'perduea' <[email protected]>;

Hello Anna, Firstly, thank you for you email and for asking in advance to use some of my images as part of your design paper. Most people would have just copied them regardless. As you have kindly asked I would have no objection to you using my images as part of your presentation, free of charge. However, I must ask that you reference my work and site www.electronics-tutorials.ws accordingly. Good luck with your course. Kind regards. Wayne Storr [email protected]

-----Original Message-----

From: perduea [mailto:[email protected]]

Sent: Monday, June 09, 2014 1:19 AM To: [email protected]

Subject: Privacy and copyright question

Dear Wayne Storr, I am a student at the University of Central Florida, and I wanted to ask if I was able to use the images of a linear solenoid, and connecting it to a MOSFET device, on the webpage http://www.electronics-tutorials.ws/io/io_6.html, for my Senior Design paper? I will cite all the work. Please let me know. Best Regards, Anna Perdue

Page 107: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

vi

A.4 Bibliography

Krause, Paul C.; Wasynczuk, Oleg (1989). Electromechanical Motion Devices.

McGraw-Hill Series in Electrical and Computer Engineering. New York: McGraw-

Hill. ISBN 0-07-035494-4. OCLC 18224514.

"fpga4fun.com - What are FPGAs?." fpga4fun.com - What are FPGAs?. N.p., n.d. Web. 29 May 2014. <http://www.fpga4fun.com/FPGAinfo1.html>. "USB Made Simple." USB Made Simple. N.p., n.d. Web. 29 May 2014. <http://www.usbmadesimple.co.uk/> "Stepper Motor Advantages." Stepper Motors. N.p., n.d. Web. 2 June 2014. <http://www.omega.com/prodinfo/stepper_motors.html>. "Linear Solenoid Actuator Theory and Tutorial." Basic Electronics Tutorials. N.p., n.d. Web. 2 June 2014. <http://www.electronics-tutorials.ws/io/io_6.html> "Techno Linear Motion Systems | Linear Motion, Linear Slides, XY Stages." Techno Linear Motion Systems | Linear Motion, Linear Slides, XY Stages. N.p., n.d. Web. 10 June 2014. <http://www.techno-isel.com/tech_linearsystem.htm>. ""MIDI File Format"." MIDI File Format. N.p., n.d. Web. 12 June 2014. <http://www.sonicspot.com/guide/midifiles.html>. "Futaba S3117 - Micro High-Torque Servo." Futaba S3117 Servo Specifications and Reviews. N.p., n.d. Web. 29 June 2014. <http://www.servodatabase.com/servo/futaba/s3117>. "What's The Difference Between DC, Servo & Stepper Motors?." ModMyPi. N.p., n.d. Web. 11 July 2014. <https://www.modmypi.com/blog/whats-the-difference-between-dc-servo-stepper-motors>. "USB device class drivers included in Windows." . N.p., n.d. Web. 12 July 2014. <http://msdn.microsoft.com/en-us/library/windows/hardware/ff538820%28v=vs.85%29.aspx>.

"How to control a 12V solenoid valve with a mosfet?." arduino. N.p., n.d. Web. 15 July 2014. <http://electronics.stackexchange.com/questions/29065/how-to-control-a-12v-solenoid-valve-with-a-mosfet>.

Page 108: An Automated Guitar System Group Seven Kacey … Automated Guitar System Group Seven Kacey Lorton, BSEE Brian Parkhurst, BSEE Anna Perdue, BSEE . ii ... study as were appropriate in

vii

"The Worm Gear Advantage." . N.p., 1 Jan. 2008. Web. 15 July 2014. <http://www.electrolift.com/the-worm-gear-advantage.php>. "Pololu - Stepper Motor: Bipolar, 200 Steps/Rev, 20Ã,30mm, 3.9V, 0.6 A/Phase." Pololu - Stepper Motor: Bipolar, 200 Steps/Rev, 20Ã,30mm, 3.9V, 0.6 A/Phase. N.p., n.d. Web. 13 July 2014. <http://www.pololu.com/product/1204/resources>. "Electromechanical Components." - EEM. N.p., n.d. Web. 29 July 2014. <http://www2.eem.com/Electromechanical_Components.aspx>. "Do I need to write my own host side USB driver for a CDC device." windows. N.p., n.d. Web. 18 July 2014. <http://stackoverflow.com/questions/1176939/do-i-need-to-write-my-own-host-side-usb-driver-for-a-cdc-device>.