Background: My goal is to use an Arduino with two proximity probe sensors to achieve some output.
It is worth mentioning that the output of the proximity probe has two components:
- DC output that determines the position or the GAP
- AC component on the top of that DC voltage to determine the vibration
I want to focus on the DC part.
The proximity probe sensor has a negative voltage output from 0 to -20 volt DC, as the Arduino accepts voltage only in the range of 0 to 5 volt, so I decided to use a low-pass filter to remove the AC component and get just the DC component, as this DC component is in the range of 0 to -20 volt. I used an op-amp to invert and to scale down the voltage so instead of being in the range 0 to -20 V, it will be 0 to 5 V.
In this specific question my goal is to get the very accurate DC component. The circuit I implemented is very simple. Basically, it's a low-pass filter with a cut-off frequency of 1 Hz (assuming that my signal won't have a frequency component in the range of 0.00001 - 1 Hz) and then an inverting amplifier with a gain of 1/4 to invert and to scale down the DC voltage.
Here is the circuit:
The output is logical. I used a voltage source with AC and a DC component of -10 V DC offset to simulate the proximity probe signal, and here is the output:
The green line is the DC component which is almost -10 volt, and the blue line is the output inverted and scaled down. Which is almost 2.5.
The problem is with the output. It's almost 2.5 V, and it's oscillating and changing. My application needs an accuracy of millivolt, so this won't be acceptable. How do I get a more stable and accurate output?
Here is the picture of a zoomed-in output: