|
Build a Wood
Stove Monitor
Updated
10/31/2008 By Michael Simpson

Wood Stove Monitor in place

My house has a wood
stove located in the basement under our living room. It is a
very efficient stove and has reduced our electric bill by several
hundred dollars each winter. One problem is that in order to heat
the upstairs the basement must cook. A couple of my offices are
located in my basement so I need to figure out how to keep it from
getting so hot.
I decided to cut a
hole in the floor and add a register type vent to the living room.
I purchased the vent cover for a couple of dollars and its located in a
inconspicuous place next to the wall. It looks just like a
furnace vent.
After trying it out
a few times I found it did help heat the living room a bit better. I could
keep the stove turned down a notch which helped with the overheating of
the basement area. This was still not enough however.
I decided to add a
small 200cfm muffin fan to the vent. The actual fan is attached to
the underside of the vent and cant be seen from the living room.
This worked great.
The only problem was I had to manually turn the fan on and off.
At night when the stove was banked and the temperature would drop it
would be nice if the fan would shut off. I could just use
some type of thermostat but I also wanted to add an overheat alarm and
some sort of indicator that would let me know when it was time to trough
a few logs on the fire.
I decided to use
the Dios Ultra board because everything could be placed on the board and
the whole thing would cost less than most other controllers.
The Dios Ultra has a
small prototyping (experimental area) that can be used to hold the
DS1620 temperature chip and a small relay to control the fan.

The LED's can be
mounted right on the IO port header.
I also decided to
use the Kronos Siren for alarms and warnings because it already has a
driver transistor built in and can be driven directly by the Dios Ultra.
The whole thing will
be mounted on a piece of ply-wood so it can hang in position above the
stove.

I will mount
the fan connector on a small header so I can remove it when ever I wish.
A note about headers
The Dios Ultra can
be purchased with female or male headers. The use is totally up to
you. I prefer male or no headers for permanent projects and female
for bread board type projects that I will be tinkering with from time to
time. If you decide to use male headers checkout my
header application note on connections
options.
Hookup

Dios Ultra Board Hookup
Other Dios Chips
I'm showing the
connections to the ultra board but you can connect the DS1620, Relay,
and siren to any of the Dios Form factors. Just use the same
IOports so you wont have to make modifications to the program.
Fan Power
I don't show power
connection to the fan because it all depends upon the fan you use.
The Relay can switch 1A at 30v or .5A at 110v. You should
not need much more than this for a vent.
The Relay
The relay is a small
Telecom Type. It can be driven directly from the Dios.
You don't need any clamping diodes as they are build in. So pay
attention to polarity.
LED Indicators
I use a green LED as
a heartbeat LED. It blinks once each second after it polls the
temperature chip. This way know the program is always running.
I use a yellow LED
to indicate when the relay is on.
Tip: I mount
both the anode and cathode pins of the LED's to IO ports. This
allows me to source one pin and sink the other. This way I
can easily mount the LED's without connecting to a ground. Also
the LED's I'm using have internal resistors. If you don't have
access to this kind of LED then use a normal one with a 390 Ohm resistor
in series.
Mounting the
DS1620
Since the DS1620
chip is mounted right next to the relay I found that the energized relay
gets a little warm. This threw off the temperature readings.
To solve this I just used two 8 pin sockets to raise the chip above the
relay. It worked perfectly. A piece of tape or hot
glue can be used to make sure the sockets and chips are held in place.
Power
I use a small 12v
wall wart to power my Ultra. I even tap the 12volts to power the
small muffin fan. There are a couple places on the board you can
do this.
The Program
(download
it here)
Dios
'Stove Fan Program
func main()
gconst ontemp 99
gconst offtemp 97
gconst onhot 150
gconst offhot 145
dim clickcount as integer
dim clickflag as integer
clickcount = 0
clickflag = 0
output 3,7,8,12,13,14
low 3,7,8,12,13,14
dim celsius as float
dim fahrenheit as float
DS1620init(0,1,2)
'---------------------------------------------
'Main loop
'---------------------------------------------
again:
celsius = DS1620readtemp(0,1,2)
fahrenheit = CelsiustoF(celsius)
print {-0.1} celsius,"c ",fahrenheit,"f"
'=========================================
'Check to see if its warm enough to turn
' On fan
'=========================================
if fahrenheit > ontemp then
Relayon()
LEDon()
clickcount = 0
endif
if fahrenheit < offtemp then
Relayoff()
LEDoff()
if clickcount < 10 then
clickcount = clickcount + 1
click()
endif
endif
'=====================================
'Check to see if its too hot
'=====================================
if fahrenheit > onhot then
sirenon()
endif
if fahrenheit < offhot then
sirenoff()
endif
toggle 7 ' heartbeat
pause 1000
goto again
endfunc
func Relayon()
high 3
endfunc
func Relayoff()
low 3
endfunc
func LEDon()
high 12
low 13
endfunc
func LEDoff()
low 12
low 13
endfunc
func sirenon()
high 14
endfunc
func sirenoff()
low 14
endfunc
func click()
sirenon()
pause 50
sirenoff()
endfunc
include \lib\Dios1620.lib
A few notes on the
program
Time for log warning
The siren is much to
loud to use as a "time for new log" warning. In order to
tone it
down a bit I only turn it on for 50 milliseconds for the first 10
heartbeats when the temperature drops below the relay shutdown threshold.
Temperature
constants
The following
constants are used for setting the trip points for alarms and fan.
gconst ontemp
99
gconst offtemp 97
gconst onhot 150
gconst offhot 145
ontemp
When the temperature
jumps above this point the relay will be turned on.
offtemp
When the temperature
drops below this point the relay will be turned off. Also the
siren will be clicked to let us know the temperature has dropped.
You will have to tweak this temperature a bit for your stove and
environment.
onhot/offhot
These are used to
turn the siren on full power to indicate that things are getting a bit
too hot.
debug output
The temperature is
sent to the debug port each time it is taken. This will allow you
to make some test points. It is sent in both Celsius and
Fahrenheit.
Final Notes
I have been using
the Monitor for a few weeks and I could not be happier. When
the Time for Log alarm sounds. There is just enough embers left in
the stove to start the next batch of logs. I no longer have to
over stuff the stove. The temp above the stove (near ceiling) rarely
gets above 114 Fahrenheit.
The Parts
Dios 28 Pin Chip
DS1620
Relay:
Digi-Key Part # 255-1001
9 Pin Cable
For the KR Siren you will need to
build it in this Application note.
|