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
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
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.
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 :)
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.
Pretty cool. That looks like a fun project.
leecckr: 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).
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
leecckr: If the arduino crashed there would be no fuel
That seems to be an assumption. How do you know it's a valid one?
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.
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).
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.
leecckr: 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.
PeterH: Robin2 posted a working example sketch a while ago which demonstrated a good way to implement a finite state machine and manage timed actions.
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
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)
Your list is interesting but I don't understand why you have published it here. You haven't asked any question.
There is a good reason why Eberspacher used an 8v glow plug - it will still work well with a poorly charged battery. Ditto the fan motor.
I sympathize with your concern over Eberspacher prices. Have you seen the price of a new blower - which I had to replace just because you can't get at the commutator brushes to replace them. When the second motor failed for the same reason I bought a Wallas heater. At least you can replace small parts in them. I wrote to Eberspacher but they showed no sympathy whatever.
Hi sorry i never posted the question! I've been a bit preocupied with another project and trying to run a business lol, not enough hours in the day! I was looking for a idea as to what the coding would look like regarding the different fan speeds and the continued monitoring of the various sensors in a running state
leecckr: I was looking for a idea as to what the coding would look like regarding the different fan speeds and the continued monitoring of the various sensors in a running state
This is a very complex project. I don't think it will help for me to start the coding - you must do that. I don't mean to be unkind, but if you can't then the project is going nowhere.
Maybe this Thread about planning and implementing a project will give you some ideas - you already have a list, though perhaps not all of the items represent steps of the program logic.
Hi thanks for that, I'm not looking for someone to do the coding I was just looking for a little guidance , I think I know the start and the finish I was looking for some advice on the running state regarding the infinite loop in this situation as to how the coding would look and work. I'm sorry I'm trying to learn in my (very little) spare time and thought maybe someone could point me in the right direction. I feel your comment a little harsh as it translates to me , if you can't code forget it. I'm learning some what more slowly now I'm getting on but believe me I'm trying and Rome wasn't built in a day. I'm involved with some other forums and myself and other members do our best to help the new guys and the less experienced I just assumed this would be the same.
I feel your comment a little harsh as it translates to me , if you can’t code forget it.
Would you prefer me to tell you it’s dead easy and you will have it working with 5 night’s work?
It will be a challenge even for an Arduino expert.
If you are not already competent at Arduino programming you should work your way through ten or twenty smaller projects to develop your competence. By all means keep your Eberspacher project in the back of your mind. But the point of gaining experience is that it will help you to plan the project so it has a high probability of success.
I’m sorry if it sounds harsh, but the impression I have is that your present level of knowledge is not sufficient to plan the project .
Another important point to bear in mind is that you will run into many technical issues that people on the Forum can’t help you with (and I doubt if Eberspacher will help either) so you will need extensive skills to write and debug code and to diagnose problems.
And please understand that I am NOT saying that you will never complete the project - just that you may not be ready for it right now.