Boost Target Oscillating. PID's going insane.

Nick380

Private
Nov 4, 2016
40
21
0
CA
Backstory: Been self tuning my car out of fun, as I enjoy doing it and learning more about the logic making it all happen. Trying to stay as safe as I can as I increase boost. Stock turbos had no issues getting the boost target to play nice. This started happening after the turbo swap and trying to dial the WGDC back to match PID's and keep the throttle from closing, as I was under the base the entire time PID wise and seeing some significant throttle closure. I adjusted the WDGC position back to wastegate table as I was reading on the WGDC calculation and came up with this as reference from information found to get some idea of where my final WGDC is originating from and what effects it the most. I know there are a couple more tables that effect the final WGDC, but I chose this one to adjust mainly to keep my PID's happy and adding vs removing. I also rescaled a couple of the tables including: WGDC Base, and Adder to match the MAF (req WGDC) I was seeing.

1651961381707.png


Slowly been adding to the guide by V8bait to give it more detail and be a one stop shop for better understanding the logic behind the DME. There is some really really good information on this forum. and I've looked for anything in regards towards this weird behavior I'm seeing to better understand it. I checked all vacuum lines, and they're solid. So I don't think this is leak related. Somehow the DME decides to target 3-4 psi under what it was targeting right before say 18psi then targets 15psi then back to 18psi and back and forth throughout the pull. So I'm getting these wavy like boost targets causing my PID to freak out. I've tried adjusting D-Factor multiplier as well as D-factor tables, I've tried lowering and raising, and nothing seems to keep it happy. I might not be fully understanding what's going on. I was looking for more information on how the DME calculates the final boost target... I did see some mentions on the boost forums, but due to recent events we have lost access to all of those forums...losing tons of information. Could this perhaps be solenoid related? Does the DME somehow take that into consideration for boost target? Like say if not is not responding how it should be? I have the function frame for MSD80, just not sure where to look exactly for logic information on this as I don't know what the DME references this as. Any information is more than welcome and feel free to give me any advice as well on my tables. The car otherwise seems very happy. No misfires or odd feelings, just this boost target going up and down gives it a back and forth feeling when WOT during logging. I also looked into torque tables and logged some of those values as well. Not seeing any active torque limits in place, and torque seems to build up just fine, no hard cuts...Load targets are also fine, and didn't see any change in load request throughout the pull. I'm at a complete loss at the moment.

Car Specs:
RB2+ Turbos
RB Inlets
VRSF Outlet
VRSF 7.5" Intercooler
VSRF Chargepipe with TurboSmart BOV
VS Map sensor adapter for larger reference.
NGK 97506 Plugs gapped @ .020
Bimmer Life coils
Dual catch can with RB external PCV


I've attached my log link as well as my bin and xdf I'm currently using.






Link to log: https://www.spoolstreet.com/graphs/boost-target-going-crazy.17422/?series=2,20&zoom=-47,4757
 

Attachments

  • WBAVB73567VH22604_updated_RB2 Plus_V36.bin
    2 MB · Views: 27
  • WBAVB73567VH22604_updated_RB2 Plus_V36.bin
    2 MB · Views: 22
  • I8A0S (Standard Units) Nick's Personal.xdf
    706.9 KB · Views: 24
Last edited:

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
I've seen some wonky boost targets before but that's the strangest. Probably caused by the tune, never seen mechanical issues cause that.

The changes to WGDC are questionable. I wouldn't ever change WGDC position back to WGDC just because I don't see a purpose, you can get all the adjustment you need in the base table. Also rescaling the WGDC Cailing (Adder) like that means your PID will do very little at lower MAF.

Values less than 1 in the boost target modifier table will also cause problems. Also you only changed the modifier in normal operation so when the DME steps into dynamic conditions the boost target will drop suddenly. That's probably the root cause of the target bouncing like that.

