[Success Story] ECU Mark 1

Your chance to introduce yourself and your vehicle
Post Reply
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

ECU Mark 1

Post by azm »

Hi everyone,

About myself
As I am new member, I would quickly introduce myself and the reason for being here :)

By degree a mechanical engineer, by heart a freak of complicated systems (built my own 3-axis CNC among the others), I found myself a way in automotive industry, where I work as Inverter Systems Engineer for about 3 years now. I was around cars long before being even able to walk. Since my father works as a car diagnostician/electrician.
Eventhough being Mech Eng, my daily working life consists of performing system simulations, analyzing Electric HW schematics, reading sensor datasheets, creating & documenting new concepts/approaches taking into account Firmware/Application SW capabilities etc...
However,... through the night, when sane people go to dinners or cinema... you can find me in a garage, running osci to see if my TIM interrupt handler works as expected or soldering some pcb for godknowswhat. The latter often goes with strange smell of burning plastics...

About my project
The reason being here, is because I started making my own ECU for petrol engine (which is conveniently laying in my fathers garage) with a following setup:
  • direct injection
  • sequential (4) cyl ignition
  • Hall sensor on Crankshaft
  • Hall sensor on Camshaft
It is a challenge I set for myself, a resolution till September 2021.

Fortunately or unfortunately, I jumped right into the topic and considering my limited knowledge of electric circuits and firmware... I struggled a bit. The uC I've chosen (smart move, hehe) is STM32, Nucleo with Cortex M0 (ye ye, needs an upgrade) to be exact.
So far I managed to make:
  • driver for Hal sensor Camshaft, which outputs current tooth number, frequency, some error checks, among others...
  • driver for Ignition (dwell and fire), with precise timing and minimum fault due to acceleration
  • driver for Injection
  • some simple maps for fuel quantity calculation (based on driver request, speed limit, nox limit, etc)
I also started to define a way to implement Ignition_Angle correction in case of knocking.
At the moment, all functionalities work well until 9000RPM-ish. Later on, dwell is giving me a headache (since the coils need enough time to energize).

So... it seems that all is going fine, but to be honest, I am not completely satisfied with it. I am having difficulties to imagine the HW part of the whole "thing", because I thought it will be "a piece of cake".

Luckily I found this forum and rusEfi project. I would be happy to contribute if possible and my time allows it. Questions that I am asking myself currently is, whether it is worth designing the schematic on my own, learning from rusEfi and existing ECUs, or shall I simply buy the rusEfi board and be done with it.
To be honest, I would love to do "everything on my own", to challenge myself and see every aspect of it... but I have to be frank with myself as well.

Looking forward for any discussions with you and glad to hear your advice,
Best regards
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

I know next to nothing about EE but some people believe that you need an https://en.wikipedia.org/wiki/Application-specific_integrated_circuit in order to control current on your direct injectors and your MCU just does not have the performance to do that on it's own - that's the part which stands out to me. Please share any of your schematics and DI is maybe the most interesting one to begin with.

I am sure that it's possible to create an ECU from scratch in 24 months for someone talented. It's really your decision which way you want to go - custom one-off or part of joint effort.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

PS: in my opinion rusEFI is a great basic ECU with tons of potential for cool features at the moment. So far, all we've done is laid the foundation.

Please consider taking our foundation and moving it forwards towards all kinds of smart ECU coolness.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
ZHoob2004
contributor
contributor
Posts: 153
Joined: Sun Apr 03, 2016 7:11 pm
Location: Tucson, AZ

Re: ECU Mark 1

Post by ZHoob2004 »

I can say I'm definitely in the do-everything-myself camp right there with you, but I'm fast approaching the wall of being interested in too many things to properly learn any of them enough to the level that I would like.

I think personally in your situation I would start with the foundation of rusEFI and fast-track the GDI efforts that are currently being made (I think up to firing injectors in-car and just short of running the high-pressure pump?).

I'm sure there are plenty of improvements that you could contribute to the rest of the project as well without having to remake everything from scratch.

But in the end, if it's about the challenge or learning experience, then go for it. Engine control (at its basic level) isn't that complicated. We managed to do it with tubes and springs for decades before computers got involved.
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

Re: ECU Mark 1

Post by azm »

Hi AndreyB and ZHoob2004!

Thanks for the feedback, I will definitely take it into consideration. To be honest, I am very much thinking about buying one rusEfi board. To have a basis and do a parallel project, simple ECU from scratch with a focus on a HW.

Anyhow, reply to AndreyB. I created a confusion with "direct" injection, didn't I? In my bullet points for engine setup, I made a mistake by saying "direct" injection (I think my mind was wandering off). However I did write a simple driver for injection, which is meant to handle port injection and not direct cylinder high pressure injection system. I apologize for making a mess :)

As of HW schematics for Injector driving. I have nothing, only links to existing HW circuitries etc. However I was thinking about using inexpensive IGBT drivers with combination of an IGBT.
Forgive me for asking (possibly idiotic questions) regarding EHW:
  • I seen in Frankenstein Schematic, that for driving actuators (such as injectors), you use some kind of "push-pull" with flyback configuration. I am wondering, why no driver was used? For example IGBT driver with primary/secondary side isolation.
  • Also inside schematic, MAX9926 is used, with a note "VR or Hall". I thought that MAX9926 is used for VR solely. It aint so?
