Electronic – arduino – Read AC signal frequency of 2-100Hz at 80mV to 12V with Arduino

arduinocomparatorschmitt-triggersensor

I have a sensor (NRG #40 Anemometer) that produces an AC signal with a frequency between 2 Hz to ~100 Hz with an amplitude of 80 mV to 12 V peak-to-peak. The signal to read is the frequency (zero crossing?), amplitude is not relevant.

The signal gets read by a Arduino Uno. To convert the sine wave (from the sensor) to a square wave (suitable for the MCU input), I was thinking of using a 74HC14N Hex inverting Schmitt trigger. The sensor application note suggests adding Over-Voltage Protection, Low-Pass Filter and a limiter. I am running the Schmitt trigger at 3.3V.

signal conditioning block diagram from manufacturer

Unfortunately my Schmitt Trigger output is always high, meaning the input signal is low and doesn't register.

  • How can I bring the input signal to a valid level for the Schmitt trigger?
  • How can I DC bias the input signal to about 1.65 V and limit it to not pass 3.3 V and 0 V?
  • I thought I ignore the Over-Voltage Protection and Low-Pass Filter for the test setup, is this ok?

Best Answer

The diagram is sort of high-level concept- it does mention the use of a comparator, which will work, rather than a ST inverter, which will not. Even if you biased it to the (rather variable) center point of the inverter, the hysteresis is too large.

Below is an appropriate circuit. R4 and the Schottky diodes D1/D2 clamp the input to about +/- a few hundred mV. C1 and R11 are the low pass filter. R10 is the pullup required by most comparators such as the LM393 shown. R1/R2 create a bit of hysteresis. R9 biases the input up by about half the hysteresis (since the hysteresis is one-sided due to the 0/5V output of the comparator rather than a symmetric output about ground.

schematic

simulate this circuit – Schematic created using CircuitLab

Note: Not included in this circuit is any consideration of lightning protection, as it's outside the scope of the signal processing issues. You can find more information at this link, for example. It should not be neglected for a real installation.