• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

FEATURED Building PWM Controller for 4 wires PWM fan

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.
I bet double sided tape would work fine even over a bunch of SMD caps/resistors. I wouldn't trust it on the spikes from through-hole stuff though, a short would be nasty!

I like that little PCB, it's very nicely done.
 
@inVain, very perceptive, that wire is my hero :D

Re. stripboard, yep it's actually very common over here in the UK, and my bro used it a fair bit some 20 years ago when we were kids. I always assumed that stripboard was the only thing of its kind until I discovered the many flavours that currently exist. I can get other protoboards which have the strips broken into 2s, 3s etc but they are quite a bit more expensive.
 
Hey guys,

Just wanted to ask, I'd like to make a tachometer circuit with a 4 digit, 7 segment LED display to show fan rpm. I'd like this to be a standalone circuit, like the PWM circuit bing made. Just something small that just works for displaying fan RPM.

Anyone have any ideas or schematics for a small and relatively simple circuit? I've tried searching online but all I've found are Arduino tutorials...
 
Driving a digital display requires complicated processing so unfortunately it's not something that would be remotely close to the original standalone PWM circuit in this thread. People use existing microcontrollers (like Arduino) to drive digital displays via USB.

I have an Alphacool LCD display which I use for RPM readouts; it's as simple as plug-and-play via USB and the graphical display is highly customisable. The downside is that these displays are rare now and can be expensive.
 
Hey guys,

Just wanted to ask, I'd like to make a tachometer circuit with a 4 digit, 7 segment LED display to show fan rpm. I'd like this to be a standalone circuit, like the PWM circuit bing made. Just something small that just works for displaying fan RPM.

Anyone have any ideas or schematics for a small and relatively simple circuit? I've tried searching online but all I've found are Arduino tutorials...

You can take any simple microcontroller, I.E. PIC, Arduino, etc... and drive the rpm signal to an input pin. You will need a pull up resistor to 5v. If it doesn't read clearly, you will need to drive a transistor, I.E. NPN 2n2222 with the rpm signal and a 5 or 10k resistor to 12v, then have the transistor switch a 5v source. This will create the square wave input for your rpm signal. It's how I did it on my controller. RPM signals are an open collector/drain; this is why they require a pull up resistor to a voltage source. The 12v they normally require is too much for a microcontroller, hence the buffering with a transistor (2n2222)

Afterward, it's as simple as setting up a routine that counts the change in voltage status on the pin. Afterward, set up an interrupt that flags every 1 second. Take the value that is read, times it by 60, and you have RPM. Then, you can assign the parts number that you received to a port(a set of pins) on your microcontroller. Simply assigning the number to the port will set all the pins to either on or off based on the binary of the number.

Here's where the magic happens. Then you hook a BCD to seven segment chip to that and have it hooked into your seven segment display. The BCD will read the binary coded decimal you just assigned to your port (a set of pins,) and convert it into data on the multiplexed seven segment display. Problem is that only one digit can be read at a time and displayed. The tricky part is you have to separate your rpm number into it's individual digits with binary shifts on copied variables. This gives you each individual digit. They you have to create a multiplexing routing. What that does it sends the data of each digit to the port, displays it on the seven segment, then switches to another number and displays another number. Each time an index variable changes to determine which of the digits on the seven segment are displayed. This is called multiplexing. It's only displaying one digit of the number at a time, but doing it so fast your human eye can't see the difference.

It would be cheaper and easier to interface with an 16x2 lcd like I did, but that's still a fair amount of coding, circuit board design, and testing.

Long story short, not going to be an easy task.
 
Long story short, not going to be an easy task.

Mhmm, it sure seems complicated :/

I've gotten myself all of these new fans too, so it might be worth investing the time and effort into making. I might just buy the LCD display Lenny was discussing when I've saved up enough $$$...

P.S. Some new fans I've gotten from Vietnam
The 135 watt one is DEFINITELY the most powerful 120mm fan ever... don't have the spec sheet though. All I know is that it has a buttload of static pressure: more than the THA1248BE (with 3+ in H2O) by A LOT, and spins at 11,500 RPM :eek:

