Jump to content

Home made fan controller?

Zorbeltuss
Go to solution Solved by mariushm,

For manual control, a very cheap way to regulate fans without PWM wires would be to use a linear regulator with low dropout voltage.

Here's just some of those regulators that would fit the bill : https://www.digikey.com/short/3wdr1b

 

You feed them with 12v and they can output anything between the internal reference voltage (the most common being 1.25v) and the input voltage, minus 0.1-0.5v ... so you could have for example a range between 5v and 11.8v (and the fan will naturally vary its speed accordingly).  Some industrial fans may not start at 5v, only at something like 7v, but once they start they could be lowered down to 5v.

 

For example see this one: https://www.digikey.com/product-detail/en/stmicroelectronics/LDFPT-TR/497-14663-1-ND/4844090

Pins 1 and 2 go to +12v, pin 3 (broken one in the PPAK package) or the TAB go to ground, pin 4 is the output voltage and pin 5 is the adjust pin ... the reference voltage is 0.8v and you can adjust output voltage with the resistor ... formula is Vout = 0.8 x ( 1 + R1/R2)  .. so you'd use a 100ohm resistor for R2 and a 470 ohm resistor in series with a 1kohm potentiometer where you see R1 and that will give you a minimum of 0.8 x (1 + 470/100) = 4.6v  and a maximum of 0.8 x (1+1470/100) = 12.5v

 

circuit.png.24482658d68f446079c8f7f9902f4920.png

 

 

Another method of controlling a fan without pwm wire would be to use a npn transistor in the state between fully off and fully on to limit the amount of current going through it.

So for example, a npn transistor with a hFe value of 100  would allow 100mA to go between collector and emitter if there's 1mA of current on the base pin .. so if you want to adjust the current between 100mA and 500mA on the fan, you'd adjust the base current on the transistor between 1mA and 5mA ... you can do it with a potentiometer

 

Then of course you can use a led driver IC to control the current going through the fan .. it's easy. You set the led driver IC to allow maximum 500mA as the fan is rated for, and then you can adjust the maximum current with the pwm control pin of the led driver, or by sending it i2c commands.  It's overkill for the job, but it would work.

 

Here's some suggestions : https://www.digikey.com/short/3wdfz8

 

For example, looking at AL8861 :

 

led_driver.png.ab2e2e273d226cbe7d8109d1a0611803.png

You power it with 12v (and that's the maximum voltage the fan will see), you pick an inductor and a Rs resistor according to the datasheet  (around 47-68uH for max 500mA according to the pretty graphs in datasheet and default output current is set with formula 0.1 / Rs so for a default of 500mA so for example you'd use a 0.2 ohm resistor, or 2 x 0.1 ohm resistors in series), a generic diode like 1n4007 (or any 1n4001, 1n4002  all the way up to 4007 the only difference between them is the maximum voltage they can handle, all support at least 50v which is above 12v the fan uses) and you place the fan where the leds are shown in schematic.. 12v wire on top, ground wire where it's connected to L1

With Vset you can adjust the amount of current using your microcontroller (it likes up to 3.3v but will work with up to 5v):

 

Quote

 

Multi-Function On/Off and Brightness Control Pin:
* Leave floating for normal operation
* Drive to voltage below 0.2V to turn off output current
* Drive with DC voltage (0.3V < VSET < 2.5V) to adjust output current from 0 to 100% of IOUTNOM. Linear adjustment range from 5% to 100% of IOUTNOM
* Drive with PWM signal from open-collector or open-drain transistor, to adjust output current.
Linear adjustment range from 1% to 100% of IOUTNOM for f < 500Hz
* Connect a capacitor from this pin to Ground to increase soft-start time. (Default soft-start time = 0.1ms. Additional soft-start time is approximately 1.5ms/1nF)

 

 

Other led driver ICs work pretty much the same.

I have a monstrous 120 mm fan for industrial use, at current I cannot use it however, changing speeds manually is just not possible, and it has no built in pwm unlike computer fans.

How would I best make an electronic speed controller for it, should I use a PWM solution or a variable voltage regulator, in case it changes things @ 12 volts it draws 0.5 amps and has no rpm out.

 

Usage is not set in stone, it might become either a server fan or an RC hovercraft or something I haven't come up with yet, regardless I need to control the speed somewhat.

Link to comment
Share on other sites

Link to post
Share on other sites

Not all computer fans are PWM. Less than half of them are.

