Sunday, July 31, 2016

Closed Loop Idle REV 2.2

Closed Loop Idle REV 2.2

Overview
CLI is intended to help keep steady idle when the load on the engine change, load change can come from: AC compressor,  power steering, fans, lights and electric load in general.
High or low CLT and MAT can change the idle behavior too.

CLI control the idle valve which is an air valve that bypass the throttle.

After some time you run open-loop (PWM-Warmup) and all is good, meaning the idle valve is operational and you can get a relatively good idle and AFR, it is time to try CLI.

Let's dive in, put your swimsuit on.

Closed Loop Idle 

CLI is dynamic air correction mechanism using PWM-idle air valve.

PWM-idle air valve allow air in the engine when the throttle is closed (when the gas paddle is lifted).

CLI will automatically control the PWM-idle air valve in order to sustain steady idle.

Change "Algorithm" to "Closed-loop"




Main CLI menu:


CLI behevuier is consisted of CLI and OLI(open loop idle) operation, when CLI Activation Settings are not met, the ECU will follow OLI settings.
"Closed-Loop Idle Valve Settings" are OLI when CLI Activation Settings are not met.

So, in "Closed Loop Idle" settings, you define IAC(idle air control valve) behavior when in open-loop (PID disabled) and for closed-loop (PID enabled).

The other three PID menus define the delay, behavior and activation values for PID operation.
We start at the first sub menu:

Closed Loop Idle Valve setting:
Idle Valve Close Duty(%): Remember "Output Test mode - Idle Valve" ? put the value you've found, here.
(max closed %)
Idle Valve Open Duty(%): same as above (max opened %)
Dahspot Adder(%): The amount of valve % to add when throttle is lifted. (getting ready for idle rpm)
Dahspot Decay Factor(sec?): How long will it take the adder above to decline to 0 - leaving CLI to follow regular CLITR (Closed Loop Idle Target RPM)
Use Last Value Or Table: "Use initial value table" the other option "use last value" did not work good for me.
Use CLT Or MAT In Table Lookup: I use MAT
Close Delay(s): How long will it take the valve to close when throttle is pressed.
Shift Settings
This settings help the ECU tell when you are just shifting gears or not.
Shifting gears means the ECU does not need to start preparing to idle the engine.
If the situation is not shifting gears then the ECU needs to start preparing to idle the engine.
When you press the clutch, not in order to shift gears, that is when the ECU needs to prepare for idle, meaning, set the IAC at a preset % in order to "catch" the falling RPM.
K ?
Leave Valve Closed Above(rpm): Here you to tell the ECU above what RPM the IAC stay closed, if you change gears then there is no need for the IAC to open.
For This Number Of Seconds(s): This will tell the ECU what is the max time to consider "shifting gears", if throttle pedal is lifted for more then the time set, consider the situation "not shifting gears" - prepare to idle - get ready to catch the falling (fast) RPM - set the IAC at the preset % from "Closed-Loop Idle Initial Values" table.



Next sub-menu:

Closed-Loop Idle PID Delays And Behavior
PID Delay(s): tool tip
Crank To Run Taper(s): How long to keep following  "Idle Cranking Duty/Steps" curve after engine start
PID Ramp To Target Time(s):  tool tip
PID Control Interval(ms): tool tip
PID Disable RPMdot: tool tip

Closed-Loop Idle PID Activation Settings
Idle Activation TPS Threshold(%): highest TPS that allow PID activation.
RPMdot Thershold(rpm/sec): RPM change speed, how fast the rpm change, close to idle or in idle it will be slow (30rpm/sec is slow)
Max Decel Load(%): Lowest MAP that allow PID activation, should be a little below idle MAP.
PID Lockout On Switch Active: If clutch switch is present you can use it here as CLI activator.
PID RPM Window Size (1=Off): tool tip(?)

Closed Loop Idle PID Gains
tool tips

Settings and settings...., let's talk about the whole CLI concept and what happens when.

When I was tuned to run PWM-Warmup (open-loop idle) I had the IAC set to a specific (low) value for idle.

Goods:
- Easy to set up
- Works (sometimes)

Bads:
- Not dynamic - when load at idle is represented to the system the idle rpm will drop and may even stall, same with low\high CLT and MAT it would not "care", it would just do the same (same IAC %) leading to oscillation, too low or too high idle.
- When the throttle is lifted and the clutch is pressed, the rpm run down pretty fast, the static IAC % will not be enough to "hold" and "stop" the rpm from taking a deep dive below desired idle...


CLI - what happen when.
The first trigger that will make MS look into this menu and check what to do is: throttle lift.
When you lift your feet from the throttle, MS is checking to see if you are just changing gears  (Shift Settings: For This Number Of Seconds(s) value) or not  (Shift Settings: For This Number Of Seconds(s) value) and  what IAC % to use in order to give the rpm a "soft" landing just before (Closed-Loop Idle Initial Values+Dashpot Adder) idle (PID idle).