20140224_212841_1.jpg
 
Last edited:
Here, for future reference:

g3w0.png

finally managed to add the C2 on my controller.
the whining around 700-1300 on the 9SG were disappear but there's another crickets type of noise came in :rain:

probably will stick with the 390+470pF combo.

or will add a 7805 to supply the controller itself :D
 
That Nidec fan looks crazy.

@inVain, sorry to hear you still have funny noises coming from your 9SG. All my troubles went away when I built the 556/311 controller. I hope you sort it out soon!
 
Lenny,
thank you.

BTW,
I got the controller fixed now.
by replacing the whole board with a new one :chair:

the funny part is;
the replacement is a regular 0-100% intended to work at 25kHz with no C2 attached.
but I dare to say, that this one works better than the previous one that I broke today (in term of noise)


LOL,
my guts told me that during the mod, I've got my iron run way too hot.

despite the blunder I've made, I think I got my lesson here today:
1) always run your iron at the lowest usable temperature possible.
2) use the appropriate soldering tip.
3) always use the finest size of soldering wire.
4) no rush! however excited you are :D

well, can't always win.
but at the very least I learn something very important today.

hope that sharing my experience can be beneficial for other.
 
Heh I know the feeling. Recently I was soldering a red/blue LED and the blue doesn't work... iron too hot, oops :D

Glad you got it working.

I got my TA450DC today... WOW, even better than Delta AF series!
 
I always solder as hot as I can get it, but you need to do a few things differently.

One, have a temperature controlled soldering station. The wire ring holder for the soldering iron keeps the tip from burning.

Two, make sure to flux and coat your tips in a little solder between use, and also put a touch of solder on your tip before each connection. Make sure to have a wet sponge to clean your tip on.

Three, surface area is king. You want to have a tip that has a flat and wide shape. The fine point tips are next to useless. The goal is to heat the area up extremely fast and flow the solder on, then remove your iron almost immediately. I rarely touch for even a whole second before I've flowed my solder down into the connection. The dab of solder already on the tip helps speed up the flow of further solder into your connection.

Just my 2 cents...
 
So true and very helpful. I find that having flux handy makes a huge difference, despite most solder wires having flux core anyway.

Fine point tips are meant for SMD where the contacts are extremely small, so yeah they are virtually useless for general soldering.
 
My concern is some PWM fans cutoff if you use voltage control. If the voltage in drops below 9v on the sayno and 5v on the delta, they shutoff entirely.

5V minimum for the Delta sounds good. For the Sanyo fan you need a rail to rail opamp based circuit like this one if it really stops spinning at 9V.

voltage_to_duty_cycle.png
 
@Jason,
your 2 cents worth a $200 soldering course, at the very least :D

yeah, it sucks to know that the conical tips were quite useless,
since these kind of tips were my very first soldering experience (super cheap iron without temperature control :D).
when I upgraded to a temperature controlled solder station, I found out that these type of tips were lacking heat capacity and poor thermal transfer, and thus; they're next to useless.
a chisel type works best for point soldering jobs.
while the blade and bevel tips give so much thrill with the dragging style (still gonna take some time to do this technique properly, though :chair:)

still gonna advocate for the smallest solder diameter, though
it will give us better control, and lower melting temperature compared with the larger diameter ones



@Lenny,
I recently found that when using the 25kHz controller with multiple 9SG (currently using 4) gave me a quite huge RPM deviation among the fans.
currently monitoring 2 out of the pack.
one fan showing 640-ish, while the other one 450-ish.

swapping back to the 470+390pF combos gave me 640-ish and 613-ish.
but the funny noise appears (maybe I messed up with the caps during the previous mod).

now I'm using 390 + 390pF.
the combos gave me something around 633 and 577 RPM, and I'm quite content with the noise profile and their cooling performance.

gonna keep the sockets for changing the caps value on board, though :D

