Main Menu

HE351 code for me78569

Started by me78569, June 11, 2015, 09:38:57 AM

hakcenter

TS2009 Deḇarim 8:2
"And you shall remember that יהוה your Elohim led you all the way these forty years in the wilderness, to humble you, prove you, to know what is in your heart, whether you guard His commands or not.

me78569

Greedy,  the tire companies are gonna love you hahahaha
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

Rx7man

I live on a windy dirt road, I DO spend a lot of time actually driving in the 1000-1400 range, but it's not under a whole lot of load.. a boost of 3-8 PSI is plenty.

If I had an auto tranny in it and it was a drag truck.. well.. that might be a different story!.. Would be fun launching with 40 PSI
'94 dually,  67/67 HE351VE, NV5600, ~600hp
'93 ECLB 47RH, new toy truck, H pump project, 1000hp goal, 300K miles
93 XCLB auto, bone stock, 350K miles
93 XCLB 5spd, bone stock, 100K miles

me78569

Added a warmup mode.   Not sure I like the trigger method yet.

for the first 2000 cycles of the code the turbo will shift from EB position to 800 position at idle state, then after 2000 cycles to 20000 cycles it will hold eb position at idle.  After that it goes back to the default 700 or 880 position for idle  depending on the inactive pot position. 

Not sure if I will like the first 20000 cycles method of triggering warmup, time will tell.

if (timer % 900) {
    if (StartCount < 20000){  //this section will walk the turbo to EB position for warmup if startup count is less than 20000 or ~ 8-10 minutes
       idle_position += 1; //walk turbo up in position by 1 every time the cycle runs
       idle_position = constrain(idle_position,700,1000); //keeps turbo position in a valid range
       if ( StartCount < 2000){ //walks the turbo to fully closed then back to open and back when first starting.
        if (idle_position > 999){
          idle_position = 800;
        }
       }
       StartCount++; // each time it runs startcount increases by 1 to disable the function after 2000 times

    }else{
    if (PotentiometerValue < 5) { perf_mode = true;} else {perf_mode = false;}
    if (perf_mode) { idle_position = 880;}
    else {idle_position = 700;}

    }

  }
 


Time it takes to reach op temp is easily cut in half when I use the EB.  Turbo timer also will keep the truck running in keyless mode as EGT's stay around 700*f when eb is applied at idle.
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

Rx7man

I'm working on a similar thing.. though I'm not going all the way to EB mode... Currently it's only working to kick out the turbo after idling for 10-20 seconds or so, which keeps it spooled, but will save a little fuel in stop and go traffic... I'm going to make it not kick out when it's under a certain temperature to help warm up.
'94 dually,  67/67 HE351VE, NV5600, ~600hp
'93 ECLB 47RH, new toy truck, H pump project, 1000hp goal, 300K miles
93 XCLB auto, bone stock, 350K miles
93 XCLB 5spd, bone stock, 100K miles

hakcenter

Yeah once I get coolant running through mine I can map out temps.

I've got can messages integrated in my latest code. Works great just need to map out stuff.
TS2009 Deḇarim 8:2
"And you shall remember that יהוה your Elohim led you all the way these forty years in the wilderness, to humble you, prove you, to know what is in your heart, whether you guard His commands or not.

me78569

#336
Are you able to read coolant temp Via the turbo??? 

Please say yes.


?Edit:
I completely forgot about that.  I am looking through code rx7 pretty cool.  Wonder if my setup can read it fast enough to do anything worth while


Rx7man,  are you mapping the values yet?   I should be able to map it pretty easy by comparing it to my coolant temp readout. 
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

Rx7man

I think you can read a temp close enough to determine if you should be in warmup mode or not, it's sensitive around lower temps but seems to be stagnant in the operating temp range.. I've had other stuff to do than fiddle with that for now.
'94 dually,  67/67 HE351VE, NV5600, ~600hp
'93 ECLB 47RH, new toy truck, H pump project, 1000hp goal, 300K miles
93 XCLB auto, bone stock, 350K miles
93 XCLB 5spd, bone stock, 100K miles

me78569

I am gonna run a couple of tests to see if my so so readings match up warm up cycle to warm up cycle -40 offset in C seems likely.
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

Rx7man

That's what I thought at first as well, but in my testing it didn't seem to pan out that way..
'94 dually,  67/67 HE351VE, NV5600, ~600hp
'93 ECLB 47RH, new toy truck, H pump project, 1000hp goal, 300K miles
93 XCLB auto, bone stock, 350K miles
93 XCLB 5spd, bone stock, 100K miles

me78569

It's hard to know because of a couple of things.

Board temp vs true coolant temp
heater core pre turbo
turbine heat

I think as long as a "warmup temp" is predictable. IE at 140 coolant the turbo temp is typically 50 C then I don't care.

So far this code is working VERY well.  I didn't bother trying to map the value from the turbo, as long as it is the same warmup cycle to warm up cycle I don't care. 

if (timer % 700)   {
    if (VgtRawTemp < 80){  //this section will walk the turbo to EB position for warmup if startup count is less than 600 or ~ 8 minutes
       idle_position += 1; //walk turbo up in position by 5 every time the cycle runs
       idle_position = constrain(idle_position,700,1000); //keeps turbo position in a valid range
       if (VgtRawTemp < 50){ //walks the turbo to fully closed then back to open and back when first starting.
        if (idle_position > 999){
          idle_position = 800;
        }
       }
    }else{
    if (PotentiometerValue < 5) { perf_mode = true;} else {perf_mode = false;}
    if (perf_mode) { idle_position = 880;}
    else {idle_position = 700;}

    }

  }
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

me78569

#341
So is there a better way to calc a diffence between two variable then

if ((VarA/VarB)>1){}

I would like to take the commanded position and compare it to the respond from turbo to it to look for anything more than a x% difference.

I suppose I could just do error = VarA - VarB then do a if (error > 2 || error < -2)
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

me78569

Added a warning to my screen to tell me if the command position and real position are different. 
Huge thanks to rx7guy for the canbus read code. 
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj

Rx7man

whenever you try to quickly change the vane position you'll get large differences in values.. you'll also get increasing error with increasing backpressure.
You can also just read the motor command speed which SHOULD be proportional to the difference between the two.. I think 0 maps to -128, 128 = 0, and 255 = +127 or something similar.. I haven't tested to see how far off it has to be to put it to 'full speed'..  and it may have an internal PID feedback loop as well.. would take a lot of fiddling to get to the bottom of it, and it's hard to do while it's in the truck.
During my bench testing, I noticed if I command it from full open to full closed several times in quick succession it will go into a "slow" mode to reduce motor wear and heat, then come back to full speed if it's given a little rest... It's something like if it moves more than 4000 position units in 2 seconds, which really would never happen in normal driving.
'94 dually,  67/67 HE351VE, NV5600, ~600hp
'93 ECLB 47RH, new toy truck, H pump project, 1000hp goal, 300K miles
93 XCLB auto, bone stock, 350K miles
93 XCLB 5spd, bone stock, 100K miles

me78569

What I ended up doing is putting a count into place that would happen each time a variance was found between the two. 

If that count was off for more than 10 reads in a row it would flag a warning on the screen.  my turbo seems to keep up, I can up the count from 1 time to 3 and the warning goes away. 

This should keep the warning from happening due to the turbo responding slowly. 
2000 Dodge 2500 quad-cab 5.9 Cummins slt, homebuilt 47re revmax 3.5 messed with vb, Quad adr iquad, 4" tbe , pureflow 150 gph. he351ve in the works 100hp DFI inj