Author Topic: what is IAC int, IAC IE, IAC PE, IAC Target RPM  (Read 6168 times)

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
what is IAC int, IAC IE, IAC PE, IAC Target RPM
« on: November 12, 2013, 03:45:56 pm »
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.

Offline VEMS

  • Administrator
  • Sr. Member
  • *****
  • Posts: 487
  • BHP: 22
Re: what is IAC int, IAC IE, IAC PE, IAC Target RPM
« Reply #1 on: November 13, 2013, 10:41:19 am »
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

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: what is IAC int, IAC IE, IAC PE, IAC Target RPM
« Reply #2 on: November 14, 2013, 10:11:15 am »
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


Offline VEMS

  • Administrator
  • Sr. Member
  • *****
  • Posts: 487
  • BHP: 22
Re: what is IAC int, IAC IE, IAC PE, IAC Target RPM
« Reply #3 on: November 14, 2013, 11:28:22 am »
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