Torque max set to 110 across the rev range makes no sense. That's the max load outside turbo operation, your engine isn't at 110% fill when in NA mode.

You've taken almost 20* out at lower load areas. That seems really odd.

Fuel scalars are odd. I wouldn't expect step changes like that to be needed.
 

mj6234

Corporal
Nov 25, 2020
161
58
0
Here is my WGDC to WGDC Position Tables for hybrids. I didnt update Dynamic as carabuser said, but the other one definitely affects your turbo spool. I have hybrids as well.

1652026456311.png
 
  • Like
Reactions: Nick380

Nick380

Private
Nov 4, 2016
40
21
0
CA
The changes to WGDC are questionable. I wouldn't ever change WGDC position back to WGDC just because I don't see a purpose, you can get all the adjustment you need in the base table. Also rescaling the WGDC Cailing (Adder) like that means your PID will do very little at lower MAF.
For some reason I couldn't get the PID's to ever go above WGDC Base, which is why I adjusted the WGDC position back to WGDC. According to what info I found for the calculation on final WGDC these values are added to the Initial Base with other things like ECT correction etc...it did work when I lowered this table to get PID's adding again vs removing.

When rescaling tables in general, does this mean say when the MAF is at 280 it would not interpolate out to the 300 value? Going from 0 Ceiling adder to 5 in my table? Or am I confusing this? Would increasing the MAF ceiling at 300, assist with lower MAF values? If that's not the case, how low in the MAF WGDC for the X-axis would be recommended for better low end? Or is that just gonna on a car by car basis?

Values less than 1 in the boost target modifier table will also cause problems. Also you only changed the modifier in normal operation so when the DME steps into dynamic conditions the boost target will drop suddenly. That's probably the root cause of the target bouncing like that.
I did not make any changes to those 2 tables yet, I imported your values for the memory locations of these tables and their values for my rom. Imported them into my rom to play around with later. I just added and never changed the values...I noticed my tables didn't line up with what you were showing for stock is/1M. Do you recommend I change them to reflect what those tables are and start from there? What defines when I hit this Dynamic operations mode? From what I was reading I thought this was spool mode? I have disabled this for now in the bin.

*EDIT: Read through your post again and found they label them as normal operation and turbo operation. So i'm assuming this is boost vs NA?

1652038798968.png


Torque max set to 110 across the rev range makes no sense. That's the max load outside turbo operation, your engine isn't at 110% fill when in NA mode.
I followed the Cobb guide on this, it states Raise the values to remove a limiter, now I look at that table it makes sense to leave it at 100 seeing as how it does not even hit 110. I changed this at the very beginning when I first started. I haven't had a chance to look back on that if that caused any issues. I wasn't aware of anything funky coming from this, but maybe it reared it's ugly head after some of the recent changes.

You've taken almost 20* out at lower load areas. That seems really odd.
I did this as during logs I would seeing constant timing pulls down low, so I adjusted to help clean up those corrections. I know the DME will pull ignition on throttle angle changes as well during shifts and part throttle action. Do you recommend I just leave the DME adding in those corrections? Granted it not's all 6 cylinders, it was mostly 2-3 random ones during part throttle, low load operations.

Fuel scalars are odd. I wouldn't expect step changes like that to be needed.
So I had to adjust those in order to keep my STFT's happy. I would adjust lower loads as well as I was seeing DME adjust fueling 20%+ during those situations and wanted to clean that up, so DME wouldn't have too far out of base values in order to be happy at that AFR. Could this perhaps be a sign of something else going on me having to add to the fuel scalars in such a manner? I'm on Index 12's recently installed, and stage 2 LPFP in tank.

Does the D-Factor multiplier table have anything to do with this odd boost target behavior? Like say if the values are .8 does that mean it would be .8 * the D factor base table? I was suggested to lower the values from 3000 up where I see my jumpy PID's down to ~.3 I have adjusted the map to the following...from what I'm reading this map acts as a measurement for how much control PID has over D factor. Is this correct?
1652040185413.png


