I'm not an Engineer by trade, rather a programmer looking to put together a micro controller project that alters the water flow rate of a cooling system to maintain a specific operating temperature for a piece of equipment.

The media is mains-supply water, so is already at pressure.

What component would I be looking for to control the rate of water flow from a microcontroller? I was pointed in the direction of a solenoid valve, however it appears this is only on/off control not variable.

What is the appropriate terminology for a piece of equipment that provides variable liquid flow control?


3 Answers 3


Depending on whether you are just letting a variable amount of liquid past or actively need to push it, the answer is either a valve or pump. There are off the shelf units for both. Valves will be controlled either by a motor or a solenoid. Pumps will be run by motors. In either case, both can be controlled by a microcontroller by something called "PWM", which stands for pulsewidth modulation. Instead of trying to run the motor or valve at some intermediate voltage, you switch rapidly between full on and full off. The solenoid or valve only "sees" the average, but the full on and full off switching are more effecient than creating voltages or currents in-between.

  • \$\begingroup\$ Are all DC solenoids suitable to be driven by PWM? \$\endgroup\$
    – bly
    Mar 10, 2013 at 1:56
  • \$\begingroup\$ @heretik: Yes they are. \$\endgroup\$ Mar 10, 2013 at 12:40

This is a fun problem to solve. Flow of noncompressible media (like water) can be tough to control with much precision. Fortunately, cooling applications don't require great flow control precision.

There are a few ways I've seen the flow control problem solved:

1) Proportional flow control valves. Depending on the precision you require (probably not much), these can range from really cheap butterfly-style valves to very complicated pilot controlled poppet valves. Note that you probably never want to shut flow off completely- both because your pump may not like it and because of the issue I mentioned above. The use of the valve can have a big impact on how the overall system works.

  • A proportional valve is used to variably block the pump output. This is the simplest to plumb, but can cause problems in edge cases. Most variable flow rate cooling applications rely on measuring the outlet coolant temperature as the "process variable" for feedback in loop closure. This works great within a defined flow range, but note that if your controller drives the flow rate to zero (i.e. in a cold startup condition where no cooling is required), then you have no flow and no way to measure the temperature of the coolant. A device can overheat while the thermal management controller believes that it is cold.
  • A proportional valve is used as a bypass connected in hydraulic parallel with a fixed orifice valve. The orifice sets the minimum flow (i.e. with the valve fully closed), and then valve can be variably opened to increase flow up to the system max.
  • A 3-way proportional valve is used at the pump inlet to vary the mix of "cool" coolant and "hot" coolant (i.e. what is coming out of the device being cooled without first passing through a heat exchanger). This is the way that most engine cooling works - coolant recirculates until the temp rises to the point of opening the thermostat, after which the thermostat provides a continuously variable mix of hot and cold coolant to the engine block. This approach is novel in that it uses a paraffin wax-controlled valve to do loop closure - no electronics required!

2) Variable speed pump. As Jippie mentioned, a DC pump motor (or AC pump motor with variable frequency drive) can be used to vary flow within a certain range. Note that the range of flow from full to minimum (often called the "turndown ratio") generally isn't as wide using variable speed pump control as using a valve (unless you use a positive displacement pump), due to flow nonlinearities within the pump itself.

3) Variable displacement / variable geometry pump. This is overkill for what you're trying to achieve, but is commonly used for variable flow hydraulic pumps - it allows the pump to run at a fixed speed and the internal displacement of the pump is controlled to vary flow.

The best choice for your application will depend a lot on the type of pump that you intend to use, the nominal flow rate required, the required temperature control accuracy, and the risks associated with under- or over-temperature operation of your equipment.


A 'pump'. If it has a DC motor, you can probably control it through PWM and many microcontrollers have PWM hardware in them.

PWM = Pulse Width Modulation. You turn on and off very quickly power to the motor and vary the duty cycle to control the speed.

To ensure the pump will always run, you probably need some PI or PID algorithm in the control loop. (Proportional, Integrating, Differentiating).

  • Proportional to ensure the pump is always running;
  • Integrating so in case the coolant gets warmer than you want/expect, you increase power to the pump.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.