## ## ## ## ## ####
### ## ## ## ## ####
__ __ \ \ / / \ \ /\ / / \ V V / \_/\_/
______ |___ / / / / / / /__ /_____|
## ## ## ## ## ## ## ## #####
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: Details: 1993 Audi 80/90 Quattro 1997 Audi A8 4.2 liter V8 engine with sequential injection and coil-on-plug ignition. Using a 60-2 trigger wheel on the crank with a (I think) VR sensor from the 1993 12v V6 and the stock A8 4.2 cam position sensor (Hall). http://www.ubernugen.com/vems/4.2installed1.jpg ---- '''USE THIS INFO AT YOUR OWN RISK, I AM NOT SMART''' Being that my own project was about to join yours in the Pacific, I loaded your config into my board so I could read it, here is what I think, KEEP IN MIND, MINE IS WORKING, JUST DIES FOR A SPLIT SECOND BASIC SETTINGS * '''fuel cut under (kpa)'''- make it appr. 8..14 kPa for now. * '''overrun-fuelcut''' - fuelcut above this RPM if TPS < (idle-)tps_threshold. overrun_fuelcut at 5700 RPM and overrun_fuelresume at 5500 will get it out of the way for now. * '''map sensor range''' -I assume you are using the 250kpa sensor? Looking at some other peoples configs, I think it should be set to 250 and then change the offset till you get the correct baro pressure for your area. Maybe its not a big deal, but every little bit helps. CONSTANTS * '''barometric correction''' roughly: adds 4% fuel if pressure at startup is -10% (eg. on a high hill) compared to normal. In fact it's a linear function, and insane values (too low baro) are eliminated. Inactive is OK, especially with WBO2 PRIMARY TRIGGER * with a multitooth wheel, the '''filtering MUST''' be set to off * '''crank min_period''' event-period (that is time for 90 crankdegrees for an 8 cyl) less than this is considered error (make it slightly less than period for max RPM) FUEL PUMP * '''pump on after power up''' dont really need 5 seconds, 2 is normal ---- 14oct PROGRESS!! Right, so I disabled afterstart enrichment and discovered that the motor is just not getting enough fuel. Does it get enough air? what is MAP reading? It was slobbering rich with lots of smoke at first start and then after a little while (255 cycles, I imagine) it would purr like a cat for a few seconds then start surging and die. After disabling afterstart enrichment, it starts and barely runs with NO SMOKE and I cannot keep it going. * The problem is this: No matter what I do to increase injector open time, required fuel or whatever, there is NO CHANGE in how the motor runs. It's just not getting enough fuel and nothing in megatune will increase it - or so it seems. ** This can be very normal. In speed-density mode, if the MAP is very low (close to 0kPa), the (req_fuel * VE * lambdacorr * MAP) multiple will also be low. So you rely on the injector rampup value to add fuel (keep the "injector opening" value under 300 usec). GenBoard/Manual/Config/InjectorOpening But check your MAP calibration ** if the RPM is below the cranking threshold (cranking_thres=03 means 399 RPM, not 300 RPM as MegaTune displays), the (req_fuel * VE * lambdacorr * MAP) equation is not used. Only cranking values, "cwl" and "cwh" are used to calculate fuel injector pulsewidth. ** What does megatune/lcd say about MAP value, is it near what it should to be on idle (20-40kPa) or way higher? What type is your injectors, low or high impedance? Firmware .18 dual fire mtr024 here is the recent output from the VEMS. I am stumped so any input would be good. <code> Hello> primep=0A primep_temp_scaling=80 cwl=64 cwh=32 cranking_thres=03 awev=00 awev_temp_scaling=00 awc=00 warmup_clt_range[0]=00 warmup_clt_range[1]=15 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]=A6 warmup_clt[1]=A2 warmup_clt[2]=97 warmup_clt[3]=88 warmup_clt[4]=7B warmup_clt[5]=75 warmup_clt[6]=73 warmup_clt[7]=71 warmup_clt[8]=6E warmup_clt[9]=64 warmup_rpm_scale=FF req_fuel=C8 divider=01 alternate=07 injopen=26 battfac=10 kpafac=7A kpaoffs=80 injocfuel=28 injrampup_battfac=FB injpwm=FF injpwmt=FF injpwm6=00 rpmk[0]=0B rpmk[1]=B8 tpsdot_kpadot_conf=01 tpsdotrate[0]=05 tpsdotrate[1]=0E tpsdotrate[2]=20 tpsdotrate[3]=40 tpsaq[0]=08 tpsaq[1]=12 tpsaq[2]=17 tpsaq[3]=1B tps_thresh=05 tpsasync=02 acmult=64 tpsacold=05 tpsdq=64 decel_fuelcut_thres=64 overrun_fuelcut=16 overrun_fuelresume=10 rev_limit=32 airden_ignore=62 config11=70 config12=30 config13=0A batt_cal=A4 fastidle=80 baro=64 dbaro=0C tps_low=20 tps_high=F0 fan_temp=55 fan_hyst=09 fan_channel=FF iac_step_seq=C9 iac_conf=6A iac_max_steps=E8 iac_tps_thres=05 iac_cold_idle_temp=A0 iac_warm_idle_temp=D0 iac_cold_rpm=65 iac_warm_rpm=4F iac_cold_start_pos=FF iac_warm_start_pos=FF iac_afterstart_rpm=0C iac_afterstart_duration=FF iac_afterstart_steps=00 iac_kp=25 iac_ki=10 iac_kd=30 iac_integral_speed=C0 iac_integral_limit_dec=33 iac_integral_limit_inc=E4 iac_integral_deadband=0A iac_deadband=FE iac_pid_conf=00 iac_overclose_interval=FF iac_ref_pos[0]=61 iac_ref_pos[1]=5C iac_ref_pos[2]=58 iac_ref_pos[3]=50 iac_ref_pos[4]=4C iac_ref_pos[5]=FF iac_ref_pos[6]=38 iac_ref_pos[7]=31 iac_ref_pos[8]=2F iac_ref_pos[9]=2E iac_sol_channel=0F iac_ign_advance_change=10 iac_ign_retard_change=10 iac_ign_advance_limit=10 iac_ign_retard_limit=18 iac_ign_threshold=08 ego_conf=06 ego_lag=01 ego_coolant=00 ego_maxtps=FF ego_maxmap=FF ego_minrpm=05 ego_maxrpm=50 ego_warmup=DC ego_lean_limit=29 ego_rich_limit=28 ego_pid_kp=25 mt_unused=00 ego_delta=01 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=06 wbo2_edgetime_corr=BA wbo2_edgetime_min=50 wbo2_ri_target=96 wbo2_nernstdc_target=9C wbo2_pump_pw_zero=65 wbo2_calibration=B8 wbo2_heater_pid_kp=45 wbo2_heater_pid_ki=11 wbo2_heater_pid_kd=1A wbo2_heater_pid_ilimit=81 wbo2_pump_pid_kp=15 wbo2_pump_pid_ki=4E wbo2_pump_pid_kd=00 wbo2_pump_pid_ilimit=FF wbo2_ri_confidence_scale=80 knock_conf=01 knock_sampling_window=F2 knock1_frequency=29 knock1_gain=40 knock1_integrator=14 knock2_frequency=29 knock2_gain=40 knock2_integrator=14 knock_threshold=FF knock_noise_scale=D8 knock_max_retard=28 knock_default_retard=04 knock_retard_step=08 knock_retard_delay=FF knock_advance_step=FF knock_advance_delay=50 knock_minrpm=FF knock_maxrpm=05 ve_learn_coolant=BD ve_learn_max_power=FF ve_learn_rpm_scale=1E ve_learn_kpa_scale=1E ve_learn_ego_scale=43 ve_learn_min_weight=AC ve_learn_speed=FF ve_learn_limit=FF ve_learn_conf=00 lcd_c0=F8 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=D5 secondary_trigger=02 tooth_wheel=3A trigger_tooth=02 another_trigger_tooth=0F crank_minper=7D tooth_wheel_twidth1=68 tooth_wheel_twidth2=06 cam_sync_r_edge_phase=FF cam_sync_f_edge_phase=FF reset_engphase_after=F0 ign_tdcdelay=64 ign_dwell14=1E ign_dwell6=44 ign_crank_advance=30 ign_out=70 ignchmax=03 engine_off_delay=08 pump_on_mintime=13 fuelpump_channel=57 inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_lowrpm=FF als_maxtps=D4 als_ignretard=FF als_rich=FF als_rev_limit=40 misc1out_minrpm=0A misc1out_maxrpm=1E misc1out_mintps=40 misc1out_maxtps=FF misc1out_minmap=DE misc1out_maxmap=FF misc1out_channel=0F misc2out_minrpm=FF misc2out_maxrpm=FF misc2out_mintps=FF misc2out_maxtps=FF misc2out_minmap=F0 misc2out_maxmap=FF misc2out_channel=0F act_wot_rpm=FF act_wot_channel=2E act_rpm_rpm=FF act_rpm_channel=FF egt1_cal=40 egt1_offs=FD 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=98 water_pump_temp=00 hybrid_rpm_a=64 hybrid_rpm_m=EA water_pump_hyst=00 water_pump_channel=FF toothrel_normal=76 toothrel_missing=B5 fuelcut_min_kpa=0A fuelcut_max_kpa=F2 tach_channel=E6 tach_divider=FF </code> <code> j[0]=6680 6680 6780 6980 6E80 7180 7180 7380 7380 7380 7380 7380 j[1]=6780 6980 6B80 6F80 7580 7980 7A80 7980 7980 7980 7980 7980 j[2]=7080 6E80 7180 7880 8380 8880 8680 8280 8280 8280 8280 8280 j[3]=7280 7580 7D80 8480 9180 9880 9880 9280 9280 9280 9280 9280 j[4]=8080 8680 8880 8D80 9B80 A480 A880 A180 A180 A180 A180 A180 j[5]=8580 8980 9080 9380 A880 B380 B980 B380 B380 B380 B380 B380 j[6]=8D80 9080 9780 9C80 AF80 B880 BF80 BE80 BE80 BE80 BE80 BE80 j[7]=9280 9580 9A80 A080 B080 BA80 C580 C280 C280 C280 C280 C280 j[8]=9280 9580 9A80 A080 B080 BA80 C580 C280 C280 C280 C280 C280 j[9]=9280 9580 9A80 9A80 B080 BA80 C580 C280 C280 C280 C280 C280 j[A]=9280 9580 9A80 9A80 B080 BA80 C580 C280 C280 C280 C280 C280 j[B]=B080 B480 B480 BE80 D280 D280 E680 C280 C280 C280 C280 C280 l[0]=3F 36 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D l[1]=39 34 32 32 32 32 32 32 32 32 32 32 l[2]=39 36 32 32 32 32 32 32 32 32 32 32 l[3]=39 39 39 39 39 39 39 39 39 39 39 39 l[4]=39 39 44 47 4F 4F 4F 4F 4F 4F 4F 4F l[5]=44 44 4F 55 5A 5A 5A 5A 5A 5A 5A 5A l[6]=66 66 66 66 66 66 66 66 66 66 66 66 l[7]=6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B l[8]=6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B l[9]=6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B l[A]=6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B l[B]=6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B n[0]=20 24 50 77 A0 B4 B4 B4 B4 B4 B4 B4 n[1]=24 28 50 78 A0 B1 B2 B1 B1 B1 B1 B1 n[2]=28 2C 50 77 99 AA AB A9 A9 A9 A9 A9 n[3]=2C 30 50 76 95 A1 A2 A1 A1 A1 A1 A1 n[4]=30 34 50 75 8D 99 9B 9A 9A 9A 9A 9A n[5]=34 38 50 6F 83 8E 8F 8F 8F 8F 8F 8F n[6]=38 3C 50 67 7A 81 83 84 84 84 84 84 n[7]=3C 3F 50 5F 6F 78 78 78 78 78 78 78 n[8]=3F 3C 50 5F 6F 78 78 78 78 78 78 78 n[9]=3A 3C 50 5F 6F 78 78 78 78 78 78 78 n[A]=3A 3C 50 5F 6F 78 78 78 78 78 78 78 n[B]=3A 3C 50 5F 6F 78 78 78 78 78 78 78 k[0]=14 1E 28 32 3C 4B 5A 69 6A 6B 6C 6D r[0]=05 0A 0F 14 1E 28 32 40 41 42 43 44 h[0]=02 40 04 20 80 08 10 01 h[1]=00 00 00 00 00 00 00 00 h[2]=07 05 03 01 07 05 03 01 b[0]=28 30 38 40 48 50 58 60 FF FF FF FF t[0]=21 40 60 80 A0 C0 E0 FF </code> 28 September 2005// Ok, I got my wiring hooked up and the board says Hello Here are the steps I have just taken with the new software. I will now head over to the car and see what happens: 1) Erased everything on the hardrive having to do with mt/vems (Vems ECU still has .18 firmware on it). 2) downloaded firmware .18, firmware .18 ignition dual output files, mtr024, mtr025 ini. 3) unzipped mtr024 and mtr025 ini. Replaced the r024 .ini with r025 .ini in MegaTune2.25b602/mtcfg folder 4) unzipped firmware .18 and .18 dual ignition output files, inserted dual ignition files into firmware .18 directory 5) deleted the .15 firmware native to the the megatune folder and replaced with the new .18 firmware folder. 6) deleted the pre-existing config.mtt and tables.mtt files in the firmware/ect folder 7) converted the existing config.txt and tables.txt to .mtt files with: perl bin\make_table.pl tables.txt tables.mtt perl bin\make_conf.pl global.h config.txt config.mtt And put them in the firmware/etc folder 8) now I am ready to burn the firmware to the VEMS ECU again, right? I don't see why it would be needed, if you already have the newest (1.0.18 at this time). You can verify first. (but burning again is not a big deal either) IT WORKS!!! * Now that we know how to wire the CPS I just need to somehow see where it is with the crank at TDC? Still a little fuzzy on what I am looking for there... ** after the sensor sees the first tooth after the missing tooth (gap), count the number of teeth to the first TDC event. Place a wire in a sparkplug hole if you are unsure about cylinder position. With a manual gearbox, use gear5 so the engine can be moved easily by rolling the car a little. ---- '''IGN_DUALOUT''' (ben writes) This info below is a little fuzzy to me. Is this a hack so I can run without the second trigger wheel for a while? I guess we might as well make it go with wasted spark if possible since it sounds like I need to make a new trigger wheel for the cam. (/ben) On Jorgen's request, Marcell compiled a firmware with IGN_DUALOUT: http://www.vems.hu/files/Firmware/release/v3_firmware_1.0.18_IGN_DUALOUT.zip I added the note to GenBoard/UnderDevelopment/FirmwareChanges that MegaTune vemsv3.ini needs a small change. With the old definition of "42 bytes of runtime-vars", MegaTune will beep like hell. It is untested (but compiled with the same compiler as other releases, that all passed testing). IGN_DUALOUT means, that * in h[2] you configure channel 01, and 00 is also fired at the same time. * in h[2] you configure channel 03, and 02 is also fired at the same time. * in h[2] you configure channel 05, and 04 is also fired at the same time. * in h[2] you configure channel 07, and 06 is also fired at the same time. So a sane configuration is: * ignchmax=03 * h[2]=01 03 05 07 01 03 05 07 With a 60-2 wheel, and another_trigger_tooth=0x0F (decimal 15) only the first four element of h[2] is actually used (but with IGN_DUALOUT, each fires 2 channels). Eg. if you configure trigger_tooth=03, * timed from tooth 3: ch7 and ch6 * timed from tooth 18: ch5 and ch4 * timed from tooth 33: ch3 and ch2 * timed from tooth 48: ch1 and ch0 are fired. The exact time is (ign_tdcdelay/2 - actual_ignadv) crankdegrees after the tooth. ( ign_tdcdelay is 0.5 degree resolution, but MegaTune does the conversion for you IIRC) * Does this mean that I'm not using tooth #2 anymore? Please clarify... ** you can configure any trigger_tooth you like. According the image on MembersPage/BenNesbitt/InputTrigger you're still triggering from teeth 2,17,32,47 and assume that TDC is 60 degrees later (that is teeth 12,27,42,57) ---- Fill in these pages with all the required info and watch your config be pretty much built for you MembersPage/BenNesbitt/IgnitionPage MembersPage/BenNesbitt/WBsensor MembersPage/BenNesbitt/FuelPage MembersPage/BenNesbitt/InputTrigger MembersPage/BenNesbitt/IdleControl MembersPage/BenNesbitt/SensorPage MembersPage/BenNesbitt/ConfigPage 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.