Difference between revisions of "Vibratory Clock"

From Mech
Jump to navigationJump to search
 
(32 intermediate revisions by 3 users not shown)
Line 8: Line 8:
==Overview==
==Overview==


We built a horizontal circular platform that is actuated from underneath by three speakers placed in an equilateral triangle. The vibration of the platform causes a small object (e.g., an IC socket or a coin) to act as an hour "hand" on top of the platform. The object slides around the circular platform, impelled by friction forces due to the vibration. By placing the speakers at different phases and amplitudes, we got the objects to move to desired positions. Due to the nodes created by the speaker vibrations, the object will move back to the correct hour if it is moved away. Our project was given to us by Professor Colgate and was based upon the research of Professor Lynch.
The vibratory clock is a horizontal circular platform actuated from below by three speakers placed at the corners of an equilateral triangle. The vibration of the platform causes a small object (e.g., an IC socket or a coin) to act as an hour "hand" on top of the platform. The object slides around the circular platform, impelled by friction forces due to the vibration which we can adjust by varying the phase and amplitude of each speaker. Due to the nodes created by the speaker vibrations, the object will move back to the correct hour if it is moved away. Our project was provided by Professor Colgate and based upon the research of Professor Lynch.


===Theory===
===Theory===
[[Image:theory.jpg|right|Diagram of theory|thumb|300px]]


Through his [http://lims.mech.northwestern.edu/projects/frictioninducedforcefields/index.htm research], Professor Lynch found that when a pivot point is placed under a platform that is attached to speakers, sinks and nodes can be created by places speaker vibrations at different amplitudes and phases. Applying his research to our project, it was determined that if we placed two speakers at equal amplitudes and opposite phases, a sink would be created in between the speakers. This result can be thought of as the center being the center of a teeter-totter, in which two people of equal mass but at completely opposite phases would cause the teeter-totter to rotate perfectly around the center pivot point. However, if the two speakers were at equal amplitudes and perfectly in phase with each other, that side of the plate would move up and down in one motion, causing the sink to be at the other side of the plate.
Through his [http://lims.mech.northwestern.edu/projects/frictioninducedforcefields/index.htm research], Professor Lynch discovered that when a platform is rotated about a line beneath it, orthogonal sinks and nodes can be created. These can be adjusted by placing speaker vibrations at different amplitudes and phases. This concept can be applied to create a node at any point on the platform, but is most easily explained when two speakers are placed at equal amplitudes and opposite phases, creating a sink between the two speakers. As illustrated in the diagram, a line sink is created along Line 1 by placing Speaker B and Speaker C at equal amplitude but opposite phases, while holding Speaker A is off. If several small objects were placed on the plate at this point, all the objects would converge to the central line of the plate. A second line sink, orthogonal to the first, is created along Line 2 by once again placing Speakers B and C at equal amplitudes but this time in phase with each other. Speaker A is placed at a small amplitude and out of phase with speakers B and C, which moves the line sink slightly away from the edge of the plate.


Lines 1 and 2 in the example create a node at 12 o'clock by alternating between the radial (Line 1) and orthogonal (Line 2) phases (12 o'clock is located above Speaker A). This concept was the used to create all of the even number nodes on the clock face. In order to create the nodes at the odd numbers, we slightly changed the amplitudes of the speakers at the previous time until the correct placement was found.
We found that if we alternated between two different phases that created two orthogonal sinks, we could create a node at the intersection. For example, if we wanted to create a node at 12 o'clock, we would alternate between the radial and orthogonal phases. In the radial phase, we created a sink along the diameter of the plate between the two speakers that were not at 12 o'clock, namely speakers B and C. Using the theory of creating sinks, we placed speakers B and C at equal amplitude and 180 degrees out of phase with each other. If several small objects were placed on the plate at this point, all the objects would converge to the central line of the plate. Next, in order to create the orthogonal sink that would create a node at 12 o'clock, we placed speakers B and C in phase and at equal amplitude. However, in order to counteract the forces from speakers B and C, we put speaker A (the speaker at 12 o'clock) at a weak amplitude and 180 degrees out of phase with speakers B and C in the orthogonal phase.

