MembersPage/PhatBob/UserGuide (2015-01-01 07:00:00)

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.

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

IMPORTANT Read these instructions carefully, correct and proper grounding of your VEMS unit is essential for its life and successful operation. If you fail to connect your unit correctly you will AT BEST damage it.

The EC36 is the larger Econoseal 36pin plug, and EC18 is the smaller Econoseal plug.

Power Grounds (also called as "GND5" in some documents)

Note: pin22's connection is optional, but usually used as an extra GND signal.

Sensor Ground

NOTE: Sensor Ground pin has many connections (CAS, TPS, IAT, CLT ...) make provision for this in your wiring loom.

Common Ground

The engine block is the best point from many perspectives. But it is of some importance to keep this ground point away from the alternator and starter ground paths, you can do this but adding extra grounding wire at the alternator to ensure a path of low resistance.

Having the ground path for the alternator, starter and the ecu at the same point is not a good idea. So keep the ECU connection to the block as far away as possible.

Your ecu will always share some of the groundpath with the alternator. You want to make sure that the shared path is as short as possible and that it is as low resistance as possible.

Grounding directly at the battery is not a good idea, at the negative of the battery you always see the current pulsations from the alternator and starter, the big currents flow from battery to starter and alternator to battery, although you may hope that the battery may act as a buffer, lead batteries are pretty slow and it doesn't filter the noise very well.

The placement of the battery also change a lot of things, if you have a battery located in the boot you could need upto five 4m wires. Also And the connection at battery connectors is often forgotten by techs, are subject to aggressive corrosion, abused when connecting jump leads.

Connecting to the chassis is often a bad idea, the body of the car is an inferno of ground currents. For example the wipers, electric seats (consuming 50A+ when operated) etc may be grounded at the same point as the ECU. And voltage fluctuations are are higher as you get further from the battery.

+12V Supply

Note that if you have moved the battery to the rear of the car you may want to run separate wires for the starter/alternator and for the cars electrical system to the battery. Otherwise the several meters long cable will cause a significant voltage drop during cranking that will cause the ECU to reset when the battery starts to run low. This may prevent the car from starting even if the engine cranks over.

Once you have connected and checked the continuity of ground you can connect your VEMS unit to the EC36 plug and apply the power supply. There is little point in connecting power until the serial connector or LCD screen has been connected.

ConnectingPower2.png

Connecting serial port

To allow the connection of the VEMS unit to your PC a serial port plug must be connected as follows.

ConnectingSerialPort.png

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)

To connect the LCD to VEMS (suggested wire colour)

ConnectingLCD.png

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:

SelectProject.png

Select the VEMS Standard 12x12 (Default) option and click OK.

MTMainScreenWrong.png

On the Menu bar select Communications->Settings...

CommunicationSettings.png

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

CommunicationSettingsTested.png

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:

MTMainScreen.png

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.

ConnectingPrimaryVRTrigger.png

Shielding 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.

ConnectingPrimaryHallTrigger.png

Connecting the secondary sensor (optional)

Magenetic sensor / Variable reluctance (VR)

With the same considerations with the primary trigger regarding electrical noise.

ConnectingSecondaryVRTrigger.png

Hall Sensor

ConnectingSecondaryHallTrigger.png

Configuring the system to use the Crank sensor

Primary Trigger

Configuration is done through MegaTune menu option: Settings->Primary Trigger

MTPrimaryTrigger.png

Simple Trigger

In its simplest form your VEMS will trigger from a simple pulse per firing event which is called Coil Type trigger as the trigger signal usually comes from the distributor or coil. To select this type of trigger select 'Coil-type' from the Type dropdown list.

Multi-Tooth Trigger

Because of its highly flexible triggering system VEMS needs to be configured correctly, thankfully the complex task of seting up the system has been made a great deal easier with the utility here:

http://www.starshadow.com/~koabi/carstuff/cranktriggers.php

Typical trigger settings...

Secondary Trigger (Cam Sync)

For fully sequential ignition/injection you will need to use the secondary trigger option. Configuration is done through the MegaTune menu option: Settings->Secondary trigger/Cam sync settings

