I made some technical modifications on the car. Turbo k26/I exchanged it for 28, 727ccm Siemens injector got involved into it, we prepared new harness, and 6 coil on plug got the car.
BMW 6cyl firmware upgrade from 1.0.46. to 1.1.18
note: It might be a good idea to avoid accented characters in page titles
- 6 cylinder
- firing sequence, 1-5-3-6-2-4
- primary trigger: 60-2, VR
- secondary trigger: not used
- ignition: 3 power-output channels, wasted spark
Ignition output channels. PLEASE SORT TO FIRING SEQUENCE, and WRITE CYLINDER NUMBER TO EACH!
- EC36 Pin10 ignch7
- EC36 Pin34 ignch2
- EC36 Pin36 ignch3
Please verify that the chosen channels are power-outputs. Measure (with ignition ON, but engine NOT running) that voltage between +12V and the ign outputs is 0 (a logiclevel output pulls down to 0V when inactive, so that would measure 12V !)
1.0.46 firmware works great with
- ignchmax=02
- h[2]=07 03 02 07 03 02 .. ..
1.1.18 firmware plan:
- ignchmax=05
- h[2]=70 30 20 70 30 20 .. ..
- h[1]=28 14 00 28 14 00 .. ..
- important: you might need to rotate either h[1] or h[2] to get the spark to the right cylinder(-pair). Document the wiring above (write cylinder-numbers) so we can give better hints
Engine does not start, shows wheel-error.
Trigger hints:
- normal tooth width: 24 (=0x18, since 6 degrees)
- missing tooth width: 72 (=0x48, since 18 degrees)
- engine phase when to reset: 160 (reset_engphase_after=A0), though this should not cause no-start
Analog input
- MCP3208 ch6 connected to EC18pin ..
- ALS or launch works well with this (if channel 6 is selected)
- TODO: verify that it measures +5V when not pulled down externally
- measures ... V when pulled down externally with 1kOhm (you can use other resistor from 100 Ohm .. 10k, just document)
- MCP3208 ch7 connected to EC18pin ..
- TODO: verify that it measures +5V when not pulled down externally
- measures ... V when pulled down externally with 1kOhm (you can use other resistor from 100 Ohm .. 10k, just document)
- neither ALS nor launch works if channel 7 is selected. What can be the problem ?
- maybe input was killed ? The mcp3208 inputs are very sensitive, connecting to +12V or electrostatic discharge can damageit.
You can upload the dump and logs via FileArea
NOS thoughts
- NOS output control
- and RPM and MAP (TPS?) ranges
BMW M20 B25 (6cyl, appr 2.5L) modified bore ( 81 mm ) now competing in 200m and 400m dragrace (earlier it was a rally car with restriction before a smaller turbo)
- high-grade forged pistons
- fire-ring-headgasketseal
- injectors 650 ccm
- factory IX drivetrain
- final drive 3.91
- whwel diameter 650 mm
- Turbo: schwitzer S2B
- external wastegate ( 35mm )
Would NOS be useful to kick in for a short time after launch ?
During launch, engine RPM drops so low that turbo doesn't work well for a short time.
When the turbo spools up and boosts, NOS could be switched off.
Would this be useful ?
Not sure why he does not use higher launch RPM (maybe he fears the clutch would explode?)
´
Be careful with nitrous oxide if the engine bogs down on launch, even a small nitrous shot will give a very large boost in torque at a low rpm. The cylinder pressures could get very high and detonation can easlily occur. -Jörgen
Choose output for N2O - see GenBoard/Manual/DigitalOut/Table
The guy who installed did not document the wiring.
We reverse engineer from the mcd/mct dump.
This is a 6 cyl engine. The 0F in h[0] looks like it came from a 4 cyl engine. (Roland has a strong 1.8L 4 cyl BMW turbo)
h[0]=0F 00 00 00 20 80 10 00
- injectors A-B-C-D are apparently fired in batch (all 4 at once)
- how are injectors connected ? Why are 4 injoutputs fired at the same time ? Why not 3 or 6 ?
- act_rpm_channel=50 mask 0x80 (128) = EC36 pin 17 Inj H
- als_tks_channel=60 mask 0x10 (16) = EC36 pin 9 Inj E
N2O enable
- mask 0x20 (32) EC36 pin 18 Inj F
- choose miscoutput channel=INJ/4 (as 20 is already in the h[2] at place 4 - remember it's numbered 0..7)
unused:
- mask 0x40 (64) EC36 pin 6 Inj G
It turned out
- ecu was used unclamped (!!)
- loaded with 6 cops, each fired once per crankrot (twice as many as cops are designed)
- ignition outputs had no protection (30A fuse is no protection. 5-7.5A per output is needed). Even the 30A fuse was blown once
Almost a miracle that the car was running after the event. (only running at NA, and missing something - likely spark - at boost.
http://www.vems.hu/files/MembersPage/poweredracing/megasquirt200804191333%206%20trafó%201.msq
http://www.vems.hu/files/MembersPage/poweredracing/datalog200804191325.xls
Config and tables (1.1.26?) Date: 2008.04.19.
primep=00
primep_temp_scaling=A0
cwl=1E
cwh=0A
cranking_thres=03
awev=25
awev_temp_scaling=54
awec=75
warmup_clt_range[0]=00
warmup_clt_range[1]=04
warmup_clt_range[2]=18
warmup_clt_range[3]=2C
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]=B4
warmup_clt[1]=AA
warmup_clt[2]=A0
warmup_clt[3]=96
warmup_clt[4]=8C
warmup_clt[5]=82
warmup_clt[6]=7D
warmup_clt[7]=6E
warmup_clt[8]=68
warmup_clt[9]=64
warmup_rpm_scale=33
req_fuel=3C
divider=01
alternate=15
injopen=00
battfac=22
kpafac=CA
kpaoffs=90
injocfuel=28
injrampup_battfac=3F
injpwm=FF
injpwmt=FF
als_launch_input=76
rpmk[0]=07
rpmk[1]=D0
tpsdot_kpadot_conf=00
tpsdotrate[0]=05
tpsdotrate[1]=1A
tpsdotrate[2]=2C
tpsdotrate[3]=4E
tpsaq[0]=02
tpsaq[1]=0A
tpsaq[2]=0F
tpsaq[3]=14
als_cut_mintps=40
tpsasync=02
acmult=82
tpsacold=0A
launch_enrich=33
launch_retard=78
overrun_fuelcut=0D
overrun_fuelresume=0A
rev_limit=46
airden_ignore=62
config11=51
config12=30
config13=02
batt_cal=C0
fastidle=80
als_max_cut=0B
dbaro=0C
tps_low=05
tps_high=B7
fan_temp=EA
fan_hyst=04
fan_channel=6F
iac_step_seq=D8
iac_conf=40
iac_max_steps=C8
iac_tps_thres=0D
iac_cold_idle_temp=90
iac_warm_idle_temp=A2
iac_cold_rpm=82
iac_warm_rpm=55
iac_cold_start_pos=B3
iac_warm_start_pos=73
iac_afterstart_rpm=0A
iac_afterstart_duration=0A
iac_speed=06
iac_kp=30
iac_ki=0F
iac_kd=23
launch_rpm=23
iac_integral_limit_dec=5A
iac_integral_limit_inc=F0
iac_integral_deadband=0A
iac_deadband=05
als_cut_maxtps=66
iac_overclose_interval=B8
iac_ref_pos[0]=85
iac_ref_pos[1]=82
iac_ref_pos[2]=80
iac_ref_pos[3]=7D
iac_ref_pos[4]=7A
iac_ref_pos[5]=7A
iac_ref_pos[6]=78
iac_ref_pos[7]=75
iac_ref_pos[8]=73
iac_ref_pos[9]=70
iac_sol_channel=7F
iac_ign_slope=28
softrpm_range=7D
iac_ign_advance_limit=10
iac_ign_retard_limit=24
iac_ign_threshold=08
ego_conf=06
ego_lag=0C
ego_coolant=48
ego_maxtps=FF
ego_maxmap=FF
ego_minrpm=05
ego_maxrpm=FF
ego_warmup=0F
ego_lean_limit=00
ego_rich_limit=00
ego_pid_kp=40
als_enrich=05
ego_delta=1A
ego_target=19
ego_pid_window=FF
wbo2_warmup_ramp=9C
als_react_tps=E6
wbo2_abs_limit=E4
wbo2_limit_maxt=A0
wbo2_fallback=60
wbo2_retry_t=06
als_retard_rpm1=14
als_retard_rpm2=1C
wbo2_ri_target=96
wbo2_nernstdc_target=8D
wbo2_pump_pw_zero=67
wbo2_calibration=CA
wbo2_heater_pid_kp=45
wbo2_heater_pid_ki=11
wbo2_heater_pid_kd=1A
wbo2_heater_pid_ilimit=81
wbo2_pump_pid_kp=28
wbo2_pump_pid_ki=60
wbo2_pump_pid_kd=00
wbo2_pump_pid_ilimit=28
wbo2_ri_confidence_scale=80
knock_conf=00
knock_sampling_window=FF
knock1_frequency=29
knock1_gain=3F
knock1_integrator=1F
knock2_frequency=29
knock2_gain=3F
knock2_integrator=1F
knock_threshold=FF
knock_noise_scale=FF
knock_max_retard=00
knock_default_retard=00
knock_retard_step=FF
knock_retard_delay=FF
knock_advance_step=FF
knock_advance_delay=FF
knock_minrpm=0A
knock_maxrpm=FF
ve_learn_coolant=90
ve_learn_max_power=FF
ve_learn_rpm_scale=FF
ve_learn_kpa_scale=FF
ve_learn_ego_scale=FF
ve_learn_min_weight=01
ve_learn_speed=FF
ve_learn_limit=21
ve_learn_conf=00
lcd_c0=FE
lcd_delay=FF
lcd_backlight=00
kpa_conf=22
als_igncut_rpm2=19
als_retard_mintps=4D
als_retard_maxtps=80
lcd_default_view=00
primary_trigger=00
secondary_trigger=02
tooth_wheel=3A
trigger_tooth=00
another_trigger_tooth=14
crank_minper=50
tooth_wheel_twidth1=18
tooth_wheel_twidth2=48
cam_sync_r_edge_phase=3C
cam_sync_f_edge_phase=50
reset_engphase_after=A0
ign_tdcdelay=B4
ign_dwell14=1F
ign_dwell6=38
ign_crank_advance=14
ign_out=72
ignchmax=05
engine_off_delay=06
pump_on_mintime=08
fuelpump_channel=5F
inj_stage2_rate=FF
inj_stage2_start_tps=FF
inj_stage2_start_map=FF
als_igncut_rpm1=0F
als_deact_time=0A
als_deact_egt=7D
als_retard=3C
als_rev_limit=48
misc1out_minrpm=FF
misc1out_maxrpm=FF
misc1out_mintps=FF
misc1out_maxtps=FF
misc1out_minmap=FF
misc1out_maxmap=FF
misc1out_channel=FF
misc2out_minrpm=20
misc2out_maxrpm=43
misc2out_mintps=F0
misc2out_maxtps=FF
misc2out_minmap=35
misc2out_maxmap=82
misc2out_channel=60
act_wot_rpm=FF
act_wot_channel=3F
act_rpm_rpm=28
act_rpm_channel=32
egt1_cal=46
als_tks_channel=47
boost_conf=6D
boost_targetoffs=00
boost_minpressure=35
boost_pid_kp=00
boost_pid_ki=00
boost_pid_kd=00
boost_pid_ilimit=00
boost_channel=7F
water_pump_temp=00
hybrid_rpm_a=00
hybrid_rpm_m=00
water_pump_hyst=00
water_pump_channel=FF
toothrel_normal=79
toothrel_missing=00
fuelcut_min_kpa=09
fuelcut_max_kpa=87
tach_channel=07
tach_div=10
shiftcut_conf=80
shiftcut_channel=FF
shiftcut_time=00
softrpm_rpm=64
j[0]=1680 1980 1780 1980 1C80 1E80 2380 2780 2980 2C80 2E80 3380
j[1]=1980 1C80 2080 1F80 2580 2880 2A80 2E80 3080 3680 3980 3D80
j[2]=2180 2680 2880 2B80 2D80 3080 3380 3580 3780 3B80 3E80 4480
j[3]=2A80 3780 3680 3080 3180 3480 3780 3780 3C80 3F80 4080 4880
j[4]=3180 3580 3880 3480 3380 3580 3480 3580 3B80 3F80 4480 4B80
j[5]=2A80 3880 3780 3480 3780 3980 3A80 3B80 4280 4680 4880 4B80
j[6]=2E80 3380 3680 3A80 3C80 3F80 4380 4480 4680 4980 4980 4A80
j[7]=3580 3980 3B80 3980 3A80 4380 4780 4880 4880 4A80 4A80 4980
j[8]=3880 3A80 3D80 3D80 4180 4880 4980 4B80 4B80 4C80 4D80 4980
j[9]=3A80 3A80 3D80 3F80 4480 4980 4D80 4E80 4C80 4D80 4C80 4980
j[A]=3C80 3E80 4080 4580 4580 4680 4980 4D80 4B80 4B80 4980 4580
j[B]=4080 4480 4680 4880 4880 4880 4980 4B80 4B80 4880 4680 4580
l[0]=47 47 47 47 47 47 47 47 47 47 47 47
l[1]=55 55 55 55 53 55 55 53 53 55 55 51
l[2]=5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C
l[3]=5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C
l[4]=63 63 63 63 63 63 63 63 63 63 63 63
l[5]=63 63 63 63 63 63 63 63 63 63 63 63
l[6]=66 66 66 66 66 66 66 66 66 66 66 6B
l[7]=6B 6B 6B 6B 6D 6D 6D 6D 6D 6D 6D 70
l[8]=70 70 70 70 70 70 70 70 70 70 70 73
l[9]=75 75 75 75 75 75 75 75 75 75 75 75
l[A]=7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E
l[B]=7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E
n[0]=20 28 3C 50 64 78 8C 98 9C 9C 9C 9C
n[1]=20 28 3C 50 64 78 8C 98 9C 9C 9C 9C
n[2]=20 28 3C 50 64 78 8C 98 9C 9C 9C 9C
n[3]=20 28 3C 44 58 78 8C 98 98 9C 9C 9C
n[4]=20 28 3C 44 58 78 8C 8C 8C 8C 8C 8C
n[5]=20 28 3C 40 50 64 78 80 80 80 80 80
n[6]=20 28 3C 40 50 64 6C 70 70 70 70 70
n[7]=20 28 3C 40 50 58 5C 60 60 60 60 60
n[8]=20 28 3C 40 50 54 58 5C 5C 5C 5C 5C
n[9]=20 28 3C 40 50 54 54 54 54 54 54 54
n[A]=20 28 34 3C 40 48 48 48 48 48 48 3C
n[B]=20 28 28 28 28 28 28 28 28 28 28 25
k[0]=14 23 2D 3A 44 50 5F 69 71 78 87 94
r[0]=05 0A 0F 14 1E 28 32 37 3D 40 43 48
h[0]=20 10 08 04 02 01 40 00
h[1]=28 14 00 28 14 00 00 00
h[2]=70 50 10 70 50 10 00 00
y[0]=FF FF FF FF FF FF FF FF FF FF FF FF
y[1]=FF FF FF FF FF FF FF FF FF FF FF FF
y[2]=FF FF FF FF FF FF FF FF FF FF FF FF
y[3]=FF FF FF FF FF FF FF FF FF FF FF FF
y[4]=FF FF FF FF FF FF FF FF FF FF FF FF
y[5]=FF FF FF FF FF FF FF FF FF FF FF FF
y[6]=FF FF FF FF FF FF FF FF FF FF FF FF
y[7]=FF FF FF FF FF FF FF FF FF FF FF FF
y[8]=FF FF FF FF FF FF FF FF FF FF FF FF
y[9]=FF FF FF FF FF FF FF FF FF FF FF FF
y[A]=FF FF FF FF FF FF FF FF FF FF FF FF
y[B]=FF FF FF FF FF FF FF FF FF FF FF FF