Pages: [1]
Author Topic: Pre-control in LDRPID for noob  (Read 2045 times)
M.Mischler
Full Member
***

Karma: +0/-0
Online Online

Posts: 52


« on: November 08, 2023, 02:11:22 AM »

Hi

My goals:
  • - To understand the use of pre-control in LDRPID

I refer to the thread Actual pre-control in LDRPID.

Threads already read:

you don't need all that wastegate actuator linearization bullshit

...You will still need to do the linearization runs, but you will have just one map...


Does this mean that the rows of KFLDRL (for example, the row for 3000 rpm) have not been linearized (in contrast to elRey's example PID contoller calibration from square one)?



If so, how are the values for the cells of KFLDRL calculated?

In the example of prj, 40% duty cycle corresponds to 444 mBar. Does this mean that each duty cycle value from the "40" column of the "KFLDRL" map results in a boost pressure of 444 mBar being generated at each engine speed?
« Last Edit: November 08, 2023, 08:43:44 AM by M.Mischler » Logged
zCruuz
Full Member
***

Karma: +7/-0
Offline Offline

Posts: 80


« Reply #1 on: November 09, 2023, 01:05:01 AM »



Does this mean that the rows of KFLDRL (for example, the row for 3000 rpm) have not been linearized (in contrast to elRey's example
In the example of prj, 40% duty cycle corresponds to 444 mBar. Does this mean that each duty cycle value from the "40" column of the "KFLDRL" map results in a boost pressure of 444 mBar being generated at each engine speed?


No as you correctly stated the axis is in mbar since IMX is completely linear and translates DC to pressure. So KFLDRL is used for "we got 3000 rpm and want 444 mbar boost so we need 62.54% dc"

The link of 40% equaling 444mbar or 60% equals 667mbar is made through the IMX axis being maxed at 1000mbar.
         -->So in the example it is (1000mbar/90%)=(X/40%) if we now solve this equation we get 421mbar, for 60% we get 666.666667mbar.


If so, how are the values for the cells of KFLDRL calculated?


In my knowledge there are two programms that can do the calculations for you.
For both you need some sets of logs, ranging from 0-95% duty cycle via KFLDRAPP and CWMDAPP=8.
Make sure when doing this, to request enough load etc.

CWMDAPP( 8 ) does indeed disable whole PID which you should use for a fixed wgdc run , but however it doesnt disable all the other components, so you can have issues with requested boost, underboost and overboost and you get throttle cut,  even if you are only doing a test. Its pretty funky.

One located in the Visualme7logger files. Not sure which post this originates from, but iirc it uses prj's method so u put in your logs, a linear DIMX and it generates KFLDRL
https://github.com/sbloom82/VisualME7Logger

And the other one in KalebKEs ME7Tuner Tool, who clearly states he uses elreys algo and chooses the axis itself. For me it was neccessary to run every map calc with a "trash" file to get it calculate PID properly. Without the calcs where funky even though using the same logs.
https://github.com/KalebKE/ME7Tuner
Logged
M.Mischler
Full Member
***

Karma: +0/-0
Online Online

Posts: 52


« Reply #2 on: November 13, 2023, 09:50:49 AM »

Hello zCruuz

Thank you very much for taking time to answer me. Smiley

No as you correctly stated...

I quess with "no" you mean, "no, there is no need to linearize the rows of KFLDRL", right?

...in the example it is (1000mbar/90%)=(X/40%) if we now solve this equation we get 421mbar...
I think that's a typo and you mean 444mBar, right?
« Last Edit: November 13, 2023, 12:53:14 PM by M.Mischler » Logged
M.Mischler
Full Member
***

Karma: +0/-0
Online Online

Posts: 52


« Reply #3 on: November 13, 2023, 12:52:21 PM »

Make sure when doing this, to request enough load

Do you mean because otherwise the ECU starts to close the throttle plate when EngineLoad (rl_w) is greater than EngineLoadRequested (rlsol_w)?
Logged
zCruuz
Full Member
***

Karma: +7/-0
Offline Offline

Posts: 80


« Reply #4 on: November 13, 2023, 02:10:50 PM »


I quess with "no" you mean, "no, there is no need to linearize the rows of KFLDRL", right?
We need to clarify, that linearization corresponds to prj's "pre-control LDRPID" and stop mixing elreys method etc. in here.
Ignore that LDRL is called "map for linearization". IMX will be linear, so LDRL needs to be a map that tells the ecu at a given rpm which dc is needed to get the requested boost.


I think that's a typo and you mean 444mBar, right?
Kind of, my calcs where first done with 95% max dc from IMX, noticed the mistake but seems i didn't correct all values.

Do you mean because otherwise the ECU starts to close the throttle plate when EngineLoad (rl_w) is greater than EngineLoadRequested (rlsol_w)?

Can't remember what happened back then, just that my N75 was defective. Now i just move requested out of the way if i do PID logs and everything works as it should.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.019 seconds with 16 queries. (Pretty URLs adds 0s, 0q)