MTSecondaryTrigger.png

Testing the crank sensor

Make sure that the fuel pump and injectors are not active by removing their fuses. Start MegaTune and leave it showing the main screen (with the guage display)

Temperature Sensors

VEMS uses two temperature sensors: Inlet Air Temperature which is used in speed/density systems to calculate the amount of fuel required. And Coolant Temperature which is used to meter the required amount of warm-up fuel enrichment.

Connecting the inlet air temp. sensor (IAT)

If you are using a VEMS MAP sensor please refer to the section titled Connecting an external MAP sensor

ConnectingIAT.png

Connecting the coolant temp. sensor (CLT)

ConnectingCLT.png

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)

The throttle position sensor is used by VEMS to provide fuel requirements in Alpha-N configuration and acceleration enrichment.

ConnectingTPS.png

dnb - Consistancy Check

How does the previously published pinout (see link) relate to the TPS shown above?

http://www.vems.hu/manual/html/ch03s02.html#table.ec36pinout

It says EC36-pin29 for TPS supply. (The trigger connection diagrams show pin29 instead of pin28 in the old manual too)

Configuring and testing the TPS

Configuration is done using MegaTune Settings->Basic Settings

MTTPS.png

Setting TPS Low

Ensure that the throttle is fully closed by setting the idle adjustment screw to its minimum. Adjust the TPS Low (ADC) value down so that TPS reads 0%

Finally turn the idle adjustment screw to open the throttle plate slightly. You will need to fine adjust it later.

Setting TPS High

Before setting any values ensure that your accelerator pedal fully opens the throttle plate. With the throttle fully open adjust the TPS High (ADC) value until the TPS reads 100%.

Connecting manifold air pressure (MAP) sensor

In early versions the MAP sensor is built in to the VEMS module. In order to ease installation it is suggested that an external sensor such as the VEMS 250kpa or high boost (over 18psi) 400kpa sensor, or the OEM sensor be used.

Connecting an external MAP sensor

VEMS MAP sensors come in either 5V or 12V supply options, the pin outs of which are:

5Volt, 250kPa Sensor

5Volt, 400kPa Sensor

Connections to VEMS will be:

ConnectingExternalMAP.png

Connecting the internal (old style) MAP sensor

To connect the internal MAP you will need to route some 6 or 8mm tubing from the manifold to the VEMS module. It is advisable to use copper brake pipe for long pipe runs especially near heat in the engine bay.

Configuring and Testing the MAP sensor

Using MegaTune Settings->Basic Settings

MTMAP.png

Setting Map sensor range

Map sensor range is set to the maximum kpa value of your MAP sensor, if you are using the VEMS sensors this is either 250 or 400, for other sensors you will need to refer to the manufacturer for the sensor's maximum range.

Setting Map sensor offset

Consult your local weather for the current air pressure, this tends to range from 995 to 1028 or there abouts. Adjust the Map sensor offset value until the MAP reading reflects the current air pressure (typically between 99kpa and 103kpa).

Connecting WBO2 Sensor

ConnectingWBO2Sensor.png

Before we actually plug the wide band in we need to do some tests and calibration.

Calibrating the WB02 controller circuit

The first check is 'Pump Zero DC', so 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 is also written in the WebShop "Sentout" notification email. However, it is recommended to do the test to be sure.

The wbo2_pump_pw_zero value is likely between 0x63 to 0x66 (99 .. 102 decimal as adjusted in MegaTune 'Pump Zero DC'). Example:

Note that WBO2 must be restarted for the value to take effect (reboot the board, or use mde02mde00 command).

Once you are satisfied that wbo2_pump_pw_zero is as close to 0v as it can be, you should verify the pump and nernst control voltages. You'll need two 100 Ohm resistors. Power down the board then

Just to verify, check that the voltage between ground and wbo2_pin5 (nernst-) reads appr 4V. 3.9V .. 4.1V is perfect. Note that this cannot be change in configuration or firmware, it's controlled by hardware. If less than 3.8V or above 4.2V, there is good chance the wiring is bad, check it.

