boiler control

Hello every one , i`m new to the Arduino world and i will like your help.

I just bought a caravan and the boiler motherboard is shot. I want to use an arduino nano to control the boiler but im having problems coding and also im short on time.

The boiler has the following compenents:

1 over temperature sensor with a NC contact and it breaks the circuit when the water reaches certain temperature (80 C )

1 thermistor for measuring the temperature ( the boiler had a controller and i can select the desired temperature from 30 to 75 degrees and the boiler is turning on and off to keep that temp)

1 electrovalve for turning the gas on and off (it has 2 coils , a push coil and a holding coil to hold it open)

1 Spark generator and a flame sensor with rod .

After studying a boiler similar to mine but working the motherboard does the following things.

When turned on it generates a spark for 10 seconds continuously. after 2 seconds is turned on the gas valve opens and the flame ignites. if no flame is present the gas valve turns off and the whole process repeats 3 times.

If the over temperature sensor is triggered the boiler shuts off with no attempt to restart

The flame rod gives 0mV with no flame and 200-250 mV with flame present. it has a common ground with the boiler and just one wire.

a also have an lcd for the Arduino for displaying the temp and other info

Any help is most welcomed

Attach your code and we will help you

Thanks, Akash

that is the problem , i don`t have a code :sweat_smile:

From a technical point of view it seems an interesting project and you appear to have gathered almost all of the necessary information.
You've got to condition the signals so these can be reliably read by the arduino, and you have to know how to drive the spark generator and solenoid valve.
You'd use a finite state machine to model it all in code and must ensure the design is fail safe. For example, you don't want some interference on that 250mV sensor tricking the Arduino into believing falsely that a flame is present and releasing gas.

Having said all that, I personally would get a professional to repair it. With gas appliances, you have the additional risk of carbon dioxide monoxide poisoning if the burning isn't clean in addition to the explosion danger, the risk of the boiler running dry and causing a fire etc.

well i have a carbon dioxide alarm already fitted and the boiler is getting no power if the water pump is not on.
the solenoid valve has just 3 wires one is common ground and the other 2 are just +12V. First is energizing the push coil and after that is energizing the holding coil and turning off the push coil.
The sparg generator is powered at 12 volts and has 2 pins. if i put a switch and i press it , generates a spark as long as the buton is pressed.

The boiler even if it runs dry it has that over temperature bymetal switch that turns off the entire thing.

What i need is simple , the arduino nano shoud control just 3 relays:
one for 10 seconds to generates the spark
one to be energized for five seconds to open the valve
one to be energized for 15 minutes to hold the valve open.

As for the inputs:

If the bimetal switch is trigered the valve closes
the temperature sensor is not required but would be nice to have. with a potentiometer to select the required temperature and the arduino just goes into a loop. if i set 60 degrees , the boiler starts and runs until reaches 60 degress and stops , then starts again when the temperature drops below 10% of the selected temperature.

the flame sensor is just a rod above the flame , nothing fancy.

to repair it profesionaly it takes around 4 weeks and 1500 euro , to buy a new boiler is around 3000 euro and same time frame. the old board has no logic on it , just transistors and relays , arduino is 10 times safer than that.

OK. If the old mother board is so simple, then one option would be to attempt to repair that.

Anyway, the next step would be to draw a schematic of all the components, including power supplies etc. and maybe collect some data sheets together, e.g. that describe the behaviour of the that thermistor, and work out some sanity checks e.g. >300mV reading from the flame sensor means the reading can't be trusted.

If you want to pay some one to do it all, then you can get the post moved to the "Gigs and Collaborations" part of the forum by a moderator. Just click on the "report this post" link.

6v6gt:
Having said all that, I personally would get a professional to repair it. With gas appliances, you have the additional risk of carbon dioxide poisoning if the burning isn't clean in addition to the explosion danger, the risk of the boiler running dry and causing a fire etc.

Carbon dioxide will suffocate, not poison and is an expected by-product of gas combustion.
Carbon monoxide is poisonous.
But yeah, don't mess with gas.

TheMemberFormerlyKnownAsAWOL:
Carbon dioxide will suffocate, not poison and is an expected by-product of gas combustion.
Carbon monoxide is poisonous.
But yeah, don't mess with gas.

Yes. Of course I meant carbon monoxide (CO) but was probably thinking greenhouse gas (CO2) as I was typing, which is much more benign, but also not in large quantities: Three die in dry-ice incident at Moscow pool party

6v6gt:
OK. If the old mother board is so simple, then one option would be to attempt to repair that.

Most sensible approach.

If you do not know how the old one works, you are asking a lot to build a new one. :roll_eyes:

Im a boiler engineer - boiler motherboard maybe look simple but is not. First different boiler have different starting procedure. Some first ventilate the combustion chamber-another not. Second spark should be created for very different period depend of boiler construction. If flame is not detected should repeat procedure or get locked. If you open the gas and spark ignite bigger amount of gas micture will explode.Next problem to shut off gas when flame not detected. Some boilers have modulated gas valve which change amount of gas. Some boilers have fan with rpm control when other have pressure sensors. Too much deadly danger variation to play with. Call Gas Safe enginner to fix your boiler.

