Pages: 1 2 [3] 4 5 ... 26
Author Topic: MED 9.1 basics  (Read 318743 times)
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #30 on: March 07, 2014, 05:29:27 AM »

Nice work!

I had the best result when I logged a full throttle pull from 2250rpm to redline, then took WGDC values and more or less loaded thrm in the last row of kfldimx. I adjusted second to last row a bit to smooth out the transition. I left the values 2-3 over whqt WGDC actually was. Is rather have .5psi overshoot than undershoot!

My changes in kfldimx had to be fairly aggressive to get rid of the overshoot

Good luck!
Jordan
Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #31 on: March 07, 2014, 06:05:04 AM »

Thanks Jordan Grin

That’s what I’m trying to get my head around. I’ve got the log including WGDC but do I ‘load’ that like for like in KFLDIMX?

In other words, load 95% at 2000 rpm, 95% at 2500 rpm, 75% at 3000 rpm and then 50% at 3500 rpm, 50% at 4000 rpm, 50% at 5000 rpm and so on.

Or is it more a question of 50% at 2000 rpm, 50% at 2500 rpm, 50% at 3000 rpm, 50% at 4000 rpm  Huh

I’m going to try reducing the 95% values (1000 rpm – 2000 rpm) but I’m guessing and would like to understand a bit more.
Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #32 on: March 07, 2014, 02:19:16 PM »

KFLDIMX should not be "loaded" with WGDC values, this is not correct.
It is I-limitation. Before it goes out as ldtvm, it gets looked up through KFLDRL via ldtv and nmot.
 
So if you want to backtrack the values, then you have to do a reverse lookup through KFLDRL.
That said, you guys are having issues with basic stuff that carries over from ME7.

The whole huge pain tuning MED9 comes from the high pressure fuel system, if you want to make proper power you can't leave all that stuff stock.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #33 on: March 07, 2014, 04:16:16 PM »

KFLDIMX should not be "loaded" with WGDC values, this is not correct.
It is I-limitation. Before it goes out as ldtvm, it gets looked up through KFLDRL via ldtv and nmot.
 
So if you want to backtrack the values, then you have to do a reverse lookup through KFLDRL.
That said, you guys are having issues with basic stuff that carries over from ME7.

The whole huge pain tuning MED9 comes from the high pressure fuel system, if you want to make proper power you can't leave all that stuff stock.

I really don't follow you here.

From NefMoto Wiki:
Quote
KFLDIMX specifies the steady-state duty cycle values.

This would indicate that the values in KFLDIMX represent where you expect WGDC to settle once request meets actual.   The factory has KFLDIMX tuned in a way that allows (even promotes) overshoot.  I don't see how KFLDRL relates.  KFLDRL is a representation of how a specific model of turbo will act, no? It's not something you'd want to calibrate on an unchanged turbo, right??

Thanks
-Jordan

Logged
ddillenger
Hero Member
*****

Karma: +641/-21
Offline Offline

Posts: 5640


« Reply #34 on: March 07, 2014, 05:26:01 PM »

ALL LDR GOES THROUGH KFLDRL!
Logged

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!

Email/Google chat:
DDillenger84(at)gmail(dot)com

Email>PM
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #35 on: March 07, 2014, 08:24:12 PM »

I understand that, but it doesn't mean KFLDIMX is right from the factory and it definetely doesn't work for increased boost. I get it, you can't just log WGDC and plug it in to KFLDIMX. Tommorow I'm going to look at KFLDRL and adjust my logged WGDC values based on what they would be in KFLDIMX if they weren't  impacted by KFLDRL. I'll bet you the factory isn't even close.
Logged
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #36 on: March 07, 2014, 08:43:25 PM »

You may need more Q2.. you should see a short dip in wgdc to slow the boost ramp so it doesn't overshoot.
« Last Edit: March 07, 2014, 08:47:59 PM by nyet » Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

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 ex
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #37 on: March 08, 2014, 02:37:57 AM »

Hi all,

Thanks for the responses. I’ve been looking into this a lot and it’s really interesting to see what you are saying.

I’m sure you guys will recognize this Cheesy

