Main Menu

HE351 code for me78569

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

Bdubb'z

Yeah mine will bark with a 12000 pound trailer under hard acceleration between 5th and 6th shift.  Seems to only do it on that shift.  Was focusing on driving and didn't have laptop connected so I don't know where that is as far as rpm goes, but only with that decent load on it will it bark.  Did it a few times so I would slowly let off the throttle, then grab the shift.   

me78569

#181
Hakcenter,

The hard part in regards to barking is a lot of the time when you lift there isn't anytime code wise to do anything before the bark happens.  The best way I can accomplish it is to watch for TPS going below %3 and if rpms are greater than 65,0000 ( or whatever) jump right to min position without smoothing. 

In my Vein adjust section I am skipping if (AntiBark)

Anything else I did, smoothing wise, couldn't keep up.  IE: once the arduino knows that barking might be happening it is too late. 

On my way home today I worked to try and get it to bark, WOT throttle lifts at 130,000 rpm and it will bark half of the time still.  I am guessing that when I lifted didn't line up with the start of the Position_calc code and the code barked before the code could get back to the top.I dunno really how much better you could make it because I don't think the arduino / Shaft speed can catch the issue in time and adjust.  The averaging read of the shaft speed takes too long to see a drop in rpms.
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

hakcenter

Quote from: me78569 on July 28, 2015, 03:14:55 PM
Hakcenter,

The hard part in regards to barking is a lot of the time when you lift there isn't anytime code wise to do anything before the bark happens.  The best way I can accomplish it is to watch for TPS going below %3 and if rpms are greater than 65,0000 ( or whatever) jump right to min position without smoothing. 

In my Vein adjust section I am skipping if (AntiBark)

Anything else I did, smoothing wise, couldn't keep up.  IE: once the arduino knows that barking might be happening it is too late. 

On my way home today I worked to try and get it to bark, WOT throttle lifts at 130,000 rpm and it will bark half of the time still.  I am guessing that when I lifted didn't line up with the start of the Position_calc code and the code barked before the code could get back to the top.I dunno really how much better you could make it because I don't think the arduino / Shaft speed can catch the issue in time and adjust.  The averaging read of the shaft speed takes too long to see a drop in rpms.

Well not trying to be rude, but that's an oxymoron statement there at the end. Because the only way to bark it, is to go from large size to small size on. Which means the rpm code is causing the problem, otherwise the turbo wouldn't try to get smaller.

I'll give the truck a few runs when I get time, and monitor the accel variable to see if it will be a viable solution for more than just anti compressor surge.

What I'll try to do is get it to happen and hit the cruise button immediately, so I have a marker in the log of where it occured and try to figure out what is actually happening.

Best guess is the rotor is decelerating at a very fast rate, faster than acceleration. Then a large vane size change two or more cm counters the shaft deceleration for a moment and that's when the compressor surges.

Easiest way then is to make a deceleration curve, or take more time getting to the smaller vane position. I'm leaning towards number two as a simpler approach to the problem.
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

#183
Not taking it as rude, but learning and talking about my experience on the turbo, haha not a typical large forum members here.  Truthfully I am not even sure what statement you are referring to?  Maybe there is something else up, but from my testing if I waited for the turbo shaft speed to fall before doing into "antibark" it would still bark.