You do not need PWM to control a fan speed, just a motherboard with DC fan control.

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Enderman said:

Not all computer fans are PWM. Less than half of them are.

You do not need PWM to control a fan speed, just a motherboard with DC fan control.

It's more of I want to make a project with this fan as a central point, rather than just wanting to use the fan though. ^^

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Zorbeltuss said:

It's more of I want to make a project with this fan as a central point, rather than just wanting to use the fan though. ^^

 

So what do you want to control it with? A knob? Your motherboard?

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Enderman said:

So what do you want to control it with? A knob? Your motherboard?

Most likely an spi bus from an atmega or something, though a pwm signal from my fpga kit would also do fine.

Link to comment
Share on other sites

Link to post
Share on other sites

For manual control, a very cheap way to regulate fans without PWM wires would be to use a linear regulator with low dropout voltage.

Here's just some of those regulators that would fit the bill : https://www.digikey.com/short/3wdr1b

 

You feed them with 12v and they can output anything between the internal reference voltage (the most common being 1.25v) and the input voltage, minus 0.1-0.5v ... so you could have for example a range between 5v and 11.8v (and the fan will naturally vary its speed accordingly).  Some industrial fans may not start at 5v, only at something like 7v, but once they start they could be lowered down to 5v.

 

For example see this one: https://www.digikey.com/product-detail/en/stmicroelectronics/LDFPT-TR/497-14663-1-ND/4844090

Pins 1 and 2 go to +12v, pin 3 (broken one in the PPAK package) or the TAB go to ground, pin 4 is the output voltage and pin 5 is the adjust pin ... the reference voltage is 0.8v and you can adjust output voltage with the resistor ... formula is Vout = 0.8 x ( 1 + R1/R2)  .. so you'd use a 100ohm resistor for R2 and a 470 ohm resistor in series with a 1kohm potentiometer where you see R1 and that will give you a minimum of 0.8 x (1 + 470/100) = 4.6v  and a maximum of 0.8 x (1+1470/100) = 12.5v

 

circuit.png.24482658d68f446079c8f7f9902f4920.png

 

 

Another method of controlling a fan without pwm wire would be to use a npn transistor in the state between fully off and fully on to limit the amount of current going through it.

So for example, a npn transistor with a hFe value of 100  would allow 100mA to go between collector and emitter if there's 1mA of current on the base pin .. so if you want to adjust the current between 100mA and 500mA on the fan, you'd adjust the base current on the transistor between 1mA and 5mA ... you can do it with a potentiometer

 

Then of course you can use a led driver IC to control the current going through the fan .. it's easy. You set the led driver IC to allow maximum 500mA as the fan is rated for, and then you can adjust the maximum current with the pwm control pin of the led driver, or by sending it i2c commands.  It's overkill for the job, but it would work.

 

Here's some suggestions : https://www.digikey.com/short/3wdfz8

 

For example, looking at AL8861 :

 

led_driver.png.ab2e2e273d226cbe7d8109d1a0611803.png

You power it with 12v (and that's the maximum voltage the fan will see), you pick an inductor and a Rs resistor according to the datasheet  (around 47-68uH for max 500mA according to the pretty graphs in datasheet and default output current is set with formula 0.1 / Rs so for a default of 500mA so for example you'd use a 0.2 ohm resistor, or 2 x 0.1 ohm resistors in series), a generic diode like 1n4007 (or any 1n4001, 1n4002  all the way up to 4007 the only difference between them is the maximum voltage they can handle, all support at least 50v which is above 12v the fan uses) and you place the fan where the leds are shown in schematic.. 12v wire on top, ground wire where it's connected to L1

With Vset you can adjust the amount of current using your microcontroller (it likes up to 3.3v but will work with up to 5v):

 

Quote

 

Multi-Function On/Off and Brightness Control Pin:
* Leave floating for normal operation
* Drive to voltage below 0.2V to turn off output current
* Drive with DC voltage (0.3V < VSET < 2.5V) to adjust output current from 0 to 100% of IOUTNOM. Linear adjustment range from 5% to 100% of IOUTNOM
* Drive with PWM signal from open-collector or open-drain transistor, to adjust output current.
Linear adjustment range from 1% to 100% of IOUTNOM for f < 500Hz
* Connect a capacitor from this pin to Ground to increase soft-start time. (Default soft-start time = 0.1ms. Additional soft-start time is approximately 1.5ms/1nF)

 

 

