Introduction
I'm building a 1997 Hyundai Tiburon and trying to build it as fast street car.
So far the parts list is as follows:
ems- Vems 3.3 :)
turbo-garrett gt2876R
wg-Tial 38mm
greddy BOV
injectors- 780cc lowz
wiseco 83mm pistons
pauter rods
arp head studs
Status
I have hooked the vems to a 12v supply to start getting more familiar with it. All the sensors work but ive got a first problem with VR sensor but looks like people have had it already.
It seems like the signal is very low beacuse rpm gauge shows no movement as i connect the sensor(tried to change the polarity)
If the signal was erratic I would need some resistors to clean it but in my case what should be done?
TRY2
I tried to generate a waveform and input it into vems as rpm signal but with no luck so far...
- method ?
- parameters ?
- result ?
- we use ElectronicDesign/TriggerSignalGenerator on linux, usually
- m631 (63+1 that is 64-1) only for testing
- or m582 for 60-2
- or c270 for 270 primary trigger pulse for 1 sectrig pulse (for auditrigger)
The minimum voltage(mV) for LM1815 (VR) to trigger is appr 50..60mV
- a PC soundcard with max volume is always enough
If you have HALL, the DC offset might prevent triggering, since the (usually internal 10k, but can be external too) pullup resistor pulls up signal to 4.5V or higher. A pulldown resistor (330 Ohm .. 1kOhm towards GND) can be used to pull the signal to 1 .. 1.5V mean value, the PC soundcard's 2V peak-to-peak signal should work from there.
I have VR sensor! Today I tried using a drill that had a screw attached to it and got the rpm reading upto 300rpm in vems but only when next trigger tooth was taken down to 2. With the another_trigger_tooth=1E (decimal 30) that will be used, one cannot rotate fast enough manually for the minimum RPM. This is OK.
My methods were really wrong as i understood by today i think. I just generated a sine with waveform generator but now i generated a test wave with the software you told! Will do the test this evening.
Will vems also start showing rpm from 50-60mV?
my vems setup is:
tdc after the trigger-45
nr of teeth on wheel 58
trigger tooth 1 - not sure about that
next trigger tooth 30
crank min period 900
Tried the soundcard testing today. Could not get the soundgen to work but used ordinary waveforum generator again and i saw the rpm. It increased as i increased the frequency but i also got the trigger error :(
Tested on a car also but with no luck yet. I think i would need a ossilloscope by the car to measure the signal...
Did some more wiring by now and tested the temp sensors. The intake air sensor seems to be off as it shows 34 degrees but it was around 20 outside but will confirm after some more testing.
I can read rpm now but it drops off after couple of seconds of cranking and then comes back again. The rpm reads around 160 while cranking-also little low i think. Will test little better cable tomorrow.
Kuuno, can you point me (Marcell) to the (Marko's) project page of the serialnr=583 v3.x ECU (6 IGBT, 400 kPa, VR primary trigger) that was examined and found to require > 300mV primary trigger signal unlike usual 50..100mV (and therefore it was replaced).
Markos project page is currently the last one
Wiring-with injectors and ignition coil im using little bigger wires thna the ones that came with vems.
VR trigger is using original vires that came with vems-not shielded just 3rd wire running as shield(cars original wiring was the same)
sensor ground is conected to the chassis about 30cm from the vems unit.
Megatune is 2.25
vems v3.3 1.0.38
have not used config.txt for configuration
output of manmcd
\n
primep=0A primep_temp_scaling=05 cwl=2F cwh=0A cranking_thres=03 awev=41 awev_temp_scaling=0F awec=C0 warmup_clt_range[0]=00 warmup_clt_range[1]=0C warmup_clt_range[2]=20 warmup_clt_range[3]=34 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]=83 warmup_clt[5]=7E warmup_clt[6]=78 warmup_clt[7]=70 warmup_clt[8]=6B warmup_clt[9]=64 warmup_rpm_scale=BF req_fuel=1E divider=01 alternate=13 injopen=00 battfac=13 kpafac=C8 kpaoffs=92 injocfuel=2A injrampup_battfac=FF injpwm=FF injpwmt=0A injpwm6=0A rpmk[0]=0B rpmk[1]=B8 tpsdot_kpadot_conf=00 tpsdotrate[0]=08 tpsdotrate[1]=0F tpsdotrate[2]=19 tpsdotrate[3]=28 tpsaq[0]=01 tpsaq[1]=02 tpsaq[2]=05 tpsaq[3]=0A als_cut_mintps=FF tpsasync=02 acmult=C8 tpsacold=96 launch_enrich=00 launch_retard=00 overrun_fuelcut=14 overrun_fuelresume=13 rev_limit=32 airden_ignore=00 config11=31 config12=40 config13=02 batt_cal=BC fastidle=C6 als_max_cut=00 dbaro=0C tps_low=C8 tps_high=1C fan_temp=5F fan_hyst=05 fan_channel=FF iac_step_seq=C9 iac_conf=48 iac_max_steps=FF iac_tps_thres=08 iac_cold_idle_temp=90 iac_warm_idle_temp=C6 iac_cold_rpm=78 iac_warm_rpm=5C iac_cold_start_pos=E6 iac_warm_start_pos=D9 iac_afterstart_rpm=0F iac_afterstart_duration=96 iac_speed=32 iac_kp=14 iac_ki=0F iac_kd=1E launch_rpm=14 iac_integral_limit_dec=32 iac_integral_limit_inc=8C iac_integral_deadband=14 iac_deadband=0A als_cut_maxtps=00 iac_overclose_interval=80 iac_ref_pos[0]=BF iac_ref_pos[1]=B3 iac_ref_pos[2]=A6 iac_ref_pos[3]=99 iac_ref_pos[4]=8C iac_ref_pos[5]=80 iac_ref_pos[6]=73 iac_ref_pos[7]=66 iac_ref_pos[8]=59 iac_ref_pos[9]=4D iac_sol_channel=FF iac_ign_slope=20 softrpm_range=04 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=80 ego_minrpm=06 ego_maxrpm=49 ego_warmup=3C ego_lean_limit=33 ego_rich_limit=0D ego_pid_kp=28 als_enrich=00 ego_delta=59 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=65 wbo2_calibration=CE 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=3F knock1_integrator=1F knock2_frequency=29 knock2_gain=3F knock2_integrator=1F 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=00 als_retard_mintps=FF als_retard_maxtps=00 lcd_default_view=00 primary_trigger=01 secondary_trigger=1F tooth_wheel=3A trigger_tooth=02 another_trigger_tooth=1E crank_minper=2C tooth_wheel_twidth1=02 tooth_wheel_twidth2=06 cam_sync_r_edge_phase=01 cam_sync_f_edge_phase=02 reset_engphase_after=F0 ign_tdcdelay=F0 ign_dwell14=37 ign_dwell6=38 ign_crank_advance=3C ign_out=70 ignchmax=01 engine_off_delay=0F pump_on_mintime=0B fuelpump_channel=FF inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=80 als_deact_rpm=FF als_deact_time=01 als_deact_egt=00 als_retard=00 als_rev_limit=40 misc1out_minrpm=01 misc1out_maxrpm=FF misc1out_mintps=FF misc1out_maxtps=FF misc1out_minmap=80 misc1out_maxmap=80 misc1out_channel=FF misc2out_minrpm=FF misc2out_maxrpm=FF misc2out_mintps=FF misc2out_maxtps=FF misc2out_minmap=80 misc2out_maxmap=80 misc2out_channel=FF act_wot_rpm=FF act_wot_channel=FF act_rpm_rpm=FF act_rpm_channel=FF egt1_cal=47 als_tks_channel=FF boost_conf=00 boost_targetoffs=00 boost_minpressure=80 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=7A toothrel_missing=B5 fuelcut_min_kpa=07 fuelcut_max_kpa=80 tach_channel=FF tach_divider=FF shiftcut_conf=01 shiftcut_channel=FF shiftcut_time=00 softrpm_rpm=FF
The mct dump (tables) would also be needed to verify inj and ign sequence h[0] and h[2] lines
RPM hunt
MegaTune configuration is-rising edge, multitooth(60-2), no filtering. This (primary_trigger=01) is fine.
problem-rpm signal drops to 0 after every few seconds, no spark
cranking below 200rpm
VR polarity
- tried changing the polarity but nothing changed!
- try again now with triggerlog and watching wheel error!
- Original vr + wire is known from factory manual. So it is known for 99% which VR wire goes to GND in the factory install. But this means nothing!!! It often happens that the factory ECU triggers on rising edge and they mark VR+ what must go to GND in VEMS (VEMS triggers on falling edge).
- Marcell was tricked for several days with this, believing in the factory diagram too strong. This was the time when triggerlog was written, and it revealed the problem in 3 minutes.
I have not soldered VR - to the sensor ground yet beacuse of tring different polarity. This shouldn't cause problem if connection is otherwise good (connected close to EC36pin26, at the same point or closer than GND5 connects).
What part of InputTrigger/TriggerLog you didn't understand ? Reread, I made some quick-list notes.
wheel error counter increases continiously as I crank the engine!
for testing i also ran separate shielded wire for VR to eliminate noise problems-using shielded mic cable(2 wires+isolation)
- mde40 is for loggin all trigger event timestamps. Getting weird symbols with that from the terminal program.
- this is normal, it is the binary that you can capture, zip and upload
- you can also convert it but if you don't have perl installed, it's easier if we evaluate it
I uploaded the file with filethingi-created a dir under memberspage-kuunolotamois
hope that helps
i will read the triggerlog with reversed polarity also now-been trying to charge the battery for whole morning :)
also mct dump (why do I get the spaces everywhere? encoding?)
j[0]=4C80 4C80 5D80 6480 6E80 7180 7180 7380 7380 7380 7380 7380
j[1]=4F80 5080 6580 6C80 7480 7980 7A80 7980 7980 7980 7980 7980
j[2]=6080 6480 6B80 7880 8280 8480 8680 8280 8280 8280 8280 8280
j[3]=7280 7580 7D80 8480 9380 9880 9880 9280 9280 9280 9280 9280
j[4]=8080 8680 8880 8A80 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 A080 B080 BA80 C580 C280 C280 C280 C280 C280
j[A]=9280 9580 9A80 A080 B080 BA80 C580 C280 C280 C280 C280 C280
j[B]=9880 A080 A280 A880 B080 BA80 C580 C280 C280 C280 C280 C280
l[0]=3D 36 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F
l[1]=37 34 31 31 31 31 31 31 31 31 31 31
l[2]=37 36 31 31 31 31 31 31 31 31 31 31
l[3]=37 37 37 37 37 37 37 37 37 37 37 37
l[4]=37 37 43 47 4F 4F 4F 4F 4F 4F 4F 4F
l[5]=47 47 4F 55 58 58 58 58 58 58 58 58
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]=3A 3C 60 87 A0 B4 B4 B4 B4 B4 B4 B4
n[1]=3A 3C 60 88 A0 B1 B2 B1 B1 B1 B1 B1
n[2]=3A 3C 60 87 9B AA AB A9 A9 A9 A9 A9
n[3]=3A 3C 60 86 98 A1 A2 A1 A1 A1 A1 A1
n[4]=3A 3C 5C 85 8D 99 9B 9A 9A 9A 9A 9A
n[5]=3A 3C 58 77 83 8E 8F 8F 8F 8F 8F 8F
n[6]=3A 3C 58 6F 7A 81 83 84 84 84 84 84
n[7]=3A 3C 58 67 6F 78 78 78 78 78 78 78
n[8]=3A 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]=0A 0F 14 19 1E 26 2D 35 35 36 36 37
r[0]=05 0A 0F 14 1E 28 32 40 41 42 43 44
h[0]=02 08 04 01 10 20 40 80
h[1]=00 00 00 00 00 00 00 00
h[2]=00 01 02 03 04 05 06 07
b[0]=14 18 1C 20 24 28 2C 30 80 80 80 80
t[0]=20 40 60 80 A0 C0 E0 FF
--
[uploaded trigger log] => [formatted] with command\n
perl bin/binary.pl < triggerlog_kuuno.log >triggerlog_kuuno.txt
Extremely noisy ! seriously check ground connections', eg.
if the VR sensor VR- is connected 20cm from EC36pin26 and the GND5-s are connected 30cm, that is good.
Disconnect the VR- from GND, and measure Ohm between VR- and GND. Document this. If this is 0..10 Ohm, than the VR sensor shield probably shorts to GND near engine, this ground loop can inject unwanted noise.
But there are a few rotations that has no noise (neglect the 2nd column, the first is the one to watch), but it shows reverse polarity:\n
564 969 0.96 565 51465 0.85 566 2220 2.29 MISSINGTOOTH 58 567 44038 0.85 568 1453 0.65 569 44291 1 570 901 0.62 ... 678 1003 0.93 679 60163 5.33 MISSINGTOOTH 2 680 967 0.96 681 50953 0.84 682 2210 2.28 MISSINGTOOTH 58 683 41478 0.81 684 1444 0.65 685 41987 1.01 686 893 0.61 687 32004 0.76 688 890 0.99 689 31235 0.97 690 895 1
Note the 969, 2220, 1453, 901.
There are 2 gaps (2220 and 1453) that are longer, together they are 3673 (*4 usec), that is 3 teeth. The negative going zero crossing is not exactly midway (would be 1836, 1836), but that is just because of wheel-shape or some slight pullup on signal.
Ideally this would be 970, 970, 2910, 979, 970, ... that is only 1 longer gap (3x longer).
So it shows reversed polarity !.
But polarity is not the biggest problem, noise seems to be a bigger issue!
If the above would repeat every 58'th tooth (instead of the noise you see!), even with reverse pol it would at least be possible to make it work with the multitooth advanced filter (harder than reversing the wires though ;-), but this does NOT repeat as it should because noise is injected.
each of them have different polarity log in them.
From there you can see rpm go up and down.
I also saw that new firmware-1.0.46 is out. should i update from 1.0.38 ?
never trust factory manual :)
from now i will try to do everything with reversed setting compared to original.
My grounds are right no like this:
powergrounds(3 wires) - 2 going directly to battery - and 1 going to chassis right next to battery(that might be wrong? )
signal ground goes to chassis right next to vems-less than 50 cm
i will send another mde40 log with different polarity to ensure that this setting is correct?
20.08.2006 - Please organize thematically, not chronologically, because chronological will result in redundant, mostly outdated stuff that is hard to understand and help with
Grounding
Iread PhatBob's manual and did some changes to the ground wires.
The power grounds were connected to the battery - with total lenght of 1.x + meters. Now i connected them to intake manifold where also some original ground wires go!
Signal ground was connected to the chassis but also as per Bob's manul that is not good so connected that also to the intake manifold.
It's best to have GND5 connect GND close to ECU, max 40cm from EC36. The VR- (and other sensor's -) must connect at same place or closer to EC36pin26 GND.
- The alternator is connected to the block so did not want to connect grounds there
- in what way did it not want ?
- VR- is now about 10 cm from VEMS
- this is perfect
I tried quick cranking but no luck :( still erratic rpm. but that was with only 2 wires for VR no sheild so tomorrow first thing I try with shielded wire and do mde40 with both polarities just in case.
Any other ideas what to try, change?
VR sensor triggering happend on FALLING edge, but after the LM1815 sensor-chip, the uc is better triggered on the rising edge, so it should be configured that way.
from MembersPage/RonnieH (note the format of wiki internal links) he had the same problem with trigger and firmware upgrade helped.
I will try to upgrade to 1.0.46 today and hopefully that helps! - Marcell recommends 1.0.45 (which is tested fine on many engines, unlike 1.0.46) unless you want to control ALS/launch from mcp3208 analog input channel.
Updated to 1.0.45 yesterday and tried cranking the engine-nothing ??? :(
tried today to connect to Markos Opel and nothing. Vems is connected fine but rpm is constantly 0
will try to go back to 1.0.38 as that is the only change I did.
Maybe somehow but dont know how i broke something inside vems? :S
bad luck but will keep trying
recommend please what to check inside vems for breakdowns.
Thanks!!