Using a DVM, check that voltage between wbo2_pin1 and wbo2_pin5 reads appr 0.45V (0.44V or 0.46V is just as good). If it's slightly out, you can adjust nernst_dc_target to raise or lower the voltage. As before, you'll have restart the board between any config value changes.

If you cannot get close to this 0.45V target, check the values wbo2_pump_pid ... for example wbo2_pump_pid_ki and wbo2_pump_pid_ilimit, against a known good config. Finally, verify with the DVM that the difference is 0.45V.

Calibrating the WB02 sensor

  • DELETE THIS ***
Now that the controller is calibrated, you can connect the sensor and calibrate it against fresh air. Ensure that the sensor body is grounded, and power up the board. Switch to LCD page 7 using the command mlp07, and enable the WBO2 heater with mde02. Wait for the O2% to be displayed. Send mde00 to turn off the WBO2 heater. Adjust the value of wbo2_calibration and repeat until the O2% reads (or preferably fluctuates between) 20.9 to 21.0. Values around 0xA8-0xB0 are typical. Again, you'll have restart the board between value changes.

Note: If you're using a terminal instead of an LCD, you may have to run mld and mll a few times to get the display to update correctly with the sensor connected.

  • AND TURN THIS INTO SOMETHING SENSIBLE ***
anmde02mlp02

mll

Manmttg8bcA8mcs

mll

Connecting exhaust gas temperature sensor (EGT) - Optional

Temp. compensated cable, blah blah blah.

There are 2 standards that are the most common. You must make sure the + and - are connected properly. Everything is the same between the standards other than the colors. They are fully interchangable.

 British standardAmerican Standard
connectorgreenyellow
wire insulationgreenyellow
+ wiregreenyellow
- wirewhitered

EGTConnector.jpg

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:

(The change values are quite small so try increasing in steps of +/-0x5 initially.)

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 Knock Sensor (Optional)

Although VEMS will work with a variety of knock sensors the ones that have been tried and tested are Bosch, although other 2 or three wire sensors may work. Note One wire knock sensors use the common group (engine block)

ConnectingKnockSensor.png

Some Bosch type sensors are 3 wire type, pin3 is the cable's shield. On either type of sensor the shield should be grounded near or on the engine block. Do not use a single wire knock sensor as they use the common ground of the block to create the circuit, using the block will inject too much noise into the sensitive knock circuitry.

Configuring Knock Sensor

Tuning the knock sensor is not a trivial task, and can take a considerable amount if time and experimentation to get

The first step is to calculate your engine's theoretical knock frequency. The equation is quite simple: <code> 900/(pi*r) </code>

So using a 81mm bore we can calculate the following knock frequency:\nÿ1ÿ

Testing Knock Sensor

Testing the knock sensor can only really be done by forcing the engine to detonate!


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.

ConnectingSingleCoil.png

Coil pack

Connecting a two coil (4 cylinder wasted spark)

ConnectingCoilpack.png

Additional coil packs, for applications such as 8 cylinder wasted spark, can be connected:

ConnectingTwoCoilPacks.png

Coil on plug (COP)

Individual Coil connections are shown, the pins connect to the negative '-' side of the coil.

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.

ConnectingCoilOnPlug.png

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. You will need to experiment with the advance, this is part of the tuning process. You may find that a level that acceptable for cold start causes problems when the engine is warm.

Wasted Spark COPs

In most OEM applications COPs are fired sequentially, but in cases where no cam sync is present you can setup VEMS to drive the COPs for wasted spark. For this you will need specifically configured firmware, with this installed the coils can be fired in pairs.


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.

This shows the typical installation for a 4 cylinder application.

ConnectingInjectors.png

To 8 injectors are wired as shown here.

ConnectingInjectors8.png

And to pair injectors in parallel.

ConnectingInjectorPairs.png

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

Injector configuration is handled by the screens Settings->Injector Settings and Settings->Injector Outputs

InjectorSettings.png

InjectorOutputs.png

Configuring Injector Sequence

