Correct throttle axis for boost maps
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
Correct throttle axis for boost maps
Hi All,
As part of my "study" into the throttle routines, I have found out the correct scaling for the 3d boost maps (BTEL and Reactive Solenoid BWGDC):
If you stick this into your evo10base.xml and then change the "Throttle %" to this for these 6 maps you should get the right scaling:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/>
Its not a very nice name, but it means something
Now this isn't 100%, mainly because the "Stored Minimum Throttle" is always changing. On my car I have logged this as 90 or 91, which is why I have 90 in the formula above.
Once you have put the right scaling in you will see that the throttle maps actually range from 8.8% to 89% (which should roughly match your logging formula (as long as you use x/255*100)
This is also means you have extended range (particularily under 30% TPS):

This new scaling will hopefully work its way into ECUFlash - eventually
Cheers
D.
As part of my "study" into the throttle routines, I have found out the correct scaling for the 3d boost maps (BTEL and Reactive Solenoid BWGDC):
If you stick this into your evo10base.xml and then change the "Throttle %" to this for these 6 maps you should get the right scaling:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/>
Its not a very nice name, but it means something

Now this isn't 100%, mainly because the "Stored Minimum Throttle" is always changing. On my car I have logged this as 90 or 91, which is why I have 90 in the formula above.
Once you have put the right scaling in you will see that the throttle maps actually range from 8.8% to 89% (which should roughly match your logging formula (as long as you use x/255*100)
This is also means you have extended range (particularily under 30% TPS):

This new scaling will hopefully work its way into ECUFlash - eventually

Cheers
D.
Trending Topics
You are adding this scaling, then changing each individual boost table from "throttle %" -> "Throttle_Main - Stored Minimum Throttle %". It shouldn't cause any changes to tables that you have not changed.
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
For the airflow tables:
evo10base.xml:
<scaling name="ThrottleMAINorSUBInvertedOpening %" units="%" toexpr="100*(x-26)/(204)" frexpr="(x+26)/100*(204)" format="%.1f" min="0" max="100" inc="0.5" storagetype="uint16" endian="big"/>
<table name="Airflow Check #1 - Error?" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
<table name="Airflow Check #2 - Hot/Interpolated" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
<table name="Airflow Check #3 - Cold/Interpolated" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
I actually want to talk to you about getting all the xml's standardised and given to colby for inclusion in the next release of ecuflash
evo10base.xml:
<scaling name="ThrottleMAINorSUBInvertedOpening %" units="%" toexpr="100*(x-26)/(204)" frexpr="(x+26)/100*(204)" format="%.1f" min="0" max="100" inc="0.5" storagetype="uint16" endian="big"/>
<table name="Airflow Check #1 - Error?" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
<table name="Airflow Check #2 - Hot/Interpolated" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
<table name="Airflow Check #3 - Cold/Interpolated" category="Limits" type="3D" swapxy="true" scaling="EngineTorque">
<table name="Throttle Main or SUB Inverted Opening" type="X Axis" elements="14" scaling="ThrottleMAINorSUBInvertedOpening %"/>
<table name="RPM" type="Y Axis" elements="17" scaling="RPM"/>
</table>
I actually want to talk to you about getting all the xml's standardised and given to colby for inclusion in the next release of ecuflash
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
its because of the electronic throttle
a lot of the problem is that the ECU can never "guess" what the range of the throttle is
so after you shut the car down the ECU will do a MIN-MAX-MIN sweep of the throttle and record the min and max..
then it will apply those min/max's to a LOT of the throttle routines to come up with a proper range.
its taken me a LONG time to figure this stuff out
but at least we have a better understanding of it now...
a lot of the problem is that the ECU can never "guess" what the range of the throttle is
so after you shut the car down the ECU will do a MIN-MAX-MIN sweep of the throttle and record the min and max..
then it will apply those min/max's to a LOT of the throttle routines to come up with a proper range.
its taken me a LONG time to figure this stuff out
but at least we have a better understanding of it now...



