MembersPage/FPhil/CoilTypeOddFireConfig (2011-06-12 14:06:43)

Ignition parameters for odd fire coil type configuration.

In the descriptions, let's always use the teeth after the short gap ( short gap=30 deg, not the long 90 deg gap) as a reference,

Yes 10° before TDC is confirmed by the manual when adjusting the VR sensor position, and the eprom code it self since 10° is subtracted from the ignition map value to make a refence for teeth pulse.

Indeed on can start counting from the crank teeth after the short gap which follows the cam tooth after the short cam gap (double dot on the pic).

However if one does not that the first cylinder to fire is with the 30° delay it should be better that the fist fire comes for the first tooth of the short gap so that the next firing commes at 120° +30°delay which is in phase with the 2nd tooth of the next short gap (yes after the long gap !!).

For Microplex everything seems more simple, see below.

The first achievement I would reach is

- get VEMS firing for bankA and for Bank B the same way that it is done by the biturbo Ecu. Remember firing for bankA is related to the first crank teeth of short gap and bankB for the second - or the reverse, it does not matter. Then, since the firing on each bank are evenly timed, it would just remain a matter of wiring the thing properly.

- have this firing robust with regards to noise or errors (robustness and tests are to be defined)

All non-conforming descriptions should be changed or deleted. Any misunderstanding can result in problems and lots of wasted time for all involved.


As I understand from the eprom code, the Marelli microplex logic for starting the ignition is the following

Event Do
On First CamTooth read Start Count Crank teeth
On Second CamTooth read IF CrankCount = 2 Do next cycle Ignition ELSE wait for CamTooth

Indeed it is even more robust than that since there is a switch case for the 12 crank teeth of an ignition cycle and the 2 Cam teeth are expected the first before the 11th and the other after the 12th.

Besides they simply put a constant 120° dwell time

  • (but this is too long at low RPM)
since there is always 120° (that is 30°+90° or 90°+30°)between the 2 previous teeth and the firing tooth.

Cyl2 TDC is 100 degrees from that Crankcount=2 pulse.

BLEU : IgnitBiturbo1000.wav - JAUNE: IgnA - VERT IgnB

microp10_REDdot.jpg

microp11.jpg

Lets note the 6 tuples of 2 crank teeth which are seen by the VR sensor during a double revolution of 720 ° by the following:

/t01/.30°./t02/ .. 90°.. /t03/.30°./t04/ .. 90°.. /t05/.30°./t06/ 90°

/t11/.30°./t12/ .. 90°.. /t13/30°/t14/ .. 90°.. /t15/.30°./t16/ 90°

Genboard has to fire 10° before the following teeth

/t01/ ..... 150° .... /t04/ .. 90°.. /t05/ ..... 150° ....

/t12/ .. 90°.. /t13/ ..... 150° .... /t16/ .. 90°..


Can we do odd firing with coil type triggers?

Answer

Anyway I don't even know on which crank tooth Firmware 1.1.90 start counting. I should make a triggerlog next time.

As for the use of spark delay, I think I have understood :

Because of the odd fire configuration of genboard, it remains 6 reference trigger pulse per double cycle from the 12 crank triggers, hence they are 120 ° apart. That is

/t01/. 120°.. /t03/.120°.. /t05/.. 120°

/t11/..120° /t13/ ..120° /t15/..120°

or

/t02/. 120°.. /t04/.120° etc depending of when firmware does the sync from the cam trigger (I have to find out that)

Indeed if we note d03,d11, d15 the ignition events delayed by 30°, we get what we need:

/t01/.150°. /d03/.90°./t05/. 150°. /d11/.90°./t13/.150°/d15/. 90°.


Help for ignout config

So that we can help with ignout config that matches your wiring, fill this in:

Answer

I am not yet at this point. I would connect the firings lines (with diodes)* for the bank A all together, do the same for bank B and fire the engine through the distributor the same way it is done with the Microplex (we are still far from there).

I finally understood that this is useless since it is possible to drive freely any ignition event to any ignition output of the genboard (yes Versatility)!! and this is already done by the config file since

h[2]=70 40 70 40 70 40 70 70

As we see only 2 output ports are used in order to fire the cylinders of bankA or bank B.

Of course now one needs to know which is which and the Triggerlog which now records the ignitions events would be of great help for that.

I also found out the delay parameters from the VemsTune menus "Cyl separated Spark delay" and was surprised to see it is already set as one wanted, this is also define, I presume, by the table h[3] of the config file (MembersPage/OddFireSixCyl):

h[3]=00 78 00 78 00 78 00 00

because 0x78 = 120 = 4*30°.


First Bench tests

- Here after some bench test from the board ...

- Then mine ...

I made the Vems and Marelli Microplex running in // on a the bench. Vems EC26 Pin10 was for ignition bank A, Pin11 for bank B

