VEMS v3.3 installation instructions
These instructions are written for a typical Windows Installation. It is assumed that the reader is well versed with fuel injection theory and has a working knowledge of the electronics that make up an engine management system i.e. the sensor types, fuel injector impedences and ignition types.
Engine management systems give you the control you need to get the best from your engine, but they have a huge potential for damage, both of your engine and you and your property. This potential is lessened if you follow some simple rules.
- You MUST have a fire extingusher on hand
- Correct Power connection is ESSENTIAL read then re-read the information in Step One, failure to connect the grounds properly will damage your unit
- The most important sensor is the primary trigger (crank sensor or distributor trigger), get this working first.
- Connect and test the sensors before you consider connecting injectors, fuel pump relays etc.
- When testing your connectors you will often need to turn the engine on the starter motor, remove your spark plugs to reduce the load on the starter, don't run the starter for too long, keep an eye on the temperature of the starter motor, battery and starter motor cable, these can get hot and overloaded.
- Connect your ignition components first, follow the steps in the Configuring Ignition section.
- Start with conservative maps, tuning is an itterative process, your first task will be to get the engine to idle, then to hold rpm without load.
It is important to follow the guide in the defined steps, failure to do this may result in you frying your VEMS module.
In-car installation
Although VEMS has good environmental protection the engine bay of a car is still a very hostile place to install your VEMS module, so its a good idea to follow the lead of most car manufacturers and keep the ECU inside the passenger compartment.
Setting up your PC
The easiest way to configure and tune your VEMS unit is to use a PC, there are a number of tools which will need to be installed before we can start to setup VEMS.
MegaTune package, the latest version of which can be obtained from: http://www.vems.hu/wiki/index.php?page=MegaTune
Step One - Connecting power & testing
The EC36 is the larger Econoseal 36pin plug, and EC18 is the smaller Econoseal plug.
There are two types of ground connection, the one on EC36-pin26 is Signal Ground, its a point of common ground for the engine's sensors and must be kept free from the noise generated by injectors and ignition coils.
- EC36-pin26 GND Grounded to chassis/block or battery.
NOTE: Signal Ground pin has many connections (CAS, TPS, IAT, CLT ...) make provision for this in your wiring loom.
The 3 Power Grounds (also called as "GND5" in some documents)
- EC36-pin5
- EC36-pin21
- EC36-pin32
- EC36-pin22 this pin is optional, but usually used as an extra GND signal.
These (at least the first 3) must be connected to BATTERY- (preferrably with 3..4 separate wires that meet as close to the BATTERY- as possible). Failure to do this may result in damage to the VEMS module.
Here is a draft to connect ground signals:
- The blue and black are noisy lines, because they carry noisy, fast changing currents (ignition, injection, other outputs)
- so the sensor-ground (brown) to EC36pin26 (green) path should not go through these noisy lines. This is especially important for the triggers and WBO2 nernst signal. Otherwise noise will be injected into the trigger/sensor signals.
- keep the sensor-ground (brown) wires close to EC36pin26 (ECM ground): less than 1m
- it is recommended to keep the blue segment short (as a consequence, the blacks will be longer)
- the green line can contact the blue segment at either end. Near the battery is preferred, but the other end is OK too, this has little effect.
- in practice, the paths are more complicated because of the
- generator
- chassis also acts as a "wire"
- in any case, GND and GND5 must be connected. This is very important, otherwise the ECM will be damaged.
Once you have connected and checked the continuity of ground you should connect power.
- EC36-pin25 3A Fused +12v supply
Make sure the EC36-pin5 connection does not break during operation. This is the reason for using separate wires: even if 1..2 breaks for some reason (eg. a screw comes loose), at least 2 remains connected.
Before you put any power through the unit use a multimeter to ensure that pins are wired correctly. There is little point in connecting power until the serial connector or LCD screen has been connected.
Connecting serial port
To allow the connection of the VEMS unit to your PC a serial port plug must be connected as follows.
- EC18-pin14 to DSUB9-pin3
- EC18-pin15 to DSUB9-pin2
- EC36-pin26 to DSUB9-pin5 (GND).
Connecting the LCD
The LCD option is a very useful addition to your VEMS module - with the use of an IBM PC keyboard it becomes invaluable as you will be able to configure your system without having to use a laptop. In the first instance it will provide a method of checking that your VEMS system is working. At present the LCD is provided without wiring, so you will need to connect it using a Female DB9 plug in the following way:
To control brightness and contrast (connection advice)
- LCD-J1 to LCD-J16 (straight wire)
- LCD-J2 to LCD-J15 (220R resistor)
- LCD-J2 to LCD-J3 (4KR resistor)
- LCD-J2 to LCD-J4 (2KR resistor)
- LCD-J1 to DSUB9-pin5 (brown)
- LCD-J2 to DSUB9-pin1 (red)
- LCD-J4 to DSUB9-pin9 (white)
- LCD-J5 to DSUB9-pin6 (orange)
- LCD-J6 to DSUB9-pin2 (violet)
- LCD-J11 to DSUB9-pin3 (green)
- LCD-J12 to DSUB9-pin7 (grey)
- LCD-J13 to DSUB9-pin4 (blue)
- LCD-J14 to DSUB9-pin8 (black)
Testing the VEMS unit
First connect your VEMS serial cable (see Step Two), and make sure that there are no applications that use the serial port running on your PC, applications such as Palm Pilot HotSync.
Connect the EC-18 connector with the serial port to VEMS.
And then connect the EC-36 connector with the power supply.
Navigate to the directory that you installed MegaTune into and double click on the megatune.exe application, and you will be presented with a window:
Select the VEMS Standard 12x12 (Default) option and click OK.
On the Menu bar select Communications->Settings...
Select the com port that VEMS is connected to, and click the 'Click to test' button, if all is well you will see the success message
This shows that your VEMS module is alive and communicating with the PC, close the Settings window and you should see something similar to this:
Close MegaTune and disconnect VEMS from its power supply.
Step Two - Connecting and configuring sensors
The trigger is the engine management system's most fundamental sensor, without one VEMS cannot calculate engine speed or crank angle. If you are connecting VEMS to an engine that has an existing engine management system, if not then a triggering method will need to be put in place.
The simplest type of trigger is to use the existing distributor to provide a pulse for each cylinder. This type of trigger is more than adiquate for driving ignition through a distributor and batch fire injection.
Connecting the primary trigger (CAS)
Magenetic sensor / Variable reluctance (VR)
Mechanical considerations (need to be written somewhere and referenced from here)
The VR sensing circuitry is very sensative to electrical noise, sheilded cable (coax) must be used and good grounding is vital.
- EC36-pin27 VR+ (central wire in coax)
- EC36-pin26 VR- (sheild and ground)
Sheilding should be grounded to engine block close to the VR Sensor.
Hall Sensor
VEMS is available configured for Hall sensors, these are more noise tollerant and require a +5V supply.
- EC36-pin27 Hall signal
- EC36-pin26 Ground
- EC36-pin29 +5V
Connecting the secondary sensor (optional)
Magenetic sensor / Variable reluctance (VR)
With the same considerations with the primary trigger regarding electrical noise.
- EC36-pin13 VR+ (central wire in coax)
- EC36-pin26 VR- (sheild and ground)
Hall Sensor
- EC36-pin13 Hall Signal
- EC36-pin26 Ground
- EC36-pin29 +5V
Configuring the system to suit the sensor
[insert config file fragment]
Testing the crank sensor
If the sensor is setup correctly when you turn the engine over (with spark plugs removed to reduce cranking load so as not to strain the starter and battery) you should see an RPM value on either the LCD or MegaTune.
Connecting the inlet air temp. sensor (IAT)
- EC36-pin2 Signal
- EC36-pin26 Ground (also ground wire to the engine block close to the sensor)
Connecting the coolant temp. sensor (CLT)
- EC36-pin14 Signal
- EC36-pin26 Ground (also ground to the engine block close to the sensor)
Configuring the temperature sensors
Use EasyTherm to build tables.
Upload tables.
Testing the temperature sensors
Using MegaTune.
Check ambient temperature with thermometer
Check sensors reading on MegaTune or Motuner, compare with thermometer.
Apply known heat (boiling water) and check reading.
Apply known cold (ice) and check reading.
Connecting the throttle position sensor (TPS)
- EC36-pin28 +5v out
- EC36-pin1 Wiper out (0-5v)
- EC36-pin26 Ground (also ground wire to the engine block close to the sensor)
Configuring and testing the TPS
MegaTune TPS setup. Steps and screen shots.
Connecting WBO2 Sensor (optional)
- EC18-pin13 to WB6-pin1 (Nerst Cell Signal)
- EC18-pin7 to WB6-pin5 (WBO2 Pump-)
- EC18-pin18 to WB6-pin4 (WBO2 Heater)
- EC18-pin9 to WB6-pin6 (WBO2 Pump+)
Before we plug the wide band in we need to do some tests and calibration, the first is 'Pump Zero DC', you will need to take a reading with a DVM across pins 5&6 of the Wideband connector. The ideal voltage is zero, to adjust the voltage you will need to change the values of wbo2_pump_pw_zero in config.txt. wbo2_pump_pw_zero value is adjusted during factory test, saved in ECM eeprom. Don't forget to save the output of Manmcd before tinkering with MegaTune or settings. wbo2_pump_pw_zero also written in the WebShop "Sentout" notification email. However, it is recommended to do the test to be sure.
Ideally the value should be between 0x63 to 0x66 (0x64 and 0x65 is most common) and the values make a big difference, for example at 0x65 I measured 0.10v changing to 0x64 resulted in a reading of -0.17 and 0x66 took the reading up to 0.4v. Note that WBO2 must be restarted for the value to take effect (reboot the board, or use mde02mde00 command).
Testing WB02 sensor
Fresh air reading
Configure value to read fresh air O2 level
Connecting exhaust gas temperature sensor (EGT) - Optional
Temp. compensated cable, blah blah blah.
Configuring EGT sensor
Before we can rely on the sensor's readings we need to calibrate VEMS. This is best done using boiling water as we know that at sea-level this boils at 100degreesC. Make sure that the sensor does not touch the sides of the vessel containing the boiling water as this will result in an inaccurate reading. At 100degreesC the voltage fromt the sensor (measured across pins 1&8) should read:4.095mV and AD597's output (pins 4&6) will be 1005mV.
Calibration is required to enable VEMS to display and log the temperature value correctly, there are two values in the Config file that are used to do this:
- egt1_cal=49 # EGT calibration multiplier
- egt1_offs=00 # EGT offset (signed e.g. 0xF0 is -1)
The EGT reading should be on the LCD screen's first page, to show EGT alone you can use Bray terminal to change to page 8 by using the command: Manmde08. Put the first few centimeters of the thermocouple onto some ice and watch the value on the scree drop. Adjust the calibration values until the egt reading is zero.
Testing EGT sensor
Then using a known temperature heat source (like boiling water) to check that the egt value is correct across a wide range.
Connecting manifold air pressure (MAP) sensor
In most cases the MAP sensor is built in to the VEMS module, but it's also possible to use an external sensor if required.
To connect the internal MAP you will need to route some 8mm tubing from the manifold to the VEMS module
Step 3 - Connecting Output Components
NOTE: VEMS acts as a switch between the Component (injector, relay, ignition coil) and ground. VEMS does not provide the power to these components.
Connecting ignition components
Single coil
In some instances you will want to keep the distributor, in this case VEMS can be configured to use the original coil as shown.
- EC36-pin35 to Coil '-' terminal.
Coil pack
Connecting a two coil (4 cylinder wasted spark)
- EC36-pin35 to Coil 1 '-' terminal
- EC36-pin33 to Coil 2 '-' terminal
Additional coil packs, for applications such as 8 cylinder wasted spark, can be connected:
- EC36-pin35 to Coil 1 '-' terminal
- EC36-pin33 to Coil 2 '-' terminal
- EC36-pin34 to Coil 3 '-' terminal
- EC36-pin36 to Coil 4 '-' terminal
Coil on plug (COP)
There are two types of coil on plug (COP) passive and active.
Passive COPs are essentially just the standard type of coil of the type shown above, but with one coil per plug. These are driven by a high current +12v supply as supplied by VEMS ignition drivers.
More modern cars have an active COP, where the plug's ignition is controlled by a +5v signal. VEMS will need to be ordered specifically for this type of COP.
Configuring Ignition
In the 'settings' -> 'Priming, Cranking, Afterstart' window in megatune you find a field called 'Crank Advance(deg)' set that to 0 for now. That will make it easier to set the base timing.
Now make an easy to see mark at #1 TDC on the pulley and strope the engine when cranking. In the 'Settings' -> 'Trigger settings' window in megatune you find a field called 'TDC after the trigger(deg)' Change the value in that field until the timing light show that you have 0 deg timing when cranking.
If you need to set more then around 75 - 80 degrees in that window you should increment the 'Trigger tooth' field in the same window and try again. Each increment will lower the 'TDC after the trigger(deg)' with six degrees.
After you are satisfied with the settings you set the 'Crank Advance(deg)' to 10-15 degrees. That should be suitable settings for your engine.
Mine had bad hot starting when I had 6 degree crank advance.
Connecting fuel injectors
VEMS can control anything from 1 to 8 fuel injectors individually, although it's also possible to control upto 16 injectors grouped in twos, although you will need to bare in mind that the grouping of the injectors will change the impedence that VEMS 'sees' so you may have to setup the system for low impedence injectors, details of which are found in the section Configuring Injector Impedence.
IT IS ESSENTIAL that EC36-pin23 is connected to the Injector's common power supply (see diagram), EC36-pin23 controls the voltage spikes that the injectors produce when they close (flyback), failure to connect the flyback pin will fry your VEMS.
- EC36-pin7 to Injector1
- EC36-pin19 to Injector2
- EC36-pin8 to Injector3
- EC36-pin20 to Injector4
- EC36-pin9 to Injector5
- EC36-pin18 to Injector6
- EC36-pin6 to Injector7
- EC36-pin17 to Injector8
This shows the typical installation for a 4 cylinder application.
To 8 injectors are wired as shown here.
And to pair injectors in parallel.
The injector common + signal is connected with a 10A fuse to a switched +12V supply. NOTE the flyback connection is after the fuse.
Configuring VEMS for your Injectors
Configuring Injector Sequence
For the purpose if explaination we'll use the example of a four cylinder engine that fires 1-3-4-2
- Batch fire***
h[0]=0F 00 00 00 00 00 00 00\n
alternate=00 divider=04
- Fully Sequential***
You will need to set the config.txt entry "alternate" to 03, which will cycle through the first 4 entries STARTING from the furthest right first, which in this case will be the forth number. So you must transpose the firing order to 3-1-2-4.
Therefore your h[0] entry in tables.txt will be:\nÿ3ÿ
And in config.txt set:\nÿ4ÿ
Configuring Injector Flow
Open MegaTune and select the Basic Settings item from the Settings menu. We will need to calculate the value Req Fuel(ms) to suit the injectors we're using.
Basic req_fuel calculation:\nÿ5ÿ
This is a simplified equation, if you are interested in the reasoning behind it you can read more here: http://www.vems.hu/wiki/index.php?page=GenBoard%2FManual%2FConfig%2FInjectorOpening
Examples\n
850cc injectors on a 2litre engine 6.49 * (1998/4/850) = 3.81mS
So the required fuel value will be entered as 3.8\n
280cc Injectors on a 1.6litre engine 6.49 * (1597/4/280) = 9.25mS
So the required fuel value will be entered as 9.3
Configuring Injector Impedence
High Impedance (HighZ)
In here, we write some stuff
Low Impedance (LowZ)
Here we do some PWM calcs.
Connecting the fuel pump
The fuel pump is controlled via a mechanical relay.
- EC36-pin15 to relay coil
Idle Air Controller (IAC)
An Idle Air Controller (IAC) is used on most fuel injected engines to provide a method of controling the engine's idle speed. When the car is warming up or an additional load is put on the idling engine such as the additional current of an electical fan or air conditioning compressor it is necessary to raise the engine's idle speed to stop it from stalling.
IAC Types
There are a number of different idle speed controllers:
Wax is the simplest and most common on Japanese cars and are not controllable by the ECU in that they use a wax filled piston which opens the throttle slightly when cold and closes it when the heat causes the wax to expand.
Solanoid IACs use a single coil to open or close a valve in the inlet (in some cases to actually move the throttle plate). The simplest can be either opened or closed and will cause small increase in idle speed. More sophisticated types can be pulsed to provide a variable increase in RPM.
Multicoil and Stepper motor IACs alow a much more complex level of control, in its simplest form it will have two coils to open and close the idle valve.
Choosing the correct IAC connection
Single coil types are relatively simple to connect, the only thing you need to know is the resistance of the IAC's coil by measuring it with a DVM. Once you have the resistance value use Ohms law to calculate it's current load. I=V/R.
Examples:
The IAC coil for a Nissan 200SX is measured at ~11 ohms a voltage of 13.8V would mean a current of ~1.26A (13.8/11) which means that a spare high current port (EC36-pins6, 9, 17 or 18) would need to be used.
[insert HighCurrentIAC.png picture here]
The Toyota "Idle Up Valve" found on the early 4A engines has a solanoid coil with a resistance of ~44ohms, which gives a current of 313mA(13.8/44). As this is less than the maximum 350mA value for EC36-pin3 (Fast Idle) it would be possible to connect it, but this is only advisable if you are using all the other high current pins. In all other cases its advisable to use one of the spare pins.
[insert LowCurrentIAC.png picture here]