Tuning load on big turbo's - New method - Target Load, TCV Duty Cycle and LDR (TCV) Control Mechanism[edit | edit source]
After having found the cause of my horrible boost-spikes, I'd like to share my findings and propose a better method for mapping engines with a new BIG turbo (or upgraded TCV Valve). The standard turbo control algorithm doesn't keep big turbo's in check (at all).
Unless properly accounted for by altering the LDR control parameters, the standard turbo control values introduce a pretty serious risk of engine damage when using bigger turbos. This is caused by slower spool times of big turbos.
In Summary:[edit | edit source]
- Original LDR algorithm ("Ladedruckregler", translates to "boost pressure control") is not attuned to big turbos.
- As the big turbo is still busy spooling up, the LDR algorithm already "overcompensates" heavily, maxing out the TCV Duty Cycle before the turbo has spooled up.
- Once the turbo is spooled, overcompensated TCV Duty Cycle causes a huge boost spike as the turbo is essentially "free" to build max boost.
- LDR algorithm doesn't control this spike quickly, risking engine damage if knock occurs (which will occur if no protective measures are in place)
- A different method of tuning can mitigate this risk.
LDR (TCV) Control Mechanism[edit | edit source]
A short word on the LDR Control Mechanism; I think this mechanism is mainly intended to compensate for unforeseen ambient factors such as different weather, ambient air pressure, dirty air filters etc etc, to ensure factory levels of power are reached at all times, even if these ambient factors are at play. When low on power for whatever reason, the algorithm will compensate by increasing boost pressure. Additionally I think it's also intended to compensate for slight mechanical differences between two different engines from the factory, as Volvo flashes every engine with the same ECU software. I do not think it was was ever intended to compensate for our tuning ambitions: to just compensate fully for what we ask of our engine. We usually ask for load values way outside the default Volvo specs.
With that said, I think the original tuning strategy should be altered from "edit Target Load, then edit TCV duty cycle pilot" to "edit TCV without LDR control, then edit Target Load", especially when switching to a big turbo.
"Standard" (old) tuning methodology[edit | edit source]
So, as far as I know the 'accepted' tuning method is as follows: one wants to increase engine power, and does so by increasing the "Target Load Setpoint" table to something higher. The LDR algorithm will try to reach the new higher requested load values by increasing boost pressure through controlling the TCV Duty Cycle, giving extra power. When you're satisfied with the new load values, fine-tuning is done by smoothing over the TCV Pilot table for a smooth build of pressure. For the stock turbo this usually works fine.
With a big turbo, spooling is generally slower and it results in something like this:
(top panel: Load (orange), load request (pink), Air mass (red). Bottom panel: TPS (blue), RPM (red), TCV Duty Cycle (Green))
On the left you see the TCV Pilot Table. Note that in the lower RPM regions, TCV Duty Cycle is preemptively maxed out way above the Pilot Table values by the control algorithm, because the turbo is not yet done spooling up. The algorithm simply thinks "I haven't built enough pressure yet' and doesn't take spooling time into account. Once it is spooled up, the big turbo causes a boost spike and a load of 15.2 is reached when 13.1 is requested.
In my case I'm protected by appropriate water/methanol injection, but without it you will for sure have serious knock events here, risking engine damage.
Proposed tuning method === I'd suggest a completely different tuning method; instead of altering Target Load and trying to reach the requested load with TCV control algorithms, I think initial mapping of a bigger turbo should be dictated by the turbo without any active TCV control at all except for the TCV Pilot table YOU insert.
Since it is impossible to predict how fast and at what RPM your turbo will spool and be properly efficient, I think one should tune for power by manually setting TCV Duty Cycle based on RPM using the TCV Pilot table, while completely disabling the LDR routine during the tuning process. So no automatic alterations of the TCV Duty Cycle. The actual realistic loads attained (as read out from the data-log) at certain TCV Duty Cycles are completely under the tuner's control, and should then be used to build a completely new Target Load Set-point map. This Target Load Set-point map then automatically corresponds 100% with the TCV Duty Cycle map, which should (theoretically) mitigate all boost spikes.
Active LDR control algorithms should only be re-activated after this is done. As a final step, the LDR parameters should be attuned to your turbo's specific characteristics to avoid aggressive overshoot.
So the proposed tuning method is:
- Disable TCV control algorithms (LDR routine) altogether, such that the TCV Pilot table is used 1:1 without any real-time alterations. The load attained at a certain RPM is attained with a pre-set TCV Duty Cycle.
- Start with low Duty Cycle values, and slowly increase duty cycle in regions where more power / load is desired
- The turbo will follow 100% the values you have put in the TCV Pilot table
- Once desired load is reached, log a few WOT runs and build the Target Load Setpoint map from scratch with the values found through History Table logging in Tuner Pro. Use values slightly lower than attained in the real-world scenario.
- Re-activate the LDR routine and lower the parameters accordingly such that the risk of overshoot is lowered. Remember that 'slow' LDR control is not necessarily a bad thing - you will simply avoid overshoot. In cases where you're lacking boost, the system will simply not quickly increase boost to
maintain requested load. This is not a bad thing, but more a safe strategy imo. With properly set TCV Duty Cycle tables you will never be above load-request (and thus overboost) anyway, so a quick boost lowering is not required. A slow LDR is a pretty okay thing.
So how do we disable this LDR routine to start things off?
Disabling the LDR routine
More research needs to be done here as I'm not yet
sure what each table does, but I shut down the entire LDR routine by altering
these three tables:
LDR P-Part: all values to 0 LDR Throttle angle threshold: all values to 110 (or max) LDR KFP2: all values to 0 (this disabled the routine)
REVISION: New method found by LowKeyTurbo & Calvin Sonnik here
To disable LDR routing you DO NOT need to disable "LDR Throttle angle threshold: all values to 110 (or max)" Doing so only made the ECU unable to log TCV duty Cycle.
All you need to to do is set :
LDR P-Part: all values to 0 LDR KFP2: all values to 0 AND zero out LDR duty cycle correction, intake air temperature **(This is done PRE-LDR routine and lowers your TCV cycle by that amount)
Once you enable the LDR routine again, add in some values back to the LDR duty cycle correction and intake air temperature tables since it would take less TCV duty cycle to reach the same load since the air is colder and denser; therefore you need less boost to create the same MAF reading.
Only putting the threshold on 110 and zeroing the P-part did not disable the routine. I'm not sure if the P-Part and angle threshold tables are required to disable the routine.
With these tables zeroed, the boost logic will 100% follow the TCV Duty Cycle Pilot table without any deviations:
As you see my load is still way under load request, but this was just a test to see if the algorithm worked. I can now increase my TCV Duty Cycle table to reach the loads I want to see, and then copy those loads in my Target Load Setpoint tables.
The most important thing to take away from this is that you completely avoid boost spikes when exploring the operational range of your new, big, unknown turbo.
Speculation on LDR tables:[edit | edit source]
I think the LDR control is a PI-like system, where the P-part table is the "P" factor (rpm dependant), and the "KFP2" table acts like an "I" factor. Lowering the "I" and "P" table should provide less aggressive though also slower control.
Regarding the Throttle Angle Threshold: i have no idea how this works and what it does, as I expected it to disable the routine if my TPS was <110 degrees. Evidently it didn't, since I had to zero out the P-Part and KFP2 tables to disable the LDR routine.
Also I have no idea what the "1, 2, 3, 4" axis on the LDR KFP2 table stands for.
Any help on determining what these tables do exactly is appreciated, as it will help me perform the latest tuning step (which is attuning the LDR algorithm for my specific turbo), where I want control to be slow in certain regions and fast in other regions.)
Boxman, Tuners Rejoice, Nov 10th 2017