For the purpose if explaination we'll use the example of a four cylinder engine that fires 1-3-4-2. Injectors are controlled using a Binary Mask with the following pattern:

...

Batch fire

To fire all injectors at the same time the binary pattern will be

1+2+4+8 = 15

So in Settings->Injector Outputs you will set:

And in Settings->Injector Settings set:

Fully Sequential

Firstly we need to identify the order of injection, in this case we want to fire in the sequence 4-2-1-3 as 4 will be on its inlet cycle as 1 will be on its combustion stroke.

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.

Remembering the binary pattern above, in Settings->Injector Outputs you will set:

And in Settings->Injector Settings set:

It is possible to combine groups of injectors using the binary mask and to alternate the group firing using the Alternate banks and Divider settings.

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.

mt04.jpg

Basic req_fuel calculation:\nÿ2ÿ

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

It is common practice to then half this number and to double the values in the VE table, as this means that the VE table's resolution effectively doubles and allows finer grain tuning.

Configuring Injector Impedence

Fuel injectors broadly fall into two types, those with a low resistance when measured with a DVM 1-12Ohm called Low Impedence, and those with resistance readings above 12Ohm High Impedence.

MeasuringInjectorZ.jpg

Low Impedence (LowZ)

LowZ injectors are a little more complicated to control and configure because they draw much more current which would result in a lot of heat and has the potential to damage the VEMS unit or the injectors. Using Ohms law we can calculate the current draw of a 2Ohm injector:

I=12V/2R = 6A which equates to 72W - which will create a lot of heat in the circuit.

In the past many manufacturers used resistor packs to help shunt the load and dissipate the heat, VEMS advanced electronics and control software provides a much more elegant solution to control the load: Pulse Width Modulation (PWM). By rapidly pulsing the injector's supply, we get less average current draw, and because we can modulate the pulses faster than the injector can move, the injector stays open. The injector cannot open using a PWM'ed supply as it needs a good voltage kick to open, but once open the supply can be pulsed to keep the injector open. This is known as 'Peak and Hold' and can be demonstrated by the graph below:

InjectorGraph.png

The opening peak pulse is defined with the Injpwm peak time value, and the resulting duty cycle is defined with the Injpwm DC(%) value. Using a 50% duty cycle would result in a current draw of 3A on our example 2Ohm injector, 40% would reduce things to 2.4A

Of course all of this is dependent on battery voltage, during cranking, afterstart and low battery conditions we need more current to hold the injectors open.

Injectors tend to need at least a 1mS Peak in order to open, 1.2 to 1.5 are commonly used. A Injpwm DC of 40% to 50% will help keep the temperature down, you can start to adjust this value lower once the engine is running properly, but it is only worth doing if things are getting hot. For low voltage 85% will give the injectors a higher current at lower voltage.

So in Settings->Injector Settings set:

High Impedence (HighZ)

HighZ injectors are the easiest to configure, because they draw such a low current no additional control is needed. As an example we can calculate the current draw of a 16Ohm injector using Ohms Law:

I=12V/16R => 0.75A Which equates to 9Watts

There is no need to have a duty cycle (DC) of less than 100% with HighZ injectors.

So in Settings->Injector Settings set:

Configuring the Injector's opening characteristics

As you will have seen in the graphs shown above, an injector does not open and close instantly, in fact there are four destinct phases to the process: Injector opening time, Injector ramp up, The injector's full flow, Injector ramp down.

InjectorOpening.png

While VEMS takes care of the amount of Injector open time based on its fueling calculations, it needs to factor in the open, ramp up and ramp down times, or too little fuel is added. These times are also voltage dependent as a higher voltage will energise a coil quicker, so we must factor in battery voltage to ensure that the AFR does not lean out with low voltages.


Connecting the fuel pump

The fuel pump is controlled via a mechanical relay.

ConnectingFuelPump.png

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]

Dual IAC Control

Bosch, Toyota & Subaru.

Connecting A Boost Control Solanoid

This assumes the use of the Webshop 3-port pneumatic solanoid

BoostValve.png

Configuring Boost Solanoid

Something here to follow