_____ ( _ ) | ( ) | | | | | | (_) | (_____)
____ / __ \ | | | | | | | | | |__| | \___\_\
### # #### # # ### #
__ __ \ \ / / \ V / / \ / /^\ \ \/ \/
## ## ## ## ## ## ## ## ######
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: Small 4.75 L liter gas engine, block compatible with MTZ tractor '''4 cylinder''', 1500 RPM powerplant (grid) application * Coolant circulating electric pump, and electric coolant heater for startup * appr 55L oil reservoir * with spark ignition cylinder head ** originally diesel, very good service network in Eastern Europe, parts available off the shelf in multiple warehouses in any village (some comments on this page are Hungarian) While 1st serial port is connected to VemsTune, 2nd serial port acts as a "modbus RTU slave" and accepts commands from a "modbus RTU master" device. * Useful for external datalogger, powerplant master controller (shutdown, and commands to allow procedures to-grid-sync or go off-grid island mode with RPM-target based IAC control). * currently dwell is same for all cylinders... ** per cylinder dwell would be nice to extend sparkplug life somewhat... as these controllers can run engines for 60000 + hours (possibly consuming multiple cylinder liners or even engines), equivalent to 4 million kilometers or more (in car "mindset"), 75+ set of sparks (and service intervals), even just a few percent gain in sparkplug life is significant. '''ECU serialnr=8538 ?''' ---- '''Grounds''' * EC36/5 * EC36/21 * EC36/22 * EC36/32 * EC36/26 See MembersPage/PhatBob/UserGuide ---- '''Supply +12V or +13.5V''' (not +24V !!!) * EC36/25 (1-3A fuse, if stepper output not used) ---- '''Sensors''' '''5 EGT''' (order comment: "5 EGT inputs") 4 individual + 1 mixed * K-compensation cable (kompenzációs kábellel bekötni) '''CLT''' Coolant Temperature (hengerfej víz temperature) * EC36/14 (és a GND közé) '''MAT''' Manifold Air Temperature (gázkeverék temperature osztócsoben) 0-5V signal * EC36/2 (és a GND közé) not K-type ** to use with K-type (eg. EGT2 mcp3208/ch4) firmware modification would be needed... (maybe some special case of the 17-point curve, the 1000C area obviously won't be used) '''TPS''' (folytószelep pozíció) * EC36/1 (0-5V analog) analog signal from woodward throttle valve ** iac TPS threshold = 100% needed (IAC PID operating below this) '''MAP''' : Manifold Absolute Pressure, pneumatic connector (szívócsonyomás, abszolút 0-300 kPa ?) ---- '''Trigger input''' * EC36/27 Primary trigger, HALL 8-1 (or 12-1 or 12-2) ** configurable rising (felfutó) or falling (lefutó) edge ** after missing tooth, recommended pulse positions: 40-60 and 10-20 crankdegrees BTDC (BTDC == fotengely fokkal felso holtpont elott) '''Warning''': since this engine has primary trigger on the camshaft, not the crankshaft as usual, '''6-1 is not suitable, only 8-1''' or 12-1 or 12-2 (or some even higher toothcount). * '''NO EC36/13 Secondary trigger:''' HALL, 0 pulse ** configurable rising (felfutó) or falling (lefutó) edge ** (vezermutengely jelado, a fotengely hianyzo fogatol legalabb 70 fokra) EC36/28: +5V output for HALL sensors ('''max 50mA''' recommended) ---- '''Ignition outputs''' (1,3,4,2 firing order) * EC36/34 (IGN/2) cyl1 * EC36/36 (IGN/3) cyl3 * EC36/24 (IGN/6) cyl4 * EC36/10 (IGN/7) cyl2 4A biztosítékon át a gyújtótrafó másik vége tápfeszre (+12V vagy +24V DC) van kötve '''Starter config''' * Primtrig 8-1 on cam, next_trigger_tooth=2, ignouts: 2,3,6,7 appr. 2.2 msec dwell * fuelcut 1600, igncut 1700 RPM. They 'll have to adjust primtrig/rising/falling and TDC-delay of course. * Maybe we need to cheat with the cylnr=2 (not 4) so that "double RPM" is shown so RPM shown correctly (8-1 on cam) * req_fuel=16msec, VE=200 (near flat, or minor grassy knoll) because at 1500 RPM (80 msec / camrot) '''32msec''' = 40% duty=8kW / 20kW ** with LPG, it should idle between 32 and 40 msec * CLT and MAT enrichment all 100% for now ---- '''IAC PWM output''' Possible PWM voltage for Woodward 5-32VDC * Power Throttle Valve (teljesítmény pillangószelep) ** TPS in EC36/1 0,75-4,25VDC exact range configurable (within 0-5V) ** 0-90% (or 10-90% ) ** EC36/pin11 (ign4) 0/5V ('''max: 1.1mA''') seems to work ** dropped: EC18/pin4 (Stepper A) 0/12V Woodwars spec: PWM Command Input (+PWM at pin 11, PWM ground at pin 3)—This actuator can be configured to handle a PWM signal from a high-side or low-side opencollector or open-drain source, as well as from a push-pull (customer pull-up) source. The necessary pull-up and pull-down voltages to accommodate the open-collector sources are handled within the L-Series actuator. Nominally, the frequency of PWM is 1 kHz, but it will handle the full range of '''300 to 1500 Hz''' ETC output (v3 electronic throttle, which outputs upto 8kHz PWM with quartz precision) was NOT requested, and not connected to Econoseal pin. * ETC output is only connected to output pin when also ordering "bridge output" device, or upon explicite request, through a simple NPN inverter protection. Lacking ETC output, we used a small patch to use 4x IAC frequency (max 1000 Hz), and mostly used at 600 Hz (150 Hz configured in VT). Seemed to work better than 400 Hz (configured 100Hz). The signal that works well for PWM IAC, showed up noisy in the woodward valve: woodward's input calculation is not robust at all: No outlier elimination, not even averaging. The PID in the woodward is configurable, and it was possible to slow it slightly (this is a powerplant, not a racecar) to get smooth output. ---- '''Mixture valve''' * PWM or 0-5V analog signal (with RC filtering): ** EC36/12 (ign/5 logiclevel). Low current signal, do not load. ('''max: 1.1mA''') '''Alternatively:''' * Or EC36/7 injch/1 (ez a kimenet külso felhúzót igényel, max 30V-ra mivel ez a kimenet csak földre húz). ** EC36/23 Flyback = +12V (or +24V) -ra is be kell kötni az induktív terhelés tápját, ha induktív terhelés van valamelyik injch-n (EC36/6,7,8,9,17,18,19,20) pl. mágnesszelep vagy gázinjektor ---- '''2nd RS232''' for CRC protected special commands, voltage measured from pin5 (GND) base * PC side (male DSUB9) pin3=-6.4V * ECU side (female DSUB9) pin2=-8V 1st RS232TX (EC18/14) (female DSUB9/3) 1st RS232RX (EC18/15) (female DSUB9/2) GND 2nd RS232TX (EC18/6) (female DSUB9/2) 2nd RS232RX (EC18/12) (female DSUB9/3) GND EC18/17 (DSUB9/5) * Modbus RTU 9600-38400(115200?),8n1 recommended, configurable up to 115200,8n1 (8e1 also possible, but rarely used) * Modbus address configurable (2 in the examples: ALS_deactivation time=0.2 sec means modbus address=2) '''Examples:''' (02) 06 00 XX VV 00 (CRC CRC) '''XX table:''' * 0x31 iac forced pw = VV (IAC PWM output) ** example: (02) 06 00 31 40 00 (E9 F6) (0x31 register 0x40 00 = 25%) so VT shows IAC duty = appr 25% if all good (new, special fw needed) * 0x32 debug.enable_flags = VV ("mde02" also covers wbo2 sensor heatup before engine start ?) * 0x33 debug.disable_flags = VV * 0x34 debug.forced_boost_tgt = VV; boost target (2kPa) * 0x35 lambda target = VV * 0x36 engine.prohibit_status = VV (00: reenables everything ... 0x42 for IGN_PROHIBIT, 0x41 for INJ_PROHIBIT, 0x50 for FUELPUMP_PROHIBIT) * other functions that should be available (if not covered by above): * engine.prohibit_status ... _BV(IGN_PROHIBIT) preferrable also: _BV(INJ_PROHIBIT) _BV(STEPPER_PROHIBIT) * Disable Fuel pump ... see prohibit above '''read all runtime vars command''' Example: (02) 44 (00 e3) where 02 is modbus addr, and last 2 bytes is CRC. ('D'=0x44 is actual command) Register/Address for reading/writing read: - lambda érték - fojtó állás - EGT1, EGT2 - knock values 0..7 - errors, trigger error (hibák) - MAT manifold temp - sparkadv gyújtásszög - RPM (fordulatszám) - lambda target - individual power (gyújtás kihagyás) - iac duty (fojtó parancsolt) write: - alap gyújtásszög - lambda SP - fojtó parancsolt ---- '''K-Thermocouple. Andor, Viktor, please verify from your paper, or device behavior that EGT uses mcp3208 channel 0 and 1 (4 and 3 are almost certain)''' For some reason, CLT-out, CLT-in and MAT are on K-thermo, instead of the more common and more precise NTC. * '''EGT1 (mcp3208/4)''' used for EGT * '''EGT (mcp3208/0)''' used for (CLT-out: normal CLT engine outlet water temperature) * '''EGT (mcp3208/1)''' used for MAT * '''EGT3 (mcp3208/3)''' used for (CLT-in: engine inlet water temperature) ** "analog inputs calibrated" can be used to show CLT-in MAT and CLT-out values: configured to 17 point curve, with -1Celsius starting point... That way (in this fw) it will measure from mcp3208 instead of AVR ADC. Example curve for "egt cal of 75" (only the first 2 counts... Most likely the max configurable CLT and MAT is 155C, so 145..155C instead of 145..217C configured, slope effected accordingly) (calculated with 3.55V = 803 deg C) 0 -1 0,32 72 0,64 145 0,96 217 1,28 290 1,59 360 1,91 432 2,23 504 2,55 577 2,87 649 3,19 722 3,51 794 3,83 866 4,14 936 4,46 1009 4,78 1081 5,09 1151 ---- WBO sensor connection * 7 WBO2 Pump- * 9 WBO2 Pump+ * 13 WBO2 Nerst signal * 17 WBO2 Ground * 18 WBO2 Heater ---- Digital inputs * Generator mains paralell mode ON (1=GCB closed/0=GCB open) * From Standby to ready to start (1=ready/0=standby) ---- Digital output * ECU ok (1=ok/0=fail or not ready) (in stanby ECU this signal=0) ---- Knock sensor 1pcs. * EC18/6 and GND ---- '''Base Config made; Configured for:''' * 1.2.23 firmware * trigger: 8-1 on cam, cheated cyl nr 8 instead of 4 for good rpm reading * ignition outputs 2,3,6,7 (in that order) * req_fuel of 16 msec * safe defaults for all other settings * TODO: ** setup firing order ** calibrate ignition ** check if selected injector outputs match wiring http://www.vems.hu/files/MembersPage/GasEngine/AutoDerivativeSmallGasEngine/v3.3_u008398-A-2014.02.21-09.47.20_cell_4cyl_gas_engine_base_1.2.23.vemscfg 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.