Ok ?

MS will find the answer in "Closed-Loop Idle Initial Values" - meaning, what IAC % @ what MAT/RPM.
I will address this table in a sec.

MS checks the MAT and then looks at CLITR (Closed-Loop Target RPM) to know what IAC % to use.

So, now the IAC is standing by opened, rpm is decreasing, MS checks for  Closed-Loop Idle PID Activation Settings, TPS is good, RPMdot will be good when the rpm will get close to idle range and Max decel Load will be here when the rpm has "landed" and  the engine is close to normal idle MAP (around 30kpa).

NOW ! PID takes control of the rpm following Closed Loop Idle PID Gains as behavior guidelines.

k ?

1. Throttle lifted
2. Not changing gears.
3. Set IAC % for RPM soft "landing"
4. RPM "landed"
5. PID conditions are met
6. PID controls idle
7. Throttle pressed
8. PID disabled
9. IAC closed

Good ? more details ? k !

1. TPS < 1%
2. "Shift Settings: For This Number Of Seconds:(s)" > value
3. IAC % = "Closed-Loop Idle Initial Values" table + Dashpot Adder.
4. Dashpot Decay Factor
5. PID conditions are met
6, PID controls idle
7. Throttle pressed
8. PID disabled
9. IAC closed



Closed-Loop Idle Initial Values:
You can start tuning this table by finding the IAC % / RPM correlation @ a specific MAT.

Run "Output Test Mode - Idle Valve" and find what IAC % will give you what RPM, at what MAT.



Lets say your MAT is 45C and you've found that 37% will set you @ 950RPM, write it down.

Now find what IAC % for 850,900,1000,1200, if the MAT changes, write down @ what MAT what IAC % for what specific RPM.

You should find something like that (for NA):
MAT @ 45C

850RPM @ 33%
900RPM @ 35%
950RPM @ 37%
1000RPM @ 40%
1200RPM @ 54%

Now put it all in the table and add one or two % across the board.


Now your 45C row is correct, higher MAT will need more % and lower MAT will need less %.

This is a very good start, drive around with this table and after a while you will notice the % change you need to make for higher/lower MAT.

Have fun :)


MegaLog Viewer - MLV
If you want to check CLI status in MLV - if MS is in CLI or not, you can choose "status2", when it is 0 CLI is off, when it is 128 CLI is on.


When status2=128 it means that PID is enabled ! 
The whole IAC % landing the rpm is happening before that (every time you lift your feet from the throttle), so you can see in the log that the IAC% is up and status2=0 this is because PID is not active yet, but the IAC % is ready for the rpm...

k ?

Tuner studio
You can add a CLI indicator to TS - just remember it is just the PID activation indicator !





Monday, July 4, 2016

Closed Loop Idle REV 2.1

Closed Loop Idle REV 2.1

Overview
CLI is intended to help keep steady idle when the load on the engine change, load change can come from: AC compressor,  power steering, fans, lights and electric load in general.
High or low CLT and MAT can change the idle behavior too.

CLI control the idle valve which is an air valve that bypass the throttle.

After some time you run open-loop (PWM-Warmup) and all is good, meaning the idle valve is operational and you can get a relatively good idle and AFR, it is time to try CLI.

Let's dive in, put your swimsuit on.

Closed Loop Idle 

CLI is dynamic air correction mechanism using PWM-idle air valve.

PWM-idle air valve allow air in the engine when the throttle is closed (when the gas paddle is lifted).

CLI will automatically control the PWM-idle air valve in order to sustain steady idle.

Change "Algorithm" to "Closed-loop"




Main CLI menu:


CLI behevuier is consisted of CLI and OLI(open loop idle) operation, when CLI Activation Settings are not met, the ECU will follow OLI settings.
"Closed-Loop Idle Valve Settings" are OLI when CLI Activation Settings are not met.

So, in "Closed Loop Idle" settings, you define IAC(idle air control valve) behavior when in open-loop (PID disabled) and for closed-loop (PID enabled).

The other three PID menus define the delay, behavior and activation values for PID operation.
We start at the first sub menu:

Closed Loop Idle Valve setting:
Idle Valve Close Duty(%): Remember "Output Test mode - Idle Valve" ? put the value you've found, here.
(max closed %)
Idle Valve Open Duty(%): same as above (max opened %)
Dahspot Adder(%): The amount of valve % to add when throttle is lifted. (getting ready for idle rpm)
Dahspot Decay Factor(sec?): How long will it take the adder above to decline to 0 - leaving CLI to follow regular CLITR (Closed Loop Idle Target RPM)
Use Last Value Or Table: "Use initial value table" the other option "use last value" did not work good for me.
Use CLT Or MAT In Table Lookup: I use MAT
Close Delay(s): How long will it take the valve to close when throttle is pressed.
Shift Settings
This settings help the ECU tell when you are just shifting gears or not.
Shifting gears means the ECU does not need to start preparing to idle the engine.
If the situation is not shifting gears then the ECU needs to start preparing to idle the engine.
When you press the clutch, not in order to shift gears, that is when the ECU needs to prepare for idle, meaning, set the IAC at a preset % in order to "catch" the falling RPM.
K ?
Leave Valve Closed Above(rpm): Here you to tell the ECU above what RPM the IAC stay closed, if you change gears then there is no need for the IAC to open.
For This Number Of Seconds(s): This will tell the ECU what is the max time to consider "shifting gears", if throttle pedal is lifted for more then the time set, consider the situation "not shifting gears" - prepare to idle - get ready to catch the falling (fast) RPM - set the IAC at the preset % from "Closed-Loop Idle Initial Values" table.



