Jump to content

Meinolf

Members
  • Posts

    169
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Meinolf

  1. Hi, I doubt that this is the only reason, but certainly a contributing factor. The ADC used in the 15M is a 8bit, which resolves the 5V to steps of 19,53mV. The delta between 157 and 170mV is 13mV, this equals roughly one ADC step. So the fuel values would slip one row, which is noticeable but not to the extent of what you describe. A re-sync is what I would do. Cheers Meinolf
  2. Hi Al, simply put, you can't do any tuning without at least hooking up a decent wideband AFR logger. And investing tons of time, the learning curve is long and steep. If you should decide to go this way my recommendation would be to focus on getting the AFRs of both cylinders sync'ed first. This alone will assure a MUCH better drivability and improve the fuel consumption. Every thing else is just cream on top. Cheers Meinolf
  3. Hi gentlemen, looking at the last posts it seems there are some misunderstandings about the TPS reset. The TPS reset is not dependent on the ECU type. It is only required if the TPS position can not be physically adjusted to match the (completely) closed position of the throttle valve with a pre-determined voltage value. In case of the BINs used in V11 and other Guzzi models the voltage is 157mV, not 150mV. The 150mV value is wrong and based on a faulty calculation of the TPS ADC look-up table. The difference might seem small, but why use an erroneous value if it can be avoided. Why is the TPS reset or adjustment required, one might ask. Because all things mechanical, such as the throttle shaft bearings or the contact area of the butterfly valve against the throttle body, will wear over time. Why would this minor wear be important, one might ask. Because the inlet area (equivalent to air mass moving through the throttle body) is a cosine function of the throttle shaft and attached butterfly valve. The inital small openings of the butterfly valve result in (% increase of inlet area) the same values than the latter steps which move from, for example, 40° to 50°. Which is why the TPS breakpoints are clustered up to ~20° and get less dense afterwards. At ~75% of total opening (or WOT -25%) the free inlet area will no longer increase because the throttle shaft area is bigger than the area of the rotated butterfly valve. The program in the ECU (part of the BIN) uses fuel maps (and others) indexed by rpm and TPS. The fuel map values in low load areas differ greatly (> 50% in some areas) from one breakpoint to the next. If the TPS is not set properly, the fuel values will not fit to the air mass flowing into the cylinder, hence the engine will not run as well as it could. For those models which use a non-adjustable TPS, typically the models equipped with a 15RC and lambda sensor supporting closed loop operation, the program code offers the possibility to reset TPS values. These values are learned values and the reset will be to default values, both for throttle closed and WOT. Why is it recommended to reset TPS after uploading a new BIN, one might ask. Because the BIN has parameters which are the default min./max. TPS values which the code uses to start the TPS learning procedure. If these default values are different from the ones used in the previous BIN and applied to the learned values stored in the flash memory, the re-learning procedure will take longer. Or, in case of closed loop operation, might even contribute to a downward spiral of the LTFT- and STFT values, though this would be a rare occurence. Quite coincidentally I've just found and am now exploring the TPS learning sub in the 5AM code used in Guzzi 4V and 8V Carc models. The basic mechanism is probably quite similar to the one used in the 15xx BIN, so have a look at this thread https://wildguzzi.com/forum/index.php?topic=93758.0 if interest so dictates. Cheers Meinolf
  4. Hi, no, the PC map can not accurately be translated to the 15M fuel maps. The rpm breakpoints don't match and the translation of the %-TPS indices to the °TPS will not work either, due to insufficient granularity of the %-TPS breakpoints and the lower number of breakpoints. Cheers Meinolf
  5. Hi, I'm back from my trip to Vienna, so here we go. You asked for more details, so that's what you'll get in the same order as mentioned in the previous post. Several of the pictures will be based on a 5AM as used in my Norge 1200 2V and Mana just because that's my current area of interest. But the principles apply to the 15M/15RC as well. Several of the pictures used are from this link: https://x-engineer.org/automotive-engineering/internal-combustion-engines/performance/air-fuel-ratio-lambda-engine-performance/because they are already with English text, the rest of the pictures are mine. - the highest power is developed at Lamba 0.86 & the best efficiency is developed at Lambda 1.05 I guess this one is pretty self-explanatory. The highest power is developed, if all other factors incl. ignition timing are equal, at Lambda = 0.86. - the min./max. correlation of NOx, CO and HC in relation to Lambda Once again a rather simple correlation. A rich mixture causes high HC and CO emissions, a lean mixture comes with high NOx emissions. The 2nd picture shows the emissions if Lambda is set to 1.0, which is also the mixture at which the catalyst works best. - the degree to which a given engine (at that time it was the V11 and the Jackal, currently a Norge 1200 2V, a Aprilia Mana, a Aprilia RST 1000, a Yamaha GTS1000 and a Yamaha MT01 are being logged and tuned) Above sentence was incomplete. It should have finished with "...works well within a Lambda range." This combines a number of factors. The older engines such as V11 or Jackal were not (well) designed to run at Lambda > 1.0. They feel rough when operating in this range. This roughness can be mitigated by a) working on a smooth transition of mixture between the breakpoints. But the 15M/RC use 16x16 tables and lack sufficient resolution in the low load areas, both TPS and rpm. And by synchronizing the mixure (=Lambda) between the left and right cylinder. - the throttling loss as measured with a MAP sensor I've logged pressure in the intake with a MAP sensor. Once again a simple correlation. The TPS (Throttle position sensor) is exactly what the name suggests, a throttle. The more it's closed, the bigger the throttling effect. So why would one provide a rich mixture is the throttling effect is high. The %-values are in relation to absolute barometric pressure, 100% means almost not throttle lost, 30% is corresponding to a loss of 70% versus barometric pressure. Based on this a target Lambda table was created. - histograms at which breakpoints and load areas > 90% of my actual road driving happens The recent trip to Vienna was logged, ~ 5.25mio datasets (Lambda le/ri, TPS, rpm) or 30h or driving time. No highways, just country roads, and my Lady was accompanying me with her bike. If driving alone the number of datasets at higher TPS/rpm would increase. Nevertheless, most of the driving happens at rpm's https://drive.google.com/open?id=1YNHSYaxCZVnlrIGnu4MEnYfWGO6BJUVC - considerations how the effect of ignition in relation to Lambda could be optimized. While the speed of mixture burning is quite constant regardless of Lambda, the deviation of actual mixture ignition in the combustion chamber varies +/- 20%. Measuring Lambda/rpm/TPS is easy, the highest power is at Lambda = 0.86. But what about ignition timing and it's effects on power, roughness and emissions as well as pre-ignition and pinging? The literature states that the highest pressure in the ignition chamber should occur ~10-15° past TDC. The actual speed of the mixture burning after it's been ignited is quite stable, but the speed at which it ignites varies a lot with the mixture. IF I knew which Lambda Guzzi (or Marelli) had in mind when creating the ignition tables and IF I'd reason to believe that they actually used data from a dyno for the respective models and IF all trim tables and factors were considered I could begin to 2nd guess how the ignition should be changed in line with the target Lambda table I'm using. However, the first two IFs are unknowns. And, as I don't have a dyno and the required measuring equipment at my disposal, it is a seat of pants area. Cheers Meinolf
  6. Hi, I'm just about to leave for a road trip. I'll post a couple of pictures explaining the respective topics in 10 days or so. If there is interest in more details. Cheers Meinolf
  7. Hi, neither. The targets were developed based on several factors. - the highest power is developed at Lamba 0.86 - the best efficiency is developed at Lambda 1.05 - the min./max. correlation of NOx, CO and HC in relation to Lambda - the degree to which a given engine (at that time it was the V11 and the Jackal, currently a Norge 1200 2V, a Aprilia Mana, a Aprilia RST 1000, a Yamaha GTS1000 and a Yamaha MT01 are being logged and tuned) - the throttling loss as measured with a MAP sensor - histograms at which breakpoints and load areas > 90% of my actual road driving happens - considerations how the effect of ignition in relation to Lambda could be optimized. While the speed of mixture burning is quite constant regardless of Lambda, the deviation of actual mixture ignition in the combustion chamber varies +/- 20%. All of the above mentioned engines use a alpha/n-model, the accessability of the ECU in regards to reading/writing the BIN varies a lot. The Guzzi's, thanks to Beards development of the Guzzidiag software and the community effort to develop XDFs make them the best tunable engines. The Mana also uses a 5AM, currently the BIN code is under investigation, based on the analysis of the One and Two Lambda BINs used in the CARC models (https://www.apriliaforum.com/forums/showthread.php?336210-ECU-tuning-Looking-for-information), so this comes next. The RST1000 follows (TuneECU) and the GTS1000/MT01 can only be optimized with 3rd party products (Powercommander V). Using a MAP sensor connected to the data logging devices, first LM-2 from Innovate (but that is crap, both device and customer support) and now ZT-2 from Zeitronix (much more stable, but suffers from TPS being logged as integer %-values which is unusable in the critical low load areas, and customer support is also poor), the MAP was logged. Combining the manifold pressure with the histograms of the most used TPS/rpm area and considering the relationship of emission (NOx, HC, CO) depending on Lambda the targets were set. Peripheral considerations were the suitability of the given engine to low/high Lambda (the V11/Jackal are not enjoyable engines with a Lambda > 1.0, the Norge and Mana handle it very well) and the move from one target value to another, say from Lambda 0.98 to 1. I don't use dyno's (more power has lowest priority), the results are judged on seats of pants and fuel efficiency. Seats of pants is most influenced by sync'ed Lambdas on both cylinders (the stock BINs are so bad you wouldn't believe it) and smooth transitions from one breakpoint to the next, especially on the low load areas, say Correcting trim tables disregarding the laws of physics, such as ambient air p/T tables, is another aspect of the work. It's really astounding that Marelli and it's customers (Guzzi, Aprilia, Ducati) are continuing to use correction tables just plain wrong - and that's not rocket science. That's just scratching the surface, let's stop here before I get rolling.... Cheers Meinolf
  8. Hi, Pray tell, did you "demand" a specific AFR on the 15RC? Or was it MyECU? I hear you. The approach I eventually used was to log MAP and create a target AFR table, based on the relative pressure, covering all breakpoints. The general logic was that max. power Lambda (0.86) is not needed in those load areas where the throttling loss is higher than 10% or so. https://ibb.co/gOTjka And this approach works quite well. Cheers Meinolf
  9. Hi, I don't want to disillusion you, and you are not mentioning which goal you'd be pursuing with adding a AFR display, but a cheapish AFR Gauge would be useless entertainment at best and dangerous distraction at worst. Take a look at this thread, https://wildguzzi.com/forum/index.php?topic=93758.0, basically a continuance of my 15M logging and BIN optimization in the past on the V11 and Jackal. Unless you are willing and capable of logging road data, analyzing it and put it into revised BIN a display won't be of any use. And mounting the sensor on the crossover will make whatever you might see even more useless. Cheers Meinolf
  10. Hi, Yes, they can be identified. I did change IDs, but not consistently. Look for the "#xx...." or "V11KS Althaus..." https://drive.google.com/open?id=1jen_NO3imIBqqwABNQ8mssmz7F-vm7Cm The easiest way is to compare the values in the Fuel trim air pressure table @ B298. That's one of the trim tables which I corrected right at the beginning of my activities. https://drive.google.com/open?id=17dGUNIqO1JJo1BfWiN1gsCAXFu7GD6Rq Cheers Meinolf
  11. Hi, always glad to share and help. Cheers Meinolf
  12. Hi, it's easy. Instead of changing the CO trim with GuzziDiag connected to the running engine and waiting until the engine temperature has reached 60°C, download the EEPROM content using Beard's software http://www.von-der-salierburg.de/download/GuzziDiag/IAW15xEEPROMTool_V0.04.zip. Then open the EEPROM file with TunerPro and this XDF http://www.von-der-salierburg.de/download/GuzziDiag/xdf/15M_EEPROM_V1.01.zip. Change the CO trim and upload the changed file to the EEPROM. Donate some money to Beard using the PayPal link in GuzziDiag and it's done. Cheers Meinolf
  13. Hi, CO trim adds or subtracts a constant time per value to the overall injector pulse duration. The time is the same across all throttle (TPS) settings and rpms. ((Fuel Map value x Fuel map value factor) + (CO trim value x CO trim value factor)) x trim factorairtemp x trim factorenginetemp x trim factorairpressure x trimfactorbatteryvoltage x trim factorn = injector pulse width Hence the influence on AFR depends on the Fuel map value and CO trim value; - At idle the fuel map value might be 50, corresponding to 3200µs injector pulse width (50 x 64µs). A CO trim value of 50 equals 320µs (=50 x 6,4µs), which is 320 / 3200=0.1%. - At WOT the fuel map value might be 200, corresponding to 12.800µs injector pulse width (200 x 64µs). A same CO trim value would then amount to 1/4th (320 / 12.800 = 0.025%). Consider the CO trim to be the electronic equivalent of the bypass screw openings. Opening the bypass screw will allow more air to be mixed to the air/fuel mixture, the percentage of which diminishes when the air flow through the throttle increases. Both methods are useful ONLY to adjust AFR/CO at one specific loadpoint. CO trim affects both cylinders, the bypass screws each cylinder respectively. An additional problem of the bypass screws is that the setting is difficult to duplicate. How exact is 1/2 turn being duplicated on a different bike? A neater way to get to targeted AFRs at specific loadpoints is to measure AFR at those points and adjust the fuel map values accordingly. Cheers Meinolf
  14. Hi CHuck, thanks for catching the error. Yes, it's 156mV, not 560. Cheers Meinolf
  15. Hi Tomek, ok, here are some tips in no particular order. 1. The average consumption seems to be 5-6l/100km. 8l are definitely too much. 2. Do you have access to the free software Guzzidiag and the required cables (~20€ on Ebay or elsewhere, I can name suppliers if needed) to connect to the ECU? If yes, connect and see -) if and which errors are stored in the ECU -) select diagram view in Guzzidiag and slowly open and close the throttle. The PF3C should show two straight lines intersecting at 30° TPS opening. 3. Are the base settings ok? TPS set to 156 560mV (you must use a DMM to measure the voltage, not GuzziDiag) with "choke" cable and linkage between left/right cylinder disconnected? 4. Check if the engine temp sensor in the right cylinder head has good contact. You can use Guzzidiag as well for a first test. Idle the bike (15min are sufficient) and watch if the shown engine temp is reaching 100°C or mor. 5. Disable the Lambda probe using the software Guzzi-Reader/Writer to read/write the BIN and Tunerpro to set the flag in the BIN before writing the changed BIN back to the ECU. I can send you one of my modified BINs if you so wish. 6. Valve play set to a minimum of 0.25mm for intake and exhaust. 7. Cylinders synced at idle using the throttle stop screws. Cheers Meinolf
  16. Hi Frank, the download link to the reader http://www.von-der-salierburg.de/download/GuzziDiag/IAW15xReader_V0.67.zipworks and the ZIP contains the executable. Rename the *.eep file to *.BIN and select the EEPROM XDF, then you can open and read it in Tunerpro. Cheers Meinolf
  17. Hi, the formulas for the characteristic curves of the PF3C are: 0-30° Degree = (Voltage -0.15) * 1000/105 >30-WOT Degree = (Voltage -2.45) * 3000/85 Cheers Meinolf
  18. Hi Corey, you have a PF3? Send me a PM and I'll send you a lookup table which contains TPS voltage and degree opening values. Cheers Meinolf
  19. Hi, the standard 15M/RC Bins stop injecting fuel at 8398rpms and begin injecting again at 8301rpms. The TI Bin values are 8600/8398rpms. Cheers Meinolf
  20. Hi, not really. The values in the fuel maps reflect the volumetric efficiency of an engine across the board. If you use Tunerpro's graph capability to view a fuel table you'll notice the tremendous ups and downs of the values including peaks which look absurd. But they will, with a decent map, reflect the "breathing" capability of the given setup. Using the CO trim to assuage "felt" problems is a rather crude method. It might! address one bothersome spot but will open several others. Don't use a chisel when a scalpel is needed. Cheers Meinolf
  21. Hi, it depends. Lamda 0.86 produces the best power and 1.05 the best efficiency. But, an engine must be designed to accommodate lean mixtures. That wasn't state of the art at Guzzi in the 90s. V11/Jackals engines run at absurdely low or high Lambda values, but not well. The V11 and Jackal BINs I made available for many users so far used a constant 0.88 at all breakpoints I could measure in road use. I am now creating BINs where the fuel tables are reflecting the MAP values I am logging. The underlying idea is that going for 0.86/highest power at a breakpoint where the engine is higly throttled (a V11 and Jackal have less than 20% of atmospheric pressure in the manifold at closed throttle/RPM) doesn't make sense and to achieve a combination of fuel economy and ridability and smoothness at the same time. The real challenge is to adjust the ignition timing to each mixture, as lean mixtures take much longer to ignited than rich ones. The difference is ~30% from lean to rich mixure. Cheers Meinolf
  22. Hi, because left and right cylinders have different AFRs at almost any breakpoint. The acceleration table (singular, there's only one) contains values which are added and subtracted to the fuel values depending on the engine temperature and the angular speed at which the throttle is opened. Search for X-Tau model/evaporation/puddle effect to learn about the background. Cheers Meinolf
  23. Hi, no, it isn't. The tables are just the tip of the iceberg. Comparing a specific table between two different BINs will tell you nothing. The values in a table are but one part of the equation used to calculate injection time (and other stuff). ((Fuel Map value x Fuel map value factor) + (CO trim value x CO trim value factor)) x trim factorairtemp x trim factorenginetemp x trim factorairpressure x trimfactorbatteryvoltage x trim factorn = injection time". Cheers Meinolf
  24. Hi, I started with one and two channel LM2 from Innovate, but moved to ZT2 from Zeitronix as the Innovate products are unreliable and error prone. Logworks, the software from Innovate, is great and we made tools to translate the log files from ZT2 to a format which can be used with Logworks. Cheers Meinolf
  25. Hi, the XDF is a translator, which translates addresses and formulas (to translate binary code) to make them comprehensible. The BIN consists of program code and data (tables and scalars). A fuel table might be located at one address (say $B800) in one BIN and at another address (say $B400) in another. Obviously the program must know at which address a table is located. And the binary code of a table is translated into a version which is understandable by the viewer. An example: The formula used in the Start enrichment map is (X*100)/3200. It translates the hex value $23 into 1.09%. Which means that at that breakpoint the injection time is increased by 1.09%. That's why different XDFs are neccessary. Cheers Meinolf
×
×
  • Create New...