Here is my WGDC to WGDC Position Tables for hybrids. I didnt update Dynamic as carabuser said, but the other one definitely affects your turbo spool. I have hybrids as well.
My table is very close to yours:
1652039839341.png

Hmm would it be worth while to rescale the WGDC to WGDC Position table?

Here's mine currently:
1652039981049.png


Yea not sure how that even got the values it did in the dynamic operations table, I double checked the memory locations in the properties for the table...maybe I misread?

Appreciate the responses I'll be heavily taking notes, and making changes as needed!

Thank you!!
 
Last edited:

Nick380

Private
Nov 4, 2016
40
21
0
CA
Adjusted the Boost Pressure Target Modifier (Normal Operations) to reflect what I'm seeing for the stock I8A0S in the replies to the new boost table thread:

1652046832103.png


I didn't touch the dynamic table and left it be.

Adjusted the WGDC D-Factor Multiplier to the following:
1652046858922.png


Not seeing as much back and forth on the boost target now, the top end seems to have cleared up mainly above 5700rpm. Still seeing some oscillations. Log link and snip of section of the log attached as well:
1652046982539.png


Link to Datalog: https://www.spoolstreet.com/graphs/...r-up-top-now.17464/?series=2,20&zoom=-52,5244
 
Last edited:

Nick380

Private
Nov 4, 2016
40
21
0
CA
FIXED!!
Now targeting 16.4psi tapering down to 15.4 psi target.
Link to log: https://www.spoolstreet.com/graphs/fixed-boost-oscillation.17501/?series=2,20&zoom=-58,5871

1652139878987.png


So I have a few questions on adjustments I can make now to get the base WGDC more inline with after the PID's as well as how the values in the Target modifier tables effect the end resulting boost target considering I was targeting close to 19 psi before, now targeting the 16.4 at peak.

So lowering these tables brought the target down, so for it to go up would I adjust these tables lower? I made a mistake changing both of those tables at the same time this go around. Here's the values they are set at now:
1652139502206.png

I basically brought the dynamic values down to normal operation in accordance with the theory of my car switching into this dynamic operation state vs normal and brought the normal operations up from 1.01 to 1.08 which I'm thinking is the reasoning behind the lower overall boost targets now...is there a way to tell which operation mode you are currently in? Any address space I could read out to see?

Does this mean I was in Dynamic operation when the dips occurred? As with the way my normal operations map was it ended up being lower, which according to @carabuser thread lowering these values raises the end boost target with my dynamic table being very much in at the opposite spectrum...

So now that my crazy oscillations are fixed and PID's trending nicely above Base. With how much it's adding it almost seems like I could set my WGDC position back to WGDC closer to stock levels and it might just even out if I can do some quick math to get an idea of the final WGDC. I'm also thinking of adjusting the WGDC base table down where it's over boosting to catch that slight overshoot. I was thinking of adjusting P Factor instead to do this as well...I've always adjusted that sort of behavior using base table, but after more learning I'm thinking maybe adding to P as it builds to react quicker to catch the overshoot would be a better route? Thoughts? I did adjust P factor in top right and lowered it thinking somehow P was the issue with how I was interpreting the logs...which was obviously not the case. So now debating on putting back to prior levels before change...

Current Values:
1652140235708.png

1652140408381.png

1652140761980.png



Thanks again gentlemen for the advice on table adjustments. I will make note of the effect it had and add to it and other changes as I get replies back on this thread.
 

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
The dynamic table is triggered when overboost is active and not finished or disabled (which it will be on MSD80) and the the manifold pressure is below target by a certain amount. I think you were causing it to flip/flop with the target bouncing like that.

I just set those tables the same.

