2004 R1150RT Wideband O2 Sensor Project (and AF-XIED for BMW)

Discussion in 'Vendors' started by roger 04 rt, Dec 13, 2011.

  1. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    New Introduction June 2016
    This thread began as a place to document my investigation and installation of the Innovate Motorsports LC- on my personal R1150RT. The project was a complete success and as I write this new introduction, it is nearly five years since it began.

    The thread has now ballooned to over 80 pages and it seems time to begin adding an index. As issues regarding the support and installation of LC-2s and AF-XIEDs come up, I'll add links following this paragraph that may speed your search for things you've read and want to find again. If you spot something and want me to add it to the index, send me a PM.

    INDEX

    Installation of Innovate Motorsports LC-1 on R1150RT
    Installation of LC-1 on R1100RT with Charts and Test Results
    R1150 Dyno Graphs with LC-1 (GS-911)
    How the Motronic (BMSK also) Calculates Fueling

    Motronic Operation and Block Diagrams

    Mixture Adaptation (Self Learning) in the Motronic & BMSK on R1150, R1100 & R1200
    R1200GS Dyno Results with AF-XIED

    Initial AF-XIED Research

    AF-XIED Settings with Close-Up Photo
    Install of AF-XIED on R1150GS
    Install of AF-XIED on R1200GS
    Install of AF-XIED on K1200R
    Install of AF-XIED on R1200GSA LC:

    How to test AF-XIED is functioning:


    Original Beginning of the Wideband O2 Thread December 11, 2011
    Hello to everyone here. I'm new to the forum as a member but have been reading the many excellent posts that have helped me fine tune a 2004 R1150RT that I bought this summer. The bike has about 28K miles and I've done just about everything needed to bring the bike to spec: TBB, Valves, Autolite Plugs, Cam Tensioner, Idle, study with GS-911, added a BoosterPlug for Open Loop mode (before I spotted the Hotrod thread), Fluids, Filters, SignalMinder, high-comfort-seat, etc. For the most part the bike runs great and is a pleasure to drive, maybe it needs shocks.

    One of the things I've noticed is that while this motorcycle doesn't seem to surge, it runs stronger cold than after it warms to the point where the O2 sensor kicks in and allows Closed Loop operation by the Motronic ECU--when that happens it seems a bit like it's being held back. The feeling is much like a plane I flew when the mixture was leaned a too much. And I've read a lot here and on other boards about the surging and the root causes.

    I have been interested in seeing how much time the bike spends in Closed Loop mode and to that end have ridden with my GS-911 datalogging to my PC. In the posts that follow, I will share that data. In the meantime, the data has led me to implement a programmable Closed Loop O2 sensor (Innovate Motorsports LC-1) that will allow me to shift Lambda and AFR. It uses a Wideband O2 sensor by Bosch but also has a Narrow Band output that simulates the stock sensor. The difference is that the "switching point" of the Narrow Band mode can be programmed. This will allow me to try richer (and leaner out of curiosity) Lambda/AFR points.

    Data follows in the next few posts.

    Roger
    #1
    lewisjr1 and ejschulz like this.
  2. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Yesterday I plugged in my GS-911 Diagnostic Tool, interfaced it to a small Netbook PC via Bluetooth and took some rides to gather data after the bike warmed up. On the first couple rides I lost the Bluetooth connection but the third time I got some useful data by bungy-cording the PC to the rear seat.

    The bike was fully warmed up at the start. Here are the results:

    Length of ride: About 15 minutes.
    Course: Winding, hilly local roads.
    Gears/Speeds: All six gears, many speed and gear changes, from Wide Open to Closed Throttle, up to 70 MPH

    Data Points: A little over 1,000 sets of data of all functions logged by the 911 during the 15 minute ride.
    RPM: 1100 to 5500;

    Fuel Injection Pulse: 2ms to 3.5ms usually, peak of 4.6 ms
    ***45 points were 0.00ms, meaning the injectors were shut off. This occurred during abrupt deceleration.

    Tank Venting: Tank venting was enabled by the Motronic about 3 minutes into the ride, then on for 5 minutes, then off for three minutes, then on again. (I included this just because I found it interesting.)

    Fuel Pump: On all the time, as expected

    And now the data I was looking for:
    Closed Loop operation: The Motronic was Closed Loop 48% of the ride, as I mentioned, it was a winding hilly, many gear and throttle change trip. On a highway trip I would expect a higher percentage of closed loop operation, perhaps tomorrow I'll give that a try.

    What this tells me is that no matter what other change you make to the motorcycle, the Motronic will be insisting on an AFR between 14.5 and 15 to 1 (approx), and be centered on a lean 14.7:1 most of the time.

    I don't know what results I'll get, but it looks worth giving a programmable Narrow Band O2 sensor a try.
    #2
  3. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Yesterday I made a 20 minute trip for parts and rode more like a normal commuting trip. Here's the 911 closed loop info. Today or tomorrow I plan to take a highway ride cruising between 55 and 75 MPH.

    Data Points: 1,600
    Driving RPM Range: 2,500 to 3,500 (roughly)
    Fuel Tank Vent: Open 60% of trip
    Injector On Time: 2.2 ms average, 2-3.5 ms range
    Injectors Fully Off: 3.5% of trip

    Closed Loop O2: 55% of trip

    So lot's of time in Closed Loop. Also makes me wonder how the bike would run if the injectors weren't turned fully off but just went to a minimum value.
    #3
  4. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Just made a 20 minute local trip at higher RPM. Here's the 911 closed loop info. Tomorrow I plan to take a highway ride cruising between 55 and 75 MPH.

    Data Points: 1,400
    Driving RPM Range: 3,700 to 5,500 (roughly)

    Injectors Fully Off: 3.2% of trip

    Open Loop Until Engine Temp: 47 degrees C (115F)
    Closed Loop O2: only 25% of trip after reaching 47 C

    Compared to the Lower RPM run in the previous trip Closed Loop time was much less 25% (higher average RPMs) vs 55% (lower RPMs). Many posters here and other places recommend running the R1150RT at higher RPMs, this has the effect of running a richer average AFR because the motorcycle is Open Loop.

    Also, I felt that the bike is "stronger" when it is cold. That feeling makes sense given that it stays Open Loop with richer mixtures until the engine temp reaches (about) 115F. (Wonder if it stays Open Loop if I put a fixed resistor on the Oil Temp Sensor?)

    If anyone has an old and/or dead R1150RT O2 Sensor, please PM me. I would like to purchase it for the connector so that I can build a Wide Band replacement system. Thanks.
    #4
  5. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Made the highway run yesterday. Data below.

    Data Points: 2,100

    Driving RPM Range: 3,700 to 5,000 (roughly)
    Injectors Fully Off: 3.3% of trip

    Closed Loop O2: 47% of trip, up to 80% in steady throttle cruise

    I observed two new things from this trip.

    1. The highest correlation for closed loop operation is when the TPS (Throttle position) is steady. (I guess that shouldn't be a surprise.)

    2. The Motronic will go into Closed Loop mode while the bike is accelerating through the gears. As each new gear was engaged, the Motronic started in Open Loop operation (richest mixture) but would go Closed Loop (leaner mixture) while accelerating. This surprised me. When the bike is cold, it remains Open Loop. My thinking is this is why the motorcycle seems more driveable cold vs hot.

    In the chart below (RPM, TPS and Lambda On/Off) you can see the effect of accelerating through a few gears in traffic on the left side (to 5th gear) of the chart (and dealing with changes in traffic speed). On the right half of the chart (to 6th gear), the bike is in "throttle-locked" cruise, more or less. It is in closed loop a lot of the time.

    If anyone has an old and/or dead R1150RT O2 Sensor, please PM me. I would like to purchase it for the connector so that I can build a Wide Band replacement system. Thanks.

    [​IMG]
    #5
  6. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Cold Engine Takeoff, bike feels strong, no sense of lag or surge. Lambda sensor is Open Loop.

    [​IMG]
    #6
  7. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Warm Engine Takeoff, bike feels okay but slightly hesitant before shift to next higher gear. Lambda sensor goes Closed Loop (lean) in middle of acceleration. (Numbered points are: Throttle Open #1 &4, Clutch Engaged #2 & 5, Lambda Closed Loop #3 & 6.)

    [​IMG]
    #7
  8. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Warm Engine Highway Acceleration, bike feels good but note that Motronic goes Closed Loop (lean mixture) in middle of acceleration. (Numbered points are: Throttle Open #1, Acceleration #2, Lambda Closed Loop #3.)

    I am surprised at the times during acceleration at low and high speeds/RPMs that the Motronic chooses to go Closed Loop.

    I've ordered an Innovative Motorsports LC-1 and will see what the feel of a richer Closed Loop AFR is. I expect to notice it most under warm engine start-off conditions under 3,500 RPM.

    [​IMG]
    #8
  9. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    That's just the point. Once the ECU with stock O2 sensor goes closed loop lambda will equal 1. That's why I'm going to let the LC-1 drive the Motronic Then I can adjust closed loop lambda.

    Air temp modifiers affect open loop, including making a favorable change in afr when e10 fuel is used. E10 is a leaner mixture open loop (closed loop lambda is still 1!) but booster and iice richen open loop and therefore compensate for e10
    #9
  10. Poolside

    Poolside Syndicated

    Joined:
    Apr 1, 2003
    Oddometer:
    11,889
    Location:
    Silicon Beach, CA
    <BR>Looks like the makings of a great thread, Roger! Good job!

    On the strip chart, the state called 'Lambda = 1' doesn't necessarily mean that the ECU is driving toward stoichiometry of 14.7:1. Instead, Lambda = 1 means that the ECU is operating in closed loop. And conversely, when Lambda = 0 it means that the ECU is operating in open loop. Neither of those states confer or imply a target mixture.

    Did you capture the O2 sensor voltage data as well? The GS-911 provides that information. The O2 sensor voltage data falls within the range of 0.0V to 1.0V. If Excel allows it, the O2 voltage numbers may need scaling for it to display in a readable way. Or perhaps the O2 voltage can use the Lambda zero-to-one scale.

    <BR>
    #10
  11. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Closed Loop means the ECU is headed to a target mixture that oscillates around 14.7 for gasoline without ethanol. Most interesting is the dive to lean which occurs during the transition to Cloaed Loop during acceleration. I have the voltage data and will show some new interesting charts tomorrow. Roger
    #11
  12. Poolside

    Poolside Syndicated

    Joined:
    Apr 1, 2003
    Oddometer:
    11,889
    Location:
    Silicon Beach, CA
    Ok, you are limiting the term 'Closed Loop'. I'm just trying to slow down the erroneous conclusion rate.

    I can't offhand recall the data rate (sweep speed) of the GS-911. Do you know what it is?

    On the charts you posted, is the X axis in seconds?

    <BR>
    #12
  13. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Good questions. And honestly, some of the sampling statistics are at the limit of my "pay grade".

    When I use the term Closed Loop, I'm referring to the times when the Motronic ECU is using the O2 Sensor output to create a mixture that oscillates between a slightly richer mixture than 14.7:1 and a slightly leaner mixture. Here is a generic chart of a Closed Loop waveform for those who haven't seen one (I've added the asterisks which I'll come back to in a moment:

    [​IMG]

    The sampling period of the GS-911 varies and had a median time of 0.64 seconds (640 mS) in the Highway Test Ride data set. This is slower than one would like, and it makes interpreting data that changes more rapidly than every few seconds more difficult. However longer term trends such as the shift in and out of Closed Loop mode are easier to see. Averages can also be computed. The key point is that the charts aren't quite like what one would see with an oscilloscope. Here is a chart of sampling times from one run:

    [​IMG]

    So going back to the first chart and looking at the asterisks, you can see that if those were the points that the GS-911 logged, you would not see the full picture. However, if you group all data points taken during Closed Loop times, you could compute the Average Voltage value which I did for the Highway Test Ride data set.

    Average Closed Loop Lambda Voltage: 414 mV based on 994 data points taken during all Closed Loop conditions. This is as expected and implies a pure gas Air Fuel Ratio (AFR) of 14.7:1 (approx). This suggests that during closed loop the O2 sensor and ECU are toggling between richer and leaner than 14.7:1 like the generic chart above shows.

    RB
    #13
  14. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Here are some charts related to the stock Lambda Sensor voltages sampled by the GS-911 during the Highway Test Ride.

    First a Pareto Chart of Lambda voltages during Open Loop:

    [​IMG]

    You can see that in the Open Loop periods, the Motronic spent most of its time fueling a richer than Stoic mixture (600 mV and greater). There were also times during deceleration that it dropped to a leaner mixture (below 450 mV) and even times when the fuel was cut-off.

    Next is a chart of Lambda Voltage during a Local Ride while the bike warmed up.

    [​IMG]

    You can see that the bike stayed above 450 mV and nicely rich. The rider (me) enjoyed the smoothness and responsiveness and went through the gears briskly.

    Next is a chart of a fairly well behaved highway trip. If you look at the Lambda voltages you can see them toggling high and low during Closed Loop and if you look closely you can see the Motronic going Open Loop (points a., b., c., d.) and richer during a couple quick gear changes (#1, #2).

    [​IMG]

    Lastly, here is a chart of a lower RPM pair of shifts with the bike warmed up. You can see at point (a.) the throttle has been opened, at point (b.) the RPM sagged related to the ECU going Closed Loop (c.), and with plenty of lean Lambda voltages (d.) although the Lambda voltage may be toggling during this period and it can't be seen do to the slower sampling rate issue that I mentioned in the prior post. Still you can see it has gone Closed Loop and there are plenty of lean points. Then you can see the same thing happen again in (e., f. and g.).

    [​IMG]

    So since the motorcycle is going to enter Closed Loop at times (like acceleration) when one would prefer a richer mixture (as it is before the bike Oil Temp sensor warms and allows Closed Loop), I will head back to the shop to finish installiing the Wideband LC-1 to see how the bike runs with a richer Closed Loop mixture range. Time to stop writing and start working!
    #14
  15. Poolside

    Poolside Syndicated

    Joined:
    Apr 1, 2003
    Oddometer:
    11,889
    Location:
    Silicon Beach, CA
    <BR>Thanks for posting the charts. There appears to be a good amount of sample speed aliasing. Do you know if the sample speed (aka: scan rate) is any higher if fewer 'channels' are selected? You know, like uncheck the boxes for the data you don't want. I think that might have increased the scan rate for the GS-911, but I can't recall.

    Was the fuel injector pulsewidth, or fuel rate, collected? If the resolution is high enough it might be useful as well. In order to see small changes better you might need to put some gain into the data, and shift the signal with some offset, then limit the y-axis range when building the chart. (Excel techniques to increase the y-axis resolution)


    Edit: ooops, I meant y-axis

    <BR>
    #15
  16. Andrew

    Andrew Optimus Primer

    Joined:
    Sep 25, 2001
    Oddometer:
    26,891
    Location:
    Eastbania
    Can those signals be acquired through simple analog or digital DAQ?
    I could put a 16-bit DAQ card in my laptop, and sample eight channels at 125 kHZ each.
    #16
  17. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    Yesterday I finished installing the Innovate Motorsports LC-1 Wideband O2 Controller on my 2004 R1150RT. Before describing the project and my first test ride impressions a couple points:

    --When the valves are adjusted, idle set and the throttle bodies are balanced my 1150RT runs pretty well.
    --My preference is that the motorcycle is as near stock as possible, maintaining EVAP canister and Catalytic converter.
    --BMW and Bosch (Motronic, O2 sensor, ABS) design well and know more about these systems than I ever could.
    --The aircraft that I flew for a couple decades had three main performance modes: Full Rich (takeoff and climb), Best Power (fastest cruise, AFR< 14) and Best Economy (greatest range, AFR > 15). Although all modes were "smooth", if you over-leaned Best Economy the engine would start to stumble and eventually ping.

    --Ethanol fuel: The 2004 RT uses Open Loop fueling tables that were designed for gasoline with a stoichiometric AFR of 14.7:1. In the Northeast US, gasoline with up to 10% ethanol is about all that's available, which has a 14.1:1 AFR. This suggests that the stock Open Loop fueling tables run about 4% leaner than the BMW/Bosch designers planned for. (In Closed Loop operation when the O2 sensor is used for control it automatically corrects for the E10 fuel.)

    --My '04 RT feels strong while the engine is cold. After warming up, the motor seems reigned-in a bit from 2,000 rpm to 4,000 rpm (and reminds me a lot of how my plane felt with a too-lean mixture). After warming up the Motronic allows Closed Loop operation with the O2 sensor which means the AFR (in gasoline terms) is toggling between an AFR in the low 14s to an AFR in the low 15s. And since the cylinders are independent of one another, one cylinder is bound to be even leaner than the other.

    My project goals:
    1) Open Loop: Richen fueling tables to compensate for gasoline with Ethanol added. For this I've used a BoosterPlug which claims 6% richer mixtures; and ethanol fuel is about 4% leaner so I'm guessing about a 2% gain richer mixture overall.)

    2) Closed Loop: Richen the stoichiometric target by the smallest amount needed to remove the sense of leanness between 2,000 and 4000 rpm. The Innovate Motorsports LC-1 provides a programmable Narrow Band output to the bike's Motronic ECU input.

    Project:
    LC-1 Kit: Bosch Wideband O2 sensor, LC-1 Controller, Cables, Programming Software, Serial Bus programming input.
    Also purchased: PC Serial Bus to USB Converter (since none of my computers have serial inputs)

    1. Pull the fairings, remove the fuel tank (replaced QDs at same time).
    2. Drop the exhaust, remove stock Narrow Band O2 sensor, install Wideband O2 sensor.
    3. Install LC-1 controller on right side of bike, under tank on frame, near alternator.
    4. Connect Wideband O2 to LC-1, routing cable using same path as stock O2 sensor.
    5. Route LC-1 cables to left-hand side of bike, along frame, and make connections to power, ground, AFR meter (part of LC-1).
    6. Route LC-1 programming cables to area under seat behind electrical box.
    7. Connect LC-1 Narrow Band output to Motronic by cutting and splicing into the original O2 sensor leads.
    8. Leave O2 heater wires connected to the stock Narrow Band sensor, temporarily, until I can figure out what the Motronic needs to "see" in order to enable Closed Loop and not create a fault code. Tie wrap O2 sensor to frame.
    9. Program closed loop AFR target to 14.2 which was a guess about where to start.
    10. Start the motorcycle, attach the GS-911, let it warm up, confirm Closed Loop operation and make sure there were no Fault Codes in the Motronic. EVERYTHING WORKED! (Photo below shows #1) AFR switch points, and #2) that the bike entered Closed Loop after warming up.)

    The installation took about 6 hours spread over a few days. Someone experienced could do it faster but it was the first time I'd pulled the tank and exhaust. I got out for a test ride late yesterday.

    Riding Impressions:
    The course was over winding, hilly, straight and flat roads for about an hour. I am truly excited by the first results. Knowing that I'm looking for a positive outcome I wouldn't blame you for being skeptical. I haven't collected data yet to back up my impressions. But I'm not selling anything, just trying to enjoy my bike more. Here are some observations.

    --No hesitation, no feeling of being reigned-in or surging. No popping, pinging or backfiring. In brief, no negatives.
    --Very smooth acceleration in every gear at high and low RPMs.
    --Good roll on throttle response at high and low RPMs.
    --Very good cruise at low RPMs (2,500 to 4,000). 5th gear was a pleasure at 40 MPH or so. 6th gear, from memory, was easy at 50.
    --Smooth at high RPMs.
    --Warmed-up bike using Closed Loop modes feels just like the cold engine--strong and smooth.

    Still to be done:
    --Clean up wiring
    --Figure out what to do about Motronic heater wires (cut or add a resistor)
    --Try many more combinations of Closed Loop AFR settings
    --Carefully monitor Motronic operation with GS-911 (no error codes so far)
    --Get an exhaust gas analysis after settling on an AFR.

    I'm not sure how much I can get done before the snow starts here in MA. When it does start snowing, the bike will get opened up for a spline lube.

    [​IMG]
    #17
  18. Graminal95

    Graminal95 Adventurer

    Joined:
    Apr 24, 2011
    Oddometer:
    40
    This is just what I have been thinking about doing for the last few months. I have an LC-1 in my rally car (sitting idle at the moment) that I was going to grab and use just as you have. I am very curious about your results, and the data you will be collecting, so please continue posting!. I have a r1100gs with a not as smart ECU, but I think the gains will be on par with yours if I install the LC-1 for closed loop and a AIT offset (IICE air) for open loop.
    #18
  19. roger 04 rt

    roger 04 rt Long timer

    Joined:
    Nov 9, 2011
    Oddometer:
    3,501
    Location:
    Massachusetts
    You will be pleased with the results if you can handle the wiring. Yesterday I rode and collected several thousand data points at AFR=14.2 and AFR=13.8 which I will write up later today or tomorrow.

    Both delivered excellent responsiveness, to the point that I would sound over-the-top if I described the improvement. Let me just say, the bike runs VERY smoothly now at both settings.

    One of the differences between 14.2 and 13.8 is that the idle speed increased by 75 RPM (approx.) when I adjusted to 13.8. This gives one indication of how much the Boxer engine likes a Best Power type mixture.

    The other thing that the data I will plot shows is that the Motronic can't tell there's a programmable O2 sensor connected--this is good! It goes closed loop as it always did, BUT, at a richer Closed Loop mixture.

    If you try installing the LC-1 and a gauge, there are the following connections to make:

    Key-On 12V: Find a power wire that is only on when the key is on. There are two/three wires to connect.
    Low Impedance Ground: At the Battery Negative. There are four/five wires to connect.
    Motronic O2 inputs: Black for signal, Grey for ground (still deciding what to do with the Grey wire), two White wires for the O2 heater. Heater wires need to be connected to the old O2 sensor or a resistor. I am connected to the old O2 but will replace with a 10 Ohm resistor (approx.).
    Other misc. connections: Led, Switch, gauge.

    The layout will be the hardest part, figuring out what to put where. When I have a final opinion on how best to connect the Motronic Sensor-Ground-Input (grey wire), I will post that.
    #19
  20. Poolside

    Poolside Syndicated

    Joined:
    Apr 1, 2003
    Oddometer:
    11,889
    Location:
    Silicon Beach, CA
    They can, you'll need to connect directly to the signal sources. The data Roger is collecting is passed as serial data to the GS-911, from the ECU diagnostic port.

    There's a lot of different signals. Below is a list of the minimums specs to get usable fuel and spark timing data:
    TPS: Two 0-5V signals, 10bit/100Hz
    O2 Sensor: One 0-1V signal, 10bit/50Hz
    Hall Effect: Two 0-12V signals, 1bit/1MHz
    Fuel Injector: One 0-12V signal, 1bit/10MHz
    Ignition Coil Driver: One 0-12V signal, 1bit/1MHz

    For example, 125KHz isn't fast enough to capture the sub-microsecond resolution of the fuel injector signal pulse. The ECU adjusts the injector pulsewidth with sub-microsecond resolution.

    <BR>
    #20