Pages: 1 ... 7 8 [9] 10
Author Topic: PID contoller calibration from square one  (Read 134427 times)
Nottingham
Full Member
***

Karma: +13/-1
Offline Offline

Posts: 204


« Reply #120 on: November 27, 2015, 12:58:55 AM »

[editors note] ugh sorry nottingham I accidentally edited your post instead of following up

sorry sorry Sad

I can't recover the content - nyet
« Last Edit: November 27, 2015, 02:03:57 AM by nyet » Logged
nyet
Administrator
Hero Member
*****

Karma: +604/-166
Offline Offline

Posts: 12232


WWW
« Reply #121 on: November 27, 2015, 02:04:15 AM »

IMO you need two things:

1) Flat request during spool for good amount of time before expected peak boost.

2) More Q2 for large lde (1 is required so dlde/dt is large throughout spool).

Just my 2 cents. May or may not work.

The ME7 PID really needs a parallel feedforward - so in that sense, the i-limit sort of provides that purpose, since during spool, enough I should have accumulated that it rides the limit, which ends up being somewhat similar to feed forward.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #122 on: November 27, 2015, 05:00:39 AM »

This is a graph of:

lditv_w (LDR, duty cycle from the I-regulator)
ldptv_w (LDR, duty cycle from the P-regulator)
ldrdtv_w (LDR, duty cycle from the D-regulator)

and

ldtv_w (LDR duty)


You can see the contribution from D is negative just before the steady state (~ 3000 rpm). Once steady state is reached, then D is set to zero (that’s hardcoded in). D acts to reduce the output –> the output is (P) + (I) + (-D). Once you remove D, you remove its negative contribution to the output and so the output increases again.

If you have a large D (big negative contribution), yes it will make the output smaller, but once it goes into steady state and D is zero the output jumps back up again if I is significantly large. That’s why you want to have a look at the other terms. If I was a bit less when D is removed, you wouldn’t such a big jump.



Logged
elRey
Hero Member
*****

Karma: +31/-1
Offline Offline

Posts: 565


« Reply #123 on: November 27, 2015, 05:40:57 AM »

Meaning substracting the "offset" from DIMX?
Sure, but it won´t solve the issues with PID which is causing the spikes in duty.

Also I´m not sure if substracting a constant offset is wise, even if it provides the correct I-limit.
There are environment variables which can change the offset too, such as tans (in LDIATA).
Also I haven´t logged ldimxak_w so I don´t know if it´s contents are fixed or not. Looking at the inputs of BBLDRPID they are not.


Along with the subtraction of the OFFSET, here's a couple more tips...

Don't just subtract OFFSET from KFLDIMX globally. That would result in no nodes equaling max duty. You want to be smart about applying offset to only the non-maxed nodes and max nodes adjacent to non-max nodes if needed.

Increase the last axis node of KFDRL duty axis to reflect your max duty if greater than stock 95%.

Log your max duty until max safe boost is reached. Then project that max duty boost profile down to each the non 0%, lower duty vs boost profile BEFORE each profile's peak boost. As each profile between 0% and max % should match max % profile up to that profile's peak boost. Then leave the rest of the profile alone. This will simulate ECU holding max duty until target boost is reached.

If you logged the OFFSET in the same conditions as boost vs duty, then you don't have to worry about environment variables changing offset.
Logged
prj
Hero Member
*****

Karma: +903/-420
Offline Offline

Posts: 5787


« Reply #124 on: November 27, 2015, 07:32:02 AM »


If you logged the OFFSET in the same conditions as boost vs duty, then you don't have to worry about environment variables changing offset.

Irrelevant.

Correct way is to zero all the offset tables when tuning the boost pid, record the environmental conditions and when you are done tuning fill the offset tables with reasonable values!
Logged

PM's will not be answered, so don't even try.
Log your car properly.
elRey
Hero Member
*****

Karma: +31/-1
Offline Offline

Posts: 565


« Reply #125 on: November 27, 2015, 08:43:46 AM »

Why don't we zero every f'ing table, put the car on a environement controlled dyno and spend weeks, or months recalibrating the whole ecu from scratch?

Get real.
Logged
Nottingham
Full Member
***

Karma: +13/-1
Offline Offline

Posts: 204


« Reply #126 on: November 27, 2015, 08:55:23 AM »

