It's been a while since I added to this thread so I just wanted to post an update on my system...
Here and there I've added tweaks and refinements to the control code and I really have it nailed pretty well. The only time it deviates more than .5 degree off the set temp is when it gets up in the upper 40's (or low 40's and is a clear and sunny day) or if the temp drops low enough that the stove just cannot produce enough heat to maintain (when it's low-teens or colder at night). Well, weird weather can trick it out too and we've had some of that lately where the outside temp drops really fast. But even then it doesn't get too far off the mark because if it gets more than 1 degree off, it kicks the coal feed into overdrive.
For the 2010-2011 season I added a DHW loop and a 2nd water tank to preheat my hot water. That has been great...the colder it gets, the lower my electric bill gets and the hotter our showers get
. I've already had the water temp in both tanks approach 170'F when we've had the reaaally cold nights.
As I'm learning more about microcontrollers and electronics, this season I decided to add an Arduino microcontroller into the mix. Currently I use it as an interface for the temperature sensors I have on the hot water tanks and also to provide output to two small LCD screens that give me primary readings "at a glance." As of now I don't have any control logic running on the Arduino, but for next season (if I have the time) I would like to put some basic control on it as a backup in case of PC failure -- which is bound to happen some day, but for now, that 10+ yr old HP P3 (or is it a P2??) just keeps running!
Recently I added a really convenient feature: I mounted two buttons on the wall near the stove. One is a "pause" button, the other is a "resume" button. When it's time to swap the ash pan, I hit "pause" and all the fans and coal feed stop so I can open the stove up with a minimum of dust. When I'm done, I hit "resume" and they all start up again. Additionally, I have a 3 minute timer on it in case I forget to press "resume" it resumes on it's own. (That feature implemented after I did, in fact, forget to press resume and the stove almost went out
Finally, I made my status window a little prettier by making it more graphical (screenshot). My inspiration for the design was the old Atari 800 game SCRAM, and if anyone here actually played and remembers that game, you can see my screen is about equally primitive....