Page 7 of 11 FirstFirst ... 34567891011 LastLast
Results 121 to 140 of 208

Thread: Toyota Repository

  1. #121
    Quote Originally Posted by bj-indy View Post
    Hi all! I have a 2017 flex tundra with a whipple and am having all kinds issues, It was tuned by a very well known tundra guy in dallas and we have upated the file several times with no luck... keep setting a p219a code and have looked for the reason high an low! just hoping for a bit of advise! here is a log when the code set. and the current tune.
    There's nothing in the current tune - nor in the past changelog - that is causing this particular issue.

    You need to identify which cylinder in Bank 1 is experiencing a problem - pulling the plugs can give a hint, as the plug from the problem cylinder will often stand out from the rest.

    Here is a series of diagnostic tests that doesn't require any extra equipment (scope, multimeter, etc.) if you don't get a clear indication from the plugs:

    Verify everything is torqued to spec, check for any intake leaks
    If no intake leaks, verify no exhaust leaks
    If no exhaust leaks, swap Bank 1 and Bank 2 ignition coils
    If CEL does not change to P219B, swap Bank 1 and Bank 2 fuel injectors
    If CEL does not change to P219B, swap Bank 1 and Bank 2 O2 sensors

    The CEL will follow the problem component - for example, if an injector on Bank 1 is the source, when you move it to Bank 2 the CEL will begin to report on Bank 2 (P219B)

    A leak at the intake gasket from the install or a bad (out of spec) injector are most often the culprit.

  2. #122
    Potential Tuner
    Join Date
    Jan 2021
    Posts
    3
    Quote Originally Posted by SlowNStock View Post
    There's nothing in the current tune - nor in the past changelog - that is causing this particular issue.

    You need to identify which cylinder in Bank 1 is experiencing a problem - pulling the plugs can give a hint, as the plug from the problem cylinder will often stand out from the rest.

    Here is a series of diagnostic tests that doesn't require any extra equipment (scope, multimeter, etc.) if you don't get a clear indication from the plugs:

    Verify everything is torqued to spec, check for any intake leaks
    If no intake leaks, verify no exhaust leaks
    If no exhaust leaks, swap Bank 1 and Bank 2 ignition coils
    If CEL does not change to P219B, swap Bank 1 and Bank 2 fuel injectors
    If CEL does not change to P219B, swap Bank 1 and Bank 2 O2 sensors

    The CEL will follow the problem component - for example, if an injector on Bank 1 is the source, when you move it to Bank 2 the CEL will begin to report on Bank 2 (P219B)

    A leak at the intake gasket from the install or a bad (out of spec) injector are most often the culprit.
    Thanks for the reply! So far I have replaced the injectors with a new set of dw650cc, pulled the blower back off to check and replace the gaskets, pulled all 8 plugs and replaced, checked inside with borescope, pulled valve cover to check for broken valve springs, swapped coil banks, replaced all 4 o2 sensors with new oem, new maf sensor.. no change at all.. I guess its just going to have to break to find the problem... the tune keeps going rich for some reason as well, alcohol content stays 0 or super low all the time too... Its been quite the headache!

  3. #123
    Tuner in Training
    Join Date
    Apr 2021
    Posts
    10
    Hi @SlowNStock

    Thanks for posting this sheet

    Quote Originally Posted by SlowNStock View Post
    Most transmission tables are based on output shaft speed - here's a spreadsheet that may be handy transforming output shaft speed to vehicle speed/engine RPM and vice versa (yellow cells are input, green cells are calculated values): Attachment 96432
    I'm a software engineer, and I've done firmware programming before, but I'm new to tuning my vehicle. I want to use your attached sheet to modify the shift points in both the default table, as well as the table in tow/haul mode to accommodate for my larger 295/70/18 tires. To validate the input values for the calculation, is the best method to simply download the stock tables in the VCM suite, ensure the values match in my input tables, then change the values to match the outputs?

    Thanks in advance!

  4. #124
    Quote Originally Posted by tnine View Post
    Hi @SlowNStock

    Thanks for posting this sheet



    I'm a software engineer, and I've done firmware programming before, but I'm new to tuning my vehicle. I want to use your attached sheet to modify the shift points in both the default table, as well as the table in tow/haul mode to accommodate for my larger 295/70/18 tires. To validate the input values for the calculation, is the best method to simply download the stock tables in the VCM suite, ensure the values match in my input tables, then change the values to match the outputs?

    Thanks in advance!
    The typical process for using that sheet to update shifts would be to paste your shift schedule into the Output Speed input row (yellow cells), copy the calculated Input Speed (green cells) and paste it into the Input Speed input row (yellow cells). Then you can make the changes to your shift in terms of engine RPM, copy the calculated Output Speed row, and paste it back into HPT. Make sure you change the gear for each table as well.

  5. #125
    Tuner in Training
    Join Date
    Jul 2021
    Posts
    11
    I have joined the party and have some questions. I have a 2008 Tundra with a Magnusson and smaller pulley with the TRD green injectors, had OV Tune and decided to change things up. I have read through this forum, and somewhat on the TacomaWorld posts trying to understand tuning (I have some grasp, but nothing extensive). I was under the impression when I read the ECU that it would pull up/download the TRD Tune that I very originally had on the truck, but I'm not sure if that's the case since I got the file that the MPVI2 gave me and tweaked it a bit at first (throttle limits, etc) and then flashed that file, and the transmission seems way nicer than the TRD Tune ever had and I'm noticing the PE is set to kick in at 40% throttle and from what I've read (granted on the TacomaWorld forum) it'd be more standard for that to kick in at 70%--on the flip side the AFRs for most driving seem more "normal" than the OV Tune that I felt tried to hold 14.7afr for an excessively long time. Point being, I frankly have no idea what the baseline file I got from the MPVI2 is from.

    Now for my actual question, and excuse my newbness, I've had a hard time finding answers as to how to actually do stuff, just people saying do this task first. From my reading, the MAF needs to be tuned first, this is done by data logging and looking at the measured lambda (WB EQ 1 and 5) and the commanded lambda (EQ Ratio Commanded) and they should match within a couple percent. If they do not match, say at 20lb/min of air from the MAF reading, then go into the MAF Calibration and modify the cell closest to that to read either more or less air (and subsequently fuel). For example, if the measured lambda is 1.100 and the commanded lambda is 1.000 at 20lb/min, then modify the cell for 20lb/min (which is 3.28V for me) and increase that by a few percent, so now at 3.28V the truck will think it's seeing more air flow so it'll inject more fuel which will drop the original measured lambda of 1.100 to hopefully 1.000, and slowly iterate that until they match up closely. Is this correct?

    I watched a guy on youtube explaining this for a Tacoma, and he said to adjust the power enrichment (PE) table which is a multiplier of the entered stoichiometric value (14.600 in our case) to richen/lean the truck out. What he said to do was set those (or leave them) and then run the truck at full throttle and the lambda should be 14.6/PE table value at that rpm, and then adjust the maf (as I described above) to make those match. This follows what I've read on the forum, of tune the maf and then adjust the PE. Is this the correct way to go about those two? And is there issue with the PE kicking in at a low value? The guy on the video suggested 45-50% throttle for PE to engage, and like I said my tune started out at 40% engaging, which in my mind sounds correct since you want to start richening when boost starts to occur.

    Assuming everything I said is mildly correct, this is where I'm running into issues. I made a pull, adjusted maf, made a pull, and what confused me is the truck wants to get REALLY rich. The commanded lambda is like 0.57??? In my PE table the highest it gets is 1.22 (~.81 lambda), so why is the truck trying to run so rich? On the first page or two it sounds like component protection might override PE, but on korbiams 2012 supercharged tune his tweaks are similar to mine (ie no COTS modifications) and he says at WOT his truck targets 11.9afr yet mine is well into the 9s or even 8s at WOT.

    Sorry for the long post, just trying to make sure I'm on the right page and then the commanded lambda being so low (which I've always had issues with on every tune I've had) really threw me for a loop. I don't have any knock retard and everything else seems fine, just trying to solve this issue of running lean at mid throttle sometimes and running super rich at WOT. Thanks for any help!

    Full Throttle Pull v2.hpl
    Tundra Tune ThrotLimit AIP MAF Fuel 24 June 2021 v2.hpt

  6. #126
    Quote Originally Posted by snivilous View Post
    I have joined the party and have some questions. I have a 2008 Tundra with a Magnusson and smaller pulley with the TRD green injectors, had OV Tune and decided to change things up. I have read through this forum, and somewhat on the TacomaWorld posts trying to understand tuning (I have some grasp, but nothing extensive). I was under the impression when I read the ECU that it would pull up/download the TRD Tune that I very originally had on the truck, but I'm not sure if that's the case since I got the file that the MPVI2 gave me and tweaked it a bit at first (throttle limits, etc) and then flashed that file, and the transmission seems way nicer than the TRD Tune ever had and I'm noticing the PE is set to kick in at 40% throttle and from what I've read (granted on the TacomaWorld forum) it'd be more standard for that to kick in at 70%--on the flip side the AFRs for most driving seem more "normal" than the OV Tune that I felt tried to hold 14.7afr for an excessively long time. Point being, I frankly have no idea what the baseline file I got from the MPVI2 is from.
    The base file you have attached is indeed the TRD tune, which has a lower PE activation point (as you've observed). Note that the units are degrees of Throttle Angle, not % TPS - this is desirable, because it means that we don't need to worry about how our chosen throttle mapping affects PE entry (Normal vs Tow/Haul, for example).

    Now for my actual question, and excuse my newbness, I've had a hard time finding answers as to how to actually do stuff, just people saying do this task first. From my reading, the MAF needs to be tuned first, this is done by data logging and looking at the measured lambda (WB EQ 1 and 5) and the commanded lambda (EQ Ratio Commanded) and they should match within a couple percent. If they do not match, say at 20lb/min of air from the MAF reading, then go into the MAF Calibration and modify the cell closest to that to read either more or less air (and subsequently fuel). For example, if the measured lambda is 1.100 and the commanded lambda is 1.000 at 20lb/min, then modify the cell for 20lb/min (which is 3.28V for me) and increase that by a few percent, so now at 3.28V the truck will think it's seeing more air flow so it'll inject more fuel which will drop the original measured lambda of 1.100 to hopefully 1.000, and slowly iterate that until they match up closely. Is this correct?

    I watched a guy on youtube explaining this for a Tacoma, and he said to adjust the power enrichment (PE) table which is a multiplier of the entered stoichiometric value (14.600 in our case) to richen/lean the truck out. What he said to do was set those (or leave them) and then run the truck at full throttle and the lambda should be 14.6/PE table value at that rpm, and then adjust the maf (as I described above) to make those match. This follows what I've read on the forum, of tune the maf and then adjust the PE. Is this the correct way to go about those two? And is there issue with the PE kicking in at a low value? The guy on the video suggested 45-50% throttle for PE to engage, and like I said my tune started out at 40% engaging, which in my mind sounds correct since you want to start richening when boost starts to occur.
    There's no real issue with PE coming on earlier (within reason), other than worse fuel economy. What you don't want is to have it set so low that you regularly enter PE in everyday driving or every time you come across a small hill on the highway. 35-40 degrees is generally a good range for enable.

    When adjusting the MAF, you need to separate closed loop from open loop - use fuel trims to adjust closed loop areas and EQ Ratio error to adjust open loop. Using just EQ Ratio error, especially unfiltered, can lead to errors because closed loop fuel trims will effectively always target an EQ Ratio error of 0 (DFCO also introduces a lot of noise if it's not filtered).

    You need to add the MAF voltage channel, which you're not logging currently. It sounds like you're working by hand to adjust those values as a result, which is incredibly tedious; use histograms (Graph) so you can do simple "Paste Special - Multiply by % [- Half]" and filter accordingly. Throughout the process, keep in mind the stock sensors are limited in range (~0.8 - 1.2 lambda) and it's somewhat easy to command a value below that on a SC setup. Once you reach the sensor floor you cannot use the direct EQ Ratio error to accurately make further adjustments - you either need to command an in-range value to correct the airflow model (which carries some risk) or use an external wideband to keep getting data.

    Just a tip: based on your attached log, you should to address your polling rate - you're getting ~0.15s intervals, okay for some other tasks, but on the long side for WOT work. Reduce the polling intervals for very slow data, like Engine Coolant Temp and Trans Fluid Temps, to a much lower value (1s+) and remove some redundant channels you're polling (select either Actual Spark or Timing Advance, for example) to get that interval down. In a pinch you can trim out channels you aren't directly working with.

    Assuming everything I said is mildly correct, this is where I'm running into issues. I made a pull, adjusted maf, made a pull, and what confused me is the truck wants to get REALLY rich. The commanded lambda is like 0.57??? In my PE table the highest it gets is 1.22 (~.81 lambda), so why is the truck trying to run so rich? On the first page or two it sounds like component protection might override PE, but on korbiams 2012 supercharged tune his tweaks are similar to mine (ie no COTS modifications) and he says at WOT his truck targets 11.9afr yet mine is well into the 9s or even 8s at WOT.
    When Desired Lambda is less than the simple "1 / PE EQ Ratio" it is due to Component Protection (COT); COT is additive with PE, it doesn't simply override it.

    The equation that determines the value for Desired Lambda is: 1 / ((PE EQ Ratio * COT EQ Ratio) + EQ Adder SPK Retard + EQ Adder High Load)

    Let's work an example, assuming you are at 5600 RPM and 150% Absolute Load during a WOT pull with your current tune, which has a PE EQ Ratio of 1.221.

    When COT is active, the PCM will look up a multiplier from the COT EQ Ratio table (Fuel -> Temperature Control -> EQ Ratio Base); going to the 5600 RPM and 150% Load cell, we find a COT EQ Ratio of 1.248.

    If there were any spark retard occurring, we would need to also look up the adder for spark retard (Fuel -> Temperature Control -> EQ Adder SPK Retard) and add it to that net value. The most common place we see this occur is during a shift, when timing is reduced for Torque Management (TM). If our spark retard due to TM was 20 degrees, we would look up the adder in the 20 degree column for our current airflow - in this case, it would be greater than the maximum value in the y-axis, so we would just reference the value in the bottom row, 0.43.

    There are no non-zero values in the EQ Adder High Load (Fuel -> Temperature Control -> EQ Adder High Load) table, so it doesn't contribute by default. If there were non-zero values, they would be added as well, once the airmass and delay thresholds were met.

    So, for cases without any spark retard, we would expect a Desired Lambda of: 1 / ((1.221 * 1.248) + 0 + 0) = 0.656
    In our Torque Management spark retard case, we would expect a Desired Lambda of: 1 / ((1.221 * 1.248) + 0.43 + 0) = 0.512

    There is a hard limit on our final EQ Ratio (the denominator in our earlier equation), which can be found in Fuel -> Temperature Control -> EQ Ratio Max. For the default value of 2.0 we would see a floor for Desired Lambda of: 1 / 2.0 = 0.5.

    If you review the Desired Lambda in your log, you'll see how these values track with your logged data - note that those exceptionally low (0.5x) values occur during a shift, which is what we expect given TM spark retard.

    This strategy can seem a little convoluted at first. Presumably, TRD intended to use the Component Protection tables to create a pseudo-2D PE map: less enrichment at lower boost (absolute load) more enrichment at higher boost. In a general sense it works, but it can lead to some strange behaviors, like running leaner than desirable until COT enrichment kicks in and running incredibly rich at other points when it is active or adding a ton of fuel in response to knock (probably the two most common complaints). As far as solutions, you can either completely disable COT (probably the most common approach, not necessarily the best), increase the thresholds so COT really is only active for overtemp conditions, or tune the whole shebang so it still works like the TRD cal but with better/more reliable entry and fueling targets.



    I've attached a channel and graph config file for you to take a look at that addresses some of my comments above. In the channels, take a look at how the polling intervals are set up to get an idea for where you may want to set yours. In the graphs, take a look at how the filters are set up on the different channels (they're provided in terms of both TPS and Throttle Angle) to get some more ideas for how you can better trim the data for your goals. In both cases I'd encourage you to not just use them right out of the box, try out some different values and see how that impacts what you get from a log.

    Tundra Example Channel Config.Channels.xml
    Tundra Example Graph Config.Graphs.xml
    Last edited by SlowNStock; 07-25-2021 at 04:57 AM.

  7. #127
    Tuner in Training
    Join Date
    Jul 2021
    Posts
    11
    Quote Originally Posted by SlowNStock View Post
    The base file you have attached is indeed the TRD tune, which has a lower PE activation point (as you've observed). Note that the units are degrees of Throttle Angle, not % TPS - this is desirable, because it means that we don't need to worry about how our chosen throttle mapping affects PE entry (Normal vs Tow/Haul, for example).......
    Thank you very much for all of this! The only question/clarification from what you said, what is the point of the COT enrichment and what components is that in reference to? I'm assuming the catalytic converters? And is that really something that needs to be worried about?

    Just to get the COT logic straight: the predicted temp boxes calculate what the think the component temperature is based on air flow and rpm, if that temperature exceeds the component max temp then the EQ Ratio Base table is added in as you described. So what does component temp extreme or temp min do/control then? And I assume if one component goes over the temp max then EQ Ratio Base is engaged fully (it's not like it gets added in every time one of the five components goes over temp, or ramped up depending on how many are over temp for instance)?

    Do you have a preferred method to fix the COT enrichment? Removing it seems straightforward and simplifies everything, but I also don't know what would happen or what temperature is actually overtemp or if the predicted temperatures are remotely correct. Thanks again, all your comments and advice has made things much more clear!

  8. #128
    Quote Originally Posted by snivilous View Post
    Thank you very much for all of this! The only question/clarification from what you said, what is the point of the COT enrichment and what components is that in reference to? I'm assuming the catalytic converters? And is that really something that needs to be worried about?
    The purpose of COT is to remove heat from the catalytic converters by adding fuel - which can seem counter-productive at first because we know that catalyst temps generally increase in response to more fuel, but impact of enrichment on exhaust gas temperatures at higher loads offsets this effect, resulting in net cooling.

    Just to get the COT logic straight: the predicted temp boxes calculate what the think the component temperature is based on air flow and rpm, if that temperature exceeds the component max temp then the EQ Ratio Base table is added in as you described.
    That's correct - each of the "Predicted Temp" tables corresponds to a different component, and if any of their calculated temperatures exceed the value in their associated "Component Temp Max" table, COT enrichment logic begins. Spark Retard Offset and Vehicle Speed Offset components are also used to determine the component temperature per below:

    Component Temp = Predicted Temp + Spark Retard Offset - Vehicle Speed Offset

    There's more to the component temp than just the values in the table, though, the PCM has additional logic to determine the rate at which a component's temperature increases/decreases - you can log the temps in VCM Scanner (Catalyst Temp) and see how they move around as you drive. You'll note that the logged component temps don't match the Component Temp table values; the values in the table for steady state conditions (if the truck was operated at that point for an infinitely long, what temperature would that component eventually reach).

    So what does component temp extreme or temp min do/control then? And I assume if one component goes over the temp max then EQ Ratio Base is engaged fully (it's not like it gets added in every time one of the five components goes over temp, or ramped up depending on how many are over temp for instance)?
    Component Temp Min & Component Temp Extreme play a part in thresholds and blending - below Component Temp Min there's no enrichment considered for that Component, when any component is at or above Component Temp Extreme you will see the full value for the relevant tables, in between there is some blending that occurs. Very quick and dirty math, you can do a linear interpolation to ballpark (emphasis on ballpark) the blending:

    (Current Component Temp - Component Temp Min) / (Component Temp Extreme - Component Temp Min) * (EQ Ratio Base - 1) + 1

    So, with a Component Temp Extreme value of 2000 F, Current Component Temp of 1500 F, Component Temp Min of 1000 F, and EQ Ratio Base of 1.25, we would calculate a COT EQ Ratio of:

    (1500 - 1000) / (2000 - 1000) * (1.25 - 1) + 1 = 1.125

    The actual math and logic is (obviously) much more nuanced, at some point I'll do a longer post on how to calculate all of it.

    You can see this at work in your log by looking at Desired Lambda and note that there are many points where the Desired Lambda is leaner than the simple 1 / (PE EQ Ratio * COT EQ Ratio Base) and richer than 1 / (PE EQ Ratio). If you log Catalyst temps, you can create and chart a math function to see what the blending factor would look like, and where it deviates from that simple, linear math.

    Do you have a preferred method to fix the COT enrichment? Removing it seems straightforward and simplifies everything, but I also don't know what would happen or what temperature is actually overtemp or if the predicted temperatures are remotely correct. Thanks again, all your comments and advice has made things much more clear!
    For short durations, like while you're tuning, there's not much harm in simply disabling it to make the process more straightforward. I'll break down some of the approaches with a little more detail:

    1) Permanently disabling it (Fuel -> Component Protection -> Component Prot Enrich -> Disable) and commanding a much richer PE value than in the TRD tune is the quickest (and, arguably most popular) path, and there's rarely an issue doing so. In most of those cases, commanded PE fueling winds up conservative enough that it's not terribly much leaner than with the TRD PE values + COT and, because the richer PE target is active under more conditions, it's likely that catalyst temps actually wind up cooler than in the TRD tune most of the time.

    2) However, even in those cases having some additional fueling for spark retard may be desirable, so we can leaving Component Prot Enrich enabled and set all cells in the EQ Ratio Base table to 1 to leave EQ Adder SPK Retard active, which can then be revised to whatever values are deemed appropriate.

    3) If you want to leave COT enabled and keep the same thresholds and net COT enrichment, you can enrich your PE values, then scale the associated COT EQ Ratio Base values to target the same final Desired Lambda. Using the your tune vs the TRD cal as an example, the PE value at 5600 RPM was enriched from 1.168 to 1.221, so you could go into the EQ Ratio Base table and multiply it by a factor of: 1.168 / 1.221 = 0.957. The advantage of doing it this way is you have more consistent fueling because a greater proportion of enrichment is brought in by PE (which is more predictable) than by COT, while still targeting the same Lambda under COT.

    4) To really address everything, you can adjust some or all of the thresholds (Min, Max, Extreme) and leverage the unused table (EQ Adder High Load) to completely change when, where, and how much COT fueling is brought in. There are lots of small advantages to this method (emissions, fuel economy, power, longevity), but it requires a ton of extra work and the seat-of-the-pants difference is nearly negligible.

    Option 3 is what I'd recommend, it's the easiest way to approach it while still keeping all facets of COT operational - even if you don't want COT, I'd still push for Option 2 just to have a little extra margin in the event of knock. Option 4 is too much work for the average person to want to bother with, but I would consider it the "best" if someone wanted to spend the time.

  9. #129
    Tuner in Training
    Join Date
    Jul 2021
    Posts
    11
    Quote Originally Posted by SlowNStock View Post
    The purpose of COT...
    Awesome explanation! I turned the COT table to 1 and instantly saw results, and was able to get my WOT AFR where I wanted it (or where it should be) and tweaked on the MAF a little but it seemed close almost everywhere. Now that I have some idea how to tweak things, I have some questions as to safe limits. There's a thread on here where this is stated:

    Quote Originally Posted by FIL131 View Post
    11.5 AFR is rich but depends what your wanting out of it. Here's a little general info to go by.

    11.5 AFR - Best Rich Torque at Wide Open Throttle (WOT)
    12.2 AFR - Safe Best Power at Wide Open Throttle (WOT)
    13.3 AFR - Lean Best Torque
    14.6 AFR - Stoichimometirc Air/Fuel Ratio Value (Stoich)
    15.5 AFR - Lean Cruise
    16.5 AFR - Usual Best Economy
    From the sounds of it, putting the truck on a dyno and tuning it adjusting the afr until it makes peak power (maybe a little rich past that point) is the best way to set WOT afr, is that correct? My neighbor works at a shop with a dyno that I could get in on, but I don't plan on doing that for awhile so I'm not totally ignorant. And in the mean time, is there a recommended afr I should shoot for for WOT? From that quote, and other people on here it sounds like high 11s is "best" for WOT. And is 14.6 the best for cruising around or is there a safer/better place to be?

    Additionally, I can start making boost before PE begins, is that okay? It would seem like the instant it starts to make boost it'd be best to add more fuel, or is that not necessarily the case?

    And a final question that's not related to afr (maybe), I live around 6000ft and when I go to really low elevations, say Las Vegas or to California (sub-2000ft) I've heard pinging before. I've asked other people this and got confusing answers: shouldn't the engine retard timing to prevent knock? Does knock occur when the engine has retarded timing to 0deg and it's still pre detonating, or is there a limit to how far it can reduce knock and that point is advanced beyond 0deg? Probably obvious where I'm going with this, but besides running higher octane gas (always run premium already), is there a way to prevent knock at low elevation? Or can the engine retard the timing plenty, and it looks like the MAF measures in mass/time so I assume it's reading more airflow with higher density, so in that case is it just a fuel flow issue or the previous tunes just weren't rich enough on the top end? Just wondering if I can tune the low elevation knock out and should bring my laptop on the next trip, or if I can't improve it and just need to be aware and listen for it.

    Thanks again for everything!!

  10. #130
    Quote Originally Posted by snivilous View Post
    Awesome explanation! I turned the COT table to 1 and instantly saw results, and was able to get my WOT AFR where I wanted it (or where it should be) and tweaked on the MAF a little but it seemed close almost everywhere.
    Glad to hear it helped you move things in the right direction!

    From the sounds of it, putting the truck on a dyno and tuning it adjusting the afr until it makes peak power (maybe a little rich past that point) is the best way to set WOT afr, is that correct? My neighbor works at a shop with a dyno that I could get in on, but I don't plan on doing that for awhile so I'm not totally ignorant. And in the mean time, is there a recommended afr I should shoot for for WOT? From that quote, and other people on here it sounds like high 11s is "best" for WOT. And is 14.6 the best for cruising around or is there a safer/better place to be?
    In an ideal world, yes, you would simply iterate your WOT fueling until you reached peak power at each RPM point. In practical terms, you generally wind up with more enrichment than the theoretical ideal to have greater margin against knock retard (especially on successive pulls) and you have to be mindful of temperature (especially on the stock bottom end) when going leaner. If you asked 10 different people you would probably get 10 different answers for the enrichment that best balances margin of safety and power with factory internals, typically you will hear AFR values in the 11-12 range.

    I generally recommend erring on the side of caution (say in the realm of 11-11.5) and being a little judicious about how you use PE - you can shape the curve to have more enrichment where more heat is generated (and vice versa) and/or you can use some small values in the COT table to add some more fueling as predicted temps climb. Where and how the truck is used also plays into this - a truck primarily towing in the mountains will build a lot more heat and benefit from a richer PE than a truck mostly driving unloaded on the highway, for instance - so it's somewhat case-by-case. For a daily, street driven vehicle, (reasonably) erring on the side of conservative and consistent vs trying to find max output often makes for a better overall driving experience and simpler tuning.

    Additionally, I can start making boost before PE begins, is that okay? It would seem like the instant it starts to make boost it'd be best to add more fuel, or is that not necessarily the case?
    You can adjust with your Enable Throttle threshold to bring on PE fueling earlier. You also have the enrichment delay still active, which can also cause that to occur for brief moments. There's no real harm in setting the delay lower (or to 0), its main purpose is to have PE activate a little less readily on certain throttle transients. Finding the sweet spot can take some trial and error - but, by logging throttle angle vs absolute load and engine RPM, you can see how throttle angle corresponds to absolute load, which will greatly simplifies choosing a good Enable Throttle value based on your normal driving.

    And a final question that's not related to afr (maybe), I live around 6000ft and when I go to really low elevations, say Las Vegas or to California (sub-2000ft) I've heard pinging before. I've asked other people this and got confusing answers: shouldn't the engine retard timing to prevent knock? Does knock occur when the engine has retarded timing to 0deg and it's still pre detonating, or is there a limit to how far it can reduce knock and that point is advanced beyond 0deg? Probably obvious where I'm going with this, but besides running higher octane gas (always run premium already), is there a way to prevent knock at low elevation? Or can the engine retard the timing plenty, and it looks like the MAF measures in mass/time so I assume it's reading more airflow with higher density, so in that case is it just a fuel flow issue or the previous tunes just weren't rich enough on the top end? Just wondering if I can tune the low elevation knock out and should bring my laptop on the next trip, or if I can't improve it and just need to be aware and listen for it.
    The PCM will retard timing in response to detected knock - any time that Knock Feedback is less than -3.0, there is some form of knock retard occurring (this can also happen when the PCM uses Knock Feedback to smooth transients, like Torque Management or switching between Knock Adaptive Learning RPM Zones). How quickly timing is reduced depends on the conditions and knock severity (for example, reference the Knock Retard table under Spark -> Retard -> Knock Retard -> Amount 0). The PCM has enough authority to reduce timing to essentially always address detected knock.

    If Knock Feedback drops below the Knock Retard Default Value (Spark -> Retard -> Knock Retard -> Default Value) minus the Knock Adaptive Learning Learn Down Offset (Spark -> Retard -> Knock Adaptive Learning -> Learn Down Offset), then the Knock Correct Learn Value (KCLV) for the current RPM Zone will decrease, which effectively reduces all timing in the current RPM Zone. With the stock values (Knock Retard Default Value of -3.0, Learn Down Offset of 1.0), this occurs when Knock Feedback is < -4.0. You can encounter edge cases where the PCM consistently pulls a small amount of timing in response to knock, but not enough to learn down KCLV (so a Knock Feedback between -3.0 and -4.0).

    The next time you're driving to lower altitudes, take your laptop and log as much as you can - when you encounter pinging, double tap the spacebar (one tap stops the current log, the second starts a new one - VCM Scanner automatically saves the log in the HP Tuners\VCM Scanner\Logs folder with the date and time as the filename) so you can easily find those points again and see what is going on with Knock Feedback and the Knock Correct Learn Value, then you'll have some data to make further decisions about addressing it.
    Last edited by SlowNStock; 07-26-2021 at 03:55 AM.

  11. #131
    Tuner in Training
    Join Date
    Jul 2021
    Posts
    11
    Another question for you SlowNStock. Apparently a tuner somewhere said that the MAF voltage limit doesn't really matter, and (from my understanding) insinuated that once the truck enters PE the MAF doesn't affect anything, so if the MAF hits it's limit while in PE it doesn't matter and this can be used to "tune around the constraints of the MAF" as opposed to increasing the intake diameter for example. Is this true? It seems unlikely to me that when the truck enters PE it just ignores the MAF, though it's my understanding that in PE the AFR sensors are ignored and the truck is "blindly" dumping fuel to richen out which is why an external wideband is needed to tune PE... so maybe the MAF is ignored? The follow on question is then, PE multiplies stoichimetric by an amount and "blindly" dumps fuel in what the truck thinks is the right amount to hit that target AFR but doesn't actively correct to get there. What is the PE table actually multiplying? Is there a fueling table that exists, and during cruising the MAF is slightly tweaking that and during PE that table is just straight taken and multiplied? I guess there must be since the truck should still run with the MAF unplugged? This guy I was talking to also claimed the code for the MAF out of range could be disabled entirely, which I've never heard of.

    TL;DR: Does the MAF only matter during closed loop (before PE), and if that's true and the MAF is out of range during PE it doesn't affect anything?

  12. #132
    I've sliced up your post a bit for flow, hope it still makes sense. I'll try to hit every point here, bear with the long post -

    Quote Originally Posted by snivilous View Post
    Another question for you SlowNStock. Apparently a tuner somewhere said that the MAF voltage limit doesn't really matter, and (from my understanding) insinuated that once the truck enters PE the MAF doesn't affect anything ...
    This is false, MAF is still used in PE. There are certain conditions (typically outside of PE) where MAF isn't used exclusively, which I'll address later.

    ... so if the MAF hits it's limit while in PE it doesn't matter and this can be used to "tune around the constraints of the MAF" as opposed to increasing the intake diameter for example. Is this true?
    When the MAF is out of range, the PCM will continue to reference the last cell (5V) to determine airmass. This approach is to modify the PE table to deliver a particular net fueling while the PCM is referencing that same, incorrect airmass across the board. There are some big negatives to this approach, the key ones being that (1) commanded fueling does not match actual and (2) fueling is in anticipation of a prescribed amount of unmetered air. This works "correctly" if that unmetered air is a fixed quantity - conditions (humidity, barometric pressure, temperature, altitude, etc.) never change and no further modifications are made to increase airflow - but that is essentially never the case and net fueling after the MAF limit is little more than a reliable guess.

    This approach is very old and a poor approach to calibration, though people still try to use it (as you've obviously encountered). Now, if it was a situation where it "kisses" the limit at the boundary with an otherwise conservative and correct tune and the net correction is small, it may be an understandable sin, but even in that case the (hypothetical) customer needs to be made fully aware of what's happening, why it's happening, the implications in the tune, and informed of alternative (better) options.

    It seems unlikely to me that when the truck enters PE it just ignores the MAF, though it's my understanding that in PE the AFR sensors are ignored and the truck is "blindly" dumping fuel to richen out which is why an external wideband is needed to tune PE... so maybe the MAF is ignored? The follow on question is then, PE multiplies stoichimetric by an amount and "blindly" dumps fuel in what the truck thinks is the right amount to hit that target AFR but doesn't actively correct to get there. What is the PE table actually multiplying?
    O2 sensor feedback is essentially ignored in PE. The PE table is a simple, scalar multiplier (divisor as we use it) to lambda: 1 (Stoich Lambda) / PE EQ Ratio = PE Commanded Lambda

    Let's consider a hypothetical example to illustrate the last two items:

    Assumptions

    • A MAF transfer function capped at 500 g/s @ 5V.
    • VE is always 100%, so MAF increases linearly with RPM.
    • The 5V limit is reached at 5000 RPM.
    • The rev limit is 6000 RPM.
    • A stoich AFR of 14.6.
    • A desired PE AFR of 12.0 across the board (0-6000 RPM).

    Calculations

    • To achieve our desired PE enrichment, our table should be populated with:
    14.6 / 12.0 = ~1.217

    • Mass airflow increases linearly with RPM, and we see 500 g/s at 5000 RPM, so at the 6000 RPM limit, the mass airflow would be:
    500 (g/s) / 5000 (RPM) * 6000 (RPM) = 600 g/s

    • Beyond 5000 RPM, the engine continues to assume we are only seeing 500 g/s, so, at 6000 RPM, our delivered AFR would be:
    14.6 (stoich g air/g fuel) / (1.217 (PE EQ Ratio) * 500 (g/s assumed airflow)) * 600 (g/s actual airflow) = 14.4

    • To correct using this approach, the PE would be scaled by the AFR Error, so the PE EQ Ratio at 6000 RPM would be set to:
    14.4 (AFR Delivered) / 12.0 (AFR Commanded) * 1.217 (PE EQ Ratio Desired) = 1.46

    • Our AFR calculation at 6000 RPM would now be:
    14.6 (stoich g air/g fuel) / (1.46 (PE EQ Ratio) * 500 (g/s assumed airflow)) * 600 (g/s actual airflow) = 12.0

    The problem is, we are really targeting an AFR of 10 (14.6 / 1.46) and our fueling model now has a substantial, unmetered airflow correction. Fuel trims will provide some safety net for atmospheric changes, but do nothing to correct for situations where our airflow model changes above the MAF limit. What if this was a supercharged engine, the owner swapped a smaller pulley, and all of a sudden we hit that MAF limit at 4500 RPM?

    • Reworking our previous math, our airflow at 6000 RPM is now:
    500 (g/s) / 4500 (RPM) * 6000 (RPM) = ~666 g/s (rounding down to emphasize ominous nature)

    • Our AFR calculation at 6000 RPM would now be:
    14.6 (stoich g air/g fuel) / (1.46 (PE EQ Ratio) * 500 (g/s assumed airflow)) * 666 (g/s actual airflow) = 13.3

    We're back up to an ~11% (1 - 13.3 / 12.0) error from that simple change. Our hypothetical engine may be stout enough to live at 12.0 on boost, but feeding it 13.3 at a higher boost level would not result in a happy owner, so it's making a trip back to the tuner. The tuner, instead of simply verifying everything is working well with the change, is going to be redoing the entire PE table all over again.

    This example is grossly simplified, but it should be easy to see why this approach isn't best practice (or even good practice) - the fueling model now contains substantial airflow model error - and it often makes for more work than simply correcting the MAF transfer function in the first place.

    Is there a fueling table that exists, and during cruising the MAF is slightly tweaking that and during PE that table is just straight taken and multiplied?
    In essence, no - during closed loop, the PCM is essentially always targeting stoich (there are caveats to that beyond the scope of this discussion). O2 sensor feedback corrects for errors in net fueling, those corrections may be carried into the PE calculation. I'll detail both of those below as well.

    I guess there must be since the truck should still run with the MAF unplugged?
    The PCM has other strategies to muddle along in the event of MAF failure, but they are not the primary drivers of the airmass calculation.

    This guy I was talking to also claimed the code for the MAF out of range could be disabled entirely, which I've never heard of.
    This can be done, but that also falls into the category of not being best practice (tired of hearing that term yet?).

    TL;DR: Does the MAF only matter during closed loop (before PE), and if that's true and the MAF is out of range during PE it doesn't affect anything?
    Pulling down from my comments above, it helps to understand the three models used by the PCM: air mass, fuel mass, torque (spark, throttle, etc.). We'll skip over the torque model for now.

    The basic process for determining air mass is:

    1. Reference current MAF sensor voltage
    2. Look up base mass airflow for current MAF voltage from Engine -> Airflow -> General -> MAF Calibration -> Airflow vs. Voltage
    3. Look up base mass airflow correction for engine RPM and throttle angle from Engine -> Airflow -> General -> MAF Correction -> Base
    4. Look up IAT mass airflow correction for Intake Air Temp and base mass airflow from Engine -> Airflow -> General -> MAF Correction -> IAT
    5. Calculate final, corrected mass airflow by multiplying the lookup values:
      Final Mass Airflow = Base Mass Airflow * Base Mass Airflow Correction * IAT Mass Airflow Correction

    • During large transients, the PCM models airmass instead of taking values directly from the MAF. If you log MAF and Absolute Load during a large throttle transient, you'll note that Absolute Load does not track perfectly with MAF under those conditions.
    • MAF Voltage is limited to 5V, Mass Airflow is limited to 512 g/s. Above 5V, a larger intake is required to bring the sensor into range. Above 512 g/s the tune will need to be scaled to bring the air mass back into range.


    The basic fuel mass calculation is really an injector pulsewidth calculation; the simplified logic for non-PE, non-Component Protection, steady-state conditions is:

    1. Look up injector constant for current fuel pump mode from Engine -> Fuel -> General -> Injector Control -> Flow Rate -> Injector Const.[ High]
    2. Look up injector offset for current system voltage from Engine -> Fuel -> General -> Injector Control -> Offset -> Offset vs. Volts
    3. Look up load multiplier for current absolute engine load and fuel pressure mode from Engine -> Fuel -> General -> Injector Control -> Pulse Corrections -> Load Mult
    4. Look up cylinder gain enable for the current cylinder from Engine -> Fuel -> General -> Injector Control -> Cylinder Gain -> Injector Gain Enable
    5. Look up cylinder gain for the current cylinder from Engine -> Fuel -> General -> Injector Control -> Cylinder Gain -> Gain vs. Cylinder
    6. Look up cylinder multiplier for the current cylinder from Engine -> Fuel -> General -> Injector Control -> Cylinder Mult -> Mult Per Cyl (contingent on enable/disable boundaries)
    7. Look up net fuel trim (STFT + LTFT) for the current cylinder
    8. Determine net injector pulsewidth (IPW) per below:
    Base IPW = Load Multiplier * Net Cylinder Gain * Cylinder Multiplier * Injector Constant (ms / (g/s)) * Final Mass Airflow (g/s) / Number of Cylinders
    • If Cylinder Gain Enable = 1, Net Cylinder Gain = Cylinder Gain, otherwise Net Cylinder Gain = 1

    Net IPW = Base IPW (ms) * (1 + net fuel trim) + Injector Offset (ms)
    • If Net IPW is less than PW Minimum (Engine -> Fuel -> General -> Injector Control -> Pulse Width -> PW Minimum), the final IPW will be equal to PW Minimum.

    • During PE operation, the Base IPW value is multiplied by the PE EQ Ratio from Engine -> Fuel - Power Enrich -> Power Enrichment -> EQ Ratio
    • Note that positive fuel trims (adding fuel) are used during PE, negative fuel trims (removing fuel) are ignored.

    Best practice is for each model to be independently correct; the resulting calibration is robust, simple to understand, easy to revise, and diagnostics are straightforward.

    When the error in one model is baked into the other to achieve "correct" operation, it's only conditionally stable - fuel trims will typically be larger and move around more, open loop EQ Error will often be larger, and changing parts with that approach implies nonsensical adjustments (if fueling error is captured in the airflow model you would need to correct the MAF transfer function for new injectors, if air mass error is captured in the fuel model you would need to correct the fuel model for a new intake, etc.).

    I hope that clarifies what the PCM is doing, illustrates how the described workaround functions, and why it's an inherently problematic approach.
    Last edited by SlowNStock; 01-27-2022 at 11:19 PM.

  13. #133
    Potential Tuner
    Join Date
    Aug 2020
    Posts
    4
    Good Morning All I am a beginner to tuning and own a 2010 Crewmax 5.7 non-ffv and have read all the threads and posts multiple times to gain as much knowledge as I can before I start changing things I was wondering if there are certain year trucks that are not compatible meaning can a tune from a 2015 non-flex work on a 2010 non-flex and vise versa and can it be directly downloaded ?

    Thank you.

  14. #134
    Quote Originally Posted by Mad_Towing View Post
    Good Morning All I am a beginner to tuning and own a 2010 Crewmax 5.7 non-ffv and have read all the threads and posts multiple times to gain as much knowledge as I can before I start changing things I was wondering if there are certain year trucks that are not compatible meaning can a tune from a 2015 non-flex work on a 2010 non-flex and vise versa and can it be directly downloaded ?

    Thank you.
    You can't write directly from a different calibration ID.

    You can, however, easily copy most, if not all, values between two different files when you have the destination file open normally by opening the desired source file for comparison (Compare -> Open Compare File -or- Ctrl+1), then copying over differences using the comparison log (Compare -> View Comparison Log -or- Ctrl+5).

    Depending on the year, you'll want to verify the table definitions are the same (Engine -> Airflow -> Electronic Throttle -> Limits -> Torque Based -> High Load and Low Load are reversed in certain years, for instance) and you will need to manually copy data for those tables. In addition, certain Calibration IDs may have tables that aren't present in others (Trans -> Torque Management isn't defined for many Cal IDs).

  15. #135
    Potential Tuner
    Join Date
    Aug 2020
    Posts
    4
    Quote Originally Posted by SlowNStock View Post
    You can't write directly from a different calibration ID.

    You can, however, easily copy most, if not all, values between two different files when you have the destination file open normally by opening the desired source file for comparison (Compare -> Open Compare File -or- Ctrl+1), then copying over differences using the comparison log (Compare -> View Comparison Log -or- Ctrl+5).

    Depending on the year, you'll want to verify the table definitions are the same (Engine -> Airflow -> Electronic Throttle -> Limits -> Torque Based -> High Load and Low Load are reversed in certain years, for instance) and you will need to manually copy data for those tables. In addition, certain Calibration IDs may have tables that aren't present in others (Trans -> Torque Management isn't defined for many Cal IDs).
    Thank you SlowNStock. I've pretty much read all your threads and value your knowledge of tuning these Tundra's and the time you take to respond in great detail especially for us newbies to tuning. Have you ever thought doing youtube video's tuning the tundra for different application's like Fuel economy, Racing, Towing, ect... kinda like what VictorG started but left us hanging for more lol?

  16. #136
    Advanced Tuner
    Join Date
    Nov 2008
    Location
    Tampico Bay, Mexico
    Posts
    220
    Quote Originally Posted by Xsen View Post
    Here's a stock read from a 2007 4.0 Single VVTi AT FJ Cruiser.
    Attachment 96931
    we can tune thoae already??
    all the way from Tampico bay Mexico

  17. #137
    Potential Tuner
    Join Date
    Sep 2020
    Posts
    2
    Quote Originally Posted by 4firemandan View Post
    Yes, you are in the ballpark. (from best I can gather.. as I am also wandering somewhat aimlessly through the same, said, ballpark)

    So a few notes.. forgive the rambling.. but this is just a lot of what I learned recently about my own ecm and how FFV and alcohol content effects it.

    I have a 2016 FFV Supercharged so we have basically the same ecm/truck. Mine is self tuned with HPT, however.

    The 30% thing... yes, there are 2 "options" for most tables on the FFV. "30" and "75". That's in relation to ethanol. So less than 30 uses one and more than 75 uses the other.
    NOW... thats NOT to say that there are not situations where the ECM may calculate based on BOTH those, say if you are at 25%... (ecm could say meet in between the 2... 60% "30" table/40% "75" table).

    There may be black/white areas where it ONLY uses one or the other... but with such a complicated ecm I cant imagine they dont interpolate when in between.

    As far as fueling. I had noticed I was getting much better fuel top end when the ecm thought there was high ethanol. So yes, it's definitely opening injectors longer.. however there are tables that we cant see that are also effected when eth is high.
    So... what that means is we need to get ya close to "0".

    I had significant problems with my tune being fueled well and then suddenly a day later being more lean. Every time I flashed it, nice and rich.. until a day later.
    The ONE thing that was consistent is I was always showing high eth content. At first it was totally by accident.. I didnt realize it was so high. Later I raised it intentionally to see if it helped top end. (I was maxed on maf and PE tables)
    Long story short, it DID add fueling but it was not worth the unpredictability of the tune in high eth mode.

    So.. where this can help you... I can help move the eth content.

    Do you have the ability to scan and modify the tune now yourself?

    If you can post your tune and a scan here, or message me it, I should be able to get your content back to 0%.
    4firemandan - this has been over 2 years ago and I regret I didn't see this before now!

    The saga since then...initially ran Magnusons tune for about 20k. Kept getting a recurrent P0101 and took it to a tuner in Houston (Prospeed). So custom tune with upgraded injectors, fuel pump and intake with larger bore so MAF wasn't being maxed out. Done back in June 2022. All is well and ethanol stayed at 0 for a couple months. Then it was bouncing around 10-30% and now that it's colder, I started getting P0172 and P0175 (bank 2 rich) along with etoh at 43.5%. Also runs like crap.

    Gave up and got a miniVCI cable and hacked version of Techstream to reset etoh density calculation. So far so good...reading 0.

    However having a good understanding of what the ECM is doing is important to me and your explanation has helped tremendously. Someone on the Boosted Tundras forum on FB mentioned "dithering" in regards to the ECM calculating fuel injection and this makes perfect sense, as it seems by what you said that it has a 30% and 75% table and seems to dither the two tables if the etoh% is a value 30-75 (?? Right??). I just want the goober to stay at 0. Someone else mentioned biasing the LTFT to the rich side because if it sees anything remotely heading towards a lean condition, it starts ramping up the etoh% value to compensate.

    Thoughts? (I'll pay more attention to replies from how on...lol)

  18. #138
    Senior Tuner
    Join Date
    Jun 2004
    Location
    Baltimore, Md
    Posts
    1,204
    dithering = interpolating

    Alot fo these flex fuel OEM vehicles "infer" content, so if your fuel trims are off, its thinks your content is higher or lower
    Factory Stock 97 SS M6 13.51 @ 104.3 mph
    Stock Longblock LS1 w/ 233/238 P.S.I. Cam
    10.81 @ 126.9 Full interior, six speed on 275 radials, a decade ago

    '99 TA trunk mounted 76mm 6 Liter
    9.0s in '09 @ 153 MPH

    Turbo 5.3 Volvo 740 Wagon
    32psi and still winding out 5th on the highway somewhere

  19. #139
    Tuner in Training
    Join Date
    Apr 2017
    Posts
    11
    Good day everyone.

    I have a 2015 FJ Cruiser I?m wondering if I can make it more responsive,
    Any tips and tricks will make me going will be so appreciated
    Also how can make the rev limiter faster,I know it?s Little bit stupid, I just like how it bounce fast, my stock tune rev so slow,

  20. #140
    Tuner in Training
    Join Date
    Apr 2017
    Posts
    11
    Sorry this the file

    2015 stock FJ cruiserr.hpt
    Last edited by Oldpilot; 01-22-2023 at 05:04 PM.