Controlling fuel pump speed with PWM

Cliffs:
Need to control a DC fuel pump with PWM.
Needs a high and low speed(continuous).
Fuel pumps draw a lot of current.
Will be mounted ~15 feet away from battery.

I am trying to learn how these Arduinos work and have limited electrical knowledge, so bare with me. This will be done using the UNO on a car making about 500rwhp.
What I want to do is control a BLDC fuel pump with a continuous low speed and high speed that kicks on either progressively (1:1) or just 100% when a specified input is reached using PWM. The reason for this is because of fuel heating issues associated with running large fuel pumps when cruising. To much fuel passes through the fuel rails which heats the fuel wonderfully. The idea is to run the pumps at roughly half speed or less to reduce flow when cruising, then when fuel demands increase the pump will go full speed to meet the fuel demand of the motor.
I'm looking to run one of these three pumps:
http://www.weldonracing.com/product/18-6/D2025-_A__(-8_inlet___outlet).html

The last pump (Fuelab) has a PWM input. So would simply hooking up the PWM input wire directly to the Arduino suffice? I did do some reading and came up with an idea, again, I have no idea if it would work correctly but I don't see why it would not.
-Only applies to the Fuelab pump with the PWM input.-
-http://arduino.cc/en/Tutorial/AnalogInOutSerial
Pressure switch (either 0-5v(giving me progressive input?) or just a switch that turns "on" at ~3psi of boost) would replace the potentiometer and the pump would replace the LED. Programming the Adruino would dictate PWM signal to pump (pump runs at 50% when there is no input from switch). When pressure switch activates, it sends voltage to Adruino input which then changes PWM signal to the pump telling it go balls out? (either progressive or simple on/off)

As for the other pumps, since they don't have a PWM input, what is involved in wiring those up? I assume the Arduino itself can not take 60amps at any time so some type of relay or something would be needed? These pumps take upwards of ~20amps at times based on the flow charts supplied by the manufactures. So I'm looking to double the capacity of my system to support any switching spikes that may occur. All of this would be mounted in the trunk away from engine bay heat.

Input for programming the Arduino is helpful also.

This isn't a street car, is it?

The usual way of dealing with fuel heating is to run the pump flat out all the time and have a pressure relief valve that dumps the excess unused fuel back to the tank possibly through a fuel cooler. Its much more likely to overheat sat almost static in the fuel rails.

AWOL:
This isn't a street car, is it?

It is, yes.

pluggy:
The usual way of dealing with fuel heating is to run the pump flat out all the time and have a pressure relief valve that dumps the excess unused fuel back to the tank possibly through a fuel cooler. Its much more likely to overheat sat almost static in the fuel rails.

I have to disagree. Running the pump at full will just cycle the fuel through the fuel rails much faster. Fuel cooler or not it's more fuel being cycled which brings more and more heat into the tank. My setup is a return style to begin with. The feed runs to a bypass regulator which has a line running to each rail and a crossover in front. That alone limits the fuel circulating through the rails. Running a big pump at near stock pump speeds will reduce the heating more than it will if the pump is running full tilt.

Running the pump at full will just cycle the fuel through the fuel rails much faster

Thats the idea. It has less time to heat up. It isn't putting fuel into the rails thats the problem, its it getting heated up whilst its in there, the greater the flow through, the less it will heat, the ride back to the tank and then it sitting in there cooling for a time before going round the loop again. Its the way it's normally done in extreme scenarios like common rail diesels where fuel is pressurised to hundreds of atmospheres for injection. It is bled off through a pressure reducer back to the tank often through a fuel cooler. Just reducing the amount of fuel going into the fuel rail will make it get hotter. In the old days before common rails and circulating the fuel it wasn't unusual for diesels to vapour lock and stop especially after being reduced to idle after an extended period working hard in hot weather. The low fuel flow at idle with the engine still very hot was a killer.

This isn't a street car, is it?

It is, yes.

Could you tell me where you live, so I'll know not to go near?

pluggy:
Thats the idea. It has less time to heat up. It isn't putting fuel into the rails thats the problem, its it getting heated up whilst its in there, the greater the flow through, the less it will heat, the ride back to the tank and then it sitting in there cooling for a time before going round the loop again. Its the way it's normally done in extreme scenarios like common rail diesels where fuel is pressurised to hundreds of atmospheres for injection. It is bled off through a pressure reducer back to the tank often through a fuel cooler. Just reducing the amount of fuel going into the fuel rail will make it get hotter. In the old days before common rails and circulating the fuel it wasn't unusual for diesels to vapour lock and stop especially after being reduced to idle after an extended period working hard in hot weather. The low fuel flow at idle with the engine still very hot was a killer.

