MS3X users - go to 1.1.1 - Page 2 - Miata Turbo Forum - Boost cars, acquire cats.

Welcome to Miataturbo.net   Members
 


MEGAsquirt A place to collectively sort out this megasquirt gizmo

Reply
 
 
 
LinkBack Thread Tools
Old 07-12-2012, 02:56 PM   #21
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

lol.

i mean, like if the difference between RC1 (which I have loaded) and 1.1.1 is a few bugfixes for features/trigger wheels I don't use, I dont need to upgrade.

if they have implemented say, a happy ending, in the meantime, yes I want to upgrade.
Braineack is offline   Reply With Quote
Old 07-12-2012, 03:12 PM   #22
Elite Member
 
Join Date: Jul 2005
Posts: 6,454
Total Cats: 80
Default

Cool stuff.

How did they implement the TPS and MAP filtering this time around?
What are the tables for TPS and MAP based enrichment?
Is there an asynchronous squirt AE function now?

What corrections for the IAC? Voltage? idle target adder vs. TPS value?
Do they have a higher idle setpoint for AC now?

What tables are available for the dashpot now?

What did they adopt from all the idle work glsender, GregG, and I did?
JasonC SBB is offline   Reply With Quote
Old 07-12-2012, 03:25 PM   #23
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

Quote:
Originally Posted by JasonC SBB View Post
How did they implement the TPS and MAP filtering this time around?
ask y8s about the actual tech, but the since about beta20 or so, there's almost no filtering needed anymore because of the change Ken made. For example, I use something like a 99 lag factor (1% filtering), and I've been able to reduce my TPS threshold from an 80 %rate/sec to 15 %rate/sec.

Quote:
What are the tables for TPS and MAP based enrichment?
they've changed it to an "accel-pump" table. Not sure if that means anything to you. But the enrichments work MUCH better when you use this over the ancient code that had been using.

Quote:
Is there an asynchronous squirt AE function now?
no idea, and if so, I'm sure it's only for certain trigger wheel patterns.

Quote:
What corrections for the IAC? Voltage? idle target adder vs. TPS value?
There's an initial idle duties table, a voltage compensation table, and a timing compensatation table

not sure what a adder vs tps table would do/entail.

Quote:
Do they have a higher idle setpoint for AC now?
they've had this for a least a year now.

Quote:
What tables are available for the dashpot now?
same 'ol. I've never had an issue with the dashpot.

Quote:
What did they adopt from all the idle work glsender, GregG, and I did?
A few of the things mentioned I know came of it, not sure if Ken used your/his code.
Braineack is offline   Reply With Quote
Old 07-12-2012, 04:10 PM   #24
Senior Member
iTrader: (6)
 
Join Date: Sep 2007
Posts: 1,086
Total Cats: 30
Default

Quote:
Originally Posted by stefanst View Post
So lasting longer in bed won't benefit you?
0 * x = 0
albumleaf is offline   Reply With Quote
Old 07-12-2012, 04:34 PM   #25
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

exactly.
Braineack is offline   Reply With Quote
Old 07-12-2012, 04:43 PM   #26
y8s
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
 
y8s's Avatar
 
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,038
Total Cats: 407
Default

I'm holding out for 1.1.1.1.1.1.1.1.1.1.1.1.1.1
y8s is offline   Reply With Quote
Old 07-12-2012, 04:46 PM   #27
Elite Member
iTrader: (24)
 
Join Date: Jul 2007
Location: Cypress, TX
Posts: 3,778
Total Cats: 35
Default

I need to get on this. I haven't even had my laptop plugged in since the beginning of June, much less upgraded firmware.
Bryce is offline   Reply With Quote
Old 07-12-2012, 04:50 PM   #28
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

It will take a bit of time to redo the accel-pump enrichments and tune the new idle improvement stuff. But it's well worth it, and still only maybe a 20 minutes investment of time.
Braineack is offline   Reply With Quote
Old 07-12-2012, 05:04 PM   #29
Elite Member
 
Join Date: Jul 2005
Posts: 6,454
Total Cats: 80
Default

Are they now using the "tau gamma" AE model? (wall wetting thickness and time constant)
JasonC SBB is offline   Reply With Quote
Old 07-12-2012, 05:29 PM   #30
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

they've been using a EAE as they called it semi-based off that for a while.
Braineack is offline   Reply With Quote
Old 07-12-2012, 05:43 PM   #31
Elite Member
iTrader: (10)
 
soviet's Avatar
 
Join Date: Jan 2010
Location: VA
Posts: 3,519
Total Cats: 259
Default

