_ | | | | | | | |____ |______|
### ## ## ## ## ####
# # # # # ## ### # # ####
_____ | ___| | |_ | _| |_|
##### ## ##### ## ######
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 want to turbocharge my BMW 518i E28 M10 engine by using VEMS''' '''I live in Belgium''' ---- '''Engine specs''' Initial completely stock engine, in second stage-->(turbo, inj, intercooler...) *BMW M10 1755cc 8v 5speed manual gearbox *entire new engine wireloom with econoseal connectors *single coil with distributor **keep distributor + fire coil by IGBT -->later on direct fire *stock injectors 149cc high impedance **high voltage flyback 4injectors fired sequential with FET *mechanical idle control valve **electrical heated with VEMS thermotimeswitch-control *bosch fuelpump controlled by VEMS *1 wideband O2 sensor *TPS with 3 different positions (idle,wot, 50%)see [http://www.vems.hu/files/Marteleur%20Tim/TPS3.JPG A drawing of the circuit used with the stock TPS] ---- '''ITEMS TO BUY:''' * Genboard v3.3 * injector FET 6x * WBO2 FET 2x * ignition IGBT 8x * mapsensor 2.5 bar * idle stepper moter driver * econoseal PCB connector 36 + 18 * econoseal harness 36 + 18 * CNC case * LCD * tempsensors 2x * WBO2 connector + sensor ---- '''TPS issue''' A true potentiometer type TPS is recommended for full use and control. A WOT switch is not much use, it can be used to raise boost target with BoostControl. In MegaTune you configure and calibrate the maximum and minimum TPS values (idle and WOT). You can also set the idle threshold value (1-2%). Only in some cases do you really need to know the exact position of the throttle plate. You can use a resistor grid with the stock "on/off" TPS, to make three distinct positions/resistance values (idle, in between, WOT). It has worked really well on this car: MembersPage/MattiasSandgren/BmwSevenTwentyEight The basic idea is to connect the TPS In (EC36-1) to a pullup resistor towards +5V (EC36-28) and a pulldown resistor towards GND. The pullup resistor is shorted by the WOT switch (raising TPS In to +5V) and the pulldown grounds the signal. To protect from a short (should never happen), connect a resistor between GND and the pullup resistor and Idle-switch so that there is a minium resistance to be met between +5V and GND at all times. Use 1K resistors, or similar size. [http://www.vems.hu/files/Marteleur%20Tim/TPS3.JPG A drawing of the circuit used with the stock TPS] calibrating TPS In MegaTune, go to the menu Tools -> Calibrate TPS and get the values for idle and WOT. Enter those in Settings -> Basic Settings window. You can use a narrower range of values to ensure that there is no movement due to a noisy signal (there should be no noise) '''TPS acceleration enrichment''' When I push the pedal the measured lambda value increase for a very short moment to very lean conditions such as 1.35 and then go back to normal as expected. Adjust acceleration enrichement. * can this be due to other parameters ? ** very unlikely In 1.0.17, acceleration enrichment didn't have effect, even if configured correctly. It was fixed after that, so it shouldn't effect you (using ... firmware?). You can easily test the effect of accel-enrichment (after configuring it) by watching fuel pulsewidth when stepping on the throttle, even with engine off. ---- '''PS2 keyboard''' The JP_PS1 headers is the one in this picture, to the left of the Atmel. Pin 1 is the one furthest from the EC connectors and also farthest up in the picture. Documentation on this is under reconstruction, I can't find the old page anymore. //Mattias ||'''JP_PS1'''||'''Mini DIN6'''||'''Function'''|| ||1||4||Vcc|| ||2||3||Gnd|| ||3||1||Data|| ||4||5||Clock|| [http://www.vems.hu/files/Marteleur%20Tim/PS2header.JPG PS2header] ---- '''Coldstart''' Q: How will I control coldstart issues? * Afterstart enrichment. Afterstart enrichment has a cold value (config.awev=1D for +29% at -40C) and a scaler (config.awev_temp_scaling=A0 for 160/256 * awev) so it's downscaled at high temps (above 71C) * warmup enrichment I use the Auxiliary air valve, it does a good and reliable job and is activated as the "fast idle" valve, and shuts off at a specific temperature with th thermotimeswitch. Q: When I use the Auxiliary air valve how will the electrical heating be ensured? ** You can use the default EC36-pin3 (P259, 4) to ground a relay that in turn delivers power to an electrically controlled auxiliary air valve. It's a good idea to mount an external flyback diode (1n4007 or BY399 or even an SMB package surface mount diode) across the relay (or solenoid, if powered directly). Cathode (marked -) pin goes to the positive +12V switched supply pin, and the Anode pin goes to the ECM output channel. ---- '''SOLDERED THESE COMPONENTS ON V3.3''' 1. Flyback lead see pic: [http://www.vems.hu/files/Marteleur%20Tim/flybacklead.JPG flybacklead] 2. From Rescue kit1 the inductor marked 1R5 must be soldered Between A&B. If a fused power supply is being used then a wire must connect 1&2, otherwise a fuse link must be used. see http://vems.hu/www.vems.co.uk/VEMS/ConnectingPower.htmlpowerconnections 3. EC18 + EC36 connector 4. 8 IGBT's + 8 FET drivers 5. MAPsensor 6. PS2header + connector 7. LCD Header + connector 8. Serial header + connector 9. D37 Transient supression diode [http://www.vems.hu/files/genboardv3/images/v3.2/v3.2_0005-lowres.jpg diode mounted] 10. solder JP2 & JP7 11. solder R30=2k7 pullup resistor ---- Trigger/ignition plan: MembersPage/MarteleurTim/Ignition ---- Power Up: MembersPage/MarteleurTim/Powerup ---- UPDATE 17/2/2006 '''JIHAAAAAAA!!!!!!''' the car is running. Started from the first attempt and I even drove it to work today with little tuning. Still needs some tuning. ---- UPDATE 18/05/2006 I have some tuning problems. When I attempt to tune the lower kpa in neutral gear on 2500rpm I am not able to find the right VEvalue, it always reads lean (1.35), I have VE=230 at 23kpa with 2500rpm and lambda 1.35, and VE=160 at 50kpa with 2500rpm while driving with a good lambda of 1.05. Is this related to a fault in the config? '''The results is a bit strange but your req_fuel=50 should be MUCH too small for those injectors. Strange things might happen when you are that much off. 23kPa is also a VERY low pressure, did you check the MAP calibration?''' A. OK the map calibration was not correct! primep=00 primep_temp_scaling=80 cwl=B4 cwh=46 cranking_thres=03 awev=1B awev_temp_scaling=98 awc=C8 warmup_clt_range[0]=00 warmup_clt_range[1]=00 warmup_clt_range[2]=00 warmup_clt_range[3]=0D 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]=AA warmup_clt[1]=A2 warmup_clt[2]=9B warmup_clt[3]=96 warmup_clt[4]=91 warmup_clt[5]=87 warmup_clt[6]=82 warmup_clt[7]=79 warmup_clt[8]=6C warmup_clt[9]=64 warmup_rpm_scale=FF req_fuel=50 divider=01 alternate=03 injopen=1F battfac=10 kpafac=7D kpaoffs=3C '''injocfuel=15 ''' # this value is likely too low (try 1200 usec or so) and results in high VE values at low-kPa injrampup_battfac=FF injpwm=00 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]=00 tpsaq[1]=00 tpsaq[2]=00 tpsaq[3]=00 tps_thresh=05 tpsasync=02 acmult=64 tpsacold=0A tpsdq=64 decel_fuelcut_thres=FF overrun_fuelcut=10 overrun_fuelresume=0F rev_limit=40 airden_ignore=62 config11=30 config12=30 config13=02 batt_cal=A5 is the battery voltage calibrated ? (see LCD after mlp06, or MegaTune) fastidle=80 baro=64 dbaro=0C tps_low=93 tps_high=FF fan_temp=55 fan_hyst=09 fan_channel=FF iac_step_seq=C9 iac_conf=7E iac_max_steps=E8 iac_tps_thres=05 iac_cold_idle_temp=A0 iac_warm_idle_temp=CF 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_speed=FF 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=05 iac_pid_conf=01 iac_overclose_interval=FF iac_ref_pos[0]=61 iac_ref_pos[1]=5C iac_ref_pos[2]=57 iac_ref_pos[3]=4F iac_ref_pos[4]=4D iac_ref_pos[5]=47 iac_ref_pos[6]=38 iac_ref_pos[7]=30 iac_ref_pos[8]=2E iac_ref_pos[9]=2E iac_sol_channel=FF 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=B4 ego_maxtps=FF ego_maxmap=6E ego_minrpm=0F ego_maxrpm=3C ego_warmup=3C ego_lean_limit=12 ego_rich_limit=0A ego_pid_kp=25 mt_unused=00 ego_delta=05 ego_target=19 ego_pid_window=FF wbo2_warmup_ramp=FF 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 oops... 0x89 is the right value (don't forget to save, reboot and check this value after reboot to be sure) if you have the AREF(=256) , see BuildProcedures/SectionThree wbo2_pump_pw_zero=64 wbo2_calibration=DA 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=F2 knock1_frequency=29 knock1_gain=00 knock1_integrator=14 knock2_frequency=29 knock2_gain=00 knock2_integrator=14 knock_threshold=FF knock_noise_scale=D8 knock_max_retard=00 knock_default_retard=00 knock_retard_step=00 knock_retard_delay=FF knock_advance_step=FF knock_advance_delay=50 knock_minrpm=FF knock_maxrpm=05 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=FF ve_learn_conf=01 lcd_c0=FF 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=03 secondary_trigger=02 tooth_wheel=02 trigger_tooth=10 another_trigger_tooth=1E crank_minper=4B tooth_wheel_twidth1=00 tooth_wheel_twidth2=00 cam_sync_r_edge_phase=FF cam_sync_f_edge_phase=FF reset_engphase_after=FF ign_tdcdelay=7A ign_dwell14=2F ign_dwell6=44 ign_crank_advance=28 ign_out=70 ignchmax=03 engine_off_delay=08 pump_on_mintime=10 fuelpump_channel=57 inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_deact_rpm=FF als_deact_time=FF als_deact_egt=00 als_retard=FF als_rev_limit=40 misc1out_minrpm=0A misc1out_maxrpm=1E misc1out_mintps=40 misc1out_maxtps=FF misc1out_minmap=50 misc1out_maxmap=FF misc1out_channel=0F misc2out_minrpm=FF misc2out_maxrpm=FF misc2out_mintps=FF misc2out_maxtps=FF misc2out_minmap=FF 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=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=76 toothrel_missing=B5 fuelcut_min_kpa=0A fuelcut_max_kpa=FF tach_channel=FF tach_divider=FF shiftcut_conf=FF shiftcut_channel=FF shiftcut_time=FF 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.