Jump to content
LegacyGT.com

Turbo Dynamics, simply a PID control system


2005garnetGT

Recommended Posts

  • Replies 161
  • Created
  • Last Reply
The TD integral will never spike.

 

There is no differential in our ecu.

If all of the above are true, then this is not PID control. We simply get error correction with time. Then again _how_ you use it really defines the system. How is changing the slope of the integral and proportional parameters not differential control? If I were better at calc I could probably do the proof.

 

Time-based correction will "ring" if the response is sharp enough. If you never use the integral to it's potential, i.e. boost curve like almost a square wave, then yes it won't ring.

Link to comment
Share on other sites

Well duh we began this thread with "simply a PID control system" Ok!

 

Get your car together, do some logs, then with a little bit of practical experience continue posting.

 

I truly think you are making some things a lot more complicated then necessary.

 

:)

Link to comment
Share on other sites

Get your car together, do some logs, then with a little bit of practical experience continue posting.

 

I truly think you are making some things a lot more complicated then necessary.

 

:)

Duh again.. I simply set low initial WGDC's, made some guesses at the TD tables, set a target boost map, and it just hits targets. hmmm! that was hard :rolleyes:

 

I might care about doing it properly more than having a working car so, I'm not rao.

Link to comment
Share on other sites

http://www.ee.kth.se/php/modules/publications/reports/2007/XR-EE-RT_2007_014.pdf

 

Good information.

 

Also treating the TD as PID is doomed to failure. Understanding PID helps, but you can do a lot of things with the TD tables. Ultimately it has to be done by feel, realtime tuning is a must for getting great results quickly. The only thing that can be tuned mathematically is the proportional table.

Link to comment
Share on other sites

 

Also treating the TD as PID is doomed to failure. Understanding PID helps, but you can do a lot of things with the TD tables. Ultimately it has to be done by feel, realtime tuning is a must for getting great results quickly. The only thing that can be tuned mathematically is the proportional table.

 

:lol:

Link to comment
Share on other sites

...everything is tuned mathematically.

 

 

what I believe DK really means is "theoretically"

I think you mean "numerically" tuning mathematically involves using some sort of equation to find a number. The "integral" values are just some arbitrary numbers representing the speed at which the accumulator fills, if the ecu decides this is the right thing to do. You just have to keep turning the knob until you get the desired results.

 

The stock numbers are garbage. But they can be if you think about it. Wastegate is set to 10 psi, TD only has to control 3 psi of boost. Any mods throw this way off, and it shouldn't.

Link to comment
Share on other sites

you're using differential equations to scale your MAF, O2 feedback tuning to tune primary fuel, and a whole series of knock detection algorithms to tune timing...

 

thats all maths.

News to me! MAF scaling is simple linear feedback. I'm not doing knock algorithms, the ECU is.

Link to comment
Share on other sites

DK,

 

to answer your earlier question.... the accumulator saturates at +15 and -40 with stock settings.

 

As for the way integration is done on the ECU... you can't consider it continuous time as you've listed below. In a discrete time control system, you need to account for sampling. If the sampling rate is infinite, you approximate a continuous time system. Practically speaking if the sampling time is about an order of magnitude less than the response time of the system, you can still consider things continuous time. In the case of the ECU, (assuming the sampling time is ~80ms), you can't consider it a continuous time system... hence the deviation from the clasical PID behaviour you observed. It has been more than 10 years since I've looked through the control notes. However, if memory serves me, the effects of sampling near the speed of the system's response can be approximated as a 1st order delay slightly less than the sampling time.

 

What it boils down to, if you strip out most of the math, is that the integral table should be reduced from what you would normally use in a continuous time control system. Hence the simplified procedure I posted a while back. Basically, zero integral and ramp proportional till there's some overshoot. Next, dial it back so the system is a little sluggish and add integral (starting with about half expected).

 

I know how integration works, I know how PID is used to achieve good control with fast response. Searching 3-4 forums mostly just end up in finding a post by you saying how "someone doesn't know how TD integral works", which may be right, but still...

 

http://upload.wikimedia.org/math/d/5/9/d593c27abdc1aecffb56d06d2a9ba8e3.png

Are you saying t=70ms always? That's not what merchgod appears to be saying. What it sounds like you're saying is with the current sample rate it takes that integral 70ms to hit max correction.

Link to comment
Share on other sites

The ONLY other reason I participate in "technical" threads is to try (hopelessly I am sure, but I can't stop trying) to keep a lot of the complete nonsense from propagating so that newcomers won't be led in the wrong direction. I apologize if that offends you or anybody.

 

I never said or implied that I knew everything that there is to know or that there are not other approaches. I welcome an interesting discussion; not a bunch of people trying to prove to each other how smart they are ;) .

 