This same notion was the used to create all of the even number nodes on the clock face. In order to create the nodes at the odd numbers, we slightly changed the amplitudes of the speakers at the previous time until the correct placement was found.


Although theoretically our design should have allowed us to program the clock using symmetry, due to slight imperfections in the design and in the electrical components, we had to use some trial and error methods to place the nodes correctly. Nonetheless, the theory allowed us to create nodes almost exactly where we wanted them to be.
Although theoretically our design should have allowed us to program the clock using symmetry, due to slight imperfections in the design and in the electrical components, we had to use some trial and error methods to place the nodes correctly. Nonetheless, the theory allowed us to create nodes almost exactly where we wanted them to be.
Line 29: Line 28:
*adjustable legs: 3 rods: 3/8"-16; 4" long; 6 nuts total
*adjustable legs: 3 rods: 3/8"-16; 4" long; 6 nuts total


[[Image:speaker_supports.jpg|right|thumb|200px]]
[[Image:speaker_supports.jpg|right|Pylons connecting the speakers to the platform|thumb|300px]]


''Speakers:''
''Speakers:''
Line 62: Line 61:
[[Image:Circuit_Photo_Team22.jpg|right|thumb|Circuit Board|200px]]
[[Image:Circuit_Photo_Team22.jpg|right|thumb|Circuit Board|200px]]


<b>Component List:</b>
===Component List===
<table border=1>
<table border=1>
<tr><th>Part</th><th>Part No.</th><th>Qty</th><th>Vendor</th><th>Price (Total)</th></tr>
<tr><th>Part</th><th>Part No.</th><th>Qty</th><th>Vendor</th><th>Price (Total)</th></tr>
Line 75: Line 74:
</table>
</table>


===Design Description===
<b>Circuit Diagram:</b>

The PIC sends a digitized version of three sine waves to the [[PIC18F4520:_Serial_Digital-to-Analog_Conversion|DAC]] for conversion. The signal then passes through a LPF filter before going to a power amplifier and finally the speakers themselves, which vibrate the surface plate.

<b>Digital-to-Analog Converter</b>

The PIC would step through the sampled sine wave, stored in program memory, and send the values to the DAC. Since we need 3 individual sine waves, we selected the [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1251 Maxim MAX520], a quad DAC IC. It uses I<sup>2</sup>C with which our PIC easily interfaces and a simple message protocol. With I<sup>2</sup>C, normally the protocol describes a start and stop bit. In between that there are a hardware address byte and subsequent message bytes. Since there are 3 hardware address pins on this IC up to 8 (2<sup>3</sup>) can be used on a single I<sup>2</sup>C bus. After the address byte, the first message byte indicates which converter in the quad DAC that the following message is for (software address). The second message byte is the 8-bit value for the previously selected converter. Several converters (in the same DAC IC) can be spoken to within the same start and stop bits by simply repeating the software address message and the converter value message for the different converters in a single DAC IC.

<b>Design Evolution</b>

Originally, our hopes were to use the PIC's built-in PWM functionality to control the speakers and pass the signal through a low-pass filter to create our sine wave. Quickly, we realized that method did not give us the control over the amplitude and phase that we needed to create a line sink. Another idea was to use digital potentiometers in [http://www.maxim-ic.com/appnotes.cfm/appnote_number/559 a configurable all-pass filter] as a second filter, after low-pass filtering a PWM/square wave signal. This would allow us to control the amplitude and phase response of the filter by controlling the digital potentiometer. Despite, it's usefulness, this method was very complex since it would require fine control of the filter and be very susceptible to noise or error. Our final method, as mentioned previously, involved a Look-Up Table with a full period of a sine wave and a DAC.

===Circuit Diagram===


[[Image:team22_circuit.jpg|center|frame|Vibratory Clock Circuit Diagram|600px]]
[[Image:team22_circuit.jpg|center|frame|Vibratory Clock Circuit Diagram|600px]]


==Software Design==
==Software Design==

[[media:Team22_code.c|Full Code]]

<b>Description</b>

