Firmware
Upgraded to 1.1.53 (non-PS2)
Changed config only as much as neccessary
Observations:
- Idle smoothness is noticeably improved over 1.1.50 (why?)
- New cranking PW table allows only 100-495 (5x) range. I used to have 10x range for -40..+77C before.
- "inject additional fuel at cranking" allow 5x5x=25x for first revolutions.
- it seems that there's no afterstart enrichment or it is behaving very differently(?) and couldn't find the way to adjust
- New cranking PW table is at the same time is afterstart enrichment.
- can't see that "inject additional fuel at cranking" is doing anything
- see above. read more here http://www.vems.hu/wiki/index.php?page=MembersPage%2FAndrey%2FCranking
- boost alt dc is slightly more than zero when reference and PID is all 0, ignores "valve off below pressure" value also
- lcd refresh speed is still broken (from 1.1.4x?), especially at startup
- boostalt ref table shares kPa scale with ignition this makes relative boost scale unusable in situations, and dangerous
- PID boost uses gear-based boosttarget scaling well, but ignores gear-based reference pos (originally based on boostalt table's bottom rows), instead uses the old fixed reference positions. I'd really prefer the original table-based ref. pos. logic, as many monster-turboed drag cars tend to build overboost with rpm and I couldn't handle that with a fix ref.pos. + PID in the past.
- Cranking VE% is ignored. I could change to any value (tried 10, 127, 254), no change to effective crank-PW
- there is bad config, bad cranking rpm, etc. "inject additional fuel at cranking" will not work too.
- Vemstune flags getting wrong status values (shift-cut, ign-cut) when a table-editing window is opened. Sometimes it blinking like a disco-light.
- TPSacc value in logs is between 0 and 0.5, I'm not sure whether acc. enrichment is working properly at all.
Observations by MembersPage/GintsK.
- I want to use 1.1.5x but can't do it without Megatune.
- Some days ago i tried 1.1.53 on real car and found huge mismatch between Lambda values on LCD and Megatune. Vemstune was better. definitely MT have bug. I found error in vemsV3.ini for MT: lambda= { (egoADC + 306) / 470} should be replaced by lambda = { table(egoADC, "WBlambda100MOT.inc") / 100.0 }.
- Confirmed: megatune 1.1.53 shows false lambda values (always around 0.9)
- Due to above problem I tried different firmwares on bench. In reality LCD and MT/VT do not mach in Lambda/AFR values. At lean LCD reads 1.13, MT 1.10. Leaner - error is larger. LCD 1.25 MT 1.19... At n/a typical power peak LCD and MT shows about same 0.90 At rich LCD .079 MT 0.80...0.81.
- Tested and present in 1.0.73final, 1.1.27, 1.1.44 and 1.1.53 (except MT where error was huge). None reported it before. I guess because no easy way to get rock stable lambda reading for comparing. I performed it with gas soldering iron on the table.
- So big question which one is right?
- According to Marcell, firmware (hence LCD) uses slightly different interpretation of the Bosch LSU4 sensor curve than megatune. I can confirm that LCD has always slightly higher value in the lean end. Would be interesting to calibrate to a 4-gas analyser.
- Next problem - lack of output channel for Boost alternate PWM. Without this building a Boost PWM table takes much longer. And yes - boost PWM table must have own rpm/load bins!
- I agree - 10x cranking is a must in cold countries. I do not like LCD start up since 1.1.4x. It's broken.
- Also some clarification of temperature curves adjustment method necessary. Some reference needed. Easiest - voltage drop over NTC at 17 points. I suppose these points ar not temperature as Vemstune presents it, but 17 fixed ADC values. Or?
In overall 1.1.53 is full of useful improvements for both - extreme race and street engines. MembersPage/GintsK
I've made some experiments with 1.1.50 non-PS2 (gear-boost in theory)
Firmware was uploaded and verified by latest vemstune, settings, logging were made in megatune for 1.1.50 (hacked to support 16x14 which is the only supported fw I guess)
So first I tried to use boost_channel only (the PID based one), boostalt was disabled all the time. Still,
alternate boost's "mode" setting seems to alter the PID boost_channel's general behavior.
- And it seems it has nothing to do with gearboost yet?? Strange to me.
OK, so my test-cases:
1. Absolute boost
there's no change of boostDC excepting a very slight decrease at extreme high map
2. Relative boost
there's no change of boostDC excepting a very slight decrease at extreme high map
3. Simple closed loop boost
boostDC seems to follow closed loop reference from boost refDC table (rpm/map based), however boostDC gets lower than it is specified in the table's reference values. One more interesting thing is when boost target is getting close, boostDC gets down to zero (it's fine) but after MAP has passed the target slightly, it jumps back to some higher value.
4. Simple open loop boost
there's no change of boostDC excepting a very slight decrease at extreme high map
above the target MAP level boostDC jumps back to around refpos (from zero). annoying.
Just tested 1.1.53 (PS2 version, will test non-PS2 later). Boost target calcs and outputs seem to work
- there are some gear related changes since 1.1.50 so 1.1.50 will never be supported
- the quasar.dynaweb.hu configs contain very strange values. P=I=D=1, all TPSscaling=100
- see [test config] - MAP kpa unit = 4 kpa mode is useful for testing, it allows up to 1020 kpa/5V MAP voltage.
- see GenBoard/UnderDevelopment/FirmwareChanges for boostalt simpleclosedloop note (uses TPS scaling array for different purpose, therefore even PID boost does not use it
- simple openloop and simple closedloop is just compatibility (behavior unchanged, and will not be changed) for users who used it before. Relative or absolute mode recommended for new users for boostalt output (and/or PID for boost output of course).
We suspect that the confusion is caused by mt vemsv3.ini. Please use vemstune 2009-04-24 or newer at least to review all boost related settings.
Please confirm behaviour with above considerations.
Also pay attention to
- boost output disabled below ... kPa
- boost decrease above ... MAT
- boost decrease above ... EGT
Another tests have been made using BOOST ALTERNATE only (no PID boost_channel used here) with 1.1.50 PS2 firmware.
5. BoostALT relative
Generally it works, boostref table kPa-scale is annoying, I tried to convert it to the -155..+100kPa range (not sure it was correct). Later I realized, that it changed SPARK ADVANCE bins also! My boost-build characteristics were as expected, excepting that target somehow seemed to be ~180kPa instead of the 230kPa set (and 224(why?) in logs).
6. BoostALT absolute
It works fine, just like in 1.1.4x firmware.
For both boostalt setting, I was really missing some boostaltDC variable in logs, and gauge in megatune, as boostDC is for PID-boost only(?)
Obsolete
2006.04.18.
Finally went to firmware 1.0.38 which controls BMW idle solenoid nice. (Previous used versions were 1.0.14rc, 1.0.30rc2 - both hacked for iac)
Upgrade was not easy as car was going like shit (very weak) thanks to new ALS variables, which I wasn't able to disable completely, and retarded my ignition to hell.
I suggest to everyone to double-check changed new-old variables with comparing mcd outputs, and don't expect that FF always means disabled, like I did...
Now it seems ok.
Obsolete 2
Since I need to have customized code for IAC, tried to compile new firmware. This is not so easy in windows.
There's a great howto at MembersPage/JohanEriksson/VerThreeFirmForDummies but I had problems
When I tried "make all" from cmd.exe:
...
make (e=2): The system cannot find the file specified.
make: *** [vems.o] Error 2
I get the same from cygwin's sh.exe, and in sh.exe from unxutils
I've found that it was nothing to do with the shell and make.exe, but with avr-gcc.exe which wasn't found. (Since it was not in path)
I've found that spaces are not welcome in winavr's path, and Marcell said that if 'lib' environment variable is set (to anything) that confuses make.exe, so I made a batch file which sets the environment before I can say "make all".
It is like:
set lib=
set path=%path%;D:\VEMS\winavr\bin\;D:\VEMS\winavr\utils\bin\;
After that I was able to compile the firmware succesfully. Thanks for the ideas Cell and Ben.
About setting prog.pl under win32:
- Had an ActivState perl installation
- Had to download SerialPort.pm, it's in Win32-SerialPort-0.19.tar
- Had to download and install win32-api pm, which was in Win32-API-0.41.zip. This one really need to be installed not just having copied into lib directory.
- To install: > ppm
- >add repository name_of_the_package_folder
- >install win32-api