Digital PC Fan Controller

Discussion in 'The Projects Forum' started by SpringHalo, Oct 29, 2014.

  1. SpringHalo

    Thread Starter New Member

    Jan 23, 2014
    7
    0
    Everyone and their brother seems to have made a 12v fan controller using a LM317 or similar adjustable regulator, but I'd like to take it to the next level and make an I2C or Serial connected fan controller. The only problem is, I'm not exactly sure what kind of components I'm looking for. My original thought was to use a buck regulator, however it seems most of them are designed to operate at fixed output levels determined by passive components. Others I've seen are used for high current low voltage sources (CPU/GPU power phases) but don't have the range I'm looking for. Last up seem to be derivatives of lab power supplies, using power mosfets for almost a variable-switching sort of deal.

    My main criteria:
    1. Digital Interface
    2. Voltage Control 12v in, 0.8~11v (ideally 0-12v) output, 8-bit or higher resolution
    3. Additional controller for PWM output
    4. More efficient than linear regulators
    I'm thinking of either interfacing it directly into a motherboard I2C or communications bus, or just going the USB route with a Cortex M0 or similar.

    I'm just trying to figure out my options and look for the most simple and efficient design, so any and all comments and suggestions are greatly appreciated!
     
  2. ISB123

    Well-Known Member

    May 21, 2014
    1,239
    527
    You will need max232 for serial interface.
     
  3. wayneh

    Expert

    Sep 9, 2010
    12,090
    3,027
    What's your end goal? I mean, modern fans have PWM built into them so that they can be controlled by just a 5V digital signal from the motherboard, under software control. No need to reinvent a wheel.
     
    mcgyvr likes this.
  4. SpringHalo

    Thread Starter New Member

    Jan 23, 2014
    7
    0
    Thank you, I'll check it out.

    My end goal is software controlled fans (possibly an interface with Speedfan). The specific models are Scythe GT1225, which are about $20 a piece. They're incredibly quiet, albiet still audible at 12v. My motherboard has PWM control on the CPU fan header, however it's only controllable through BIOS. My case is mITX, so there is no 5.25" bay to mount a standard speed controller. In addition, I may watercool at a future date, so PWM or voltage control of a pump will be necessary.

    Also, re-inventing the wheel should be a fun learning experience, as I don't have a lot of experience with digital-to-analog systems or power conversion.
     
  5. SpringHalo

    Thread Starter New Member

    Jan 23, 2014
    7
    0
    After looking around a little more, I thought it might be possible to use an 8-bit DAC to provide voltage ouputs, then use a current-buffering opamp in unity gain (LT1739, LT1210) to provide extra current. I looked at making a voltage follower, but those are pretty much the equivalent of a linear regulator when it comes to power efficiency. I doubt the opamps I'm looking at are made to be used in this manner, but I feel like they would work.

    Thoughts?
     
  6. Sensacell

    Well-Known Member

    Jun 19, 2012
    1,127
    266
    Controlling the voltage gives you very limited control over a brush-less fan, go too low and the controller chip inside the fan starts resetting and it won't run correctly.
    The best scheme I have seen is the 'synchronous PWM' system where the internal commutation of the coils is monitored by measuring the current, then the circuit PWM's the fan supply voltage synchronously. This yields wider speed control range and better efficiency.
     
  7. SpringHalo

    Thread Starter New Member

    Jan 23, 2014
    7
    0
    Although the fans I'm working with operate with voltages from ~2.5v to 12v thus would work with variable voltage, I'm interested in the synchronous PWM system. What would the approximate PWM frequency be? Something like a few hertz to keep from frying the brushless controller? Would the current monitoring method be specific to only a single type of fan, and would it be measured through the VDD and VSS pins?

    Thanks
     
  8. Sensacell

    Well-Known Member

    Jun 19, 2012
    1,127
    266
    This circuit works quite well.

    You might need to change the value of the current sensing resistor for smaller fans, this configuration is for a 30 watt 24 volt blower.

    The circuit senses the internal coil commutation and delays the turn-on of the next pulse, so it's doing PWM at the exact commutation frequency.
     
  9. SpringHalo

    Thread Starter New Member

    Jan 23, 2014
    7
    0
    Are the Vdd and Vss pins swapped in that schematic? I see the Vss pin attached to +5v, and Vdd at GND. Is the basic theory of operation one opamp as an amplifier (or buffer) of the current signal, and the other as a comparator controlling the MOSFET, switching on and off during the steep rise of the current?
    [​IMG]

    I took some measurements of my fan with an oscilloscope. The orange is voltage drop through a 1.2 ohm resistor in series with the fan, and the green is the fan's tachometer output. From what it looks like, there are four current cycles for each fan revolution, leading to an even 1800RPM. Is the purpose of the circuit here to cut the power at specific times during the steep rise in current consumption in order to control how much current is being pulled by the fan? Also, a 1.2 ohm resistor leads to a similar vdrop over R2 (~110mV) as the 0.1 ohm resistor does for the 24V 30W fan, but for higher current fans, would it be better to have a lower value resistor in that spot (for utility's sake)?

    Thanks for the diagram and suggestion.
     
  10. Sensacell

    Well-Known Member

    Jun 19, 2012
    1,127
    266
    Yes Vdd and GND are reversed.
    Both opamps are operating as comparators, the basic idea is that the motor current drops to a low value at the moment of commutation, the circuit then turns the FET off for a period, reducing the average power. The sense resistor should be chosen to reliably detect commutation, based on the ratio of full-on current to idle current.

    The schottky diode on the sense resistor prevents the Vgs on the FET from going below 4.5 V keeping it solidly in conduction.
     
    Last edited: Nov 1, 2014
Loading...