Jump to content
oversteer

EMP pump CAN control and staged fuel pumps ?

Recommended Posts

Hello

 

 I'm using a EMP WP29 on a interchiller set-up and would like to control pump speed via CAN, below is a link to spec sheet that details CAN protocol.....how would i configure this in a G4+ Thunder ?

I have setup wiring for pump to CAN2, just waiting on correct pins for DTM plug.

https://www.emp-corp.com/media/MarketingMaterial/WP32/SpecificationSheets/WP29-32SpecSheet040915.pdf

 

Also i am using 4 Walbro 460 pumps and want to stage them, what's the best way to go about this (fuel pump config doesn't seem to have much flexibility, but i am new to link !)? Likely need flow from 2-3 pumps under full load/boost on E85,  4th is a spare...

Pumps also have current monitors(using arduino 30A current modules that produce 0-5v signal) wired to ANV inputs, any suggestions on best way to configure these inputs to display current transposed from signal and use in protections  ?

....I've had pump failures in the past that cost an engine using expensive&hard to source/replace pumps, the walbro set-up is cheap enough to carry multiple spares and current monitors should hopefully indicate issues early....

Share this post


Link to post
Share on other sites

From a couple docs on the EMP site it looks like you either need to sign up to get access to their docs pages, or you buy/build a serial->usb adaptor and wire that into the serial pins on the 6 pin connector. You then download the control software for their pumps and connect your laptop to the pump. It looks like you can then start setting up CAN id's that it will respond to. I imagine you either give it some paramaters for on/off & then send coolant temp over CAN, or you send it an on/off control over CAN and do the hot/cold/post run logic within the ECU. Either way, it looks like you need to see from that software what info the pump wants, then configure CAN transmit from the ECU to provide it on the correct ID + bytes.

regarding the pumps, there are probably a dozen ways to do this, but heres a couple...

If you have enough inputs & outputs you configure each pump with a  relay controlled by its own aux out. you configure the first one as Fuel Pump, then set the next 2 as GP output with conditions of something like inj Duty cycle 30%+ and 60%+. For the 4th pump you configure it with a condition of "Virtual aux 1 ON"

You then set virtual aux1 to be labelled something like "fuel pump failure", and you set it to enable if any condition matches, then put a big stack of conditions around ANV1 too high/too low, ANV2 too high/low etc, or if your diff fuel pressure drops below a cetain value. This way pump 4 comes on if any of the other 3 show an error condition from your arduino feedback boxes, or as a final safety if fuel pressure drops low for any reason. Because thats a lot of conditions you may need to chain 2 or 3 virtual aux's together to catch them all.

if you're handy with an arduino you could make a fuel pump controller out of one with a canbus shield & do this same logic in there, and just feed the arduino "instant fuel consumption cc/min" over CAN, then configure the arduino with some simple logic about expected per pump flow so it turns on relays to individual pumps when the ECU is using say 75% of the currently enabled pump capacity. feed the arduino "diff fuel pressure" and/or that "fuel pump fault" status via CAN and have it kick the 4th pump on if any of those are set.

[edit] or you wire the first 3 pumps to individual solid state relays, and control them all off a single ECU output configured as fuel pump speed or GP PWM, and you configure one of the various PWM options in the ECU. that wont "stage" them as I assume you wanted, but it will mean they are always running all the time so you wont get the "higher up" pumps failing silently, or inrush current happening repeatedly if you are just on the edge of a duty cycle threshold. 

Share this post


Link to post
Share on other sites

I was writing a reply while CJ replied so I will post it anyhow, you might get some ideas from both...

 

I would suggest a fuel pressure sensor as probably a better safety device than current monitoring.  Under many conditions current is not going to be a a good indicator of fuel flow.  With fuel press you can set up the ecu to compensate for a drop in differential press by increasing inj PW, as well as something like flash a warning light or activate a limiter if it drops too low.

5 hours ago, oversteer said:

Also i am using 4 Walbro 460 pumps and want to stage them, what's the best way to go about this (fuel pump config doesn't seem to have much flexibility, but i am new to link !)? Likely need flow from 2-3 pumps under full load/boost on E85,  4th is a spare...

The GP outputs and virtual auxes are very flexible so this is normally how you would create strategies like this.  Below is an example for a main pump and a 2nd staged pump.  The primary pump is on Aux 4 in this example so its function is set to "Fuel pump", so  it does the normal prime etc.  The 2nd pump is on aux 5 and its function is set to GP Output.  You can use and conditions you like with and/or logic.  The conditions I have used to turn the 2nd pump on are "Aux 4 must be on" and the Inj duty cycle must be above 15%.  Having aux 4 as a condition means the 2nd pump gets the same safety control features as the main pump.  The reason Inj DC is used for as the 2nd switch condition is it is directly related to fuel flow.  Some people use boost or RPM or both, but inj DC is usually more relevant.

jxZti67.png

 

 

Edit:  Forgot to add how you could do the Fuel pump current limiter.  Here is one example.  Current device is assigned as a GP Input.  You cant calibrate into "Amp" units so I used % in this example.  

Then put the Fuel pump current on one axis of a GP Limiter table.  In this example if f Pump current is between 30 & 100% the RPM limit will be 10000.  If the pump current drops below 30% or above 100%, RPM will be limited to 2000.

l2Ti0MR.png

Share this post


Link to post
Share on other sites

Ok thanks for the suggestions re fuel pump, i should be able to do what i want from that. I should have elaborated more but i have already wired the 4 pump relays to a separate aux to control them that way and a FP sensor. Not sold on the solid state relay idea's to variable speed the pumps as I'm not certain they will like that and its worth the complexity and set-up time to get it all right.

 

