Arduino powered ECU for diesel engines

I once bought an engine without original ECU unit at all. So i did have choice to find original ecu or bring own solution for that, and i did choose later option.

So here is it, running fine on test bench: DMN-EDC running and fine tuning - YouTube

This engine (Audi 5cylinder TDI) has Bosch VP37 injection pump on it. I had to fully reverse engineer all controlling parameters for it.

Configuration can be done over USB real time (ANSI/VT102 text-mode user interface), there is also Debugging and Monitor software written in processing which includes meters display, data logging and of cource - terminal emulator for to connect the boards UI.

More information on my website: http://dmn.kuulalaakeri.org/dmn-edc/

1 Like

This is....how do I put this....FREAKING AWESOME!!!!!!!!!!!!

Will read about it this weekend. Thank you for sharing.

How did you establish the fuel mixture map?

Injected fuel amounts was determined using by running engine with fixed amounts. This had to done carefully because too much injected fuel and engine with no load can cause runaway situation when engine rev's until something is broken ... But after i found good cold start values and idle values i was able to create first injected fuel = TPS vs. RPM table and the engine was starting good and idling quite good.

Intake air volume is not yet measured in any way, because diesels run unthrottled. But i plan to add map sensor and boost map when using turbochargers.

How long did the whole project take? And I ask with the assumption that you likely didn't work on it exclusively until this point.

Absolutely impressive! Nice live data, live tuning feature!

I started it about half year ago, by testing injection pump control routines in my garage by winter time (It was around -20C outside, and not much warmer in garage..). I did initial engine runs on engine in spring in my workshop, and now during summer holidays i did bring entire engine bench on my pickup's stage to home where i have time test it more while watching kids :wink: So there is 2-3month "gaps" in development, but that's ok for a hobby project.

Real time maps & configuration editor is useful feature, i was very happy with it with my previous project, which was a VNT Turbo Control (VNT/VGT = Variable Geometry Turbo).

I wish to have enough spare time time even add support to more modern common rail diesels, THAT would be a killer feature :slight_smile:

I am struggling to understand this atm.
With the fuel injector pump , it pumps to each injector separately yes?
To rev the motor you turn the throttle lever normally and the pump puts out more fuel or a longer pulse of fuel yes?
So is this pump controllable ? Can the pulse be controlled otherwise than with a lever? You use a pot.
If the ECU controls it does it even have a lever then?
Perhaps you might just explain how it is working thanks

Is this a common rail diesel? If that's the case, what are you firing the injectors with, hardware wise? I'd be interested to see the board you built to drive the injectors.
If it's not common rail, you're simply fine tuning the adjustments on a mechanical injection pump, which is cool in it's own right.
What are you using for an RPM input circuit?

It's a distributor type Bosch VP37 pump, with closed loop PWM controlled quantity adjuster (fuel amount) and closed loop PWM controlled injection timing. So there is no mechanical controls visible in the pump. It's a electonic version of classical fully mechanic Bosch VE pump. So the fuel is delivered mechanically to injectors, but injection parameters are set electronically. This pump is very common on older VW TDI cars, and many others ~1993-2000 cars too.

Bosch electric in-line pumps (found on some MB OM606 engines) does use same operating principle, and i think this software would handle them also.

RPM is read using stock sensor and simple LM1815 circuit.

I see ,then its a very nice job you have done !

Your system is an amazing accomplishment, something that has completely taken us by surprise.
Congratulations!

that is simply awsome,

Very interesting.

synkooppi,

What kind of resolution or precision in milliseconds do yo have on controlling the timing of each injection?
What kind of precision can you achieve in the injection quantity?

Do you have ideas to control a common rail injectors? In theory, do you think Arduino Mega is fast enough to process it?
It would very nice to control a modern common rail engine such as OM642.

Why use a Mega when the DUE is out now? The DUE has oodles of ram, as well as having a native CAN bus. It'd make an awesome ECM.

synkooppi:
I once bought an engine without original ECU unit at all. So i did have choice to find original ecu or bring own solution for that, and i did choose later option.

So here is it, running fine on test bench: http://www.youtube.com/watch?v=qj0S2_57EU4&feature=player_embedded

This engine (Audi 5cylinder TDI) has Bosch VP37 injection pump on it. I had to fully reverse engineer all controlling parameters for it.

Configuration can be done over USB real time (ANSI/VT102 text-mode user interface), there is also Debugging and Monitor software written in processing which includes meters display, data logging and of cource - terminal emulator for to connect the boards UI.

More information on my website: http://dmn.kuulalaakeri.org/dmn-edc/

Very nice Project. Please continue posting yr progress.

UnaClocker:
Why use a Mega when the DUE is out now? The DUE has oodles of ram, as well as having a native CAN bus. It'd make an awesome ECM.

Simple answer: The ATmega chip is like $4?

Are you still playing with all this?

I am involved with another DIY ECU project and I wonder if you have the time to help us add diesel support, at least by trying our board & code on your test engine?

Hi is there someone who programmeda faulty ecu for motor scooter with arduino please?
Thanks
Andrew