Which bits were not accurate? The procedure I posted some time ago stripped out all the math and gave a very simple but technically correct way of setting up the tables. I don't see how it was nonsense. Just because something was originally based on sound math and engineering doesn't make it less valid than a tuning purely by feel. Correct me if I'm wrong but you seem to dislike any sort of formality to tuning and dismiss it as snobery. Why? A combination of experience and understanding is always better than either in isolation.

 

As for people trying to prove how smart they are, I don't really see that in the thread. I think everyone acknowledges that we don't fully understand every bit of the boost control system. Hence the technical discussion. While I appreciate that there is a time and place to "just get the job done", I still prefer to understand what's actually happening under the hood when I can. It actually scares me a little that I have to put faith in the ECU's software.

Link to comment
Share on other sites

bbb, there seems to be additional factors which start or stop the accumulator which are unclear to me, also for the moment it seems that the sample rate changes, or it may be that it just stops and appears this way.

 

1. It accumulates a correction and then sometimes stops even when boost error is high and it should be growing.

2. Sometimes it doesn't activate and stays 0 even though all the known thresholds are met, and then starts again after crossing an unknown threshold.

3. At times it seems this behavior is based on current WGDC, if it's very high it doesn't activate. However it breaks this rule at other times.

 

The ability to use integral is severely compromised by not being able to predict when it will wind up.

Link to comment
Share on other sites

bbb, there seems to be additional factors which start or stop the accumulator which are unclear to me, also for the moment it seems that the sample rate changes, or it may be that it just stops and appears this way.

 

1. It accumulates a correction and then sometimes stops even when boost error is high and it should be growing.

2. Sometimes it doesn't activate and stays 0 even though all the known thresholds are met, and then starts again after crossing an unknown threshold.

3. At times it seems this behavior is based on current WGDC, if it's very high it doesn't activate. However it breaks this rule at other times.

 

The ability to use integral is severely compromised by not being able to predict when it will wind up.

 

You might be running into logging interval problems. The logging rate is not uniform. I think the requests to the ECU may be uniformly spaced but the results are not always sampled on the same interval.

 

do you have a set of conditions which cause the weird behaviour you are seeing?

 

in integrator is clamped when the corrected WGDC is clipped by WGDC high. you can control when the integrator is allowed to run by shaping the gap between WGDC high and low

Link to comment
Share on other sites

You might be running into logging interval problems. The logging rate is not uniform. I think the requests to the ECU may be uniformly spaced but the results are not always sampled on the same interval.

 

do you have a set of conditions which cause the weird behaviour you are seeing?

 

in integrator is clamped when the corrected WGDC is clipped by WGDC high. you can control when the integrator is allowed to run by shaping the gap between WGDC high and low

 

I may have figured it out.

 

Hmm it seems maybe the logic is the clipping is based on actual max WGDC and not IAT compensated max WGDC, even though that actual WGDC will stop here.

 

Looks like another case is a sampling issue, even though proportional immediately maxes out the WGDC as soon as we cross the TD activation RPM, the accumulator appears to sample once and then stops, jumps to 3 which is the appropriate vector. This explains this strange step behavior where it's not expected to accumulate.

Link to comment
Share on other sites

  • 1 year later...

Digging up an old thread. Just trying to tune my boost.

 

Bug's method: So when Mickey (I think that's who it was) says "Don't zero out the integral tables" (coarse gain) does that mean you disagree with Bug's method on page 3 for tuning boost where he says to zero it out? Or is it ok when you're first tweaking the boost.

 

What do the table values mean...e.g. when the top row in ST goes -240 to 0, what are those numbers?

 

Thanks.

Link to comment
Share on other sites

I believe MickeyD and myself are referring to two different stages of the tuning process. The initial zeroing of the integral table in my method is there to help establish the open loop performance of system. the final tune should have a non zero integral table. if one zeros the integral table and attempts to correct steady state error with only proportional, there is a very high chance of instability.
Link to comment
Share on other sites

I think the internal unit is pretty close to 1/1000 bar.

 

caramall, if you are using ST, be careful when adjusting the values in these tables. I found an odd bug with the software that causes a rounding error with the value is stored if you change a setting too many times. for example if you increase then decrease a value many times, the stored value might actaully snap up or down one value despite what is displayed.

Link to comment
Share on other sites

 

What do the table values mean...e.g. when the top row in ST goes -240 to 0, what are those numbers?

 

Thanks.

 

AFAIK, for 32bit ecus, the units are mmHg. 760mmHg=1bar=14.7psi. 240mmHg=4.64psi, which is what RomRaider displays

 

The units for 16bit ecu is different (percent of 1 bar or something goofy)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.




×
×
  • Create New...

Important Information

Terms of Use