Next sub-menu:

Closed-Loop Idle PID Delays And Behavior
PID Delay(s): tool tip
Crank To Run Taper(s): How long to keep following  "Idle Cranking Duty/Steps" curve after engine start
PID Ramp To Target Time(s):  tool tip
PID Control Interval(ms): tool tip
PID Disable RPMdot: tool tip

Closed-Loop Idle PID Activation Settings
Idle Activation TPS Threshold(%): highest TPS that allow PID activation.
RPMdot Thershold(rpm/sec): RPM change speed, how fast the rpm change, close to idle or in idle it will be slow (30rpm/sec is slow)
Max Decel Load(%): Lowest MAP that allow PID activation, should be a little below idle MAP.
PID Lockout On Switch Active: If clutch switch is present you can use it here as CLI activator.
PID RPM Window Size (1=Off): tool tip(?)

Closed Loop Idle PID Gains
tool tips

Settings and settings...., let's talk about the whole CLI concept and what happens when.

When I was tuned to run PWM-Warmup (open-loop idle) I had the IAC set to a specific (low) value for idle.

Goods:
- Easy to set up
- Works (sometimes)

Bads:
- Not dynamic - when load at idle is represented to the system the idle rpm will drop and may even stall, same with low\high CLT and MAT it would not "care", it would just do the same (same IAC %) leading to oscillation, too low or too high idle.
- When the throttle is lifted and the clutch is pressed, the rpm run down pretty fast, the static IAC % will not be enough to "hold" and "stop" the rpm from taking a deep dive below desired idle...


CLI - what happen when.
The first trigger that will make MS look into this menu and check what to do is: throttle lift.
When you lift your feet from the throttle, MS is checking to see if you are just changing gears  (Shift Settings: For This Number Of Seconds(s) value) or not  (Shift Settings: For This Number Of Seconds(s) value) and  what IAC % to use in order to give the rpm a "soft" landing just before (Closed-Loop Idle Initial Values+Dashpot Adder) idle (PID idle).

Ok ?

MS will find the answer in "Closed-Loop Idle Initial Values" - meaning, what IAC % @ what MAT/RPM.
I will address this table in a sec.

MS checks the MAT and then looks at CLITR (Closed-Loop Target RPM) to know what IAC % to use.

So, now the IAC is standing by opened, rpm is decreasing, MS checks for  Closed-Loop Idle PID Activation Settings, TPS is good, RPMdot will be good when the rpm will get close to idle range and Max decel Load will be here when the rpm has "landed" and  the engine is close to normal idle MAP (around 30kpa).

NOW ! PID takes control of the rpm following Closed Loop Idle PID Gains as behavior guidelines.

k ?

1. Throttle lifted
2. Not changing gears.
3. Set IAC % for RPM soft "landing"
4. RPM "landed"
5. PID conditions are met
6. PID controls idle
7. Throttle pressed
8. PID disabled
9. IAC closed

Good ? more details ? k !

1. TPS < 1%
2. "Shift Settings: For This Number Of Seconds:(s)" > value
3. IAC % = "Closed-Loop Idle Initial Values" table + Dashpot Adder.
4. Dashpot Decay Factor
5. PID conditions are met
6, PID controls idle
7. Throttle pressed
8. PID disabled
9. IAC closed



Closed-Loop Idle Initial Values:
This is the default map values, it is good to start with, I think it will give a little high initial idle but it is great to start with.
After you see/feel that CLI is working, you can tune this little map.




How to tune it ?

Start with 40% in all cells, and keep in mind that low MAT will need less % and high MAT will need more %.

Tune it !

MegaLog Viewer - MLV
If you want to check CLI status in MLV - if MS is in CLI or not, you can choose "status2", when it is 0 CLI is off, when it is 128 CLI is on.


When status2=128 it means that PID is enabled ! 
The whole IAC % landing the rpm is happening before that (every time you lift your feet from the throttle), so you can see in the log that the IAC% is up and status2=0 this is because PID is not active yet, but the IAC % is ready for the rpm...

k ?

Tuner studio
You can add a CLI indicator to TS - just remember it is just the PID activation indicator !




More REV2 to come....