News:

When asking for technical help at the very least let us know the version of firmware you are running.
Cliff's Calibration (Mapping) Guide is a MUST READ: http://www.vemssupport.com/forum/index.php/topic,97.0.html

Main Menu

what is IAC int, IAC IE, IAC PE, IAC Target RPM

Started by fphil, November 12, 2013, 03:45:56 PM

Previous topic - Next topic

fphil

Does someone knows how are computed and following which logical rules the values for
IAC Target RPM, IAC PE, IAC IE, IAC int ?

The more I look at them on log Viewer graphics, the more it is puzzling.

I already know that
- IAC target RPM is a value somewhere in the middle of the actual rpm and the rpm target, but on which condition it starts to be computed, whent does it stops, etc ?

- IAC Int is of course the value of some integral term, how is it initialized.,reinitialized, kept at a constant value, how is it calculated, applied to the IAC DC etc ..?

- as for IAC IE and IAC PE, I have searched for the meaning several times, I found nothing yet.

The IAC PID rules extend probably on 2 or 3 pages  :), but any short hint could be helpful. Or to be more efficient , can one get in touch with the programmer of the code of that function.

VEMS

Phil,


I have made models or the various PID actions for easier iac PID action review, it is possible to log ref table, ref+P, ref+I, ref+PI, ref+PD and ref+PID as separate channels in log viewer

This will make PID tuning a lot easier in the furture. If running 1.2.15 or up firmware these channels are already available to you just not assigned to descriptor (but you can add these manually).
variable names (iac_refPos, iac_refPos_P, iac_refPos_I etc.). In an upcoming VemsTune release the channel descriptors we be added as default.

Best regards,


Dave

fphil

Thanks for your answer.

What are "ref" and "ref table"? Are they equivalent to IAC_Position, iac_refposition, IAC_RefDC, that is the RefDC value defined by IAC reference curve ?

I understand that this value is a feedforward/openloop term. Then ref+PID should be  the total action (open loop +close loop) of the controller and would be shown by the channel  "IAC Duty Cycle". Right?

Why not to shorter all these names in order to simply have
   IAC= IAC_Ref+IAC_PID
which seems more readable.

It should  be nice to explain how IAC_PID, which is IAC_P + IAC_I + IAC_D, is computed.
In paticularily for IAC_I for which (re) initialization and saturation is a concern, and IAC_D in that case of a moving target


VEMS

The variable assignments to readable name are still pending, this happens in a different part.

Refpos is combined reference position action matching the actual ecu output without the PID part (so open-loop controller correct).

With the new calc model additions you can log all PID actions separately, output of P, I, D controller as separate channels as well as channels which are combined:

   iac_refPos_P = { iac_refPos + iac_P_effect }
   iac_refPos_I = { iac_refPos + iac_integral_effect }
   iac_refPos_PI = { iac_refPos + iac_P_effect + iac_integral_effect }
   iac_refPos_PD = { iac_refPos + iac_P_effect + iac_D_effect }
   iac_refPos_PID = { iac_refPos + iac_P_effect + iac_integral_effect + iac_D_effect }

When all is well calculated channel iac_refPos_PID should match the realtime channel (reported by ecu) of iac Position.
More documentation will be made available when completed.

Best regards, Dave