Water pump controller for car


I am quite new at Arduino and electronic design but have made some sensors based on Arduino. Then I got the idea to replace the current digital controller for the water pump I have in my sportscar since that behave strangely.
Therefore I would be very happy to get help, ideas and feedback on the design.

Current Implementation
The current controller I have have the logic/functionality implemented as described in the diagram below. The “set point” is the wanted temperature, e.g. 90 degree Celsius (C).
Also not mentioned in diagram it also run the pump for 2 minutes or until the temperature is 5 degree C below “set point” (and fan if needed) after the engine was shutdown.

New Design
I plan to base the new design on Arduino ProMini together with a pump voltage controller Pololu High-Power Motor Driver 36v15 and a relay card for the fan. The Arduino will be powered via a Pololu Step-Down Voltage Regulator D15V35F5S3. Current temperature will be read from the sensor used today.


Questions (as of today :slight_smile: )

  • Do you think the design is correct so far? (any feedback is welcome)

  • Running the pump after engine shutdown and wake up ?

  • Programatically it should not be any problem to run the controller/pump until the wanted temperature is reached and then put it to sleep

  • How can I wake up the controller from sleep when ignition key enter +15 (as described in diagram)?

Do you need to run the pump in reverse? If not a MOSFET may replace the motor driver.

groundfungus: Do you need to run the pump in reverse? If not a MOSFET may replace the motor driver.

No I don't need to reverse the pump but I already have the motor driver on the shelf ...

Are you really sure those EWPs are a good idea? It's your engine, but if you look at the pressure/flow characteristics of those little pumps you'll find that as soon as you offer them any realistic backpressure the volume flow rate goes through the floor. While you may still end up with enough flow to avoid the engine as a whole boiling, the amount of flow through the heads will be a fraction of what the engine was designed for. If this is a highly stressed engine, compromising the water flow in the heads is the last thing you want to do. If you want to get a feeling for how much the flow is being reduced, look at the power consumption of a mechanical water pump for that engine and compare it to the power used by the little electric pump. Even a small water pump can easily draw several kilowatts of power from the crank, and those little pumps draw a tenth of that. Dropping the power by a factor of ten will result in a correspondingly large drop in the coolant flow rates.

Having said all that, the circuit design looks reasonable. I've used one of the mid-sized pumps for run-on cooling i.e. running the fans on controlled by a thermostatic switch sensing coolant temperature, and using the little pump to keep a trickle of water flowing round the cooling system so the fans could pull the engine temperature down. If you want to provide pump run-on it will need to be supplied from a permanent feed (not ignition switched). You will need to check the minimum current draw of your solution to see whether you need a way to power it down after the run-on has completed. I think in low power configurations you can get that mini down to single figure milliamps and hopefully the rest of the circuit won't draw any significant current when everything is idle, in which case you shouldn't have any problem.

If you've ever had to track down pollution problems in a computer-controlled car, you find that the computer reads many parameters, and controls all sorts of little gadgets. I would be concerned that if you are bypassing the normal computer control of your water pumps, the computer may throw one or more OBDC codes, and put your car in limp mode, or somehow otherwise mismanage your engine. Be very cautious with this project.

John Doner

Thanks for your reply @PeterH and @jrdoner, I need to explain a bit more on what it is.

The car I am talking about is a Super Seven replica, I have built it myself based on a kit car from Westfield in UK with a SAAB turbo engine so much of the construction is home-made. It have been on the road (legal) for 2,5 seasons including track-days with a lot of stress on it :) . Of course I have adjustments to the construction and this includes the coolant system; the water pump have been there all the time but radiator have been replaced with a new one in aluminium providing more cooling area and also improved sealing so air goes through radiator instead on the sides. The controller currently used is also from Davies Craig, 8020) but I am not very satisfied with it. 1st one I got didn't even run a single time, 2nd one worked for less than 1 season and the current (3rd) have worked well but now have started to behave strangely. But Davies Craig have been very service minded and sent new controllers on warranty. Meanwhile I investigate the current problem I have started this alternative solution since I like problem solving and new ideas and also have found the wonderful world of Arduino :) I think this could be a perfect Arduino project and also have better control over implementation.

@PeterH I must say I don't have the best skills in pressure/flow etc but I know several people running these Davies Craig pumps in their cars and also I have have run it for some years and I am "quite known" to use the throttle :) In the drawing I have the solution fed from battery (permanent, +30) but wondered if I put it to sleep how I can wake it up (getting an interrupt from ignition key) but as you say, maybe it's not needed. Will order a power supply suitable for this and hook it up for test and measure it.

@jrdoner Absolutely true on any "normal" car but based on above it's not a problem. This controller doesn't interfere with car's engine ECU

Have you got rid of the thermostat and bypass (and cabin 'heater' etc) too - in other words, so that the pump controller is also managing your engine temperature and the whole coolant flow goes round a loop between the engine and rad??

PeterH: Have you got rid of the thermostat and bypass (and cabin 'heater' etc) too - in other words, so that the pump controller is also managing your engine temperature and the whole coolant flow goes round a loop between the engine and rad??

Yes, no thermostat and no cabin heater....just engine-pump-pipes-radiator (and expansion tank). It's correct that the controller manage the engine temperature (nothing else really) with the sensor very close to original thermostat and engine outlet.

The blue line in that chart you posted looks like a sensible algorithm. There's a limit to how slow you can run these centrifugal pumps before they simply stop working so at some point you will need to run them intermittently. Also, you'll need to maintain a minimum coolant circulation regardless of temperature just to ensure the temperature sensor is seeing the same coolant temperature as the engine.