When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
How feasible is it to set up a PWM fuel system for one of these LS engines?
The theory, is to use a weld-in fuel ring in my existing steel baffled tank, a 2010 Tahoe pwm-capable fuel pump module, a GM fuel pressure sensor on the fuel line, a Cytron md20a pwm motor controller, and an arduino to control everything.
Is it as simple as wiring that up, and writing a simple program that adjusts the pwm signal to maintain a constant 58-psi on the fuel rail? I know there are off-the-shelf setups available for purchase, but I'm specifically wondering if something DIY like this has a decent chance of working or not.
Would the arduino program need to know the current throttle position so it can ramp up the pump speed a little in advance? Do the 2010-etc pwm fuel pump modules include a pressure accumulator?
are you talking about a closed loop system without a mechanical regulator? hypothetically, im sure its possible. getting the code right wont be easy.
i built my own DBW controller from scratch with a similar but smaller dc motor controller and a esp32. i spent more saturdays collecting and studying data curves than id like to admit but it mostly works well now.
hindsight from several pid related projects over the years though, i dont think a PID controller works for anything but controlling the temperature of liquids. every application ive used them in they suck ***.
also you can use any pump. i currently pwm a walbro 525 with my haltech and it works great. it is not a closed loop system without a mechanical regulator, it just runs the pump just slow enough at idle and cruise to maintain pressure and runs the duty cycle up with boost or tps (i dont remember which i set it up with)
The goal would be to skip the regulator entirely. Also, if the fuel pump module could be an off-the-shelf GM unit, that would be all the better. Thinking about it a little more -- I'm doubting I can regulate the pressure based on the pressure sensor alone. I would need to get some sort of info from the ECM about current expected fuel flow, control the pump based on that, and apply some learned correction factors and delay factors into the equation. The programming should be doable, at least for experimental purposes. I'm just really uncertain whether I can scavenge the GMLAN can bus for the necessary fuel flow info or not.
Edit: If a pressure accumulator in the system is large enough, than the pressure could likely be maintained within a few psi of optimal using the pressure sensor alone. But I don't know how large the built-in accumulator is in the GM fuel pump module, or if there's even one there at all.
I was just looking at their system. They specify to use a pwm-capable pump module, and like you mentioned, they do allow it to be operated on the pressure sensor alone. It all sounds doable enough, but will require learning a few new programming skills if I run it with an arduino and pwm driver.
How feasible is it to set up a PWM fuel system for one of these LS engines?
The theory, is to use a weld-in fuel ring in my existing steel baffled tank, a 2010 Tahoe pwm-capable fuel pump module, a GM fuel pressure sensor on the fuel line, a Cytron md20a pwm motor controller, and an arduino to control everything.
Is it as simple as wiring that up, and writing a simple program that adjusts the pwm signal to maintain a constant 58-psi on the fuel rail? I know there are off-the-shelf setups available for purchase, but I'm specifically wondering if something DIY like this has a decent chance of working or not.
Would the arduino program need to know the current throttle position so it can ramp up the pump speed a little in advance? Do the 2010-etc pwm fuel pump modules include a pressure accumulator?
Cytron md20a pwm motor controller is a bi-directional driver. That means it has 4 times the number of drive components needed. A single direction driver with a higher current capability would be better. 20 amps is probably the ideal temperature rating. You need to derate that for higher temperatures and frequency of the pulses.
The goal would be to skip the regulator entirely. Also, if the fuel pump module could be an off-the-shelf GM unit, that would be all the better. Thinking about it a little more -- I'm doubting I can regulate the pressure based on the pressure sensor alone. I would need to get some sort of info from the ECM about current expected fuel flow, control the pump based on that, and apply some learned correction factors and delay factors into the equation. The programming should be doable, at least for experimental purposes. I'm just really uncertain whether I can scavenge the GMLAN can bus for the necessary fuel flow info or not.
Edit: If a pressure accumulator in the system is large enough, than the pressure could likely be maintained within a few psi of optimal using the pressure sensor alone. But I don't know how large the built-in accumulator is in the GM fuel pump module, or if there's even one there at all.
Gonna drag this thread back up for this.
OEMs do it, have been doing it for a long while actually (Ford been doing it since the 1999 Mustang)... and now I'm trying to figure out how to do it one a swap car.
I have a hybrid setup in my car, not what the OP is looking for, but I'll describe it anyway. I have a huge fuel pump that provides way more flow than I need for normal cruising and I have a traditional FPR that gets swamped when too much fuel is delivered to the engine. So I use a fan control module, that is slow to react in addition to a relay that supplies full power once boost goes up. So I can cruise around with low fuel pump current and have full delivery under boost.
If I were to try to DIY the system the OP asked about, I'd start with a single direction PWM motor controller and add an Arduino to control the pressure. The arduino would be running a PID (standard feedback control).
I'd start with something like this.
Keep in mind I don't have one of these. But it looks like it's a single direction drive with relays to reverse the direction. First thing I would do is get rid of the relays and solder a permanent jumper in place to set the direction, You never need to reverse it.
For speed control, it appears to have a pot that you can manually dial in the PWM, but we know that won't work right. So instead, I would connect a resistor and capacitor to one of the arduino PWM ports and have it become an D/A (digital to analog) signal replacing the potentiometer. Then add a pressure sensor that is input to the PID routine that changes the PWM to the D/A out.
Needless to say, the more of an accumulator in your fuel circuit, the smoother the fuel pressure should be.
You might also want to add a map sensor input to increase or decrease the target fuel pressure based on the map.
Some might think about using DC Solid State Relay (SSR) but I think they can't handle the high frequency switching needed.
I don't know the frequency that the motor driver above works at. If it's relatively low, then you might get a noisy fuel pump. That's why I went with the fan controller in mine, it runs at 20khz and is very quiet, which I like cause I cruise the car alot.
I'll bypass the FPR and see if it can maintain a set fuel pressure when the injectors are off and when I throw some big ones in there like the 1000cc I have in my vette. I already have an Arduino that can generate an A/D and can run off 12 battery voltage.
.
Bringing this thread back!
I followed LSswap´s suggestion and hooked up the very same PWM controller from the picture above to an arduino UNO just like he said to do some initial testing. For now I am using my DIY fuel supply module with a 255lph pump and a needle valve at the end of a #6 hose to recreate different fuel demand scenarios. A pressure sensor supplies feedback for pump speed control.
Initial results are looking good.
The most time consuming part has been finding the correct PID controller parameters.
I did not measure the PWM frequency of the controller. The seller specified 15 Khz which should suffice. The pump operation is smooth.
I am using an RC circuit with a 10K resistor and 10 mfd capacitor as a D/A converter.
FWIW, my other fun car is a Subaru, and they use a combination of regulator and PWM. Only three duty cycle options are used: 33%, 66%, or 100%. There is still a regular mechanical FPR, so the idea seems to be just to let the pump run cooler when high power isn't needed - which for a street car is the majority of the time. So you get the aforementioned benefits of PWM, but with a very simple control strategy for the electronics because the regulator does a precise enough job on its own.
I don't remember the details of how it's tuned but it's IIRC it's basically just a combination of thresholds that push it to higher PWM settings. Maybe RPM, MAP, and battery voltage? Something like that.
So, I actually went ahead and bought this unit, but not for a car project. It's for a electric beach cart.
Since I'm running it off battery and there is never a need for going in reverse, I unsoldered the two relays and permanently set the direction one way only. That also leaves more space next to the heatsinks for cooling, win win.
I also got rid of the on/off switch, cause if the battery is plugged in, it's on. I also drive it with a PWM from an arduino R/C circuit that imitates the action of the potentiometer that I no longer use. Also I don't need the display so that's unplugged.
All in all, I'm impressed by this unit, something I don't say often for Chinese power stuff. I would use it for a fuel pump application. I would still shunt it with a relay at full power, just to make sure there are no losses and the pump gets every bit of the battery voltage. I also think it will work fine for controlling extra fans.
I'm going to buy one more of these to control the feed on my milling machine.