### ## ## ## ## ####
|\ /| | ) ( | | (___) | | ___ | | ( ) | | ) ( | |/ \|
## ## ##### ## ## ## ## ###
### ##### ## ## ## ## ## ## ## ## ### ##
## ### ## ## ## ####
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: I would like to install a Genboard v3.3 to the following car: Audi S2 coupe quattro 2.2 5 cyl 20v 3B This 5cyl needs InputTrigger/AudiTrigger '''see "Configuration" info''', your config does not comply ! * see GenBoard/UnderDevelopment/FirmwareChanges ** firmware 1.0.29 used * MegaTune r028 (r027 should work too). ---- '''TODO needed for debug''' * TerminalProgram ** disconnect megatune ** brayterm 9600,8n1 connect (COM1 or whatever) ** Man ** mll - sends LCD content, just to test if we are in "Man" menu ** start log ** mcd - so log contains config ** mct - so log contains tables ** mdd0c ** cranking (4..5 sec) ** stop log ** upload log to internet ** bye (this changes mode to MegaTune binary protocol; a reboot does the same) ** disconnect from Brayterm ** connect MegaTune ** (Man, mcd, mct, mdd0c, mdd04, mdd00), start log/ stop log / send file (mtt file) * DONE: publish mcd, mct dump * '''TODO: describe all trigger connections, including shield and pullup''' ** photo of cable ** check against InputTrigger/AudiTrigger and InputTrigger/AudiTrigger/TestLM While the trigger is special, the other sensors should be no problem at all. My V3.3 include: * Primary trigger VR * secondary_trigger: auditrigger * MAP connection: 400kPa onboard * LCD an PS2 * 2 Knock and EGT * ignition driver: 6+2 The car use the absolutely factory sensors and accessory but the air filter's house was removed. I want to make a street racing car from above. Project to follow: * samco turbo hoses * tubular turbo exhaust manifold * bigger turbo than original * erl water injection * engine internal modification /pistons,conrods/ My plans: * use a factory 55 pins Motronic male connector to EC18 and EC36 and make a flying cable set + WBO2,egt custom made wirings to engine. * Anti lag system * Launch control * Boost control solenoid * Distributor based ignition * Sequential injection for 5 cyl '14.5 ohm' * 2 knock sensors, but I think use 1 knock sensor. If I want to use the factory airmass sensor too,where can I connect this? Since you have onboard MAP, EC18pin6 (see WebShop assembled controller) is a custom analog input that you might use for airmass sensor (not used by default, just logged in MegaTune). The knock input cannot measure the airmass sensor's signal. * Primary trigger VR 135 tooth crankwheel (no missing tooth) * Secondary tr. HALL trig 1 window/720° camtooth. Overlaps VR. * Secondary tr. VR trig 1/360° cranktooth * factory CLT * factory IAT * factory TPS * 1xWBO2 * 1xEGT * LCD Please check my planned pinout and correct it if necessary. '''EC36''' 1 TPS sign. 2-IAT 450-650 ohm/in 20°C 3- fast-idle small solenoid or relay (or any low-current output, such as shiftlight). EC36pin3 is a 350mA output, see GenBoard/Manual/DigitalOut/Table. You might want to use the powerful injector outputs first (don't forget to adjust h[0]=.. entries) and use the low-current outputs if you run out of injector outputs. Care is needed to not overload outputs. 4- 5-'''GND5''' 6- 7-Injector1 14.5 ohm/in 20°C 8-Injector3 9-Injector5 10- 11- 12- 13-Sec.trig HALL 1 window camtooth 14-CLT 2.1-2.9kohm/in 20°C 15-'''TODO: remove Fuel pump relay from here''' 16- 17-'''TODO: move fuel pump relay to here''' 18-BOOST solenoid 19-Injector2 20-Injector4 21-'''GND5''' 22-'''GND5''' 23-'''Inj.flyback''' injector common (+12V) 24- 25-Vbatt 15+ 26-GND ecu and sign,knock 27-Primary trigger 135 cranktooth VR 28-5V to sensors /to TPS maybe ???? 29- 30- 31- 32-'''GND5''' 33- 34- 35-ignition coil. Ign-Channel0 ( GenBoard/Manual/DigitalOut/Table ) 36- WebShop assembled controller description says channel3=EC36pin36 and channel5=EC36pin12 are logic-level drive. Useful for active coils that have the driver stage inside. For traditional dumb coil, you want to use one of the 6 power (non-logiclevel) ignition outputs. h[2]=.. (ignition sequence) must be adjusted for the chosen output in any case. '''EC18''' 1 2-Knock1 3- 4- 5- 6- 7-WBO2 pump- 8- 9-WBO2 pump+ 10- 11- 12-Sec trigger '''1 Cranktooth VR'''. '''If you cannot capture any mdd0c triggerlog even with the fixed config, install an 1k pulldown to GND and leave the 10k pullup''' (don't change to 5k6!). 13-WBO2 nernst cell 14-Comm RS232 See WebShop, assembled controller 15-Comm RS232 16- 1-wire is a network connection. Not used (unless for [http://shop.x-dsl.hu/catalog/index.php?cPath=1_10 i-button]). A free connection (if you don't solder the DS2480B chip) - use for whatever you like. 17- 18-WBO2 heater- '''DO NOT forget to read the warning of the provided resckue-kit paper''', about GND5, flyback, and fuses. ----- Please link to the docs you're trying to use. See MegaTune page for (simple unzip) install. The v3.3 has max232, so a standard RS232 port is needed. See GenBoard/Manual/CommHardware If unsure about MegaTune setup / compatibility, in 9600,8n1 say <code> Man mll mcd mct bye </code> without spaces. mll prints LCD content of active page (even if no LCD connected), mcd and mct prints config and tables. bye (note: everything is case sensitive) goes back to MegaTune compatible mode. Since MegaTune is much simpler to use, you don't need to learn GenBoard/MenuSystem, but if you like: But 1.0.19 will NOT work with the InputTrigger/AudiTrigger , since it is a new development. ------- megaloq viewer: http://www.vems.hu/wiki/index.php?page=LogAnalysis you can also collect some infos from: http://www.msefi.com/index.php primep=32 primep_temp_scaling=00 cwl=50 cwh=0F cranking_thres=04 awev=1E awev_temp_scaling=1A awc=64 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]=64 warmup_clt[1]=64 warmup_clt[2]=64 warmup_clt[3]=64 warmup_clt[4]=64 warmup_clt[5]=64 warmup_clt[6]=64 warmup_clt[7]=64 warmup_clt[8]=64 warmup_clt[9]=64 warmup_rpm_scale=63 req_fuel=50 divider=01 alternate=14 injopen=06 battfac=22 * kpafac=C8 reads slightly high MAP ** kpafac=C6 is quite accurate kpaoffs=6B injocfuel=15 injrampup_battfac=7D injpwm=FF injpwmt=FF injpwm6=FF rpmk[0]=09 rpmk[1]=60 tpsdot_kpadot_conf=00 tpsdotrate[0]=02 tpsdotrate[1]=10 tpsdotrate[2]=19 tpsdotrate[3]=23 tpsaq[0]=00 tpsaq[1]=00 tpsaq[2]=00 tpsaq[3]=00 tps_thresh=05 tpsasync=01 acmult=64 tpsacold=0A tpsdq=64 decel_fuelcut_thres=32 overrun_fuelcut=32 overrun_fuelresume=32 rev_limit=42 airden_ignore=62 config11=41 config12=40 config13=02 batt_cal=AA fastidle=C6 baro=64 dbaro=0A tps_low=17 tps_high=FE fan_temp=EA fan_hyst=05 fan_channel=FF iac_step_seq=D8 iac_conf=08 iac_max_steps=EE iac_tps_thres=08 iac_cold_idle_temp=80 iac_warm_idle_temp=D0 iac_cold_rpm=78 iac_warm_rpm=55 iac_cold_start_pos=00 iac_warm_start_pos=00 iac_afterstart_rpm=14 iac_afterstart_duration=50 iac_afterstart_steps=04 iac_kp=20 iac_ki=22 iac_kd=14 iac_integral_speed=DC iac_integral_limit_dec=03 iac_integral_limit_inc=E1 iac_integral_deadband=0A iac_deadband=05 iac_pid_conf=01 iac_overclose_interval=B8 iac_ref_pos[0]=6B iac_ref_pos[1]=69 iac_ref_pos[2]=66 iac_ref_pos[3]=63 iac_ref_pos[4]=61 iac_ref_pos[5]=5E iac_ref_pos[6]=5C iac_ref_pos[7]=59 iac_ref_pos[8]=57 iac_ref_pos[9]=54 iac_sol_channel=7F iac_ign_advance_change=10 iac_ign_retard_change=20 iac_ign_advance_limit=00 iac_ign_retard_limit=00 iac_ign_threshold=10 ego_conf=06 ego_lag=03 ego_coolant=D8 ego_maxtps=FF ego_maxmap=FF ego_minrpm=32 ego_maxrpm=40 ego_warmup=1E ego_lean_limit=0F ego_rich_limit=0E ego_pid_kp=40 mt_unused=FF ego_delta=01 ego_target=19 ego_pid_window=01 wbo2_warmup_ramp=A0 wbo2_warmup_target=FF wbo2_abs_limit=E0 wbo2_limit_maxt=F0 wbo2_fallback=70 wbo2_retry_t=06 wbo2_edgetime_corr=BA wbo2_edgetime_min=50 wbo2_ri_target=A5 * wbo2_nernstdc_target=86 ??? where is this value from ? ** use wbo2_nernstdc_target=9C as was in the ECM config when sent out (and is reasonable) * wbo2_pump_pw_zero=64 ** why did you use 0x66 (here and in the values I read back from the ECM) ? Your ECM v3.3 serialnr=347 was calibrated wbo2_pump_pw_zero=64 (written inside the ECM, and also in shop mail you received), so use that (decimal 100) wbo2_calibration=B2 ''' wbo2_heater_pid_kp=46 wbo2_heater_pid_ki=10 wbo2_heater_pid_kd=1A wbo2_heater_pid_ilimit=80 '''also BAD:''' wbo2_pump_pid_kp=40 wbo2_pump_pid_ki=2C wbo2_pump_pid_kd=08 wbo2_pump_pid_ilimit=84 '''The recommended (was in the ECM config when sent out) values:''' 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=0E knock1_integrator=14 knock2_frequency=29 knock2_gain=00 knock2_integrator=00 knock_threshold=0A knock_noise_scale=D8 knock_max_retard=18 knock_default_retard=04 knock_retard_step=04 knock_retard_delay=30 knock_advance_step=01 knock_advance_delay=50 knock_minrpm=32 knock_maxrpm=42 ve_learn_coolant=C9 ve_learn_max_power=FF ve_learn_rpm_scale=28 ve_learn_kpa_scale=28 ve_learn_ego_scale=50 ve_learn_min_weight=30 ve_learn_speed=36 ve_learn_limit=FF ve_learn_conf=00 lcd_c0=FE lcd_delay=42 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=F3 should be FB''', toggle bit3 (advanced_multitooth flag) secondary_trigger=1D tooth_wheel=87 '''trigger_tooth=1C''' 1B recommended, small difference though another_trigger_tooth=36 crank_minper=30 tooth_wheel_twidth1=01 tooth_wheel_twidth2=FF cam_sync_r_edge_phase=00 cam_sync_f_edge_phase=00 reset_engphase_after=05 ign_tdcdelay=78 ign_dwell14=4B ign_dwell6=6F ign_crank_advance=20 ign_out=70 ignchmax=04 engine_off_delay=04 pump_on_mintime=04 * fuelpump_channel=57 OBSOLETE ** '''TODO: change this to 70''' (injector-FET according to last element of h[0] line) inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_deact_rpm=24 als_deact_time=AA als_deact_egt=66 als_retard=CC als_rev_limit=24 misc1out_minrpm=FE misc1out_maxrpm=FF misc1out_mintps=FE misc1out_maxtps=FF misc1out_minmap=FE 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=4A egt1_offs=00 boost_conf=69 boost_targetoffs=00 boost_minpressure=41 boost_pid_kp=2D boost_pid_ki=1B boost_pid_kd=FA boost_pid_ilimit=FF boost_channel=60 water_pump_temp=FF hybrid_rpm_a=00 hybrid_rpm_m=00 water_pump_hyst=7F water_pump_channel=FF toothrel_normal=76 toothrel_missing=00 fuelcut_min_kpa=00 fuelcut_max_kpa=AF tach_channel=36 tach_divider=05 shiftcut_conf=00 shiftcut_channel=FF shiftcut_time=7F j[0]=1980 1980 2780 2A80 2A80 2880 2880 2080 2080 2080 2080 1F80 j[1]=2080 2180 3D80 4480 4180 3E80 3A80 3880 3880 3480 3380 2C80 j[2]=4E80 5680 5880 5A80 5980 5380 5380 5180 5280 4B80 4380 3580 j[3]=5C80 6280 6480 6680 6480 6080 6180 5B80 5A80 5780 4E80 4580 j[4]=6880 6A80 6E80 6E80 6E80 6D80 6A80 6480 6280 6380 5C80 5180 j[5]=7380 7580 7780 7880 7680 7680 7680 7180 6E80 6E80 6480 5D80 j[6]=7880 7A80 7B80 8080 7E80 7D80 7B80 7A80 7880 7780 7680 6E80 j[7]=8180 8180 8380 8280 8280 8380 8280 8280 8380 8480 7E80 7B80 j[8]=8A80 8A80 8A80 8C80 8B80 8980 8880 8880 8880 8980 8980 8680 j[9]=9780 9780 9780 9580 9680 9680 9680 9680 9580 9380 9480 9380 j[A]=A180 A080 9F80 9F80 9F80 9F80 9E80 9B80 9D80 9C80 9D80 9E80 j[B]=B180 B280 B080 B180 AF80 AF80 AE80 AF80 AF80 AF80 AE80 B080 l[0]=37 37 37 37 37 37 37 37 37 37 37 37 l[1]=37 37 37 37 37 37 37 37 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]=37 37 37 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]=6D 6D 6D 6D 6D 6D 6D 6D 6D 6D 6D 6D l[B]=7B 7B 7B 7B 7B 7B 7B 7B 7B 7B 7B 7B n[0]=22 22 2C 68 82 8C 94 9C 9E 9E A0 94 n[1]=23 23 2F 6B 83 8C 94 9C 9E 9E A0 94 n[2]=23 22 2D 69 7D 88 90 98 98 98 9C 94 n[3]=30 30 2F 65 7C 84 8C 94 94 96 98 94 n[4]=30 30 2B 60 75 7C 82 8B 8D 90 91 91 n[5]=30 30 25 5B 70 77 80 84 88 88 8C 8C n[6]=14 14 1E 53 67 70 78 80 82 84 88 88 n[7]=0C 0C 15 4C 60 68 6C 6C 74 76 78 78 n[8]=04 04 0F 43 50 54 5C 60 64 68 6C 6D n[9]=04 04 0C 38 47 4B 54 5A 5D 63 68 6B n[A]=02 04 0A 28 39 42 4A 4D 50 52 52 57 n[B]=04 04 0B 14 20 24 2C 34 34 36 38 3C k[0]=0F 17 1E 28 32 3C 46 50 55 5A 5F 64 r[0]=07 0C 12 19 1F 25 2B 31 37 3D 43 4A h[0]=08 02 01 04 10 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 ---- '''Trigger signal debugging''' The from genboard I can see the following signals: * 135 cranktoots on 0.8V DC with 1.9V AC-peak to peak about 400Hz,40mV noise on cranking * 1 teet crankhome VR on 0.8V DC with 2V AC-peak to peak about 40mv noise on cranking * hall 1camsign startpoint 4.7V neg pulse about 10msec on cranking We have not Rpm signals and triggerlog on megatune and brayterm and not started the engine. The signals look suitable. The problem was boiled p259 chip, likely operated with missing GND or GND5. ---- '''Testing on the bench''' * the board was sent to Budapest to be tested on the bench * modifications done: ** C103 was replaced (to 1nF) ** R182 was shorted ** 43k pullup to 5V was installed on crankhome-VR input. Should be enough without external pullup. ** '''ALS activation switch input''' (SDA) was '''connected to EC18pin16'''. Note that only AVR internal pullup is enabled, an external 4k7 resistor connected in place of the ALS switch pulled down 4.8V down to 0.57V). Beware that this is unprotected input. Anything above 5V or under 0V will kill the AVR. * we found that p259 was fried. Very likely that GND or GND5 was not ** this prevented trigger detection (broken p259 pulled down internal supply that powered the LM1815) and the p259 outputs (fuel-pump relay was controlled from this * p259 was removed, than (after some testing, and found other functions to be OK,) a new chip was installed * tested with c270_670.wav fed into EC36pin27 (primary) and EC18pin12 (secondary channel. It works nice. ** HALL input (EC36pin12) was tested this way: first left open, than pulled continuoisly to GND (in normal operation, pulled to GND once every 2nd crankrot, hard to test with 2 channel soundcard, but this simpler test also tests the input perfectly). Found an interesting thing: when I ground HALL continuously, firing (ign/inj) stops as it should, but RPM keeps updating, which is confusing. Well, this was 1.0.29 firmware 1.0.30. ** 1.0.29 didn't increase wheel-error for secondary trigger problem (like 1.0.30 does). mdd0c auditrigger log works well though. * upgraded to 1.0.30 compiled with ALS (global.h is the same, but air and clt temp patched to guessed curves: vems_airXfactor_2400_287_cltfactor_2400_287.hex) '''Suggestions:''' * move fuel-pump control to a free injector output (other input of the relay is connected to injector-common +12V ) ** proposed: EC36pin17 (see GenBoard/Manual/DigitalOut/Table): ** last element of h[0] becomes 80 (decimal 128): h[0]=08 02 01 04 10 00 00 80 ** after setting h[0] last element, test with mdhf0 and mdh70 ** after testing the above way, set fuelpump_channel=70 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.