With the WGDC control I would set all tables to stock values. Rescale the base table up to a MAF and boost target that you intend to reach and then reduce the adder table down to 0 so that the PID isn't doing anything. Then just run a few logs going through a few data points with your MAF Req (WGDC) logged and start tweaking the base table until you are close to target.
Once that is done then you can reintroduce the PID and tweak it. I find the PID parameters from the latter 35is cars to be the best starting point. The more capable the turbos are the less aggressive you want the PID to act, so with upgraded hybrids you can reduce the entire P table. Reducing the "D Factor Multiplier" table helps if the PID is overcompensating when close to target.

Having the base table correctly set up makes a huge difference to how the car feels. Over reliance on the PID to fill the gaps will make the car drive like crap.
 

Nick380

Private
Nov 4, 2016
40
21
0
CA
How much Boost are you planning on running? alot of the above tables can be left original.
Running around 16-18psi currently.

Update: Got the PID's finally under control. Watched a video on HPAcademy talking about PID control to get a better understanding and this analogy has been working lovely for me:

Imagine a car and a stop sign further up the road. In this case the car is my boost level, and the stop sign in the target.

Acceleration of the car is your P

Brakes on the car is your D

Once you get to the stop sign, in this analogy the car slowly starts going in reverse. This is where I comes in.

Obviously D effects P as well as you add or take away brake, the acceleration will increase as well. This works in reverse as well with D adding more Acceleration or taking way if off target a certain distance (boost in bar diff between boost and target)

This makes sense to me, I don't know if it will help anyone. Figured I'd post it anyways haha.

Thanks everyone for the assistance on this. still got this slight oscillation, but much better than before... Need to adjust slightly more. I ended up needing to take away a decent mount of the P and D as boost built and added in some more D to catch it right at target. Just took away 10% at a time and kept logging till I got the result I was after. All other tables are stock, adjusted the X axis to reflect my boost setpoint without taking away too much from the lower end, reverted the base table back to normal values with slight increase at higher set points. I used WGDC adder to try to control the boost at higher MAF(WGDC) values.

I completely disabled the over boost feature as I didn't like it getting in the way and adjusted normal operation and dynamic operation to the same values as recommended just to be sure it's out of the way completely.
1656488268492.png



Only other question I have is trying to get rid of the annoying throttle closure on shifts, I'm not sure what exactly is causing it, could it be the trans not shifting quick enough into the next gear? It seems less pronounced at higher rpm, where during low load situations it tends to be overshooting target right after shifting leading DME to close throttle.
 

Nick380

Private
Nov 4, 2016
40
21
0
CA
The dynamic table is triggered when overboost is active and not finished or disabled (which it will be on MSD80) and the the manifold pressure is below target by a certain amount. I think you were causing it to flip/flop with the target bouncing like that.

I just set those tables the same.

With the WGDC control I would set all tables to stock values. Rescale the base table up to a MAF and boost target that you intend to reach and then reduce the adder table down to 0 so that the PID isn't doing anything. Then just run a few logs going through a few data points with your MAF Req (WGDC) logged and start tweaking the base table until you are close to target.
Once that is done then you can reintroduce the PID and tweak it. I find the PID parameters from the latter 35is cars to be the best starting point. The more capable the turbos are the less aggressive you want the PID to act, so with upgraded hybrids you can reduce the entire P table. Reducing the "D Factor Multiplier" table helps if the PID is overcompensating when close to target.

Having the base table correctly set up makes a huge difference to how the car feels. Over reliance on the PID to fill the gaps will make the car drive like crap.
I noticed this when I was trying to compensate with P and D in low load situations. I will give the multiplier a try as well. I adjusted it close to where I was seeing overshooting during the pull. like .05 or so that seems to help it catch the boost faster as it gets to target.
 
  • Like
Reactions: Jeffman

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
Boost spike on shift seems to be related to how hard you're pushing the turbos. On stock turbo cars that are running them at >60% WGDC before shift you often see the boost spike like that where on larger turbos that aren't at their limits you get a much more stable reading.
I assume is just because of the inertia of the turbine and the reduction in air consumption of the engine at lower revs. Usually a problem when shifts are fast as there's drop in output during the shift, DCT cars usually see this.

