### ## ## ##### ## ## ## ## ######
_ __ | |/ / | ' / | . \ |_|\_\
#### ## ## ###### ## ####
#### # # # # # # ####
_____ / ___| \ `--. `--. \ /\__/ / \____/
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: Customized firmware updated to account (BMW std. Bosch double winding idle valve drive) code. * Engine specs: MembersPage/BengtR * Problem is that engine does not start. ** First of all. Thank you Marcell from time spent, succestions etc. Comments and thoughts are below. I will try these setting changes and report back. * Could someone verify my trigger and cranking fuelling settings ? * trigger specs are at ... ? ** They were measured (60-2 wheel dimensions, tooth width etc.) and calculated to some extent ** Engine in question has 6 cylinders, we fire injectors sequentially and drive ign.module/coil 6 times per two crank rotation. ** So it needs '''3 events per crank rotation''' (another_trigger_tooth=20 -> 60 tooth/3 =20) * Check that ignition channels are mapped according to sequence * and don't forget h[2] goes from right to left. ** Good point, table vector/'zero'cell is the rightmost table value ? If so, then the h[0] table has error. ** Copied from below to ease reading... ** Injector channels h[0] masks ** Inj 1 EC36-7 / 01 ** Inj 2 EC36-19 / 02 ** Inj 3 EC36-8 / 04 ** Inj 4 EC36-20 / 08 ** Inj 5 EC36-9 / 10 ** Inj 6 EC36-18 / 20 ** h[0] set to order of (BMW M20B25 engine) firing (1 5 2 3 4 6). ** Note h[0] table is read "backwards" *** Yeah, above written but still hassled/unclear in a hurry. *** h[0] is now/was set like *** 6 4 3 2 5 1 X X' *** h[0]=20 08 04 02 10 01 40 80 *** Which one of these is correct ? *** X X 6 4 3 2 5 1' *** h[0]=80 40 20 08 04 02 10 01 ** We are using 'Ign00' (ie. 'I259_0') channel (at EC36-35) to drive one ignition module (Bosch 0 227 100 124 item)/single (TZI) coil, spark delivered via distributor. *** Need to change ignition settings 'as per injection' table ? ie. 'switch on' from 5 to 0 and h[2] table to xx, xx, 00, 00, 00, 00, 00, 00 *** Helps Genboard to retard correct cylinder ? * do you get valid RPM? *Yes, cranking rpm is quite constant around 200-250 1/min. * do you get wheel-error ? W.. on LCD 2nd page (Man mlp01 mll) ** Didn't check that, but will check. * how did you find the base timing ? ** Targeting 10 deg cranking advance, 'but it is just assumption', based on previous experience. ** Will recognize that we need 'timing light gun' to verify actual ignition advance angle (and adjust trigger angle setting to match) during cranking. ** 'Snap-on' has 'timing advance timing light' where angle is adjustable, albeit quite expensive... http://buy1.snapon.com/products/diagnostics/time_mt2661ap.asp *** Any ideas, how to measure (cost economically wice) actual spark angle during cranking ? After all measuring device is needed just 'once'. * '''For first glance, config seems reasonable, except the offending output channels''' that are not disabled and colliding. There are several types of not starting. I assume that it does not revv higher than the 399 RPM cranking threshold. So if the basic wiring and config is OK, than '''cwl, cwh needs to be adjusted''' (more fuel) - or alternate changed to enable simultaneous injector firing during cranking. Can you smell fuel in the exhaust ? ** Fuel smells, but not strongly. Also checked that spark plugs are not fouled ie. they are quite dry. Will try to increase cwl and cwh little bit. ** Indeed at first, might be wice, to try with simpler injection phasing setting (3 to 2 banks for example). ** When cranked, engine fired couple of times so cranking revolutions increased to around 500 1/min, for short moment hence exceeding cranking threshold. Could this cause 'side effects' ? ** With starter (tested without ignition module and coil fuses) engine revolutions stays between 200-300 1/min. * I suggest to check power (maybe some fuse is broken?) ** Checked that already, (fuses are ok, voltage does not drop badly during cranking is around 10-10.5 volt), before asking for help. ** fuel pump *** Constant fuel pressure 292-295 kPa. ** fuel injectors. With ECM off, unplug the injectors so you can measure in the connector. You can disable the fuel pump (it's a good idea anyway to have a physical switch; but it's disabled anyway after the configured 5 seconds of inactivity). You can try to fire the injectors with mdh.0 commands, eg. mdhd0 (h[0] element 5 on) and mdh50 (h[0] element 5 off) and measure with DVM (voltage that would go on the injector: should be 12V when on, <0.8V when off). See GenBoard/Manual/DigitalOut *** Checked that before asking, they energise when commanded/switched manually. ** ignition coil (there is only one coil, right?). Remove the coil if you play with mdh.2 commands (commands that end in 2 refer to the ignition channels), you don't want to blow the coil fuse (or fry the coil!) *** Yes, only one coil. ** check GND5, never hurts *** Plenty of ground = all EC36 and EC18 ground leads connected, impedance difference was measured and is just few milliohms. ** check Flyback as well, for each injector channels ! *** Measured that too, is around 820 mV in all connected (injA to injF) injection channels. **** So summary this far. ***** We should correct another_trigger_tooth setting. ***** Should look also h2 table, apparently setting Terminal log file Date: 3.10.2005 - 13:04:15 ----------------------------------------------- primep=0F # 00 should be fine primep_temp_scaling=A0 cwl=2E cwh=14 cranking_thres=03 # threshold is 399 RPM * cranking revolutions stays between 200-250 (battery voltage was between 10-11 during cranking). awev=18 awev_temp_scaling=A0 awc=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]=91 warmup_clt[2]=8C warmup_clt[3]=89 warmup_clt[4]=87 warmup_clt[5]=82 warmup_clt[6]=78 warmup_clt[7]=6E warmup_clt[8]=69 warmup_clt[9]=64 warmup_rpm_scale=DD req_fuel=4D divider=01 alternate=05 # alternate=15 (decimal 21) would enable simultaneous firing during cranking (with shorter cranking pulsewidths!). Might worth to try * Will try that, if does not fire when trigger etc. corrected. * Afterall squirting phase could be errorneous. injopen=00 battfac=1F kpafac=7E kpaoffs=7E injocfuel=2E injrampup_battfac=10 # VERY BAD! Should be near max. That is FF, or 4082 (?) in MegaTune * Pardon, will correct this firstly and hoping that nothing has not fried/burned. injpwm=CC injpwmt=FF # PWM-ing disabled * Is this bad ? * Will recognize that injector needle/pintle does not close so soon without setting to pwmming. * It is going to be PWM'd, but yet wasn't spare time to adjust/find proper duty cycle. injpwm6=18 rpmk[0]=07 rpmk[1]=D0 tpsdot_kpadot_conf=00 tpsdotrate[0]=05 tpsdotrate[1]=14 tpsdotrate[2]=28 tpsdotrate[3]=4D tpsaq[0]=04 tpsaq[1]=08 tpsaq[2]=0C tpsaq[3]=10 tps_thresh=03 tpsasync=01 acmult=64 tpsacold=03 tpsdq=64 decel_fuelcut_thres=0E overrun_fuelcut=3D overrun_fuelresume=3D rev_limit=3C airden_ignore=62 config11=51 config12=30 config13=02 batt_cal=A4 fastidle=80 baro=64 dbaro=0C tps_low=F6 # Is your TPS inverted ??? * I'am afraid and quite shamed that this is so. * Altought measured resistance decrease direction/pins before connecting wires to TPS connector, but 'somehow' were switched (mr Murphy's law 'If things can go wrong, it sometimes certainly does'). * With these settings throttle precentage amount increases correctly in Terminal and Megatune. * Is inverted connection acceptable ? If not then must correct/switch pins at TPS connector end. tps_high=2C fan_temp=EA fan_hyst=04 fan_channel=FF iac_step_seq=D8 iac_conf=08 iac_max_steps=BF iac_tps_thres=12 iac_cold_idle_temp=BD iac_warm_idle_temp=C7 iac_cold_rpm=78 iac_warm_rpm=50 iac_cold_start_pos=B3 iac_warm_start_pos=8C iac_afterstart_rpm=14 iac_afterstart_duration=30 iac_afterstart_steps=00 iac_kp=0A iac_ki=05 iac_kd=13 iac_integral_speed=36 iac_integral_limit_dec=40 iac_integral_limit_inc=40 iac_integral_deadband=0A iac_deadband=05 iac_pid_conf=01 iac_overclose_interval=0A iac_ref_pos[0]=A6 iac_ref_pos[1]=A1 iac_ref_pos[2]=99 iac_ref_pos[3]=8E iac_ref_pos[4]=87 iac_ref_pos[5]=80 iac_ref_pos[6]=80 iac_ref_pos[7]=7A iac_ref_pos[8]=77 iac_ref_pos[9]=73 iac_sol_channel=36 # document which EC18 pinS you expect output on. Worth to doublecheck with the dualhead-iac-solenoid patch * Using 'S259_3' (StepA at EC18-4) and 'S259_4' (StepB at EC18-10) channels to drive Bosch dualhead iac solenoid. iac_ign_advance_change=50 iac_ign_retard_change=50 iac_ign_advance_limit=00 iac_ign_retard_limit=00 iac_ign_threshold=08 ego_conf=06 ego_lag=01 ego_coolant=00 ego_maxtps=FF ego_maxmap=FF ego_minrpm=06 ego_maxrpm=FF ego_warmup=15 ego_lean_limit=40 ego_rich_limit=1A ego_pid_kp=28 mt_unused=00 ego_delta=05 ego_target=19 ego_pid_window=FF wbo2_warmup_ramp=9C wbo2_warmup_target=FF wbo2_abs_limit=E4 wbo2_limit_maxt=A0 wbo2_fallback=60 wbo2_retry_t=04 wbo2_edgetime_corr=BA wbo2_edgetime_min=50 wbo2_ri_target=96 wbo2_nernstdc_target=8D wbo2_pump_pw_zero=63 wbo2_calibration=AE 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=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=08 # this will retard 2 degrees by default, except at cranking. That's OK, just make sure you are aware. * No I wasn't aware. Do you mean that advance (ie. timing value from ign. adv. lookup table) is retarded 'all the time' or just when knocking occurs ? * If parameter retards 'just when knocking occurs', then parameter correctly understood, otherwise not. * Meaning that we want/meant to retard 'immediately 2 degrees' if knocking occurs and if still knocks (when initially retarded 2 degrees) retard more as per 'knock_retard_step' setting. knock_retard_step=02 knock_retard_delay=35 knock_advance_step=02 # use 01 (although not used with knock_conf=00) * OK, will decrease knock_advance_step to 01 ' Is this 'knock_conf' parameter kind of 'enable knock sensor' setting ? If yes then 'knock_conf=00' is errorneuos. * One (and only) knock sensor is connected to (EC18-2 '- wire' and EC18-3 '+ wire' pins. * knock_conf=01 # Is this correct ? knock_advance_delay=5D 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=20 ve_learn_conf=00 lcd_c0=FE # why don't you use busypoll (bit0=1) ??? * Good question, but I don't know the answer :) * Must study subject (LCD parameters/settings) more. 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 # crankshaft speed/position: std. BMW M20B25 60-2 wheel with std. inductive (VR) sensor. # See the crankshaft wheel data from # http://www.vems.hu/wiki/index.php?page=MembersPage%2FGergelyLezsak%2FTrigger primary_trigger=01 # multitooth secondary_trigger=02 tooth_wheel=3A # 60-2 trigger_tooth=05 # another_trigger_tooth=14 # 3 events per crankrot (one every 20 teeth) * Should be 6 events per crankrot as per described earlier. * Will change that to (60 deg/6 events -> d10/x0A). another_trigger_tooth=0A crank_minper=50 tooth_wheel_twidth1=02 tooth_wheel_twidth2=06 cam_sync_r_edge_phase=3C cam_sync_f_edge_phase=50 reset_engphase_after=6E ign_tdcdelay=78 ign_dwell14=3F ign_dwell6=4A ign_crank_advance=28 ign_out=70 ignchmax=00 # distributor setup, only one output driver used. ignchmax=05 recommended (h[2] has same value in all elements) so later when you enable knock, the ECM can apply individual cylinder retard (even though ECM does not know exactly which physical cylinder it is, it adjusts the right one). * This was really interesting correction, thank you. Will try to change to 'ignchmax=05' and set h[2] table values like below. *h[2] = xx, xx, 00, 00, 00, 00, 00, 00, 00 * Apparently 'xx' at positions 7 and 8 is not used. * Do we need to care/set xx values to something/specific ? engine_off_delay=04 pump_on_mintime=13 # 19*0.262 sec = 5 sec * Yes 5 seoconds becaus fuelpump valve is leaking so line pressure drops. * Hence power on, wait couple of seconds and then crank. fuelpump_channel=57 inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_lowrpm=1E als_maxtps=80 als_ignretard=FF als_rich=FF als_rev_limit=3B misc1out_minrpm=3E misc1out_maxrpm=FF misc1out_mintps=80 misc1out_maxtps=FF misc1out_minmap=AA misc1out_maxmap=FF # misc1out_channel=F2 # Document EC36pin. Inverted, 7th ignition channel? used for what ? * 'I259_7'/'Drive 07' at EC36-10 pin is connected/used for turbocharger wastegate valve. * Apparently errorneously, will set that to 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=3E # THIS CANNOT BE RIGHT!!! IMHO xE is invalid ! * No idea why/how parameter is set to 3E. * We are not using any WOT specific outputs (like water,NOS injection, additional injector etc.) * Must turn it to act_wot_channel=FF act_rpm_rpm=FF act_rpm_channel=FF egt1_cal=4A 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=F2 # Document EC36pin. Inverted, 7th ignition channel? used for what ? COLLIDES with misc1 output !!!!!!!!!!!!!!! * Yes, ('I259_7'/'Drive 07') at EC36-10 pin is connected/used for turbocharger wastegate valve. * However don't meant/no idea 'when' was set to inverted. * 'boost_channel=F2' setting causes signal to invert ? * Meant to energize only when boost pressure is higher than pretermined (approx. 0.6 kg/cm2) level. Need to change that boost_channel=72 # Correct ? water_pump_temp=00 hybrid_rpm_a=00 hybrid_rpm_m=00 water_pump_hyst=00 water_pump_channel=FF toothrel_normal=B5 toothrel_missing=76 fuelcut_min_kpa=09 fuelcut_max_kpa=E6 # tach_channel=0F # currently not used, but disable it anyway * By setting tach_channel=FF # ? tach_divider=FF ----------------------------------------------- Date: 3.10.2005 - 13:04:27 End log file Terminal log file Date: 3.10.2005 - 13:04:39 ----------------------------------------------- j[0]=5F7F 5C7F 657F 687F 697F 6B7F 6E7F 6E7F 737F 737F 737F 737F j[1]=637F 667F 6E7F 767F 7A7F 7B7F 7A7F 797F 797F 797F 797F 797F j[2]=657F 687F 7A7F 867F 8C7F 8F7F 8A7F 827F 827F 827F 827F 827F j[3]=687F 6D7F 897F 957F 9C7F 9F7F 9A7F 927F 927F 927F 927F 927F j[4]=727F 767F 977F A87F B07F B37F B37F AE7F AE7F AE7F AE7F AE7F j[5]=837F 8D7F AA7F BB7F C77F C97F C47F BF7F BF7F BF7F BF7F BF7F j[6]=8F7F A27F B17F C17F D07F D87F D67F CA7F CA7F CA7F CA7F CA7F j[7]=917F A07F B17F C27F D87F E37F E07F CF7F CF7F CF7F CF7F CF7F j[8]=917F A07F B37F C37F D97F E37F E07F CF7F CF7F CF7F CF7F CF7F j[9]=917F A07F B17F C37F D97F E37F E07F CF7F CF7F CF7F CF7F CF7F j[A]=917F A07F AE7F C07F D97F E37F E07F CF7F CF7F CF7F CF7F CF7F j[B]=917F A07F AE7F C07F D97F E37F E07F CF7F CF7F CF7F CF7F CF7F l[0]=78 78 78 2F 2D 2D 2D 2D 2D 2D 2D 2D l[1]=78 78 78 37 37 37 37 37 37 37 37 37 l[2]=55 4F 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A l[3]=55 4F 5A 5A 5A 5A 5A 5A 5A 5A 5A 5C l[4]=5C 5C 63 63 63 63 63 63 63 63 63 63 l[5]=6D 70 70 70 70 70 73 70 70 70 70 70 l[6]=7B 7B 7B 7B 7B 7B 7B 7B 7B 7B 7B 7B l[7]=7B 7B 75 7B 7B 7B 7B 7B 7B 7B 7B 7B l[8]=7B 7B 75 7B 7B 7B 7B 7B 7B 7B 7B 7B l[9]=7B 7B 75 7B 7B 7B 7B 7B 7B 7B 7B 7B l[A]=7B 7B 75 7B 7B 7B 7B 7B 7B 7B 7B 7B l[B]=7B 7B 75 7B 7B 7B 7B 7B 7B 7B 7B 7B n[0]=3A 58 68 7E 8C 8E 8C 8C 8C 8C 8C 8C n[1]=3C 51 62 7B 8B 8E 8D 8B 8B 8C 8C 8C n[2]=3A 46 5E 78 89 8D 8B 8A 8A 8C 8C 8C n[3]=3B 3C 56 6C 84 8A 89 89 89 8C 8C 8C n[4]=3C 3D 3F 4D 57 5D 5E 61 61 61 60 60 n[5]=3C 3C 3F 48 4F 55 58 58 57 57 56 56 n[6]=3C 3C 3E 45 4D 4E 50 50 50 50 50 50 n[7]=3C 3C 3D 44 4D 4E 50 50 50 50 50 50 n[8]=3C 3C 3D 45 4E 50 50 50 50 50 50 50 n[9]=3C 3C 3B 44 4D 50 50 50 50 50 50 50 n[A]=3C 3C 3E 46 4F 50 50 50 50 50 50 50 n[B]=3C 3C 3B 43 50 50 50 50 50 50 50 50 k[0]=14 2D 46 5F 78 91 AA B9 C8 DC DD DE r[0]=04 08 10 18 20 28 30 38 40 48 50 58 # Injector channels h[0] masks # Inj 1 EC36-7 / 01 # Inj 2 EC36-19 / 02 # Inj 3 EC36-8 / 04 # Inj 4 EC36-20 / 08 # Inj 5 EC36-9 / 10 # Inj 6 EC36-18 / 20 # h[0] set to order of (BMW M20B25 engine) firing (1 5 2 3 4 6). # Note h[0] table is read "backwards" # 6 4 3 2 5 1 # Note! Made an wiring loom, containing 6 injector channels/ groundings. (original wire loom has 2). # h[0] seems to match above sequence and wiring # h[0]=20 08 04 02 10 01 40 80 h[0]=80 40 20 08 04 02 10 01 h[1]=00 00 00 00 00 00 00 00 # is this a distributor setup with only the ignition channel0 utilized ? * Yes it is. h[2]=00 00 00 00 00 00 00 00 b[0]=28 30 38 40 4B 58 50 4B 46 FF FF FF t[0]=21 40 60 80 A0 C0 E0 FF ----------------------------------------------- Date: 3.10.2005 - 13:04:39 End log file Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.