## ## ## ## ## ## #### ##
##### ## #### #### # # #####
__ __ \ \ / / \ \ /\ / / \ \/ \/ / \ /\ / \/ \/
___ ( _`\ | (_(_) `\__ \ ( )_) | `\____)
_______ ( ___ ) | ( ) | | | | | | | | | | | /\| | | (_\ \ | (____\/_)
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: My daily driver, Audi S6 avant -95, 2.3L inline 5, 20 valve turbocharged engine (AAN). http://www.kapsi.fi/~mpeippo/webkuvat/s6_etu_small.jpg Installed VEMS as direct replacement of original ECU (see PlugAndPlayMotronic) using factory wiring. Extra wires are needed only for WBO2. There are some modifications with the trigger wires as well (swap secondary VR signal wires in 3pin JPT connector on firewall). Megatune settings for slightly modified 1.0.53 firmware, including new BoostController code (Update 09-Oct-2006): [http://www.vems.hu/files/MembersPage/MiskaPeippo/AudiS6/s6_09-oct-2006.msq MT config] mcd.txt and mct.txt (09-Oct-06): [http://www.vems.hu/files/MembersPage/MiskaPeippo/AudiS6/mcd.txt mcd.txt] [http://www.vems.hu/files/MembersPage/MiskaPeippo/AudiS6/mct.txt mct.txt] '''The engine is now running well, some tuning is still ahead'''. * Lost spark around 6k with auditrigger setup is still valid, reason is now probably known ---- Going to test overlapping dwell with 135-tooth, please review configuration <code> # reftooth array (mod 135), traversed backwards (0, 54, 108, 162, 216) h[1]=00 51 1B 6C 36 00 00 00 # for cyl order 5,3,1,2,4 (ignchannels 4,2,0,1,3 in Miska's wiring) h[2]=04 03 01 00 02 00 00 00 # tooth width in quarterdegrees, 360/135 = 2.667 # 0x0B = 2.75 degrees -> the correct 2.6667 deg will be used. Important to use 0B because 0A is reserved for the volvo 142-tooth. tooth_wheel_twidth1=0B tooth_wheel_twidth2=00 # with camsync, 270*11 = 2970 mod 256 = 154 reset_engphase_after=9A another_trigger_tooth=36 # 60deg # rpmk=12000/10cyl rpmk[0]=04 rpmk[1]=B0 trigger_tooth=1B ign_tdcdelay=78 # 60 degrees </code> The h[2] and trigger_tooth, ign_tdcdelay need more thoughts. * the tooth (1..2 degrees) after the cramhome is numbered tooth0. * review '''carefully''': ** 132 degrees after tooth0 (134 degrees after cramhome) comes cyl5 (ignch4 in h[2]) that can be written as ** 27 (0x1B) tooth '''+''' 60 degrees 27 tooth == trigger_tooth (0x1B) + 0 (h[1] is 0 in the same /"first"/ position where h[2] has ignch4) Tried to crank with LEDs connected to coil outputs, '''looks promising; all 5 leds are blinking like expected.''' * I also added some small extra debug code to log trigger events ** tooth number is printed from cramsync interrupt ** 'P' is printed out from primary trigger interrupt after readTMR(). This happens at TW_TRIG (every 27th tooth, that is 10 times per camrot => this explains the strange rpmk value we had to use), and every dwell and sparktooth (5+5 times). Since the dwelltooth of one cyl can be the same as the sparktooth of previous cyl, or some dwell- or sparktooth can be at the time of TW_TRIG (this is much more likely at low-RPM), the number of printed P-s can be less than 20: most likely 15..21 P-s between camsync. (at an extreme case, downto 10 is possible at very low RPM if dwell is so low that all sparktooth==dwelltooth coincide with the TW_TRIG-teeth) http://kapsi.fi/~mpeippo/vems/v3.x/firmware/stable1_1/trigger2.txt Config can be found there too. ---- Some help needed for NTC curvefitting. I'm using pre-generated clt 2063_256.hex table from ntc_properthem.zip and it is a pretty close match already. However there is a minor mismatch between the temperatures: || real temp || MT display || Fahrenheit || temp_internal || adc || temp_internal_wanted || || +4C || +9C || 48 || 88 = 0x58 || 157 or 158 || 79 = 0x4F || || +84C || +79C || 174 || 214 = 0xD6 || decimal 23 || 223=0xDF || * I can provide a few more measured points if needed. Board AREF=256 ** instead of more points, real NTC resistance would be nice, at same points (and voltage if easy to capture) * I think this is impossible with AREF=256 (because the error signature is different at the two ends). Something like 1900 Ohm, aref=265 would be close. ** since this suggest non-standard AREF, ''grep -e Using -e adc=158 -e adc=23, propertherm_ntc.out |less'' will not get any curve that is extremely close ** Are you sure aboute the +79C point ? <code> perl propertherm.pl </svn/firmware/firmware/branches/stable1_0/inc/matfactor.inc >ntc_propertherm.out 2>ntc_propertherm.err iterate ended: 2849.40993369509 216.175797314667 SimulatedAnnealing calc_weight() started 23 => 83.1467687787838 (should be 83.8888888888889 so error=-0.742120110105063) 158 => 4.41775074921436 (should be 3.88888888888889 so error=0.528861860325467) errsqr=0.830437125129265 adc=23, old=232, new=222, diff=-10 adc=157, old=104, new=81, diff=-23 adc=158, old=103, new=80, diff=-23 (the old is not your old, but old standard curve) result: # automatically generated by propertherm, type=clt # modelparam = 2849.40993369509 Ohm 216.175797314667 aref # 2252 Ohm in modelparam means that the actually used thermistor exactly matches the reference CURVE, 2297 means that the real thing is +2% higher resistance (at given temp) than the reference CURVE :10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF904 :10031000F5F1EDEAE7E3E0DEDBD9D6D4D1CFCDCB02 :10032000C9C7C5C4C2C0BEBDBBB9B8B7B5B4B2B108 :10033000B0AEADACAAA9A8A7A6A5A4A3A1A09F9E54 :100340009D9C9B9A99989796959493929291908F51 :100350008E8D8C8B8A8A8988878685858483828125 :1003600081807F7E7D7D7C7B7A79797877767675E2 :100370007473737271706F6F6E6D6D6C6B6A696997 :1003800068676665656463626261605F5F5E5D5C4D :100390005C5B5A5A59585756555453535251504F03 :1003A0004E4D4D4C4B4A49484847454443424140D5 :1003B0003F3E3D3C3B3A39383735343331302E2DD2 :1003C0002B2A2827252422201E1C191715120F0C52 :1003D0000804010000000000000000000000000010 :1003E000000000000000000000000000000000000D :1003F00000000000000000000000000000000000FD </code> ''' As you see 2849.4 Ohm, AREF=216.175 was found by the simulated annealing iteration (after some tries, for first run the error-square was slightly higher'''. Commited to SVN so you can play with it yourself (if you measure again). 216/256 * 5= 4.22V : It seems you pullup NTC-s to less than 5V (or aref is higher than 5V). Or there is a measurement error. ---- Some '''old''' things below: Some open issues to solve * Tachometer is not always showing proper rpm value, sometimes it falls down to near zero for a very short periods of time. Needs still verification of original tachometer signal with scope. (i had exactly the same thing in my typ 85 with stock motronic AAN connected to the stock coil driven tachometer,specially in higher revs.A resistor solved the problem.But i dont know what is the problem in your setup,hope you find it and share.good luck:MembersPage/NanassyPeter) ---- '''Note about the time-saving effect of wiki-written documentation''' It's notable that this install was '''carried out before other competing installs''' (despite that it was done in the cold, while competing installs had a warm garage host), '''because documentation discipline was appr 60%'''. Competing installs have 10 and 40% documentation discipline so they lost, and might struggle for a few more days or weeks. Even for this install, 3..5 days could have been saved with 90..100% documentation discipline, the firing order alone could have saved 1..2 days. ---- Airtemp sensor data: * [http://www.vems.hu/files/MembersPage/MiskaPeippo/AudiS6/mat_data.txt mat_data.txt] Some values to make verification easier: Note that pullup is 470 Ohm not 2700 Ohm * -40,395 temp_internalformat=0, adc_read=117 (256/ (470+395) * 395) * -20,425 * 0,457 * 20,490 * 30,503 * 40,520 * 60,555 * 80,585 * 100,620 temp_internalformat=254, adc_read=146 (256/ (470+620) * 620) Note that the tables are quite steep. The MAT goes from min to max from position 0x75 .. 0x92. For the prepared tables, look for "PTC" on EasyTherm ---- '''Flying wire adaptor for basic functionality''' from genboard (v3.3) towards motronic connector (pins Mxx) * 5x high-Z injectors (INJA..E to M36,M17,M34,M35,M16, INJA = cyl #1 and so on) * 5x ignition coils (with power output stages) (IGN00..04 to M01, M02, M23, M20, M21, IGN00 = cyl#1 and so on) ** so h[2]=03 01 00 02 04 ... required to match 53124 fire order as requested on InputTrigger/AudiTrigger !!! * BoostControl solenoid aka WGFV (INJG to M33) * Idle air controller (INJH to M04) * Fuelpump relay (P259/5 to M03) * Trigger signals ** 2x VR (M47 home signal, M49 rpm, M48 GND), home signal has inteverted polarity! ** 1x Hall for camsync (M08), InputTrigger/AudiTrigger setup * GND and Supply voltages ** 12V supply *** M18 has 12V, M27 switched, to additional relay *** to board itself (EC18/25), from additional relay *** supply for injectors, relays (M37), from additional relay ** 5V to hall, TPS etc (EC36/28 to M12) ** 3x GND5 wires (M21, M24, M32) ** GND wire (M10, connected to engine), connect back to M30, GND for sensors * TPS sensor signal (M53) * CLT (M45), IAT (M44) sensors, for IAT * Tachometer (I259/7 to M40), 5V signal, divider=01 * Knock sensor (EC18/03 to M11 #1, M29 #2 unconnected) * WBO2 sensor ** 5x extra wires needed * original MAF connector is not used with VEMS. There are only 3 signal wires + gnd + supply, so MAF wiring is not usable for WBo2. Anyway, MAF uses 6-pin JPT connector, VAG part 022906233A for housing + 022906102B boot '''Hardware changes''' made to V3.3 board (inside ECM) * Trigger related ** '''R182''' shorted (instead of 100k in primary trigger, to charge peak capacitor from single pulse) this improves noise immunity ** added '''1uF cap''' in parallel with '''C40''' (longer peak hold time) ** 10k pullup to 5V for '''crankhome VR signal''' (~40k seems not to be enough in all cases) ** '''crankhome VR inverted''', not as in original motronic (inverted works with motronic too). Easiest to do this on black 3-pin connector located to firewall, one pin is shielding, 2 for signals. ** '''C103''' replaced by 1nF (instead of original 220nF on board). * All ign channels changed to logic level (2+6 setup is ok as well) * MAT pullup (R10) changed to 1k+1k in parallel (500 ohm) in order to work better with stock MAT sensor * AREF shorted to AVCC (AREF=256) * Resistor for primary trigger reference pulse 75k -> 33k --------------------------------------------------------------- 28.8.2006 Hallo Miska, now your car is running well? How is the start-up, idle and warm up? How does your car behave in Part and WOT? Do you managed to get the Knock sensors to Work? What ignition system are you using? The same as ABY and ADU? Your cylinder head seems like the 3B one. Can you please post your latest MT file? Thanks Vasilis, MembersPage/Billman Hi Vasilis, see MembersPage/Billman/PlugNPlay page for some comments 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.