12v Fan - PWM and Mosfet issue

Hi All,

I am hoping someone can shine some light on a problem I am having trying to control 4 x 12v Fans with an Arduino Uno. The Fans are a bit strange (Taken from an Apple PowerMac G5) in that they have 4 wires and I have identified them as; positive, negative, PWM control and RPM output.
So the positive and negative are the 12v Rail which is on consistently and the PWM control is 12v PWM to control the speed.
So if I am using the same 12v power source to power the 12v Rail and for PWM control, how would I go about it considering the ground will be common to both?

I was going to use an ST 95N2LH5 N-Channel Power MOSFET but I am doubting that this will work since switching the +PWM signal won't have any effect since it will be to ground anyway via the FAN... I hope that makes sense!

This actually looks really stupid, so please bear with me, Im only learning as I go with this.

Ive attached a quick diagram below, any help would be appreciated!

Huh.jpg

Ok, wait a sec, I think I figured it out.... maybe.

Is this setup ok with an N Mosfet? I have zero experience with this so please dont laugh!

Thanks

Maybe.jpg

Does anyone have any ideas?

I think I've managed to work out the circuit I need using an NPN transistor and P Mosfet.
Does this look about right?

Your first diagram seems the closest. Just replace the direct wire from the +12V to the MOSFET source with a 1K resistor. That will act as a pullup and the MOSFET pulls down on command from the Arduino.

The last diagram has no pull-down in your circuit, which will only work if that exists inside the fan. It would probably work straight off the NPN, without the MOSFET.

Ah ok, would this be a better option do you think?
Thanks for helping!

I still see no pulldown for the PWM input pin on the fan.

Also 10K looks very very high for a base resistor on a bipolar transistor. Remember they are current devices and the output current is a multiple of the base current. With 10k on the base, that current will be very very small and you won't get much output current.

Do you mean a resistor between the PWM input on the fan and ground? I'm not sure I understand why its needed, doesn't sound like a good idea to me first off :smiley: but I'm pretty new to all this, so ill read up on pull-up/pull-downs and see if I can make sense of it!

I didn't think I would need much output current as the Arduino can only supply very little anyway from its output, so the resistor is there to limit that current as I don't want the transistor pulling too much and damaging the arduino. Make sense? or am I way off?

Thanks,