Quote:
Originally Posted by Braineack View Post
It will take a bit of time to redo the accel-pump enrichments and tune the new idle improvement stuff. But it's well worth it, and still only maybe a 20 minutes investment of time.
I flashed it last night and didn't have to do dick. There is an option to use "ye olde style enrichments". The only thing was my IAC that decided to use 3000hz frequency instead of 350ish I was using before (or whatever it is for NB idle valve).
soviet is offline   Reply With Quote
Old 07-12-2012, 05:57 PM   #32
Elite Member
 
Join Date: Jul 2005
Posts: 6,454
Total Cats: 80
Default

I played with TunerStudio. Looks good.

Now if only for boost control they added:

1) 3D table of solenoid duty cycle with RPM and boost target as the axes

2) When the solenoid is pegged at max duty (e.g. 85%), such as when spooling, the 'I' value should be forced to be equal to 85 - P - D - openloop_table_value. This way 'I' has less of a windup problem, because when duty is pegged, then I is forced to be whatever it needs to be such that P+I+D+duty_table = max_duty. If not, I will wind up out of control.

I now understand how the PID in MS works, and I know its limitations.

Last edited by JasonC SBB; 07-12-2012 at 07:32 PM.
JasonC SBB is offline   Reply With Quote
Old 07-12-2012, 06:25 PM   #33
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

Quote:
Originally Posted by soviet View Post
I flashed it last night and didn't have to do dick. There is an option to use "ye olde style enrichments".
yeah, of course. but why load it and not activate the new features?
Braineack is offline   Reply With Quote
Old 07-12-2012, 06:44 PM   #34
Elite Member
iTrader: (10)
 
soviet's Avatar
 
Join Date: Jan 2010
Location: VA
Posts: 3,519
Total Cats: 259
Default

Quote:
Originally Posted by Braineack View Post
yeah, of course. but why load it and not activate the new features?
because lazy?
soviet is offline   Reply With Quote
Old 07-13-2012, 02:39 AM   #35
Supporting Vendor
iTrader: (10)
 
Reverant's Avatar
 
Join Date: Jun 2006
Location: Athens, Greece
Posts: 5,441
Total Cats: 198
Default

Quote:
Originally Posted by JasonC SBB View Post
I played with TunerStudio. Looks good.

Now if only for boost control they added:

1) 3D table of solenoid duty cycle with RPM and boost target as the axes
That's the default if you choose open loop. Otherwise it makes no sense in closed loop.
Reverant is offline   Reply With Quote
Old 07-13-2012, 01:40 PM   #36
Elite Member
 
Join Date: Jul 2005
Posts: 6,454
Total Cats: 80
Default

Quote:
Originally Posted by JasonC SBB

Now if only for boost control they added:

1) 3D table of solenoid duty cycle with RPM and boost target as the axes

Quote:
Originally Posted by Reverant View Post
That's the default if you choose open loop. Otherwise it makes no sense in closed loop.
The system I describe is called "PID feedback with feedforward". Even Wikipedia says:

PID controller - Wikipedia, the free encyclopedia

Quote:
The control system performance can be improved by combining the feedback (or closed-loop) control of a PID controller with feed-forward (or open-loop) control. Knowledge about the system (such as the desired acceleration and inertia) can be fed forward and combined with the PID output to improve the overall system performance. The feed-forward value alone can often provide the major portion of the controller output. The PID controller can be used primarily to respond to whatever difference or error remains between the setpoint (SP) and the actual value of the process variable (PV). Since the feed-forward output is not affected by the process feedback, it can never cause the control system to oscillate, thus improving the system response and stability.
Picture this. As a first assumption, the MS open loop system using a 3D lookup table, will produce target boost every time. However, 2 things spoil this:

1) transients - it takes time for the pneumatic wastegate actuator to fill and move to the target position (which is determined by the boost pressure and the duty cycle). And, an open loop system cannot, for example, keep the wastegate shut to speed up spoolup.

2) other variables which affect final boost, such as IAT, and any errors in the filling of said table

Which brings us to closed loop operation.

The idea is that the PID loop "finds" the correct duty cycle to hit the target. Yes the integrator term finds the exact duty cycle that hits the target, but as time approaches infinity - during steady state. The motor never really has a steady state, RPMs change, and TPS (boost target) changes. Also, "finding" the correct steady-state duty cycle takes time. You can't make this time very short by increasing the I gain arbitrarily because that causes overshoots and oscillations. If the required duty cycle changes as say, RPMs climb, there needs to be an error to begin with, to force the PID output to change the duty cycle. Again, response speed and accuracy will not be perfect.

