Jump to content

Meinolf

Members
  • Posts

    160
  • Joined

  • Last visited

  • Days Won

    16

Posts posted by Meinolf

  1. 9 minutes ago, rich888 said:

    For example, if you let the trottle close gently, the TPS may read 180mV. If you let the trottle snap shut, the TPS may read 150mV. Trying to get consistant 157mV is impossible as the closed position is variable depending on how much force closes it.

    Hi,

    the butterfly valves should be firmly seated against the throttle body. In fact the butterfly valve contact areas are slightly tapered (no sharp right angle edge) to ensure a consistent seating without hammering into the throttle body.

    I've found that getting consistent (+/- 1 or 2mV) readings if using the same force to completely close the valves is standard. The variations you mention might well be due to worn out throttle shaft bearing(s). I've used standard bushings to replace the original ones if the play became to large.

    Cheers
    Meinolf

  2. 1 hour ago, GuzziMoto said:

    a) ...do what Meinolf says, close the air bleeds and balance the throttle bodies by adjusting the rod between them

    b) ....I also prefer to use one throttle stop to set the idle. I feel that is better as it eliminates a possibility of inducing variation in opening the throttles. If you use two separate stops and the linkage develops play in it you may find that it opens the throttle body the cable is attached to slightly before it opens the other throttle body.

    Hi,

    re a) My comments above refer to the idle sync. The running sync should be done as described in the service manual. This will take up the lash in the connections between the two throttle valves. Removing this lash has no impact on the breakpoint sync done with the idle sync procedure. As written in my previous post, this becomes much more obvious if the system is closely looked at and considering in which direction the lash works.

    re b) If using one of the throttle stop screws will achieve both the synchronicity and the desired idle rpm, that's all right. I've found that getting both right typically requires both screws.

    Cheers
    Meinolf

  3. 28 minutes ago, rich888 said:

    What I do not understand is if the two TB's are at rest on their stops, the rod is set to allow this and then rod length is adjusted to balance at 3k, one of the TB's must move off it's stop when returned to the idle position.

    I am I missing a neuance of the connecting rod?

    Hi,

    your reasoning is quite correct. However, there's a lot of combined play in different bearings. And only with zero play would setting the connecting rod clash with the throttle stop screw setting. Taking a close look at the mechanics will make this more obvious.

    Cheers
    Meinolf

    • Like 1
  4. Hi,

    consider the following. The BIN contains two fuel (and ignition) maps, these are indexed by rpm and TPS and each rpm/TPS breakpoint contains fuel values. The main maps contain values for the left cylinder, the delta maps for the right cylinder contain the differences to the main maps. So a breakpoint in the main map might contain the value 100, the corresponding value in the delta map could be 10 (or -10). Which is added (or subtracted) from the main map value, so the value pair would be 100 and 110.

    These fuel values would achieve a given Lambda/AFR at a given airmass going thru the engine at this specific breakpoint.

    The airmass going thru the engine is determined by several engine specific characteristics and the opening of the throttle butterfly valve. The free area through which air can flow is described in a rather complicated cosine function, which also takes into account the diameter of the shaft and the thickness of the butterfly valve. The nature of sine/cosine functions is that they are not linear. Accordingly a very small rotation angle change from closed state would result in the same free area than a much larger angle change, say at halfway open.

    The TPS breakpoints are staggered very closely at the beginning, the steps would (for example) be 2.0°, 2.6°, 3.2°,.... At higher settings the breakpoints much farther apart, say 45°, 55°, 67°, 81°. But, with well choosen breakpoints all steps would result in linear increase of airflow, or rather airmass, moving into the combustion chamber.

    The essence is that at low TPS openings appearently minor changes have the same effect than much larger ones at bigger openings.

    The BIN and the included maps are not very carefully designed in the first place. They are acceptable for, say, 95% of all engines, deliver poor results with 4% of the engines are are perfect for 1% of the engines.

    Which, if one considers the priorities of a manufacturer, deviations from the blueprint due to mass production differences in all components, wear of said components and other changing parameters, such as gasoline mixture during the last 20 years, is not too bad.

    So the question is how to accurately align TPS breakpoints. Opening angle is not practical to measure, so indirect airmass flow is chosen. Indirect because synchronization uses pressure as an analog to airmass, which together with the fuel generates a certain force with which the cylinder is moved downwards and results in a partial vaccum.

    Springs are used to force the butterfly valves closed. The throttle stop screws act against the spring pressure and take up any loose play. Thus using the throttle stop screws for sync'ing gives a start non-variable position. My BINs contain fuel values in the main and delta maps tailored for a specific Lambda at any breakpoint. If the idle sync is not done as described the result will be that these fuel values at specific breakpoints no longer match. So, to use above figures, instead of having a value pair of 100 and 110 the value pair might be 100 and 120, because the next delta map breakpoint value is being used. The result would be different Lambda value for each cylinders. Which means the cylinders are working against each other.

    Allowing a user to loading a different BIN with edited maps was not intended by Marelli. Instead CO trim and bypass screws were the intended methods to correct differences between the two cylinders. CO trim influences fuel delivery, bypass screws influence air delivery. The effect of both methods tapers of with increasing fuel values (CO trim) and increasing airflow (bypass screws).

    So I've chosen to use fuel values which, with CO trim set to 0 and bypass screws closed, are on target. I could have chosen fuel values which provide the same Lambda with a CO trim of 100 and bypass screws 5 turns open, but why would I introduce 2 variables?

    Cheers
    Meinolf

    • Like 1
    • Thanks 1
  5. 16 hours ago, rich888 said:

    I did need to wind the idle screw in quite a bit, to get it to idle.

    By idle screw you mean one of the throttle stop scews?

    Don't use this procedure with my (or any) BIN. The main and delta fuel values are synchronized at every breakpoint. If you change the idle throttle of one throttle only then you lost the synchronization between the TPS breakpoints. Sync'ing in idle is the only way to match the TPS breakpoints. And it's especially important in the low load area because the TPS breakpoints are spaced so tightly. Getting this and the base line setting of 157mV right are the single most important steps.

    The V11 TPS placement on the right side is rather unfortunate because wear-prone connections introduce play.

    Cheers
    Meinolf

    • Like 1
  6. Hi Richard,

    changing the program code is VERY difficult, because even using one different opcode might impact the very tight timing sequence of the code. We (Beard, myself) made code patching tests, but abandoned them for this reason. And, the code of the latest OEM BINs works well and reliably.

    I can't remember offhand all of the parameter changes I made, but this will give you an idea

    - RPM and TPS legends
    - Warmup table legend
    - Baro legend
    - Warmup table content
    - TPS look-up table
    - Engine temp trim correction
    - Air temp/air pressure correction table content
    - Idle ign
    - Main ign
    - Idle fuel table
    - Main and delta fuel table
    - plus other stuff I've already forgotten

    Cheers
    Meinolf

  7. On 4/18/2019 at 6:45 PM, docc said:

    The "one turn out" (+/-) is in the "Decent Tune-up" apparently to compensate for vagueries in the stock map (and maybe clapped-out throttle bodies like mine)

    Both the bypass screws and the CO setting date back to times when the BIN couldn't be changed and where the only possible means to correct variations inevitable in mass production and the unavoidable wear.

    Since Beard created the means to down/upload the BIN this has become unneccessary.

    I choose to use a CO trim of 0 as base for my fuel map optimization as the CO trim effect tapers off with increasing rpm, or rather increasing air flow. The closed bypass screw setting was used because it's easier to duplicate a setting of totally closed than 1 turn open. Somebody elses 1 turn is likely to be different from mine, even small variations matter in idle. The fuel map values at those breakpoints where CO trim or bypass screws have an impact are so that the mixture is correct with my recommendations.

    As my V11 was somewhat modified  with conical opening of the snorkels, removing half of the shaft holding the butterfly valve, re-worked butterfly valve contours, TI cans, valve play set to 0.3mm for intake/exhaust to countermand the very long ramp up slope of the camshaft and the resulting loss of mean pressure, an average V11 would run a bit richer than mine. Still I would recommend to reduce the (left cylinder only) fuel values across the entire fuel map in small %-steps instead if trying fiddle with CO trim or bypass screws.

    Cheers
    Meinolf

    • Like 2
  8. On 4/18/2019 at 11:58 AM, MartyNZ said:

    A power commander just alters the engine sensor readings going to the ECU.

    A PC doesn't alter any sensor readings going to the ECU. It modifies the injection pulse width based on the map values. In itself not a bad approach if the ECU's content (BIN) can't be modified. I use a PC on a Yamaha GTS1000 to shift the Lambda value, as seen by the ECU, downward by 0.03.

    The challenge with a PC map is that the breakpoints, neither TPS nor rpm, match the breakpoints used by the Guzzi (or whatever) code. Thus the bi-linear interpolation of the ECU code between the given breakpoints is taken over by the %-variations of a PC map at breakpoints which don't match. The TPS breakpoint issue could be avoided with the Dynojet Power Core-SW to set individual breakpoints, but I've never seen a PC map which actually used this.

    Changing the BIN loaded into the ECU is always the better choice.

    Cheers
    Meinolf

     

     

    • Like 1
  9. Hi,

    setting the TPS baseline is the first step. Remember, all connections to the throttle must be removed before adjusting the voltage.

    The valve play should be at least 0.2mm for Intake/Exhaust. 0,3mm is my recommendation, the V11 camshaft has very! long ramp-up slope, >100°. The standard setting will result in sligthly opened valves in that area, resulting in mean pressure loss and decreased valve cooling.

    Once this is done sync the throttles in idle, try to keep the bypass screws completetely closed and do the sync with the throttle stop screws. CO trim should be set to 0 initially and only be changed if you have no means of actually measuring AFR.

    GuzziDiag always works, but a KKL adapter with an original FTDI chip is needed. There a lot of counterfeit chips in the market, they will mostly not work.

    Cheers
    Meinolf

    • Like 1
  10. Hi Rich,

    the TPS is a potentiometer. The voltage is measured between signal ground and the wiper. You probably know that the throttle must be completetly closed when setting the baseline to 157mV - using a DMM, software measurement via GuzziDiag will not work.

    Rotating the TPS changes the relative position of the wiper, hence the voltage changes.

    Cheers
    Meinolf 

  11. Hi,

     

    So, at 172 mv, would this account for why it ran wildly stronger in the upper range and lost its ability to stay stable below 3500? :huh2:

     

     

    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

    • Thanks 1
  12. Hi Al,

     

    So that then raises the question of how one would tune a 15M with Guzzidiag alone (no PCIII) to accommodate those modifications if you don't have a dyno, lambda probe, etc.

     

    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

    • Like 2
  13. 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

    • Like 2
  14. Hi,

     

    I don't recall if this is covered in the Guzzidiag thread(s), but your comment about the PCIII begs a question I've wondered about....

     

    Indeed since one can tweak the map in the 15M directly now with Guzzidiag, I've wondered how one might translate a PCIII/Dyno tune map into correct settings within the 15M and then be able to lose the PCIII.

     

     

    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

    • Like 4
  15. 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.

    Engine-power-and-fuel-consumption-functi

    - 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.

     

    Gasoline-engine-catalyst-efficiency-func

     

    - 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

    • Like 2
  16. Hi,

     

    How did you come to these target numbers Meinolf?
    Dyno?
    Seat of the pants?

     

    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

    • Like 3
  17. Hi,

     

    ...and to 'demand' a specific AFR using a closed loop system...

     

    Pray tell, did you "demand" a specific AFR on the 15RC? Or was it MyECU? 

     

     

    The problem of course was what AFR, the stoimetric ideal does not work in the real world, every engine and situation requires its own setting

     
    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. 
     
     
    And this approach works quite well.
     
    Cheers
    Meinolf
    • Like 3
  18. Hi,

     

    I keep toying with buying a cheap-ish AFR Gauge, ....

     

    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

    • Like 4
  19. Hi,

     

    Well, I searched and searched and read and read, and relearned quite a lot, but don't understand how to confirm how to identify the actual map loaded on a given 15M  . . . :huh:

     

    Meinolf, will your maps be identified on guzzidiag?

     

    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

    • Like 1
×
×
  • Create New...