For 5 cylinder and odd-fire V6 engines the crank trigger is not enough. The ECM must know which cylinder (which sparkplug, which transformer, which IGBT) to fire
5 cylinder engine can also run in some sort of 'wasted spark' mode with 5 coils without cam sensor...look at this picture:
Every igbt fires every 360° and they are separated with 72°. Can it be done with vems?
GenBoard/VerThree has input for cam-trigger (secondary trigger) and enough outputs to drive an 8 cylinder fully DIS setup.
Beware - think twice if you really want to depend on camsync
For even-fire engines wasted-spark can be a better (and certainly simpler) approach. It is simpler to configure the ECM for wasted-spark, since cam trigger is not needed (so less things to break). Wasted spark wastes very small amount of energy, only about 8..10% for real wasted spark, when the same transformer fires 2 cylinders' sparkplugs, since the voltage will be smaller on the exhaust stroke cylinder while current is essentially the same.
For trendy COP (coil-on-plug) installations, cheating wasted spark really wastes some energy, because the exhaust stroke cylinder's sparkplug is also energized fully.
Countrary to popular beliefs don't need camsync for
- high horsepower small displacement engines. Naturally, one injector-squirt per camphase is desired (for higher pulsewidths => much less difficulty with injopen config), but that is available without camsync (see config.divider and config.alternate).
- Per-cylinder knock sensing and retard individual cyl does not require camsync either. The ECU can retard just the knocking cylinder (eg. with wasted spark, or even distributor) without knowing where the cylinder is physically located that was knocking. The ECU knows when it's that cylinders turn as it traverses the h[2] array as igncount is changed (if config.ignchmax=cyl-1 as recommended). It will be consistent until the engine is stopped, and knock-based ignition retard is not transferred over engine restarts anyway.
Camsync required for
- adjusting fuel trims on a per-cylinder basis. On many engines this can be very important. Especially Subaru engines where the extra heat in the cylinder next to the turbo makes it a detonation target
- fully sequential, timed injection. Needed for engines that are regulated with skipped event instead of throttle (Formula-1). Gives no extra power if throttle is used anyway. Gives 2..4% efficiency and emissions, but tuning it for that consumes more fuel than it is saved during engine lifetime (not the case if 10000 engines of same type are sold)
Requirements for fully DIS ignition setup
Note that this applies to coil type primary trigger, and 1 pulse secondary trigger.
- see GenBoard/UnderDevelopment/FirmWare/TriggerRelated for 60-2 primary trigger with camsync
- see InputTrigger/AudiTrigger for auditrigger variants (many teeth, and masked crankhome-VR signal)
In 1.0.x firmware the camsync-active-edge must be between given 2 cyls' spark event! In other words, if the camsync pulse overlapd the used ignition advance range of a cylinder (sometimes spark comes before, sometimes after the camsync-active-edge), it's currently not supported. For a 4 cyl, this means that if ignition advance is set to 8..45 degree BTDC, than the chosen camsync trigger pulse (the edge that is configured to trigger the processor) must be outside of that 37 crankdegree window (out of 180 crankdegrees) plus some safety margin.
This is not a hardware limitation, just a firmware shortcoming, not required in 1.1.x firmware.
The exact reason is the simplified operation in 1.0.x:
Cam-trigger is just used to "reset" engine.igncount=config.ignchmax so the h[2] index jumps to the last element right after the spark-event following the cam-pulse
Even in 1.1.x, you want to make sure that the
- secondary trigger (chosen edge) does not race with the tooth after the missing tooth (in case of missing tooth)
- secondary trigger (chosen edge) does not race with any tooth (in case of "coil-type" trigger)
Examples
- On a 4 cylinder engine with firing order 1-3-4-2 the signal could come after the ignition event of cylinder 4 and before cylinder 2
- On the same 4cyl engine, with firing order 3-4-2-1 (this is the exact same firing order as 1-3-4-2 !) the signal could come after the ignition event of cylinder 2 and before cylinder 1
- On a 6 cylinder engine with firing order 1-5-3-6-2-4 (BMW inline 6) the signal could come after the ignition event of cylinder 2 and before cylinder 4.
- exercise for the reader: "rotate" the firing order (for any sequence) until the camsync-pulse (selected edge) comes in the right position
Therefore the following config variables are not used (but recommended to set them to reasonable values for future compatibility):
- cam_sync_f_edge_phase
- cam_sync_r_edge_phase
- reset_engphase_after
- tooth_wheel_twidth1
- tooth_wheel_twidth2
examples:
- tooth_wheel_twidth1=2 tooth_wheel_twidth2=6, reset_engphase_after=0xF0 for a 60-2
- tooth_wheel_twidth1=3 tooth_wheel_twidth2=6, reset_engphase_after=0xD8 for a 36-1
- cam_sync_f_edge_phase and cam_sync_r_edge_phase depend on the actual wheel-setup. Both-edge in secondary_trigger only makes sense for HALL sensor. With a VR cam-sensor, one would only configure rising edge and care about cam_sync_r_edge_phase (and let cam_sync_f_edge_phase=(cam_sync_r_edge_phase+50) % reset_engphase_after )
Anyway, for a dual trigger setup make sure you plan cautiosly, and document your progress in wiki so others can warn you should anything be done differently. Test the configured setup on table.
Only cam, no crank trigger - cu
Above we assumed that besides the cam trigger there is always a crank-trigger (the crank is the preferred source for timing as the cambelt usually causes a few degree sloppiness). However a cam itself also enables us to run an engine.
- Note that during 720 crankdegree revolution (if the common 1-tooth camtrigger is used) the RPM can change significantly. This is not supported.
- multitooth cam signal is possible: allow running the engine so max time between synchron teeth is only say 20 crankdegrees. This is supported, but you have to connect the cam-trigger to the primary trigger input, and pretend that it's crank. Just think about it, works like a charm: set an 8 cyl for fully DIS (say COP) as it was an 16 cyl wasted spark system.
- a tricky cam signal-train would help faster startup at cranking too (not yet supported)
- when there are both crank and cam triggers, but crank is lost: this limphome functionality (optionally with somewhat retarded spark) is needed very rarely, so planned for later (2005 March..May).
See also: GenBoard/Manual/InputTrigger
Go back: GenBoard/Manual
Can someone please explain how to setup squential ignition with 4 cop's on 4 cyl even fire engine. Please elaborate this commands(and other if needed for setup):
- cam_sync_f_edge_phase
- cam_sync_r_edge_phase
- reset_engphase_after
- tooth_wheel_twidth1
- tooth_wheel_twidth2