This boiler is as simple as it gets. No fans , modulated valve , etc. It ignites a spark for 5 seconds , during those 5 seconds it opens the gas valve. If no flame detected it tries again 2 more times. If it fails it locks. The thermistor is just reading the water temperature , the bimetal when trigered , shuts the gas valve off.

I do not worry so much about carbon monoxide because the caravan has a sensor inside with a gas shut off valve .

The boiler burner is not inside the caravan is actualy outside , inside is just the water tank , the burner goes outside trough a hole in the floor and is whater tight .
Anyway , i managed to do it , i used XOD for programing. I implemented the thermistor to read the temp and a potentiometer to set the desired temperature. Tested the thing with hot water and is shuting off when reaches the preset temp , and on again when the temp drops by 10 degrees. The bimetal trips at 81 degrees

The spark and valve push and hold coils are working as expected , the only thing that remained , is how to read the flame sensor , but i think i can get it to work with a ne555. 555 is reading the sensor and if flame detected it gives a signal to arduino.

I will test the boiler with the arduino for few days , trying to simulate diferent failures , no flame , no gas , flame goes out , no spark , etc. I'm not that dumb.

You said the flame sensor has a range of 0 to 250mV.
You may be able to read that directly with an analog pin on the Nano using the function analogRead(). It will give a very low reading with the standard voltage reference of 5volts. It may be about 50. You can change the reference to 1.1 volts. analogReference() - Arduino Reference
Obviously, it is critical that this does not give a false positive.

The only role I see for 555 timers here is as a watchdog in case the Arduino crashes and is no longer able to shut the gas off, in the case that the flame goes out (momentary interruption of the gas supply) etc. The Arduino would generate regular “I am alive” pulses and these would be monitored.

I would suggest , as others have said, this is not an Arduino project . In fact in the UK for example, any such a modification would be illegal.
Imagine a fault with your setup whereby it turns on the gas for 10minutes , then the spark ...
Get a new board.

ohhhhh i know everything about UK , i lived there for 10 years. nice country , nice hospitals (leg broken? no problem take paracetamol , missing limb? paracetamol is the way , tooth pain? come back when it doesn`t hurt). I know is illegal to make gas works in uk and many other things too.

My setup is not turning the gas first then the spark , it generates the spark for 5 seconds continuously , in those 5 seconds the gas is open for 3 seconds. If no spark detected . takes a break for 1 minute to vent the gas and tries again 2 more times. If no flame detected it locks , and i have to manually reset the Arduino.

i changed the flame sensor with a termocouple from a truma gas heating. it has a contact at the tip and 2 leads . the termocouple controls the holding coil. if the tip gets cold the electrical contact is open and the valve closes. Is fast acting , under a second

Arduino is controlling just the start sequence.

  • generating sparks
  • 2 seconds after the sparks started the push coil is energized
  • keeps generating sparks and releasing gas for 3 more seconds
  • after 5 seconds the arduino stops the spark generator , turns off the push coil and energizes the holding coil. If the flame is ignited , the thermocouple is hot and the contact closed , completing the circuit and the valve stays open, if the thermocouple is cold , contact open and the holding coil can`t be energized = valve is closing when the push coil is turned off,
  • repeat start procedure after 1 minute
  • three failed attempts = locked and manually reset

If the flame turns off the thermocouple gets cold , breaking the circuit between the coil and the relay = valve is closing.
If the thermocouple gets hot somehow and the relay is energized the valve wont open.
If the spark generator breaks and arduino has an error and is keeping the valve open there is a gas sensor with an electronic valve , the gas is turned off immediately and valve has to be manually reset

lorenzo620:
ohhhhh i know everything about UK , i lived there for 10 years. nice country , nice hospitals (leg broken? no problem take paracetamol , missing limb? paracetamol is the way , tooth pain? come back when it doesn`t hurt). I know is illegal to make gas works in uk and many other things too.
. . .

Interesting outburst.

Well, the health service over there also has one convincing advantage, namely that it is more or less free for the end user. Having said that, there is no dispute that you get what you pay for.

The other thing is this that this is an international forum and some users come from countries where product liability is a big legal industry so have a heightened awareness when it comes to such topics (coffee cups having to be labeled so the user is aware that the contents may be hot etc.)

Further, the person who has this type of hobby and spends a lot of time in this forum, or over a smouldering soldering iron etc., is likely to live by a narrow rule set where laws such as maximum parameters in data sheets have to be respected, and naturally this extends to national laws.

Anyway, I'm pleased you appear to have succeeded with this project and can now enjoy your outdoor activities.

6v6gt:
Interesting outburst.

Well, the health service over there also has one convincing advantage, namely that it is more or less free for the end user. Having said that, there is no dispute that you get what you pay for.

He is also quite wrong in his prejudice.