This question builds upon this previous one How to interpret output of 3-pin computer fan speed sensor? which was asking about the 'sense' wire output from computer fans.
I am designing a fan controller for PWM fans (spec) that needs to monitor the RPM of up to 5 fans concurrently. In the past I've used interrupts on a GPIO port to build a basic tachometer for a small motor, however my concern is that this approach will not scale given that:
- Each fan runs at a maximum of 2000rpm
- The linked question suggests that there will be 2 pulses per revolution
- If an interrupt is generated for each pulse to increment a counter then that works out at a maximum of 333 interrupts per second (2000rpm *5 fans * 2 pulses)
I'd appreciate any suggestions for how to implement such a monitoring system. Incorporating additional chips, etc into the design is not an issue. I will be working with Cortex M3-class hardware, probably an LPC1768 (overkill for a fan controller, I know).
Edit: Indeed, my original calculation posted here neglected to convert from interrupts/min to interrupts/sec. Sorry for the confusion.