Barking is when pressure on the intake side are greater than on the exhaust side correct?  so in theory, again unless I miss something, can also happen if you remove all exhaust from the turbine side( let off the throttle quick, and leave vanes at the same position can it not? 
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

hakcenter

#184
Surging is when the rotor changes directions momentarily.

You can surge off the map, you can surge low throttle. It really can't be boost related on the our diesels cause we don't have throttle bodies, all the boost goes right out into the exhaust as well.

So the only way to change rotor direction is to cause a exhaust pressure spike that is so violent it surges the compressor from deceleration to acceleration.

Kapok6 has quite a bit of experience with surging on throttle, his older turbo setup, had anti-surge ports, switch to a turbo without the surge ports, and actually surged during acceleration.. crazy thing. Switched to surge cover and it disappeared.


My big thing is that if you check the canbus log from that guy with the 6.7, he goes directly from WOT to brake, and no problem. 505 directly to 940 no stepping. And no problem.


Msg ID=0x0cffc600 len=8 data=0xf9 01 01 ff ff ff ff ff total count=0
Msg ID=0x0cf00f51 len=8 data=0x63 00 b6 f3 75 80 7f 60 total count=0
Msg ID=0x0cf00f51 len=8 data=0x63 00 b6 f3 75 80 7f 60 total count=0
Msg ID=0x18ffc502 len=8 data=0x01 f9 01 6a 00 f9 01 76 total count=0
Msg ID=0x0cf00f51 len=8 data=0x63 00 c4 f3 75 80 7f 60 total count=0
Msg ID=0x18f00a00 len=8 data=0xff ff 2e 11 ff ff ff ff total count=0
Msg ID=0x0cffc600 len=8 data=0xac 03 01 ff ff ff ff ff total count=0


So figure that one out. We either have way more energy in our exhaust, or doing something wrong.
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

Interesting.

Thanks don't be afraid to correct me haha.

I am no expert.
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

hakcenter

if you happen on any logs with compressor surge please post them that'll help.

My only concern is it may not show up as decelerating before the surge happens.. that's my only real concern, since the shaft speed sensor doesn't care which way the rotor is spinning, to count. It could count faster if it oscillates both directions or it could not count at all and fall into the else of no freq to count...
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

What are typical boost levels on a stock 6.7 25-30psi?  suppose that more than likely they never spin the turbo beyond 80k-100k? 

I can't for the life of me fine a compressor map, dumb holset, to see what shaft speed 25 some psi is. 

I would love to know how they tune it. 

I will try and log some here.
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

hakcenter

The real question is, does it crush ?
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.

Rx7man

surge is NOT when the compressor changes direction, it's when the airflow changes direction! its essentially cavitation, when the airflow isn't sufficient to keep it's momentum against the pressure
surge will causes changes in the compressor speed, but no where even close to enough to cause it to turn backward
'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

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

hakcenter

Any logs with the acceleration variable and barking?
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

Ive been way to busy with wedding stuff to mess with stuff over the last week.  gonna be a bit until I can jump back into this at this point. 

Good news is it is running great.  haha
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

Little update when I have a second to post it.


Things are working very well. I am not yet using the accl var yet.  I have however extended the vane based beyond turbo speed.

I am taking TPS into consideration, along with boost to shrink or expand the housing in low boost high throttle or high boot high throttle etc.



Here is the vane position code.  The TPS_range is what I am using to adjust from the base curve.

else {  AntiBark = false;
          // -----
          // Curve section
               
               if (turbo_rpm <= curve_rpm[0]) { vane_position = constrain(map(turbo_rpm, idle_rpm , curve_rpm[0], Offidle_position, turbo_curve[0]), Offidle_position, turbo_curve[0]);} // This will snap the vanes from idle position to starting position whne tps sense.
          else if (turbo_rpm <= curve_rpm[1]) { vane_position = map(turbo_rpm, curve_rpm[0], curve_rpm[1], turbo_curve[0], turbo_curve[1]);}  //this is the high end mapping of the turbo.
          else if (turbo_rpm <= curve_rpm[2]) { vane_position = turbo_curve[1];}  //this is the high end mapping of the turbo.
          else if (turbo_rpm <= curve_rpm[3]) { vane_position = map(turbo_rpm, curve_rpm[2], curve_rpm[3], turbo_curve[1], turbo_curve[2]- TPS_range);}  //this is the high end mapping of the turbo.
          else { vane_position = map(turbo_rpm, curve_rpm[3], curve_rpm[4], turbo_curve[2]- TPS_range, turbo_curve[3]- TPS_range);}  //this is the high end mapping of the turbo.
        }
      } else if (turbo_rpm < lit_rpm) { AntiBark = false;
          vane_position = map(turbo_rpm, curve_rpm[4], lit_rpm, turbo_curve[3]- TPS_range, turbo_curve[4] - TPS_range);}//- TPS_range was put into place to open the vane more if throttle input was higher while boost is low

