Minimum IPW
#18
Not being guaranteed to be linear is of course different to not actually opening at all at small pulse widths.
Mitsubishi only guarantee their engine for 300 HP, but that hardly stops you
ID are the ones to try for small engines/big injector combos, look for Tony's Honda idling on massive injectors at small pulse widths, think it is 1.6 or 1.8 liter.
Mitsubishi only guarantee their engine for 300 HP, but that hardly stops you
ID are the ones to try for small engines/big injector combos, look for Tony's Honda idling on massive injectors at small pulse widths, think it is 1.6 or 1.8 liter.
#28
So I have recoded the ECU to allow for finer MINIMUM IPW control.
Previously the ECU was just multiplying the value by 32 and then by 8
so for 1.28ms the raw value is 5:
5*32*8 = 1280 (1.28ms)
Increasing or decreasing that raw value resulted in big jumps in minimum IPW:
ie
4: 4*32*8 = 1.024ms
6: 6*32*8 = 1.536ms
I've replaced the 32* with 2* and now have 0.016ms level control
WOOT
ps - ID said that 1ms was too low, 1.1ms would be ok - hence me need to recode this configuration option.
Previously the ECU was just multiplying the value by 32 and then by 8
so for 1.28ms the raw value is 5:
5*32*8 = 1280 (1.28ms)
Increasing or decreasing that raw value resulted in big jumps in minimum IPW:
ie
4: 4*32*8 = 1.024ms
6: 6*32*8 = 1.536ms
I've replaced the 32* with 2* and now have 0.016ms level control
WOOT
ps - ID said that 1ms was too low, 1.1ms would be ok - hence me need to recode this configuration option.
Last edited by tephra; Aug 17, 2010 at 09:45 PM.
#29
Evolved Member
iTrader: (8)
Looking through the main IPW sub at the point where latency is added to the IPW, there looks to be an additional adder at low pulse widths. The adder is based on the IPW without latency when it is below 0x104 (260 = 2.08ms)
IPW (no latency)/4 is used as a lookup for a table at 37C7 which is then divided by 2 and added to the IPW (no latency). The latency is then added after this is done. When IPW (no latency) is above 2.08ms it skips this adder.
The net effect is the minimum IPW (no latency) can not be any less then ~0.208ms.
Here is the table and scaling for 96530006.
Here is the net effect. The lower axis is the desired IPW before latency. Blue line is actual IPW and red line is the table above as the amount of IPW added based on desired IPW.
IPW (no latency)/4 is used as a lookup for a table at 37C7 which is then divided by 2 and added to the IPW (no latency). The latency is then added after this is done. When IPW (no latency) is above 2.08ms it skips this adder.
The net effect is the minimum IPW (no latency) can not be any less then ~0.208ms.
Here is the table and scaling for 96530006.
Code:
<scaling name="IPWAdder_2" units="Minimum IPW [ms]" toexpr="x*0.004" frexpr="x/0.004" format="%.3f" min="0" max="1.2" inc="0.004" storagetype="uint8"/> <scaling name="IPW16" units="ms" toexpr="x*2*8/1000" frexpr="x*1000/8/2" format="%.3f" min="0" max="65" inc="1" storagetype="uint16" endian="big"/> <table name="IPW Minimum - Engine Speed Minimum" address="1504" category="IPW Main Sub" type="1D" level="1" scaling="RPMStatLimit"/> <table name="IPW Minimum" address="1502" category="IPW Main Sub" type="1D" level="1" scaling="IPW16"/> <table name="IPW - Low Pulse Width Correction" address="37C7" category="IPW Main Sub" type="2D" level="1" scaling="IPWAdder_2"> <table name="Base Injector Pulse Width (no latency)" type="Static X Axis" elements="66"> <data>0 ms</data> <data>0.032 ms</data> <data>0.064 ms</data> <data>0.096 ms</data> <data>0.128 ms</data> <data>0.160 ms</data> <data>0.192 ms</data> <data>0.224 ms</data> <data>0.256 ms</data> <data>0.288 ms</data> <data>0.320 ms</data> <data>0.352 ms</data> <data>0.384 ms</data> <data>0.416 ms</data> <data>0.448 ms</data> <data>0.480 ms</data> <data>0.512 ms</data> <data>0.544 ms</data> <data>0.576 ms</data> <data>0.608 ms</data> <data>0.640 ms</data> <data>0.672 ms</data> <data>0.704 ms</data> <data>0.736 ms</data> <data>0.768 ms</data> <data>0.800 ms</data> <data>0.832 ms</data> <data>0.864 ms</data> <data>0.896 ms</data> <data>0.928 ms</data> <data>0.960 ms</data> <data>0.992 ms</data> <data>1.024 ms</data> <data>1.056 ms</data> <data>1.088 ms</data> <data>1.120 ms</data> <data>1.152 ms</data> <data>1.184 ms</data> <data>1.216 ms</data> <data>1.248 ms</data> <data>1.280 ms</data> <data>1.312 ms</data> <data>1.344 ms</data> <data>1.376 ms</data> <data>1.408 ms</data> <data>1.440 ms</data> <data>1.472 ms</data> <data>1.504 ms</data> <data>1.536 ms</data> <data>1.568 ms</data> <data>1.600 ms</data> <data>1.632 ms</data> <data>1.664 ms</data> <data>1.696 ms</data> <data>1.728 ms</data> <data>1.760 ms</data> <data>1.792 ms</data> <data>1.824 ms</data> <data>1.856 ms</data> <data>1.888 ms</data> <data>1.920 ms</data> <data>1.952 ms</data> <data>1.984 ms</data> <data>2.016 ms</data> <data>2.048 ms</data> <data>2.080 ms</data> </table> </table>
Last edited by 03whitegsr; Aug 18, 2010 at 05:47 AM.