Jump to content

4age 20v multi-condition VVT


krohelm

Recommended Posts

For my 4age 20v Blacktop I'd like to trigger VVT like the factory ECU, considering ECT, TPS (or maybe mgp) and RPM.  I'm just uncertain about the best way to model this in PCLink with regard to volumetric efficiency.  I think advancing intake cam by 30 crank degrees changes VE - if this is true, what's the right way to account for it in PCLink?  It's a little more complex than just filling in the VE table, since the same throttle position & rpm can have advance or not depending on coolant temperature (and maybe other factors).

I have an aux set to CAM-Switched with a virtual aux condition chained to get a couple more conditions.  Dual Table Mode set to Dual Table, activated by the VVT aux trigger.  The most obvious solution to me is to use the 2nd fuel table and basically tune the engine twice.  Is there a better way to handle triggered-VVT VE shifting on a modeled fueling tune?

4age 20v modeled.pclr

Edited by krohelm
Link to comment
Share on other sites

Sounds like you're overcomplicating it TBH.

Also you dont want it turning on *just* with throttle position as you want to move the cam through the rev range. 

You'll want it to turn on at WOT at some point in rev range (probably 3k onwards) then turn back off again somewhere around peak torque (so probably off again 6-7k)

You can test with your wideband to see which cam setting is best through the rev range. 
So set no advance, do some runs to stabilise your AFR. 

Then turn on the VVT through the rev range, the areas where it now runs leaner (meaning more air is now entering engine) are where you'll want to have VVT turned on. Any areas where it runs richer, you want VVT turned off. (Note: This only applies to full throttle)

Once you have best cam switching rpms set, this happens predictably and consistently. 
So you just need your fuel and ignition maps to represent the VE of which cam position you have at that rpm and load combo. Rathr than having two seperate maps or whatever.

I would leave coolant temp completely out of the equation, it's likely only for emissions reasons that it would avoid introducing more overlap at low ECT. But I would wager that you're not planning on thrashing your car when it's cold anyway. Closed loop lambda correction can fix up the AFRs if you did want to turn VVT off for cold engine.

To visualise the changes that VVT makes, here is an example using airflow meter to datalog my VVTI engine with various cam angles. 

Imagine that in your instance you will only have two possible lines which are 12 and 40.

Peak torque happens on my engine at 6000-6500ish so you can see how pulling cam timing back at this point is beneficial for power past that point.

cwpvy1sl.rce.jpg

Edited by Davidv
Link to comment
Share on other sites

Thanks for the detailed reply!  I definitely don't want to just consider rpm, especially as I'm going after drivability first, performance second.  The factory ecu kicks in VVT around 40% throttle while ECT is above something like 50c.  If I'm not worrying about coolant temperature (which definitely, I won't ever flog it cold, it's not a daily driver) then maybe yes it can all just be reflected on the main fuel map.

I'm new to this stuff, but very eager to learn, and posts like yours are very helpful; I wish I had VVTi but hey, 20v's sound really good :-).  I missed my dyno appointment due to lambda problems, but have another scheduled in a few weeks.  In the meantime I'll be gathering logs on the road and learning.

FWIW I just took a 2 hour drive with a really aggressive >5% tps at 500-7500rpm to get VVT data logged.  I think from this information I can plot the optimum rev range choices at least for the low RPM crossover.  I'll need to dyno to get it perfect, but it should be a pretty reasonable first cut to just use max resolution pc logs.  Hopefully there's just a low & high crossover or the condition will get pretty ugly.

However accurate this app is in absolute measurements, it does show at least show the relative behavior of my factory ECU very consistently:  https://network.perfexpert-app.com/results/Om73daQtqJ  I'm hoping to fix that torque hole (you can definitely feel a "flatness" via butt-dyno on factory ECU).  With a drivability focus, that point likely differs around the fuel map.

Is there any way to have a "general purpose map" where I can define ON/OFF for my cam switch (e.g., rpm / tp(main)  <maps to>  aux4 on/off)?  This would still let me use 1 fuel map but get way more value out of my cam switch!

Link to comment
Share on other sites

Based on logged VE tuning with VVT ON or OFF, about 3.5 hrs of driving show maximum VE would be chosen as follows for RPM/TPS:

 22502500275030003500400045005000550060006500700075008000
1011000000111111
1511100000111111
2011100000111111
2511110000111111
3011111001111111
3511111001111111
4011111001111111
4511111101111111
5011111111111111
6011111111111111
7011111111111110
8011111111111110
9011111111111110
10000111111111100

 

 

This seems like a pretty valuable use case for which to be able to define a map.  I have been digging in PCLink but I can't find a place to translate this map into an input for my Switched Cam auxiliary output.

That red range in the middle is the highway cruising zone.  I'd love to have that tuned correctly!

Link to comment
Share on other sites

You could set your aux 4 to GP PWM 

and then fill out with 0% or 100% 

Might be a better way to do it but that would probably work.Would just need to be wary of where it's trying to interpolate between 0% and 100% you might need to set some custom rows very close together.

