Since the beginning of spring, I’ve been optimizing the cooling system. Now that it’s summer, I can test it’s capabilities. Here are some of the principles I’m trying out.

Variable setpoint

In my area day/night temperatures can swing violently. 7C at night, and 31C during the day isn’t uncommon. It will become more consistent as summer progresses, but for now, I want a system that will change the setpoint based on the fact that nights are colder. I want the system to store more heat during the day so it can keep things warmer at night. So I have a bit of machine learning built into the system that takes into consideration the night time temperature and allows for a higher setpoint during the day to store more heat. I have to keep the setpoint within livable conditions for my plants. Right now, I’ve got 9C as my lowest setpoint, and 34C as my highest and the “ideal” setpoint at 24C. For every night the temperature drops below 9C, I raise the running setpoint by one degree. In the winter, that will probably mean that the temperature could reach 34C and maintain there for a while. In the summer, if the nights are warm, the setpoint will decrease as long as it’s above the 24C.

With this type of “learning”, I shouldn’t have to ever manually set my setpoint.

Oh, and one more thing. If the setpoint is kinda high -too high for humans to comfortably work in the greenhouse, I have a rule where if the human lights (a white LED strip) are on, change the setpoint to something that a human can tolerate. For me, that’s 23C.

CO2 On-demand

The rule for this is simple. If the temperature is below the variable setpoint and it’s daytime, burn some hydrocarbons and make some CO2. If it’s night, only turn on if the temperature drops below the minimum threshold (9C). Plants only need CO2 when there’s light, so trying to maintain a certain CO2 level at night will become expensive.

Exhaust only when needed

I have my exhaust set to turn on when the temperature exceeds the maximum threshold of 34C. Why? Well, if there’s a certain CO2 level, and it’s 25C (vs the 24C setpoint) we don’t want to exhaust the CO2. That’d be a waste!

We will, however, exhaust the CO2 if we get a gas alarm from the harmful gas sensor.

Variable speed intake

My intake has 6 200CFM 120mm fans controlled by a photon which can PWM a MOSFET to control how much voltage the fans get. Using a PID algorithm and the variable setpoint, On the photon, I get 8bits of control resolution (256 steps) so I’m able to suck in just the amount of air needed to cool. Almost all of the cooling work is being done by this and the other heat exchanger.

Below you can see how well the intake system tracks the temperature (right graph) and also see when the exhaust fan kicks on (left graph).

Heat exchanger for geothermal

I redesigned my geothermal system a bit. Instead of using the same reservoir as the irrigation, it now exclusively uses a 50 gallon drum and a small 5w continuous pump. This pump pumps water through the geothermal system and back 24hrs a day every day. In addition, I moved the water cooling pump (the pump that pumps through the intake, LEDs, CO2 generator, etc) to use this dedicated drum as well.

This change allows me to add a bit of chlorine to the water to keep algae from clogging my tubes. It also frees up my irrigation reservoir for liquid-based feeding (more on that in a future post?).

To compare, here are the designs for both the old system and the new system.

New system:

Attached to the geothermal line is my little 8″ x 8″ heat exchanger with 240mm fan. The fans don’t push a lot, but it’s the quality that counts. The air coming from there is cooled from water deep within the earth.

I don’t open my door

With this setup, I have never had the need to open my door so far. This hopefully keeps pests out and with them, disease.

Conclusion

Over the next several weeks, I’ll be trying to test the potential of this system. Today’s high was 27C. My high temperature in the greenhouse was 36C right around the time I increased the aggressiveness of the intake PID algorithm and reset the system (see the missing data on the graph above) . With that aggressive setting, the intake still only hit 210 pulses out of a possible 255. My next goal is to optimize the PID settings and tune it better. This will further give me an idea of the systems capabilities.