back to list

Servo Wars??

🔗Cornell III, Howard M <howard.m.cornell.iii@...>

10/23/2012 11:46:09 AM
Attachments

This is from the same Moog that made the synthesizers. Go figure.
Servo motor plays "Star Wars", a video: http://www.youtube.com/watch?v=-i9RyROVWHI

How it works (as if you didn't know):
R&D Motor Sings Star Wars' Theme Song
By Ryan Reardon, Application Software Engineer at Moog Animatics

Normally, you can't convince a SmartMotor(tm) to sing. SmartMotors, due to their "servo" nature, are normally very quiet. However the newest integrated motors in development from Moog Animatics are of a different species all together.
So how do you get a softly humming motor to sing? Teach it basic music theory.
A musical scale is a series of audible pitches ranging from deeply low to dog-whistle high. The standard scale in Western music is an octave-repeating scale with

"A program was written that could vary the shaft velocity to create a frequency corresponding to each note on the musical scale."
[http://www.entertainmentengineering.com/v9.issue10/images/page6b.jpg]
twelve notes: seven notes ranging from A-G and five 'accidental' notes in music that are deemed "sharp" or "flat". Each pitch has a particular frequency (in Hz) that it resonates at. Because of the octave-repeating nature of this scale, the octave note is twice the frequency of the original note. In order to step up or down an octave, the base frequency of the note only need to be multiplied and divided by a factor of two.
A program was written that could vary the shaft velocity to create a frequency corresponding to each note on the musical scale. The numerical value of the twelve frequencies was used and multiplied
[Motion Control Camera]
by a constant to create a target velocity value within the SmartMotor's operating range. To play notes of particular length, subroutines within the program were made that would play the "note" for a determined length. Finally, to account for tempo, a time constant multiplied the amount of time any particular "note" played to increase or decrease the speed of the song.
Using Moog Animatics' SMI software, a variable corresponding to target velocity was assigned the value of a frequency multiplied by the motor encoder constant. This variable was then placed into the certain subroutine that played the "note" for the required amount of time. Because of the program's structure, notes of any length could be added to the program as a subroutine.