e.g. one row at 2999rpm 0% and one row at 3000rpm 100% so it's only interpolating across 1rpm instead of 500 or 1000.

Otherwise you could use your normal set of conditions and do the same things above for a virtual aux instead, that acts as one of the trigger conditions.

 

Edited by Davidv
Link to comment
Share on other sites

You could set your aux 4 to GP PWM 

and then fill out with 0% or 100% 

Might be a better way to do it but that would probably work.Would just need to be wary of where it's trying to interpolate between 0% and 100% you might need to set some custom rows very close together.

e.g. one row at 2999rpm 0% and one row at 3000rpm 100% so it's only interpolating across 1rpm instead of 500 or 1000.

That's a good idea, I might give this a try on the short term.  This would let me start getting comfortable with 1 fuel table like you advised.

Otherwise you could use your normal set of conditions and do the same things above for a virtual aux instead, that acts as one of the trigger conditions.

I wanted to use a virtual aux for the table, but I don't see one that gives a table.

Basically, the feature I'm missing in PCLink is one of:

  • An optional Table on the CAM-Switched function.
  • A Virtual Aux boolean (on/off true/false) table.

Will post in WishList for this, I shouldn't need to use a PWM output to get an auxiliary map :-).  Thank you for your insight Davidv, this will move me forward!

Link to comment
Share on other sites

Crazy thought, what do the VVTi Inlet Target Table values mean when you don't have a cam angle sensor configured?  The documentation says it is degrees of cam advance but that only relevant tables are enabled for configured inputs and outputs.  A cam solenoid output is a pwm output, but its table is in degrees:  I'm still down an oscilloscope or I'd measure it.

Link to comment
Share on other sites

I'm not sure I have understood your question but here is a basic explanation:

Vvt is a closed loop function, with error feed back from the position sensor contributing to the calculated pwm output. If there is no position sensor the pwm will just continue to increase or decrease until it hits the clamp value.

 

Link to comment
Share on other sites

On the 20v 4ag's the vvt function is more like a Honda VTEC system with where only an On or Off is available.

This system is not a continuously variable system like the VVTI on a 2jz or AVCS on a Subaru.

You can add more conditions by utilizing an virtual aux.

Edited by Brad Burnett
Link to comment
Share on other sites

Hi Brad, I'm definitely aware of the mechanical function of the 4age 20v blacktop vvt solenoid and cam pulley.  If you check out the map I put together above in red/green, there are not enough virtual aux conditions available in total to produce a full 3d map of the correct vvt on/off state across rpm and tps.  That's why I feature requested a v-aux 3d map; this optimization problem is just more complex than 3 or 6 combined conditions via the provided switched cam output type in pclink.

Adam, can you confirm which values should be used to drive 0/100% duty cycle switch (no partial duty cycle) on the VVT Inlet Target Table & vvt solenoid output with no cam angle sensor input?

Link to comment
Share on other sites

Adam, can you confirm which values should be used to drive 0/100% duty cycle switch (no partial duty cycle) on the VVT Inlet Target Table & vvt solenoid output with no cam angle sensor input?

Like I said earlier a VVT target table will not be an improvement over a GP PWM.  It will still be a variable 0-100DC output, not on/off like you want.  Stick with the GP PWM.

Link to comment
Share on other sites

@Davidv: I did both 1rpm interpolation and 1tps interpolation.  I'm still a little concerned about TPS interpolation, as it's totally feasible to rest at (e.g.) 19.4% tps up a hill on the freeway and I don't want 40%pwm going through my solenoid as it's undefined behavior... and the PWM map only gives 1% TPS resolution.  I'm not sure this is the right tool.

And I confirmed on the car, my solenoid whines when I slowly move the throttle past a 1% boundary (like between 9% and 10%) and "thunks" like normal when I drop past the threshold very quickly.  Man, that logic table looks pretty appealing right about now...  :(  Any other novel ideas to reflect this map?  (Attached the map that almost works)

pwm vvt.PNG

Link to comment
Share on other sites

My initial feeling is I doubt that you would ever be able to hold your foot constant within about 0.5%TP, but I have never tried so that's just something you will have to test.  I also suspect the cam probably wont actually switch state until the solenoid gets above something like 40% and below about 60% so in reality the potential for "in-between" might be even smaller than 0.5% TP.

As you have the table set up in this example you have 100 "steps" of resolution on the Y axis.  One trick you could do to get more resolution if you thought it is needed is change the Y axis to AN Volt (that your TPS is connected to).  AN Volts has a resolution of 0.01V so you will then get about 500 "steps". I know that will make setting up the table a bit of a head scratching exercise though...

Link to comment
Share on other sites

I have logs, definitely hold it consistently within 0.5% for significant stretches of time.  AN Volt is a great idea to get this moving forward:  If I can specify the Y axis in 0.01v increments and if that is the measurement granularity, there is no pwm interpolation window which is ideal.  It'll be easy to set up and test tomorrow, thanks for the idea!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...