Not trying to argue here, but you seem to be confused on my setup or living in the past.
My setup, as stated, is a return system. The fuel runs to a regulator which then Y's off to the rails. The rails are connected with a crossover in front. At cruise or idle I would say 95% of the fuel is immediately bypassed back to the tank NEVER running through rails in the first place. Running the pump full speed just heats the fuel faster... I don't know what type of system you are thinking of but this is a gasoline setup, not diesel. I have yet to see anyone want to run a big pump at 100% all the time unless it's a dedicated race car. Which this is not. Everything you will read, if you do some research, you will find people trying to run as little fuel as possible at idle/cruise. Some use two smaller staged pumps where only one pump is running all the time and the other kicks on under load/boost whatever it may be. I don't know how else to explain this other than tell you to do some research on a present day gasoline setups.

AWOL:
Could you tell me where you live, so I'll know not to go near?

???

The Fuel Lab pump looks like it accepts a 0 - vehicle voltage, pwm signal. It needs to be between 500Hz and 1500Hz. The default PWM output of the Arduino is 488Hz. In terms of frequency I'd be surprised if you couldn't get away with that. However I wouldn't be surprised if the noise it generates is annoying. In terms of voltage - you're going to need a mosfet. Unfortunately the manufacturer gives no clue regarding the current requirements of this so it's hard to suggest actual components.

daveg360:
The Fuel Lab pump looks like it accepts a 0 - vehicle voltage, pwm signal. It needs to be between 500Hz and 1500Hz. The default PWM output of the Arduino is 488Hz. In terms of frequency I'd be surprised if you couldn't get away with that. However I wouldn't be surprised if the noise it generates is annoying. In terms of voltage - you're going to need a mosfet. Unfortunately the manufacturer gives no clue regarding the current requirements of this so it's hard to suggest actual components.

So do you think that the method I proposed for operating the Fuelab pump will work? Is it at all possible to bump up the frequency of the Arduino? As far as the current requirements, they do have a flow chart : http://fuelab.com/images/products/prodigy%20fuel%20pumps/42401/chart6.jpg Shows draw at 13.5v

eXo3901:
Is it at all possible to bump up the frequency of the Arduino?

There are several possibilities for generating a custom PWM frequency:

Probably not directly related to this posting, but one should keep in mind that pumps are not the same as motors as far as operating rpm range goes. Most DC motors can be varied in rpm from real slow to max using pwm without much issues. However pumps, depending on what type, generally have a much narrower range of effective operating rpm. Cavitation, lack of required suction pressure, etc, limits the speed range of any specific pump and there is usually a published 'pump curve' that one needs to work within. Most are designed with a fixed rpm in mind. One really should consult the pump's spec sheet before assuming easy problem free pwm control for a motor/pump combination.

Lefty

Yes, the Fuelab pump is programed to run at 50% when pulsed slower. It has internal programming to do that. The other pumps would run directly on the PWM sent to them, no less then 50% for the "low" speed.

The current specification you'd need to know for that pump isn't the overall consumption of the pump. It's the current needed to drive the pwm element of the pump. It could well be next to nothing but you'd want to know before purchasing a MOSFET or similar. If you are looking for just two speeds - then the Fuelab has an option of switching between low and high speed with a switch. This switch could easily be replaced with a relay and the relay then controlled by your arduino.

Alright I'll try and find out what that is for the Fuelab. But in general for the other pumps without the pwm inputs what is needed for those? The question is mainly for the other pumps, the fuelab was kind of just thrown in there to get some ideas.

For the other pumps your going to need a means of switching the high current. You could do this with mosfets etc but to be honest (and this is budget dependant I guess) I'd suggest you use a motor controller. This will be overkill but will be simple to operate and put together. I guess a pump wouldn't stall in use so you won't need a huge margin. I'd still want something that can handle 50A at 13.5v. You can save money buy looking for a basic motor controller that doesn't have a reverse facility.

Perhaps something like this:
http://www.rpelectronics.com/uk1133-50a-digital-dc-pwm-motor-speed-controller-assembled.html

That piece is perfect except that it's only manually controlled from the looks of it. That was my original thought to use a speed controller. Something on which I can set a low speed to run continuous from power-up and go to full power when it is switched to do so then return to slow speed when switched off. None that I've found can be augmented off of say, a pressure switch. Then I thought of using the Arduino to control the PWM signal sent to the pump but that then puts me back in the same place unless the Fuelab pump were to be used.
So it would look like either:
Switch = Arduino input->Arduin PWM signal is changed based on switch input->Something that can handle the draw of the pump->Pump

or:
Switch->Automatic Controller->Pump

I've used one of those controllers and controlled it with an arduino. The arduino basically takes over the role of the potentiometer nob to control the speed. It's basically a tip120 (what I had at the time) and some resistors. The other option would be to control some relays from the arduino that choose between the PWM output of the motor controller and a straight connection to the battery.