Controlling 12v fans using the adafruit PWM controller

hello my fellow creators, this is my first time posting here since i'm not being able to find a built solution for my problem.

i recently found an old box of delta 12v fans i had saved back, i decided i wanted to use them to ventilate some rooms in our house since it smells kinda musty sometimes.
i have delta fans with 3 wires, so unfortunately i can't control the speed right out of the box. i've been doing some research but i haven't been able to find a readily available product that can do what i want it to do, since i want to drive 15/16 fans from the one arduino.

the first problem was the fact that none of the available arduino's have more then 14 PWM pins. but i quickly realized i still had an adafruit PCA9685 laying around from an older project. but then the voltage problem comes into play. i've been doing some research and found out that mosfet's might be the solution to get 12 volts to the fans. but can i just combine the PCA9685 with some mosfet's? could i just solder the gate to the PWM pin on the PCA9685 and call it a day? i will also still need pull-up resistors for the mosfet's. could i solder those to the board as well? or do they need the connection directly to the arduino? for the power supply i was thinking of using a PC power supply, since this has the 12v and 5v needed for the project and i have one laying around. it is my first time having to create my own solution with basic components instead of just readily available boards, so this is quite new to me and i would love all the help/ feedback you can give me! if you know of a solution that is available and might suit my needs, don't hesitate to tell me! i need all the help i can get on this one!

Show a drawing of your intended circuit and how you intend to control the fans.
I take it "delta" is the brand.
Do the fans require individual control...??
Show details/specs on the fans, type ,voltage, current draw etc.
No idea why you need pull up resistors on the mosfets unless you are using Ptype.

2 Likes

Interesting idea, it should work. On my fans the yellow lead was the RPM sensor. I simply wired mine red to positive and - to the PWM output. Is the speed control precise no but they do work. They move air over my fin tubes for heat in the winter in my lab. The sound will be interesting as you change speeds.

2-pin and 3-pin fans should be PWM-ed with a very low frequency, like 30Hz.
Any Arduino, like a Nano, can drive (almost) all pins with 30Hz PWM.
So I don't see the need for a PCA9685 board.
Leo..

that's good news, but i have it laying around anyway and i have been hearing the opposite of what you are saying. i don't know what is true, but i might as well do it this way. it would even open up the rest of the aruino to accept the extra wire on the fans for the monitoring of the fan speeds

delta is indeed the brand, most commonly used in server applications (you know, the ones sounding like a jet taking off :slight_smile: ) i don't quite know what you mean by needing individual control. i could have the entire array at the same speed, that was my plan anyway, so yeah i could do that. but i dont know if the fans require individual control.

the fans i'm using are, and i might have to check this later, the https://www.delta-fan.com/products/AFB0612EH-A.html, they are 12v and rated for 0,38 amps. i'm not certain that is the right one because the spec sheet lists them as only having 2 wires while mine have 3. so it has the speed monitor wire but not the pwm speed control wire.

i made a quick schematic for my idea, im not certain what the diffrences are with p and n channel mosfets, so i used either one of them, i'm not saying it was the one i plan on using since i don't know yet. also i will be powering all the electronics from an old pc power supply so just forget about the little 12 volt hookup i frankensteined in there.

wouldn't i need pullup resistors to prevent a floating negative? and if i use the P-channel ones i would have to keep in mind that the damped oscillation and therefore the current draw while switching might get to high for the arduino to handle?

also: don't look at the fact i only hooked up 4 fans, wich would be easily doable with the arduino and some mosfet's. i plan on having a 15/16 fans running of the single arduino

i also found that i have AFB0612EH fans instead of the AFB0612EH-A in the link i sent over.

You have no reference for the FETs (ground). The MOSFETs in your circuit are turned on with a + voltage from the gate to source. You also have them connected wrong.

how would i go about creating said reference? isn't that the same point i had about the need for pullup resistors and otherwise having a floating connection to the gate of the mosfet? or would this mean i would have to connect the gate and source of the mosfet with a pulldown resistor? and yea i figured as much, the source is supposed to be connected to ground!

Simply connect the grounds unless there is a fault reason you cannot. The ground is also the reference point and that is where you connect your meter. If you are using a P-Channel then the drain source becomes the reference for measuring the gate voltage (it will be negative). There are a lot of drawings for a low side switch using a MOSFET, most are wrong. They put a resistor in series with the gate, should be maybe in the 25 - 50 Ohm range. They then add a pull down resistor to the gate to guarantee the MOSFET is off. This works but reduces the drive to the gate which probably at best is weak. The best place is to place the pull down resistor on the port pin thereby eliminating the voltage divider to the gate.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.