Menu

Fuel maps

Jusubbi
2013-10-02
2013-10-25
  • Jusubbi

    Jusubbi - 2013-10-02

    Do you have fuel maps for specific cars? I have hyundai getz '06 1.1l and sometimes it gives error about fuel system too rich. Maybe crankling enrichment causes this? This have pre-heated lambda.

     
  • Tomas

    Tomas - 2013-10-02

    Hi, this kind of error, ECU detect only in closed loop mode. If you have preheated sensors, it takes about 10-30s to enter closed loop, cranking enrichment is not applied so long. I think only cold start enrichment can do this, tune cranking enrichment only if engine cranks hard. Best way to resolve this is to get OBD scanner and check closed loop status / oxygen sensors.
    I have grande punto 2008 and it takes about 100km to turn check engine on if something is wrong with mixture. Also it enters closed loop after very long time / distance.
    When you tune maps, make sure you have 100% E85/E70 in tank, mix with gasoline has big impact on enrichment during cold start.
    If your car enters closed loop very soon, it is very easy to setup maps to right values, get scanner and look for short therm fuel trim during warmup. Chinese sell elm327+shipping for 10 dollars (dealextreme.com).

     
  • Jusubbi

    Jusubbi - 2013-10-03

    I have elm327 bluetooth and android phone with dashcommand. Long fuel trim is -15 and short between +8...-28. This one gives error less than 10km of driving. Ok, so problem isn't crankling enrichment. I tested with E70 and E85 modes, and both gives system too rich error randomly. Maybe there is left gasoline in tank.

     
  • Tomas

    Tomas - 2013-10-03

    Long fuel trim is parameter which caeses lean/rich errors, typically when it reach limit value. If you use bioadapter with 20% enrichement (~auto mode), typical long trim values are:

    • for gasoline -20% (gives total 1.2x0.8 = ~1)
    • for E70 +10%
    • for E85 +22% (gives total 1.2x1.22 => 1.46 enrichemnt)
      In your case it looks like they sold you gasoline instead of ethanol :) It sometimes happend before winter, last year i was lucky and get about two tanks of gasoline for price of E85. You can do simple test when you mix 100ml of fuel with 100ml of water. Gasoline then separate and flow on ethanol&water mix. For E85 there will by like 15ml of gasoline, 30ml of gassoline for E70, etc.

    Mine fiat and ford mustang can adjust long fuel trim in range +-25%, so they handle any mix in tank with bioadapter. Looks like your car can only adjsut long fuel trim in range +-15%. This is no good, you have to switch bioadapter if you change fuel.

     

    Last edit: Tomas 2013-10-03
  • Tomas

    Tomas - 2013-10-03

    Few notes for your car, i belive hyunday will have high compression ratio, this is big advance with ethanol, your car will probably will not need so much cold enrichement like mine (fiat is turbocharged, it has very low compression). So you probably will need to lower values in all maps. And also if your car can only adjust long trim in +-15% you will need to increase basic enrichement to 30% for summer's E85, you will see later if lean error apears.
    There it is (varstore.c):

    g_vs.cfg.vals[VAL_BASE_E] = 20;     // enrichment
    
     

    Last edit: Tomas 2013-10-03
  • Jusubbi

    Jusubbi - 2013-10-07

    Here is some log data from obd (this is short fuel trim). Long fuel trim have two constant values. -24%..-25% and -15%..-16%. I don't know which one is right.

     

    Last edit: Jusubbi 2013-10-07
    • Tomas

      Tomas - 2013-10-07

      interesting, you get this map directly from ECU or it is like run time logged map?
      long fuel trim problem - first check if there is ethanol in your tank with water test, so be sure you have actually E85 in tank
      short fuel trim - looks like there is big error in low load (short pulses) area. This may be cased by this code (inject.cpp, InjCalc()):

      // Injector opening time correction
      // len -= INJ_OPEN_TIME;
      

      ECU generates pulse which expect some dead time of injector, it is called injector open time and mostly it depends on current voltage. Typical value is aroung 1ms. eckit shouldn't extend whole pulse, but only part when gasoline flows. I remove this code because fiat actually runs better without open time correction (maybe because EURO4 emission crap). So you can try to uncomment this code and set

      #define INJ_OPEN_TIME (700/15) // 700us / 15 (tick)
      

      to 1ms (1000/15), it could help to maintain your short trim map flat.
      Also this code is not debugged, i'm not sure if (1000/15) is right for 1ms. So be carrefull, start with lower values (and check stft map) or better check it on osciloscope.

      Also edit this code

      // Extend pulse only if it is not too short
      if (len < INJ_OPEN_TIME)
      

      and replace INJ_OPEN_TIME there with (700/15) constant, you don't want to scrap properly pulses.

       

      Last edit: Tomas 2013-10-07
  • Jusubbi

    Jusubbi - 2013-10-09

    That map is from log, not direct from ecu.

    I made those changes to inject.cpp and reset ecu. Now engine runs better and there is no error about too rich. I check fuel trims later.

    I tried to suck fuel from gas tank, but there is some block before gas tank, so i can't measure mixture.

     
  • Tomas

    Tomas - 2013-10-09

    Ok, next time when you will refuel, put some fuel into canister and make the test.

     
  • Jusubbi

    Jusubbi - 2013-10-10

    Now fuel trims are: short +/-11.7%, long +12.5%. Car won't start so "easy" as before, but after it starts, then it runs fine.

     
  • Tomas

    Tomas - 2013-10-10

    Ok, i wouldn't expect so huge effect on long therm by enabling open time correction... I eventually test it on my car too.

     
  • Jusubbi

    Jusubbi - 2013-10-11

    This morning trims are: short -7.8...+3.1 and long +11.7

    Next i try to change INJ_OPEN_TIME (1000/15) to (900/15). Goal is to get long trim to 0

     

    Last edit: Jusubbi 2013-10-11
  • Jusubbi

    Jusubbi - 2013-10-14

    Yesterday i made that test. Seems like there is only 10% gasoline, so then it would be like E90 not E85..

     
  • Tomas

    Tomas - 2013-10-14

    Test looks ok, only 10% of petrol menas slightly higher fuel consumption and cold start difficulties in low temperatures.
    Injector open time should not affect long therm fuel trim, your goal is like ~22% for your E90 :) But you have to be sure, that long fuel trim was 0 with petrol in tank.
    Short fuel trim look now ok, but i was thinking about this code patch (i suggest to replace it with constant 700/15):

    // Extend pulse only if it is not too short
    if (len < INJ_OPEN_TIME)
    

    There can be possibility to ECU produce very short pulses (during engine transitional states) and in this case len can uderflow causing to produce false long pulse. So put this code back like it was for sure. I don't think there are so short pulses, but if any occures, biodapter only copies it on output without extending it - nothing horrible happend.

     
  • Jusubbi

    Jusubbi - 2013-10-15

    This morning i find out, that if temp2 sensor fail, there is no error about it (leds are not blinking), only if temp1 sensor fail.

     
  • Tomas

    Tomas - 2013-10-15

    i known that, there are 4 errors total and only 3 leds (varstore.h):

    enum Errors
    {
        ERR_INJ_LIMIT = 0x01,
        ERR_INJ_NOISE = 0x02,
        ERR_TEMP1 = 0x04,
        ERR_TEMP2 = 0x08,
    };
    

    you can switch values whatever you want (i believe green is 1, red is 2 and yellow is 4). I do not use external temperature sensor...

     
  • Jusubbi

    Jusubbi - 2013-10-24

    What happens if there is no components at all @ temp2 ? Does program work normally or does it use 0'C temp? I want use only one temp sensor (temp2 sensor to temp1). Do i have to modify code?

     
  • Tomas

    Tomas - 2013-10-24

    Primary it uses temp2 (external), if it is not aviable/connected it uses value from temp1 (internal) and if it is not also present, it uses 10C (i think).
    There has to be pull-up resistor, full +5V is condition of 'no present' sensor. So you need to modify code if you left pin disconnected.

     
  • Jusubbi

    Jusubbi - 2013-10-25

    What modifications code needs?

     

Log in to post a comment.

MongoDB Logo MongoDB