Just in time for my spring transplant-starting rush, I've finally finished the last improvements in the seedling greenhouse.
The passive solar absorber is great at heating up the air inside when the sun is shining, and the double layered plastic skin on the structure holds heat better than a single layer, but the structure is still subject to large temperature swings, especially at night. It's frustrating to reach temperatures hot enough to fry seedlings during the day (which means I ventilate the greenhouse to cool it off), only to see temperatures drop to freezing overnight. The trick here is to try to smooth out the highs and lows in temperature.
The core of the system is a 500 gallon water tank / seedling table. Since water has a much higher heat capacity than air, this represents a huge amount of heat storage (roughly 4000 BTU per degree F in the tank). The tank is insulated with rigid foam on the bottom and all sides, but the top is left uninsulated, which is where the most tender seedlings will be placed (thus giving them passive protection from cold air by way of gentle bottom heat).
I decided to build the tank out of plywood, insulated with rigid foam and lined with polyethylene film (the same clear plastic that covers the greenhouse). EPDM pond liner would have been a more durable choice, but it is expensive and I had the poly left over as offcuts from skinning the house. EPDM is superior for higher temperatures (which I will avoid - I don't want to cook the seedlings) and for UV exposure (which will not be a factor as the tank is opaque) so I thought this would be a good compromise to save money. Also, since the water won't be used for irrigation or come in contact with plants or soil, I wasn't concerned with leaching anything out of the plastic.
Instead of relying on the water passively buffering the temperature, I added a heat pumping system. I built a copper pipe heat exchanger, which I wrapped in aluminum soffit material to increase its surface area for better heat transfer. A simpler choice would have been to buy a commercial heat exchanger or salvage an old car radiator, but in these cases the system would have to be protected from freezing. To do that, the choices would be to pump antifreeze through the system (which would require a separate fluid resevoir and real confidence that the system would never leak) or to drain the system if deep freeze temperatures threatened, which would severely limit the season in which I could use it.
With my system, instead of a compact grid of pipes running back and forth, I just have two long runs of copper gently angled back towards the inlet hoses. Since the pump I installed doesn't have a check valve, as soon as it turns off, the system drains itself. The only tricky part I had to deal with in getting it to drain was to ensure that the outlet hose drained to air in the tank in order to prevent a vacuum lock. The pump I used is a simple submersible 12 volt fountain pump.
At one end of the heat exchanger, I installed a fan to blow air across the surface to increase the heat transfer. By my very rough calculations, the fan is undersized by quite a bit, but it ended up being a compromise of power consumption, heat exchanger efficiency and availability of inexpensive 12 volt devices (thank you, ubiquitous 12 volt computer parts!).
Other than the water hoses at this end of the tank, I also have two temperature sensors - one running into the water and one monitoring the air. The temperatures are fed back to the control system at the other end of the greenhouse. I used DS18B20 sensors, which use a bus system to transmit data - this means I can expand to a larger number of sensors in the future without using up any more inputs (and I only had one run for two sensors this time around).
The control system is based on an Arduino board - basically a tiny computer with a bunch of programmable inputs and outputs. The computer watches the temperature of the tank and the air, and also the voltage of my solar system. Based on this information, it decides whether to pump heat into the tank (if the tank is cold and the air is warm), pump heat into the air (if the tank is warm and the air is cold), shut down the system because of dangerous temperatures (freezing or too hot), shut down non-essential functions because of low voltage (to avoid damaging the battery by over-discharging), or turn on an exhaust fan (if the air is too hot in the house). I've also sketched out the code and assigned an output for an irrigation system, but I'm short on irrigation hardware and a resevoir, so I'll be watering by hand for now.
The whole thing (including the air inflation fan, now working 24/7) is powered by a solar system. I installed a 100 watt solar panel at the peak of the north wall, which is the power source. The panel charges a large deep-cycle battery, which is managed by an off the shelf charge controller. By my calculations, I should be able to operate without any sun for about 3 days without damaging the battery, including the power consumption from the future irrigation system. So far, my power consumption seems to be on track with expectations.
I have now had the full system running for a little under a week (although I've had cold tolerant seedlings out since the beginning of March), and it seems to be operating well. I have been shutting down the heat pump at night to prevent it from heating the air so that I can allow the tank to build up a buffer - when I filled it, it was the temperature of our well but I'd rather see it hovering around 15-20 degrees C if possible before I start drawing down overnight. Even so, seedlings on the tank have enjoyed the passive protection of the water - by my measurements it seems like I have about 5 degrees C of protection on top of the tank with a single layer of row cover compared to the ambient air temperature.
Next step: fill this greenhouse with baby plants! There are plenty in the pipeline and it only speeds up from here. I'm getting excited to get this season going!