MS3 VVT testers
#1
MS3 VVT testers
Those who wanted continuously variable VVT support on MS3, we've got the first bit of code in for it in the 1.1 pre-alpha, but we need to know what wheel configs to try on the bench. Could you guys who previously volunteered to try it provide msq's for us to use to begin trying it?
Thanks,
Ken
Thanks,
Ken
#3
mkturbo.com
iTrader: (24)
Join Date: May 2006
Location: Charleston SC
Posts: 15,176
Total Cats: 1,680
Ken,
I believe the few of us who are running MS3 are using the 99/00 Miata trigger wheel setup in the Spark mode drop down menu.
This is an image of our 4 tooth wheel.
Any clue on ETA for this. This could just be the motivation I need to get my car running. I will also try to send you my MSQ later tonight.
Lars
I believe the few of us who are running MS3 are using the 99/00 Miata trigger wheel setup in the Spark mode drop down menu.
This is an image of our 4 tooth wheel.
Any clue on ETA for this. This could just be the motivation I need to get my car running. I will also try to send you my MSQ later tonight.
Lars
#4
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,338
Total Cats: 573
Mememe
MSQ attached. Check out PWM A for my current open loop VVT crappy map.
I believe the primary variable is RPM with some consideration for minimum MAP values (there's instability if I advance below 70kPa for example) so a 3D map (MAP/RPM) would be good.
I'm not sure but I think mazda's OEM implementation used other variables like TPS as an input.
And it would be nice if the value could be meaningful -- that is offset to provide advance and retard numbers in either crank or cam degrees from "zero", whatever that might be. for example when I unplug the cam, I know it's at -12.5 degrees (full retard--where it rests mechanically) and I could see the datalog show the cam advance as "-12.5". Then if I advance the cam to, say, 0 degrees, the logs would show a true 0 that matches the cam phase.
Some have also mentioned varying PID with RPM but I'm not an expert on why.
MSQ attached. Check out PWM A for my current open loop VVT crappy map.
I believe the primary variable is RPM with some consideration for minimum MAP values (there's instability if I advance below 70kPa for example) so a 3D map (MAP/RPM) would be good.
I'm not sure but I think mazda's OEM implementation used other variables like TPS as an input.
And it would be nice if the value could be meaningful -- that is offset to provide advance and retard numbers in either crank or cam degrees from "zero", whatever that might be. for example when I unplug the cam, I know it's at -12.5 degrees (full retard--where it rests mechanically) and I could see the datalog show the cam advance as "-12.5". Then if I advance the cam to, say, 0 degrees, the logs would show a true 0 that matches the cam phase.
Some have also mentioned varying PID with RPM but I'm not an expert on why.
#5
Supporting Vendor
iTrader: (33)
Join Date: Jul 2006
Location: atlanta-ish
Posts: 12,659
Total Cats: 134
It would offset differences caused by different oil pumps and oil viscosities. But assumes that the PID vs RPM table is correct on both cars.
Seems less good to me than tuning the PID as needed and on a per car basis.
Ken, there is only 1 official wheel config found on Miata VVT motors, same pattern as 99-00 Miata. The only other pattern that would make sense would be for cars with the TSE (aftermarket) crank wheel which has 12 evenly spaced teeth. Cam wheel would be the same.
I have a 60-2 on my crank, but see no need for you to write a decoder for that.
#6
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,338
Total Cats: 573
You know, I never touched PID on the hydra and dont remember having overshoot or undershoot issues. the system doesn't have to respond that fast comparatively since it's only trying to match rpmdot generally.
#7
Supporting Vendor
iTrader: (33)
Join Date: Jul 2006
Location: atlanta-ish
Posts: 12,659
Total Cats: 134
I'd imagine that the 'base' PID values (once figured out) would be good for nearly every application. That leads me to the same conclusion that PID vs RPM is not worthwhile.
I thought hydra didn't have 'D' term.
I thought hydra didn't have 'D' term.
#8
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,338
Total Cats: 573
Jeremy mentioned on miata.net that hydra's D term is fixed.
but D is still only for marginal improvements in system response anyway. If you can get a decent ramp time to target without it, great.
but D is still only for marginal improvements in system response anyway. If you can get a decent ramp time to target without it, great.
#14
As far as plans, this is what James and I have discussed so far:
For 1.1:
- Support for 1 variable cam only
- 8x8 timing table (open to discussion)
- 2 settings for min and max absolute angle. Table will use this to make its values relative to the closed position
- P, I, and D terms.
- Injection timing will be changed in step with the current cam position. The injector timing table should be filled in as if the cam is fully in its most retarded position.
- Actual angle measured will be in absolute engine degrees (0-720 deg) what we actually display can be adjusted using the min/max numbers you enter.
- Anything coolant based? (disable on cold engine for example, or go to a specific position and hold it until xxx temperature)
I expect that for the PID numbers, most engines of the same time will work the same. We will have to support 2 different types of actuation as it appears that there are a couple out there.
James has started on most of the above with the exception of the PID part. I'll be doing that part. I'll be making all the current PID routines more generic and combining the main PID code into one function (saves a lot of space).
y8s: Once I get the PID part done, I'll want to meet up with you and test it on your car, specifically looking to see how accurately and quickly I can get the valve position to follow the target during quick blips and sudden throttle changes.
For 2.0, we'll add support for 3 more cams for a total of 4 cams.
Ken
For 1.1:
- Support for 1 variable cam only
- 8x8 timing table (open to discussion)
- 2 settings for min and max absolute angle. Table will use this to make its values relative to the closed position
- P, I, and D terms.
- Injection timing will be changed in step with the current cam position. The injector timing table should be filled in as if the cam is fully in its most retarded position.
- Actual angle measured will be in absolute engine degrees (0-720 deg) what we actually display can be adjusted using the min/max numbers you enter.
- Anything coolant based? (disable on cold engine for example, or go to a specific position and hold it until xxx temperature)
I expect that for the PID numbers, most engines of the same time will work the same. We will have to support 2 different types of actuation as it appears that there are a couple out there.
James has started on most of the above with the exception of the PID part. I'll be doing that part. I'll be making all the current PID routines more generic and combining the main PID code into one function (saves a lot of space).
y8s: Once I get the PID part done, I'll want to meet up with you and test it on your car, specifically looking to see how accurately and quickly I can get the valve position to follow the target during quick blips and sudden throttle changes.
For 2.0, we'll add support for 3 more cams for a total of 4 cams.
Ken
#16
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,338
Total Cats: 573
I believe mazda uses minimal overlap during warmup for stability and economy. So yeah a temperature ramp-up would be nice.
Also the injection timing thing will be nice because right now my injection timing map looks like this:
and it may or may not match my VVT map exactly.
Also the injection timing thing will be nice because right now my injection timing map looks like this:
and it may or may not match my VVT map exactly.
#17
For example, before I do the PID part of VVT, I am going to combine all of the current PID routines into a single generic PID routine. I will do my best to keep all current PID routines working the same, but that functionality will need to be retested by me, and reverified by anyone willing to try it in their cars.
James and I use the MS3 in all our cars though, so we usually catch any major problems before users take the code. I have an NA 1986 mazda rx7, and a 1985 toyota corolla gts with a 20v 4age swap running 1zz-fe COP coils; James has an old ford cortina with a rover v8, so we get pretty good test coverage.
1.1 will be *alpha* when we start releases though.
Ken
#20
How slow? Well it seems to me that in my PI only AEM my settling time is ~300 ms, and the setup shows some occasional ringing at low RPM.
300 ms settling time is OK if the advance curve only changes with RPM and not MAP; and RPM doesn't change that fast, and thus the target cam angle doesn't change that fast. If it changed with MAP, you may have retard say, in cruise, and advance when you floor it, the 300 ms lag may dull your throttle response.
A possible solution, other than to have RPM based P I and D's is to factor the RPM into the P, I and D calculations (the time based ones), i.e. multiply their output by the RPM, so that at low RPM they are scaled down.
re: Mazda's advance map changing with coolant temperature - this is OK if you had a mass airflow meter as your load input. The problem with this and a MAP load input, is that with varying cam phase you now have differing VE / airflow for a given combo of MAP and RPM, so your fuel and advance calculations will be wrong when the cam phase changes.
My advance table shows start of advance at IIRC 1500 RPM and advance diminishes above 5500 RPM.
This advance diminishes as you go from 100 kPa to 50 kPa. At 50 kPa I have no advance.