_______ / ___ ) \/ ) | / ) / / / / / (_/\ (_______/
###### # ## # ######
## # # # ##### # # #
______ | ____| | |__ | __| | |____ |______|
### ## ### ## ## ## ## ## ### ## ## ## ###
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: '''Stage 3 - Control misc. devices''' 2006.08.10 Engine and VEMS is living again in another chassis. Spent a half day of "mapping it right", but it can't be any better, finally we ended up with the config we started. With a ~30% improvement of req fuel because lambda values showed it necessary. Main problem was unstable idle; loadsite pointer draws big ellipses in the VE table. Frequent stalling after backing off the throttle. Throttle reaction was horrible. Response is very late (0.5-1sec), and first it's become very lean (>1.5 lambda) . After that when falled back to idle, it was very rich (0.7x lambda) and stuttering for 10-20secs and then goes back to normal idle. It was reproducible. Played around with acc enrichment which values (or dimensions at least) are totally messed up in current megatune. Behavior changed slightly but problems remained. Background info: current owner claims the car was running fine(?) the first day they started, and after that they poured injector cleaner into it and the next day it was hardly drivable at all. What can be caused by injector cleaner? -They removed all 6 injectors and flowed back to clean after that. (Some of them was somewhat blocked), -no change to problems. Other suspect is misfire or problematic injectors. It's hard to detect a high-cam-duration 6cyl engine when a cylinder is not running fine. Any diagnostic methods? (Read the plugs is not the way -needs to remove the turbo) 2006.04.20 Installed a PowerFlyback because the ECU will go to another car using lowZ injectors. While it remained in the original High-Z config (injector PWM=100% and time to activate = 25.5 msec). Lambda went crazy: * At idle and no load it was ~20% leaner than before ** this is normal, since powerflyback makes injectors close fast => higher PW needed * at heavy load it was pig rich. (probably 20-30% richer). ** this is surprising. Are you sure about this ? No other change were made ? -Exactly. * Moreover I wasn't able to correct it with changing Injocfuel config value ** increasing injopen by 150 usec helped ? No. Or even remapping was not really successfull. (Took away a lot in VE-table, still it was very rich, all-in-all lambda didn't follow VE-table changes; probably the well-known symptom of controlling injectors the bad way.) * Is this normal for PowerFlyback & High-Z injectors? ** Not at all. ** is D100 removed ? Yes. Are you sure it's connected ? Yes. If you apply 12V through a 22 Ohm resistor (the resistor is important!): * + to the injector output channel * - to the injector-common Voltage should drop to appr 6V. 2006.04.1x * Car's got a somewhat bigger turbo (garrett T3) with 240cc injectors and stock headgasket. Mapping and feeling has changed a lot. ---- TODO * Control Idle solenoid - working now, firmware development was necessary, MembersPage/GergelyLezsak/IdleControl * Drive tachometer - done, see below * Wire-in fuel-pump relay - done * Show oil temp. (No info on sensor either) * Control fuel consumption gauge (?) * drive a boost control solenoid * Install egt (hardware installation is tricky, need to remove the whole exhaust system) * Install knock sensor - No factory placement on M20 engine to mount, experiences are appreciated. ---- '''Tachometer''' Engine speed output is routed from Motronic 'ECU (55 pin) connector' pin 6 and signal goes to instrument cluster pin A7. NEWS 2005.11.04: Just tried the simple way and gave the tacho the signal of ignition and it's working more or less. (Actually it gets fix +12V through a 10KOhm resistor (pullup) and that's going towards to the ignition pin of GenBoard through a diode) +12V - - - - -10KOhm- - - - -tacho_signal- - - -|>|- - -ign.driver So it's working but I see a bit lower RPM values on the tacho than the LCD shows. (maybe 10-20% lower, haven't tested much) What can be wrong? * Lazy gauge ? likely * or my signal needs more care? Since it's a frequency signal, the amplitude does not matter (as long as every pulses are detected). If not every pulses are detected, you get big fluctuations in the gauge RPM-reading and occasional full dropouts. If there are no intermittent dropout on the RPM gauge, I don't think you can do much about it. -Will look after voltage near the gauge, that can cause interesting reads also, I think. However, with the tach output (since it's a freq-out signal, asyncron from the real ignition) it's possible to tune frequency. - Wow, nice new feature I didn't know of :) Now I'm trying to figure out how it works. In actuators.c I see I can multiple value of engine.rpm_period by powers of 2 only. Multiplication of period gives me division of frequency. I'd like to multiple crank frequency by 3 or more likely by 3.3 . How can I do that? The whole tach_out configuration is curently (1.0.23) sloppy: <code> if(config.tach_divider == 0 || config.tach_divider == 1) { // divide period by to 2 get freqout of rpm Hz rpm_p = rpm_p >> 1; } else { rpm_p = rpm_p << (config.tach_divider-2); } </code> Something like scale16_4_clamped() in multitooth.c would do. Proposal for better utilization of config.tach_divider: * 6 bits for fine-tuning: * 64/128 .. 127/128 * and 2 bits for rough scaling (power of 2) ** 00 (means rpm_p <<= 0) ** 01 (means rpm_p <<= 1) ** 02 (means rpm_p <<= 2) ** 03 (means rpm_p <<= 3) But 3 + 5 would do just as fine, *(32/64 .. 63/64) should be perfect for fine-tuning. So we need to swap the code with a more sophisticated one. Please note that shifting (division with powers of 2) is not enough, for the 6 cyl engine I need to div by 3, and for a 5 cyl one rpm has to be divided by 2.5. Tricky. ---- '''Fuel Consumption Gauge''' * The actual gauge uses a linear voltage between 0 and 1.5 Volts. See my page here: MembersPage/MattiasSandgren/BmwEthirtyIx * You would need to bypass the electronics to get to it. * Could be used as a MAP gauge (10 litres/100km = 100 kPa). ** Interesting idea, I like reusing factory gauges :) As what comes to controlling fuel consumption gauge, it seems that inside instrument cluster has some kind of adaptation module, which is engine type specific (size, number of cylinders etc.) - somehow it derives consumption from above mentioned tachometer signal and/or following two signals; * vehicle speed signal: from Motronic ecu pin 29 which also goes to the instrument cluster. * fuel rate output signal: from Motronic ecu pin 32 -> goes to instrument cluster pin A11. Don't know for sure, but 'Fuel rate output' signal might be some kind of pulses per second or pwm signal ? Someone could measure ? Hope these help ? I'm affraid we are talking about different motronic versions. Autodata catalog says that motronic pin 29 is ignition signal TO motronic. I can confirm that, since car was not running on motronic until I connected back that pin. Pin 32 is "throttle position control module" which might be some "cruise control" system. I'm not sure. I think my motronic didn't know the car's speed since my speedometer is fine without it :) (So signal from differential goes to the speedometer directly?) Instead, maybe the instrument panel calculates fuel consumption based on fuel rate signal and speed? Actually I only miss my tachometer, fuel cons. was inaccurate for ages (different size injectors and fuel pressure :) Thanks however, and I still seeking tachometer signal specifications. No one using factory tachometer? I guess I have to wire back motronic to measure somehow :( * We had the same result on a E30 here, their tachos are bad from factory.. //Emil (or by phone# 1-2209238 in the evening) 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.