Jump to content
  • Welcome To Mopar1973Man.Com LLC

    We are a privately owned support forum for the Dodge Ram Cummins Diesels. All information is free to read for everyone. To interact or ask questions you must have a subscription plan to enable all other features beyond reading. Please go over to the Subscription Page and pick out a plan that fits you best. At any time you wish to cancel the subscription please go back over to the Subscription Page and hit the Cancel button and your subscription will be stopped. All subscriptions are auto-renewing. 

He351ve stand alone Arduino controller code for 2nd Gen Cummins


Recommended Posts

OK Cool, that makes things simpler.   I forgot to mention in my last post,  That was a really good video, very professional sounding.  Though the fact you gave me any credit isn't really correct.  It would have been more accurate to say; "Desipite Cowboy on Mopar1973Man.com forum,  I have a working test code!"  hehe.

  • Like 1
Link to comment
Share on other sites

I got a quick vid of my setup.  I'm not sure on the best way of controlling the boost, I was thinking if the boost is under say 5 psi, then go to x position.  And then from there the boostToDrive function can take over.  IDK, I think it's going to take a lot of playing with and testing.

 

 

EDIT;  crazy idea.  If you had RPM also, you could make a pretty decent boost map....  And then all the BtoDPressure Function would do is make sure it stays within a certain range...  Crazy thought.  I know the RPM is easy to read on the 12 valves.  Not sure what kind of sensor the 24 Valves got.

Link to comment
Share on other sites

 

Let me know if you're interested in using the code.  I tried to make it as "self contained" as possible for my skill level (not much).  You got a couple global variables.  A MenuSetup(); in the setup loop.  and a MenuLoop() in the main loop.  Problem I do see is that it's a little more complicated, but if you want it, then I'll comment on everything to make it a little easier to understand.  And then if you still have issues figuring it out,  you can call or something and I'll explain whatever part you're having issues with.

Link to comment
Share on other sites

So after a good bit of reading in regards to the he351ve it seems that it almost likes the have a exhaust pressure that is 1.5 or higher compared to boost. 

 

I am thinking ( think is in my mind how it needs to work, not real world tuning) that we need to have the Drivepressure only managed when it gets up to the max limit rather than trying to keep a 1:1 all the way through.  a 1:1 ratio might cause more lag than wanted.

 

 

Again practice vs theory.  I am gonna mess with it.  my lcd screen gets here today so I will have a better idea of what is going on when bench testing.

 

 

Edit:

 

Just  watched the lastest video, looked at code and that's pretty cool.

Link to comment
Share on other sites

Just an FYI

 

It seems that some people say that the turbo really only responds to vein position values of 140-960.  people have reported that values above or below that can cause issues. 

 

 

I have not seen this, but it is worth mentioning.

 

Mind attaching your whole code at this point?

 

Double Edit,

 

You are really making me dream big here lol.   that new code you wrote for the menu could be used to select tow mode or street mode, egt mode etc etc etc....

 

 

haha my wife is gonna hate that this is now a possiblity :lmao:

Link to comment
Share on other sites

I've already got your "Tow mode" etc in the making lol.

 

I can link up the current code, but I have to warn you, most of this was thrown together after midnight, and there was a lot of copy pasting from some of my previous projects.  So some of the variable names won't make sense.  The menu also isn't really done yet, I still need to grab the variables from EEPROM on startup.  Otherwise all your settings go back to default every time you restart the truck.  I'll see if I can get some work done to it still tonight,  I'll edit this post with what I got in the morning.

 

OK here it is.

There are a couple things that would need to be done still.  

 

Change the button reading stuff over to your style of switch.

Add the CAN bus stuff back in.

EDIT the LCD stuff to match your LCD.

Add some Drive Pressure management to the boost stuff.

Redo the 3 boost maps to your liking.... 

And I'm sure there's more.

 

Also I like using tabs, but I copy pasted it into a single text document, but it should still upload.

I've got the different tabs separated by.

//TapName//////////////////////////////////////////////

VGT-Mine4.txt

Link to comment
Share on other sites

Well I got your updateLCD and bargraph in and working.  MUCH faster than my method of writing at the send turbo position section.  

 

Plus the bargraph is pretty cool.  When my new screen gets here I am gonna have to change a bunch of it though. 

 

first post has been updated with the current code

Link to comment
Share on other sites

Cowboy,

 

 

so I made some changes to the eb manage

//Manages the apply of the EB

void EBManage(){
 
int Difference = (ExhaustPressure-(MaxExhaustPressure - ExPrsBuffer)); //set a buffer make sure max ex press doesn't get hit.
 
Difference = (Difference / EBCalibrate); // I used / rather than * as the * ended up applying too fast. the turbo was "snapping" open and closed
DesiredPosition += max(Difference, -10);//This way it doesn't close the veins to fast
DesiredPosition = constrain(DesiredPosition, 0,999);


}
Link to comment
Share on other sites

Glad to hear everything's working OK,  been working on a coding project of my own so don't have any new code for you lol.  If you end up needing more speed out of the program, there are a couple pieces in my code that would benefit from some optimizing that I could try and change a bit.

 

If it was opening/closing to fast.  You might want to change the -10 to something closer to 0.

 

DesiredPosition += max(Difference, -10);//This way it doesn't close the veins to fast

Link to comment
Share on other sites

  • Owner

Nick and Cowboy... I just though of something as well that you need to add to the software. If you have updated your valve springs you should be able to adjust the exhaust brake drive pressure. So typically 24V engines are 60 pound springs but if you update to say 90 pound why not allow to use the ability of the new springs. That would make you VGT turbo better exhaust brakes over any thing sold now. :wink:

Link to comment
Share on other sites

The first 2 minutes of the second video I posted shows me changing the EB Pressure from 60 to 65.  Though I misunderstood what "MaxExhaustPressure" was and thought that was the desired EB pressure.  So now that you added the "ExPrsBuffer" to the EBManage code.  The numbers in the menu won't be correct.  So you can either make a global "DesiredEBPressure" variable.  Or 

 

change this;

        case 0://what page are we on.
          MaxExhaustPressure = ChangeValue(MaxExhaustPressure, PotValue, 1, 0, 80);
 
 
To this;
        case 0://what page are we on.
          MaxExhaustPressure = (ChangeValue((MaxExhaustPressure - ExPrsBuffer), PotValue, 1, 0, 80) + ExPrsBuffer);
 

 

Also, you probably already noticed this, but I should let you know.  The Menu system is inside a while() loop.  So when you're in the menu, it is not controlling the turbo at all.  So it would be best to use the menu only when the truck is off just encase something stupid happens.

 

Changing this;

  if (SwitchPosition && ThrottlePosition <= 15) {//if the PotSwitch is off, and throttlePos is below 1.5%
 
 
To this would likely be a good safety feature as well;
  if (SwitchPosition && ThrottlePosition <= 15 && ExhaustPressure <= 1); {//if the PotSwitch is off, and throttlePos is below 1.5%
 
 
I have yet to hook up a drive pressure gauge.  Though boost gauges says .2 psi at idle, so I have to imagine that drive pressure is going to be above 1 psi.
Link to comment
Share on other sites

×
×
  • Create New...