Read RPM not using interrupt

Hi @ all! I try to read rpm of a fan, using interrupt. It works perfectly, but I want to ask a little question.

It's possibile read the rpm fan, using a polling function?


Possibly. It depends on how fast the fan is moving and how long the processor is occupied displaying the result.

So, the interrupt is the most easy and accurate…But, with arduino boards, I can have only few interrupts…If I want to control 10 fans…I need 10 interrupt pin…I must use a lot of arduino boards I guess…

You said "a fan", not "ten". You could use a little extra hardware to latch the source of the interrupt, and then use a single interrupt to read that latch. Would probably end up a tiny bit less accurate. Or put two fans per Arduino, so you'd only need five.

Connect your fans to cheap counter chips and poll the counters from time to time. That should scale better.


Thanks guys! Now I'm googling for some examples :D

Yes, pool each fan for 100ms is ok, with accuracy of +- 10ms is very good, the fan change speed each 10 minutes...

Some weeks ago I try with a poll function, but I have some problem in result with wrong mathematical formulas ::)

Thanks Ps:- Sorry for my bad English.