Other led driver ICs work pretty much the same.

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, mariushm said:

For manual control, a very cheap way to regulate fans without PWM wires would be to use a linear regulator with low dropout voltage.

Here's just some of those regulators that would fit the bill : https://www.digikey.com/short/3wdr1b

 

You feed them with 12v and they can output anything between the internal reference voltage (the most common being 1.25v) and the input voltage, minus 0.1-0.5v ... so you could have for example a range between 5v and 11.8v (and the fan will naturally vary its speed accordingly).  Some industrial fans may not start at 5v, only at something like 7v, but once they start they could be lowered down to 5v.

 

For example see this one: https://www.digikey.com/product-detail/en/stmicroelectronics/LDFPT-TR/497-14663-1-ND/4844090

Pins 1 and 2 go to +12v, pin 3 (broken one in the PPAK package) or the TAB go to ground, pin 4 is the output voltage and pin 5 is the adjust pin ... the reference voltage is 0.8v and you can adjust output voltage with the resistor ... formula is Vout = 0.8 x ( 1 + R1/R2)  .. so you'd use a 100ohm resistor for R2 and a 470 ohm resistor in series with a 1kohm potentiometer where you see R1 and that will give you a minimum of 0.8 x (1 + 470/100) = 4.6v  and a maximum of 0.8 x (1+1470/100) = 12.5v

 

circuit.png.24482658d68f446079c8f7f9902f4920.png

 

 

Another method of controlling a fan without pwm wire would be to use a npn transistor in the state between fully off and fully on to limit the amount of current going through it.

So for example, a npn transistor with a hFe value of 100  would allow 100mA to go between collector and emitter if there's 1mA of current on the base pin .. so if you want to adjust the current between 100mA and 500mA on the fan, you'd adjust the base current on the transistor between 1mA and 5mA ... you can do it with a potentiometer

 

Then of course you can use a led driver IC to control the current going through the fan .. it's easy. You set the led driver IC to allow maximum 500mA as the fan is rated for, and then you can adjust the maximum current with the pwm control pin of the led driver, or by sending it i2c commands.  It's overkill for the job, but it would work.

 

Here's some suggestions : https://www.digikey.com/short/3wdfz8

 

For example, looking at AL8861 :

 

led_driver.png.ab2e2e273d226cbe7d8109d1a0611803.png

You power it with 12v (and that's the maximum voltage the fan will see), you pick an inductor and a Rs resistor according to the datasheet  (around 47-68uH for max 500mA according to the pretty graphs in datasheet and default output current is set with formula 0.1 / Rs so for a default of 500mA so for example you'd use a 0.2 ohm resistor, or 2 x 0.1 ohm resistors in series), a generic diode like 1n4148 and you place the fan where the leds are shown in schematic.. 12v wire on top, ground wire where it's connected to L1

With Vset you can adjust the amount of current using your microcontroller (it likes up to 3.3v but will work with up to 5v):

 

 

Other led driver ICs work pretty much the same.

This is awesome. Thank you so much!

Link to comment
Share on other sites

Link to post
Share on other sites

My favourite way to do it is to simply have a potentiometer and an N-channel MOSFET. It doesn't go all the way up to 12V (MOSFETs have a threshold voltage. It varies how much exactly, the ones I have happen to be 3V). The MOSFET acts as a source follower to the potentiometer's output, providing a stable voltage source that doesn't fluctuate much under varying current. Like this:

Spectacle.MT3307.png.8cb28c96d1a40b594c78cd11ddd28875.png

If you want to get closer to 12V you could also use an NPN transistor as an emitter follower. They typically have a threshold voltage of around 0.7V

 

EDIT: If you want to control them using a microcontroller it's best to just use a PWM output. Just because the fan isn't a PWM fan doesn't mean it can't be controlled that way, it's just that PWM fans have a separate PWM wire that tells them how fast the computer wants them to go instead of simply turning it on and off really quickly. But PWMing a cheap fan often works just as well as doing it with a normal electric motor. The only problem with that is that you can't use the tach sensor while the power is off IIRC. Just hook it up like you would with a regular DC motor.

I cannot be held responsible for any bad advice given.

I've no idea why the world is afraid of 3D-printed guns when clearly 3D-printed crossbows would be more practical for now.

My rig: The StealthRay. Plans for a newer, better version of its mufflers are already being made.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×