/////////////////This is the top end controls.  The turbo really does increase rpms VERY quickly the trick to to find the sweet spot where rpms stay steady at wot.       
////////////////
       else{
        AntiBark = false;
        if (curvea){  //end pos of 18cm starts 12 cm
                 if (turbo_rpm <= 120000) { vane_position = 540 - TPS_range;}  // the 6.7 logs we have show the turbo jumping to positions when at WOT rather than stepping.
            else if (turbo_rpm <= 128000) { vane_position = 456 - TPS_range;}  // this will jump to a higher position at given rpms on the top end to slow the turbo down.
            else { vane_position = 373 - TPS_range; }  //it will jump a good bit to slow the turbo down if above 130000
        }                                              // according to holset the turbo is balanced to 130,000 rpm. 
        if (curveb){  //End pos of 16cm start 11cm
                 if (turbo_rpm <= 120000) { vane_position = 624 - TPS_range;}
            else if (turbo_rpm <= 128000) { vane_position = 540 - TPS_range;}
            else { vane_position = 456 - TPS_range; }  //16cm
        }
        if (curvec){  //End pos of 14cm 456 start 10cm
                 if (turbo_rpm <= 120000) { vane_position = 685 - TPS_range;}
            else if (turbo_rpm <= 128000) { vane_position = 624 - TPS_range;}
            else { vane_position = 540 - TPS_range; }   //14cm
        }

        // Overrun protection
      if (turbo_rpm > 140000){  // 140,000 rpms is where I get worried about shaft speed. 
        if (!curvea) {vane_position -= one_cm;}
        //this will creep the vane position more open each code cycle if turbo rpms are above 135,000 if not in curvea ( perf mode defined by "F_watchpot" tab)
         
     }
   }



TPS_range is calc'd here

// TPS_range calc process

  if (timer % 200) {
     if (ThrottlePosition <= 25) {TPS_low = true;} else {TPS_low = false;}
     if (ThrottlePosition <= 45 && ThrottlePosition > 25) {TPS_midlow = true;} else {TPS_midlow = false;} //{TPS_range = 0;}// watches throttle input to increase vane position.  Vane position mapping is based on low throttle input.
     if (ThrottlePosition <= 70 && ThrottlePosition > 45) {TPS_mid = true;} else {TPS_mid = false;} //{TPS_range = 20;}
     if (ThrottlePosition > 70)  {TPS_high = true;} else {TPS_high = false;} //{TPS_range = 40;}

     if (TPS_low) {TPS_range = 0;} //supports low throttle cruise. if under %25 don't change vanes
     if (TPS_midlow){
      if ( BoostPressure < 5) {TPS_range = -40;} //it will try and spool the turbo if tps is 25><45 - numbers decrease vane size
      else if ( BoostPressure < 10) {TPS_range = -20;}
      else {TPS_range = 0;}
     }
     if (TPS_mid){
      if (BoostPressure < 10) {TPS_range =  -20;}
      else if (BoostPressure < 20) {TPS_range = 0;}
      else {TPS_range = 20;}
     }
     if (TPS_high){
      if (BoostPressure < 20) {TPS_range = 0;}
      else if (BoostPressure < 30) {TPS_range = 20;}
      else {TPS_range = 40;}
     }
  }



This really helps smoke levels when going from low throttle cruising to high throttle to pass.  cruising turbo speeds tend to be sub 45,000 rpm.  I am happy with mpgs at this point in the curves, but I was having issues with smoke whenever I would stab the throttle. 

with the TPS_ range code as soon as you go over %25 throttle it will jump the housing smaller by one cm is under 5 psi.
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

#194
So I have a curious issue that has been going on for awhile now, off and on, Seems that turbo shaft speeds below 60k read perfect, but as soon as I top 70k the shaft speeds jump by 30% every 3rd or 5th read?  Somedays are worse than  other, but today seemed pretty bad. 

I can disable the writting to my lcd screen and watch it happening in the serial output so I don't think it is the lcd writing delay.  I can also load your code, and see the same issue, so I don't think it is a code issue.

Any thoughts on why I would have this issue?  bad sensor on the turbo?
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