Jump to content

RyanG

Members
  • Posts

    68
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by RyanG

  1. Hi guys,

    Bit of a long post, sorry. Chasing some info from someone with more experience in regards to tuning both injector dead time and fuel charge cooling coefficient. I've got my car running and tuned on E85 (B18 turbo Honda), but was noticing a couple of issues. 1: A change in target lambda at light cruise was out by quite a bit, 2: Rich on decel even with very low effective min PW, 3: Larger than needed IAT background compensations by the modelled mode formula.

    This led me down the rabbit hole of trying to correct the injector data. I want to get this right before going back to pump 98 fuel again. My VE numbers seemed ballpark previously with 55% at idle, but maybe a little high at 121% full boost high rpm. I played with the following settings to try and get more accurate results..

    1. Injector Flow. After some research into my specific injectors (040 Bosch 980cc) and seeing tested fuel flow rates, I dropped fuel flow from 980cc to 890cc at 300kpa on E85. This only dropped max VE to around 117%, not quite the large change I was expecting but I think it's closer to the money at 890cc than 980cc. Fuel pump is a Walbro 460. Stock fuel rail and reg (manifold referenced and supposedly 300kpa base).

    2. Injector Dead Time -  Given that I was rich on decel with effective PW of <0.3ms I assumed my values were too high. Dropping it down to around 0.95ms gave me the "est mass airflow" of 3.5-4 g/s Evans tuning mentions is ballpark for a 4 cyl at idle, however I then had to raise VE to 65%+ at idle and changed the shape of map considerably. After reading some more, I tried to find a better value by switching between multi-point group 1 and 2 cycles at idle. Bit harder on G4X than G4+ as you can't do it while the engine is running and there is obviously some non-linearity at very low PW. I then tried the method of adjusting deadtime to ensure a change in lambda target at 1-3k rpm in neutral resulted in the correct adjustment. With low deadtimes it overshot by a lot. Going from 1.0 to 0.9La target made it go to more like 0.85La or richer. Increasing dead time made it closer. I then started to look at the effect of fuel charge cooling coefficient.

    3. Fuel Charge Cooling Coefficient - I used a value of 10c on pump 98 and it worked perfect under medium load. On E85 it needed to be 7C under the same conditions, which was the opposite direction to what I expected. At idle, I had to turn it all the way to 0C for a change in target lambda to match. This was achieved with a dead time of 1.101ms at 14V. VE is approx 54% and MGP is -67kpa at idle. This dead time is only 1.7% lower than supplied data, but around 10% higher than data people have gathered from bench testing the injectors.

    4. Charge Temp Correction - I experimented briefly with charge temp correction. I think it would give me more consistent results as the ecu seems to be over correcting for IAT. When its 10-15C cooler I am ~5% rich and when its 10-15C hotter I am 5-10% lean. If I bias towards ECT to dampen this it would probably help, but it really throws off my VE numbers and table shape so I'm unsure if artificially increasing and dampening IAT is the right move. For example I started getting VE numbers of 65%+ at idle, and then tapering down with RPM due to decreased CTC at higher air flow. I have a fast reacting motorsports IAT sensor mounted in an aluminium charge pipe directly before a silicone joiner onto the TB. It matches ambient with the car off (2C above ECT), doesn't seem to heat-soak while driving, and on a long pull through all the gears it goes from 35C to 48C, so about expected for my small intercooler.

    So what's the best way to move forward? At current I've roughed out the new fuel table for the slightly adjusted deadtimes and fuel charge cooling dropped to 0C. I don't want to spend any more time on it until I can get someone else to drive the car so I can test a change in target lambda at higher load where inj dead time plays less of a role. I'm expecting it to under-correct a little, but we'll see. As for the change in fueling vs IAT, first I will double check the IAT calibration, but it is giving seemingly accurate results and certainly not off by a large %. I'm really not too sure why the background calculation is having such a large over-correction for my setup. I'm likely going to setup a simple low-res 4D fuel table with IAT vs X (not sure whether to go MGP, RPM, or Air Flow?) in an attempt to get more consistent results with varying IAT. I'll do some tests by blocking the intercooler to confirm results. I'm also going to order a fuel pressure sensor so that I can reference it in the fuel calc rather than an assumed 300kpa value.

    Attached is a copy of my tune and logs. The smaller log is from last night which matches the current tune. The larger log is from a cruise last weekend with cool IATs - https://drive.google.com/drive/folders/1HRLEzSbhF_qzDPXjj4oy1JDqLZ4gA_--?usp=sharin

    Would appreciate any insight, I'll update this post with any progress I make.

  2. 7 minutes ago, dx4picco said:

    I usually put 0 as trim limit in my overrun trim table cells to avoid trims going negative while doing that. 

    Still having rich peak because of wall wetting evaporating, but that's not due to CL

    Yeah I've done that, but the trim limit tables don't have a reactivation delay, so when I touch the throttle it takes a large amount of fuel out due to the rich overrun.

  3. Does anyone at Link have an opinion on transient lockout parameters as absolute values?

    I'm struggling a little with transient behaviour. I've been using TPS delta vs MGP for my closed loop trim limits with 'some' success, but what is frustrating is CLL making adjustments shortly after rolling out of the throttle. Zero's in my negative 5 or 10% TPS delta columns lock it out for a split second, but then there is a period while TPS delta is at zero, but MAP is still falling towards vacuum (and within a trim limit range). If I then apply a small amount of throttle (less than tps delta limit) while it is already pulling say 5-7% fuel. It causes a momentary lean spike until the correction comes back down to zero. If transient lockouts were absolute, or better yet, allowed a separate minimum value, the reactivation delay would take care of this. I tried MAP delta, but my signal is a little too choppy. Even a minimum MAP lockout would probably fix this as it would have the reactivation delay after decel.

    The root cause is really that my fuel table is too rich on heavy decel, likely due to no SPWA data (or deadtimes that are slightly off). I’ve tried playing with injector data, but then I get VE numbers which don’t seem “right” so went back to supplier deadtimes and zero SPWA. Injectors are Bosch 980cc on a 4 cyl. It happens on both 98 and E85.

    My fuel table is within a few percent nearly everywhere except for decel at less than -75kpa. It runs quite well in open loop, but I'd like to run closed loop for some safety and to pickup the slack with IAT fluctuations and heat soak that I haven't quite nailed down on a method to reduce.

    Interested to hear some thoughts on negative transient lockouts so a reactivation delay can be used. Perhaps I'm missing something as to why not to implement it (be it firmware/code related or actual engine running).

  4. A couple of notes I made while using the mixture map that I thought would be worth looking at. Feel free to discuss, there's likely reasons why some aspects are the way they are, but I thought I'd share anyway.

    - CLL corrected lambda channel would be handy to have, without having to use a math block. I feel like mixture map is something people use while sifting through large logs from a period of driving that wasn't an active tuning session, so for most people I assume CLL would be active.

    - Percentage of change towards target. With ECUmaster a friend says he can choose the percentage of change, so if mixture map calculates it needs another 2% in that cell, if you select "50%" it will adjust it by only 1%.

    - Lambda delay. Transport delay to the sensor is obviously going to effect mixture map readings. I'm not sure what the best way is to tackle this, but it's something that needs to be considered while using mixture map at current.

    - Additional filter slots would be a really big help. I flick through a couple different conditions/filters to see which is playing the largest role for that log, but it would be nice to have them all included.

    - This could be an alternative to the above, but would be awesome to have both. The ability to use multiple "<" or ">" signs for a condition parameter on a single filter. Eg., "70C < ECT < 95C" or "-5% < TPS Delta < 5%", etc.

    - The highlight range doesn't seem to save, it always goes back to 0.27La.

    - Ability to apply all changes with a single click. If there was a greater level of filtering this may be handy.

    - Ability to ctrl+z mixture map changes. Maybe I'm missing something, but I can't seem to undo a change after applying a mixture map correction.

    - Lockout for engine cuts? Can use CLL < 9.5 I think, but already limited on condition slots.

    - Transient filters are units/s, but TPS and MAP delta channels are units/100ms? I think units/s makes sense for most other channels, and ideally I'd use a conditional filter for TPS and MAP delta seeming they are already logged, but can't really do this if restricted to 3 conditional filters. Which means I then use TPS and MAP as a transient filter, but it's a different unit scale.

    - Ability to use either a zoomed in section of the log only and/or the ability to trim log files.

     

  5. I'm going to assume there's a reason for why math blocks have a 20 character limit, but thought I'd ask anyway. I have to use 2 math blocks to calculate some channels due to needing just a couple more characters. You eat into the characters pretty quickly with just basic equations. Would it be possible to increase this limit?

  6. On 2/25/2023 at 9:42 PM, essb00 said:

    Ummm... You're supposed still to have warm-up enrichment up to 70°C. While any warm-up enrichment is still active, any fuel corrections would be counter intuitive.

    Not if you have a lambda target offset vs ECT. Then it would be beneficial to have STFT to meet target, but obviously we don't want this throwing off LTFT's that are well dialed from regular driving.

  7. On 12/7/2020 at 1:56 PM, Adamw said:

    To verify deadtime, you can set injection mode to multipoint group and switch the injection rate back and forth between 1 cycle and 1/2 cycle, while at constant fast idle.  Lambda should settle to about the same value on either rate setting.  If lambda changes when injection rate changes then adjust the deatime up or down until lambda is the same with either rate.  Give it a few seconds to stabilize each time you make a change.   

    This setting is locked while the engine is running? I assume it's changed. I had a play around with my deadtimes last night to try and get them closer. It makes it a bit hard to do it when you have to restart the engine.

  8. 13 minutes ago, Juicy said:

    Thankyou once again mate.

    I'll set the link calibration 15° and double check with a timing light to make sure it's accurate, but from memory it was recently set @15°, so should be no issues.

    I'd love to copy/paste my old ignition timing table but unfortunately my old ECU decided to burn out (when I accidentally touched the two battery terminals together using a ratchet.... woops)

    Also, would you know what firing mode the RB uses? I'm guessing it was Sequential iirc.

    Not a problem at all. The trigger offset in the Link will more than likely need to be adjusted. I'd lock the timing at 15 then adjust the trigger offset to make the crank mark line up. I'd say it's sequential given it had a cam sensor, yeah.

  9. 3 minutes ago, Juicy said:

    I've got all that down (up to cranking) but I have already set my CAS @15° BTDC on my old ECU, so I know the timing is 100% 15°.

    More so curious if I can just set the base timing to 15° in the calibration box, or do I rotate the crank angle sensor and get it to line up with the ECU @10° or, if I just keep the CAS where it is and adjust the delay in the calibration box.

    Then, i'm assuming if the base timing is 15°, it'll compensate in the map and won't throw the timing off (as it's just base timing to gauge position)

    You can line up the calibration with either the CAS or the trigger offset. The calibration just matches timing between what is happening at the engine and is requested by the ECU. The actual number it's calibrated to is somewhat irrelevant.

    You can calibrate and check/lock timing at TDC, but after exiting the calibration, if the cell in the ignition table which the ecu idles at is requesting 20 degrees, then its 20 degrees.

    If you're confident that your last timing map was calibrated and accurate, then you can calibrate timing and then copy-paste/reference your old ignition map into the Link to get you started.

  10. 52 minutes ago, Juicy said:

    If my base timing was set @ 15°BTDC on my old ECU, do I have to rotate CAS until it's 10° with the Link, or can I just change the field to 15- or will this advance the timing across the whole base map by 5°?

    With the engine running (or cranking if you're not up to that yet):

    Ecu settings > Triggers > Calibrate > Set Base Timing

    > Lock ignition timing to a value that the engine has a reference mark for (not familiar with RB markings), say 15 degrees
    > Adjust trigger offset (or CAS) until a timing light matches the exact degrees that the ecu has locked it to
    > Rev engine and check drift, adjust delay to suit

    Once this is done, what is requested in your ignition table is what is delivered. If you press F1 on 'Calibrate' this is outlined in the help manual.

  11. On 2/16/2023 at 7:18 AM, Vaughan said:

    I'll have a look through the code.

    Any luck finding a cause for this?

    It's quite noticeable when you roll out of the throttle at a specific rate.

    The firmware Adam PM'd me has fixed my charge temp correction issue.

  12. 3 minutes ago, Adamw said:

    Sorry for the slow reply, I've been busy as with other stuff and havent had time to do justice looking at this again since my last reply.  There is another post poped up in the G4X forum in the last couple of days that has a similar short spike of CLL beyond the trim limits so I suspect there is a bug causing that.  Strangely I haven't seen it happen in my car, the limits are always honoured in that so there is some other factor involved.  Anyhow, the Firmware team know about it now and will take a look when they get a chance.  I will have to have another read through your posts and logs again to bring myself back up to speed on all the details before I can offer much further thoughts.  That may not be for a few days yet.  

    The other post is probably mine, so it's potentially specific to how I've got something setup in the tune. No stress, thanks for your help.

  13. 7 hours ago, Vaughan said:

    All 0's just means it is always using just the IAT as the air temperature instead of a mix of ECT and IAT. The charge temperature is used to calculate the density of the air coming in so that  the volume of air going into the cylinder as specified by the VE table and engine capacity can be converted to a mass of air.

    A value of 100 in the table means that the air coming in is the same temperature as ECT and a 0 means the air is the same temperature as the IAT runtime. a value of 50 means that the air temperature is (IAT +ECT) / 2.

    The charge temperature approximation table is always used all of the time.

    I'll have a look through the code.

    Yeah I get all that, my wording probably wasn't clear. I've got all zeros and it's not using the IAT value when in boost, it's acting as if there's 30-40% CTC bias? If you check the log, when I start to get in boost charge temp goes up to say 50C when IAT is 35C.

  14. Couldn't seem to get realistic VE numbers at idle with injector data Adam had posted on FB, or in the G4+ storm basemap (they were quite different too?).

    Gone back to supplier data (Goleby's) and zero'd the SPWA table. 55-60% VE at idle, 103% VE peak on low cam and 110% peak on high cam. Think I'll leave it at that.

    Still have the massive CLL spikes (past trim limits) on deccel though..

    https://drive.google.com/drive/folders/15mEKdZCo8X3JeMFaDvleiPwS-RLttpIj?usp=sharing

  15. Hi guys,

    Can anyone work out why I have charge temp correction occurring when I've set it all to zero's? Is it a bug with my axis (mass air flow), or is there something I'm missing.

    I was playing with injector data and ironing out some bugs so decided to zero out the CTC table, but after getting home and going through the logs I noticed it was still active when in boost?

    My CLL is also going to -100% on deccel for a split second (even though it shouldn't due to trim limit tables).

    Log and tune file attached here: https://drive.google.com/drive/folders/15mEKdZCo8X3JeMFaDvleiPwS-RLttpIj?usp=sharing

    Cheers,
    Ryan

  16. On 2/11/2023 at 8:28 AM, Adamw said:

    Also, what injectors do you have?  You only have 0.1ms of PW during overrun but it is still too rich?  I dont know of any injector that would even open with 0.1ms effective PW so that would suggest your deadtime is very wrong.  

     

    On 2/11/2023 at 11:41 AM, gorto88 said:

    They're Bosch 980cc. Deadtimes set as per data sheet supplied, I used ID1000 pulsewidth adder tables. 

    Purchased from: https://golebysparts.au/products/bosch-1000cc-980cc-1150cc-fuel-injector-e85

    I did see an older post of yours referenced a Link test car which had these injectors and you had tested them. You said to look at a specific base map, but it's no longer available. Do you have a copy of suitable pulsewidth adder tables for these injectors if ID1000 numbers aren't suitable?

    I guess the main variable here would be I don't have a fuel pressure sensor. This will be getting wired in as well as a bunch of others when my expansion loom arrives. I've assumed 43.5psi base pressure (and MAP referenced) as this is what I'm told it should be.

    Taking a closer look, I realised that the map you referenced was G4+, not G4X ("G4+ Storm Black Sample.pclr").

    So after installing G4+ software and taking a look, the deadtime table is decent amount different to the data that is supplied by distributors.

    However, I think the real problem may be my SPWA table. I evidently missed, or chose to ignore, the red writing in the help file stating SPWA tables vary greatly depending on injectors and blindly copied what was in the help file under the impression that my ~1000cc bosch injectors would be close enough to ID1000's and that ballpark data is better than zero'ing the table. As such, my SPWA table has positive values, not negative (and the Link numbers go to zero at 0ms which I also thought was odd). Seems ID have updated their data since the help file was written too. I also noted that ID1000 numbers are positive and ID1050X are negative, which shows how different they can be.

    I'll upload the injector data from the G4+ Storm Black Sample map and see how it goes. I guess this also explains why changes to the target lambda at idle were never close. I need to retune the low cam fuel table anyway as I've made some fairly large changes to the charge temp correction table at lower flow.

  17. 3 hours ago, Adamw said:

    Also, what injectors do you have?  You only have 0.1ms of PW during overrun but it is still too rich?  I dont know of any injector that would even open with 0.1ms effective PW so that would suggest your deadtime is very wrong.  

    They're Bosch 980cc. Deadtimes set as per data sheet supplied, I used ID1000 pulsewidth adder tables. 

    Purchased from: https://golebysparts.au/products/bosch-1000cc-980cc-1150cc-fuel-injector-e85

    I did see an older post of yours referenced a Link test car which had these injectors and you had tested them. You said to look at a specific base map, but it's no longer available. Do you have a copy of suitable pulsewidth adder tables for these injectors if ID1000 numbers aren't suitable?

    I guess the main variable here would be I don't have a fuel pressure sensor. This will be getting wired in as well as a bunch of others when my expansion loom arrives. I've assumed 43.5psi base pressure (and MAP referenced) as this is what I'm told it should be.

  18. 36 minutes ago, Adamw said:

    Yeah that doesnt look right.  Can you give me a copy of your tune so I can try to reproduce the same problem.  I just tried duplicating all operating conditions that were present at the time on a simulator and I cant make it do that yet.    

    No worries, see attached tune that was current at the time of the log:

    https://drive.google.com/drive/folders/10lp-z9sPWWhC3Y6wxhP78RT2GhXfB8cN?usp=sharing

  19. 7 minutes ago, Adamw said:

    I can give some info if you are well experienced with PCB soldering, ESD practices and have a reasonably powerful soldering iron - say 60W or so.  The stubs that you need to solder to are highly conductive copper/gold and set in plastic so you need to get the heat in and out fast before things go soggy.  

    Note modifying the ecu may void its lifetime warranty.

    I'm definitely not, but I was going to run through the instructions with a local guy who has done ecu work for me previously and see if he was comfortable with it. Alternatively if you are able to provide details to return to Link for this process and I can evaluate/plan for the downtime.

  20. I assumed the TPS/MAP delta limits would've been absolute values, but they're not. I'm using 3D trim limit tables with MGP vs RPM, but having issues when I back off the throttle and it takes a few tenths to drop below -75kpa/idle to where the trim limits are zero for over-run.

    Any tips on how to avoid spikes in the CLL control after large negative TPS delta values, while also maintaining a trim limit table based on MGP?

    I also noticed I have some sharp spikes of -43 to -44% for a split second when backing off. My trim limit tables have a max of -7% at idle (and less at WOT) so not sure where it's coming from. The CLL status also says "max clamp" in these situations, which is odd.

    I've reconfigured my trim limit tables to be MGP vs MAP delta seeming I wasn't varying limits with rpm anyway. I'll have it the same, but run zero's for negative MAP delta values. By the time it gets back to positive delta it will be below my MGP trim limit. See how it goes..

×
×
  • Create New...