# How to measure the frequency of a low frequency signal?

I am looking to measure the rpm of a wind turbine, the wind turbine is 3-phase synchronous generator, the frequency range I am looking to detect is between 1Hz to 60Hz, I tried to use a frequency meter with 0-10v analog output, but it doesn't pick low frequencies and keeps freezing or even give random wrong results when the frequency changes rapidly.

There are a number of ways you could do it.

To measure frequency directly you would need to count rotations over a long time period, the higher the resolution you need the longer the period. This generally isn't done because the output only updates at the rate of the measurement period.

For a repetitive or slowly changing signal you can measure the period of the signal and invert it. Now you get an update at the rotation rate. You might use a zero crossing detector to find the time between cycles, and then determine the frequency from that by taking 1/period. For example if the time is 1 second the frequency is $$F = \frac{1}{1s} = 1Hz$$ if the period is 0.1s then the frequency is $$F = \frac{1}{0.1s} = 10Hz$$

The precision is going to depend on how accurately you can measure the period, and how many cycles you average the reading over.

Another option requires some mechanical modification, a disc with holes or teeth like a gear is connected to the rotor, an optical sensor then detects the holes/teeth passing by and something like an Arduino counts the sensor pulses in a given period, say 1 second, and drives a display. If you use a disc with 100 holes, for each rotation you would get 100 counts so you would place the decimal point to have that displayed as 1.00. The more holes the better the resolution, as long as the sensor is fast enough to get a good count.

• Thank you very much for your answer, unfortunately I can't use any kind of sensors or modifications due to some limitations I have.. I was wondering if you can suggest me a circuit to pick the frequency.. Commented Sep 25, 2023 at 7:51
• I have a USB-6009 device. Commented Sep 25, 2023 at 8:15
• @Shamooooot How are you connecting to it to measure it? Is there a sensor built into it or are you trying to get the RPM from the generator output? Commented Sep 25, 2023 at 13:38
• I pulled two wires from two of the phases of the generator, and yes I am trying to measure the rpm out of the frequency of the generator without any sensor. Commented Sep 25, 2023 at 14:42
• @Shamooooot Well then you're stuck measuring frequency or period. Period is probably best, you'd need something to determine the time between cycles, maybe a zero crossing detector. I've added that to my answer, see if it sounds reasonable to you. Commented Sep 25, 2023 at 16:10

A) With an oscilloscope

B) With a mechanical line frequency meter

If you are only looking at 1 of the stator windings to infer the frequency, you could look at all 3 to count rising edges. This will triple your effective frequency (3Hz - 180Hz). You could take this a step further and run the 3 stator phases through an encoder made of level-shifting, clamping, and discrete logic circuitry to count both rising and falling edges of the stator windings (6Hz to 360Hz). This may or may not be good enough depending on the limitations and capabilities of your frequency-to-voltage converter.

The better way that will be more accurate and precise would be to fit a rotational encoder directly on the shaft. Some encoders include the signal conditioning and analog output as part of the module.

If an encoder can't be purchased or fitted to your setup, you can "roll you own" by placing a set of magnets radially around the shaft in question and use a reed switch or hall-effect sensor to count pulses. The more poles the better the accuracy and resolution. From there, a suitable pulse counter or controller can calculate the (near) instantaneous speed.

The advantage of using an encoder is you can calculate the speed with only a fraction a turn governed by the number of encoder gradations incorporated into the design.

A stepper motor could make a suitable encoder and give you resolution on the order of 200 pulses/revolution. Your mileage may vary.