Announcement

Collapse
No announcement yet.

M42 ECU Conversion: Link G4X / E36X

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

    #16
    Originally posted by wazzu70 View Post
    I have no doubt you will be able to get the engine up and running pretty easily on the Link. The stock M42 does not idle that great so matching that will not be an issue either :) keep in mind there is a pretty big allowable error so you don’t have to be dead nuts for it to work right.

    Calibrating fuel is pretty easy since you have a measurement to see how far off you are, and you can rely on closed loop trims to make small corrections.

    For ignition timing there is margin of error too although its hard to get feedback without a dyno. A base map from a M50 will be good for starting until you get to a dyno. Unless the timing is super soft you wont have to worry about damage.

    I noticed a pretty big improvement right off the bat with my install and I would say its still basically a base map for ignition and enrichments. Im sure your engine will respond well too.

    If you want to run pencil coils, the CBR600 coils fit nicely under the vanity cover since they are “dumb” so they are smaller :)

    I really need to put my car back together...

    Have fun!
    Good to know, thanks! HPAcademy on Youtube had an interesting video on AFR vs power where he did a bunch of dyno pulls back-to-back while varying the AFR, and it was surprising to me how little AFR matters (up to a point). There certainly is a lot of fudge factor to work with, although you have to watch EGT and knock as things go leaner. Still, it looks like finding an optimum AFR is not too onerous of a task. Ignition timing...yeah it seems like one needs to be a lot more careful with that as advance increases. Sssquid and I are going to try to work out some base maps using the tune he developed for Motronic, and I will plan to do the "real" tuning when I drive out there.

    Would you say that you have gotten your idle and throttle-transition behavior to be better than stock with VEMS? I'd assume so since (IIRC) your career involves tuning for fleets of commercial vehicles.

    Transaction Feedback: LINK

    Comment


      #17
      My car actually has not run in about 6yrs. Nothing to do with the standalone and everything to do with two kids and two working parents. Just starting to get time again for hobbies!

      It was not very hard to get the idle and enrichments decent. For the most part enrichments were default values and the idle PID was the first one I ever tuned. I did notice a big increase in throttle response. I think getting rid of the AFM and all that helped as well as having a faster and more accurate processor and algorithms. The OBDI stuff is pretty crude compared to even basic stuff today! Like a lot of the tuning there is a pretty big margin for error where everything will still work well and be totally functional, just not completely dialed in. That last 10% is 90% of the effort!

      I cant wait to get my car running again so I can optimize everything with what I know now. And yep, Im still doing calibration for heavy duty diesels so Ive learned some tricks!
      -Nick

      M42 on VEMS

      Comment


        #18
        Originally posted by wazzu70 View Post
        My car actually has not run in about 6yrs. Nothing to do with the standalone and everything to do with two kids and two working parents. Just starting to get time again for hobbies!

        It was not very hard to get the idle and enrichments decent. For the most part enrichments were default values and the idle PID was the first one I ever tuned. I did notice a big increase in throttle response. I think getting rid of the AFM and all that helped as well as having a faster and more accurate processor and algorithms. The OBDI stuff is pretty crude compared to even basic stuff today! Like a lot of the tuning there is a pretty big margin for error where everything will still work well and be totally functional, just not completely dialed in. That last 10% is 90% of the effort!

        I cant wait to get my car running again so I can optimize everything with what I know now. And yep, Im still doing calibration for heavy duty diesels so Ive learned some tricks!
        Yeah, "life" certainly has other demands as we all get older. A lot of r3v has gone from 4 point harnesses to car seats!

        Speaking of diesels, I picked up a Jetta TDI late last year (2006 with the BRM PD engine). They are interesting, and certainly different than gas engines in a variety of ways despite the mechanical similarities. Tuning on those sounds pretty interesting. From what I understand of the EDC16 ECU my Jetta uses, the injection programming is pretty sophisticated, what with small pre-injections followed by the main injection, injection timing, fuel heating & other stuff. The newer direct injection stuff may actually be simpler in some respects.

        Transaction Feedback: LINK

        Comment


          #19
          I had a really nice reply typed out and the forum erased it and wont let me retrieve it. Amazing how technology gets more clunky and error prone as time goes on! I should know to always make a copy of the text before trying to post :(

          Ill try not to talk about diesels too much, but its somewhat relevant to control systems and strategy :) The modern common rail diesels are way more complex than the older stuff in order to increase fuel efficiency while meeting the current emission regulations. The modern direct injection diesels can employ a combination of pilot injections, pre injections, main injections, post injections, and late post injects depending on operating conditions to reduce noise, reduce PM, reduce NOx, keep the exhaust warm for catalyst efficiency, and increase fuel efficiency. To put the pulses in the correct place (in crank angle) and to inject the right quantity of fuel over the lifetime of the engine is very complex. Many of the injection pulses are very small quantities!

          Example of injection pulse options per combustion cycle:



          For detonation detection, its actually pretty simple. You just calculate a frequency based on the cylinder bore to get close to the detonation frequency, then you filter noise based on a window where you expect combustion to be occurring.

          Knock Frequency = 900,000/(π×0.5 ×cylinder bore diameter)

          The knock detection is really only there to save your bacon in the event you are getting some detonation, its not really a tuning aid. For tuning the best option is to make a set of “det cans” and use the human brain for signal processing. As Im sure you know making an algorithm to repeatedly and correctly perform a task that is basic for a human can be incredibly difficult to get the same accuracy!

          Example cheapo det cans: http://www.vemssupport.com/forum/index.php?topic=1680.0



          Attached Files
          Last edited by wazzu70; 11-29-2020, 11:46 AM. Reason: Adding more content but saving as I go...
          -Nick

          M42 on VEMS

          Comment


            #20
            Originally posted by bmwman91 View Post

            Well, if it will be a little while before you are going to implement it, I might have you covered. I plan to design up a small board with 2 x MAX9926 (dual VR conditioning IC) chips that will take the 4 ABS VR inputs and provide a nice 5V TTL output to the ECU since it also does not have 4 spare VR inputs. I actually spent a few hours this weekend with the oscilloscope doing some experiments on the ABS unit, and the spare MAX9926 board I had from a different project looked like it was working perfectly with the stock wheel speed sensors. As far as tapping into the signals, I think that I will de-pin those 4 wires from the ABS plug, cut the terminals off, and then crimp new ones on to hold both the original wire and the new "taps" together. They are just TE JPT contacts. The other option is butt splices, but I'd prefer not to use any of those.
            So I actually ended up wiring in the two spare VR inputs I have to the front wheels (stole them from my currently useless ABS control module) today, seem to be working well.

            For now I just have a single input for the rear, which is actually the speedo out signal, not ideal but good enough until I figure out a signal conversion setup for the two rear wheel VR sensors (or just suck it up and make a bracket)

            Comment


              #21
              Originally posted by JehTehsus View Post

              So I actually ended up wiring in the two spare VR inputs I have to the front wheels (stole them from my currently useless ABS control module) today, seem to be working well.

              For now I just have a single input for the rear, which is actually the speedo out signal, not ideal but good enough until I figure out a signal conversion setup for the two rear wheel VR sensors (or just suck it up and make a bracket)
              Cool. Can you let me know how the signals look, as in does MS think that the wheel speeds are jumping around due to noise/ignition EMI, or is it fairly clean? A quick test is to idle at a stop and see if MS registers any wheel movement when parked. I did a bunch more poking around with the oscilloscope this afternoon and will need to put a bit more thought into conditioning the signals for the MAX9926 since ignition noise causes false triggers when the vehicle is not moving.

              Transaction Feedback: LINK

              Comment


                #22
                Originally posted by wazzu70 View Post
                I had a really nice reply typed out and the forum erased it and wont let me retrieve it. Amazing how technology gets more clunky and error prone as time goes on! I should know to always make a copy of the text before trying to post :(

                Ill try not to talk about diesels too much, but its somewhat relevant to control systems and strategy :) The modern common rail diesels are way more complex than the older stuff in order to increase fuel efficiency while meeting the current emission regulations. The modern direct injection diesels can employ a combination of pilot injections, pre injections, main injections, post injections, and late post injects depending on operating conditions to reduce noise, reduce PM, reduce NOx, keep the exhaust warm for catalyst efficiency, and increase fuel efficiency. To put the pulses in the correct place (in crank angle) and to inject the right quantity of fuel over the lifetime of the engine is very complex. Many of the injection pulses are very small quantities!

                Example of injection pulse options per combustion cycle:



                For detonation detection, its actually pretty simple. You just calculate a frequency based on the cylinder bore to get close to the detonation frequency, then you filter noise based on a window where you expect combustion to be occurring.

                Knock Frequency = 900,000/(π×0.5 ×cylinder bore diameter)

                The knock detection is really only there to save your bacon in the event you are getting some detonation, its not really a tuning aid. For tuning the best option is to make a set of “det cans” and use the human brain for signal processing. As Im sure you know making an algorithm to repeatedly and correctly perform a task that is basic for a human can be incredibly difficult to get the same accuracy!

                Example cheapo det cans: http://www.vemssupport.com/forum/index.php?topic=1680.0
                Ha yeah, I have gotten bitten by that too. I copy backups into Word for that reason, and spell check is better in there than the browser.

                Interesting stuff about modern diesels. I am not sure how familiar you are with VW's pumpe duse engines, but they are typical German engineering...really ingenious electro-mechanical system, but ultimately needlessly complex, expensive and they come with some severe reliability trade-offs (the extra cam lobes to drive the injector-pumps required the valve lobes to be narrowed, which will cause the cam & lifters to wear the hell out of one another if the wrong oil is used or if it is not changed regularly). Still, it is a great around-town vehicle and not really much of a hassle for someone who knows how to keep up on maintenance.

                I ran into this a while back and maybe you'd get a kick out of it. The injector pumps are covered starting on page 15.

                Transaction Feedback: LINK

                Comment


                  #23
                  Originally posted by bmwman91 View Post

                  Cool. Can you let me know how the signals look, as in does MS think that the wheel speeds are jumping around due to noise/ignition EMI, or is it fairly clean? A quick test is to idle at a stop and see if MS registers any wheel movement when parked. I did a bunch more poking around with the oscilloscope this afternoon and will need to put a bit more thought into conditioning the signals for the MAX9926 since ignition noise causes false triggers when the vehicle is not moving.
                  So I was actually screwing around with idle for a little over 15 minutes, including revving the motor a bit (trying to sort out an oil pressure warning calibration issue).

                  Zero false readings on the wheel speed sensors. Mine are not routed anywhere near the ignition though, closest point would be the passenger side where the wheel sensor connector comes in. I picked them up from the ABS connector to the ABS ECU, where wires to the MS just run through the dash to where the factory ECU used to be.

                  Comment


                    #24
                    So I played around a bit more with the oscilloscope and MAX9926 board today. This time I connected it to the wheel speed sensor inputs, but ran the engine with the wheels stopped. I'll need to work a bit on some filtering and changing threshold voltages since I was getting a good amount of ignition-driven false triggers. The MAX9926 is pretty configurable, and the little board I bought is by default set up to (basically) run at maximum sensitivity. It can be configured to have a higher minimum threshold before it'll trigger, and the input can be low-pass filtered to reject stuff like the ~10MHz ignition noise pulses.

                    Here's a false trigger with everything grounded at the ABS computer. Blocks of these pulses were occurring at ~30Hz at idle, which coincides with 900RPM, so it is most likely a product of the ignition system. Fuel injectors could also be making some noise since they produce ~80V flyback spikes when they close, which are clamped by the driver ICs in the ECU and dumped to ground. ignore the cursor measurements, I forgot to turn them off.




                    I captured a bunch of these, and while many had spikes from the ignition, some were triggered by ~200mV drift in the wheel speed sensor voltage (the MAX9926 is VERY sensitive when set up to be). Based on my signal captures, the wheel speed sensors put out ~2Vp-p with the car idling in first gear, which is SLOW, so I could probably set 1.5V as a minimum threshold and be good.

                    Here is what it looks like with the oscilloscope grounded at the ECU, and the MAX9926 still connected over at the ABS computer. Basically, this is what the ECU would "see" coming from it, although I suspect that some of the extra noise spikes are EMI being picked up by the 4ft ground wire I ran from the ECU ground point to the driver's footwell. Everything starts acting like an antenna to some degree.




                    Here's that big noise spike, zoomed in. Again, this is mainly >10MHz noise here, and based on measurements with the wheels moving I think that the wheel speed signal will be ~1600Hz at like 150MPH, so I can definitely put some low pass filtering on the MAX9926 input.




                    Other than that, it's back to work tomorrow and I think that the remainder of 2020 will be fairly busy for me. Progress on this may be slower than I like, but I will keep the updates coming.

                    Transaction Feedback: LINK

                    Comment


                      #25
                      subscribed.

                      Simon
                      Current Cars:
                      -1999 996.1 911 4/98 3.8L 6-Speed, 21st Century Beetle

                      Make R3V Great Again -2020

                      Comment


                        #26
                        Originally posted by 2mAn View Post
                        subscribed.

                        Good times. Maybe after I finish this, AND I get that repaint job, I will see if I can bug you about getting back on that E30 of the month thing lol...only multiple years late on that one!



                        I am basically done with the wheel speed signal investigation stuff today. I had some spare components laying around and redesigned the input to the MAX9926 so that it would much more effectively filter noise out. You may be wondering why I am starting out putting so much effort into setting up the signals for traction control, since it is probably the least necessary part of this project. Well, it's sort of the only part that is "new" to me in terms of the electrical stuff. Some of you may recall my Motronic reverse engineering thread, and my engine harness rebuild earlier this year...there's not much mystery there for me, so I am just tackling the thing I am least familiar with first.

                        Anyway, I swapped out the 1nF cap that this little board came with for an 8.2nF cap in my spare parts pile. That went on the positive input line after the 10K resistor. For the negative input line, I jumped it directly to ground (bypassed the 10K resistor) since the second wire of the wheel speed sensors is also grounded. If both were actually usable, this never would have been an issue to begin with since the MAX9926 works a hell of a lot better with differential signals, but oh well, the E30 is old and just designed that way. For the 4 channel board I will design for the permanent install, I will probably make the low pass filter even more aggressive since I only need it to work for an input of 2kHz (that's like 180MPH...which is a lot faster than the car can go).




                        After hacking together the changes I went back out, removed the knee bolster and shoved the wires into the rear of the ABS plug's terminals yet again. The result was ZERO false triggers with the car running. The ignition noise spikes were still there of course, but the disturbances they created were of too small an amplitude and too high a frequency to trigger the MAX9926. The noise still gets through a little, but not nearly enough that it would register as a logic-high state anywhere.
                        Yellow = MAX9926 output (no false triggers wanted here)
                        Green = Filtered input signal
                        Blue = Raw/pre-filter input signal
                        Note the voltage scales.




                        Zoomed in a bit more on the central spike.




                        I also lifted a wheel and played around to see how slow I could spin it and still trigger the MAX9926. It looks like ~6.7Hz, or ~0.6MPH. So...I think it is plenty sensitive.




                        Just for fun, here's a capture of me using my foot to give the wheel a big push and letting it coast to a stop again. I managed to get it going a whopping 7.4MPH! The Wavetrac diff did present a little bit of resistance to spinning one lifted wheel.




                        That's enough fooling around with this for now. At some point I will have more than oscilloscope shots to share lol. Well, it'll probably be Excel tables of wiring diagram pinouts and drawings of the harness before photos of anything actually interesting show up lol. Madness? This is NERD OCD!

                        Transaction Feedback: LINK

                        Comment


                          #27
                          I read through this thread a few times in the past week or two and I still need to spend some more time with it to wrap my head around the ABS wheel speed hijacking...

                          I am impressed with how far link has come in the past year or two? Last I checked the old G4 PNP setup was not nearly as good as the offering you jumped for.
                          Link in general seems like a very popular option in direct comparison with ECUmaster EMU Black, which at the time seemed to have an edge. Now that edge seems to have rapidly flipped.
                          Just based on spec sheet and popularity I don't think you can go wrong with the Xtreme.

                          for the ABS I'd be interested in doing something similar on MS41, which comes with that ASC-T traction control setup. I deleted the second TPS that it uses to choke the engine, but there is still a torque reduction ign retard table in the ECU. It's just triggered by a signal on an input pin, (Edit: I now believe the ASC-T module just feeds it 5V to trigger this table, so it should be easy to toggle on/off at least)
                          Might be worth more investigation because converting/processing the wheel speed data seems much more feasible now than before...

                          Big thanks for sharing all of this
                          Last edited by Northern; 12-23-2020, 09:17 AM. Reason: table trigger update
                          Originally posted by priapism
                          My girl don't know shit, but she bakes a mean cupcake.
                          Originally posted by shameson
                          Usually it's best not to know how much money you have into your e30

                          Comment


                            #28
                            Quick update regarding wheel sensors and traction control - obviously this is for my MS3 but I think it is workable information for other ECUs as well.

                            Right now I have the front two wheel sensors on VR inputs into the MS. I don't have anymore VR inputs, so I am currently using the speedo out signal to represent the rear wheels (speedo out is driven by the diff sensor). For reference, VSS2 and VSS4 are the front wheels, VSS1 is the speedo/rear wheels.

                            The resolution on the speedo out sensor sucks - 2.4 'pulses' per revolution vs 48 for the ABS sensors. Even so, I was able to capture the following by breaking out the rear end in second gear:

                            Click image for larger version

Name:	RearWheelSpin.PNG
Views:	286
Size:	27.1 KB
ID:	9966181

                            Response time from the MS is ~0.3 seconds, which I suspect can be significantly improved by using a VR to hall converter on the two rear wheels and bringing in those signals. I am also not seeing any weird spikes or obviously wrong data in the log, which is nice.

                            Comment


                              #29
                              Cool work on the wheel speed input. I wish I had experience with circuitry! I just dive in when something is not working like I expect and try to learn why.

                              Im familiar with the PD engines. They have a “unit injector” which was a precursor to the common rail system to boost injection pressures. Like most engine changes, the purpose is to meet more stringent emission regulations!
                              -Nick

                              M42 on VEMS

                              Comment


                                #30
                                Originally posted by JehTehsus View Post
                                Quick update regarding wheel sensors and traction control - obviously this is for my MS3 but I think it is workable information for other ECUs as well.

                                Right now I have the front two wheel sensors on VR inputs into the MS. I don't have anymore VR inputs, so I am currently using the speedo out signal to represent the rear wheels (speedo out is driven by the diff sensor). For reference, VSS2 and VSS4 are the front wheels, VSS1 is the speedo/rear wheels.

                                The resolution on the speedo out sensor sucks - 2.4 'pulses' per revolution vs 48 for the ABS sensors. Even so, I was able to capture the following by breaking out the rear end in second gear:

                                Click image for larger version

Name:	RearWheelSpin.PNG
Views:	286
Size:	27.1 KB
ID:	9966181

                                Response time from the MS is ~0.3 seconds, which I suspect can be significantly improved by using a VR to hall converter on the two rear wheels and bringing in those signals. I am also not seeing any weird spikes or obviously wrong data in the log, which is nice.
                                Hmmm. I know that the toothed wheel in the diff has 9 teeth per revolution. It had always been my assumption that the cluster duplicated or passed-through that signal, but you are saying that your measurements indicate 2.4 pulses per revolution? That's garbage lol. I am definitely going to be developing a 4-channel VR-to-TTL module, and I can assemble some spares that I can make available at a very fair price. It'll be a little board in a 3D printed enclosure that nests nicely above the knee bolster thing, next to the ABS computer.

                                Transaction Feedback: LINK

                                Comment

                                Working...
                                X