It seems (at least to me) that HW schematics from you guys, is quite well documented. The layout and comments help out a lot. Now the big question is
In case I buy one of the boards. Which one would you recommend? The setup is as mentioned above (I've seen in some posts, that Cortex M4 is preferable). I havent done any further research therefore forgive me for asking something which might be obvious with a bit of scrolling through the forum. I find MicroRusEfi appealing, especially since the TLE from Infineon is used and I am used to their documentation from work (I mostly dealt with TLF, of course from a system perspective).

Regarding Direct Injection
I might be lacking an overview. But after reading the documentation from NXP https://www.nxp.com/files-static/analog/doc/app_note/AN4849.pdf, it seems that following this document, the implementation is quite straight forward. The only constraint being is the time.
Buuut... instead of using a complicated chip. Wouldn't it be possible to use the "charge-pump" configuration to raise the voltage of primary injector coil for a fraction of time until emptied. During that time, the "pump capacitor" supplies enough higher voltage to push higher current for "the peak". Then during the hold phase, the current flow would be as usual.
My idea comes from High Power IGBTs in High-Frequency Switching environment. The larger the potential difference between Source and Drain, the faster switch closes/opens. This is where charge-pumps come into play.
So what I want to say, perhaps is possible (with little modification) to expand circuitry with large enough 4 capacitors and couple of mosfets, to perform the "peak and hold". What do you think AndreyB?

Looking forward for your comments. :)

Best regards
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

I know very little about electronics, I am only a software guy here. Jared, Matt AndreiKA are EE people.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

Re: ECU Mark 1

Post by azm »

Are there any microRusEFIs available in europe? I am looking for a standalone kit. Same as this one here:
https://www.tindie.com/products/russian/rusefi-microrusefi-ecu-standalone-kit/
However a possibility to not pay 40€ for shipping to Germany.

Additionally, anyone had problems with JLCPCB part missing? For some weird reason, R2 (0 Ohm SMD 0805) resistor is not recognized. As well switches SW1 and SW2 are not even available. Any suggestions?

Regards!
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

R2 is do not populate on purpose.

Jlcpcb does not assemble these switches.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Gepro
Posts: 100
Joined: Sun Nov 01, 2020 2:15 pm
Location: France

Re: ECU Mark 1

Post by Gepro »

The part catalog of JLCPCB can be find here :
https://jlcpcb.com/parts

I see in the signature of "OrchardPerformance" that "Now keeping MRE and Proteus in stock in the UK, PM or slack for details."

Maybe you can see with him.
Simon@FutureProof
contributor
contributor
Posts: 413
Joined: Tue Jul 24, 2018 8:55 pm
Github Username: Orchardperformance
Slack: Orchardperformance

Re: ECU Mark 1

Post by Simon@FutureProof »

Just to update on this thread, AZM now has his MRE in his hands and ready for him to begin his rusEFI adventure.

Given his skills we should see him starting a car up over the weekend right? ;)

Welcome to the mad house.
Now keeping MRE in stock in the UK - https://www.FutureProofPerformance.com
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

Re: ECU Mark 1

Post by azm »

Hi Simon,

Thanks again for all the help your provided, it accelerated the whole thing quite a bit ;)
Given the Covid situation around the globe, I think our Christmas period will be mainly focused on Led lights on MRE instead of those on the Christmas tree :P

p.s. Just about now we finished the flashing part, we first tried flashing my own SW. Later next week we continue with full RusEFI SW. Our "labcar" will be seat arosa (4cyl, high Z injectors, nothing special), just to get a grasp. Later probably 1.8 engine found in VW Golf 2 GTI or or 1.2 TSI. We will see (hopefully next year I can have some good inputs for GDI topics as well).

Anyhow, I hope that everyone is doing fine and wish you happy holidays! ;)

Best regards
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

Re: ECU Mark 1

Post by azm »

HI everyone reading this!

So after couple of days (we started on Friday evening to be exact), we managed to assemble and test the MRE and finally connect it with the car harness.
After some initial failures (we forgot to supply Hall sensor and ignition angles were not correct), we managed to get the result visible in the video



The car (or shall we say, the mule) is Seat Arosa 1.0 AER with MPI and only one hall sensor, which is not even on the crankshaft. It is actually located on the camshaft. I would say, that it was a "piece of cake" to make it run. But obviously there was a huuuuge amount of work done by you guys, to make it look like "a piece of cake" :)

Now that we managed to make it run (quite stable at mid and high range RPMs), we plan to migrate our project into 1.2 TSI. For this reason, we would like to take part in GDI development and testing (mc33816, if it is still a thing).
My personal plan would be to get in contact with some firmware developers of MRE. I am interested in several parts that I am familiar with, but I am not sure if I do it in the same way (like runtime variable changing with TS, generic timing strategy, ignition/injection interrupts, etc...) since some of these parts I wrote as well and just want a confirmation, whether my "direction is correct". :)

Have a nice Christmas!
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

azm wrote:
Wed Dec 23, 2020 9:24 pm
firmware developers of MRE
I am sorry it's beyond my self control not to correct you here: microRusEFI is hardware. microRusEFI hardware has no firmware developers. rusEFI firmware is pretty universal regardless of hardware.

Most chatty talk happens on Slack https://rusefi.com/forum/viewtopic.php?f=13&t=1198
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
azm
Posts: 9
Joined: Fri Nov 06, 2020 5:38 pm
Location: Germany & Slovenia

Re: ECU Mark 1

Post by azm »

Hi Andrey!

Thanks for correction. Then who shall I contact for some firmware questions which may arise? Shall I just open discussion on Slack?

Thanks!
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: ECU Mark 1

Post by AndreyB »

Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Simon@FutureProof
contributor
contributor
Posts: 413
Joined: Tue Jul 24, 2018 8:55 pm
Github Username: Orchardperformance
Slack: Orchardperformance

Re: ECU Mark 1

Post by Simon@FutureProof »

Great news that its all up and running, did you solve the on board USB issue or do you still want me to send a new usb port over?
Now keeping MRE in stock in the UK - https://www.FutureProofPerformance.com
Post Reply