Help needed. Fan speed controller for a UPS

Hi,
Id like to see if anyone can help me out, the goal is to use a pro mini to control the fan speed of a noctua nf-a9 pwm fan based on the voltage applied to a fan inside a UPS.

the UPS powers the fan with either 12V or 24V depending on the situation.
when the fan receives 12V the UPS is idle, and the stock fan is very noisey. There isnt much in the way of heat being produced at this time and it runs fine without any fan.

I have the arduino on a 12V DCDC being powered by 24VDC from an LM315T on the UPS main pcb. The Arduino is powered from the LM315T output and the chassis ground connection.

There is something funny going on at the stock fan header. With a DMM I can read the Voltages fine, but, the arduino, via a voltage divider circuit always reads the 24V signal (dropped to 4.6V)

if i read the voltage from the fan header +ve with the DMM negative on the chassis i also get 24V. The fan header and chassis are within 0.2v of each other, although do not have continuity.

anyone have any idea how to achieve the goal, and more importantly what might be going on ?

If you have access to a scope or logic analyzer check the signal, I believe it is a PWM signal rather then a variable voltage. Consider replacing the fan with a new, quite, one. This probably will be the most cost effective solution.


this is the positive fan pin on mains AC. (14v)

this is the positive on Battery reserve (24V)

negative on battery reserve (24V)

negative on mains AC (14V)

that first pic when only reciving 14V does look a PWMy, but not a 50% duty cycle.

Without a schematic and what I generally see the fan us being PWMed on the negative pin. This goes way back into electronics, NPN devices were much cheaper then P devices, this has held true until the recent improvements in MOSFETs. Also a Low Side PWM is much easier to drive with a logic signal. I I will take a SWAG and say if you trigger on the negative spikes in your first photo and look at the negative pin of the fan that will be the point where it is being turned on. Posting a schematic of the system would make answering much easier.

i cant really get a schem for the UPS PCB, and making one would likely contain errors anyway.

so if the fan is pwm controlled via the GND with an NPN device, the way I see it, I have three options

  1. a new more quiet 24vDC fan, this wont allow me to turn it off when idle
  2. find the logic signal for the PWM signal and send it to the arduino
    3)hack the front panel LEDs, take some wires off to the arduino, and forget reading the fan header, just code the logic to respond as needed from LED cues, there is an LED on the front panel for all of the scenarios I would need to adapt the speed for. This may be the route I take.

If you can get a scope or logic analyzer that will help you determine what you have.

the photos of the scope are above , you have replied mentioning them?

Yes I saw them but you need to show the negative on the fan, that is the assumed PWM pin.

there are two photos labelled positive, one when on battery and one on AC, and two named negative one on battery and one on AC.

I ended up taking some wires from the LEDS on the front panel so I can determine in code if the fan should be high or low.....
the fan is now almost inaudible in normal useage, however that has revealed a nice transformer hum which wasnt previously audible. great! , either way my original goal of getting the fan noise reduced has been achieved.

thanks

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