Announcement

Collapse
No announcement yet.

M42 ECU Conversion: Link G4X / E36X

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

  • bmwman91
    replied
    Quick check in...

    I have not had time to do much with this project since the last update. Work has been busier than usual and I have a couple of bathroom remodels to do lol. Priorities!

    When I find the time, I do plan to take care of the machining work needed on the intake manifold, for the fuel line sensor, and I will probably modify the extra M44 oil filter housing just in case I want to swap it on. I'll get around to it at some point in the (relatively) near future. For now, I have been enjoying driving the car a lot since it still runs quite nicely even with stock management! I do feel like the exhaust is getting sort of loud, making me suspect that the guts of my now decade-old Supersprint cat-back are corroded out. Any suggestions for a replacement? I'd prefer something relatively quiet. The two Supersprint systems I have had have been pretty good in that regard, but they seem to be sort of expensive and only available here and there in group buys.

    EDIT: Looks like the SS exhaust is more available now than in previous years. Turner has some coming in about a week from now. Kind of pricey though...

    Leave a comment:


  • Northern
    replied
    Yeah sure I'd be in for two, why not.

    Leave a comment:


  • wazzu70
    replied
    Looks awesome and great progress! You are always pishing things and not just using whats easy or available. Love it!

    the M42 ICV with two pins leaves a lot to be desired! Ill have to see what it would take for me to control the 3 wire from my ECU.

    Leave a comment:


  • bmwman91
    replied
    Originally posted by Northern View Post
    Any idea what the finished would cost? I'm interested in one, maybe two.
    Based on covering parts costs + shipping, I can do a small batch of these for $60 each shipped (assembled PCB, 3D printed enclosure, screws & grommets). Two would be $110 since I typically ship USPS flat rate. If somehow these get more popular, the cost would have to go up to make my time worth it, or I'd need to get a solder paste stencil and hack a toaster oven to do reflow lol. Hand soldering these suckers takes more than an hour.

    Leave a comment:


  • bmwman91
    replied
    Originally posted by 2mAn View Post
    While most of the technical ECU / Electrical stuff is flying way over my head, I love how this build is coming.
    No worries, I'll keep dumping pictures in for everyone's enjoyment! It is a heck of a project, but thankfully I have no need to rush things.

    Leave a comment:


  • Northern
    replied
    Any idea what the finished would cost? I'm interested in one, maybe two.

    Leave a comment:


  • 2mAn
    replied
    While most of the technical ECU / Electrical stuff is flying way over my head, I love how this build is coming.

    Leave a comment:


  • bmwman91
    replied
    It's been a little while since I have been able to get much done on this project as work has been extra busy lately and home life also has its demands. But, here's a little bit of progress.

    Here is the M50 ICV after I belt sanded the barbs off and then smoothed things out with a convolute wheel. The silicone hoses go on a lot more easily now.




    I got the powder coated parts back, and they look really nice in crinkle black. It seems a little coarser and glossier than what I had done on the adapter plate for my M30 air box, but a little dust and dirt should make the tube blend right in, and nobody will ever see the ICV bracket anyway.




    The bigger thing that I finished was the quad wheel speed sensor conditioner. This one was properly laid out and works really nicely on my bench test setup. Noise rejection is good while still being VERY sensitive. I designed a little clamshell enclosure to 3D print for it which would keep it safe and integrate some little rubber grommets.








    I kept it fairly simple and easy to 3D print. Initially I thought about integrating some little flexible snaps to hold it together, but tapping screws are a lot easier in the long run, and won't get brittle over time. Also, I would have had to change the print orientation a lot to make strong snaps, which would have meant a bunch of support material being laid down inside the enclosure, and that just makes a mess so I avoid it whenever possible.




    It all came out nicely and everything fit well.






    I had a small batch of PCBs made for this. Folks who want one for their ECU projects can PM me and once I have a feel for how many people are interested, I can order more components and assemble them. The automotive qualified parts, particularly the MAX9926's at ~$8 each, are costly enough that I want to know exactly how many I need to order.




    Here it is all assembled, cleaned and sitting in its new home.





    Leave a comment:


  • bmwman91
    replied
    Originally posted by JehTehsus View Post

    Pretty much the only time I have had to touch asm on the TI Hercules MCUs is fault handlers and scheduler related bits, thankfully. I generally work almost entirely in modern C++, there are definitely standard library bits that need to be avoided in the embedded context but generally speaking I find it so much better to work with than C. The metaprogramming, atomic support and compile time capabilities blow macros out of the water and let you really leverage the compiler to build fast and/or space efficient code. Agreed about the computing power as well - it is extremely cheap to implement fast :multiorder IIRs and whatnot, ARM even has some easy to integrate libraries that make use of core-optimized assembly for example, which is going to make my life much easier on the cluster work since these old cars aren't exactly electrically quiet.
    Yeah, the alternator and ignition noise in the electrical systems is a real pain on these cars. It's a big reason why I added an active line driver/buffer output stage to the quad VR conditioner board...open drain outputs are great and all, but having a 5ft wire with multiple kOhms of impedance when the MAX9926 output is off is asking for nonsense. So (hopefully) the active line driver will help to sink any EMI that tries to make an appearance between the board and the ECU. A microcontroller and differential bus like CAN would be ideal, but I am hoping it won't be necessary.

    Leave a comment:


  • bmwman91
    replied
    I fooled around a little today to finish up the ICV installation plans. Since the 3D printed brackets seemed to get it where I wanted, I had some little 3/32" mild steel bits laser cut for the final bracket. I will be sending these out for black powdercoating this week as well.




    I have a little mini-brake that fits in my vise, and it was the perfect little tool for the job. I once used it to bend a 2" wide piece of 1/8" steel, and that was definitely the upper limit of what this thing is intended for. These little things were no problem at all though. I bent them, took them out to compare to the 3D print by holding it against it, put it back, bent it a little more, checked, etc., until it came out just right. The first one had a little oops in that I started bending it from the wrong side, but I straightened it out and proceeded to bend it the other way. Still, I could tell that the metal was getting a little fatigued, so it's good that I had 2 of them cut.




    Here is the final part. They were fully deburred and polished on my pedestal buffer using a convolute wheel ("Scotch Brite wheel"), but since they are just mild steel they will be getting some nice matte black powder coating. If anyone wants to use an M50 ICV, shoot me a PM and I'd be happy to sell you the second bracket at a very reasonable price lol.




    Using it to mount the ICV, everything was exactly where I wanted it.




    The next order of business was to get the hoses sorted out. Thankfully, there is an off-the-shelf solution that only required a little extra work. HPS makes some silicone reducing elbows which also have a fairly tight radius. The following parts were used (you can also search the PNs on Amazon and get them from resellers for less + free shipping):
    https://hpsperformanceproducts.com/p...ser90062087blk
    https://hpsperformanceproducts.com/p...ser90062100blk




    I had to go through a few rounds of test fitting and trimming, but it worked out well.




    Here is how they fit after I finished with the trimming:






    The only "questionable" part of this was the fact that I ended up shaving the barbs off of the dummy ICV. I was able to get the elbows on over the barbs but it was a giant pain and the fit was not amazing after trimming them and having the barbs up in the start of the 90 degree turn. If the hoses were for high pressure fuel I would not remove the barbs, but this is just the ICV which is never actually under positive pressure, so hose clamps will be just fine I think. I will do a much better job of shaving down the actual functional ICV that I will be using.




    The other thing I took care of was making sure that my MAF removal plans were going to work. As you can see from my setup, all I really need is a straight tube section.




    And wouldn't you know it, HPS sells the perfect part. No need for any fabrication at all, other than a little de-burring of the sharp edges on the ends. This is the part:
    https://hpsperformanceproducts.com/p...ll-4-inch-long




    Here it is installed. It will also be powder coated in matte black with the ICV brackets.




    That's it for now. The remaining mechanical items for me to do are to machine the fuel line tee for the PST-F1 sensor and to machine the intake manifold for the PST-1 MAP+IAT sensor. From there it is all wiring harness construction.

    Leave a comment:


  • JehTehsus
    replied
    Originally posted by bmwman91 View Post

    Ha, whoops! I have not worked with those MCUs, but it sounds like there's a bit of a learning curve, probably especially if you are working in ASM or C. After many years of writing PIC and dsPIC firmware in ASM, I have to say that I am a fan of the "dumbed down" C++ Arduino environment and the Teensy platform. A lot of stuff is far from maximally optimized, but there is so much computing power that it is largely irrelevant in a lot of cases.
    Pretty much the only time I have had to touch asm on the TI Hercules MCUs is fault handlers and scheduler related bits, thankfully. I generally work almost entirely in modern C++, there are definitely standard library bits that need to be avoided in the embedded context but generally speaking I find it so much better to work with than C. The metaprogramming, atomic support and compile time capabilities blow macros out of the water and let you really leverage the compiler to build fast and/or space efficient code. Agreed about the computing power as well - it is extremely cheap to implement fast :multiorder IIRs and whatnot, ARM even has some easy to integrate libraries that make use of core-optimized assembly for example, which is going to make my life much easier on the cluster work since these old cars aren't exactly electrically quiet.

    Leave a comment:


  • bmwman91
    replied
    Originally posted by JehTehsus View Post

    The challenge with those MCUs is all the safety stuff - ECC and parity everywhere, tons of monitors, redundant CPU cores, etc. There is a bunch of associated complexity in terms of handler routines and fault modes, as well as various reset types depending on fault source etc.

    Anyway long story short I loaded a binary while hacking together super basic LED hello world code that immediately trips some of the aforementioned goodies, basically forcing a reset loop. Seems to be too tight for the JTAG emulator to stop it. It may be possible to recover it... but I bought two, so for now I have added it to 'the pile'.
    Ha, whoops! I have not worked with those MCUs, but it sounds like there's a bit of a learning curve, probably especially if you are working in ASM or C. After many years of writing PIC and dsPIC firmware in ASM, I have to say that I am a fan of the "dumbed down" C++ Arduino environment and the Teensy platform. A lot of stuff is far from maximally optimized, but there is so much computing power that it is largely irrelevant in a lot of cases.

    Leave a comment:


  • JehTehsus
    replied
    Originally posted by bmwman91 View Post

    Ouch. Did you have some of the code protection / encryption stuff enabled? I have always been paranoid about that with the Microchip devices I've worked with in assembly since it sounds like you will very quickly end up with an unusable device if you make a mistake. Thankfully, most of them are like $5, rather than $50!

    Good work on the cluster project BTW. I have been following along with it and it is pretty cool. The stock speedo and tach are certainly nowhere near accurate or linear, and I've always thought it would be cool to have one powered by proper modern electronics, while still looking stock(ish).
    The challenge with those MCUs is all the safety stuff - ECC and parity everywhere, tons of monitors, redundant CPU cores, etc. There is a bunch of associated complexity in terms of handler routines and fault modes, as well as various reset types depending on fault source etc.

    Anyway long story short I loaded a binary while hacking together super basic LED hello world code that immediately trips some of the aforementioned goodies, basically forcing a reset loop. Seems to be too tight for the JTAG emulator to stop it. It may be possible to recover it... but I bought two, so for now I have added it to 'the pile'.

    Leave a comment:


  • bmwman91
    replied
    Today I sucked it up and made a little bit of an oily mess to test fit the PST-F1 and make sure that it would clear the knock sensor. At first I tried to eyeball the fit, and came up thinking "oh sh*t" when it looked questionable lol. So, I removed the oil pressure switch, tried to control the oil drainage (I'd guesstimate that ~6oz came out before the "clean" side of the housing emptied out) and installed the sensor. It was close, but it clears the knock sensor with the connector and boot.

    I don't entirely like how far out of the oil flow the thermistor tip is when using the thread adapter. It is probably 35-40mm away from where oil flows, and that's a lot of stagnant oil. Now, the housing is aluminum and conducts heat well, and has the full volume of oil flowing through it constantly, so I think that it should heat up to full temperature pretty well, but the response will probably be a little slow and I worry that it will cool off at highway speeds. I have a spare housing that I was thinking of machining to allow the sensor to be 10-15mm closer in than it is with the adapter, but I also don't really want to have to pull my nice clean, new engine apart again lol. The oil filter housing is pretty easy to swap, but for now I will see how things go with the adapter. Worst case, the response is slow or gets cooled by passing air and I swap on the machined housing.




    Here it is with a bit more light. The connector is sort of trapezoid shaped and in this orientation it has about the maximum amount of clearance. here it is with more light.




    I then unscrewed it a quarter turn to get the wide side of the connector & boot aligned with the knock sensor, and I still had ~1mm of clearance. So, even if when this thing gets installed for real it aligns in this "worst case" orientation I will have clearance (more than this actually, since it will be at least 1mm further toward the housing when fully tightened and compressing the crush washer properly). The knock sensor definitely needs to be pointing toward the rear though, as it would interfere if the wire was coming out toward the front. Anyway, I breathed a small sigh of relief once I saw that things would fit well. I could have always bought myself 2-3mm more by eliminating the boot since the connector uses individual wire seals which provide some protection & strain relief, but I am happy that the boot will fit (it is an "extra" from a 3-position JPT plug from a hacked-up harness).




    That's it for now. I have other non-car stuff I want to focus on for the rest of the long weekend lol. On the one hand I enjoy projects like this, but on the other hand I can get carried away with them and put way too much mental energy into them. I can feel that I need to take a step back and occupy myself with some other stuff for a week or two!

    Leave a comment:


  • bmwman91
    replied
    Originally posted by JehTehsus View Post

    Ha, been there. Spent hours and hours a few weeks ago just to figure out I was pulling down a line I should have pulled up on my proto cluster board... only to load a buggy binary and lock myself out of a $50 MCU (all the safety reset goodies on the ti chips can be a bugger early on, and I should know better...)

    Keep at it man, looks like great progress.
    Ouch. Did you have some of the code protection / encryption stuff enabled? I have always been paranoid about that with the Microchip devices I've worked with in assembly since it sounds like you will very quickly end up with an unusable device if you make a mistake. Thankfully, most of them are like $5, rather than $50!

    Good work on the cluster project BTW. I have been following along with it and it is pretty cool. The stock speedo and tach are certainly nowhere near accurate or linear, and I've always thought it would be cool to have one powered by proper modern electronics, while still looking stock(ish).

    Leave a comment:

Working...
X