Giorgos @ pcbheaven.com faced a problem when he tryed to use his PIC 3-Wire Fan RPM Controller to control a Zalman fan. The problem was that the fan couldn’t work on low RPM without stalling …so he devided to move a step further and try “Pulse Stretch method”. Investigating the problem found that the internal tacho didn’t powered correctly at low PWM. This problem solved by turning PWM to 100% for some time during normal operation, allowing the microcontroller to read the tacho value. Another great feature of this method is that when the fan is stalled PWM goes 100% allowing the fan to resume proper operation… That’s a really interesting method…. read details of this method on the link below.
PWM 3-Wires Fan Controller with RPM feedback - [Link]