I've recently purchased a Chinese Diesel Heater and while I'm impressed with the heater itself the controller that runs it is fairly lackluster. My biggest issue is that unlike a standard furnace or most heating appliances which shutdown when they reach temperature, diesel heaters do not, they continue to run on low until the temperature drops again.
I came across this project:
Which uses an arduino to control the heater similar to the way a thermostat would by reading the built in temperature sensor in the controller and issuing a shutdown command when the set point temperature is reached and maintained for a certain period of time and starting it up again when the temperature drops too low. Which seems like it would solve the problem. My issue is though that the temperature sensor in the controller isn't really that great. It seems relatively inaccurate compared to my wall thermostat and the range in the readings it gives seem off. It seems to consistently read too high and generally lacks a lot of the built in temperature differential stuff that modern digital thermostats have built in. The wall thermostat also has basic scheduling features I wouldn't mind taking advantage of.
I planned to base my project off the sketch I posted above and modify it so that it reads a pin connected to the wall thermostat and acts based on whether that's high or low rather than reading the temperature from the controller. That part seems pretty straightforward what I'm not sure about is the best way to read input from the thermostat. My first thought would be to use a 24v transformer and a relay of some kind that switches between 24v AC and 5v DC but I have no idea if such a thing exists. It also seems like there's probably a more simple and efficient way and it would be nice if there was a way I could somehow avoid having a separate 24v transformer as the thermostat is battery powered and the arduino will be powered by the 5v from the heater controller so if I can it would be nice to avoid having to use something that needs external power.
I don't have a lot of knowledge in these kinds of electronics. My background is more on the 24vac HVAC side not so much the low voltage DC, just the basics, so any tips or guidance anyone might have would be really appreciated.
I have looked into it and found conflicting information. The main issue around it seems to be soot build up. I've heard it both ways starting and stopping promotes soot buildup and running on low continuously causes soot build up. I see no reason why either of those should cause more or less soot buildup than any other usage of it. Firing the heater up on high and running it for a short time seems fine. That's how full sized forced air oil furnaces work and the the mechanisms behind them are essentially the same but scaled up. I imagine there may be more wear on things like the glow plug, but they are cheap and easy to replace.
The only thing I can think of that may be potentially disastrous is a cracked heat exchanger from heating and cooling the metal too often. But I don't really see how it would be any different than the intended usage. If they're installed in something like a truck cab, which they're designed for, they're going to be turned off and on fairly regularly. The controllers that ship with the heaters themselves come with built in on and off timers. The sketch as written in that github link takes the startup and shutdown sequences into account and will actually keep the heater running on low if the temperature drops too fast.
There is also an aftermarket controller available called the Afterburner created by the person who originally researched hacking Diesel Heaters that includes a the same functionality and people seem to use it without issues.
Not knowing the design of the burner and the near pieces I refer to steam engine operation: There hasty temperature gradients are more than awoided. Letting the hot parts raise slowly and thereby evenly in temperature prolongs the life of the system drastically. The pre warming is mandatory there. usually some 18 hours are used. Full speed ahead and the boiler pressure can be reached after an hour or so. Know that the boiler gets some 1 inch longer comparing cold and fully heated.
Anyway, not fire hazard as I read Your post.
Can You create schematics showing what signals an interface would concist off?
It is not in any way similar to steam boiler or any kind of high pressure systems. It's a small metal box with a heat exchanger on one side and a combustion chamber with an air intake and an exhaust that's drip fed diesel by the ml by a metering pump this heats up coolant which runs through pipes that carry the heat to the heat exchanger where it is cooled by the blower fan.
This is a quick schematic I guess. Sorry if it's a bit unclear. It's that circled area I'm most interested in. How to read the 24vac signal from the w1 terminal coming from the thermostat with the arduino. Just whether it's high or low.
Thank you. This looks like what I had in mind I think. Though I was doing some more thinking about it and right now the thermostat is hooked up to a trailer furnace switching 12v DC power. It's not made for it but it seems to work fine. I'm wondering if I could use the 12v power going to the heater and switch that between r and w1 instead. In that case I would just need a step down voltage regulator I think and would eliminate the need to deal with any 24vac.
Have you considered implementing a three-state control (on, low, off)? Also, your thermostat performs better because it has a heat anticipator. Most thermostats work just fine with 24V AC.
There are two-stage thermostats available that can achieve this, and they don’t cost much. Many big box stores carry them. I have one that costs less than $50 and has been working great, I use it mainly because it's controlling a hot water system.
The heater itself doesn't use standard controls and every heater has slightly different controls depending on which ECU/controller is shipped with your heater.
This document shows how just one of the ECU's works
And this document explains a bit about the controllers.
The controller has 3 wires a +5vdc, ground and a signal wire that sends encoded serial data between the ECU and the controller. There has been fairly extensive work done already on reading and writing data on that serial line with an arduino.
The heater itself is installed in a trailer and powered with 12v from the trailer's inverter. There is no 24vac in the trailer but last year I swapped the existing trailer furnace thermostat with a standard battery powered 24v house thermostat until the furnace broke down from something unrelated. The trailer furnace uses 12v which seemed to work fine with the thermostat despite the thermostat not being rated for it. This is what i'm trying to now use with the diesel heater.
A multi-stage thermostat would allow me to do some interesting things with the heater like fire it up at different levels depending on what stage the thermostat is calling for. One of the good things about the heater controller is that it allows fairly precise control over the firing rate of the heater. Anywhere from 1.5hz up to 5hz at 0.1hz intervals when the heater's in manual mode. I could have w1,2 and 3 set to fire the unit up or set the speed depending on what the thermostat is calling for.
There's actually a lot of potential in these heaters to tune them for maximum efficiency for whatever their install conditions may be. They're very simple, don't have many parts and can be ran at a very granular level of speed and fuel consumption. The biggest hurdle to getting the most out of them is the controller. I'm honestly surprised considering they seem rather popular in some places in the world and only seem to be getting more popular as housing situations worldwide are making people turn to alternatives that there isn't really many good options for controlling them that resemble the kinds of controls you get for home systems. The function more closely to a modern modulating furnace than they do old school forced air systems but their controls are stuck in the past.
The manual is useless. It's extremely poorly translated and contains incorrect information.
I swapped my ECU and controller for a different one. The link I posted in my comment earlier has the best information about the ECU currently in my heater. This one:
It's fairly detailed and is probably the best source of information lacking an official data sheet. According to the info in that link, the ECUs the author examined had their part numbers obfuscated so their data sheets could not be looked up.