The PIC has a sine wave stored in program memory in the form of a look-up table (LUT). The main code simply steps through the LUT and outputs that value to the DAC. This will create a "stepping" sine wave, which get smoothed out by the passive LPF before the signal is sent to the power amplifier. There is an interrupt service routine that occurs every .825 seconds to alternate between two orthogonal line sinks, to create a node to which a time piece will go. Additionally, every 10 seconds within the interrupt, the time is changed in that the position of the node moves to the next hour. Our code has the hour positions hard coded and simply steps through all of them. More positions can easily be added for better resolution, which would be useful in an hour hand.


==Results==
==Results==
[[Image:VibratoryClock.jpg|right|thumb|300px]]
[[Image:VibratoryClock.jpg|right|Bird's-eye view of the Vibratory Clock|thumb|350px]]


We were able to get our project working so that the plate moves an object placed anywhere on the plate to the correct time and then moves the objects around the clock face, acting as the hour "hand" of a clock. However, we increased the speed so that it takes about 2 minutes for objects placed on the clock to move around so that it is easy to demonstrate. Check out the working Vibratory Clock [hhttp://www.youtube.com/watch?v=KhgTNCfdwZw here].
We were able to get our project working so that the plate moves an object placed anywhere on the plate to the correct time and then moves the objects around the clock face, acting as the hour "hand" of a clock. However, we increased the speed so that it takes about 2 minutes for objects placed on the clock to move around so that it is easy to demonstrate. Check out the working Vibratory Clock [http://www.youtube.com/watch?v=KhgTNCfdwZw here].


==Reflections==
==Reflections==

===Achievements===

*<b>Independent Speaker Control</b> &mdash; each speaker was able to be controlled entirely independently of the other two in terms of amplitude and phase.
*<b>Line Sinks</b> &mdash; objects placed at any point on the platform moved to a point on a single line.
*<b>Nodes</b> &mdash; two line sinks were created to move an object at any point on the platform to a single specified point elsewhere on the platform.
*<b>Clock Face Positioning</b> &mdash; an object placed on the platform moved to each number of a 12-hour cycle

===Improvements===

*<b>Surface Dependency</b> &mdash; objects tested in lab moved accurately around the clock face; however, when moved to a different location the objects behaved erratically and no longer told time. In the future the clock should be isolated from its resting surface.
*<b>Vibration Transmission</b> &mdash; significant vibrations were transmitted from the speakers into the surface which may have contributed to the previous problem. Damping of the speakers may reduce the effects of this problem.
*<b>Hour hand Resolution</b> &mdash; the hour hand moves through twelve positions in a twelve-hour cycle. In a twelve-hour cycle 360 positions (six positions per hour) or 720 positions (twelve positions per hour) would be ideal.
*<b>Noise</b> &mdash; simple car audio stereos generated distracting audible noise when vibrating the plate. Ultrasonic voice coil actuators could be used to eliminate this noise.


==Useful Resources==
==Useful Resources==

Latest revision as of 03:08, 21 March 2008

Team Members

Left to right: Brian Lesperance, Jennifer Breger, Daniel Pinkawa
  • Jennifer Breger - Mechanical Engineering Class of 2009
  • Brian Lesperance - Electrical Engineering Class of 2008
  • Daniel Pinkawa - Mechanical Engineering Class of 2008

Overview

The vibratory clock is a horizontal circular platform actuated from below by three speakers placed at the corners of an equilateral triangle. The vibration of the platform causes a small object (e.g., an IC socket or a coin) to act as an hour "hand" on top of the platform. The object slides around the circular platform, impelled by friction forces due to the vibration which we can adjust by varying the phase and amplitude of each speaker. Due to the nodes created by the speaker vibrations, the object will move back to the correct hour if it is moved away. Our project was provided by Professor Colgate and based upon the research of Professor Lynch.

Theory

Diagram of theory

Through his research, Professor Lynch discovered that when a platform is rotated about a line beneath it, orthogonal sinks and nodes can be created. These can be adjusted by placing speaker vibrations at different amplitudes and phases. This concept can be applied to create a node at any point on the platform, but is most easily explained when two speakers are placed at equal amplitudes and opposite phases, creating a sink between the two speakers. As illustrated in the diagram, a line sink is created along Line 1 by placing Speaker B and Speaker C at equal amplitude but opposite phases, while holding Speaker A is off. If several small objects were placed on the plate at this point, all the objects would converge to the central line of the plate. A second line sink, orthogonal to the first, is created along Line 2 by once again placing Speakers B and C at equal amplitudes but this time in phase with each other. Speaker A is placed at a small amplitude and out of phase with speakers B and C, which moves the line sink slightly away from the edge of the plate.

Lines 1 and 2 in the example create a node at 12 o'clock by alternating between the radial (Line 1) and orthogonal (Line 2) phases (12 o'clock is located above Speaker A). This concept was the used to create all of the even number nodes on the clock face. In order to create the nodes at the odd numbers, we slightly changed the amplitudes of the speakers at the previous time until the correct placement was found.

Although theoretically our design should have allowed us to program the clock using symmetry, due to slight imperfections in the design and in the electrical components, we had to use some trial and error methods to place the nodes correctly. Nonetheless, the theory allowed us to create nodes almost exactly where we wanted them to be.

Mechanical Design

The Vibratory clock consists of a wooden base, held up by adjustable legs, three speakers, and a circular platform. The following material were used to create the design:

Base:

  • wood: 16" diameter, 0.75" thick
  • holes: 6" diameter (3 total)
  • adjustable legs: 3 rods: 3/8"-16; 4" long; 6 nuts total
Pylons connecting the speakers to the platform

Speakers:

  • 3 Pyramid Power PW677X: 300W, 4 Ohms, 6.5" Chrome Subwoofer
    • previously adapted speakers replaced center of speaker with attachments 3" in height and 1/2" hole on top
    • 1/2" diameter PVC used to attach previous attachment to platform with a screw
      • held in place by 2 set screws each
    • centers placed 7.125" apart

Circular Platform

  • PVC/Acrylic: 11.75" diameter, 0.25" thick
    • machined on the LaserJet
    • screw holes counter-sunk at 7.125" apart
  • 2.875" above wooden base
  • Silver Sharpie used for numbers

Reasoning for Geometry of Design

Equilateral Triangle: By having the speakers equidistant from each other, we were able to create symmetry in our design, which made programming the various nodes much easier. For example, we were able to use the same theory to find the node at 12 o'clock, 4 o'clock, and 8 o'clock. If the speakers were not placed equidistant from each other, two speakers placed at equal amplitudes and opposite phases would not have created a sink in the exact middle of the two speakers.

Adjustable Legs:

We needed to make the legs adjustable since it is essential that the platform be perfectly level in order for the objects placed on the platform to move in expected patterns. For example, if one leg is slightly shorter than the other two, the objects placed on the platform would tend to move towards that leg and we could no longer rely on symmetry to program the various nodes due to the effects of gravity.

Height of Platform:

Through our own experimentation and from Professor Lynch's research, we found that we needed to have the pivot point (i.e. the speaker diaphragm) significantly below the platform in order to create sinks. At one point in the design process, we attempted to create a different pivot point by replacing the PVC with 1/2" outer diameter, 1/4" inner diameter Tygon 2001 tubing that only was able to bend in one point since it had stand-offs and screws inside the tube. However, this replacement in a sense created two pivot points (the speaker diaphragm and the Tygon), causing the platform to only create sources and not sinks. In addition, the different height of the pivot point may have also led to the plate acting differently.

Electrical Design

Circuit Board

Component List

PartPart No.QtyVendorPrice (Total)
Microchip 8-bit PIC Microcontroller (U1)PIC18F45201N/AN/A
Maxim Quad, 2-Wire Serial 8-Bit Digital-to-Analog Converter (U2)MAX5201Digi-Key$9.28
Emtel 150W, 12V Power SupplyEMV15012V1N/AN/A
Emtel EMV15012V Wiring Kit61-EMV15012VWK1N/AN/A
Legacy Series II 4-channel, 300W Power AmplifierLA1601N/AN/A
Keystone Electronics Snap-Fit 90 PC Phono Jack901K-ND3Digi-Key$3.81
Radioshack 6-Ft. Shielded Cable, RCA Plug to RCA Plug42-23673Radioshack$14.97
20-ft Monster Cable 16-Gauge Speaker WireS16-2XLN1Radioshack$9.97

Design Description

The PIC sends a digitized version of three sine waves to the DAC for conversion. The signal then passes through a LPF filter before going to a power amplifier and finally the speakers themselves, which vibrate the surface plate.

Digital-to-Analog Converter

The PIC would step through the sampled sine wave, stored in program memory, and send the values to the DAC. Since we need 3 individual sine waves, we selected the Maxim MAX520, a quad DAC IC. It uses I2C with which our PIC easily interfaces and a simple message protocol. With I2C, normally the protocol describes a start and stop bit. In between that there are a hardware address byte and subsequent message bytes. Since there are 3 hardware address pins on this IC up to 8 (23) can be used on a single I2C bus. After the address byte, the first message byte indicates which converter in the quad DAC that the following message is for (software address). The second message byte is the 8-bit value for the previously selected converter. Several converters (in the same DAC IC) can be spoken to within the same start and stop bits by simply repeating the software address message and the converter value message for the different converters in a single DAC IC.

Design Evolution

Originally, our hopes were to use the PIC's built-in PWM functionality to control the speakers and pass the signal through a low-pass filter to create our sine wave. Quickly, we realized that method did not give us the control over the amplitude and phase that we needed to create a line sink. Another idea was to use digital potentiometers in a configurable all-pass filter as a second filter, after low-pass filtering a PWM/square wave signal. This would allow us to control the amplitude and phase response of the filter by controlling the digital potentiometer. Despite, it's usefulness, this method was very complex since it would require fine control of the filter and be very susceptible to noise or error. Our final method, as mentioned previously, involved a Look-Up Table with a full period of a sine wave and a DAC.

Circuit Diagram

Vibratory Clock Circuit Diagram

Software Design

Full Code

Description

The PIC has a sine wave stored in program memory in the form of a look-up table (LUT). The main code simply steps through the LUT and outputs that value to the DAC. This will create a "stepping" sine wave, which get smoothed out by the passive LPF before the signal is sent to the power amplifier. There is an interrupt service routine that occurs every .825 seconds to alternate between two orthogonal line sinks, to create a node to which a time piece will go. Additionally, every 10 seconds within the interrupt, the time is changed in that the position of the node moves to the next hour. Our code has the hour positions hard coded and simply steps through all of them. More positions can easily be added for better resolution, which would be useful in an hour hand.

Results

Bird's-eye view of the Vibratory Clock

We were able to get our project working so that the plate moves an object placed anywhere on the plate to the correct time and then moves the objects around the clock face, acting as the hour "hand" of a clock. However, we increased the speed so that it takes about 2 minutes for objects placed on the clock to move around so that it is easy to demonstrate. Check out the working Vibratory Clock here.

Reflections

Achievements

  • Independent Speaker Control — each speaker was able to be controlled entirely independently of the other two in terms of amplitude and phase.
  • Line Sinks — objects placed at any point on the platform moved to a point on a single line.
  • Nodes — two line sinks were created to move an object at any point on the platform to a single specified point elsewhere on the platform.
  • Clock Face Positioning — an object placed on the platform moved to each number of a 12-hour cycle

Improvements

  • Surface Dependency — objects tested in lab moved accurately around the clock face; however, when moved to a different location the objects behaved erratically and no longer told time. In the future the clock should be isolated from its resting surface.
  • Vibration Transmission — significant vibrations were transmitted from the speakers into the surface which may have contributed to the previous problem. Damping of the speakers may reduce the effects of this problem.
  • Hour hand Resolution — the hour hand moves through twelve positions in a twelve-hour cycle. In a twelve-hour cycle 360 positions (six positions per hour) or 720 positions (twelve positions per hour) would be ideal.
  • Noise — simple car audio stereos generated distracting audible noise when vibrating the plate. Ultrasonic voice coil actuators could be used to eliminate this noise.

Useful Resources

Vibration-Induced Frictional Force Fields for Part Manipulation

Universal Planar Manipulator