Home     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

Author Topic: Automatic 4-fans (120mm) PC-box cooler/regulator + temperature indicator/alarm  (Read 35979 times)

0 Members and 1 Guest are viewing this topic.


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 841
Sound good and reasonably priced for what it does. Keep 'em coming.  ;)


  • Administrator
  • Hero Member
  • *****
  • Posts: 1849
Perfect way of measuring RPM with simple 3-wire PWM powered fan!!!!
« Reply #16 on: August 01, 2009, 20:04:10 PM »
PWM on 3-wire fan, NO kicking sound, Perfect and easy RPM feedback!!!

Well, this sounds too good to be true. Again, i look onto the monitor and rub my eyes dry. It just works !!!!!!!!!!!!!!!!

Although my PICs have not arrive yet (thanks to that lazy irrisponsible futurlec that delayed me over a month WITH NO INFORM AT ALL!) i made a single chip-single fan controller with a 16F18 just for educational reasons. While messing around, i discovered a phenomenon that really gave me the shiver!

As known, when powering with PWM a 3-wire fan, what you get on the 3rd rpm feedback wire is the PWM pulses themselves. That is true indeed. The output would look like the first attachment. A mess of pulses that have no begin and no end. Nothing useful.

And here are the good news. I put a resistor between the yellow rpm feedback wire and the +V. Revelation! I found out that, you may actually get the PWM pulses as an output, but the output current is not the same for all pulses! What i mean is that the pulses that arrives when the rpm feedback should be positive, have much more power than the pulses that arrive when the rpm feedback should be zero!

This phenomenon may not apply to all 3-wire fans. I will check some others that i have in my lab but now i cannot think of anything else!

So what i did is i chose a proper epitaxial transistor and with some resistors look what i get. A series of pulses like the second attachment. The green channel (bottom) shows the clean result of the transistor output. While the RPM feedback is zero, i get nothing. While it is HIGH, i get the PWM pulses.

Then, i chose a PWM frequency above the acoustic 20KHz and proper for my calculations. That would be 48KHz. I had to do some fine tuning on the PIC frequency to achieve this frequency. So, now, what i do is to measure how many pulses comes along during a whole positive rpm feedback! Wonderful it is not? :D :D :D :D

And yes it does work. First of all, i do not need to kill my PWM with a capacitor across the mosfet, because i have no kicking sound. Wrong, i DO have a kicking sound but it vibrates at 48KHz, impossible for a human to heat. I first thought of making it vibrating at 4KHz to use it as a mosquito repellent but hey, too much noise in my lab   ;D ;D ;D

I put all the bits and bytes needed in a PIC 16F88 and test it. The results are astonishing. I have a f3-wire fan powered with pure PWM pulses with absolutely NO (acoustic) kicking sound and with rpm feedback ready to be used. I have a register in the pic with a number from 60 to 120, and the PIC will keep the RPM of the fan steady from 600 (for 60) to 1200 (for 120) according to the register's value.

I think that i have solved this problem for good. I will let it run for a week burn-test and hopefully, the project will be a step higher.