If you combine the open loop scheme with PID:
Output = table value + PID
... then the duty cycle will *immediately* hit that which is required for steady state (PID doesn't need to "find" it), and then the PID takes care of the transients and any remaining errors.

The result is much better performance. There are 3 measures of performance:
- Spoolup time - wastegate should be shut until the very last moment and opens just so that it prevents overshoot
- Settling time - how quickly it reaches a new target within a certain error when the target is abruptly changed
- accuracy - how close it reaches target boost
- overshoot - how little overshoot there is

The performance shortcomings of the PID system in the MS will be evident as:

- overshoots when comparing say, a 4th gear spoolup run from 2000 RPM, vs. 2nd gear, and a very abrupt step-lift-step at 5500 RPM where the turbo spools very quickly. If you tune PID for best performance for one of the 3 conditions, you will get overshoot or sub-optimal response speed with the other 2.

- difficult tuning when you have a low-pressure wastegate (e.g. 5 psi) and a high boost target (e.g. 15 psi). Everyone will say "run a 10 psi can", which will make tuning a lot easier, but, the advantage of a low psi can is THROTTLE MODULABILITY. Your foot can easily command say 5 psi at half throttle, vs. when you have a 10 psi can it wants to hit 10 psi at half throttle.

- More difficult tuning with a small fast-spooling turbo

Check out my results here
https://www.miataturbo.net/ecus-tuni...l-pwned-64996/
JasonC SBB is offline   Reply With Quote
Old 07-13-2012, 02:29 PM   #37
Boost Czar
Thread Starter
iTrader: (61)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 72,892
Total Cats: 1,792
Default

I know ken talked of such.
Braineack is offline   Reply With Quote
Old 07-14-2012, 05:29 AM   #38
Supporting Vendor
iTrader: (10)
 
Reverant's Avatar
 
Join Date: Jun 2006
Location: Athens, Greece
Posts: 5,441
Total Cats: 198
Default

I can do this, its really easy.

Do you actually mean that the feedforward happens all the time or only when the PID is first entered?
Reverant is offline   Reply With Quote
Old 07-14-2012, 01:10 PM   #39
Elite Member
 
Join Date: Jul 2005
Posts: 6,454
Total Cats: 80
Default

All the time. Anytime a duty cycle needs to be sent to the solenoid.
Duty cycle always = table + PID, with a caveat on the 'I' (below)

This way the PID loop is only for handling transients and for steady state errors. To be more specific, the P+D handle transients, and the 'I' is for driving the steady state error to zero. Steady state error happens because the open loop table isn't perfect and because the open loop table doesn't account for other variables like temperature. In fact when tuning the open loop tables, one would keep Igain to zero, and the table entries adjusted so targets are reached.

During tuning, before turning on the I, Pgain and Dgain are adjusted for fast rise time and settling time with minimal overshoot. The 'I' is then turned on for reasonable response when there is steady-state error due to temperature or other changes. 'I' will introduce slight overshoots.

Do not allow I to be non zero during spoolup, and definitely not while the valve is pegged open to keep the wastegate closed. Wastegate will be closed at max duty% which is about 85% for most valves. This will merely cause lots of overshoot. 'I' should only be active once the wastegate is starting to open, which is when the wastegate can pressure exceeds the cracking pressure, which is shortly after when duty cycle (from table+P+D) starts to come down from the max value. Even with this strategy, there may be slight overshoots, if there was none while 'I' was zeroed, and there are further strategies to reduce this, if very little overshoots are tolerated...

The next big step is auto-tuning of the table entries. Whenever steady state is detected (say, 1 second dwell at higher RPMs, 2 second dwell at lower RPMs), a large I value will cause the relevant table entry to be modified, so that the I value next time around doesn't need to be so large. Remember the I corrects steady state error, and large ones come from wrong table entries. And there has to be some kind of auto smoothing in the table, for example, when changing an entry in a location in the table, all its immediate neighbors will get adjusted by half as much.

Last edited by JasonC SBB; 07-14-2012 at 01:22 PM.
JasonC SBB is offline   Reply With Quote
Old 07-14-2012, 02:08 PM   #40
Senior Member
 
Join Date: Mar 2006
Location: Schwarzenberg, Germany
Posts: 1,497
Total Cats: 81
Default

That sounds soooo nice - autotuned perfect boost control
Zaphod is offline   Reply With Quote
 
 
Reply

Related Topics
Thread Thread Starter Forum Replies Last Post
1994 Spec Miata Race Car SM/SM2/SSM For Sale Quinn Cars for sale/trade 6 10-23-2016 08:58 AM
Moroso Air Oil Separator Catch Can Aroundcorner Miata parts for sale/trade 2 10-01-2015 04:20 PM
Walbro 255lph Fuel Pump $50 lsc224 Miata parts for sale/trade 2 10-01-2015 10:17 AM


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -4. The time now is 11:10 AM.