You can work around it by keeping the target higher than the spike or tapering the target as to not overspin the turbos but there's no way of catching it with WGDC tuning currently. Maybe in future functionality will be added to pull WGDC as soon as the shift is initiated.
 
  • Like
Reactions: Nick380

Nick380

Private
Nov 4, 2016
40
21
0
CA
Boost spike on shift seems to be related to how hard you're pushing the turbos. On stock turbo cars that are running them at >60% WGDC before shift you often see the boost spike like that where on larger turbos that aren't at their limits you get a much more stable reading.
I assume is just because of the inertia of the turbine and the reduction in air consumption of the engine at lower revs. Usually a problem when shifts are fast as there's drop in output during the shift, DCT cars usually see this.

You can work around it by keeping the target higher than the spike or tapering the target as to not overspin the turbos but there's no way of catching it with WGDC tuning currently. Maybe in future functionality will be added to pull WGDC as soon as the shift is initiated.
Duly noted. Here's a thought, what about giving the throttle a little more wiggle room to let it overshoot the target, I'm seeing maybe 3 psi over target at max post shift with load targets slightly over ie: shooting 110 post shift but actually at 119. If I could increase that upper limit slightly enough to where if boost is over target it doesn't just immediatly shut the throttle so gnarly. I know there's an angle aggression in overload table for this, and I've read messing with the Threshold table is not recommended.

Appreciate the response.

My tables as reference:

1656552825123.png
 

Nick380

Private
Nov 4, 2016
40
21
0
CA
HUGE UPDATE: So I was getting more oscillations again, and I'm like WTF is going on? So I check all the vacuum. found several mini leaks, and a HUGE LEAK on bank 1 boost solenoid. Bank 2 also leaked, but slightly, but bank 1 held ZERO vacuum. Fuck me. All this time trying to tune around this problem. Come to find out I got one solenoid trying to do the job of 2, and a weak one at that. Luckily I had a spare solenoid laying around I picked up cheap a few months ago. Go for a test run, fricken perfect now, and my throttle closure post shifts are gone too. Mannn. Got 2 new oem solenoids coming next week... Talk about chasing my tail...
 
  • Like
Reactions: Jeffman and wheela

Jeffman

Major
Jan 7, 2017
1,618
1
628
0
Doh! Your story reminds me of the time I installed a new charge pipe and blow off valve and could only boost 10psi. After about a month I realize air was escaping from two big holes in the charge pipe - I forgot to screw in the two meth bung plugs. šŸ˜‚
 
  • Funny
Reactions: Nick380

Nick380

Private
Nov 4, 2016
40
21
0
CA
Doh! Your story reminds me of the time I installed a new charge pipe and blow off valve and could only boost 10psi. After about a month I realize air was escaping from two big holes in the charge pipe - I forgot to screw in the two meth bung plugs. šŸ˜‚
I'm surprised it even held pressure hahaha. That's funny, yea big face palm moment for both of us lol. I think the aftermarket solenoid is kind of in and out or the bank 2 solenoid is acting funky? Did some pulls, WGDC looks perfect, others still oscillation but noticed it's not quite hitting target, could that be an on and off boost leak? is that even a thing? Or maybe the solenoid dying randomly? I did check resistance, read somewhere 25-30 ohms saw maybe 14 on the bank 2 solenoid. First pull looked good (need to adjust a little more to get under base once catches), second pull not quite hitting target... very odd. Or maybe not? Basically replaced all the vacuum lines except for the oem hardlines over the valvecover, found both lines there slightly leaking, then checked the accumulators. also slightly leaking... so bypassed canisters, and those hard lines completely now...man I guess I can't really be mad at that considering it's 15 year old plastic lol. I'll have to just wait for the FCP order to come in and then check again...

1657608212406.png