ITT: MS3X VVT settings and tuning
#42
I forget what that happened on, but it was irritating for sure - if nothing else, to have to move two points each time for something like "warmup enrichment" was a PITA.
#43
No reason to take that insight too lightly. Some functions (used to?) linearly extrapolate from the last two points - so if you wanted it to keep heading down, you had to have the slope of the final two entries. If you wanted it to stay flat, you had to pin the last two points to the same value.
I forget what that happened on, but it was irritating for sure - if nothing else, to have to move two points each time for something like "warmup enrichment" was a PITA.
I forget what that happened on, but it was irritating for sure - if nothing else, to have to move two points each time for something like "warmup enrichment" was a PITA.
I always make the last two warmup enrichment values the same for that reason too. Might be nice to have a 3D view for VVT table.
__________________
#44
Huh. I was never a huge fan of 3D views. I guess there's nothing wrong with it, I just rarely get more out of it. The color coding helps, but, not if the changes are small in an adjustment with a large range. It does help you pick out a small dip.
I am curious if they'll put in a larger table - they said they would if there was room, but who knows what that means. :-)
We should do another thread for throttle dependant boost settings. There's a couple tricks I did in my MBC setup I'd like to incorporate, and I can't decide if I like it. Keeping temps down is always a plus though.
I am curious if they'll put in a larger table - they said they would if there was room, but who knows what that means. :-)
We should do another thread for throttle dependant boost settings. There's a couple tricks I did in my MBC setup I'd like to incorporate, and I can't decide if I like it. Keeping temps down is always a plus though.
#46
Bumping this thread because I'm still fighting a small bucking/jerking issue on dead cold startup and driving.
In another thread and talking to various folks I learned that before the oil warms up, vvt really doesn't like advance before 3k rpm.
I decreased it to nearly nothing below 3k, with something like 12 degrees at 80kpa at like 2500rpm and full advance arriving at 3k rpm. (I'll post current table when I get home)
That helped a whole lot. But the car will still do it when I drive it cold, though a whole lot less now. It only does it between 2k-3k and only when not completely HOT)
So my question is:
What do those of you that posted a ton of advance below 3k in the cruise regions have to report about cold driving? I'm talking about starting the car in the morning, and just driving off (obviously really light throttle to baby it before it warms up).
Feedback would be greatly appreciated. I wanna make sure its not vvt related before I try other things (messed with accel settings and much other stuff....car runs great otherwise and when fully warmed up)
*edit: here is the other thread for reference:
https://www.miataturbo.net/engine-pe...erature-72889/
In another thread and talking to various folks I learned that before the oil warms up, vvt really doesn't like advance before 3k rpm.
I decreased it to nearly nothing below 3k, with something like 12 degrees at 80kpa at like 2500rpm and full advance arriving at 3k rpm. (I'll post current table when I get home)
That helped a whole lot. But the car will still do it when I drive it cold, though a whole lot less now. It only does it between 2k-3k and only when not completely HOT)
So my question is:
What do those of you that posted a ton of advance below 3k in the cruise regions have to report about cold driving? I'm talking about starting the car in the morning, and just driving off (obviously really light throttle to baby it before it warms up).
Feedback would be greatly appreciated. I wanna make sure its not vvt related before I try other things (messed with accel settings and much other stuff....car runs great otherwise and when fully warmed up)
*edit: here is the other thread for reference:
https://www.miataturbo.net/engine-pe...erature-72889/
#50
I think I need to stop being a lazy bum and just re-tune my PID from scratch rather than copy/pasta of Y8s settings.
I just halfed the values and noticed much more smoothness. Car is nearly warm though. We shall see tomorrow morning when its dead cold for the real results.
PID settings for above log were
50
17
100
current intake table:
ohhhhhh how I wish MS3x had a clt reference for vvt activation
....it would solve all problems lol
I just halfed the values and noticed much more smoothness. Car is nearly warm though. We shall see tomorrow morning when its dead cold for the real results.
PID settings for above log were
50
17
100
current intake table:
ohhhhhh how I wish MS3x had a clt reference for vvt activation
....it would solve all problems lol
#51
FWIW, we never see two BP6D engines use the exact same PID and base duty settings. Don't know why. I always start with known working settings copied from another car then run a few tests, including target response, accuracy and overshoot on both hot and cold oil.
__________________
Last edited by emilio700; 10-21-2013 at 08:41 PM.
#52
Thanks Emilio. My observations are confirming that as well. Time to tune PID from scratch.
*EDIT: I'm stumped - Just went out and zero'd out all the values in pid. started slowly adding P and it shoots to 40* no matter what. Started adding I and it shoots to 40* no matter what.
Then just for funzies I wet P and I to super high numbers, like 100, and now it undershoots.
Are my settings inverted somehow? Or am I grossly mis-understanding how PID for vvt works?
*EDIT: I'm stumped - Just went out and zero'd out all the values in pid. started slowly adding P and it shoots to 40* no matter what. Started adding I and it shoots to 40* no matter what.
Then just for funzies I wet P and I to super high numbers, like 100, and now it undershoots.
Are my settings inverted somehow? Or am I grossly mis-understanding how PID for vvt works?
Last edited by 18psi; 10-21-2013 at 08:52 PM.
#54
Thanks Emilio. My observations are confirming that as well. Time to tune PID from scratch.
*EDIT: I'm stumped - Just went out and zero'd out all the values in pid. started slowly adding P and it shoots to 40* no matter what. Started adding I and it shoots to 40* no matter what.
Then just for funzies I wet P and I to super high numbers, like 100, and now it undershoots.
Are my settings inverted somehow? Or am I grossly mis-understanding how PID for vvt works?
*EDIT: I'm stumped - Just went out and zero'd out all the values in pid. started slowly adding P and it shoots to 40* no matter what. Started adding I and it shoots to 40* no matter what.
Then just for funzies I wet P and I to super high numbers, like 100, and now it undershoots.
Are my settings inverted somehow? Or am I grossly mis-understanding how PID for vvt works?
when all 3 are zero's, vvt angle is at lowest setting and doesn't move
as soon as the values are over 0, it overshoots like crazy
if I raise the values to extremely high (over 100) it actually undershoots
Anyone got any ideas?
*edit:
If I understand this correctly:
VVTuner's advance control implements a closed loop feedback algorithm with PID loop to insure that the amount of advance commanded results in the actual advance. VVTuner constantly monitors the real time target advance value and compares it against the actual value observed by reading the crank and cam position sensors. Any difference between target advance and actual observed values is considered an error. The PID loop will attempt to correct the error. The PID parameters allow real time adjustment of how the error is corrected. PID is comprised of 3 terms:
P. This term tells the VVTuner how aggressively it needs to correct. A higher value here will result in possible quicker correction, but too high of a value can result in overshoot of target and possible oscillations. Too low of a value may result as never being able to reach target.
I. This term tells the VVT tuner how much "acceleration" is needed to bring the observed advance to target advance if the error is large. A larger I value will result in quicker corrections, but too much I value may result in unsteady operation.
D. If I is acceleration, then D is the brakes. The D term will slow corrections down as the observed advance approaches the target. The D term can be implemented to reduce overshoot of target, however too much D term could result in undershoot or the ability to never reach the target.
The idea is to eliminate any advance error as quickly as possible by quickly bringing observed advance to target advance, but slowing down the correction as the error approaches zero such that the target is achieved quickly and without and undershoot, overshoot, or oscillations around the target. The values preprogrammed to VVTuner were found to work well with a standard 2001-2005 Miata VVT motor after extensive research. However, as no two engines are alike, you may need to alter the PID values. Please note that when any of the three parameters are adjusted, the loop is re-initialized and the PID I-value accumulation is reset to its starting point.
P. This term tells the VVTuner how aggressively it needs to correct. A higher value here will result in possible quicker correction, but too high of a value can result in overshoot of target and possible oscillations. Too low of a value may result as never being able to reach target.
I. This term tells the VVT tuner how much "acceleration" is needed to bring the observed advance to target advance if the error is large. A larger I value will result in quicker corrections, but too much I value may result in unsteady operation.
D. If I is acceleration, then D is the brakes. The D term will slow corrections down as the observed advance approaches the target. The D term can be implemented to reduce overshoot of target, however too much D term could result in undershoot or the ability to never reach the target.
The idea is to eliminate any advance error as quickly as possible by quickly bringing observed advance to target advance, but slowing down the correction as the error approaches zero such that the target is achieved quickly and without and undershoot, overshoot, or oscillations around the target. The values preprogrammed to VVTuner were found to work well with a standard 2001-2005 Miata VVT motor after extensive research. However, as no two engines are alike, you may need to alter the PID values. Please note that when any of the three parameters are adjusted, the loop is re-initialized and the PID I-value accumulation is reset to its starting point.
What am I missing? Why is mine all wonky?
#55
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,590
Total Cats: 4,098
IIRC you need to start high and work low. so start with P100 I0 D0.
Lower P until you hit you JUST overshoot the target.
Add I to hold the target to redline.
Add P back to keep hitting target.
Add I to keep holding to redline. Rise. Repeat.
Add D to chill out the oscilliation.
Lower P until you hit you JUST overshoot the target.
Add I to hold the target to redline.
Add P back to keep hitting target.
Add I to keep holding to redline. Rise. Repeat.
Add D to chill out the oscilliation.
#56
Wow. My Brain is fried....thanks Brain!
Vlad, get this **** figured out so I can copy your table and stop my cold bucking issue....oh wait, didn't I read Emilio saying that won't work? Awwwwhhhh. It will be a good starting point I guess.
Scott, Thanks for the step by step. I am sure this will be a great help when I am ready.
Sticky?
Vlad, get this **** figured out so I can copy your table and stop my cold bucking issue....oh wait, didn't I read Emilio saying that won't work? Awwwwhhhh. It will be a good starting point I guess.
Scott, Thanks for the step by step. I am sure this will be a great help when I am ready.
Sticky?
#57
IIRC you need to start high and work low. so start with P100 I0 D0.
Lower P until you hit you JUST overshoot the target.
Add I to hold the target to redline.
Add P back to keep hitting target.
Add I to keep holding to redline. Rise. Repeat.
Add D to chill out the oscilliation.
Lower P until you hit you JUST overshoot the target.
Add I to hold the target to redline.
Add P back to keep hitting target.
Add I to keep holding to redline. Rise. Repeat.
Add D to chill out the oscilliation.
wow.
So I had it completely backwards, and I guess I misunderstood the whole stupid thing.
Thanks Scott. I will be trying this today.
#58
There are multiple PID algorithms and MS has changed them around with minimal documentation.. Traditionally what I'm used to is increasing P until you hit or slightly overshoot target. But yeah, idle and boost pid is now like how brain describes as well. Not sure about EGO-- off topic but- anyone know?
#59
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,590
Total Cats: 4,098
idle isn't like that at all.
boost has been this way for the last almost 3 years now.
if you're tuning idle like that, then your idle probably sucks. EGO should be tuned like idle. where you tune from 0 0 0, then increase I first to hold hit the target and P to increase the ramp speed to the target.
boost has been this way for the last almost 3 years now.
if you're tuning idle like that, then your idle probably sucks. EGO should be tuned like idle. where you tune from 0 0 0, then increase I first to hold hit the target and P to increase the ramp speed to the target.