Bosch ME17.5: Difference between revisions
mNo edit summary |
(Fueling) |
||
Line 251: | Line 251: | ||
This ecu is load-dependent. The driver request a torque, that torque is then converted to a load request and the ECU will target the requested load. | This ecu is load-dependent. The driver request a torque, that torque is then converted to a load request and the ECU will target the requested load. | ||
== Engine load == | == Engine load == | ||
The ME17 do not use a MAF to measure the air mass, the air mass is calculated based on the intake manifold pressure and intake air temperature. The conversion factor <u>fupsrl</u> convert the intake manifold pressure into load. The map '''<u>KFDPBRWE</u>''' can be used to bring correction to <u>fupsrl.</u> | The ME17 do not use a MAF to measure the air mass, the air mass is calculated based on the intake manifold pressure and intake air temperature. The conversion factor <u>fupsrl</u> convert the intake manifold pressure into load. The map '''<u>KFDPBRWE</u>''' can be used to bring correction to <u>fupsrl.</u> | ||
=== MAP sensor scaling === | === MAP sensor scaling === | ||
If you fit a different MAP sensor, you can alter those two map to get the proper sensor scaling: | If you fit a different MAP sensor, you can alter those two map to get the proper sensor scaling: | ||
* '''<u>DSSGRAD</u>''' : Gradient for pressure sensor intake manifold pressure | * '''<u>DSSGRAD</u>''' : Gradient for pressure sensor intake manifold pressure | ||
* '''<u>DSSOFS</u>''' : Offset for pressure sensor intake manifold pressure | * '''<u>DSSOFS</u>''' : Offset for pressure sensor intake manifold pressure | ||
=== Requested load === | |||
The ME17 have the following logic flow : the driver request a desired traction torque, torque loss and friction are added / compensated to the torque request. Then the ECU ensures the torque request does not exceed the maximum. Then based on the maximum torque, we get a relative normal torque request (0-100%). The normalized torque is then processed into a map that will output the requested load. The ECU will use strategies to reach that load. (Throttle opening, ignition advance, air fuel mixture, etc.) | |||
The following maps corresponds to the desired traction torque depending of the current gear (manual) or selected driving mode (auto) : | The following maps corresponds to the desired traction torque depending of the current gear (manual) or selected driving mode (auto) : | ||
* '''<u>AccPed_trqEng1_MAP</u>''' : 1st gear (leading) desired traction torque from engine speed and APP_rUnFlt | * '''<u>AccPed_trqEng1_MAP</u>''' : 1st gear (leading) desired traction torque from engine speed and APP_rUnFlt | ||
* '''<u>AccPed_trqEng2_MAP</u>''' : 2nd gear (leading) desired traction torque from engine speed and APP_rUnFlt | * '''<u>AccPed_trqEng2_MAP</u>''' : 2nd gear (leading) desired traction torque from engine speed and APP_rUnFlt | ||
Line 270: | Line 267: | ||
* '''<u>AccPed_trqEngRev_MAP</u>''' : Driving behavior map reverse gear engaged | * '''<u>AccPed_trqEngRev_MAP</u>''' : Driving behavior map reverse gear engaged | ||
* '''<u>AccPed_trqEng0_MAP</u>''' : start map | * '''<u>AccPed_trqEng0_MAP</u>''' : start map | ||
You can use the same values for all of those maps. If the engine produces more torque, you will need to edit those accordingly. Values are in nm. | You can use the same values for all of those maps. If the engine produces more torque, you will need to edit those accordingly. Values are in nm. | ||
The following map corresponds to the accelerator pedal in function monitoring : | The following map corresponds to the accelerator pedal in function monitoring : | ||
* '''<u>MoF_trqEngAPP_MAP</u>''' : Accelerator pedal map | |||
Again, if the engine produces more torque, you will need to alter this map. You can also edit the above maps if you wish to change the profile or the response of the accelerator pedal. | |||
The following maps are used for torque reserve, demand and losses: | |||
* '''<u>MoF_trqDesAlt_MAP</u>''' : electrical consumers in function monitoring (based on temp) | |||
* '''<u>MoF_trqDrag_MAP</u>''' :friction losses in function monitoring (based on temp) | |||
* '''<u>ACComp_trqStatPres_MAP</u>''' : static torque based on AC pressure | |||
* '''<u>ACComp_trqStatTemp_MAP</u>''' : static torque based on intake air temperature | |||
The constant '''<u>MoF_trqNorm_C</u>''' represents the maximum indicated torque for torque normalization (in nm). The constant '''<u>MoX_trqEngAPPMax_C</u>''' can be use to determine the maximum requested torque in sport mode (in mm). | |||
==== Normalized torque request to engine load ==== | |||
The map '''<u>KFMIRL</u>''' (Map for calculation of target filling) convert the normalized torque request into engine load (The map have more resolution in ME17.5.6 ECUs). | |||
The map '''<u>KFMIOP</u>''' is the inverse of '''<u>KFMIRL</u>''', it is used by the ECU for fast calculation to convert engine load into torque. (The map have more resolution in ME17.5.6 ECUs) | |||
In the case of forced induction, there is a simple formula that give an approximate absolute pressure value based on the load request : | |||
<math>10\times\bigl(load)+300</math> | |||
You can then subtract the result by one atmosphere (1 bar) to get the relative boost pressure. | |||
Here is an example with 190 load, 10 * 190 + 300 = 2200mbar in absolute, which would be 1200mbar in boost. In psi, that would be approximately 17 psi. | |||
== Fuel mixture control == | |||
=== Injector scaling === | |||
* '''TVUBAT''' : Battery voltage dependant delay time (Injector dead time depending of voltage level) | |||
* '''KRKATE''' : Conversion of relative fuel air mass into effective injection time (See formula below) | |||
* '''FKKVS''' : Correction factor fueling system (Could also be called injector linearization map) | |||
If you fit aftermarket injectors, ensure you have the specs for the injector dead time, as it is going to make scaling easier. Then calculate the KRKATE with the injector flow characteristic (at 4 bars, most injectors are rated at 3 bars). Once done, you can set FKKVS to 1 and edit the correction factor according to the STFT. (See below how to disable LTFT) | |||
==== KRKATE Calculation ==== | |||
The following formula is taken directly from the funktionsrahmen. | |||
The variables : | |||
*<u>rho0Luft</u> = 1.293 g / dm³ (Air density at 0°C and 1013hPa) | |||
*<u>Vhzyl</u> = dm³ (Displacement of a cylinder in dm³) | |||
*<u>Qstat</u> = g / min (Valve constant at n-heptane) | |||
*1.05 = Valve correction for gasoline | |||
*<u>Lst</u> = 14.7 (Air ratio for lambda) | |||
*<u>NormK</u> = 0.00001667 min / ms (Unit customization) | |||
The formula : | |||
<math>KRKTE = {rho0Luft \times Vhzyl \over 100 \times Lst \times NormK \times 1,05 \times Qstat}</math> | |||
Simplified formula for gasoline : | |||
<math>KRKTE = 50.2624 \times displacement\; of\; a\; cylinder\; in\; dm^{(3)} / valve\; constant\; h-heptane</math> | |||
You can also use this spreadsheet and fill in the information (has provision for ethanol content) : [[:File:KRKTE calculator updated.xlsx|KRKTE calculator updated.xlsx]] | |||
==== Disabling LTFT ==== | |||
Set '''<u>NOLRA</u>''' to 39. When you are done with scaling injectors, you can put back the long term fuel trim by setting '''<u>NOLRA</u>''' to 132. | |||
=== Controlling air fuel ratio === |
Revision as of 23:48, 3 November 2023
Reading, writing and checksums
For reading and writing procedures refer to Reading and writing ECU (ME7.1.1)
Most flashing tools fix checksums automatically, if you wish to fix them manually, you can use LSuite
Definition file can be found here. If you are getting started with tuning we recommend consulting : Introduction to tuning
Terminology (Acronyms)
Maps and variables names are identified under acronyms. Knowing some of them will be useful and will help you remember map names.
Here is a list of the useful ones.
Acronym | German | English |
---|---|---|
A | Auslaßnockenwelle aktiv | Exhaust camshaft active |
AB | Abregelfaktor | Derating factor for acceleration signal |
AL | Adaptation Lastbereich | Adaptation load range |
ASR | Anti-slip regulation | |
BB | Betriebsbedingungen | Operating conditions |
BG | Berechnete Große | Calculated variable |
BTS | Bauteilschutz | Component protection |
CW | Code word | |
DFPM | Diagnose-Fehlerpad-Managers | Diagnostic Faulth Path Manager |
DK | Drosselklappe | Throttle valve |
DS-S | Pressure sensor (MAP) on intake manifold | |
E | Ersatzwert | Substitute value |
ESUK | Einspritzung Ubergang Kompensation | Injection transition compensation |
FA | Fahrer | Driver |
FGR | FahrgeschwindigKeitsregler | Cruise control |
FK | Faktor | Factor |
FUEREG | Fullungreglers | Filling regulators |
HFM | Hot film air mass sensor | |
KF | Kennfeld | Map |
KL | Kennlinie | Curve |
KN | Klopfereignis | Knock event |
KR | Klopfregelung | Knock control |
KRA | KR-adaptation | KR-Adaptation |
KUPPL | Kupplung | Clutch |
KW | Kurbelvelle Grad | Crankshaft degrees |
LL | Leerlauf | Idle |
LLK | Leerlauf und geoffneter kupplung | Idle and open clutch |
LLRBB | Leerlaufregelung Betriebs dedingungen | Idle control operating conditions |
LU | Laufunruche | Unstediness / roughness |
LUAR | Laufunruhe-Abstandsmass-Referenzwert | Rough running distance measure value |
LUR | Laufunruche-Referenzwert | Rough running reference value |
MBVH | Missbrauchverginderung | Abuse prevention |
MI | Motormoment indiziertes | Indicated torque |
ML | Motor Luftmassendurchsatz | Engine air mass flow |
MN | Minimum | |
MS | Massenstrom | Mass flow |
MX | Maximum | |
N | Normierter | Normalized / NM |
NW | Nockenwellen | Camshafts |
NWS | Nockenwellengsteverrung | Camshaft control |
OP | Optimales | Optimal |
PVD | Pressure vor Drosselklappe | Pressure in front of DK |
RL | relative Luft | Relative air filling (load) |
RLMIN | Relative mimale Luft | Relative minimal air (filling) |
SA | Schubabschatten | Fuel cut-off / overrun |
SOL | Soll | Should |
SW | Schlechtwegstrecke | Rough road |
TPKHFM | TemperaturKorrektur HFM | Temperature correction HFM |
TUM | Umgebungstemperator | Ambient temperature |
TV | Delay time | |
UGD | Ungedroselt | Unthrottled |
V | Verzogert | Delayed |
WDK | DK-Winkel | DK angle |
WKR | Winkelspatverstellung | Angle retard KR |
WL | Warmlauf | Warm up |
ZUL | Zulassig | Allowed limit |
ZW | Zundungs Winkel | Ignition angle |
Engine management
The ME17.5 use a TC1766 micro-controller. The ME17.5.6 use a TC1767 micro-controller. The program memory and the maps are both stored into the MCU which defers from the ME7.1.1 that have two chipsets, one for the MCU and an extermal memory chipset to store the maps.
There is no public funktionsrahmen for the ME17.5. You can use the MED17.5 Funktionsrahmen which will have some difference regarding injection as the MED17 use direct injections strategies while the ME17 use ported injection. For the missing modules, you can refer to the ME7.5 Funktionsrahmen.
The ME17.5.6 have some differences versus the ME17.5, extra modules, extra strategies and different map name. You can refer to the MED17.1.62 funktionsrahmen
This ecu is load-dependent. The driver request a torque, that torque is then converted to a load request and the ECU will target the requested load.
Engine load
The ME17 do not use a MAF to measure the air mass, the air mass is calculated based on the intake manifold pressure and intake air temperature. The conversion factor fupsrl convert the intake manifold pressure into load. The map KFDPBRWE can be used to bring correction to fupsrl.
MAP sensor scaling
If you fit a different MAP sensor, you can alter those two map to get the proper sensor scaling:
- DSSGRAD : Gradient for pressure sensor intake manifold pressure
- DSSOFS : Offset for pressure sensor intake manifold pressure
Requested load
The ME17 have the following logic flow : the driver request a desired traction torque, torque loss and friction are added / compensated to the torque request. Then the ECU ensures the torque request does not exceed the maximum. Then based on the maximum torque, we get a relative normal torque request (0-100%). The normalized torque is then processed into a map that will output the requested load. The ECU will use strategies to reach that load. (Throttle opening, ignition advance, air fuel mixture, etc.)
The following maps corresponds to the desired traction torque depending of the current gear (manual) or selected driving mode (auto) :
- AccPed_trqEng1_MAP : 1st gear (leading) desired traction torque from engine speed and APP_rUnFlt
- AccPed_trqEng2_MAP : 2nd gear (leading) desired traction torque from engine speed and APP_rUnFlt
- AccPed_trqEng3_MAP : 3rd gear: (advanced) traction request torque from engine speed.
- AccPed_trqEng4_MAP : 4th gear: (advanced) traction request torque from engine speed.
- AccPed_trqEngRev_MAP : Driving behavior map reverse gear engaged
- AccPed_trqEng0_MAP : start map
You can use the same values for all of those maps. If the engine produces more torque, you will need to edit those accordingly. Values are in nm.
The following map corresponds to the accelerator pedal in function monitoring :
- MoF_trqEngAPP_MAP : Accelerator pedal map
Again, if the engine produces more torque, you will need to alter this map. You can also edit the above maps if you wish to change the profile or the response of the accelerator pedal.
The following maps are used for torque reserve, demand and losses:
- MoF_trqDesAlt_MAP : electrical consumers in function monitoring (based on temp)
- MoF_trqDrag_MAP :friction losses in function monitoring (based on temp)
- ACComp_trqStatPres_MAP : static torque based on AC pressure
- ACComp_trqStatTemp_MAP : static torque based on intake air temperature
The constant MoF_trqNorm_C represents the maximum indicated torque for torque normalization (in nm). The constant MoX_trqEngAPPMax_C can be use to determine the maximum requested torque in sport mode (in mm).
Normalized torque request to engine load
The map KFMIRL (Map for calculation of target filling) convert the normalized torque request into engine load (The map have more resolution in ME17.5.6 ECUs).
The map KFMIOP is the inverse of KFMIRL, it is used by the ECU for fast calculation to convert engine load into torque. (The map have more resolution in ME17.5.6 ECUs)
In the case of forced induction, there is a simple formula that give an approximate absolute pressure value based on the load request :
You can then subtract the result by one atmosphere (1 bar) to get the relative boost pressure.
Here is an example with 190 load, 10 * 190 + 300 = 2200mbar in absolute, which would be 1200mbar in boost. In psi, that would be approximately 17 psi.
Fuel mixture control
Injector scaling
- TVUBAT : Battery voltage dependant delay time (Injector dead time depending of voltage level)
- KRKATE : Conversion of relative fuel air mass into effective injection time (See formula below)
- FKKVS : Correction factor fueling system (Could also be called injector linearization map)
If you fit aftermarket injectors, ensure you have the specs for the injector dead time, as it is going to make scaling easier. Then calculate the KRKATE with the injector flow characteristic (at 4 bars, most injectors are rated at 3 bars). Once done, you can set FKKVS to 1 and edit the correction factor according to the STFT. (See below how to disable LTFT)
KRKATE Calculation
The following formula is taken directly from the funktionsrahmen.
The variables :
- rho0Luft = 1.293 g / dm³ (Air density at 0°C and 1013hPa)
- Vhzyl = dm³ (Displacement of a cylinder in dm³)
- Qstat = g / min (Valve constant at n-heptane)
- 1.05 = Valve correction for gasoline
- Lst = 14.7 (Air ratio for lambda)
- NormK = 0.00001667 min / ms (Unit customization)
The formula :
Simplified formula for gasoline :
You can also use this spreadsheet and fill in the information (has provision for ethanol content) : KRKTE calculator updated.xlsx
Disabling LTFT
Set NOLRA to 39. When you are done with scaling injectors, you can put back the long term fuel trim by setting NOLRA to 132.