Você está na página 1de 48

Introduction

This manual is intended to give tuning tips and to detail individual settings for the
MegaSquirt III Engine Management System. Each firmware feature is explained in its
own section starting with the basics and then covering more advanced features.
Engine and Sequential Settings
This section contains the most basic settings required to run an engine with the
MegaSquirt III.
Settings
Required uel !
"asic settings follow#
o Engine $isplacement ! This should be the engine%s displacement in
&ubic Inches or &ubic &entimeters 'depending on the &I$ vs. &&
setting in the (nits section).
o *umber of &ylinders ! Enter the engine%s number of cylinders. or the
rotary engine+ enter , cylinders for a -!rotor engine+ . cylinders for a
/!rotor engine+ etc.
o In0ector low ! Enter the amount of fuel that a single one of the
engine%s fuel in0ectors can flow in 1ounds per 2our 'lb3hr)+ or &ubic
&entimeters per Minute '&&3min) 'depending on the lb3hr or cc3min
setting in the (nits section).
o 4ir!uel Ratio ! Enter the air fuel ratio that should be targeted. (sually
stoichiometric for the particular fuel in use should be used.
&ontrol 4lgorithm ! This setting controls the method with which engine load
is calculated. Engine load represents how hard the engine has to wor5 and can
be based on many factors such as manifold pressure+ throttle position+ air
mass+ or combinations of these. *ote that this setting only sets the control
algorithm for fuel in0ection and related settings6 it does not set the control
algorithm for ignition and related settings.
The following settings may be selected#
o Speed $ensity ! (se the M41 'Manifold 4bsolute 1ressure) sensor to
determine load. In this case+ the vertical axis of any fuel table loo5ups
is in 5ilopascals '51a). The maximum value reported by the M41
sensor 'in non!turbo applications) will be the same as the barometric
pressure.
o 1ercent "aro ! This setting is similar to the Speed $ensity setting in
that the M41 sensor is used to determine load. 2owever+ instead of
directly using the manifold pressure+ the manifold pressure is divided
by barometric pressure to give a percentage of barometric pressure.
This setting can be useful for those who regularly drive at high
altitudes. It ensures that regardless of barometric pressure+ all table
loo5ups operate over 7!8779.
or example+ if barometric pressure is :7 51a+ and the engine is
operating at ;7 51a+ the actual value used for table loo5ups is
;751a3:751a or .-.;9.
o 4lpha!* ! (se the throttle position to determine load on the engine. "e
sure to calibrate the throttle range using Tools->Calibrate TPS
before using this setting.
o M4M41 ! This setting is for users who are using a Mass 4irflow
sensor+ but want to tune using the standard <E table. It calculates M41
based on the engine si=e+ R1M+ and other parameters. This calculated
M41 is then used for fuel!based table loo5ups.
o M4 ! (se the M4 sensor and related calculations to directly
determine the amount of fuel to in0ect. In this mode+ the <E table is not
used to determine the amount of fuel to in0ect. More information on
this load mode is in another dialog%s description.
o IT" ! This mode was created specifically for naturally aspirated
engines running with independent throttle bodies. It combines alpha!n
'at high engine loads) with speed density 'at low engine loads)+ using
the load calculation that ma5es the most sense at each R1M. or
example+ most IT" setups do not have good vacuum at idle or low
R1M+ and slightly touching the throttle ma5es them lose all vacuum+
but at higher R1M start to respond more li5e a traditional single
throttle body engine. This mode allows the use of speed density at low
engine loads and switches to alpha!n at high loads+ with an ad0ustable
switchpoint curve over R1M 'detailed in another section).
Squirts 1er Engine &ycle ! $etermines the number of times per engine cycle
'two revolutions on a four!stro5e engine) in0ectors are squirted when in a
batch in0ection mode. This setting has no effect when in0ecting sequentially.
In0ector Staging ! This setting is used only in batch in0ection modes. It
determines whether the two in0ection channels are squirted at the same time+
or in an alternating fashion.
Engine Stro5e ! Sets the firmware for either a four!stro5e engine or a two!
stro5e engine.
*umber of &ylinders ! Sets the number of cylinders for the engine. *ote that
fully sequential in0ection is only possible with up to : cylinders.
In0ector 1ort Type ! This setting is not used by the firmware and is included
for historical purposes.
*umber of In0ectors ! $etermine the number of in0ectors installed on the
engine. ully sequential in0ection is only possible with up to : cylinders and :
in0ectors. >hen used with the staged in0ection feature+ this should be set to the
number of primary in0ectors.
Engine Type ! $etermines whether the engine is an even!fire engine or odd!
fire engine. 4n even fire engine is an engine where the cran5shaft moves an
equal number of degrees between each cylinder%s top dead center 'T$&). 4n
odd fire engine may have a different number of degrees between T$& on
some cylinders when compared with others.
Sequential uel In0ection settings follow#
Main fuel outputs !
o Std fuel ! (se the standard v/3/.;? board batch in0ector outputs.
o MS/@ fuel ! (se the MS/@ expansion board%s outputs to drive the fuel
in0ectors. Anly one in0ector should be used per output.
Sequential An !
o Aff ! (se batch in0ection. An MS/x outputs+ the channels are divided
into two groups+ and all in0ectors in a group are squirted
simultaneously.
o Semi!Sequential ! (se batch in0ection+ but allow the angle of in0ection
to be specified. >hen used with the MS/@ in0ector outputs+ in0ectors
should be wired in the same manner they would be wired for fully
sequential in0ection.
o ully Sequential ! (se fully sequential in0ection. In this mode+ outputs
4!2 are squirted in sequence+ so care must be ta5en to use the correct
wiring for the engine%s fireing order. or example+ for a four cylinder
engine with firing order 8!/!,!-+ the following wiring should be used#
Autput 4 ! &ylinder 8
Autput " ! &ylinder /
Autput & ! &ylinder ,
Autput $ ! &ylinder -
4ngle Specifies !
o End of Squirt ! The angle specified in the in0ector timing table
specifies the angle of the end of each squirt. This should be used by
most people for most engines.
o Middle of Squirt ! The angle specified in the in0ector timing table
specifies the angle of the middle of each squirt.
o "eginning of Squirt ! The angle specified in the in0ector timing table
specifies the angle of the beginning of each squirt.
In0ector Trim !
o Aff ! 1er!in0ector fuel trim is disabled. 4ll in0ectors will have the same
pulse!width.
o An ! 1er!in0ector fuel trim is enabled. Each in0ector%s pulse!width can
be trimmed lower or higher than the value calculated using the fuel
equation.
iring order#
The firing order should be set to the firing order that your engine uses. It does not
affect the order in which the outputs are triggered. Instead it is used to associate an
in0ector trim table with a particular physical output so that when in0ector trim is
applied+ it is applied to the correct cylinder. It is also used if closed!loop EBA is being
done per!cylinder.
ITB Load Mode
IT" tuning mode builds on the capabilities of the dual table blended tuning approach
but solves one of the more significant drawbac5s to that tuning mode# it provides the
blended Speed!$ensity34lpha!* behavior of the blended dual tables in 0ust a single
table. This single table approach is a significant improvement as all the automatic
tuning tools available through TunerStudio now wor5 correctly with the single table.
These tools are not easily used on the blended tuning approach as TunerStudio does
not understand the multiplicative coupling between the two tables.
ITB Load
This new tuning mode introduces a new engine load type to Megasquirt+ the IT" load.
This load type is selected in the tuning configuration the same way that 4lpha!*+
Speed!$ensity+ or blended tuning are selected. IT" load is also available for the other
tuning settings including 4R+ Ignition+ and Enhanced 4ccel Enrichment.
The IT" Coad is derived from a combination of M41 and T1S values as well as other
IT"!related tuning curves that all wor5 together to create a calculated value that is
used as the DIT" CoadD and applied to the E axis of the tuning tables in the same way
that M41 is used for Speed!$ensity tuning or T1S is used for 4lpha!* tuning.
ITB Load VE Table
IT" Coad tuning uses a single <E table to control fuel but this <E table is partitioned
into two regions+ one for Speed!$ensity and one for 4lpha!* tuning. There are two
tuning curves and a couple of configuration values that must be set up to correctly
partition the <E table for a given engine. The curves and values are#
9 "aro Switchpoint ! The M41 value where tuning switches from T1S based
to M41 based. $efault is F79 and wor5s for most engines.
Idle T1S Threshold ! 4 minimum T1S value that must be met to allow the
switch to T1S based tuning to occur. This is sometimes useful in idle tuning.
IT" Coad T1S Switchpoint ! 4 T1S curve that defines the T1S value across
the R1M range where the M41 value reaches the pre!defined transition M41
value. 'first bullet in this list)
IT" Coad at T1S Switchpoint ! 4 curve that allocates the amount of each <E
table column that will be allocated to M41 based or T1S based tuning.
The diagram below illustrates how the IT" load <E table is partitioned for dual use.
The region of greatest M41 change 'below %Baro switchpoint) is tuned using
Speed!$ensity based tuning. The region of greatest T1S change 'above %Baro
switchpoint) will be tuned using 4lpha!* based tuning. This is exactly the same
technique used in the blended tuning+ 0ust applied within a single table.
ITB Load TPS Switchpoint Curve
This curve defines the T1S value where the M41 load reaches %Baro switchpoint.
This curve will be different for each engine and should be set up using values
obtained from log files from your engine. The curve tends to be fairly linear so you
only need a few data points to plot the curve. 4 data point at low+ medium+ and high
R1M from a log file is usually enough. 4 spreadsheet or 0ust graph paper can then be
used to establish enough data points to fill in the table for this curve.
IT" Coad tuning requires that the M41 signal be above the %Baro switchpoint and
that the T1S value be above the value defined on this curve to switch from Speed!
$ensity tuning to 4lpha!* tuning. Therefore+ you want this curve to be relatively
accurate and you may even want to set the values on the curve a few percent low to
ensure that the T1S value has been met when the M41 reaches the %Baro
switchpoint.
"esides defining the switch point to 4lpha!* tuning+ this curve also establishes the
lower T1S value that will be used to interpret the range of <E bins allocated to 4lpha!
* tuning in the <E table.
ITB Load at TPS Switchpoint Curve
This curve is used to allocate the bins on the <E table to either Speed!$ensity or
4lpha!* tuning. The area of the <E table below the curve will be used for Speed!
$ensity tuning and the area above the curve will be used for 4lpha!* tuning. The
shape of this curve defines how much of the <E table will be allocated for use
between Speed!$ensity and 4lpha!* tuning for each R1M column. Eou want to
allocate the largest portion of the <E table at each R1M to the tuning mode that has
the most non!linear response. The lower R1M region typically requires a little more
Speed!$ensity definition range than the upper R1Ms.
Putting it all Together - Calculating ITB Load
The IT" Coad <E table is defined as IT" Coad vs. R1M. The IT" Coad should not be
confused with M41 or T1S+ it is neither. >hat the IT" Coad tuning algorithm does is
calculate a load value based on M41+ T1S+ and the two IT" Coad curves. This
calculated load value is the E axis of the IT" Coad <E table6 it can also be applied to
the ignition advance and 4R tables as well.
ITB Load Calculation in Speed-Density Mode
>hen the throttle position is less than the value defined in the ITB load TPS
switchpoint curve or the M41 value is less than the %Baro switchpoint+ the
tuning algorithm will ta5e the array of cells from the <E table below the ITB load
at TPS switchpoint curve and interpret this array within the context of 79 to
%Baro switchpoint load.
4 couple examples that assume %Baro switchpoint G F7#
If you have allocated the region between 79 IT" Coad and .79 IT" Coad on your
<E table for use in Speed!$ensity tuning and your 9baro is ;79 then the <E value
for /79 IT" load will be used. In this same example+ a M41 value of 75pa would use
the 79 IT" load bin and a M41 value of 0ust less than 9"aro switchpoint would use
the <E value 0ust below the .79 IT" Coad value on the <E table.
ITB Load Calculation in Alpha-N Mode
>hen the throttle position is greater than or equal to the ITB load TPS
switchpoint curve and the M41 value is greater than or equal to the %Baro
switchpoint+ the tuning algorithm will ta5e the array of cells from the <E table
above the ITB load at TPS switchpoint curve and interpret this array within the
context of T1S position. The lower T1S value used for this interpretation is ta5en
from the ITB load TPS switchpoint curve and the upper T1S value is always
8779.
or example+ if you have allocated the region between .79 IT" Coad and 8779 IT"
Coad on your <E table for use in 4lpha!* tuning and also assigned a value of 879
T1S on your ITB load TPS switchpoint curve then a T1S value of ;;9 would
yield an IT" Coad value of :79 and the <E bin for :79 IT" Coad would be used. In
this same example+ a T1S value of 879 would use the .79 IT" Coad bin on the <E
table and 8779 T1S would use the 8779 IT" Coad bin.
Tuning For Idle Air Control
The Idle TPS Threshold % setting defines the minimum T1S value required to
allow the transition to 4lpha!* tuning. This feature allows the fast idle M41 to
exceed the %Baro switchpoint without entering 4lpha!* mode. An engines with
aggressive cams with higher overlap+ it is possible for the fast idle M41 to exceed the
%Baro switchpoint. >hen this happens+ you do not want to enter 4lpha!* mode
tuning since the throttle is still reading fully closed. The Idle TPS Threshold %
prevents you entering 4lpha!* mode and you can use the warm up enrichment curve
to compensate for any tuning errors caused by being stuc5 at the maximum Speed!
$ensity bin while the M41 is greater than the %Baro switchpoint.
AFR/EGO Control
This section contains the settings necessary to do closed!loop Exhaust Bas Axygen
'EBA) control on the MegaSquirt III engine management system. &losed!loop EBA
control allows the amount of fuel being in0ected to be changed so that the 4ir uel
Ratio '4R) matches the 4R set in the 4R table.
Settings
Basic E! settin"s
These settings are used to control the behavior of the closed!loop EBA algorithm.
Ignition Events per Step ! >hile closed!loop EBA is active+ how often the
correction is run is determined by this setting. It is the number of ignition
events per correction.
&ontroller Step Si=e ! This setting is only used with the DSimpleD EBA
algorithm. It controls how large each correction DstepD is. So if the 4R does
not match the desired 4R+ and &ontroller Step Si=e is configured to be 89+
each time a correction is made+ that correction will be 89.
&ontroller 4uth ! This setting controls the maximum amount of ad0ustment
performed by the closed!loop algorithm.
4ctive 4bove &oolant ! "elow the temperature defined by this setting+ closed!
loop EBA will not activate.
4ctive above R1M ! "elow the R1M defined by this setting+ closed!loop EBA
will not activate.
4ctive "elow T1S ! 4bove the throttle position defined by this setting+ closed!
loop EBA will not activate.
4ctive below Coad ! 4bove the load defined by this setting+ closed!loop EBA
will not activate.
4ctive 4bove Coad ! "elow the load defined by this setting+ closed!loop EBA
will not activate.
EBA delay after start ! The time in seconds after engine!start before closed!
loop EBA can be activated.
4lgorithm ! This controls the type of closed!loop algorithm used#
o Simple ! This method of closed!loop EBA control is well!suited to use
with a narrowband A- sensor. If the current 4R 'or EBA voltage for
narrowband) incorrect+ the amount of fuel being in0ected is ad0usted by
Controller Step Size every Ignition Events per Step ignition
events. This method often results in the actual 4R oscillating above
and below the target.
o 1I$ ! This method incorporates a 1roportional Integral $erivative
control loop which tuned properly+ ad0usts the amount of fuel being
in0ected to quic5ly get to the target+ and then maintains the target
without any oscillation 'when tuned correctly).
EBA Sensor Type ! This setting enables EBA control and allows the user to
choose between using a wideband sensor or narrowband sensor.
The following settings are supported#
o $isabled ! *o EBA sensor enabled.
o *arrowband ! Sensor in use is a narrowband sensor.
o >ideband ! Sensor in use is a wideband sensor.
*umber of Sensors ! This setting is used to select the number of oxygen
sensors in use by the MS/. (p to eight sensors can be configured.
E! Ports -
The EBA 1orts settings allow the user to select the input port used to read the signal
from the oxygen sensor. The number of EBA ports available depends on the number
of sensors selected.
The following ports are available for the first EBA input#
*ormal EBA
HS; '4$&.)
HS, '4$&?)
E@TIM41 '4$&88)
EBA- '4$&8-)
Spare 4$& '4$&8/)
&4* EBA
&4* 4$&78
&4* 4$&7-
&4* 4$&7/
&4* 4$&7,
&4* 4$&7;
&4* 4$&7.
&4* 4$&7?
&4* 4$&7:
&4* 4$&7F
&4* 4$&87
&4* 4$&88
&4* 4$&8-
&4* 4$&8/
&4* 4$&8,
&4* 4$&8;
&4* 4$&8.
&4* 4$&8?
&4* 4$&8:
&4* 4$&8F
&4* 4$&-7
&4* 4$&-8
&4* 4$&--
&4* 4$&-/
&4* 4$&-,
The remaining EBA ports have the following input options#
Aff
HS; '4$&.)
HS, '4$&?)
E@TIM41 '4$&88)
EBA- '4$&8-)
Spare 4$& '4$&8/)
&4* EBA
&4* 4$&78
&4* 4$&7-
&4* 4$&7/
&4* 4$&7,
&4* 4$&7;
&4* 4$&7.
&4* 4$&7?
&4* 4$&7:
&4* 4$&7F
&4* 4$&87
&4* 4$&88
&4* 4$&8-
&4* 4$&8/
&4* 4$&8,
&4* 4$&8;
&4* 4$&8.
&4* 4$&8?
&4* 4$&8:
&4* 4$&8F
&4* 4$&-7
&4* 4$&-8
&4* 4$&--
&4* 4$&-/
&4* 4$&-,
A#$%E! Sensor Mappin"
The 4R3EBA Sensor Mapping settings allow individual in0ectors to be associated
with available EBA sensors.
The following in0ector channels can be associated with a sensor#
MS/@ In04
MS/@ In0"
MS/@ In0&
MS/@ In0$
MS/@ In0E
MS/@ In0
MS/@ In0B
MS/@ In02
</ 'mainboard) In0 8
</ 'mainboard) In0 -
The following EBA selections can be made for each in0ector channel#
EBA8
EBA-
EBA/
EBA,
EBA;
EBA.
EBA?
EBA:
Tuning
Si&ple Al"orith& with Narrow'and Sensor
4 narrowband sensor is only accurate at exactly stoichiometric mixtures for the fuel
being used '8,.?#8 for gasoline). 4t around 7.; volts+ the mixture is stoichiometric.
or leaner mixtures 'above 8,.?#8 for gasoline+ above 8.7 lambda) the voltage dips
slightly below 7.; volts. or richer mixtures+ the voltage goes above 7.; volts. This
behavior means that it is not possible to hold an exact mixture when running closed!
loop with a narrowband sensor.
"ecause of this+ the best algorithm to use with a narrowband sensor is the DsimpleD
algorithm.
The simple algorithm ad0usts the mixture richer if the sensor reads lean+ and leaner if
the sensor reads rich. It ad0usts Controller Step Size percent every Ignition
Events per Step. This can lead to a small oscillation in A-!based correction once
the 4R reaches close to stoichiometric.
The following steps are recommended when tuning the simple algorithm with a
narrowband sensor#
8. Ignition Events per Step ! >hen first tuning the engine+ this should be set to a
fairly low number ',!:) so that if the 4R is very far off+ it is corrected
quic5ly. Ance the engine is better tuned+ this number can be switched to a
higher number to gain more stable correction behavior ':!8. or more).
-. &ontroller Step Si=e ! >hen first tuning the engine+ this should be set to -9 so
that when correcting+ the engine reaches stoichiometric quic5ly. Ance the
engine is well tuned+ this should be reduced to 89 to gain more stable
correction.
/. &ontroller 4uth ! >hen first tuning the engine+ this should be set to -79 or
higher. &are must be ta5en to watch how the algorithm is correcting. In some
situations+ it is possible for the sensor to read very lean when really the engine
is running very rich. Ance the engine is tuned+ this should be set between ;9
and 879.
,. Engagement Settings ! Most of the remaining settings control how and when
the closed loop algorithm is engaged. Engagement with a narrowband sensor
should happen when the engine is nearly fully warm+ ;77!8777 rpm above
idle+ below :79 throttle+ below about :79 load+ 0ust above the lowest load
seen when barely pressing the throttle+ and at least /7 seconds after the engine
starts. These settings are because the sensor must be hot to operate+ must not
be used at high load due to the fact that the engine should be operated rich of
stoichiometric+ and must not be used at very low load because the oscillations
will cause the engine speed to oscillate.
Si&ple Al"orith& with (ide'and Sensor
Tuning the simple algorithm with a wideband sensor is essentially the same as tuning
it with a narrowband sensor with the caveat that the 4R target table is used to set the
4R target. It is still recommended that the EBA algorithm not be used at high
throttle position3load due to the fact that the accuracy of the wideband sensor
decreases dramatically with pressure and temperature changes caused by high load.
PID Al"orith& with Narrow'and Sensor
>hen using a narrowband sensor with the 1I$ algorithm+ all the same
recommendations for settings given in the section describing the Simple algorithm
should be followed.
4dditionally+ since it is nearly impossible to 5eep the narrowband sensor from
oscillating+ it is recommended to start by tuning the %I% term until the target is reached
with minimal oscillation. Ance this point is reached. It is recommended that very little
'if any) %1% term is used since the %1% part of the 1I$ algorithm causes instantaneous
reaction+ and the response of the sensor is not proportional to the distance from
stoichiometric.
PID Al"orith& with (ide'and Sensor
>hen using a wideband sensor with the 1I$ algorithm+ the same steps as when using
a narrowband sensor can be followed for tuning the %I% term.
4dditionally+ since the response of most wideband controllers and sensors is linear
with 4R+ a larger %1% term can be used to help correct for fast changes in 4R.
&aution must still be used however since there is a significant delay between the
amount of fuel being in0ected changing and MS/ registering an 4R change as a
result.
inally+ a small amount of %$% term can be used to help slow response during very fast
changes. This helps reduce overshoot of the target.
Idle Control
The MS/ firmware has several methods for controlling idle speed#
An3Aff <alve ! This Is for controlling a simple on3off valve.
>armup!only modes
These modes are open!loop and only control valve position based on coolant
temperature.
o I4& Stepper 4lways An ! Ceave I4& stepper power on even when not
moving.
o I4& Stepper Moving Anly ! 1ower up I4& stepper motor only when
necessary for moving.
o 1>M >armup ! 1>M valve in warmup only mode.
o 8;!minute I4& ! 1ower up the I4& for 8; minutes for warmup+ then
power it down.
&losed!loop modes
These modes are closed!loop. The user must set a target R1M curve+ and
several other settings to determine when the code goes into closed loop mode.
o 1>M &losed Coop ! 1>M idle valve in closed loop mode.
o I4& &losed Coop Moving Anly ! &losed loop I4& mode where the
I4& motor is only turned on when the valve needs to move.
o I4& &losed Coop 4lways An ! &losed loop I4& mode where the I4&
motor is on whether the valve needs to move or not.
Each mode is described in detail below.
On/Off Vale
The An3Aff <alve idle speed control option is the most simple control option included
in the MS/ irmware. It includes the following settings#
ast Idle Temperature ! This is the temperature below which the idle valve is
turned on.
1ort ! This is the output port to which the idle valve is connected.
Co!!on Settings for "ar!u#-onl$ and Closed-loo#
The only common settings betweeen >armup!only and &losed!loop control methods
are the cran5ing position curves#
Co!!on Settings for all P"%-based ales
4ll 1>M!based modes have certain settings which are shared#
<alve mode ! 1ossible Settings#
o *ormal+ 79Goff ! This means that 79 duty turns off the idle valve.
o Inverted+ 8779Goff ! This means that 8779 duty turns off the idle
valve.
Autput 1ort ! 1ossible Settings#
o I$CE ! (se the standard fast idle pin on the main MS v/ board.
o Idle ! (se the fast idle pin on the MS/@ board.
/ wire mode ! This mode is used for three!wire idle valves+ such as those
offered by $enso and "osch.
1ossible Settings#
o Aff ! $o not use / wire mode.
o I$CE ! (se the I$CE port as the second control pin.
o "oost ! (se the "oost control pin as the second control pin.
o <<T ! (se the <<T pin as the second control pin.
<alve requency Selection ! This setting is used to select between 8.;J2=
mode and reduced frequency mode. Some valves will not wor5 at the high
8.;J2= frequency+ and for those it is necessary to use the reduced frequency
mode.
1ossible Settings#
o 8.;J2= ! Set the valve frequency to 8.;J2=
o (se reduced ! (se a reduced frequency. 1ossible requencies are listed
in the reduced frequency item.
Reduced requency ! This setting should be used for those valves that do not
wor5 at the higher 8.;J2= frequency setting.
The following frequencies can be selected#
o ?:72=
o /F72=
o -.72=
o 8F;2=
o 8;.2=
o 8/72=
o 8882=
o F;2=
o :;2=
o ?.2=
o .F2=
o ./2=
o ;F2=
o ;,2=
o ;72=
"ar!u# Onl$ %odes
The >armup Anly options are open!loop modes that set the I4&31>M valve to a
specific position based on the &oolant temperature. The user must set each
temperature and a corresponding valve position in a curve#
4ll warmup!only modes also have the following common setting#
&ran5!to!Run Taper Time ! Time in seconds to go from the cran5 position to
the run position.
The four warmup!only output options are detailed below.
IAC Motor Co&&on Settin"s
The I4& Stepper modes all have several common settings. Those settings are detailed
here.
Time Step Si=e ! This is the number of milliseconds the firmware will wait
between each step. If a valve does not move reliably+ this setting should be
increased.
Minimum K of steps to move ! This is the minimum number of steps the
controlling piece of code has to command before the code that moves the
valve will actually try to move the valve.
Start <alue ! This is the number of steps the valve will move 'in the closing
direction) on boot so that the rest of the code can rely on the start position
being accurate.
IAC (ar&up Movin" !nly
I4& >armup Moving Anly is an open!loop algorithm which sets the valve position
based directly on coolant temperature. Jeep in mind that this mode turns off the valve
between each set of steps. If the valve does not wor5 reliably in this setting+ it may be
necessary to use the 4lways An setting. In addition to the common I4& motor
settings+ this mode also has the following setting#
Initial Time Step Si=e ! This is the number of milliseconds the firmware will
wait after turning on the idle valve before trying to move the pintle.
IAC (ar&up Always !n
This mode is exactly the same as I4& >armup Moving only+ but does not have the
Initial Time Step Si=e setting since it leaves the valve turned on all the time.
)*-&inute IAC
This mode is exactly the same as the other I4& >armup modes+ but leaves the valve
on for 8; minutes after start+ then turns it off.
P(M (ar&up
This mode wor5s functionally the same as the I4& >armup options+ but for a 1>M
valve instead.
Closed-loo# %odes
The MS/ firmware employs a 1I$ '1roportional Integral $erivative) method of
control for controlling idle speed to meet the user!specified target R1M. Target R1M
is specified in a &oolant!temperature!based curve. &ommon settings for all closed!
loop modes as well as options specific to each type of valve are listed below.
Closed Loop Co&&on Settin"s
4 curve for setting the target R1Ms based on coolant temperature is used by all closed
loop idle!speed control modes. 4ll other idle!speed control settings are listed as well#
Settings common between all modes are listed here#
&losed Coop Idle <alve Settings !
o Idle Apen $uty or Apen Steps ! Idle Apen $uty and Idle Apen Steps
perform the same function for 1>M closed loop and I4& closed loop
respectively. They specify the duty or number of steps at which the
idle valve is fully open. This can be set lower than the fully open
position in order to limit the maximum value to which a valve will
open.
o Idle <alve &losed $uty or &losed Steps ! Idle <alve &losed
$uty3Steps specify the duty or number of steps at which the idle valve
is fully closed. This can also be set to the minimum valve position that
the user wants to use for a particular setup.
o $ashpot 4dder 'percent or steps) ! This setting sets the amount that the
valve is opened above the previous 5nown!good valve position
calculated by the 1I$ algorithm when 1I$ control was last engaged.
The dashpot adder is added to the last 5nown!good position each time
throttle is lifted.
o &lose delay ! This setting controls how long in seconds the valve ta5es
to go to the closed position after the throttle is pressed. 4 setting of 7
seconds means do not close the valve.
o Ceave <alve &losed 4bove 'rpm) ! An throttle lift+ leave the idle valve
closed above this R1M. *ote# This setting is only necessary if a close
dela is set since otherwise+ the valve does not close when the throttle
is pressed.
o or this number of seconds ! This setting re!opens the idle valve after
the number of seconds set on throttle lift3shift. or example+ if the
throttle is lifted+ and R1M is above the !eave "alve Closed #bove
setting+ the valve will stay closed until the value set for this setting
expires+ then the valve will open to the previous learned value plus the
dashpot adder. The purpose of this setting in combination of with the
!eave "alve Closed #bove setting is to 5eep the valve closed when
shifting gears+ but open it on longer overrun events.
&losed Coop Idle 1I$ $elays and "ehavior !
o Min duty3steps for 1I$ ! This is the minimum duty that the 1I$ code
will use while engaged.
o R1M with valve closed ! This should be set to the engine%s R1M with
the idle valve closed.
o R1M with valve open ! This should ideally be set to the R1M with the
valve fully open. It can however be set lower than this value to
increase the sensitivity of the 1I$ algorithm.
o 1I$ delay ! This is how long in seconds all other conditions for
entering 1I$ control must be met for before the code will engage 1I$
control.
o &ran5 to run taper ! 2ow long after starting the code will wait to
engage 1I$ control.
o 1I$ ramp to target time ! This setting controls how long after the 1I$
control algorithm engages the code will ta5e to reach the target. The
code starts with an R1M target of whatever the current R1M may be+
and then slowly over the ramp to target seconds reduces the target to
the value set using the target R1M curve. This can be used to help
larger 1!values be used+ ma5ing it easier to tune 1I$ to catch sudden
drops in idle speed.
o 1I$ &ontrol Interval ! This controls how often the 1I$ control code
runs. <alues of 877ms or less will normally give the best control.
<alues that are too long will ma5e the code respond too slowly to
sudden changes in load+ possibly allowing the engine to stall.
o 1I$ disable R1Mdot ! This setting was added specifically for those
who sometimes engage the clutch while rolling to a stop after letting
the 1I$ code engage. Set this setting as low as possible so that when
R1M suddenly 0umps when the clutch is engaged+ 1I$ is disabled and
does not try to close the valve due to the R1M suddenly going up.
&losed Coop Idle 1I$ Bains !
o 1roportional Bain This setting controls the 1roportional Bain of the
1I$ algorithm. Setting this higher will result in a larger immediate
response to changes in R1M. Setting this too high can result in
unwanted oscillation of R1M.
o Integral Bain This setting controls the Integral Bain of the 1I$
algorithm. This is the 1I$ setting used to actually ma5e the R1M meet
the target R1M. Setting it too low will cause the R1M to never reach
the target. Setting this value too high will result in unwanted oscillation
of R1M.
o $erivative Bain This setting controls the $erivative Bain of the 1I$
algorithm. It can be used to help dampen the effects of the 1roportional
and Integral settings. It is usually not necessary for good control of Idle
speed. It is recommended that this is left at 79.
&losed Coop Idle 1I$ 4ctivation Settings !
o (se <SS to activate 1I$ ! This setting controls whether the 1I$
loc5out settings 'detailed later) are used to activate idle speed control+
or if <SS going to 7 M123J12 is used.
1ossible Settings#
Standard
(se <SS
o Idle 4ctivation R1M adder ! This setting controls the R1M below
which the 1I$ algorithm is engaged+ and the R1M above which 1I$ is
disengaged+ and the close taper 'if a &lose delay setting is used+
detailed later) is started. This setting should be set in the -77!/77 rpm
range for best performance.
o Idle 4ctivation T1S threshold ! This setting is the throttle position
below which the 1I$ algorithm is engaged. It is used in con0unction
with the R1M adder to determine whether or not to engage 1I$ control
of the idle valve. This should be set as low as possible to avoid the idle
valve closing when the throttle is pressed.
&losed Coop Idle 1I$ Coc5out $etection ! These settings are used in a
situation where due to uncontrollable factors 'I4T changing+ load at idle
changing while not in 1I$ control+ etc.)+ the R1M gets Dstuc5D above the
target R1M L adder setting+ causing 1I$ not to engage. These settings will
allow this condition to be detected causing the code to enter 1I$ control
anyway.
The following settings control the behavior of 1I$ loc5out detection#
o 1I$ Coc5out rpm$AT threshold ! This setting controls the rate of
change of R1M above which the code will assume that R1M is
actually really changing 'as opposed to R1M changes 0ust being
normal slight 0itter in the engine R1M). Set this 0ust above the
maximum rpm$AT seen when the idle gets stuc5 above the target L
adder threshold. <alues of ;7!:7 are typical.
o 1I$ Coc5out max decel load ! This setting controls the 51a below
which the 1I$ loc5out detection code is disabled. This should be set to
a 51a 0ust under the lowest 51a that is seen during a fast idle.
P(M Closed Loop
This setting applies the above settings to a 1>M Idle valve.
IAC Closed Loop Movin" only
This setting applies the above settings to an I4& motor. In this mode the motor will
only be turned on when it is commanded to move. The I4& motor common settings
from the warmup!only section apply here as well.
IAC Closed Loop Always on
This setting applies the above settings to an I4& motor. In this mode the motor will
be on as long as the MS/ has power. (se this setting if Moving Anly gives unreliable
results. The I4& motor common settings from the warmup!only section apply here as
well.
Tunin" $eco&&endations
"efore trying to tune closed loop idle speed control+ be sure to try tuning warmup
only idle speed control. >ith warmup only control+ a higher step!count or duty should
yield higher R1M. Ma5e sure that this is the case+ and that smooth idle speed can be
attained with warmup only before moving on to closed loop control.
There are two main things to tune when tuning closed!loop idle speed control#
1I$ gains
&onditions for entering 1I$ control
It is recommended that tuning is done in stages. or example+ 1I$ cannot be tuned if
the code is never entering the 1I$ loop. "ecause of this it is a good idea to start by
tuning the conditions for entering 1I$ control.
These settings include#
(se <SS to activate 1I$ ! This ta5es the place of the 1I$ loc5out settings.
Turning this on will ma5e it so that the 1I$ loop activates after the vehicle
speed comes to =ero M123J12.
Idle activation R1M adder ! Set to -77!/77 R1M for best algorithm
performance.
Idle 4ctivation T1S threshold ! Set as low as possible. If the T1S has a bit of
noise+ set it to around 89+ otherwise set it to 7./9!7.;9.
1I$ delay ! This should be set so that the R1M dropping on throttle lift can
come to a rest slightly higher than the target R1M+ and become stable there.
"etween three and five seconds normally wor5s the best.
&ran5 to Run Taper ! This setting controls how long after starting the code
will delay before entering 1I$. "etween three and five seconds wor5s well for
this setting.
1I$ loc5out rpm$AT threshold ! This is the first of the 1I$ loc5out detection
settings. (se this setting so that the code can tell the difference between
decelerating with closed throttle 'engine bra5ing) and sitting at one R1M. Set
this as low as possible without being below what is normal rpm$AT 0itter
with the engine R1M not changing. Typical values will be between ;7 and ?;
R1M3sec.
1I$ loc5out max decel load ! This is the second 1I$ loc5out detection setting.
The code assumes that if M41 is lower than this setting+ the driver must be
decelerating+ and not Dloc5ed outD of the 1I$ loop. Set this to a value 0ust
under the load seen with an idle slightly higher than the current target R1M L
the Idle 4ctivation R1M 4dder. This can be done by temporarily switching to
warmup!only mode or idle test mode+ and setting the valve position manually.
1I$ disable R1Mdot ! 4 good value for this setting will typically be in the
-77!,77 R1M3sec range. If the engine speed suddenly accelerates with no
throttle input 'li5e if the clutch is engaged while the car is rolling and in gear)+
it must accelerate at a rate greater than this setting before the 1I$ code will be
disengaged. Setting this value too high can lead to stalls after engaging the
clutch in this manner.
To tell whether the code is entering 1I$ idle control+ the D&C IdleD indicator in
TunerStudio must be used. If the current gauge cluster in TunerStudio does not
include this indicator+ temporarily switch to a cluster that does.
Most modern AEM cars enter idle speed regulation in a very similar manner. The
MS/ idle speed control algorithm was designed to emulate this behavior. The
sequence of events that the code was designed to follow are listed below#
8. Throttle Cift ! An throttle lift+ the code opens the valve to the value learned in
the last iteration of the 1I$ loop L the dashpot adder. The logic here is that the
last learned value should result in an R1M close to the target R1M. The
dashpot adder is added so that when R1M settles+ it settles to an R1M slightly
higher than the target. This is in case the air conditioning was turned on or
I4T increased or anything else that might ma5e R1M lower than the last time
the 1I$ code ran.
-. R1M settles ! 4fter throttle lift+ eventually the clutch is pushed in and R1M
drops to wherever it will settle given the learned value L the dashpot adder.
2opefully the idle has settled to an R1M that is less than the commanded
target L the Idle 4ctivation R1M adder. I so+ then the code will wait for the
amount of time specified by the 1I$ delay+ and then enter 1I$ control. If R1M
settles above the commanded target L Idle 4ctivation R1M adder+ the code
then starts chec5ing the 1I$ loc5out detection conditions. 4ssuming those
condtions are met+ the code will still enter the 1I$ loop after the amount of
time specified by the 1I$ delay.
/. 1I$ control activates+ R1M starts dropping to target ! 4fter the 1I$ delay
expires+ the 1I$ code will be activated. R1M will slowly drop to the target
over the number of seconds specified by the 1I$ ramp to target time.
,. *ormal idle speed reached ! R1M reaches the commanded target. 1I$
continues regulating R1M until the throttle is pressed.
Ance the code is reliably entering 1I$ on every throttle lift+ it is time to actually tune
the 1I$ code to reach and hold the R1M target.
The settings that are associated with or affect the operation of the 1I$ algorithm are
listed below#
Idle Apen $uty3steps and Idle <alve closed duty3steps ! These should be set to
the minimum and maximum values that should be used during 1I$ loop and
driving operation. In addition+ having these set further apart results in the 1I$
loop being more sensitive 'ma5ing changes to the output given much smaller
changes in input).
Min duty3steps for 1I$ ! This is the lowest duty3number of steps that the 1I$
loop is allowed to command. Set this low enough to result in an R1M slightly
lower than the lowest target R1M.
R1M with valve open3closed ! These should be set to the R1M with the valve
closed and the R1M with the valve opened respectively. If using these settings
ma5es the code unresponsive to changes in idle speed+ the upper R1M value
can be set lower.
1I$ &ontrol Interval ! This controls how often the 1I$ code runs. Setting this
too high can result in sluggish response to sudden changes in load+ such as the
4ir &onditioning being turned on. Setting it too low can result in the loop
being overly sensitive to R1M changes. Typically 877ms wor5s well.
1I$ controller gains ! These control the actual response of the code to changes
in R1M+ as well as how well the code will reach the target. Tips for tuning
these are listed below.
The following basic steps should be used for tuning the 1I$ controller gains#
8. Mero all the gains ! Set all the gains to 79. This is so that the effects of tuning
the I!term in the next step are not confused with the effects of any other
setting.
-. Tune the Integral 'I) gain ! The Integral gain is the only term that controls
whether the code actually reaches its target. 2igher values for Integral gain
will result in the code being able to get closer to the commanded target6
however+ a value that is too high will result in oscillation. The easiest way to
determine a good value for the I term is to 5eep increasing it until oscillation
occurs+ then slightly lower it. If this value is increased to -779 without
reaching a point where oscillation occurs+ then the R1M with valve opened
setting can be decreased as far as necessary+ and the open duty3steps setting
and closed duty3steps setting can be made further apart to ma5e the 1I$ loop
more sensitive.
/. Tune the 1roportional '1) gain ! 4fter tuning the I gain so that the R1M
reaches the commanded target without oscillation+ the 1 gain can be tuned.
The best way to tune this is to set it as high as possible without getting any
oscillation. 4fter setting this+ try turning on the air conditioning or other
accessories that normally lower R1M or increase load. >hen these accessories
are turned on+ the R1M should dip a bit then recover 'the valve position
should increase significantly). (sing longer 1I$ ramp to target times can also
ma5e it so that when the 1I$ algorithm engages+ a higher 1 gain can be set
without causing oscillation.
,. Tune the $erivative '$) gain ! or most users+ use of the $ gain should not be
necessary. It substantially dampens the response of the loop.
Some final tips#
Idle uel Tuning ! "efore even attempting to tune &losed!loop Idle speed
control+ tune the area around idle so that if R1M goes up or down or load goes
up or down+ the 4R stays close to the same value. &hanging 4R can affect
idle speed+ which can then cause the 1I$ code to try to correct+ getting into an
unrecoverable oscillation.
Idle 4dvance ! The idle advance feature can be used to help DcatchD the idle in
situations where heavy load is suddenly added while the engine is idling. It is
recommended that the advance is increased with increasing load+ and
decreased with decreasing load. This way when the air conditioning or electric
fan are turned on+ the sudden increase in load causes a corresponding increase
in timing which generates more power. 4lso+ this feature can be used so that
on idle without load+ slightly less than what would normally be considered
DoptimalD timing can be used. This causes the idle valve to need to open
further to 5eep a particular idle speed. Then when sudden load is added+ the
timing increases and the valve position does not have to change as much to
cope with the sudden load increase.
Idle Advance
The Idle 4dvance feature is useful to fine!tune ignition timing at idle. It is particularly
useful to help catch sudden load increases on the engine at idle by increasing timing
when load increases to help the engine generate more power+ 5eeping R1M from
dropping severely.
Idle Adance Settings
This section describes the Idle 4dvance settings.
Idle advance on
o An ! Turn the idle advance feature on.
o Aff ! Turn the idle advance feature off.
T1S is below '9) ! The T1S must be below this value before idle advance will
engage.
and R1M is below 'rpm) ! The R1M must also be below this value before idle
advance will engage.
and load is above '9) ! The engine load must also be above this value before
idle advance will engage.
and &CT is above 'degrees) ! The engine coolant temperature must also be
above this value before idle advance will engage.
and after delay 'sec) ! 4ll the other conditions must be met for this amount of
time before idle advance will engage.
Idle 4dvance Timing curve ! This is a four!point curve with Coad as the @!
axis and timing as the E!axis. This curve determines the actual timing once the
idle advance feature has engaged.
Idle Adance Tuning
There are two main types of settings to tune for the Idle advance feature#
Idle 4dvance engagement settings ! These settings control the conditions
under which Idle 4dvance will engage.
Idle 4dvance Timing curve ! This curve controls the actual ignition timing
once all the Idle 4dvance engagement conditions have been met.
Tunin" Idle Advance En"a"e&ent Settin"s
The Idle 4dvance engagement settings should be set so that idle advance will engage
in roughly the same conditions that occur during normal+ warmed!up idle.
Settings recommendations#
Bo to idle advance when#
T1S is below ! This setting should be set as low as possible. Typically settings
between 7.;9 and 89 should be used. If numbers that are too low are used+
then idle advance may not engage if there is some play in the throttle body or
there are minor electrical fluctuations that cause the closed T1S 9 to vary. If
numbers that are too high are used+ then idle advance may engage at
undesirable times.
and R1M is below ! This setting should typically be set 0ust above the desired
idle R1M+ and below the lowest R1M at which the driver normally drives in
gear. or example+ if the desired idle R1M is :77+ then a good value for this
setting is 8777.
and load is above ! This setting should be set 0ust below the load value seen
during a normal idle with no load on the engine.
and &CT is above ! This setting should be set to the temperature at which the
engine idle characteristics no longer change. Benerally this is when the engine
is fully warm.
and after delay ! This setting should be set to a value that is long enough for
the engine R1M and load to become stable before idle advance engages.
Tunin" Idle Advance Ti&in"
In general+ the most stable idle is reached by decreasing the idle timing+ and
increasing the amount of air entering the engine 'using an idle air valve or similar). 4s
such the idle advance timing should be as low as possible while retaining a smooth
idle. Since less timing is used during normal idle conditions+ as load increase+ the
timing should also increase to counteract R1M decrease when the load increases.
Boost Control
The MS/ irmware has two algorithms for controlling boost#
Apen!Coop ! Solenoid duty comes from an :x: duty table 'T1SxR1M).
&losed!loop ! 4 1roportional!Integral!$erivative '1I$) loop controls solenoid
duty to match the actual boost to the boost target. 4n :x: target table
'T1SxR1M) or a .!point boost vs vehicle speed curve is used to figure out the
boost target.
In addition to the algorithm selection+ there are several other settings that must be
properly configured in order to use the boost control feature. The full boost control
settings dialog can be found below#
Boost Control Co!!on Settings
This section covers settings that are used by both the open!loop and closed!loop
control algorithms.
"oost &ontrol Enabled ! This controls whether the boost control feature is
enabled or disabled.
"oost &ontrol 1in ! This sets which output pin is used to control the boost
control solenoid. 4vailable options include#
o I4&8
o I4&-
o HS88
o Idle
o 11/
Autput 1olarity ! This is used to set the polarity of the output. Set properly+
lower reported duty should correspond to a more closed wastegate and yield
more boost.
4vailable options include#
o *ormal ! 8779 output pin duty means the wastegate is fully open.
o Inverted ! 79 output pin duty means the wastegate is fully open.
Solenoid requency 'high) ! This setting controls the frequency range of the
valve.
4vailable options include#
o 8.;J2= ! Aperate the solenoid at 8.;J2=.
o (se Reduced ! &hoosing this setting enables the Solenoid requency
'mid) selection 'detailed below).
o Slow ! &hoosing this setting enables the Solenoid requency 'low)
selection 'detailed below).
Solenoid requency 'mid) ! This selection is enabled when D(se ReducedD is
chosen.
4vailable options include#
o ?:72=
o /F72=
o -.72=
o 8F;2=
o 8;.2=
o 8/72=
o 8882=
Solenoid requency 'low) ! This selection is enabled when DSlowD is chosen.
4vailable options include#
o ?:2=
o /F2=
o -.2=
o 8F.;2=
o 8;..2=
o 8/2=
o 88.82=
&ontrol Interval ! This setting is used to control how often the boost control
algorithm runs.
&losed $uty ! This setting controls the lowest allowed reported duty.
*ormally this should be 79.
Apen $uty ! This setting controls the highest allowed reported duty. *ormally
this should be 8779.
Additional Closed-loo# settings
Enabling the closed!loop boost control algorithm enables the following additional
settings#
"oost &ontrol lower limit ! This setting controls the pressure at which the 1I$
algorithm is enabled and starts controlling the boost solenoid 'and therefore
boost pressure).
1roportional Bain ! 1roportional gain affects the strength with which changes
in input immediately affect changes in output.
Integral Bain ! The Integral Bain setting affects the response to continued
difference between the target boost and the actual boost.
$erivative Bain ! The $erivative Bain setting helps to slow down the response
of the 1roportional and Integral gain settings as the target is reached. This
should be used sparingly as it can also completely dampen the other two
Bains.
%iscellaneous Boost Control Configuration
This section covers all remaining boost control settings.
!ver'oost Protection
Averboost protection wor5s similarly to a rev!limiter+ except that it can stop engine
operation when boost exceeds a user!set limit. In addition+ use of the overboost
protection feature is required when using the closed!loop boost control algorithm.
The following settings affect the operation of overboost protection#
Averboost 1rotection !
o *one ! $isables overboost protection.
o uel &ut ! Stops the engine by cutting fuel.
o Spar5 &ut ! Stops the engine by cutting spar5.
o "oth ! Stops the engine using both fuel and spar5 cut.
Maximum "oost ! The maximum boost 'in 51a) at which the engine should be
operated.
2ysteresis ! The amount boost must drop by 'in 51a) after hitting the
maximum boost before fuel or spar5 are restored.
&ut @ spar5s ! &ut this many spar5 events ...
rom E events ! rom this many possible spar5 events.
!ther Boost Control Settin"s
The following settings remain#
"oost Table Switching ! This option when enabled allows a switch input to be
configured which switches between two different boost duty or target tables.
Settings include#
o Aff
o Tableswitch
o 1E73HS?
o 1E8
o HS87
o HS88
o HS;
o HS,
o Caunch in
o $atalog in
"oost Timed rom Caunch ! If launch control is enabled+ this setting allows a
specific boost duty or target to be used for a set amount of time after launch.
Specific Caunch $uty3Target ! If launch control is enabled+ this setting
controls what target 'closed!loop) or duty 'open!loop) is used for boost
control.
Caunch "oost $uty ! This is the duty used by Specific Caunch $uty3Target.
Caunch boost target ! This is the boost target used by Specific Caunch
$uty3Target.
"oost vs speed ! this item enables the use of the boost vs speed curve. It has
the following options#
o Aff
o <SS8
o <SS-
4bove T1S 9 ! This setting is used in con0unction with the "oost vs Speed
function. "elow this T1S setting+ the normal boost tables are used. 4bove this
T1S setting+ the boost vs speed curve is used.
Closed-loo# Tuning Ti#s
This section reviews some tips for tuning closed!loop boost control. Tuning closed!
loop boost control should be done in two steps#
8. Tune open!loop boost control ! In order to ma5e sure that you have the proper
polarity set for your valve+ and to get a feel for the boost that certain duty
cycles yield+ it is recommended that open loop boost control is tuned first.
-. Set (p Averboost 1rotection ! The closed!loop boost control code uses the
maximum boost set in Averboost 1rotection for some of its internal
calculations. This was done purposely so that during the tuning process for
boost control+ if the settings wildly incorrect+ boost will still not climb any
higher than the Averboost 1rotection allows it.
/. Tune 1roportional!Integral!$erivative '1I$) gains ! The 1I$ gains are the
main controls for how quic5ly the boost will reach the target+ and how close it
will remain to the target through the R1M range. Steps for tuning this can be
found below.
Tunin" open-loop 'oost control
Apen!loop boost control tuning is very simple. The main tuning table appears below#
*otice that areas which should have low boost have higher duties. This is because a
higher duty should correspond with a more opened wastegate+ which should
correspond roughly to lower boost. If while tuning open!loop boost+ higher duty
results in higher boost and closed!loop boost control will eventually be used+ toggle
the Autput 1olarity setting to the opposite of its current setting.
To tune the actual boost levels+ 0ust ad0ust the duty table so that boost reaches the
desired level at each point in the table.
(se open!loop boost control to try out different frequency settings and find the
settings that wor5 the best for the particular solenoid being used.
Settin" up !ver'oost Protection
The boost control settings dialog contains the Averboost 1rotection settings. Setting
this ups very similar to setting up a rev!limiter. &hoose from uel &ut or Spar5 cut or
"oth. If the engine being tuned is still equipped with a catalytic converter+ spar5 cut
should not be used.
The maximum boost should be set up a few 51a higher than the maximum target
boost will be in the closed!loop boost target table. 2ysteresis should be set so that
M41 0itter does not cause it to alternate rapidly between on and off.
Tunin" Closed-loop 'oost control
The first step for tuning &losed!loop boost control is to set the desired targets in the
"oost &ontrol Target table. Typically lower throttle positions will have lower boost
targets#
Typically+ the defaults for the following settings can be used#
&ontrol Interval ! The default for this setting is -7 ms. This is typically a good
place to start. Cower settings can be used if overshoot cannot be tuned out
when tuning the 1I$ parameters.
&losed $uty ! 4 closed duty of 79 is the default. This should be tuned to the
value that starts to open the wastegate+ but typically 79 wor5s well.
Apen $uty ! 4n open duty value of 8779 is the default. This should be tuned
to the value that fully opens the wastegate+ but typically 8779 wor5s well.
"oost &ontrol Cower Cimit ! This setting is used to set the pressure at which
1I$ boost control is engaged. The default for this setting is 877. If a faster rise
to target is desired this setting can be set to a higher number+ but the safest
number is 877 since it gives the 1I$ code the most time to react to climbing
boost.
*ATE# The output polarity setting only changes the actual duty on the output.
Regardless of this setting+ the boost control algorithm is designed to operate on the
assumption that more duty G less boost.
The next step after setting up the target table and supporting settings is to tune the 1I$
gains#
8. Set Integral and $ifferential Bains to 79 ! To ma5e tuning the 1roportional
gain easier+ set the Integral and $ifferential gains to 79.
-. Set 1roportional gain to 8779 and slowly lower ! >hile tuning 1roportional
gain+ higher numbers mean slower boost climb and lower final boost. or
safety+ start with a very high gain '8779 should be sufficient). ind the R1M
that typically spools quic5ly+ and fully and quic5ly depress the accelerator.
*ote how much boost is reached. If boost overshoots the target dramatically+
increase the 1roportional gain. Atherwise+ reduce the 1roportional gain and try
again. $o this until boost reaches the target with a small amount of overshoot.
/. Tune the Integral Bain ! The next step after the target is reached consistently is
to tune the Integral gain. Starting from the R1M used to tune the 1!gain+ fully
depress the accelerator and watch the boost as the engine climbs through the
R1M range. 4s the engine accelerates through the rev range+ the boost will
probably creep away from the target. Jeep increasing the I gain until the
controller adequately maintains the target with minimal oscillation. It may be
necessary to increase the 1 gain a bit after tuning the I gain since the two gains
tend to counteract each other.
,. tune the $erivative Bain ! Increase the $ gain until the overshoot is
minimi=ed. &are must be ta5en when increasing the $ gain as too much $
gain can over!dampen the effects of the 1 and I gains.
Staged Injection
Staged in0ection allows the use of one set of small in0ectors for low!load and3or low
R1M operation of the engine with the ability to engage a second set of in0ectors at
higher load and R1M when the primary set of in0ectors would otherwise reach their
maximum operational duty cycle. The MSIII%s staged in0ection function supports
staging equally between the primary in0ectors and secondary in0ectors during staged
operation as well as staging completely to the secondary set of in0ectors.
Staged In&ection Behaior in '#grade %ode
In (pgrade mode+ all primary in0ectors should be connected to in0ector channel 8+ and
all secondary in0ectors should be connected to in0ector channel -.
Staged In&ection Behaior in %S() %ode
In MS/@ mode+ >hen used with a , cylinder 'or less) engine+ The primary in0ectors
are in0ector channels 4 through $+ and the secondaries are channels E through 2+ or
optionally+ the secondaries can be connected non!sequentially to the mainboard
channels 8 and -. If connected to channels 8 and -+ the secondaries will run in D-
squirts alternatingD configuration.
If used with more than , cylinders+ the secondaries will automatically run on the
mainboard channels 8 and - in D- squirts alternatingD configuration.
Staged In&ection Behaior in %S() Se*uential %ode
In MS/@ Sequential mode+ the same output guidelines apply as in MS/@ non!
sequential mode except that in the case that the secondaries can be connected to the
MS/@ outputs+ they run fully sequential+ and if they are connected to the </ board+
they run semi!sequential.
4dditionally+ the Secondar In$ection Timing Table is enabled 'in addition to
the standard in0ection timing table) when using staged in0ection+ so the user must
remember to tune secondary in0ection timing separately from primary in0ection
timing.
Staged In&ection Settings
This section describes the all the settings associated with staged in0ection.
Staged In0ection irst 1arameter ! This setting enables staged in0ection and
sets the primary staging parameter+ which is used to determine when to engage
the secondary in0ectors. This setting includes the following options#
o Aff ! Staging disabled.
o R1M Stage at a specific R1M.
o M41 Stage at a specific M41.
o T1S Stage at a specific throttle position.
o $uty Stage at a specific primary in0ector duty cycle.
o Table Stage based on the table included in the dialog.
or table!based staging+ 79 means not staged at all+ and 8779 means
fully staged. 4nywhere between 79 and 8779 means partially staged.
The firmware calculates the primary and secondary pulse!widths based
on the in0ector si=es specified elsewhere in the dialog.
1rimary In0ector si=e 'cc) ! Si=e of primary in0ectors in cubic centimeters.
Secondary In0ector si=e 'cc) ! Si=e of secondary in0ectors in cubic centimeters.
Transition fully to secondaries ! This setting is used to determine whether the
fully staged state means that the primary and secondary pulse!widths are
equal+ or if the fully staged state means that primaries are shut down
completely and staging transitions fully to the secondary in0ectors. The
following settings are possible#
o Aff ! The fully staged state means that the primary and secondary
in0ector pulse!widths are equal.
o An ! The fully staged state means that the primaries are shut down+ and
staging transitions fully to the secondary in0ectors.
Secondary Autputs ! This setting controls whether the MS/@ outputs are used
for secondaries or the </ board outputs are used. This option is only available
with , or less cylinders. The following options are possible#
o (se MS/x 'if possible) ! (se the MS/x board outputs if it is possible
to do so.
o (se </ ! (se the </ board outputs.
Secondary </ 4lternate ! This setting controls whether the secondaries 'when
using the </ board outputs) alternate between in0ector channel 8 and in0ector
channel -+ or in0ect simultaneously on in0ector channel 8 and in0ector channel
-. The following settings are available#
o 4lternating '- squirts) ! 4lternate between in0ector channel 8 and
in0ector channel -. *ote that when in alternating mode+ the firmware
in0ects - squirts per cycle.
o Simultaneous '8 squirt) ! Squirt fuel on in0ector channel 8 and in0ector
channel - simultaneously. *ote that when in simultaneous mode+ the
firmware in0ects 8 squirt per cycle.
Bradual Transition ! This setting enables the ability to gradually reduce the
pulse width of the primary in0ectors and gradually increase the pulse width of
the secondary in0ectors as staged in0ection engages. This setting is most useful
when the secondary in0ectors are located far away from the primaries on the
inta5e tract. Bradual transition and associated settings are not available when
using table!based staged in0ection. The following settings are available#
o An ! Bradual staging is enabled. The associated settings will be used to
control how quic5ly the secondaries are engaged.
o Aff ! Bradual staging is disabled. >hen staged in0ection engages+ the
pulse width will go immediately to the fully staged width.
Transition events 'ign events) ! This setting is used when Bradual staging is
enabled to determine how many ignition events it will ta5e to go from no
staging to fully staged.
1rimary reduction delay 'ign events) ! This setting is used to delay the
reduction of the primary pulse width by the number of ignition events after the
secondaries start coming online. It is only enabled when the gradual transition
feature is enabled.
Secondary Enrichment 'ms) ! This setting is used to in0ect more fuel on the
secondaries than the fully staged calculation determines. This is useful when
there is a small lean spot 0ust after staged in0ection fully engages. This setting
is only available when the gradual transition feature is enabled.
1rimary staging threshold 'units) ! This setting is used to determine when
staged in0ection engages when using R1M+ M41+ T1S+ or $uty. It is not
available when using table!based staging.
1rimary staging hysteresis ! This setting is used to determine when staged
in0ection shuts off. or example+ if R1M is selected as the staged in0ection first
parameter+ and the primary staging threshold is ,877+ and the primary staging
hysteresis is /77+ then staged in0ection will shut off the secondaries and return
the primaries to their normal pulse width at /:77 rpm. This setting is not
available when using table!based staging.
Second parameter ! This setting is used to add a second method for
determining when to stage. The following settings are available#
o Aff
o R1M
o M41
o T1S
o $uty
*ote that this setting should not be set the same as the first parameter setting.
This setting is not available with table!based staging.
Secondary staging threshold 'units) ! This setting determines the R1M+ M41+
T1S+ or $uty at which the secondary staged parameter allows staged in0ection
to engage. This setting is not available unless a second staging parameter is
enabled.
Secondary staging hysteresis 'units) ! This setting is used with the secondary
staging threshold setting to determine when staged in0ection will shut off. This
setting is not available unless a second staging parameter is enabled.
Secondary staging logic ! This setting is used to determine whether both the
primary and secondary staging parameters must be met to engage staged
in0ection+ or if only one of the parameters must be met. This setting is not
available in table!based staging mode.
Tuning Staged In&ection
It is recommended that on any setup with secondaries placed further up the inta5e
tract than the primaries+ table!based staging is used. It is possible to achieve a much
smoother transition to staged in0ection in all situations when tuning with this method.
Tunin" Ta'le-'ased Sta"ed In+ection
The following tips should be followed when tuning table!based staged in0ection#
R1M and Coad transition bins ! Ma5e the two R1M bins and two Coad bins
where staged in0ection first engages close together. 4lso ma5e the staging
percent 0ump to 87!-79 almost immediately 'as shown in the dialog at the
beginning of the staged in0ection section). This is so that a very small amount
of time is spent with the secondary in0ectors at or near the in0ector opening
time for those in0ectors. Spending a lot of time near the in0ector opening time
can lead to inconsistent fueling+ especially if the secondary in0ector opening
time has not been determined and the default value is being used.
Transition to 8779 engaged ! The transition to 8779 engaged should be
determined using experimentation. In general+ the transition should be set so
that the primaries stay close to their maximum duty cycle ':79 is
recommended) for as long as possible. This ensures that reduction to the
primary pulse!width does not result in a lean situation. The table displayed at
the beginning of the staged in0ection settings section is a good example of how
to tune table!based staging for a smooth transition on a naturally aspirated
engine.
Tunin" All other Sta"ed In+ection Modes
4ll staged in0ection modes that do not use the table to determine the staging amount
can be tuned similarly. The following tips should be used#
1rimary staging parameter ! It is usually recommended that the primary
staging parameter used is $uty. This ensures that staged in0ection engages
when the duty cycle of the primary in0ectors warrants it instead of trying to
guess what R1M or load will cause use of the secondaries to be necessary.
Secondary staging parameter ! It is recommended that this parameter only be
used with forced induction engines. It should be used to ensure that staging is
fully complete before going into boost so that any lean spots caused by staging
are gone.
Bradual transition ! The gradual transition code was introduced to try to solve
the same problems that table!based staging solves. *otably the small lean spot
in 4R briefly after staged in0ection engages. It should be set to transition
over as many ignition events as possible for the smoothest transition. If doing
this still causes a lean spot+ the primary reduction delay can be used along with
the secondary enrichment setting to ma5e sure that slightly more fuel than
calculated using the normal fuel calculations is in0ected. If enabling the
gradual transition feature still does not get rid of the brief lean spot after
staging is engaged+ it is recommended that table!based staging is used.
Introduction
An an engine that is using the M41 sensor 'most installs except pure M4 or pure
4lpha!*) it is important to get a repeatable and stable M41 sensor signal. *ote that
reeata!le is more important than %accurate%.
There are two schemes available
Event 4verage ! the M41 signal is averaged between each ignition event. This
is useful for most engines.
Timed Minimum ! the M41 signal is sampled in a defined sample window
and the minimum reading is used. This is useful mainly on 8+-cyl engines.
Settings
MA" sa#le #et$od ! whether to use the Event Average or Ti#ed Mini#u#
method. >hen Event 4verage is selected+ no other settings on this page are required.
MA" Sa#le %indo& ! how wide the sampling window should be in degrees.
'o( Sa#le Events ! how many windows to ta5e the minimum across. or 8+- cyl ,!
stro5e engines this should typically be set to - ! more details below. or -!sto5es or
larger numbers of cylinders set to 8.
"$ase detect t$res$old ! when using a M41 sensor in place of a &am sensor 'on 8cyl
or <!twin) this is used to detect the inta5e stro5e.
MA" sa#le ti#ing ! this curve sets the start of the sample window in degrees
"T$& for each ignition event. The number must always be less than the number of
degrees per event. '?-7 3 numIcyls for a , stro5e i.e. for ,cyl there are 8:7deg per
event+ for :cyl there are F7deg.)
Event Average
or the ma0ority of engines+ this scheme is proven to give the most consistent results.
The multiple runners and overlapping inta5e events on a multi!cylinder engine lead to
resonance and pulsations in M41 that vary across the R1M range and load. Ta5ing an
average over the cycle side!steps these problems and gives a useable M41 reading for
the fuel calculations and other table loo5ups.
Ance this mode is enabled+ the other settings on the M41 sampling page are not
needed or used.
Ti#ed Mini#u#
or some engines+ particularly 8 and - cylinder four stro5e engines+ where there are
fewer and more intermittent inta5e events it is necessary to specify where M41
sampling will occur in order to get a repeatable reading.
2ere is a M41 log from a 8cyl ,!stro5e engine.
Abserve the large variation in M41 signal during the ?-7 degree cycle. It can be seen
that one M41 window falls on the inta5e stro5e 'where the M41 reaches a minimum)
and the next M41 window is on the power stro5e 'M41 is near atmospheric.)
An this engine it was important to#
Set the appropriate M41 sample angle and window width to capture the dip in
M41
To set *o. Events to -.
The ideal M41 sample angle may either be determined by#
using the M41 logger 'registered TunerStudio only) and opening the datalogs
created in MegaCog<iewer to ensure the M41 window aligns with the dip in
M41
by watching the M41 gauge on the TunerStudio dash and ad0usting the M41
sample angle in 'say) 87 degree steps until the minimum is found.
*ote that on most engines the best sample angle will vary with R1M.
The >indow >idth should be set so that it covers the dip repeatably.
The way the number of events setting wor5s is as follows#
irst ! with *o. Events set to 8.
Event no. Min. M41 in window M41 used for fuelling
8 ?7 ?7
8 F: F:
8 ?7.; ?7.;
8 F: F:
This results in the M41 bouncing around between ?7 and F: resulting in
unpredictable tuning. (sing Event Average would be equally poor.
*ow ! with *o. Events set to -.
Event no. Min. M41 in window M41 used for fuelling
8 ?7 ?7
- F: )*
8 ?7.; ?7.;
- F: )*(+
This gives a more realistic and more repeatable M41 signal and is a good start for
tuning ! the atmospheric readings of F:51a on the %dead% windows are ignored.
The 1hase detect threshold is in use on this particular engine. It allows 8cyl and
certain -cyl engines to run sequential fuel and spar5 without a cam sensor. The
Megasquirt %loo5s% at the M41 signal during the reading and compares it to the
threshold to determine whether this is an inta5e stro5e.
Acceleration Enric$#ent
4cceleration Enrichment is used to ma5e sure the engine has enough fuel during
throttle opening to ma5e the engine accelerate smoothly+ and to ma5e sure the amount
of fuel in0ected during throttle lift is reduced enough to avoid over!rich conditions.
The following sections explain the various types of acceleration enrichment.
Basic Acceleration Enrich!ent Settings
The following includes the basic 4cceleration Enrichment settings#
Cow R1M threshold ! "elow this R1M+ all the standard acceleration
enrichment settings set in the #cceleration %izard are used as is.
2igh R1M threshold ! 4bove this R1M+ standard acceleration enrichment is
scaled out completely. "etween the !ow &P' threshold and the (igh &P'
threshold+ standard acceleration enrichment is scaled down linearly from the
settings listed in the acceleration wi=ard to nothing.
Enhanced 4ccel Enrichment !
o E4E ! This is a inta5e port wall!wetting acceleration enrichment
algorithm. It is the preferred wall!wetting algorithm for use with MS/.
o @!tau ! This is a similar wall!wetting algorithm to E4E. It is included
for those upgrading from the MS-3"NB firmware.
o @!tau with &CT compensation ! This is the same as @!tau+ but with
additional compensation settings for coolant temperature.
Enhanced Acceleration Enrich!ent +EAE,
,ow EAE (or-s
The Enhanced 4cceleration Enrichment feature is based on the concept that the fuel
in0ected does not all enter the engine on every in0ector squirt. Instead+ a portion of the
fuel collects on the port and3or inta5e runner walls. The fuel collected there forms a
puddle+ from which some fuel enters the engine on every inta5e event 'see diagrams
below).
$iagram showing fuel entering puddle here. $iagram showing fuel leaving puddle
here.
$uring steady!state conditions 'such as cruise or idle)+ the amount of fuel entering the
puddle+ the amount of fuel leaving the puddle+ and the amount of each in0ector squirt
going directly into the engine reach a state of equilibrium. 2owever+ during throttle
opening or throttle closing transient conditions+ the amounts of fuel entering the
puddle+ leaving the puddle+ and going directly into the engine change. (ntil
equalibrium is reached again+ the amount of in0ected fuel must change to ensure that
the intended amount of fuel 'from the normal fuel equations and <E table loo5up) still
enters the engine.
$iagrams showing equilibrium+ accel+ and decel here.
The E4E algorithm trac5s the various quantities and ad0usts the amount of fuel
in0ected accordingly+ but does so based on several ad0ustment curves and settings.
These are detailed in the next section.
EAE Curves
The following curves are used to tune E4E#
E4E 4dhere!to!walls coefficient !
This curve determines how much fuel is getting added to the port walls per
in0ection event. It is a percentage 'E!axis) of each in0ection event based on
load '@!axis).
E4E Suc5ed!from!walls coefficient !
This curve determines how much fuel is being suc5ed from the walls on each
inta5e 'valve open) event. It is a percentage 'E!axis) of the total amount of
fuel that has adhered to the walls based on load '@!axis)+ so therefore the
percentages are much smaller 'about 87x smaller) than the #dhere-to-walls
coe))icients.
E4E 4dhere!to!walls R1M correction !
This curve modifies the E#E #dhere-to-walls curve. It allows the amount of
correction specified by the E#E #dhere-to-walls curve to be increased or
decreased based on R1M.
E4E Suc5ed!from!walls R1M correction !
This curve modifies the E#E Suc*ed-)rom-walls curve. It allows the amount
of correction specified by the E#E Suc*ed-)rom-walls curve to be increased
or decreased based on R1M.
E4E 4dhere!to!walls &CT correction !
This curve modifies the E#E #dhere-to-walls curve. It allows the amount of
correction specified by the E#E #dhere-to-walls curve to be increased or
decreased based on coolant temperature.
E4E Suc5ed!from!walls &CT correction !
This curve modifies the E#E Suc*ed-)rom-walls curve. It allows the amount
of correction specified by the E#E Suc*ed-)rom-walls curve to be increased
or decreased based on coolant temperature.
Tunin" EAE
Since E4E%s main purpose is to ensure that the proper amount of fuel specified by the
<E table 'and other enrichments) actually gets into the engine+ it is essential that the
<E table as close as possible to correct before tuning E4E.
Since E4E must trac5 the amount of fuel collected on the port walls in order to
function+ it is also necessary for E4E to be enabled at all times.
The following procedure should be followed to tune E4E#
8. Tune <E+ >armup enrichments+ and all other fuel!related features.
-. Turn off normal 4cceleration enrichment by setting the T1Sdot and M41dot
thresholds to extremely high numbers.
/. Ma5e sure that the <E table covers all the way down to &ran5ing R1M and to
extremely low 51a values.
,. Enable E4E in the #cceleration Enrichment dialog box.
;. >ith the engine at a steady R1M in a high gear+ step on the throttle SCA>CE+
and note the response feel and the 4R.
.. 4t the same R1M+ lift off the throttle+ and note the response feel and the 4R.
?. Tune the E#E #dhere-to-walls curve and E#E Suc*ed-)rom-walls curve
until 4R and response are smooth and stable.
:. Ma5e sure that the throttle movements used are small and slow+ allowing the
4R to reach steady!state before moving the throttle again. Ma5e sure that the
whole load range is covered+ and that every load seen during engine operation
is covered by each of the curves.
F. &hoose a few other R1M ranges+ and slowly step on and release the throttle.
Tune the E#E #dhere-to-walls &P' correction and E#E Suc*ed-)rom-
walls &P' correction curves until the response and 4R are correct at the
R1Ms chosen. Typically Idle and high cruise R1Ms should be chosen. 2igh
cruise R1Ms for example are when speed is maintained but the gear selection
is reduced by one or two gears.
87. Shut off the engine+ and allow it to cool completely. Start the engine6 as the
coolant temperature increases+ ad0ust the E#E #dhere-to-walls C!T
correction and E#E Suc*ed-)rom-walls C!T correction curves so that
response and 4R are stable.
88. Ance small+ slow throttle movements are tuned+ larger ones can be verified+ as
well as normal driving with gear shifts
8-. inally+ try to quic5ly blip the throttle while free!revving. If response is slower
than desired+ a very small amount of T1Sdot or M41dot acceleration
enrichment may be re!enabled. Ta5e care to only use it for high T1Sdot values
and use very little. Hust enough to get E4E to respond is all that is required.
The following table explains what corrective actions to ta5e depending on whether the
engine goes lean or rich in specific situations#

Você também pode gostar