since, you owned the Alphacool and a bunch of SG laying around,
maybe you wanna a first hand experience :D
just split your pwm output and see how much the RPM differ on each fan


I'm still trying to get some pics and vids for these.
but since I'm currently using H/W monitor to monitor the fan rpm, now I'm start to reach the point of despair :rain:
 
@Jason,
your 2 cents worth a $200 soldering course, at the very least :D

yeah, it sucks to know that the conical tips were quite useless,
since these kind of tips were my very first soldering experience (super cheap iron without temperature control :D).
when I upgraded to a temperature controlled solder station, I found out that these type of tips were lacking heat capacity and poor thermal transfer, and thus; they're next to useless.
a chisel type works best for point soldering jobs.
while the blade and bevel tips give so much thrill with the dragging style (still gonna take some time to do this technique properly, though :chair:)

still gonna advocate for the smallest solder diameter, though
it will give us better control, and lower melting temperature compared with the larger diameter ones



@Lenny,
I recently found that when using the 25kHz controller with multiple 9SG (currently using 4) gave me a quite huge RPM deviation among the fans.
currently monitoring 2 out of the pack.
one fan showing 640-ish, while the other one 450-ish.

swapping back to the 470+390pF combos gave me 640-ish and 613-ish.
but the funny noise appears (maybe I messed up with the caps during the previous mod).

now I'm using 390 + 390pF.
the combos gave me something around 633 and 577 RPM, and I'm quite content with the noise profile and their cooling performance.

gonna keep the sockets for changing the caps value on board, though :D

since, you owned the Alphacool and a bunch of SG laying around,
maybe you wanna a first hand experience :D
just split your pwm output and see how much the RPM differ on each fan


I'm still trying to get some pics and vids for these.
but since I'm currently using H/W monitor to monitor the fan rpm, now I'm start to reach the point of despair :rain:

afaik, not only PWM fans have a huge tolerance up to +/- 10%.

Only digital circuits are able to keep two or more fans in sync by monitoring the rpm signals and thus adjusting the duty cycle for each one individually.
 
afaik, not only PWM fans have a huge tolerance up to +/- 10%.

Only digital circuits are able to keep two or more fans in sync by monitoring the rpm signals and thus adjusting the duty cycle for each one individually.

yes, I'm well aware of the 10% tolerance.
but since the difference can be tighten up by just choosing the right caps value (bet will be better by changing the resistor too), wouldn't it be easier to do that rather than writing codes to set the frequency?

I mean, since many folks who build this unit have many fans which require a different working frequency, this will be the easiest way to do.
better if you have a varcap on hand.

uCs are doable,
but that's just not for everyone, I'm afraid :D
 
yes, I'm well aware of the 10% tolerance.
but since the difference can be tighten up by just choosing the right caps value (bet will be better by changing the resistor too), wouldn't it be easier to do that rather than writing codes to set the frequency?

I mean, since many folks who build this unit have many fans which require a different working frequency, this will be the easiest way to do.
better if you have a varcap on hand.

uCs are doable,
but that's just not for everyone, I'm afraid :D

of course, I also prefer the "analog style".

Varcap sounds very interesting.
Thanks for giving this idea.

What do you think about using a VCO instead of the RC element ?
 
@inVain, I plan to do a lot of RPM testing as I have the alphacool screen again. Do you remember bing's 555 "RPM signal cleaner" circuit? I think that this is very important when measuring the kind of tolerances that you speak of, and I have the components to put one together. :D

I have also finished my 5.25 fan controller...finally. Pics and details to follow soon. :D
 
Last edited:
OK here she is... under the booootiful alphacool display. :D

channel #1: 0-100% pwm for cpu fan
rocker switch: DPDT for duty cycle inversion
channels #2-#5: voltage control using compound transistor pair, toggle switch for on/off

I was going to make 2 channels for PWM but didn't have the time or the patience... maybe next time.

For now, this fan controller is everything I need. :D

dxlt.jpg
 
Back