Odd fire 90,150,90,150,90,150 degree V6
Now even the factory 30,90,30,90, ... factory maserati trigger is supported even with the dual camsync pulse (1.1.90 firmware). See below.
There is ongoing work for quicker / more graceful startup.
Non-maserati triggers
Common denominator is 30 deg, which suggests 12 teeth on crank (also called 24+1 pattern with Tools/Play-trigger type c024)
Bench tested configs using per cylinder spark delay:
Maserati factory trigger setup primtrig pattern 30,90,30,90,30,90, 30,90,30,90,30,90 with double camsync pulse
With 10deg ignition advance, spark comes on the first primtrig after the FIRST sectrig, the next comes 150° (30+90+30) later
[Maserati biturbo .wav] made by Phil.
- Bench tested OK with 1 campulse even with 1.1.88, using this [config ]
- same config with 1.1.90 now works with dual camsync pulse
- easy way to configure: at the bottom of "primary trigger" dialog: used configlet: Maserati Z012 (after VemsTune ini update or VemsTune newer than 2011-04-19 )
- note: a similar trigger (but 10 cyl instead of 6 and 1pulse camsync) is the Viper engine: MembersPage/PeepPaadam/BMWwithViperEngine VemsTune Tools / Play trigger: "Z020"
- obviously ignition outputs must be configured (according to wiring), and TDC-delay adjusted with strobe.
- It's a good idea to strobe just one ignition output first and note which cyl each slot belongs to (the rest ignouts disabled, or disconnected, also with injectors and/or fuelpump off)
- only install the WBO2 sensor in the exhaust after the engine started (for longer WBO2 sensor life)
For the curious:
- similar to Fiat Stilo, triggering from short-gap (neglecting the 90 deg gap and timing from every 30deg pulse, but using per cylinder spark delay)
- but advanced filtering enabled and 125% threshold (eg. Normal tooth 20-125%, missing tooth 125%-425%)
- to get odd fire output with this setup (and proper timing), per cylinder spark delay is needed
- Could you elaborate this spark delay?, 2 delays should be needed ?
- What about sequential injection ?
- needs strobing to find ign_tdcdelay (TDC after the trigger) value.
- Any idea (speculation or measurement) about the pulse position wrt TDC ?
- from the workshop manual it is 10° before TDC, also the Microplex firmware substracts 10° from the ignition map value after reading it.
- Any idea (speculation or measurement) about the pulse position wrt TDC ?
Reftooth-based solution might be another option WARNING: not yet passed testing with missing tooth + uneven odd-fire reftooth table !
- 12-1 teeth on crank is another rational pattern (3,5,3,5,3,5 differences in reftooth because tooth width=30 degrees).
- or 36-1 (9,15,9,15,9,15 differences in reftooth because tooth width=10 degrees)
- or 60-2 (15,25,15,25,15,25 differences in reftooth because tooth width=6 deg) also makes sense.
As you see, that method is about
- the reftooth table.
- but firmware mod required (in avoid_tooth() function) for uneven reftooth table otherwise it would attempt timing from nonexistant tooth
- obviously the secondary trigger must be enabled as camsync
- also, enabling the odd-fire bit might be needed so the RPM does not fluctuate up/down according to 90/150 degree time, but measures every second event (240 degrees)
- maybe some cheating with the cyl number also needed to show correct RPM (the cyl number has no other effect currently)
Page needs to be cleaned up
- also we'll make index page to different odd fire engines (and some generic instructions).
- Generic information will come to this page, and specific to the Maserati biturbo goes to MembersPage/FPhil (started with very similar content)
The solution to set 30 crankdegree teeth on the crank pulley was also recommended by Matthias on [Vems uk]
"The sensors are VR but it is not a big problem to make a Hall signal from them" [VR=>HALL] converter available (with divider option for multitooth ABS sensors).
I can filter out one of the crank trigger or even I can divide the triggers by two to make 2 x (1cam trig +3 crank trig) each for one even fire 3 cylinders, for respectively the left bank and the right bank of the engine . But in this last case I need 2 GenBoards !!!
This is what Maserati has done for the late biturbos: 2 triggers + one ecu (ignition+injection) for each bank
The 30,90,30,90,30,90, 30,90,30,90,30,90 arranged according to ign events, 10 crankdeg BTDC tooth marked bold:
- 30, 90, 30
- 90
- 30, 90, (next crankrot: ) 30
- 90
- 30, 90, 30,
- 90
10 crankdeg BTDC cannot be used as trigger tooth normally, eg when sparkadv is 20 crankdeg.
- so normally trigger tooth will be 10+30=40 (or possibly 10+90=100 BTDC ?).
- 10 BTDC could (ideally should !) be used during cranking though.
BTDC angle in (parentheses) :
- 30, 90 (40), 30 (10 / 100)
- 90 (10)
- 30, 90 (40), (next crankrot: ) 30 (10 / 100)
- 90 (10)
- 30, 90 (40), 30 (10 / 100),
- 90 (10)
TODO: insert campulses please
So for normal (non-cranking) sparkadv (say 18 deg, but for any >10 we seem to need
- 40,100, 40,100, 40,100 BTDC triggertooth (that is actually the last tooth before a normal sparkadv)
- so neither clean way will work: short-gap or long-gap setting: we need alternating after-short-gap and after-long-gap
The good news is that if firmware userspace "triggertooth" calculation can be taught about the uneven tooth-times (modifying the userspace easier than the interrupt timing code state machine), that might provide an 1.1.x solution without the per-cylinder spark delay tweak.
- config:
- coil-type
- odd-fire bit enabled
- toothwidth=30 deg
- AND nr of tooth=6 (not 12 !)... this special value together with toothwidth=30 could mark this Maserati trigger for now.