Announcement

Collapse
No announcement yet.

WBO2 into motronic

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WBO2 into motronic

    if you want an ECU thats non functioning for disassembly BMWman91 i was talking to a guy on facebook that had 2 non functioning ECU's that im sure he would let go of cheap that i can get you hooked up with possibly.

    As for a 0-5V wideband input into the ECU i have a working solution to make the actual wideband AFR show up in data logs. its pretty simple to patch into the motor chip file or even create a patch for in tuner pro. the only problem is PRJ or someone would have to modify winlog definitions for the time being to display the output from the wideband controller.
    to enable 0-5V input on ECU pin 46 is as follows.
    -go to hex offset 0x8198
    -there you will find 12 82 D0 (lcall code_82D0)
    -make this into 12 82 D8 (lcall code 82D8)
    -at hex offset 0x82D8 you will need to add this code
    90 BE 06 12 17 CF 22 (this code calls AN6 and puts it into the data logging stream)
    -after that correct checksum and you have a file that can use ECU pin 46 for wideband logging.

    only downfall of this is you cannot have the patches for race fuel mapping or the boost limiter patch enabled while this is functioning. i dont know what having either patch with this patch enabled will do exactly but im sure it will not be good. so basically one patch ECU pin 46 patch at a time. if you want to use the race fuel and standard mapping all you have to do is tune your race fuel mapping in the standard maps than copy/paste them into the race map tables. than disable the wideband input in data logging and enable the race fuel mapping switching patch and adjust your wiring accordingly. using info from BMWman91 on the S702 chip should enable a way in the future to move the race fuel map switching over to a different pin so that ECU pin 46 can be dedicated to wideband input forever.
    Last edited by vwnut8392; 10th January 2018, 22:38.
    "The really good drivers got the bugs on the side windows." Walter Röhrl

  • #2
    The WinLog source is included in the github. It's really not a rocket science to modify it. There's the packet structure and variable & conversion definitions.

    What's the resolution with the ecu measuring 0-5V on pin 46? If we assume that 0V is 0x00h, what's the 5V level in hex?

    Since I first read about logging wbo2 through this ecu, I've been wondering to utilize the wbo2 signal in the ecu. Drop the old narrowband and just use one signal that is wbo2 since you already have it in the box. I know that characteristics between those two are way different, but the first stage I was thinking was just to replace the current lambda model.

    Comment


    • #3
      Originally posted by kymi View Post
      The WinLog source is included in the github. It's really not a rocket science to modify it. There's the packet structure and variable & conversion definitions.

      What's the resolution with the ecu measuring 0-5V on pin 46? If we assume that 0V is 0x00h, what's the 5V level in hex?

      Since I first read about logging wbo2 through this ecu, I've been wondering to utilize the wbo2 signal in the ecu. Drop the old narrowband and just use one signal that is wbo2 since you already have it in the box. I know that characteristics between those two are way different, but the first stage I was thinking was just to replace the current lambda model.
      i have been useing tunerpro logging and all i did was make a lookup table based off of the chart in the AEM uego user manual and what my jimstim engine simulator was outputting from its wideband simulation. i just got my 14point7 spartan 2 OEM wideband board today and it looks like the ultimate DIY solution for this because it has 0-1v output on one pin and and 0-5v linear output on a second pin. this DIY wideband controller was only 35.00 with shipping. i will post pictures of the spartan2 controller later with the little enclosure i 3D printed for it. once i have a decent working enclosure i will post the STL file so others can 3D print their own enclosure for this controller.

      as for the scale i would just set it up for now as 0v being 10.00AFR and 5V being 20.00AFR. that seems to be most common for all of the wideband controller outputs. in my testing with the jimstim wideband output on this it showed that 0x00 hex was 10.00AFR and 0x255 was 20.00AFR. i attached a picture of my lookup table in tuner pro that has been matching the gauge perfectly. input is hex. as for an equation i dont have one because im using the lookup table to simplify that. hope that info help you kymi.
      "The really good drivers got the bugs on the side windows." Walter Röhrl

      Comment


      • #4
        This is my solution to adding wideband to the ECU. im going to mount the 14point7 inside my ECU beside the MAP sensor in a little tray i 3D printed than drill a hole right below the MAP sensor port to run a strand of shielded ethernet cable to start. a piece of 8 strand of shielded ethernet cable should be good enough be good enough to to reach outside the ECU case through the hole below the MAP sensor port. i figure 6 wires for wideband sensor and the last 2 left over can be for 0-5V out for a gauge and the indicator LED output so you know what the sensor is doing. inside the ECU 12v switched power and ground to to turn the controller on and off can be found. the 0-5V signal can be tied directly to ECU pin 46 on the inside at least in my case because i wont be using the map switching and the 0-1v output from the wideband controller can get tied directly to the lambda input inside the ECU.

        im going to just hot glue the tray inside the ECU, than once all the wiring is done glue the wideband controller to the tray. here's a few pictures i took of the 14point7 spartan 2 OEM board in the tray and inside the ECU beside the MAP sensor for size comparison to see just how tiny this thing really is. i will most likely put the lambda D connector right on the ethernet cable because my lambda wiring comes in my car right behind the ECU in the false floor. than i'll figure out a 2 pin connector for the 0-5V out for the gauge and the indicator LED for quick disconnect. i will post the STL file for the tray to my github and parse with PRJ's if he wants to do so for everyone to download and print one for this wideband controller.
        "The really good drivers got the bugs on the side windows." Walter Röhrl

        Comment


        • #5
          The correct way is to:
          1. Take the closed loop O2 function, fix the switch points (there are 5 constants IIRC) to match a 10-20 AFR (0.68-1.36) lambda resolution.
          2. Use a spare input for WBO2 and replace the O2 function input with it.
          3. Add logging for the parameter.

          I would not bother doing full wideband closed loop, because it is really dangerous without sensor diagnosis, but even this can be done quite easily.
          http://tuner.ee - http://www.facebook.com/tuner.ee

          Comment


          • #6
            My thoughts exactly, prj.

            vwnut8392, what I was after is, if you feed 0-5V signal into 0-12V pin in the ecu harness, you will only have resolution from 0x00h to 0x66h (assumption). Sure, inside the ecu you can route the output to 0-5V levels, or change resistors/whatever components to get the harness input pin to accept 0-5V (0x00h - 0xFFh).

            Anyway, I might try this nb->wbo2 conversion when I get my car back together.

            Comment


            • #7
              It's better I think to use a different ADC. Should check how the coding plug one works. I don't remember anymore.
              The 0-12V is not very good indeed, because the resolution will be too low to do actual narrowband control on it.
              5V ADC is good enough even at 256 bits I think, that'd give granularity of 0.0027 lambda, which I think is good enough.
              Can obviously do the same as I did with the MAP sensor (I sample it at 1024 bits), but maybe it is overkill.
              http://tuner.ee - http://www.facebook.com/tuner.ee

              Comment


              • #8
                welll i setup my ECU tonight with the wideband controller mounted inside of it internally. im going to give it a go anyway and see if i can get it all to work right.. here's pictures of how i setup my ECU to have an internal wideband controller.
                "The really good drivers got the bugs on the side windows." Walter Röhrl

                Comment


                • #9
                  are the constants that need adjusted for the lambda control part of the XDF PRJ? Im waiting on a female LSU 4.2 connector before i can install it in my car, i seemed to have misplaced the one i had so i had to order another one.
                  "The really good drivers got the bugs on the side windows." Walter Röhrl

                  Comment


                  • #10
                    The lambda control constants are not defined in the current version of the published xdf.

                    Comment


                    • #11
                      Well the 14point7 spartan 2 OEM controller works perfectly fed into AN6 (ECU pin 46). i also fed the simulated 0-1v signal from the spartan 2 directly into the stock lambda input and that part seems to be working as well but may need to tweaking of the lambda control constants to be perfect. the spartan 2 is by far the most cost effective DIY lambda controller on the market clocking in at a mere 35.00USD. the fact that it outputs both 0-1V signal for the actual lambda control and 0-5V signal for data logging makes it a really great solution. as for testing it i have been using my tuner pro ADX thats in another thread on here to test it. i actually added an AEM uego AFR controller on my car to compare with the readings in tuner pro from the spartan and the results showed to be 1 to 1 so the spartan is spot on with the AEM uego. this means that the AEM uego can also be used on ECU pin 46 feeding its 0-5V signal in for data logging as well. I will write up a PDF later this evening on how to install the 14point7 spartan OEM controller into the stock motronic along with the STL for the spartan tray for those who have access to a 3D printer. well this is another small addition to the stock motronic taking it one step closer to being more like a standalone system.
                      "The really good drivers got the bugs on the side windows." Walter Röhrl

                      Comment


                      • #12
                        to update this thread i ditched the 14point7 controller and bought a zeitronix ZT-3 controller instead. the 14point7 controller simply would not act right with its 0-5V input and after several emails to the maker of it i got no replys thus no support so i tossed it in the trash with the rest of the useless stuff.

                        With the ZT-3 feeding the 0-5V input on pin 46 it infact does work perfectly. also the nice thing about the ZT-3 is that you can configure its 0-5V output if your having issues with its output not matching your gauge. The 0-1V ouput works perfectly as well for the lambda sensor simulation. in my setup i did not have to touch the default settings in my ZT-3 to make it work, i just tweaked the equations in the tunerpro ADX and winlog dll file and its perfect. so this controller being fed on ECU pin 46 allows logging without com port splitters or having the the ZT-3 controller hooked to your laptop. soo with my bluetooth ostrich mod and wideband input on analog input this leaves one USB cable that goes between the PC and the ECU to capture the actual data log. now to figure out how to make a KKL cable bluetooth so there is a full wireless solution.
                        If anyone wants my DLL file for winlog, ADX for tunerpro logging, and an XDF that has the patcher to enable logging on ECU pin 46 comment on this post and let me know. i am also sure the ZT-3 and ZT-2 function the same when it comes to the wideband controls so the ZT-2 should work for this as well.
                        "The really good drivers got the bugs on the side windows." Walter Röhrl

                        Comment


                        • #13
                          In line 1752 you already read out the BE06 in RAM_39, you may have to modify the usage of RAM_39 - in the V8 it's EGR temperature and you have a diagnose for this - didn't checked yet if it's active and what happens when it's active (DTC only? impact on timing or fueling?)
                          However, it could save some processor cycle time for the extra ADC loop.

                          I like the Pin 46 solution, at the V8 you have this pin available in connector T6m outside the ECM, so you only have to buy a connector from the dealer and plug it in.

                          Last edited by Acki; 25th February 2018, 13:56.

                          Comment


                          • #14
                            Originally posted by Acki View Post
                            In line 1752 you already read out the BE06 in RAM_39, you may have to modify the usage of RAM_39 - in the V8 it's EGR temperature and you have a diagnose for this - didn't checked yet if it's active and what happens when it's active (DTC only? impact on timing or fueling?)
                            However, it could save some processor cycle time for the extra ADC loop.

                            I like the Pin 46 solution, at the V8 you have this pin available in connector T6b outside the ECM, so you only have to buy a connector from the dealer and plug it in.

                            Im pretty sure the AAN is supposed to have provisions for EGR because in the function sheets and DAMOS an EGR is talked about. check out the RAM txt file i posted in the IDB thread. i think it was like RAM_39 was supposed to be used for EGR in AAN. you could just find the reference in the code to BE06 and NOP that operating code so it doesnt operate in stock form than locate the faults for EGR and shut them off. than once you port the high speed logging code over to the V8 ECU just make the a jump out on the RAM output variables like i did in the AAN code so BE06 is read again for the data logging only.

                            Thinking about it i should probably NOP the factory AAN code for BE06 just incase.
                            "The really good drivers got the bugs on the side windows." Walter Röhrl

                            Comment


                            • #15
                              At the I5 the wiring diagram shows no usage at pin 46 - so I can't say the DTC is "not active" when some signal is used at this Pin.
                              At V8 it's for US applications available according some google, but at the end same double check has to be done - what happens when signal is present.

                              May you can check your documentation for this? Or using a free RAM_Cell according your list.

                              BE0x is not in the code, it's only DPTR and then it's calls the ADC routine, ADC routine only use DPL (means not BE, only 00-07), DAPR=0 is for 5V reference voltage.

                              However it should be possible to use this input for WB-O2 logging (at least) without hardware modification at the Motronic.

                              Comment

                              Working...
                              X