#### ## ##### ## ## #####
_ _ ( ) ( ) `\`\_/'/' `\ /' | | (_)
## ## ##### ## ## ## ## ## ## #####
_____ | __ \ | |__) | | ___/ | | |_|
## ## ## ## ## ## ## ## #####
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: '''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''', * either 1 certain tooth (marked with DOUBLE red dot on pic below) as a reference for all TDC ** like: 10crankdegBTDC (cranking sparkadv) points are (ASSUMED - to be confirmed or corrected) 90, 240, 330, 480, 570, 720 degrees * or the last such tooth (marked with red dot on pic below). This, by itself does not cause a confusion since the tooth after shortgap are evenly spaced every 120 degrees (so it's just "mod 120" deg of above values) ** like: 10crankdegBTDC (cranking sparkadv) points are (ASSUMED - to be confirmed or corrected) 90, 0, 90, 0, 90, 0 degrees 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. 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 for Microplex everything seems more simple, see below. The first achievement I would reach is - to 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. - to have this firing robust with regards to noise or errors (meaning and tests are to be defined) All non-conforming descriptions should be changed or deleted. Any misunderstanding can result in problems and lotsof 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 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. Also 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. * Humm, the Crankcount=2 pulse is 120° before what we have called tooth 1 or 130° before the cylinder relevant to that tooth( we may call it Cylinder 1) BLEU : IgnitBiturbo1000.wav - JAUNE: IgnA - VERT IgnB http://www.vems.hu/files/MembersPage/Maserati/FPhil/microp10_REDdot.jpg http://i23.servimg.com/u/f23/15/63/46/75/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''' * so download the config above, or from MembersPage/OddFireSixCyl ** dragndrop file to relevant dialogs ("primary trigger", "reftooth table"). This is the quick way to import the displayed settings (changed entries change to red) ** the ign outputs must be set to your ignout wiring ** the triggerlog also shows the spark events, so examine that too (and use the strobelight) before actually trying to start the engine * yes, the showed configs used the individual cylinder spark delay 0,30,0,30,0,30 to make 90,150,90,150,90,150 "odd-fire" sequence from the even 120,120,... sequence. 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: * What is the '''exact position of the 2 primtrig pulses coming after the second sectrig pulse ?''' * What is the cylinder that follows ? ** which ignout is that connected to ? * than list the remaining (5) cyl / ignout entries ** always mark the angle separation between the cyl/ignout entries (in a separate line, to be clear, 150 or 90 degrees) '''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 ... * Bench tested scope shot showing the requested timing: http://www.vems.hu/files/MembersPage/OddFireSixCyl/scope.PNG ** ch1 : secondary trigger ** ch2 : primary trigger ** ch3 : '''ignition output''' ( all slots set to same output in this test ) * Full [http://www.vems.hu/files/MembersPage/OddFireSixCyl/v3.3_n051212-A-2011.05.30-17.14.31.vemscfg here]. Change the following: ** we used same ignition output in all 6 slots to make it easier to scope (use 6 different outputs in real life, that drives the 6 transformers) ** set ign TDC delay (apparently lower than 40 degree also seemed to work, even during cranking) ** swap the 0,30,0,30,0,30 in the "individual spark delay" table to 30,0,30,0,30,0 if necessary - 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 http://i23.servimg.com/u/f23/15/63/46/75/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 http://i23.servimg.com/u/f23/15/63/46/75/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 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!! ----- '''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). Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.