I run a parking facility that has recently suffered a rash of thefts, accomplished by cutting through our chain link fence.
I am trying to design a simple circuit using a piezoelectric vibration sensor, which will allow us to detect fence cutting in real time and dispatch security.
Because the piezo film can generate high voltages, I need to scale the output to 0-3.3V so as not to damage the MCU I'm using to read the values (ESP32). I would also like to boost the signal, so that small vibrations are easily detectable.
I have tried a number of different circuit designs, including the control board provided by the manufacturer of the piezo film. None come close to the sensitivity I can observe by hooking up the piezo to my oscilloscope. As a crude comparison, with the piezo film taped to my desk, the oscilloscope can detect light finger taps on the desk several inches away, whereas my circuits require explicitly bending the film before any signal registers.
I am not an electrical engineer, and have a very limited understanding of signal conditioning, however, I'd very much like to understand where I've gone wrong, and not just have the answer dropped in my lap. Much appreciated.
What I think is my most correct attempt: Falstad Circuit Simulation
The op-amp I'm using is LM2904. Selected because this is what DFRobot is using in their board.
My resistor in the simulator is actually a potentiometer, 500k-1M ohms. Very low sensitivity regardless of how I set the pot.
– Ryan Oct 04 '22 at 00:48Working left to right, I see a high pass filter, but I'm unsure what the purpose of VCC to R1 is. The first op amp creates high impedance for the next stage? (educated guess) C4, C3 are a mystery to me, and then the 2nd op amp amplifies the signal by a factor of 8? (also an educated guess)
– Ryan Oct 04 '22 at 16:52