April 8, 2020

theatrus' Perfect Temperature Controller - The Overview

I’ve been keeping aquariums of all flavors for a very long time, and have seen and first hand experienced what happens when our lovable basic heaters (and chillers) run amok and fail to do their jobs correctly. Even worse, we often decide to go whole hog into the aquarium controller systems, which promise us web graphs and e-mails, while also being in charge of critical functions such as temperature and top-off, mixing software and control domains that should never be mixed (e.g., https://www.reef2reef.com/threads/fixing-a-broken-apex-classic-main-unit.366496/ - I’ve had units just fail, and when your entire tank runs on it, you’re SOL). Even worse, a lot of hobby gear is designed down to a price (especially with imports, or to improve margins) because, well, a lot of us end up tossing the equipment in the trash after a year either because we found a new hobby, or hated the equipment we did have. Some equipment is of course a “wear item”, but the number of stuck mechanical thermostats, or miscalibrated heaters, or heaters with bad hystersis so your aquarium swings by several degrees, or broken controllers, or heaters which explode in your tank never seems to go down.

So, how do we improve the situation for establishing the critical temperature control functions? By using a robust, intrinsically safe, and well designed control scheme for heating elements. I’m not going to focus on the heating elements here, but assume there are > 1 element of a good quality, and that those elements are dumb - if you apply energy, they heat, and if you don’t, they won’t. I’m also assuming these elements may fail in such a way they stop providing heat.

What makes a good temperature controller then? Well, here is the deign principle I’m working on:

  • Low tech. No Linux, no fancy communications, no wireless, no Wifi, no clouds, no multi-color displays or touch. A single stand-alone controller which does one job and one job only. Use parts that are robust and simple or well understood. Rate parts so they are well over designed and not driven purely by cost.

  • Accurate, calibrated temperature sensing of the water. Preferably at two points, or with two independent circuits and probes to compensate and allow for a probe to fail.

  • Smart heater control using an active PID loop, instead of a single hammer on/off approach at on/off setpoints. Smoothly and accurately holding a temperature in the tank instead of having large stair steps or sawtooth temperatures.

  • An indicator system to warn of failure without having to check on it (“the buzzer”). Don’t rely on e-mail which may break at any moment. An audible alarm is the way to go for this critical function. If you do want an e-mail or a text, a full aquarium controller in a monitoring (not control) function would be ideal here.

  • Heater control failsafes: if the control element (say, a solid state relay) were to fail in an on position, there is a backup power control mechanism which can remove power from the heater circuits (say, a relay)

  • PID controller fail safes: by using a linear temperature sensor element, the high and low thresholds can be built into the hardware in such a way that no code or software/firmware is needed to control the extreme edges (say, above 83 or below 75),; the system by design is extremely unlikely to exceed critical temperatures which can rapidly cook a tank.

I’d love to share the ideas here, as well as release an open hardware schematic, board, and firmware to go along with it for those interested. Stay tuned for more details as the project develops!

© 2020 Yann Ramin