Go Down

Topic: eberspacher d5wz controller (ecu replacement) (Read 12621 times) previous topic - next topic

leecckr

Apr 13, 2014, 08:05 pm Last Edit: Apr 13, 2014, 08:11 pm by leecckr Reason: 1
hi guys, so this is all new to me but i have made the effort and done all the learner projects, i have limited understanding and I'm still learning as much as i can so i figured i would try and achieve something with a practical outcome, i have a ebespacher d5wz which came off a mercedes vito moons ago and the ecu is toast, the 6volt glow plug was gone too, i have substituted the 6volt plug with a 12v item and had the heater running manually but what i would like to do is control it with a arduino uno (great fun love it) basically what I'm after is some ideas on what the code would look like, a basis for me to tweak if you like. i will list the sensors etc then explain what i need to achieve. ok so the heater has a glow plug (now 12v)  a fan (8v i think) a fuel pump (12v pulse type) there are 3 other sensors a flame detector, water temp sensor and a over heat sensor(not sure why it needs both of these?)
so what i need to do goes something like this:- purge air fan (xxseconds) then off, glow plug(xxseconds) then off,fuel pump (xxtimes)then off, then the fan starts slowly the fuel ignites and the fan builds up speed slowly.
so i also need to know the fuel has ignited(flame sensor signal) and if not we start again, this didn't seem so complicated in my head but now i put it in writing it seem daunting, the over heat and temp sensor would provide a input to stop the fuel, seems fantasy at this time but i would also like 3 temp settings ( fan speed and fuel pump) and a programable timer :-/
i like to jump in there its the only way to learn !!! hope you guys can give me a starting point. forgot to mention the water pump which just needs a 12v on/off

raschemmel

We need more information, starting with a schematic hand-drawn  with a dark pen on white paper photographed with a cell phone and posted on the forum here. Then we need all the power dissipation specs or current ratings of all the devices.
Last but not least, a more organized algorithm composed of words like
POWER ON
1  Device(s) energized on power on
2 check temp
3 if temp <  T1 => turn on device 3
                 else, device -3 OFF
4 IF Temp > T2 => turn on device 4

and like that
Under the circumstances it is probably pointless to ask for datasheets or links to vendors but if the vehicle's owners manual is
available perhaps that might be relavant. I doubt the service manual is available but that would be the cat's whiskers.

Robin2

I presume you know enough to be careful and not have a fire or explosion that injures you or someone else. You will need to design your system so the flame goes out if anything goes wrong, including if the Arduino crashes.

I had an Eberspacher air heater and periodically it would depower the fan and (presumably) detect the voltage generated by the revolving fan to ensure that the fan was working properly.

I was going to suggest an approach to the code but I changed my mind because the logic of the system will be very complex and until you have that clear on paper there is no point even thinking about code.

As well as the logic that you think is appropriate for the system you will need to include logic that allows you to determine if your logic is correct when it comes time to test it.

I suspect you will find a maintenance manual on the web somewhere and it will probably have a trouble-shooting diagram which will probably help with the logic you need.

You may find it difficult to figure out how the sensors work (what signal indicates OK and what is not). Also you will need to prove that the sensors are not faulty.

Buying another device from a breakers might be more sensible :)

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

leecckr

hi here is a link to the manufacturers documentation including wiring schematic, yes i have enough experience not to blow myself or anyone else up lol, and if the arduino crashed then everything would be set to power down and the flame would burn out? not ideal but the chance of anything catastrophic happening would be pretty slim i would think. idealy the fan would continue after fuel stopped. i realise i may sound out of my depth, i have been diagnosing and working with vehicles and vehicle electrics for a long time, having discovered arduino i am trying to learn something that has interested me for a long time.

http://koti.mbnet.fi/svc/doc/Lammitys/Eberspacher/Hydronic/Hydronic%20B5WS+D5WS%20Documentation%20for%20installation.pdf

raschemmel

Pretty cool. That looks like a fun project.

Robin2

#5
Apr 13, 2014, 11:02 pm Last Edit: Apr 13, 2014, 11:05 pm by Robin2 Reason: 1

if the arduino crashed then everything would be set to power down and the flame would burn out? not ideal but the chance of anything catastrophic happening would be pretty slim i would think.


If it crashed just after switching the flame on what would switch it off when it got too hot?

Chances are only slim if you deliberately make them so. If you accidentally overlook something serious chance becomes certainty.

You need to take a notebook (or a document on your PC) and write down (not just in your head) every tiny step that has to be done to make the system work. This is not impossible, but it is not a simple system. That's why Eberspacher can charge so much for them !

You also need a detailed list of every possible thing that can go wrong so that you have arrangements to deal with them.