I restored KFLDRQ0 to the same level as it was previously, and increased KFLDRQ2 in the region where the turbo starts to spool and reaches the maximum spool.
It dulled the spike in ldtv significantly, however the spike is still there. I logged ldptv, ldrdtv and lditv this time instead of the raw ldrk? values.
To be honest, trying to understand PID even remotely is probably the hardest thing I´ve ever done. I have no idea what I am doing, obviously Roll Eyes

I would assume ldrdtv isn´t suppose to look like that...




Logged
prj
Hero Member
*****

Karma: +903/-420
Offline Offline

Posts: 5787


« Reply #127 on: November 27, 2015, 05:31:28 PM »

Why don't we zero every f'ing table, put the car on a environement controlled dyno and spend weeks, or months recalibrating the whole ecu from scratch?

Get real.

Ignorance is bliss. Calibrating ME7/MED9 PID from scratch with adaptations and corrections active is a sure way to disaster.
Zero all offsets and then re-populate based on the pre-populated maps, but choosing your current conditions at zero point. You are not throwing away any data, just making life a lot easier.
ldimxak_w should be zero all the time during calibration regardless and unless you really know what you are doing and know how to adjust it and it's adaptation points, should never be enabled at all.
I am done on this subject - if you do not understand what I am saying, then so be it.

I restored KFLDRQ0 to the same level as it was previously, and increased KFLDRQ2 in the region where the turbo starts to spool and reaches the maximum spool.
It dulled the spike in ldtv significantly, however the spike is still there. I logged ldptv, ldrdtv and lditv this time instead of the raw ldrk? values.
To be honest, trying to understand PID even remotely is probably the hardest thing I´ve ever done. I have no idea what I am doing, obviously Roll Eyes

I would assume ldrdtv isn´t suppose to look like that...

I'd request a little more boost earlier on. That will help with your D spikes... but that is a hack.
You can reduce D at high Delta P, and increase D at low Delta P. That should help with unneccessary high D at large Delta P that you are having initially and lower the overshoot towards the end with lower Delta P. (P as in pressure).
« Last Edit: November 27, 2015, 05:36:01 PM by prj » Logged

PM's will not be answered, so don't even try.
Log your car properly.
Tshirt2k
Full Member
***

Karma: +1/-0
Offline Offline

Posts: 78


« Reply #128 on: June 02, 2016, 12:39:45 PM »

Does anyone have a sheet that fills DIMX correctly via KFLDRL. I've done linearisation but need to sort DIMX to get actual to follow requested
Logged
prj
Hero Member
*****

Karma: +903/-420
Offline Offline

Posts: 5787


« Reply #129 on: June 02, 2016, 03:55:02 PM »

I do... Not here though. Will post if I can remember tomorrow.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
Black_A4
Full Member
***

Karma: +1/-1
Offline Offline

Posts: 51


« Reply #130 on: October 31, 2016, 01:30:10 AM »

I do... Not here though. Will post if I can remember tomorrow.
Reminder  Smiley
Logged
jibberjive
Hero Member
*****

Karma: +23/-2
Offline Offline

Posts: 536


« Reply #131 on: May 23, 2017, 12:11:23 AM »

Double reminder Smiley
Logged
lsdlsd88
Newbie
*

Karma: +0/-2
Offline Offline

Posts: 8


« Reply #132 on: May 03, 2018, 01:52:09 AM »

Double reminder Smiley
triple reminder
Logged
TijnCU
Hero Member
*****

Karma: +60/-4
Offline Offline

Posts: 690


flying brick


« Reply #133 on: May 03, 2018, 03:31:04 AM »

You must have missed this sticky:
http://nefariousmotorsports.com/forum/index.php?topic=12352.0title=
Logged

totti
Full Member
***

Karma: +15/-29
Offline Offline

Posts: 227


« Reply #134 on: March 28, 2020, 01:23:39 PM »

Hi,

I will change my k03s turbo with a F21T. For the k03s I tuned the PID controller with feed forward. I would like to do it with the F21T. I know how to change WG_DC ti a constant value. K03s cannot boost too much at lower rpm, so with 95% fix dc it was no issue to log from 2000rpm. But with f21t I don't want to kill my engine for example 1,5 bar at 2500rpm. Is there any safety feature when the dc is fixed and the actual boost is more than the requested?
Or do you have any propossal how to measure the new turbo and wg linearization?

Thank you
Logged
Pages: 1 ... 7 8 [9] 10
  Print  
 
Jump to:  

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