Firmware currently 1.0.14_rc1
- version v3.3
- serialnr 312
- config.pump_pw_zero=0x64 (offset current: +3.4mV/340 Ohm)
Initial distributor config similar to MembersPage/Fero old config (he recently moved to camsync).
- config.primary_trigger=FE (coil-type falling edge) or config.primary_trigger=FF (coil-type rising edge)
- config.secondary_trigger=02 (disabled)
Current config made by Marcell (THANKS A LOT)
primep=00
primep_temp_scaling=00
cwl=28
cwh=0F
cranking_thres=02
awev=14
awev_temp_scaling=A0
awc=00 # should be FF !!!
warmup_clt_range[0]=00
warmup_clt_range[1]=14
warmup_clt_range[2]=28
warmup_clt_range[3]=3C
warmup_clt_range[4]=50
warmup_clt_range[5]=64
warmup_clt_range[6]=78
warmup_clt_range[7]=8C
warmup_clt_range[8]=AA
warmup_clt_range[9]=C8
warmup_clt[0]=A0
warmup_clt[1]=96
warmup_clt[2]=8C
warmup_clt[3]=87
warmup_clt[4]=82
warmup_clt[5]=7D
warmup_clt[6]=78
warmup_clt[7]=73
warmup_clt[8]=6E
warmup_clt[9]=64
warmup_rpm_scale=26
req_fuel=17
divider=01
alternate=14
injopen=00
battfac=10
kpafac=78
kpaoffs=8E
injocfuel=19
injrampup_battfac=00 should be FF confirm that you read this by changing to injrampup_battfac=FF. I will not waste a minute until you confirm to fix this.
injpwm=45
injpwmt=08
injpwm6=26
rpmk[0]=09
rpmk[1]=60
tpsdot_kpadot_conf=00
tpsdotrate[0]=05
tpsdotrate[1]=0F
tpsdotrate[2]=1A
tpsdotrate[3]=29
tpsaq[0]=02
tpsaq[1]=05
tpsaq[2]=0A
tpsaq[3]=0F
tps_thresh=04
tpsasync=05
acmult=69
tpsacold=14
tpsdq=63
decel_fuelcut_thres=14
overrun_fuelcut=12
overrun_fuelresume=11
rev_limit=49
airden_ignore=61
config11=41
config12=40
config13=02
batt_cal=A3
fastidle=C6
baro=64
dbaro=0C
tps_low=23
tps_high=F3
fan_temp=5F
fan_hyst=05
fan_channel=FF
iac_step_seq=C9
iac_conf=6C
iac_max_steps=E0
iac_tps_thres=04
iac_cold_idle_temp=80
iac_warm_idle_temp=D0
iac_cold_rpm=74
iac_warm_rpm=5C
iac_cold_start_pos=E2
iac_warm_start_pos=B0
iac_afterstart_rpm=1F
iac_afterstart_duration=20
iac_afterstart_steps=00
iac_kp=14
iac_ki=0F
iac_kd=14
iac_integral_speed=C0
iac_integral_limit_dec=05
iac_integral_limit_inc=78
iac_integral_deadband=0A
iac_deadband=05
iac_pid_conf=01
iac_overclose_interval=FF
iac_ref_pos[0]=35
iac_ref_pos[1]=34
iac_ref_pos[2]=33
iac_ref_pos[3]=32
iac_ref_pos[4]=31
iac_ref_pos[5]=30
iac_ref_pos[6]=2F
iac_ref_pos[7]=2E
iac_ref_pos[8]=2D
iac_ref_pos[9]=2C
iac_sol_channel=FF
iac_ign_advance_change=20
iac_ign_retard_change=20
iac_ign_advance_limit=08
iac_ign_retard_limit=08
iac_ign_threshold=08
ego_conf=07
ego_lag=01
ego_coolant=00
ego_maxtps=FF
ego_maxmap=FF
ego_minrpm=08
ego_maxrpm=4B
ego_warmup=1E
ego_lean_limit=30
ego_rich_limit=30
ego_pid_kp=20
mt_unused=FF
ego_delta=01
ego_target=19
ego_pid_window=FF
wbo2_warmup_ramp=C0
wbo2_warmup_target=FF
wbo2_abs_limit=E4
wbo2_limit_maxt=A0
wbo2_fallback=60
wbo2_retry_t=06
wbo2_edgetime_corr=BA
wbo2_edgetime_min=50
wbo2_ri_target=9A
wbo2_nernstdc_target=9D
wbo2_pump_pw_zero=64
wbo2_calibration=B4
wbo2_heater_pid_kp=46
wbo2_heater_pid_ki=10
wbo2_heater_pid_kd=1A
wbo2_heater_pid_ilimit=80
wbo2_pump_pid_kp=15
wbo2_pump_pid_ki=37
wbo2_pump_pid_kd=00
wbo2_pump_pid_ilimit=FF
wbo2_ri_confidence_scale=80
knock_conf=00
knock_sampling_window=FF
knock1_frequency=29
knock1_gain=FF
knock1_integrator=FF
knock2_frequency=29
knock2_gain=FF
knock2_integrator=FF
knock_threshold=FF
knock_noise_scale=FF
knock_max_retard=FF
knock_default_retard=00
knock_retard_step=FF
knock_retard_delay=FF
knock_advance_step=FF
knock_advance_delay=FF
knock_minrpm=FF
knock_maxrpm=FF
ve_learn_coolant=D8
ve_learn_max_power=FF
ve_learn_rpm_scale=1E
ve_learn_kpa_scale=1E
ve_learn_ego_scale=43
ve_learn_min_weight=4D
ve_learn_speed=FF
ve_learn_limit=FF
ve_learn_conf=00
lcd_c0=FE
lcd_delay=FF
lcd_backlight=FF
lcd_offs[0]=FF
lcd_offs[1]=FF
lcd_offs[2]=FF
lcd_offs[3]=FF
lcd_default_view=00
primary_trigger=FE
secondary_trigger=02
tooth_wheel=05
trigger_tooth=00
another_trigger_tooth=1E
crank_minper=60
tooth_wheel_twidth1=00
tooth_wheel_twidth2=00
cam_sync_r_edge_phase=01
cam_sync_f_edge_phase=02
reset_engphase_after=F0
ign_tdcdelay=78
ign_dwell14=2F
ign_dwell6=38
ign_crank_advance=20
ign_out=70
ignchmax=04
engine_off_delay=08
pump_on_mintime=06
fuelpump_channel=FF
inj_stage2_rate=FF
inj_stage2_start_tps=FF
inj_stage2_start_map=FF
als_lowrpm=FF
als_maxtps=FF
als_ignretard=FF
als_rich=FF
als_rev_limit=FF
misc1out_minrpm=FF
misc1out_maxrpm=FF
misc1out_mintps=FF
misc1out_maxtps=FF
misc1out_minmap=FF
misc1out_maxmap=FF
misc1out_channel=FF
misc2out_minrpm=FF
misc2out_maxrpm=FF
misc2out_mintps=FF
misc2out_maxtps=FF
misc2out_minmap=FF
misc2out_maxmap=FF
misc2out_channel=FF
act_wot_rpm=FF
act_wot_channel=FF
act_rpm_rpm=FF
act_rpm_channel=FF
egt1_cal=47
egt1_offs=00
boost_conf=00
boost_targetoffs=00
boost_minpressure=FF
boost_pid_kp=20
boost_pid_ki=80
boost_pid_kd=01
boost_pid_ilimit=FF
boost_channel=FF
water_pump_temp=00
hybrid_rpm_a=00
hybrid_rpm_m=00
water_pump_hyst=00
water_pump_channel=FF
toothrel_normal=66
toothrel_missing=7F
And the tables
j[0]=2B80 2D80 2F80 3380 3380 3480 3580 3480 3380 3180 2E80 2680
j[1]=2D80 3280 3A80 3B80 4080 4380 4180 3D80 3C80 3880 3580 2D80
j[2]=3180 3680 3C80 4080 4580 4A80 4780 4680 4580 4680 4680 4180
j[3]=3980 3A80 4380 4880 4A80 4F80 4E80 4B80 4D80 4F80 4B80 4280
j[4]=4080 4380 4980 4D80 4E80 5080 4E80 5080 5380 5680 5180 5180
j[5]=4680 4780 4E80 4F80 5380 5480 5580 5580 5980 5B80 5C80 5A80
j[6]=5080 5280 5480 5580 5880 5980 5C80 5E80 6080 6280 6280 6080
j[7]=5980 5B80 5D80 5F80 6080 6480 6880 6B80 6F80 6F80 7180 6F80
j[8]=6780 6880 6980 6B80 6B80 6E80 7380 7780 7980 7880 7B80 7C80
j[9]=7580 7880 7980 7780 7980 7A80 8080 8380 8580 8880 8880 8680
j[A]=8D80 8D80 8B80 8C80 8D80 8F80 9480 9780 9A80 9C80 9D80 9C80
j[B]=9E80 A180 9E80 9E80 A080 A580 AA80 AE80 B580 BA80 BC80 BA80
l[0]=37 37 37 37 37 37 37 37 37 37 37 37
l[1]=37 37 37 2D 2D 2D 2D 2D 37 37 37 37
l[2]=37 37 37 37 37 37 37 37 37 37 37 37
l[3]=37 37 37 37 37 37 37 37 37 37 37 37
l[4]=47 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D
l[5]=47 44 44 44 44 44 44 44 44 44 44 44
l[6]=48 48 48 48 48 48 48 48 48 48 48 48
l[7]=4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F
l[8]=55 55 55 55 55 55 55 55 55 55 55 55
l[9]=5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C
l[A]=63 63 63 63 63 63 63 63 63 63 63 63
l[B]=66 66 66 63 63 66 66 66 66 66 66 66
n[0]=41 42 4C 58 82 8C 94 9C 9E 9E A0 94
n[1]=3F 42 4B 58 83 8C 94 9C 9E 9E A0 94
n[2]=3C 3F 49 54 7D 88 90 98 98 98 9C 94
n[3]=36 3B 48 54 7C 84 8C 94 94 96 98 94
n[4]=32 38 46 54 75 7C 82 8B 8D 90 91 91
n[5]=2E 36 44 4F 70 77 80 84 88 88 8C 8C
n[6]=04 04 3F 45 68 70 78 80 82 84 88 88
n[7]=04 04 34 38 60 68 6C 6C 74 76 78 78
n[8]=04 04 04 04 04 04 04 04 04 04 04 04
n[9]=04 04 04 04 04 04 04 04 04 04 04 04
n[A]=04 04 04 04 04 04 04 04 04 04 04 04
n[B]=28 28 10 14 20 24 2C 34 34 36 38 04
k[0]=14 28 3C 50 64 78 8C A0 B4 C8 E1 FF
r[0]=07 0A 12 19 1E 25 2B 32 37 3C 43 4A
h[0]=04 10 08 02 01 00 00 00
h[1]=00 00 00 00 00 00 00 00
h[2]=00 00 00 00 00 00 00 00
b[0]=FF 00 00 00 1E 20 12 12 12 12 12 12
t[0]=1A 0E 06 04 02 00 00 00
The cars behaviour is very strange, no clean idle,sounds like 1-2 cylinder is missing.On higher RPM it sounds clean,but nothing helps cleaning up the idle fields.Just before the ECU swap everything worked fine.
After some more testing the car is a total dissapointment, and i think the problem is nothing to do with the maps,tables (VE,and Spark).The car feels good only under acceleration,and except that feels like only 3-4 cylinder is firing.
But all cyls are firing, this is confirmed by idle-MAP value and WBO2 (there is no such amount of O2 in the exhaust as it would be with 3..4).
- NO, not all cylinders are firing. I removed the spark cable and NOTHING CHANGED.
- Which cable did you remove ? This might suggest that dwell is too short and some of your sparkplugs are worn differently than others.
The sound of the engine clearly shows that only 3-4 cyl are running,and the resonance too.TRUST me,i know when all cylinders running.
We know from experience (and science) that lambda goes leaner at misfire (because O2 gets to the exhaust). The described behavious can be caused by ignition seriously retarded for some (eg. because of uneven windows at the HALL sensor, for the chosen edge) or all cylinders (base timing).
My injectors are low impedance 3ohm 55lb/hr Siemens ones,and i tried different injector settings,but nothing helped.The RPM signal is good and accurate, i think the main problem is that the ECU cannot control accurately the injectors.
You admittedly don't have the equipment (scope) to claim this.The injector control is very precise in fact, average error in the 4usec range.
After the engine is setup with the minimal road-safety-requirements (fuel-pump switched off at accident), it might worth to make a few measurements of injector-current (temporarily take out injector-fuse and use a DVM in DC ampere-meter mode). Take notes of the
- RPM
- injector PW
- VBATT
- (average) injector current
Scoping is also possible, using a small, eg. 0.1 Ohm series power resistor (or a long wire). Make sure scope is not grounded to engine ground.
I have no scope and honestly i really dont want to buy one.
Besides the injrampup_battfac=00 error (that might alone be responsible for the failure), some variables could be tweaked, taking note of the current to (see above)
- injopen=00..10 (0..256usec)
- injocfuel=19 .. 30 (that is 25 .. 48 * 24 usec)
- injpwmt=07..0D (0.7 .. 1.3 msec)
- injpwm=30..48
2..3 steps each would be enough, no need for all combinations (possibly set the rest in mid-position when tweaking X).
MembersPage/MattiasSandgren/VolvoPV is the engine that was tuned with 1600cc/min low-z injectors (1 for each 550cc cylinders) and aggressive turbo cams (100 hp/litre). 550cc/min injectors is no problem, just find the injector characteristics.
- WHAT INJECTOR SETTINGS ARE USED ON THE VOLVO???
- you should search for them on the relevant page 1st. If not found, ask on the relevant page. Capitals don't help.
- Try using an even lower ignition advance at idle, it can make a big difference in idle quality for you.
- Thanks for the advice ,but it has nothing to do with idle ignition advance, i currently running much more with the 034 without any problems.
Base timing
There might be a problem with base timing. The sensor was moved, and it is easy to mess up the trigger-edge anyway. Please document how you checked and adjusted the base timing.
If you planned to install 60-2 wheel, that might be a good idea: allows more precise ignition control at low RPM.
Can you look up if both trigger edges were used for ignition timing in your claimed-good setup ?
Az egész ügy kezd egy kicsit szétcsúszni, úgy érzem próbálod megkerülni-kikerülni a valódi problémát.Nincs semmi baj a Dwellel,ami most 3ms,sem a gyertyákkal,bár valóban csoda hogy a vems 8-9 körüli AFR jét egyáltalán el tudta égetni.
Az egyetlen és valós és jelenleg is fennálló gond az injector beállÃtásokkal van,és mivel nem akarom elbaXXni őket (mivel AZOK IS VADI ÚJAK CSAKÚGY MINT A GYERTYÃK) nem akarok kisérletezgetni.A volvos oldalon nem találok semmi infot.Persze majd kérdezek.
Az előgyujtást pedig természetesen stroboszkoppal állÃtottam be.fixáltam a táblázatban 20fokra és addig tekertem az elosztót/hallt amig a TDC after mittoménmi -hoz 60 at Ãrva 20 lett az elögyujtás strobival.De persze mindegy mert nemtudom hogy a halálba tudnék 8.0át menni 200on ha ennyire se értenék hozzá.
Marcell Hétfőn felhÃvlak,és talán tudsz még szánni rám egy kis időt,és megpróbáljuk belőni az injectort,de mégegyszer mondom,az égvilágon semmi mása baja nincs a gépnek csak az.Ezt az előgyujtást meg márcsak azért is hagyi kellene MERT NEM ILYEN tüneteket produkálna .
És nem akarok most 60 - 2 se.
Tudom hogy SEGÃTENI akarsz amit nagyon köszönök,de hidd el utánnanéztem mindennek,ez a probléma ,ezt kell megoldani.
Köszönöm:Péter
Eg©sz délután teszteltem és sikerült pozitÃv irányba lépni,de sajnos ez még korántsem a kÃvánatos szint.Minden henger megy!!Jelenleg alapjáraton (bármennyire is elveszem a VE táblát) 11:1 az AFR,és tisztán kivehető ,hogy olyan üzemállapotokban ahol 1.3ms feletti injector idő kell már jól működik az ECU.Végigpróbáltam a javasolt injector beállÃtásokat és a legjobb amit ki bÃrtam hozni ez a 11:1hez AFR volt.Hogy segÃtsek a vemsnek még a benzinnyomást is lecsökkentettem,de még ez se használt.Fero javaslatára levittem az elögyujtást 4-6 fok körülire,de ez se segitett.
felraktam a jelenlegi konfigot:
http://www.vems.hu/files/NanassyPeter/megasquirt200508011920.msq\n1
Marcell saved the above as mcd.txt, and ran perl bin/make_conf.pl global.h etc/config.txt etc/config.mtt : this compared the mcd.txt with the initial config.txt, and found some changes. Some were harmless, or good (cwl, cwh, ...). Other changes, especially the injopen-related variables, that effect operation (for the bad) that explains the untunability at low load.
- http://www.vems.hu/files/MembersPage/NanassyPeter/mcd-notes.txt notes with recommended values (in config.txt format).
- http://www.vems.hu/files/MembersPage/NanassyPeter/mcd-notes.mtt mtt file (made with the known firmware version's global.h) that can be uploaded from terminal. Just to be sure, verify with mcd afterwards that the right settings were altered. Naturally, low-MAP VE must be adjusted (increased) somewhat after these changes, but at least it should be tunable.
Ezeket próbáltam:
- (injopen) Inj open time at 13.2 :0 (Fero) "13.2 : 0" sounds meaningless. It might be 13 * 16 usec ? Or a range 0 .. 13 * 16 usec ? 0 usec seems best
- (injocfuel) Inj eff rampup:0-4000 olyan 2800 körul az opt. (stay in 1000..2500usec range)
- (injrampup_battfac) Inj rampup battfac :300-600
- battfac:300-1000 (1000 sounds too high for sure. Stick with 200..300usec)
- (injpwm) DC:20-40 (28..35% should be fine)
- (injpwm6) added DC:4-15
- (injpwmt) peak time:0.8-1.3
If the engine runs rich even with VE=0, some or all of the following variables is too high:
- injopen
- battfac
- injocfuel
- injpwmt
It was confirmed that something between cylinders differs.
possible causes
If the misbehaving cyl moves around after each ECM reboot
- a bogus element in h[0] table. One cylinder will not fire at all. This would be a different cyl after ECM reboot.
- the cylinder firing sequence in h[0] (reverse order) does not match reality. This shouldn't cause any noticable issues, especially since the cams are not too agressive
If the misbehaving cyl stays even after ECM reboots. Remember, this is a distributor-setup, currently without camsync. Therefore if misbehaving cyl stays, it is very-very unlikely to be caused by ECM or ECM configuration problem.
- injectors open / close differently because of sloppy manufacturing tolerances or dirt or earlier heat stress. This is somewhat likely. Even though this is not caused by the ECM, higher injector flyback voltage can mask the issue somewhat, resulting in better perceived behavior (cost is somewhat more heat dissipated in the flyback). Obviously, the injector closing happens relatively slowly in the original low-voltage flyback configuration (and if one injector needs 1500usec, while the other injector needs only 1400 usec, that can be significant at some pulsewidths).
- some FETs are damaged (well, if this is the case, this is actually an ECM-problem. Maybe because of bad flyback conn in the past, eg. during current measurements when the fuse was out). Unlikely. Test: swap a good and a misbehaving inj JPT2 connection physically and in h[0] and see if the problem moves to another cyl. Alternatively drive 25..60W lightbulb from the injector connector (using mdh80/mdh00 , mdh90/mdh10 ... etc...) to verify operation.
- HV problem from distributor to sparkplug 0. unlikely
- problem inside distributor HV side
- problem inside distributor, cam-trigger side. Eg. if the windows are different lengths for the 5 cyl, and the wrong edge is selected. Unlikely.
- injector fuel-rail problem. Although the fuel-rail is relatively small for the engine potential, and the fuel-rail has only 1 feed for 5 cyl (regulator at one end). This is very unlikely to be the cause of a problem that appears at low load and RPM (very short pulsewidths). However it can easily be an issue above 250Hp.
As an experiment, flyback voltage was increased by a few diodes in the common branch, currently installed outside the ECM in the flyback wire
Will be moved inside ECM if it's justified (when a new ECM is probably made soon with 4bar MAP, since this was ordered with 2.5bar MAP)
- 3 x 6A slow (2 usec) diodes in series (cathode is at injector common, anode is at EC36pin23 flyback rail.)
- 4 x 3A fast BY399 diodes in series (parallel with the above diodes, These switch on first, but than most load is transferred to above slower diodes as they catch on).
This means raising flyback rail by appr Uflyraise=3 * 0.7V=2.1V (more like 3V at peak, though only 1.5V measured with the low current of DVM diode mode).
effective Uflyback = 1.4V (onboard, per channel) + Uflyraise (in the common branch)
Note: there is an onboard protection of D100=18V SMB transient suppression diode referenced to GND5. This is made for the sloppy guys who forget flyback: would work forever without PWM-ing (even this is not an excuse for forgetting flyback connection), but D100 probably gets overloaded at high pulsewidths with PWMing, and shorts to GND5 (injectors stay open, but FETs survive). This 18V diode limits (Uflyraise + VBatt) < 18V, which means Uflyraise < 3.5V must be maintained for VBatt=14.5V
Translate to config values (newer above):
req_fuel=11
injopen=0A
injocfuel=19
injpwm=3C
injpwmt=08
injpwm6=20
Üdv,Péter
Sajnos még nem volt idom letesztelni a diodas setupot (beindul és alapjár,persze csak az én "rossz" adataimmal).
Don't apply the MegaManual's 75% "PWM Current Limit %" recommendation. Yes, this is the "PWM DC %. However, it is made for a remarkably bad flyback design (with flyback return 30V referenced to GND5), that dissipates extreme heat with PWM-ing and induces high voltages, should the injector fuse break. The circuit breaks regularly because of overheating (usually the clamping PNP breaks, sometimes the FETs).
The theoretical calculation for PWM DC% (dcpercentage):
Iinj * Rinj = VBatt * dcpercentage/100 - Uflyback * (1-dcpercentage/100)
From this, with some primary-shool math:
- 3V = 14.5V * x - 3.5V * (1-x)
- 3V = 14.5V * x - 3.5V + 3.5V * x
- 3V = 18V * x - 3.5V
- 6.5V = 18V * x
- x = 0.36 (which is for dcpercentage=36)
Verification: at Uflyback = 3.5V and PWM DC=36% you get 1A:
1A * 3 Ohm = 3V = 14.5V * 0.36 - 3.5V * (1-0.36)
1A must be enough, since you confirmed that (with 1.4V low voltage flyback) even 20% (extremely low percentage) keeps the injectors open after they opened.
14.5V * 0.2 - 1.4V * 0.8 = 1.78V = 0.59A * 3 Ohm
Ok értem,akkor marad a 30-35%,este megprobalom beallitani,majd jelentkezek.