## # ## ## # # ## ## # ### ## ## ## # #
### # #### # # ### #
### ## ## ## ## ## ##### ## #####
_____ | ___| | |__ | __| | |___ \____/
_ _ | | | | | | | | | | | | \ \_/ / \___/
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: Back to MembersPage/NanassyPeter '''15 minus 1 trigger installed on Inline 5 Audi engine''' Primary trigger is a 15-1 (yes, missing tooth!) crankwheel with [http://shop.vems.hu/catalog/product_info.php?cPath=1_12&products_id=107 GT101 HALL sensor] (which pulls down when it detects ferromagnetic material and leaves the signal high in the gap, as pulled up by the pullup resistor). * either falling or rising edge is OK with HALL sensor, but falling is "sharper", so * primary_trigger=10 # (decimal 16); which means ** falling edge ** multitooth ** no filtering ** advanced filter off ** N-1 (N minus 1 active!!!). This is important to set when camsync is used (1 for N-1, 0 for N-2 wheel) ** don't touch this primary trigger with MegaTune after setting with config.mtt upload, because MegaTune does not know about bit6 and bit7 The falling edge (metal coming in) right after the missing tooth is 2 teeth+60degs = 48 crankdeg + 60 crankdeg = 108 crankdegrees BEFORE TOP DEAD CENTER Cyl1 * trigger_tooth=3 * another_trigger_tooth=6 * ign_tdcdelay=97 (??? together with 3*4 teeth, this is 0x97 /2 + 72 = 147.50 crankdegrees that is very different from 108 crankdegrees ) '''Secondary trigger (HALL)''' Pulse (falling or rising edge?) is set 10deg BEFORE primary trigger missing tooth. '''trigger_tooth''' *trigger_tooth=03 # 00 .. 01 or 03 ..04 might be candidate, a good variable to play with ** note that 02 or 05 will not work * another_trigger_tooth=06 # next trigger tooth; '''06 for sure''', changing this will break things || trigger_tooth || teeth used for trigger || || 00 || 0, 6, 12, 18, 24 || || 01 || 1, 7, 13, 19, 25 || || 02 || 2, 8, '''14''', 20, 26 ''' BAD''' || || 03 || 3, 9, 15, 21, 27 || || 04 || 4, 10, 16, 22, 28 || || 05 || 5, 11, 17, 23, '''29 BAD''' || As you see, 00 .. 01 or 03..04 are good values, 02 and 05 are BAD because tooth 14 and 29 simply does NOT exist. Because of the missing tooth, after 0..13 the toothcount jumps to 15 (tooth 14 is skipped), and after 15..28 it jumps to 0 (which would be same as 30, that is 2 cam rotations). Tooth 29 is skipped as well. This is the same situation as with a 6cyl 60-2, where another_trigger_tooth=14 (decimal 20) and 0..17 are valid for trigger tooth (18 or 19 is not, because 58 and 59 missing). ---- * ign_tdcdelay=9A # (decimal 154) ign TDC-delay: 77deg ; adjusted for good base timing * normal tooth width=1 * missing tooth width=2 * reset_engphase_after=1e # engine phase when to reset=30 '''Camsync position''' '''Main positions to take note of''' * the first falling (metal coming to the GT101 HALL sensor) edge after missing tooth (tooth 0 if you like) * than, after 3 tooth = 3*24 = 72 crankdegrees, cyl1TDC comes * than, after appr 25 camdegrree = 50 crankdegree, the secondary trigger (CAM) falling edge comes (the window coming to the original audi cam-HALL sensor, remember it is "inverse" output, it pulls down when it sees air, not when it sees metal) ** as you see, camsync pulse comes *** more than 30 degrees ATDC cyl1 *** but well before 50 crankdegrees BTDC cyl2 that should be fine (always come between the cyl1 and cyl2 sparktime), and match the ignition sequence (read on). '''mct''' h[2]=01 00 02 04 03 .. .. .. ign sequence: || ignch || cyl || cam position when TDC (crankdegree) || crankdegree mod 360 = crank position when TDC (crankdegree) || triggertooth || TDC-tooth || || ignch1 || cyl2 || 144 || 144 || 21 || 24 || || ignch0 || cyl1 || 0 || 0 || 15 || 18 || || ignch2 || cyl3 || 576 || 216 || 9 || 12 || || ignch4 || cyl5 || 432 || 72 || 3 || 6 || || ignch3 || cyl4 || 288 || 288 || 27 || 0 || This assumes that '''after camsync''' (chosen edge, eg. falling) comes, ignch1 ='''cyl2 fires'''. Than the igncount is resetted to ignchmax(=04), that is ignch3 (cyl4) to follow. As you see, trigger_tooth=03 is good value for this. .... the rest of h[2] ignition sequence is don't care, since ignchmax is 04 (5 cyl) ---- '''Result''' Fires well on the bench, but something is not perfect on the real engine. It weakens at several points and lambda shows >10.0 values (O2 present, missfire ?). What can be wrong ? The engine was running earlier with HALL trigger and distributor (though pistons were changed since than) * sparkplugs ** were tortured a bit, but ... ''changed to new NGK ones'' ** ''We also changed the WBO2 sensor and lambda readings are ok'' * ignition coils. Unfortunately instead of measuring position (which turned out to be very easy, gear 5 push the car so engine is in position, than look at crank and cam wheel to tell) and some planning in wiki, they spent one day with experimentation that might have break things. ** on the top of that, not the recommended separate 5 or 7.5 A fuses were used, but a shared 10A, which, together with 1 day of very bad config (another_trigger_tooth=03) put the coils at risk. * firmware: though 1.0.45 worked well with different config, and worked well on the bench with this config, this cannot be ruled out 100% * cranktrigger (primary trigger) signal ** though GT101 HALL sensor gap is 1.7mm, unlikely that this would be the problem. Wheel error doesn't climb (it was climbing with bad another_trigger_tooth value) * cam-HALL (secondary) trigger signal ** very unlikely, this should be fine. The position when the signal comes is a bit hard to determine by looking, because the sensor is wiiiide. * several other things changed, including compression increased from 7.5 to 8 due to pistons, but unlikely to be the cause * maybe knock happens with the increased compression, or due to slightly changed base timing ? ** unlikely, but possible. Knock sensor is not installed / configured. Also, the main (coolant radiator) fan got stuck (not fun), the motor might have burnt down (the wire insulation melted!). Not a 15 minute task to replace on this engine (but 2..3 hours). ---- Cars current status: After replacing the stucked fan,we tried different settings on the engine (with the old config it was way too rich(but why?) With 0.69 lambda all the way from 160kpa it was nor revving clearly (past 6K)and this is with dwell set to 3. I leaned out to 0.77-0.8 then tried different dwell settings from 2.5 to 3.5,higher settings were much better. We run then on Tököls DRAGBeach,we did a record (personal and this years category too) 11.18@196.In the finals we unfortunately lost out tranny again the gearchange fork broke again.So second place.Note that this is with shiftlight set at 6900,this engine needs to rev to 8500 to make its full power. Looks like we reached the limits of the overlapping dwell,so i suggest a firmware mod for this ASAP.I also want to thank Mcells great support! ---- '''experimentation with bad primary_trigger config value''' While we were lucky enough to get the engine running with totally misconfigured values (another_trigger_tooth=03 and reverse sequence ;-), it was running really poor and showed 2x higher RPM (than real). firmware version= 1.0.45 Both mcd and mct are important to reproduce. // amendment from MembersPage/AttilaSzucs I've got the same problem. (firmware 38 and 45) My crank trigger is a 36-1, currently configured for cheating waste spark (4 COPs, dual ign). Few weeks ago I wanted to change full seq. ingition, but the same problem stopped me. I took out the ECU, tabletested many combinations, and figured out this problem occures only if N-1 multitooth crank AND want to camsync it. If changed to coil-type crank trigger, it worked perfectly, even with camsync. It seems (after the table-tests) that every one full revolution of crankshaft "resets" something. That's why you've got 3 sparks, and I've had 2 ( 4 cyl ). After the revolution with sparks, comes the rev. without sparks, and starts over again. I tested various parameters. If ignchmax = 3 (for my 4 cylinder), then 03 and 02 will fire only. If ignchmax set to 7 then 07 and 06 fired and starts over again. So my engine still is a "cheater waste" :( Use 1.0.45 and configure primary_trigger=10, experimenting with other values will not work for camsync, it's only a waste of time. I recommend to ask, don't forget to include your mcd and mct dump. '''mcd''' * alternate=04 * ignchmax=04 <code> mcdmct together Hello> primep=00 primep_temp_scaling=00 cwl=32 cwh=0A cranking_thres=02 awev=00 awev_temp_scaling=00 awec=00 warmup_clt_range[0]=00 warmup_clt_range[1]=12 warmup_clt_range[2]=26 warmup_clt_range[3]=3A 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]=AC warmup_clt[2]=A0 warmup_clt[3]=90 warmup_clt[4]=87 warmup_clt[5]=83 warmup_clt[6]=7F warmup_clt[7]=71 warmup_clt[8]=6B warmup_clt[9]=64 warmup_rpm_scale=BF req_fuel=21 divider=01 alternate=14 injopen=00 battfac=13 kpafac=CD kpaoffs=8E injocfuel=0D injrampup_battfac=FF injpwm=FF injpwmt=FF injpwm6=0A rpmk[0]=09 rpmk[1]=60 tpsdot_kpadot_conf=00 tpsdotrate[0]=24 tpsdotrate[1]=3D tpsdotrate[2]=55 tpsdotrate[3]=82 tpsaq[0]=0D tpsaq[1]=16 tpsaq[2]=20 tpsaq[3]=2D als_cut_mintps=73 tpsasync=02 acmult=C8 tpsacold=96 launch_enrich=00 launch_retard=1C overrun_fuelcut=46 overrun_fuelresume=41 rev_limit=54 airden_ignore=00 config11=41 config12=40 config13=02 batt_cal=BD fastidle=00 als_max_cut=65 dbaro=0C tps_low=0E tps_high=A3 fan_temp=5F fan_hyst=05 fan_channel=FF iac_step_seq=C9 iac_conf=00 iac_max_steps=E0 iac_tps_thres=54 iac_cold_idle_temp=87 iac_warm_idle_temp=CF iac_cold_rpm=19 iac_warm_rpm=10 iac_cold_start_pos=E2 iac_warm_start_pos=B0 iac_afterstart_rpm=1F iac_afterstart_duration=64 iac_speed=05 iac_kp=14 iac_ki=0F iac_kd=14 launch_rpm=34 iac_integral_limit_dec=05 iac_integral_limit_inc=78 iac_integral_deadband=0A iac_deadband=05 als_cut_maxtps=A6 iac_overclose_interval=FF iac_ref_pos[0]=36 iac_ref_pos[1]=33 iac_ref_pos[2]=33 iac_ref_pos[3]=33 iac_ref_pos[4]=30 iac_ref_pos[5]=30 iac_ref_pos[6]=2E iac_ref_pos[7]=2E iac_ref_pos[8]=2E iac_ref_pos[9]=2B iac_sol_channel=7F iac_ign_slope=20 softrpm_range=12 iac_ign_advance_limit=08 iac_ign_retard_limit=08 iac_ign_threshold=08 ego_conf=06 ego_lag=01 ego_coolant=B4 ego_maxtps=E6 ego_maxmap=FF ego_minrpm=06 ego_maxrpm=FF ego_warmup=3C ego_lean_limit=03 ego_rich_limit=03 ego_pid_kp=28 als_enrich=1A ego_delta=1A ego_target=19 ego_pid_window=FF wbo2_warmup_ramp=C0 als_react_tps=00 wbo2_abs_limit=F5 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=89 wbo2_pump_pw_zero=64 wbo2_calibration=D9 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=01 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=00 knock_default_retard=00 knock_retard_step=00 knock_retard_delay=00 knock_advance_step=00 knock_advance_delay=00 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=33 ve_learn_conf=00 lcd_c0=FE lcd_delay=FF lcd_backlight=FF kpa_conf=22 ign_balance=64 als_retard_mintps=99 als_retard_maxtps=CC lcd_default_view=00 primary_trigger=D0 secondary_trigger=10 tooth_wheel=0E trigger_tooth=02 another_trigger_tooth=06 crank_minper=00 tooth_wheel_twidth1=00 tooth_wheel_twidth2=00 cam_sync_r_edge_phase=00 cam_sync_f_edge_phase=00 reset_engphase_after=1E ign_tdcdelay=8C ign_dwell14=2F ign_dwell6=43 ign_crank_advance=28 ign_out=70 ignchmax=04 engine_off_delay=0F pump_on_mintime=0B fuelpump_channel=5F inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_deact_rpm=1E als_deact_time=00 als_deact_egt=00 als_retard=F0 als_rev_limit=FF misc1out_minrpm=00 misc1out_maxrpm=FF misc1out_mintps=00 misc1out_maxtps=FF misc1out_minmap=00 misc1out_maxmap=FF misc1out_channel=7F misc2out_minrpm=FF misc2out_maxrpm=FF misc2out_mintps=00 misc2out_maxtps=FF misc2out_minmap=00 misc2out_maxmap=FF misc2out_channel=6F act_wot_rpm=FF act_wot_channel=FF act_rpm_rpm=48 act_rpm_channel=60 egt1_cal=4C als_tks_channel=FF boost_conf=59 boost_targetoffs=1E boost_minpressure=3C boost_pid_kp=B4 boost_pid_ki=46 boost_pid_kd=23 boost_pid_ilimit=4B boost_channel=70 water_pump_temp=00 hybrid_rpm_a=00 hybrid_rpm_m=00 water_pump_hyst=00 water_pump_channel=FF toothrel_normal=00 toothrel_missing=00 fuelcut_min_kpa=0A fuelcut_max_kpa=FF tach_channel=FF tach_div=FF shiftcut_conf=00 shiftcut_channel=00 shiftcut_time=3F softrpm_rpm=52 j[0]=3380 3480 3780 3880 3980 3C80 3D80 3D80 3D80 3D80 3C80 3980 j[1]=3780 3780 3C80 3B80 3D80 4080 4080 4480 4480 4480 4480 4680 j[2]=3A80 3A80 4280 4280 4280 4680 4780 4B80 4B80 4A80 4A80 4A80 j[3]=5280 5480 5380 4F80 4F80 4F80 5280 5480 5280 5280 5280 5080 j[4]=5E80 5D80 5D80 5C80 5980 5980 5B80 5C80 5A80 5B80 5A80 5980 j[5]=6680 6680 6680 6380 6380 6780 6780 6780 6980 6980 6880 6580 j[6]=7080 6F80 7080 7080 7080 7380 7180 7280 7280 7180 7280 7080 j[7]=7D80 7C80 7C80 7C80 7980 7980 7A80 7980 7880 7780 7880 7880 j[8]=8080 8080 8180 8280 8280 8280 8280 8280 8280 8280 8280 8280 j[9]=8580 8580 8380 8580 8A80 8A80 8A80 8880 8880 8880 8880 8880 j[A]=8780 8780 8780 8480 8C80 8C80 8C80 8A80 8A80 8A80 8A80 8A80 j[B]=8B80 8B80 8B80 8980 8C80 8E80 8E80 8C80 8C80 8C80 8C80 8C80 l[0]=47 47 47 47 47 47 47 47 47 47 47 47 l[1]=47 47 47 47 47 47 47 47 47 47 47 47 l[2]=48 48 48 48 48 48 48 48 48 48 48 48 l[3]=48 48 48 48 48 48 48 48 48 48 48 48 l[4]=48 48 48 48 48 48 48 48 48 48 48 48 l[5]=48 43 43 43 43 43 43 43 43 43 43 43 l[6]=5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C l[7]=5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C l[8]=5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E l[9]=63 63 63 63 63 63 63 63 63 63 63 63 l[A]=70 70 6D 6D 6D 70 6D 6D 70 6D 70 70 l[B]=7E 7E 7E 7E 7E 7E 87 87 87 7E 7E 7E n[0]=38 38 6C 89 9D A4 A7 A9 AB AB AB AC n[1]=38 38 69 85 97 9F A3 A5 A8 A8 A9 A9 n[2]=38 38 65 7F 93 9B A1 A1 A4 A4 A8 A8 n[3]=40 3F 60 79 90 99 9E A0 A1 A2 A5 A6 n[4]=40 3E 63 7D 8F 98 9E 9E 9E 9E A1 A2 n[5]=3C 45 5E 75 86 8F 93 93 95 97 99 9A n[6]=32 39 54 6A 77 7E 86 89 8C 8D 90 92 n[7]=22 21 3A 57 6B 7A 7F 84 88 8B 8E 8E n[8]=1D 1D 2E 45 64 70 78 7C 80 84 88 88 n[9]=1B 1B 29 3A 60 70 78 78 7C 80 84 84 n[A]=1A 1A 25 37 4C 5C 60 64 68 6C 70 74 n[B]=14 14 14 19 20 27 2D 31 36 39 3B 3E k[0]=0A 14 1E 28 32 43 53 64 75 85 9B A7 r[0]=07 0C 0F 14 1E 28 32 37 41 46 4B 55 h[0]=04 10 08 02 01 00 40 80 h[1]=00 00 00 00 00 00 00 00 h[2]=01 00 02 04 03 07 07 07 b[0]=7D 82 82 96 96 96 96 96 96 96 96 96 t[0]=FF FF FF FF FF FF FF FF </code> ---- '''Overlapping dwell''' New firmware * with 1.0.59_experimental we didn't experience errors on bench (ign switching off later than should) under any circumstances (trigger killed and restarted fast; trigger faded with mixer; noise injected; fast RPM changes). See [http://www.vems.hu/files/Firmware/release/ release] Note that 1.0.59 release only supports 15-1 multitooth. 1.0.60 supports N-1 and N-2, but untested, and for 15-1 there is no known advantage compared to 1.0.59 '''This engine is running well with 1.0.59 overlapping dwell firmware''', idles and drives around, and is powerful. ALS works too, though max retard seems to be limiting it's usefullness (will be fixed soon) The 15-1 wheel is now hollowed on lathe and fixed strongly to the crank (this will prevent the earlier accident of coming off from the flywheel and flying away with some spectacular fireworks under the car at a 402m dragrace). Unfortunately engine rev-limits itself at 7900..8000 RPM, but this is certainly NOT caused by the limited dwell (since dwell is not limited with this firmware even at high-RPM). Most likely the orig cylinder head cannot actuate the valves properly at too high RPM. ---- '''Firing order is 1,2,4,5,3''' Special settings needed for the reftooth for each cyl (yes, odd-fire V6 would be possible as well). * so h[1] reftooth in decimal are 24, 18, 12, 6, 0; in mct hex format: * h[1]=18 12 0C 06 00 .. .. .. * h[2]=03 01 00 02 04 .. .. .. ** ign-outputs ch00..ch4 are used for cyl1..cyl5 respectively, ** so with this config, '''ignch0 (cyl1) TDC is 12 + 3 tooth + 80 crankdeg after the''' "first tooth" - rather call that '''tooth0 after the missing tooth after the camsync pulse chosen edge''' *** 0C (decimal 12) is the h[1] reftooth that belongs to h[2] entry ignch00 *** 03 is the configured trigger-tooth *** 80 crankdeg is the "configured trigger to TDC" (config.ign_tdcdelay=A0) ** so ignch4 (cyl5) TDC is 0 + 3 tooth + 80 crankdeg (similarly as above, just using different h[1] "reftooth" entry). You get the idea. '''Other settings:''' * normal tooth width (...twidth1 =0x60) decimal 96 * missing tooth width (...twidth2 =0xC0) decimal 192 * reset_engphase_after = 0x40 = decimal 64 // Since 26 * 96 + 2 * 96 * 2 = 2880 (that is 720 * 4) = (2880 / 256 -11) * 256 * config.tooth_wheel=0E decimal 14 obvious for 15-1 * als_launch_input=FF just to maintain old behavior for ALS and launch activation (SDA and SCL lines) ---- '''How to upload h[1]''' - h[1] was not used before 2006-Sept '''MegaTune''' * If you replace vemsv3.ini from the http://www.vems.hu/files/TuningSoftware/MegaTune/vemsv3_ini_1.0.59_h1_included.zip than you can set h[1] from MegaTune ** Peter Nanassy said this didn't work for him, MegaTune complained about invalid ini and froze (weird) '''Alternatively via TerminalProgram''' [http://www.vems.hu/files/MembersPage/NanassyPeter/CloneInstall/overlapping_diff.zip small conflet and mtt files to upload] of the very few changes. These were made with make_conf.pl and make_tables.pl (but can also be made with a modified generate_config.bat) * upload both small mtt files via TerminalProgram. * '''dump mct and review that h[1] is right. For now, do this even if you set in MegaTune, just to be sure''' 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.