## ## ## ## #### ## ## ## ##
______ ( ___ \ | ( ) ) | (__/ / | __ ( | ( \ \ | )___) ) |/ \___/
# ## # # # ###
###### ## ## ## ######
_ ( ( /| | \ ( | | \ | | | (\ \) | | | \ | | ) \ | |/ )_)
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: Inline 5-cylinder, sequential ignition with camsync Primary trigger: 60-2 w/ VR sensor. Secondary trigger: Single tooth w/ Hall sensor. The rising edge of the cam wheel hits the sensor after cylinder three fires and before cylinder one does. Firing order is 1-2-4-5-3. ---- MembersPage/RonnieH has set up VEMS on a very similar motor also with seq. COP. After some additional reading, his settings seem obsolete due to code changes. Primary trigger settings ||Field name ||Variable name|| Value [decimal] (Value [hex])||Comment|| ||Primary Trigger || primary_trigger || 1 (0x01)|| For multi-tooth trigger without filtering (I think). 0x09 is with filtering? Which should I use?|| ||Edge || || ||Rising || ||Type || || ||Multitooth || ||Filtering...Bit7 || || ||Disable || || TDC after the trigger || ign_tdcdelay || 60 (0x3C) || The GenBoard needs to know ahead of time when a cylinder is going to be at TDC. This is to allow for a certain amount of ignition advance. It needs about 60 degrees of 'lead time'. ign_tdcdelay is this lead time. Look at the tooth under the sensor at TDC of cylinder one (16 in my case), count backwards toward the missing teeth until you are ~60 degrees BTDC. In my case this is exactly 10 teeth and 60 degrees.|| ||Number of teeth on wheel || tooth_wheel || 58 (0x3A)|| 60 "total teeth" - 2 missing teeth = 58 actual teeth || ||Trigger tooth ||trigger_tooth || 5 (0x05) || TDC of cylinder 1 (tooth 16) occurs 15 teeth ''after'' the first actual tooth following the missing teeth. 15 teeth is 90 degrees. ign_tdcdelay is already 60 degrees, leaving 30 degrees (or 5 teeth). This is trigger_tooth. Confusing as shit, I know. I'll post an illustration. More concise explanation here: InputTrigger/MultitoothTriggerWheel || ||Next trigger tooth ||another_trigger_tooth || 24 (0x18) || (from GenBoard/UnderDevelopment/FirmWare/TriggerRelated, 60 (teeth on the wheel) * 2 (wheel revolutions per cycle) / 5 (ignition events) = 24 teeth between events|| ||Crank min. period || crank_minper || 188 (0xBC) || 60 (seconds) / 8000 (max rpm) / 5 (number of engine events) * 2 = 0.003 (seconds) = 3000 (microseconds). In units of 16usec, so 3000usec / 16 = 188 [decimal] = BC [hex]. Can someone confirm this is the correct formula? Or even what this value means? || ||Tooth normal relative min % || || || 25% || ||Tooth normal relative max % || || || 150% || ||Tooth missing relative min % || || || 200% || ||Tooth missing relative max % || || || 413% || ---- Secondary trigger settings (these are not used in 1.1.x, so only here for future use) ||Field name ||Variable name|| Value [decimal] (Value [hex])||Comment|| || ||secondary_trigger || (0xFE) || For rising edge trigger || || ||tooth_wheel_twidth1 || 24 (0x18) ||Width of a single tooth on wheel, in quarter degrees (360/60 = 6 degrees per tooth, 6*4 = 24 quarter degrees per tooth, 24dec = 18hex)|| || ||tooth_wheel_twidth2 || 0 (0x00) ||Not sure on this one either, changelog says set this to 0, but why?|| ||Rising Edge ||cam_sync_r_edge_phase|| 2 || See: ''Note'' || ||Falling Edge ||cam_sync_f_edge_phase|| 6 || See: ''Note'' || ||Engine phase, when to reset ||reset_engphase_after|| (0xF0) || See: ''Note'' || ''Note'': According to GenBoard/Manual/InputTriggerCamSync ---- Re-iteration for this section: The rising edge of the cam wheel hits the sensor after cylinder three fires and before cylinder one does. Firing order is 1-2-4-5-3. Ign. outputs will connect as follows (for 2+6 configuration, according to PhatBob's User Guide): ||Cylinder || Ign. channel || ECU Pin || || 1 || 00 || EC36/35 || || 2 || 10 || EC36/33 || || 3 || 40 || EC36/11 || || 4 || 50 || EC36/12 || || 5 || 60 || EC36/24 || h[2] is ignchannel array, h[2] = 00 40 60 50 10 00 00 00. So the array is traversed backwards starting at '10' (cyl. 2) (since "Ignition outputs to use in h[2]" will be '04..00'). Because the ignchannel traversal is reset ''after the ignition event following the cam-sync'', cylinder one needs to fire last in the order. Differently stated: h[2] = 00 <cam sync occurs here> 40 60 50 10 <traversal begins here> 00 00 00 I drew a pretty picture: http://www.vems.hu/files/MembersPage/KarlBuchka/60-2.png According to the changelog for 1.1.x: ''h[1] is the reference tooth array (trigger_tooth and ign_tdcdelay is added to this to get TDC), for each output specified in respective h[2] entry.'' h[1] = 01 61 49 31 19 00 00 00 Confirmation on the above values would be greatly appreciated. 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.