Why would anyone want VEMS in a Maserati Biturbo:
- When it has injection, often it is without Lambda sond at all. This is the case for models up to later than 1990.
- Ignition and injection are separate and don't "talk to each other". Knock detection/boost control is only in the ignition unit and cannot affect injection.
- The special 2-level distributor and rotor can cost as much as a complete VEMS system!
- The original just reads on/off status from aircon. It cannot tell it to not run the compressor during acceleration. VEMS can do this. A misc-output can be configured to disable the AC compressor at, say RPM >2000 and MAP > 95kPa and TPS>95% (or whatever you like). Maybe you want to keep it disabled for a minimum time (say 30sec) because the AC might not like frequent on/off (this needs a bit new code).
- The old carburetted engines destroy the gaskets in the carb, and are notoriously difficult to get to run properly. The carb is placed inside the plenum under turbo pressure and the heat soak makes for all kind of problems. The changes to the manifold to install injectors is fairly simple. And the MABC can be thrown out as VEMS can handle the waste gate control. MABC is well known for lowering boost if you have the slightest valve clatter or piston slap. (It's not timed.) VEMS is timed to measure knock at the time when knock would happen and so less sensitive to engine noise.
It has been established that the Maserati V6 engines are odd fire.
- exact angle of the trigger pulses is still unknown
- Be sure to describe when you get to know
An hopefully easy to understand example in engine degrees:
If we remove 360deg from all values >= 360 we get:0
If we interlace them and apply the 90/150 degree rule to the table:
We find that we want to ignore two triggs and then act on two triggs. We also see the 30/90 pattern in the triggerwheel that can be used to update rpm. This definitely can be done without stabilizing the trunk code, applying some code in multitooth.c.
Some thinking also show how the Buick odd fire engine can be run with wastefire! As usual with waste fire grouping we take the Buick fire order:
1-6-5-4-3-2, write on two rows:
The columns are grouped on each wastespark coil. Adding 90+150+90give us 330 degrees betweeen #1 and #4 TDC's and that means that #4 is 30 deg BTDC in it's exhaust stroke when #1 is in compression TDC. That should be ok. Counting the other way around starting from #4 compression TDC give 150+90+150=390 which would indicate that #1 is 30 degrees into it's intake stroke when #4 is at compression TDC. I get a feeling that late timing might be bad as if we were to fire at TDC the #1 cylinder would start to fill up with fresh mixture!
- IF COIL ON PLUG IGNITION is used you can even trigg it with only a multitooth crank trigger!
- is cam-trigger not available ? Yes, 2 spaced appx. 75 degrees (making it 150 crank-degrees)
- If waste fire was to be used the cylinder that has an early twin would be fired at the right time and 60 degrees too early!
- For odd-fire V6, I never heard of pairing cylinders using 3 transformers in wasted-spark configuration. Even if we cannot find such references, it doesn't mean that it cannot be done. However, there are too many uncertainties with it: if possible, cam+crank+COP would be the straightforward way to go.
Here is a link to a place showing the engine, also sliced (scroll down). The indexer pins on the pulley can be seen clearly. It corresponds with my estimate that the 1st of the 2 pins are almost at the same angle as the frontmost crank throw. The pickup is straight below the pulley.
I have a .GIF showing graphically the different events on a timeline. The accuracy is believed to be +-10 degrees.
State engine, 12 states:
- Start timing is only done after phasing is successful (State > 3).
- Init: Attempt to phase starts in state 1 and remain there until cam event.
- Odd states lasts 90 degrees. Cam event (where applicable) is appx. 50 degrees after transitition into state.
- Even states lasts 30 degrees.
- TDC for the cyl where spark timer starts is appx. 90-100 degrees (S1,5,9) or 120-130 degrees (S3,7,10).
- Cam event in any state except 1 and 3 is a HW error. IAW resets, we may just phase again?
- Spark event is when spark timer expires.
- Knock amp is turned on and sampled appx. 30 degrees into states 1, 5 and 9 and immediately after entry to states 3, 7 and 10. But any knock detected is caused by cylinder fired in state X-2.
- Actual firing initiated in S3, 7 and 10 may happen in same state or next.
- Dwell is not considered here, but must of course be figured out. I believe IAW times it off the spark event.
1: Cam sensor event required. State change without it means we're not phased (or HW fault).
Start timing of Cyl6 ign on state entry.
3: Cam sensor event required. State change without it means we're not phased (or HW fault).
Start timing of Cyl2 ign on state entry. If not phased yet, and no cam event goto state 5.
5: Start timing of Cyl5 ign on state entry.
7: Start timing of Cyl3 ign on state entry.
9: Start timing of Cyl4 ign on state entry.
11: Start timing of Cyl1 ign on state entry.
12: Nothing. Next state is 1.
TPS: With 5V 10mA input:
- Idle: 0,2V
- Open1: 2,15V
- WOT: 4,5V
Idle Bypass valve. Opening is a function of voltage.
- Opening at 1,3V 0,2A
- Fully open at 5V 0,75A
Inector: Weber IW 031 green 2938/02.
- 0,6A @ 10V
- 308cc/min According to: http://www.zetecinside.com/xr2/injection.htm
April 6th 2010.
I totally lost interest in VEMS several years ago as I discovered it was not open source any more. And it is far from plug & play in my odd-fire engine. Please email me if you have successfully used it in an odd-fire 90degree V6. I might un-mothball it. Pity such a nice hardware should end up like that.
So it seems something is happening with the odd fire case?
I may contribute with measurements made on a running injection V6 as I just bought another car.
I have a 4ch digital storage scope and other logging possibilities, so I can do non-intrusive measurements on the running electronics.
- secondary trigger, primary trigger
- + ignition of an arbitrary cylinder (wrap a few turns of thin wire around the HV wire, capacitive coupling, no need for touching).
- Take note the firing order, which cylinder is actually captured, and what is the angle difference (90 or 150 deg) to the next cyl.
If a codewheel makes it easier, I can make one (or many) on a CNC mill.
- Not needed, because the factory trigger is supported now (actually, also with modified sectrig pattern).
- We just didn't get a clear description of the cyl position to make a configlet for the factory setup (which makes it 1-click to setup, it requires strobelight and patience now), so any precise information for that is welcome. Thanx.
The car will not be used during winter, so any road test measurements will have to be done before that.
Scope logs at different detail level. Much more data in the .CSV files. Put them in Excel and get 2484 samples. Make a graph in Excel.
CH1 - Cam sensor input at the ECU.
CH2 - Crank sensor input at the ECU.
CH4 - Coil output at the ECU. One coil serves 3 cylinders through a 2-coil input distributor.
I can hook up CH3 to the other coil when the scope have recharged.
OK. Got some charge into it. Here is one at around 3000RPM to see a different (less) advance.
The ones above was at idle, where the advance should be 12 degrees. In the previous shots you can actually see the other coil fire as noise in CH4.
It would be a great feature if Vems could control 6 coils to make the distributor redundant!
Einar (Spamcheck-AT) Sjaavik (Spamcheck-DOT) com
Maserati odd-fire(90,150) V6 trigger and spark example
Primary trigger settings:
Cylinder spark delay settings:
Config-(Note use only for primary secondary and cylinder settings)
- Thanks! Then I need to produce a wire loom that allows me to swap VEMS/Weber easily and to replace only the ignition ECU until I get the ignition settings right.
- The Weber ignition controller will reduce boost if retarding to max setting does not remove knock. Is there such a setting in VEMS? It will also lower boost as much as it can if there is no signal at all from the knock sensor (assuming wire or sensor broken).