Hello all,
I'm new to this forum and new to electronics honestly...
So I hope anyone could lend a helping hand here?
I have long played with the idea of making a custom fan controller for 3 and 4 pin fans, able to be controlled by a computer or by reading/receiving CPU, MB and HDD temperatures.
I started to read about electronics and was overwhelmed by the possibilities of pics and ic's. Lol
So I got an Arduino Uno R3 and plunged into electronics-world.
Eventually I gathered bits and scraps from the net and made a circuit in circuit labs.
I'm pretty eager to learn and one has to start somewhere, right?
The idea:
A circuit that can control 8 fans, 4 normal 3 pin fans and 4 PWM fans.
(I'll probably limit this to 6 so I can add a LCD, like shown here:
http://arduino.cc/en/Tutorial/LiquidCrystal)
Now, concerning the PWM fans. According to this:
http://www.formfactors.org/developer%5Cspecs%5C4_Wire_PWM_Spec.pdfthe pwm signal needs to be sinked to be able to control duty cycle?
The operating frequency seems to be 25kHz. So for that i would make a triangle wave generator with a TL082 ic. If I understand correctly, R4 and C1 determine the frequency. Though I don't fully understand the fucntion and values of R2 and R3... If I got it right, this circuit would provide a waveform between 0 and 5V, centre 2,5V (cfr. Voltage divider R5 and R6?)?
Next I would use a quad comparator ic LM339 with open drain, to set the duty cycle. Apparently, if the PWM-signal isn't sinked, fan runs at 100%, so I thought I had to switch inputs, because I wanted to control it with the Arduino outputs?
I would convert the PWM signal coming from Arduino to analog 0-5V and feed it to the – input of a comparator, comparing it to the waveform and so making a variable duty cycle block wave (PWM?).
So if duty cycle in the Arduino is set to 100%, the output of LM339 is set to zero, which means the 3,3V from the PWM signal isn't sinked, making the fan running at 100%?
The LM339 seems to be able to sink 6 to 16 or more mA, perfect for the PWM-signal coming from the fan?
So for the 3 pin fans I would use this circuit, with the same Arduino pinouts as used for the PWM fans:
http://www.uchobby.com/index.php/2007/09/23/arduino-temperature-controlled-pc-fan/but with a modification. I would like to put resistors between collector and emitter side of the BD139's, so that a minimum of 4V is put over the fans. This way Iwouldn't lose the tachometer signal which is lost when switching the 12V on and of?
Finally I would use jumpers for having a choice between tach signal coming from 3 pin or 4 pin fans, through a pull-up resistor? Got it from here:
http://fritzing.org/projects/reading-pc-fan-rpm-with-an-arduino/I've added the circuit in attachement.
I would be very grateful if any of you enthousiasts and professionals could shed a light on this and give some pointers or remarks or anything. I'm pretty sure I messed up somewhere, so... Feel free to comment!
And I apologize in advance for mistakes that are made or will be made.
Thanks and greetings!
K as electronoob