Biasing a piezo electric ceramic sensor

Thread Starter

jateeq

Joined Aug 25, 2014
6
Hello,

I have a piezo electric sensor who's output is around +- 900mVpp. I want to bias this voltage around an operating point of 2.5V so I can reliably read it using one of the Arduino analog inputs (these inputs can read 0-5V with a 10 bit resolution).

I've tried connecting 2.5V in series with the sensor, but everytime I do that the output is always zero (instead of 2.5V + sensor output). Does anyone know what I'm doing wrong?

This is the sensor I'm using: http://www.sensortech.ca/site/index.cfm?DSP=Page&ID=120

Thanks,
Jay
 

kubeek

Joined Sep 20, 2005
5,748
I would connect a capacitor to the output of the piezeo, then a high-ish value resistive divider to provide bias and then straight to the adc. Putting DC straight on the piezo will most likely cause a large excursion and prevent it from operating properly.
 

kubeek

Joined Sep 20, 2005
5,748
If I remeber correctly a DC voltage present across the piezo will cause it to remain in flexed position, which might prevent the sensor from operating correctly.
 

Thread Starter

jateeq

Joined Aug 25, 2014
6
@alfacliff: Would you mind telling me more about using opamps to set the dc level? I've only ever used them to amplify a signal or as voltage followers.

Jay
 

RichardO

Joined May 4, 2013
2,271
Then I´d try something like 1uF and 2x220k, to get the corner frequency low enough.
I suspect that the limiting factor for the bandwidth is the capacitance of the transducer. For Piezo buzzers this is usually 0.01 uF. He may need an FET or voltage follower to get the low frequencies he needs into the Arduino.

This is what his data sheet gives.

Charge Constant d31 -100 10-12 C/N
Unfortunately, I don't know what this means. Does anyone else>
 

Thread Starter

jateeq

Joined Aug 25, 2014
6
Thanks kubeek, the decoupling capacitor works!

The output is much attenuated though, so I'm guessing my frequency is below cutoff still.
 

Thread Starter

jateeq

Joined Aug 25, 2014
6
The piezo measures changes in strain, so I measure a constant signal if the piezo is stretched at a constant rate, a large positive signal if it is applied a large strain in one direction, and a negative signal if it is strained in the other direction.

I realized that treating this signal as ac will result in losing info when applying a constant strain per second (zero output). The output frequency depends on how quickly the piezo is being strained, which is why I said 2-10 Hz.

Perhaps I shouldn't be high passing like I am right now, I should be low passing with the cutoff set to a decade above 10 Hz.
 

kubeek

Joined Sep 20, 2005
5,748
Then I suggest you change your setup alltogether. You will need a -5V supply to supply an opamp buffer, which will be connected directly to the piezo. After the buffer use a second opamp to level shift the signal and if necessary amplify it and send it into your ADC.
 
Top