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:
0 +90
90 +150
240 +90
330 +150
480 +90
570 +150
720
If we remove 360deg from all values >= 360 we get:
090
240
330
120
210
0If we interlace them and apply the 90/150 degree rule to the table:
0
90 (90-90=0)
120 ignore
210 ignore
240 (240-150=90)
330 (330-90=240)
0 ignore
90 ignore
120 (360+120-150=330)
210 (210-120=90)
240 ignore
330 ignore
0 (360+0-150=210)
90 (90-90=0)
120 ignore
210 ignore
240 (240-150=90)
330 (330-90=240)
0 ignore
90 ignore
120 (360+120-150=330)
210 (210-120=90)
240 ignore
330 ignore
0 (360+0-150=210)
90 (90-90=0)
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:
1-6-5
4-3-2
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.
http://www.maserati-alfieri.co.uk/alfieri134.htm
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.
2: Nothing.
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.
4: Nothing.
5: Start timing of Cyl5 ign on state entry.
6: Nothing.
7: Start timing of Cyl3 ign on state entry.
8: Nothing.
9: Start timing of Cyl4 ign on state entry.
10: Nothing.
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.
Einar
2011.08.09
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.
http://www.sjaavik.no/files/webermarelli/F0002CH1.CSV
http://www.sjaavik.no/files/webermarelli/F0002CH2.CSV
http://www.sjaavik.no/files/webermarelli/F0002CH4.CSV
Einar (Spamcheck-AT) Sjaavik (Spamcheck-DOT) com