Charge Amplifier

Status
Not open for further replies.

linuxgeek

Well-known member
I'm trying to build a charge amplifier for a piezo film sensor: http://www.mouser.com/ds/2/321/605-00004-PiezoFilm_V1.1-230909.pdf. I want to get only very low frequencies (0.1Hz to 10Hz).

I'm going off mostly this: http://www.ti.com/lit/gpn/tlv2771
chargeAmpCircuit.png

I have a TLV2771 on it's way and wanted to follow this circuit diagram. This is all pretty new to me, but I've been trying to read through several things to understand how to use this circuit.

I wanted to double-check that I'm understanding the circuit.
fL = 1/2pi*Ri*Cf
fH = 1/2pi*Ri(Cp+Cc)
gain = 1/Cf

My calculated values are:
Rf = 100MOhm
Cf = 10nF
Ri = 1Mohm
Cp = 2.6nF (from some sensor datasheets)
Cc = 100uF (I would add this across the sensor leads)

fL = 0.16Hz
fH = 16.0Hz

Peak voltage output of the piezo film sensor with major deflection is 70V.
Q = V*C
Max Charge = 70V * 2.6nF
Max Charge = 1.82e-11 C = 0.182pC
Max = 0.182pC

Gain = mV/pC
Gain for VMax= 2000mV / 0.182pC
Gain for VMax= 10989

Actual Gain = 1/ 10nF
Actual Gain = 100M

This gain might be OK, if I limit it, as the sensor won't be moved much. What would I use to limit the voltage at the output? Or should I rethink my resistor/capacitor values?
And I'm guessing that adding to the cable capacitance reduces the gain sort-of as it would reduce the transients on the input side of the TLV2771?

And I'm not clear on the "1/2 Vcc". What is this trying to describe?

Thanks for any input.
 
You have a typo or 2:

fL = 1/(2 pi Rf.Cf)

For 0.1 Hz, you need Rf.Cf = 1.6. The 100M is extremely large and you will be dominated be leakages. Choose Cf=1 uF, then Rf =1.6 M. use a ceramic or film capacitor for this -- don't use an electrolytic.

Don't deliberately add Cc across the leads -- depending on your wires this will be ~ 100 pF and can be ignored then. For 10 Hz, you need 10=1/(2 pi Ri Cp). With Cp=2.6 nF, this makes Ri=6.4 M. If the sensors do vary, or you want more precise control, then add a Cc to swamp the variations in Cp and recalculate Ri accordingly. This doesn't reduce the gain (only the upper frequency limit).

70 V in 2.6 nF is Q =C.V = 182 nC (not 0.18 pC). Your output change will in fact be 70V*2.6n/1u = 0.18 V. If you change Cf to 0.1 uF and Rf to 16 M, your output will be 10x higher.

The 1/2 Vcc is the bias point -- the voltage at the output with no signal. Unless you know otherwise, this is a good mid point that allows the output to go higher or lower (depending on the input signal polarity. You can generate this with two resistors -- say 10k from VCC to the node and from there to GND.

Note you don't have to use an opamp for this -- just connecting 1 uF and 1.6 M across the sensor in series with Ri (6.4 M) will give nearly the same results. However, if you get your calculations wrong, or other things go wrong, you could damage your ADC on the Teensy. A Zener could be used to protect the system, but their leakages could be much more than the 1.6 M R.
 
Last edited:
You have a typo or 2:

fL = 1/(2 pi Rf.Cf)

For 0.1 Hz, you need Rf.Cf = 1.6. The 100M is extremely large and you will be dominated be leakages. Choose Cf=1 uF, then Rf =1.6 M.

Don't deliberately add Cc across the leads -- depending on your wires this will be ~ 100 pF and can be ignored then. For 10 Hz, you need 10=1/(2 pi Ri Cp). With Cp=2.6 nF, this makes Ri=6.4 M. If the sensors do vary, or you want more precise control, then add a Cc to swamp the variations in Cp and recalculate Ri accordingly. This doesn't reduce the gain (only the upper frequency limit).

70 V in 2.6 nF is Q =C.V = 182 nC (not 0.18 pC). Your output change will in fact be 70V*2.6n/1u = 0.18 V. If you change Cf to 0.1 uF and Rf to 16 M, your output will be 10x higher.

The 1/2 Vcc is the bias point -- the voltage at the output with no signal. Unless you know otherwise, this is a good mid point that allows the output to go higher or lower (depending on the input signal polarity. You can generate this with two resistors -- say 10k from VCC to the node and from there to GND.

Oh, thanks a lot! Thanks for steering me right.

I meant to say approximately I wanted those frequencies. I should be able to do ok for testing at 0.16Hz.
fH = 0.16Hz : Cf=0.1uF, Rf=10.0M (I have these on hand so I can try this first)

I might try 33Hz first, since I have these.
fL = 1 / (2pi * 4.7nF * 1MOhm)

I knew that charge calculation didn't make sense, but took my best stab. Thanks for clearing that up.
It really helps to know that I'm at least starting to get it somewhat. I'll try and post a Fritz breadboard to see if I'm thinking about it right. And others might want it as a reference, if it actually works well enough.
 
Note you don't have to use an opamp for this -- just connecting 1 uF and 1.6 M across the sensor in series with Ri (6.4 M) will give nearly the same results. However, if you get your calculations wrong, or other things go wrong, you could damage your ADC on the Teensy. A Zener could be used to protect the system, but their leakages could be much more than the 1.6 M R.

Well, that's worth trying. But I'd still have to raise the DC offset though. Would I get a better signal by using an instrumentation amplifier? I have a couple of INA122p chips I can try: http://www.ti.com/lit/ds/symlink/ina122.pdf
 
Well, that's worth trying. But I'd still have to raise the DC offset though. Would I get a better signal by using an instrumentation amplifier? I have a couple of INA122p chips I can try: http://www.ti.com/lit/ds/symlink/ina122.pdf
No -- you have plenty of signal -- in fact you need to attenuate it.
You can generate the DC offset by tying it all to a junction of 10k+10k across the 3.3 V supply. So (sorry, I don't have time to do a drawing) -- (sensor with Ri in series) connected to (1 uF // 1.6M) and to the ADC input. The other end of the (1 uF // 1.6M) is connected to two 10k resistors -- one to GND and the other to 3.3 V.
 
Ok. thanks. I've seen you describe that 10k+10k in another thread I believe. I should be able to figure that out.
 
Status
Not open for further replies.
Back
Top