As for the EMP pump the whole reason for CAN connection is to run the pump variable speed, it already has an on off wire which runs the pump flat out with no CAN connection, its a big pump and i don't need to blow 25A running it all the time when cruising on the street(pump circulates coolant from a AC/refrigeratively chilled coolant reservoir through WAIC) . So I'm told, someone using it with a M150 has CAN controlled it with this system, may have to try get in touch with them...

Share this post


Link to post
Share on other sites

Ok i have been pointed in the direction of the attched document, seems to detail can addresses and bytes, but i might need some help on how to configure this in the Link !?

Adam - does that document contain enough information ?

 

Cheers

Justin

EMP pump data1.pdf

Share this post


Link to post
Share on other sites

AUX PWM outputs over CAN is currently a requested feature I believe. Myself and a couple others have requested it I believe.

Share this post


Link to post
Share on other sites

Adam - any input on this ? is what i want to do possible and or is there enough info in that document ?

Barge - I take it from your comment that a pwm output over CAN is the way to do this ??

Share this post


Link to post
Share on other sites
58 minutes ago, oversteer said:

Adam - any input on this ? is what i want to do possible and or is there enough info in that document ?

It is going to be a bit of a tough ask.  Their document doesnt cover the J1939 messages well and my experience with J1939 is pretty limited.  I have in the past made a couple of J1939 devices work with a Link ECU but that was more by trial and error rather than knowing what I was doing.  Its a pretty fruity standard with lots of odd conventions that are not well documented compared to the generic CAN that I'm more familiar with in motorsport.

Their "legacy message" description is a bit more complete but is still missing some important detail.

As per Barges comment you cant send a GP PWM over CAN at present but there's a couple of workarounds to achieve it.  You could also possibly do something like just send 3 fixed values such as low/med/hi speed.

It would be a whole lot easier with just a solidstate relay...

Share this post


Link to post
Share on other sites

I'll try get some more info from the Motec guy, he says he has can template for Motec C series dashes that I would need to know my way around the software to use...

The pump is a brushless thing with all sorts of protections monitoring and smarts, the heat sinked control board attached to the pump is just about as big as the pump it self lol, so a solid state relay wouldn't work. Running the pump in 3 modes would be good enough, having infinite control over motor speed is not necessary.

If I could work out the Legacy command CAN structure to send the pump % start, how would configure and use that in the link ?

 

Cheers

Share this post


Link to post
Share on other sites

Ok i got a reply from the Motec Guy, looks like some good usedful information..

The way its looks he is controlling the pump is via a table of chiller coolant temp(which is received from the pump over can...didn't know it could do that!) and the runs the pump speed is 2 configs, race and street, exactly what i want to do.

I however have also installed a temp sensor in the chiller reservoir on temp 4 input so i may not need to go that far...just want to control pump speed.

Pump Setup.png

IC Pump Control.pdf

Share this post


Link to post
Share on other sites

Ok, that helps.  Still, as mentioned earlier the Link cant natively send a PWM out via CAN.  As a work around however we can achieve that by using a PWM aux fed into a DI, then send the DI frequency out over CAN.  Do you have a spare PWM capable aux and DI that we can use?

Attach your tune and I will set it up.

Share this post


Link to post
Share on other sites
On 9/9/2019 at 7:33 PM, oversteer said:

Aux20 and Digi12 are free

We need an aux capable of GP PWM.  So since Aux 4 was free I have used Aux 4 in this map.  Note you will need to run a wire from Aux 4 to DI12.  You could possibly also move your CE light to Aux 20 then use aux 8 for the IC pump.

Use Aux 4 frequency table as your "% pump speed".  Note the lowest it can go is 10.  If you want to turn the pump off, just use the switch conditions on Aux 4, I have set it in this example for instance so it only turns on when engine is running.

Im using virtual aux 8 to generate the 255 (FF) constant so I have labelled it "do not use".  If you need that VA for something else in future then we can find some other unused parameter to generate a constant number instead.

 

I havent set up the receive messages but we can do that later if there is something that you think is useful in there - maybe the pump temp for instance.  

 

1826887397_EG33Thunder IC Pump CAN.pclr

Share this post


Link to post
Share on other sites

Thakyou very much Adam, I had a quick look at the tune file, can't wait to test it when the car fires up....

On another note, the model Subaru(my05 3.0RB)  I'm building has a PWM controller for the engine fans, any idea on frequency to use for the fan controller ?

Share this post


Link to post
Share on other sites
2 hours ago, oversteer said:

On another note, the model Subaru(my05 3.0RB)  I'm building has a PWM controller for the engine fans, any idea on frequency to use for the fan controller ?

Just searching through the FSM for your car it looks like that PWM controller is looking for a 0-5V PWM signal. It doesn't show a frequency though. 100Hz seems to be a common automotive control frequency though so I'd start there unless someone has more concrete info.

Share this post


Link to post
Share on other sites

Yep that black box about the size of a cigarette packet stuck to the side of the right hand fan shroud is a fan controller on the 3.0's. It is indeed fed pwm by the ECU. I can stick a meter on one in the next couple days and let you know 

Share this post


Link to post
Share on other sites

Ok just going though the configuration, and I have used Aux3 for the FAN PWM control and the frequency setting is in %..... how exactly do i achieve 100Hz with this % setting ?

Share this post


Link to post
Share on other sites
1 hour ago, oversteer said:

and the frequency setting is in %..... how exactly do i achieve 100Hz with this % setting ?

I think it is just mis-labelled.  The numbers in that table are actually Hz.  A number of 100%/Hz in the frequency table will give you 100% pump speed, 20%/Hz in that table will give you 20% speed.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...