http://nefariousmotorsports.com/forum/index.php?topic=2985.msg29152#msg29152
http://nefariousmotorsports.com/forum/index.php?topic=517.msg3902#msg3902

Rightly or wrongly, here’s my observations. Comments welcomed !

Steady State (by this I mean actual matches, or is extremely close to, specified)

1)   The output of the PID controller is the sum of P, I and D . The error (difference between actual and specified) in the steady state is zero, meaning actual matches specified and the PID doesn’t need to adjust anything. Since the error is zero, the contribution to the PID from P is zero as well. But if all the contributions (P, I & D) are zero then the output of the PID is zero as well. Clearly we need the output to be more than zero otherwise we’ll have zero WGDC and no actual boost. So even in the steady state, although the contribution from P is zero the contribution from I is NOT zero, in fact it should be the exact amount to ensure enough WGDC so that error is zero, actual matches specified and the PID has very little to control.

2)   The I component is an accumulation over time, from when the loop started to the present time. We want to regulate this so it doesn’t just get bigger and bigger, leading to a larger output in the steady state, in turn leading to more WGDC, actual diverging from specified, error increasing and the PID has its work cut out to balance this.

So in the steady state I believe KFLDIMX stops I from getting bigger and bigger and also sets a sensible value for I, so that the PID does fine rather than coarse adjustments.

Initial Ramp-up
I don’t think I have an issue in the steady state. My actual tracks specified and doesn’t oscillate around it. My issue here is that initial overshoot. In the ramp-up the error is large and P, I and D will all contribute to the output of the PID. Maybe I’m looking at the wrong area of KFLDIMX and should be looking right on the left of the map, before I get to the rpm range where steady state is?

I’ll also define KFLDRL and take a look.
Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #38 on: March 08, 2014, 02:44:58 AM »

You may need more Q2.. you should see a short dip in wgdc to slow the boost ramp so it doesn't overshoot.

Ah, just looked at the picture. That's a nice set of curves lol. That's what I want to achieve. Q2 would be the differential component right?
Logged
Rick
Hero Member
*****

Karma: +63/-4
Offline Offline

Posts: 704


« Reply #39 on: March 08, 2014, 03:14:10 AM »

Factory want a boost spike. Boost spike is good, it gives midrange punch and overtaking ability in a 4wd car

Rick
Logged
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #40 on: March 08, 2014, 10:31:41 AM »

1)   The output of the PID controller is the sum of P, I and D . The error (difference between actual and specified) in the steady state is zero, meaning actual matches specified and the PID doesn’t need to adjust anything. Since the error is zero, the contribution to the PID from P is zero as well. But if all the contributions (P, I & D) are zero then the output of the PID is zero as well. Clearly we need the output to be more than zero otherwise we’ll have zero WGDC and no actual boost. So even in the steady state, although the contribution from P is zero the contribution from I is NOT zero, in fact it should be the exact amount to ensure enough WGDC so that error is zero, actual matches specified and the PID has very little to control.

2)   The I component is an accumulation over time, from when the loop started to the present time. We want to regulate this so it doesn’t just get bigger and bigger, leading to a larger output in the steady state, in turn leading to more WGDC, actual diverging from specified, error increasing and the PID has its work cut out to balance this.

So in the steady state I believe KFLDIMX stops I from getting bigger and bigger and also sets a sensible value for I, so that the PID does fine rather than coarse adjustments.

Excellent summary. I have simplified things in the s4wiki to make the PID easier to understand for novices, but you clearly have enough of a good idea for me to explain this a bit further.

In reality, properly functioning PIDs shouldn't actually operate at the I-Limit in steady state... like you said, it is more like a "sane" limit. Many conventional PID controllers actually depend on overshoot to bring I back into control under the I-Limit:

https://controls.engin.umich.edu/wiki/index.php/PIDDownsides#Windup
http://en.wikipedia.org/wiki/Integral_windup

Now, I dont pretend to understand what the ME designers intended with the I-limit in their PID, but if you log a stock car, you might notice that by and large, they do not run at the I-limit - they generally have some overshoot which brings I back down a tad so it can move again. Now keep in mind, that stock, they have a ton of pressure sensor overhead available, so there is a lot of room for negative I contributions.