People here can give you advice about how to do a particular thing with Arduino code, if you know what needs to be done but are unsure how to do it. But they can't (and should not) design the system for you - the risks are too great. More importantly, you should not rely on any advice here (including mine) unless you know the person giving it is professionally qualified to give it (and just for the record, I am not).

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

leecckr

#6
Apr 14, 2014, 10:39 am Last Edit: Apr 14, 2014, 10:44 am by leecckr Reason: 1
If the arduino crashed there would be no fuel so the flame would die out, going to put a better description of the sequence and potential fail safes as suggested, but i found this if your interested.
https://www.youtube.com/watch?v=NE56AejpUlU

this shows the sequence it should follow
https://www.youtube.com/watch?v=VAV0cP55KIw

PeterH


If the arduino crashed there would be no fuel


That seems to be an assumption. How do you know it's a valid one?

leecckr

the fuel pump is a pulse type, no arduino no pulse no fuel flow, i have run this manually on the bench pulsing the fuel pump and manually controlling the fan and glow plug.

PeterH

That's a good answer. I would still be concerned about failure modes of all the sensor inputs (i.e. designing the circuits so that component or wiring faults gave a signal that tended to turn the heat off), and you also need to ensure that the pump control pulses are generated in software rather than in hardware (if in hardware, it would be possible for the pulses to continue even if the sketch had died).

leecckr

Hi the pulse would need to be generated from the sketch, the fuel pump requires a pulsed feed( I'm hoping to change the fuel quantity and fan speed for the temp settings eventually ) the ideal fail safe would be for the fan to continue if the flame was extinguished , I'm thinking if the fan was to fail and there was still fuel being fed the temp would rise(no air movement) and the overheat sensor would cut the fuel.

PeterH


so what i need to do goes something like this:- purge air fan (xxseconds) then off, glow plug(xxseconds) then off,fuel pump (xxtimes)then off, then the fan starts slowly the fuel ignites and the fan builds up speed slowly.
so i also need to know the fuel has ignited(flame sensor signal) and if not we start again, this didn't seem so complicated in my head but now i put it in writing it seem daunting, the over heat and temp sensor would provide a input to stop the fuel, seems fantasy at this time but i would also like 3 temp settings ( fan speed and fuel pump) and a programable timer :-/
i like to jump in there its the only way to learn !!! hope you guys can give me a starting point. forgot to mention the water pump which just needs a 12v on/off


Make sure you have thought carefully through all the failure modes and are willing to deal with the consequences if this device fails in the worst conceivable way at the worst possible moment.

Setting aside the potentially very significant safety issues, the way I'd approach the software design is to divide the sequence you have outlined into a set of discrete states and implement a finite state machine to control them.

For example, the first state would be 'off', and in this state the sketch would do nothing until it detected a 'start' signal. When it gets the 'start' signal it would turn the fan on and go to the 'purging' state. In the purging state it would monitor how long it had been in that state and when that exceeded some threshold it would turn the fan off and go to the 'glow plug' state, and so on. As well as the obvious events I've outlined above I assume you would allow for this thing to be switched off at any point (which would take it through a corresponding shut down sequence) and you would also be applying sanity checks to the various sensor inputs and handle any detected fault conditions appropriately.

Robin2 posted a working example sketch a while ago which demonstrated a good way to implement a finite state machine and manage timed actions.

Robin2


Robin2 posted a working example sketch a while ago which demonstrated a good way to implement a finite state machine and manage timed actions.


Here

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

leecckr

great guys thanks, i have lots to do and think about now, looks like i have some logic to work through before i start any code..........
i will report back

leecckr

the brief for the project is to control the heater with safety shut down(flame sensor and water temp sensor), 3 power settings(adjusting fuel pulse and air fan speed) and a 7day timer. I would also like to include a LCD display with the readings fan speed water temp etc...
http://youtu.be/NE56AejpUlU
The link shows the sequence, I have swapped the 8v glow plug for a 12v item the fan motor is 8.4v and it needs to run from a 12v supply and go into shut down if the battery becomes low.
The sequence I have come up with is
Start
Safety check (see safety)
Purge air fan xx time
Glow plug xx time
Fuel purge xx pulse
Fan low xx time
Fuel low pulse
Fan medium
Fuel medium
Fan high
Fuel high
Check flame (exhaust temp) if no flame shut down
Restart try 3 times

Safety sequence
Check water temp below xx
Check exhaust temp below xx (no flame

Running
Monitor exhaust temp, water temp,current drawn by fan motor and battery voltage,  shut down if out of range

Shut down
Fuel off
Fan high xx
Fan medium xx
Fan low until exhaust temp below xx
Power off shut down

The glow plug and water pump are 12v the fan motor is 8.4v
I would like to use external flame sensor in exhaust and water temp sensor (the original items are very expensive)

Go Up