Maker Pro
Maker Pro

Using a piezo as a vibration sensor

Hi, I'm thinking of getting a piezo sensor like this one http://www.meas-spec.com/product/t_product.aspx?id=2474 to measure the frequency of the vibrations of any surface I attach it to, using a micro like an arduino or pic. However I haven't come up the circuitry to make this happen, any ideas?

Thanks
I presume that every time the piezo sensor is vibrated back and forth it generates a voltage. As you mentioned, use a PIC or an Arduino micro and take the output from the piezo directly to an input pin of the microprocessor (or take it through a transistor first if the signal is too weak).

That sounds straightforward enough, especially on something like the Arduino Uno or even the smallest Pic.

On the Arduino, you would program a timer to time in milliseconds until you detect the next voltage spike - or perhaps time a few spikes and find the average period (T). To calculate the frequency in Hz, one just takes the
inverse of T or F = 1/T.

Which aspect of this process do you require help with?
 
Jeri Ellsworth made a guitar of sorts using piezo transducers as pickups. Maybe you can glean something from her video.

 
I fired up my Arduino uno and set up the circuit as shown at http://arduino.cc/en/Tutorial/AnalogInOutSerial

I did not have a piezo speaker or sensor, so I just added a tilt-sensor in series to the arm of the pot-log going to the 5V of the Arduino analog input.

It works pretty well at detecting a bump or shake. It writes a new value to the serial window at the COM3 port which is different to the resting value every time it is shaken. I presume it would work equally well with the piezo.

Has anyone tried the new Arduino Rasberry Pi?
 
I presume that every time the piezo sensor is vibrated back and forth it generates a voltage. As you mentioned, use a PIC or an Arduino micro and take the output from the piezo directly to an input pin of the microprocessor (or take it through a transistor first if the signal is too weak).

That sounds straightforward enough, especially on something like the Arduino Uno or even the smallest Pic.

On the Arduino, you would program a timer to time in milliseconds until you detect the next voltage spike - or perhaps time a few spikes and find the average period (T). To calculate the frequency in Hz, one just takes the
inverse of T or F = 1/T.

Which aspect of this process do you require help with?


Well, electronics is not really my forte. I assumed the signal would need some kind of conditioning/amplifying before it goes into the arduino.
 
The Arduino is an AVR based developer board and the Raspberry Pi is a ARM based developer board... Two entirely different beast...

Indeed. I have a Raspberry and couldn't be more satisfied with it. I recommend it to anyone (kinda pricey...but quality always is).
 
Last edited by a moderator:
Single layer Piezos produce a much higher voltage than current. So you will need to buffer the front end. If you load the output of the piezo too much you will reduce the response of the piezo. This circuit should be ok for the buffering but if you need to amplify the signal you will need an amplifier. See how you get on with this first. You should get about 1V/g from your sensor so you may need to amplify for small vibrations.
Adam
 

Attachments

  • Capture_PZT.PNG
    Capture_PZT.PNG
    5.3 KB · Views: 364

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
This is a very old thread. Steve Works may have posted only to advertise a site (and I guess we'll find out if he posts some more)
 
Top