I am developing a project for ECG detection using PVDF (Piezo Film) sensor. I have already managed to detect my heart rate but since the sensor used produces voltage corresponding to vibrations, sometimes the signal of interest has lower amplitude than the "noise" (movement of the arm for example) and after amplification the output swings to the rails (filtering doesn't help at all as both signals are of close/matching frequencies). I know that my input should not exceed the limits but is it bad for an op-amp if its output periodically hits the rails? According to comparator circuits operation, I think it should not be a problem but I would like to hear more experienced opinion.
-
1\$\begingroup\$ You won't harm an op-amp this way. \$\endgroup\$– Andy akaCommented Feb 16, 2018 at 14:47
-
\$\begingroup\$ Concur with @Andyaka You might also find this site useful openbci.com \$\endgroup\$– Dirk BruereCommented Feb 16, 2018 at 15:03
-
3\$\begingroup\$ It is not ECG if it is sensing mechanical vibration. ECG means sensing an electrical signal. \$\endgroup\$– CurdCommented Jul 17, 2019 at 16:32
-
1\$\begingroup\$ This isn't ECG. Technically, it's called ballistocardiography. \$\endgroup\$– Scott SeidmanCommented Jul 17, 2019 at 16:42
-
\$\begingroup\$ If you want to listen to the heart, there is a very common acoustic method - stethoscope. Some have microphone, usually electret, but could be piezo too. Ecg is different. But the truth is that for ecg you have to filter out stuff too, sometimes with things like RLD (right leg electrode) or other interesting things. Although it's less dependent on moving arms, the skin contact is critical. \$\endgroup\$– TQQQCommented Jan 9, 2022 at 20:08
2 Answers
Your piezo film sensor would work well in an ECG circuit if the patient is unconscious (or dead) so that there is no movement.
When I get an ECG conventionally with electrodes on my chest them my breathing movements have no effect on it.
Hitting the rails is no problem whatsoever. Opamps typically have what's called a push-pull output stage, or some variation of it, which is basically just 2 BJTs configured like so:
When your opamp saturates, that means that one of these BJTs is in cut-off mode (open-circuit) and the other in saturation mode, where it (ideally) acts like a short-circuit, but in practise the voltage between the collector and emitter (Vce) will be at the minimum possible. This will drastically reduce the power consumption of the BJT, which is given by Vce * Current, assuming that the current is the same.
So yes, everything will be fine with your opamp.
But this doesn't mean that it's still desirable to saturate your opamp given your application. Saturation means that your opamp will output a steady voltage while the noise is big enough to keep your opamp in this state. This will introduce a low frequency component into your signal that could fall into the range of frequencies that matter for ECG readings, which is from 1Hz to 12Hz according to a quick google search:
Frequency components from 1 to 12 Hz ( ) are selected for multiple ECG beat recognition. These spectra are not disturbed by high-frequency components above 20 Hz such as power-line interference (50 Hz/60 Hz) and muscle noise, and very low-frequency components (<1 Hz) such as baseline drift and breath.
This might be a problem for your application. If you can, you should try to compute the FFT of your signal to see if the low-frequency harmonics fall into the range of frequencies that you want to read from, and if they do, then add a band-pass filter tuned to the frequencies that you want to read. This will greatly reduce the noise, thus reducing saturation in the opamp, which will also reduce those low frequency harmonics that (may) interfere with your sensor readings.
Take a look at this page to see how to properly implement a band pass filter together with your opamp amplification circuit.
-
1\$\begingroup\$ one thing to consider when hitting the rails is typically as you get closer to the output capability of the OPAMP, the slew rate reduces. Once you enter saturation it can take some time to leave. \$\endgroup\$– user16222Commented Dec 15, 2019 at 21:16