Block negative voltages

Wawa:
A piezo is basically a voltage source through a series capacitor.

Well no, its a charge-source really - physical distortion directly pushs charge around.

You can view that as a current source with a high-pass characteristic, but its not a voltage source
at all. The voltage is set by the load resistor.

MarkT, very true. Thank you.

Hi all again,
I've tried to make what u advised me - connecting the piezoeletric ground to the virtual ground (either a 2.5V with 10k resistors, or directly to 5V), but when I watch the signal in the osciloscope, it is at 0V and there is no offeset.
I have connected it the following way: the ground from the sensor goes to the offset voltage, the other sensor cable goes to o-scope and the osciloscope ground it at ground (reference to the 5V).

Can anyone help me?

Hi,
I have another suggestion for you to consider it. The suggestion it is the use of an strip of strain gauge. They can be use as stretch or compression. Attached it is a link explaining it. There are Arduino modules that allow you to read strain gauge.

Hi tauro0221,
I haven't, at all, discarded your suggestion! But first and by now I will not quit of my piezoeletric sensor.
Can please someone help me ofsetting the signal? Thanks

Hi,
Attached it is an information from TI about piezo electric amplifiers that maybe help you in your project.

sloa033a.pdf (58.9 KB)

diogotec:
I've tried to make what u advised me - connecting the piezoeletric ground to the virtual ground (either a 2.5V with 10k resistors, or directly to 5V), but when I watch the signal in the osciloscope, it is at 0V and there is no offeset.

Because the scope probe is a 1Megohm resistor to ground.

Just look at the A/D values.

You might have to add a very high resistor (>=10Meg) across the piezo, to get an idle value near 512.
Leo..

Hi Leo,

Can you please explain me better your suggestion? I didn't get it!
Ps. I was just looking first in the osciloscope because I wanted to test the signal was offset'ed before inserting it in the arduino - the montage I described works at the arduino?

A scope has a 1Megohm impedance. A DMM has a 10Megohm impedance.
You have to know your test instruments, because they can influence the circuit you're measuring.

Try to measure a 9volt battery with your DMM trough a 10Megohm resistor.
The 10Megohm resistor and your 10Megohm DMM are a voltage divider.
You most likely will measure 4.5volt.
Leo..

Don't connect the piezo ground to the offset voltage! It just acts like a capacitor.

Tell me if you can see this file:

polymorph:
Tell me if you can see this file:

Yes. (Nice!)

The piezo in that diagram is "loaded" with a <11k impedance high pass filter.

I thought this was for detecting low frequencies.
Then the piezo should see much more than 10Megohm.
Leo..

The best solution could be a JFET removed from an electret mic, soldered directly to the piezo.
With a (6k8) pull up (supply) resistor close to the Arduino.
SMD skills and ESD knowledge are needed for that.
Leo..

Since you're trying to measure respiratory movement, a deflection sensor such as an orthogonal pair of strain gauges on a small flexible metal strip may be an alternative approach. Perhaps 5 thou steel shim?

edit in the US thou = mil . 0.005 inch. 0.12mm. Just a guess.

No high impedance problems there. And low-frequency response down to dc.

You'd need an amplifier , of course. Gain 30-100x ? . An LM358/2 with a 5k pullup on the output would work. And an offset adjustment , perhaps. Or capacitive coupling with a sub-Hz highpass.

Coughing generates a lot of force.

Allan

I think OP insists on using piezo (post#18 and #24).

About 25years ago I made some VLF sensors with 1" piezos and smd electret mic JFETs.
Fets to lower impedance/hum/cable problems.
From memory, the fets I used had an inuild 100Megohm gate-source resistor.
The sensors were very sensitive to ultra low frequencies.
This buffer/amplifier also provides a bias voltage to the Arduino pin.
Coughing/handling might produce a too high voltage for the gate.
A (low leakage) two diode clamp across the piezo could be needed.
Leo..

Why insist on piezos?

OP??

I'm sure it can be done... but the high impedance poses problems.

edit : My dad bought with his de-mob money from the army after WWII a Collaro 78 rpm record player, on which I used to listen when I was very young to all sorts of music - classics, jazz etc.

The pickup piezo eventually failed ( after 60+ years) , and I rebuilt it using a piezo from a cheapo cigarette lighter. It isn't high-fi, but it works.

nedit.

Allan

Fixed. Two 10M resistors in series with 0.1uF, 20x10^6 x 10^-6 = 2 seconds. Equivalent load on the piezo is two 10M in parallel or 5M ohm.

An issue is the sample and hold capacitor in the Arduino may take a while to charge up with such a high driving impedance. But if you are reading slow measurements, repeat the analogRead() many times and only use the last reading.

allanhurst:
The pickup piezo eventually failed ( after 60+ years) , and I rebuilt it using a piezo from a cheapo cigarette lighter. It wasn't high-fi, but it worked.

Yep, know about that.
Replaced thousands of ceramic record player cardriges in the seventies when I worked as a consumer electronics tech. I think moisture eventually ruined them.
Leo..

@polymorph.
5Megohm could work.

Now post a diagram with the piezo between the voltage divider and the input pin, with a 10Meg (or higher) resistor across the piezo.
No caps.
Leo..

Hi,
Attached it is an amplifier that you may use for the piezo amplifier. It used a fet transistor.

DIY contact MIC circuit.png