After having tried TDC After Trigger =10, 40°, TDC After Trigger = 100° gave identical ignition signal respectively on each bank. It runs well for some time as seen on logic analyser

alluma10.jpg

From top to down: Ignition BankA Mplx, BankA Vems, BankBMplx, BankB Vems. Ignition is done at rising edges.

This is perfect.

However later on, after switching on and off, testing a 5000 RPM .wav file(the signal from the trigger play is not strong enough to stimulate the Mplex at this speed) etc... I got some desync of Vems ignition

alluma11.jpg

Besides I quoted that VemsTune shows off alarms from time to time: "Too many Primary Trigger" "Less sec trig" etc..

I should say that the 2nd LM1815 I fitted was for some reason in mode 3 Pin5=0V, that is input arming=0V. So I went to set mode 2 Pin5=5V (arming at 0.2V)but when I desolder some wires on the chip I had set to stimulate logical outputs, I think I burn it and I did not made tests for Mode2 Pin5=5V.

I cannot say if the desync of Vems ign out is a consequence of the trigger errors (my bench facilities are limited), but anyway If it is the case, one main point is that misplaced firing are done by Vems despite these error :

Does Vems handles these defaults?.

I think in case of non recoverable trigger error there should be no ignition. May be safer to have these features on firmware before running the ecu on the car.


First log files

I have recorded the following .vemsLog

http://www.vems.hu/files/MembersPage/Maserati/FPhil/Ign2011-06-05-1.vemslog

and triggerlog

http://www.vems.hu/files/MembersPage/Maserati/FPhil/Ign2011-06-05-2.triggerlog

http://www.vems.hu/files/MembersPage/Maserati/FPhil/Ign2011-06-05-1.triggerlog

".VemsLog files"

Alright I wanted to show the log history for

TriggerErrorType log + disp_spark10 + disp_spark11

from a .vemslog file.

So, after playing sometime with the menus options

- I created a MultiGraphDescriptor named dbgIgn, then

- I open the Editor to reference the data names, then

- I append new empty node (why is it called a node?), then

- I edit this empty node by giving the name of the data (say disp_spark10

-> does not work

Then I convert the .vemslog to .csv. -> Bug: it freeze at the end of the conversion Auto-close option ?

Anyway, fine tool but the data I wanted to watch was not recorded.

Allright, learning the hard way, I should have told VemsTune which data I wanted to log.

No No, no way, you cannot set your record profile.

Going to do something with the .csv file …

Suggestion : VemsTune is becoming a huge tool. Why not to split it and have an independent log viewer/analyser tool (weighting 80KO ;p) ) with easy access to basic functions!!

triggerlog files

Tried to read my triggerlogs on VemsTune stand alone with Tools/ Analyse/recordTriggerLog. The File is 165k.

What I have noticed (see underneath):

- Primary time is alright 5ms, 15ms, 5ms, 15ms etc

(Remark : Primary dif takes the dif between last primary time and secondary time whenever a end trigger occurs between the 2 primary)

- At some moment there is a lot (say 7) of secondary pulses which are recorded at short time, the smaller being say every 0.024ms.

- When this occurs the primary pulses are separated by 20 ms, it means that one primary trigger is off

11195.324(6)5.0000.69   
12210.320(7) 14.9963.00  MISSING TOOTH:2cycle=8
13215.316(8)4.9960.33   
14230.316(9)15.0003.00  MISSING TOOTH:2cycle=2
15235.316(10)5.0000.33   
16250.312(11)14.9963.00  MISSING TOOTH:2cycle=2
17   253.776(5)3.464 
18   253.800(6)0.024 
19   253.828(7)0.028 
20   253.856(8)0.028 
21   253.904(9)0.048 
22   253.928(10)0.024 
23   253.956(11)0.028 
24   254.884(12)0.928 
25270.308(12)15.4241.03   

I measure the width of pulse out signal from the chip LM1815 as 0.030 ms. "Pulse width" is shown as 20-22 by VemsTune when running.

Hence the multi 2nd trigger pulses I get can be LM1815 related and due to the fact that I set the arming threshold to 0V by setting the mode 2.

I have to change the mode and the threshold (200mV Mode 3)

(Remark: The TriggerLog tools should use preferably ";" as separator instead of "," because "," is used in the log text and some parser still split cells even for "," in text enclosed by quotes.


Copy of the biturbo ignition map to genboard

This biturbo map is a 16x16 array where lines are for MAP and columns for RPM. I found out the scale for the MAP, I also need the RPM scale precisely...

Alright I found out the coefficient dand what the timer of the 6803U is doing. We would be able to do a good compare.


Inj outputs - same order as ign

Use the same injout entry as the ign (if topmost ign is, say, cyl3, topmost inj should be also cyl3 output for unbiased inj-angle positions).