MembersPage/DamirMuha/Firmwarewishes (2012-01-20 21:01:33)

New wishes:

1. EGO correction sets to 100% when throttle is hit hard. Look log. Cars with ITB(alfa/N) is hard to map fuel at idle to have 1.00 without lambda correction. So sometime ego is 70(see log at 3.13) and when throttle is hit hard response is very bad. Because there is missing fuel.

Look at 8.125 in log how response of engine is better when ego correction is 100%.

So my suggestion is to add bit for new way or old way of disabling ego correction. Also add value when dTPS(speed of changing TPS) then config.egodTPSdisable ego is set to 100% instantly

Log:

http://www.vems.hu/files/DamirMuha/1.1.95/v3.3_u004178-2011.10.25-17.09.34.vemslog

2. MAT/TPS table is to big, imho 5*8 is good size(5 tps positions, 8 temperature position).

3. Add sensor for outside air temperature to compensate boost controller. Sensor should be the same like IAT senor(characteristic) also one pull up resistor is need on analog channel(MCP).

So add two 1*8 tables(axis is air temperature, same axis like MAT/TPS), one is for compensating refDC table(in %, relative), other is for boost target compensating(again relative, %). When is outside cold, less DC is needed for the same boost level.

4. Add water/methanol detection. Water/methanol is very good and cheap way to cold down intake air(IAT) also increase fuel octane rating.

But for good results you need to remove some fuel(because methanol is fuel) and add 1-3 deg of advance. But if system fails, then you

have good chance to destroy engine. So ecu need to detect if system is working good.

Simple and good way is to measure difference in air temperature before and after water/meth nozzle. When system is working air temperature dorps. So we need to add one more IAT sensor before nozzle(between nozzle and inter cooler). Again one pull up resistor is needed.

Suggestion for algorithm:

When difference of IAT and air temperature before nozzle is less than config.waterinjectiontemp and boost is higher then config.waterinjectionBoostTreshhold and IAT is greater than config.waterinjectionIATTreshhold for more than config.waterinjectionLag time, vems should add fuel (config.waterinjectionextrafuel) and remove spark (config.waterinjectionlessadvance) and turn on warning light. So if system doesn't work, add fuel, remove spark, basically safe mod.

5. Ego correction bug. When lambda is heated and starts to work, ego is setted to max rich limit. Ego should be 100% when lambda starts working.

6. Add config number for number of stagged injector. So on 4cyl car you can add only 2 extra injectors.

7. Anytrim which is active only when N2O is active. So pressure sensor of bottle(pressure can be from 30 to 80bar) can be connect to vems for mixture correction)

  • one option: feed the high side of potentiometer with 0V when N2O is inactive, so signal is constant 0V => effectively disabling it (and 5V when active, so signal is 0-5V ) using an N2O output. Make sure not to feed 12V into mcp3208 input !
  • good sugestion, but imho software solution(no hurry, next drag race is in 5mounts) is better.

-- OLD --

1. Output which is related with piston position. So output which is active when piston is in tdc to tdc+40deg(for example, values can be selected). That was implement in older firmware for knock integral.

  • Alternatively a (possibly unused) logiclevel ignition output can be used (also possible to configure as igndualout or rotary trailing spark output). Obviously ignout varies with sparkadv. Power-IGBT output with coil conncected is unsuitable, because it can jump to 400V (also very dangerous!).
  • Tried rotary spark output at 1.1.82 and i have strange behaviour. Dwells are from 3ms-10ms (dwell is set to 2.6ms) and possition is strange(very strange behavior). I can put screen shots of scoped outputs.

2. Anytrim which is active only when N2O is active. So pressure sensor of bottle(pressure can be from 30 to 80bar) can be connect to vems for mixture correction)

  • one option: feed the high side of potentiometer with 0V when N2O is inactive, so signal is constant 0V => effectively disabling it (and 5V when active, so signal is 0-5V ) using an N2O output. Make sure not to feed 12V into mcp3208 input !
  • good sugestion, but imho software solution(no hurry, next drag race is in 5mounts) is better.

DONE: (1.1.90) Min RPM for secondary injectors

For N/A cars sec injectors aren't good below 3000 RPM or so (bad throttle response).

If engine.rpm < config_ext.inj_stage2_start_rpm injector staging is disabled regardless tps or map. With 200 RPM hysteresis (svn revision 8633).


DONE (1.1.72) Disabling nitro when WOT shift-cut is enabled. when config_ext.n2o_settings bit2 =1