As my Genboard v3.3 seems to be installed (see MembersPage/JoelZernask), I will now try to dig through the configration.
I have prepared a configuration based on Ben Nesbitts configiration and I would like someone to take a look at the trigger configuration
As it was confusing to use real_degrees/10 I changed to comply with the reset_engine_phase=240dec standard. Remember to update the config file some browsers act up!
Trigger
Primary-VR
- NOT multitooth
- VR sensor (VR primary-trigger HW used; rising edge configured)
- do we know the polarity ?
- 4 trigger pins on the flywheel, 62BTDC each cyl
Secondary-HALL
- 1 Hall cam sync pulse overlapping the crank trigger pin occuring 62 deg before #1 piston reach TDC in it's work phase.
- Rising edge 77d BTDC - certainly this one is to be used, so configure rising edge
- Falling edge 47d BTDC. Use the other edge, not this
I have studied MembersPage/BenNesbitt, who also has a V8 Audi, but he has coil-on-plug ignition, so not entirely applicable to my project.
Here are the specs of my engine:
- 1989 Audi PT 3,6 liter 32valve V8
- firing order: 1-5-4-8-6-3-7-2
- ignition type: wasted spark
- coils: two 2*2 coil packs (Bosch 0 221 503 407)
Ignition
Cylinders firing together are:
1 5 4 8
6 3 7 2
The coil packs are connected as follows:
EC36-pin35 to Coil 1
EC36-pin33 to Coil 2
EC36-pin34 to Coil 3
EC36-pin36 to Coil 4
Therefore cylinders are wired as follows (see GenBoard/Manual/DigitalOut/Table for driver channel numbers):
Cylinders 1 & 6 to Coil 1 to EC36-pin35 drive00
Cylinders 5 & 3 to Coil 2 to EC36-pin33 drive01
Cylinders 4 & 7 to Coil 3 to EC36-pin34 drive02
Cylinders 8 & 2 to Coil 4 to EC36-pin36 drive03
- ignchmax=03 (03..00)
- IGNITION OUTPUTS TABLE: h[2]=03 02 01 00 03 02 01 00
- going from index config.ignchmax downto 0, the drive00, drive01, drive02 and drive03 will be fired, in this order.
This spark table can be used, right?
It's about right for a start but there are lots of redundant loadsites. You only need 20,30,50,70,90,105,130,150,170,190,220,255. Having 12 kPa sites from 20-100kPa will just waste time when tuning the car which is always bad. Bens current spark and fuel tables will be in the tables.txt file I'm preparing -Jörgen
Be sure to get the base timing (trigger_tooth and igntdcdelay) right.
Fuel.
Again refeering to Ben Nesbitt's information, adjusted for my specs:
sequential fuel delivery for Audi 3,6 V8 PT engine
firing order: 1-5-4-8-6-3-7-2
Bosch injectors 173cc
Fuel map:
Below is the code I got by running Manmcd command on the brey terminal. \n
primep=14 primep_temp_scaling=A0 cwl=2E cwh=0F cranking_thres=02 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]=A0 warmup_clt[2]=A0 warmup_clt[3]=A0 warmup_clt[4]=A0 warmup_clt[5]=96 warmup_clt[6]=8C warmup_clt[7]=87 warmup_clt[8]=7D warmup_clt[9]=64 warmup_rpm_scale=DD req_fuel=B3 divider=01 alternate=17 injopen=00 battfac=10 kpafac=7E kpaoffs=7E injocfuel=2E injrampup_battfac=FF injpwm=FF injpwmt=FF injpwm6=FF rpmk[0]=02 rpmk[1]=EE tpsdot_kpadot_conf=00 tpsdotrate[0]=05 tpsdotrate[1]=14 tpsdotrate[2]=28 tpsdotrate[3]=4D tpsaq[0]=02 tpsaq[1]=04 tpsaq[2]=05 tpsaq[3]=0D tps_thresh=9A tpsasync=01 acmult=64 tpsacold=00 tpsdq=64 decel_fuelcut_thres=14 overrun_fuelcut=14 overrun_fuelresume=13 rev_limit=43 airden_ignore=62 config11=71 config12=30 config13=02 batt_cal=A4 fastidle=80 baro=64 dbaro=0C tps_low=17 tps_high=CE fan_temp=55 fan_hyst=09 fan_channel=FF iac_step_seq=D8 iac_conf=08 iac_max_steps=BF iac_tps_thres=08 iac_cold_idle_temp=BF iac_warm_idle_temp=C7 iac_cold_rpm=64 iac_warm_rpm=5A iac_cold_start_pos=99 iac_warm_start_pos=73 iac_afterstart_rpm=0A 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]=99 iac_ref_pos[1]=99 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=FF 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=05 ego_pid_kp=28 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=64 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=15 wbo2_pump_pid_ki=4E wbo2_pump_pid_kd=00 wbo2_pump_pid_ilimit=FF 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=00 knock_retard_step=FF knock_retard_delay=FF knock_advance_step=FF knock_advance_delay=FF knock_minrpm=FF 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=FF lcd_delay=11 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=01 secondary_trigger=10 tooth_wheel=04 # maybe 6-2 teeth ? trigger_tooth=01 another_trigger_tooth=02 # 3 would be good for a 6-2 crankwheel, 6 cyl; But 2 is incompatible with tooth_wheel=04 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 # decimal 110 / 4 = 27.500 seems bad for your setup ign_tdcdelay=7C ign_dwell14=18 ign_dwell6=20 ign_crank_advance=14 ign_out=70 ignchmax=03 engine_off_delay=08 pump_on_mintime=0F fuelpump_channel=57 inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_lowrpm=FF als_maxtps=FF als_ignretard=FF als_rich=FF als_rev_limit=64 misc1out_minrpm=FF misc1out_maxrpm=FF misc1out_mintps=FF misc1out_maxtps=FF misc1out_minmap=FF 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=36 act_rpm_rpm=FF act_rpm_channel=FF egt1_cal=49 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=FF 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=0E fuelcut_max_kpa=FF tach_channel=FF tach_divider=FF shiftcut_conf=00 shiftcut_channel=FF shiftcut_time=01
There is no spark. I think I have the basic trigger and ignition settings all wrong. Another thing may be that the VR sensor does not read the 4 pins on the flywheel correctly - when cranking, the rpm display jumps to 1800.
Constant for RPM calculation should be 1500 (8 cylinders), right?
Req fuel is 16,7 in my case (173cc injectors).
Here are Ben's trigger tables. How should I fill the first one on my 4 pins setup?
This one should apply to me as it is.
Is this h[0] table correct?
Communication problems
- by default (yours too, since you didn't require otherwise!) assembled v3.3 is shipped with RS232 on EC18pin14 and EC18pin15, see GenBoard/Manual/CommHardware (webshop text says same!)
After repositioning of the wires (getting it bad first?) we managed to get the only "Success!" message from the MegaTune.
- assembled and clamped v3.3 is preprogrammed. Used for testing (although the firmware could drive an engine, upgrade is recommended)
- 2. But there was still no communication between the ECU and my PC. I have downloaded and unzipped firmware 1.0.23 and MegaTune r028. Follow the instructions in the zip to upgrade firmware
3. We installed the Bray Terminal to see whether the ECU is alive. (exited from MegaTune for that time of course!). The <0>'s kept flowing and flowing endlessly.
- first, check your GND and GND5 connections !!! If you have a broken ground, or cigar-lighter groundloop to the notebook, that can result in similar
- 9600 baud: Man command
- No Hello! sign came out after Man command, just the <0>'s kept running.
- 9600 baud, but view in hex: 'A' command
- result ?
- BootLoader test: 19200 : 'S', 'p', 'v' commands
- result ? If "AVREFI1", "S", 30 or alike, you are on the track, in bootloader, just exit TerminalProgram and upload firmware without "t" option to prog.pl or megaloader (using Ew instead of Etw flags)
I suspect you maybe have started a firmware upgrade that disconnected in the middle or something. Don't worry, in the worst case powerup the ECM with the ECM's RS232 (pin2 and pin3) loopbacked, than remove the loopback and plug in the PC. Bootloader test should work now, and you can proceed from there.
Hopefully the bad connection didn't damage the max232 or something. If you disassemble the ECM, don't clamp it back until:
- remove D100 if you use powerflyback and PWM-ing GenBoard/Manual/PowerFlyback/RemoveD
- change C103 to 1nF if using secondary trigger HALL : Manual/InputTriggerHardWare/ReplaceC
- set AREF=256 BuildProcedures/SectionThree (not required but recommended)
This problem is solved - it was all caused by a wrong ECU-PC connection.