In the 2.7t, we are all running near the pressure sensor limit (unless we're running the MAP hack), so there can NEVER be very much negative I contribution! So my solution is to never let the boost overshoot, and rather let windup let me run at the I-limit so it is somewhat "open loop" behavior in steady state.

YMMV. My approach may not be the right one, but from experience, its the only way I can get reasonable results w/o going completely open loop through numbing DRL.

I hope this makes sense!
« Last Edit: March 08, 2014, 10:37:08 AM by nyet » Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

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 ex
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #41 on: March 08, 2014, 01:20:00 PM »

I really don't follow you here.

From NefMoto Wiki:
This would indicate that the values in KFLDIMX represent where you expect WGDC to settle once request meets actual.   The factory has KFLDIMX tuned in a way that allows (even promotes) overshoot.  I don't see how KFLDRL relates.  KFLDRL is a representation of how a specific model of turbo will act, no? It's not something you'd want to calibrate on an unchanged turbo, right??

Thanks
-Jordan

The NefMoto Wiki is wrong. The FR is right.
Very easy. I have said it many times - do not read what someones interpretation of the documents is, read the documents.
Else it is just like usual forum cr*p. Someone says something and everyone repeats like sheep, even though it has little to do with reality.

Read LDRPID in the FR with an open mind. Forget everything you read everywhere else, most of the stuff people write on wikis and forums is just their interpretation of things, it can be wrong, omit details etc. Why rely on it when you have the functional document of the ECU telling you exactly how things are?
« Last Edit: March 08, 2014, 01:22:56 PM by prj » Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
ddillenger
Hero Member
*****

Karma: +641/-21
Offline Offline

Posts: 5640


« Reply #42 on: March 08, 2014, 01:43:53 PM »

Also, if german's not your thing, Gonzo alerted me to this.

http://www.google.nl/patents/US6918250
Logged

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!

Email/Google chat:
DDillenger84(at)gmail(dot)com

Email>PM
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #43 on: March 08, 2014, 03:59:05 PM »

1) The FR does not mention methods for tuning the PID near the MAP limit.

2) The FR does not mention that the setpoint can exceed the MAP limit due to a design flaw in ME7.

3) The purpose of wikis and discussion boards are to discuss things, and to (collaboratively) come up with interpretations (for forming consensus) of existing documents whose authors are unlikely to be around to answer questions, fix errors, address limitations, or clear up misunderstandings.

If you truly think there is nothing of value outside the FR, then what is the point of any discussion of anything?
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

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 ex
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #44 on: March 09, 2014, 06:08:23 AM »

Thanks all,

Without the resources and help from this forum, I’d be stuck. I appreciate all the points of view.

I have answered one of my own questions. Referring to the logs and graphs, I always wondered why I still had 95% WGDC at 2500 rpm, even though the value in KFLDIMX was 56% at 2500 rpm. Simplistically why didn’t WGDC match KFLDIMX? Why weren’t my changes having much effect? I now understand that since the error (difference between actual and specified) was still large at 2500 rpm, not only did I have the I component (albeit limited to the value in KFLDIMX) but also the P component and D component all added together to produce the output.  KFLDIMX is just the limit of the I component.

After digesting all of this, I’m not even sure I want to eliminate the initial overshoot. The loop is nice and responsive as it is. However, since I’ve put this much effort into understanding it, I’d like to see it through since I can always change it back.

I will reduce KFLDIMX further and log the results and also try increasing KFLDRQ2 and log the results.

Also, if german's not your thing, Gonzo alerted me to this.

http://www.google.nl/patents/US6918250

Even in english, it's still heavy going  Smiley Nice link.

Excellent summary. I have simplified things in the s4wiki to make the PID easier to understand for novices, but you clearly have enough of a good idea for me to explain this a bit further.


Thanks you! The description about integral windup complimented the rest of the control theory I'm been looking through.

Logged
Pages: 1 2 [3] 4 5 ... 26
  Print  
 
Jump to:  

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