I have a task where I want to measure a 24Vdc motor's rotational speed using an AC tacho attached to the same shaft of the motor. When running the motor at full speed, the tacho generates around 9Vac at a max frequency of around 1kHz. So I was going to feed this through a precision rectifier and ADC to sample the digital value with MCU but this got me thinking:
If I am only interested in measuring the speed of the motor, do I only need to measure the frequency of the tacho signal? I don't think I need a rectifier and could use a zero crossing detector and counter to calculate RPM?
Or is it more complex and does the voltage magnitude have to be considered too as this changes with frequency?
How is this achieved in current technology?
I have measured the AC tacho signal. At full speed it generates around 8.6Vac at a max frequency of 900Hz. When turned slowly by hand it produces approx 150mV at around 25Hz although I won't be running the motor this slowly so I suspect the low end voltage to be at least 0.5V to 1V.
I am thinking of using an op amp comparator to convert the positive half of the AC tacho waveform to a square wave signal. So the square wave is high during positive cycle, and low during negative cycle.
I am thinking of measuring the time between the pulses to calculate the motor's rpm. I want to use a 16 bit counter that starts counting on the rising edge of the square wave pulse and capture the counter value during the next rising edge. How can I convert this counter value from 0 to 32768 to an rpm range from 0 to 4000?
Thanks for your help everyone!