Hardware used by the RefrigeratorOptimizer and HotWaterManager
Go to file
2025-03-02 11:31:16 +00:00
.gitignore Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00
LICENSE Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00
README.md Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00
thermal_optimizer.3mf Add freecad files 2025-02-27 19:28:12 +01:00
thermal_optimizer.FCStd Add freecad files 2025-02-27 19:28:12 +01:00
ThermalOptimizer_back.jpg Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00
ThermalOptimizer_front.jpg Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00
ThermalOptimizer.kicad_pcb Version 1.1 2025-02-27 18:06:39 +00:00
ThermalOptimizer.kicad_sch Changed the repository to public, added a README, LICENSE and pictures 2025-03-02 11:26:39 +00:00

ThermalOptimizer

This design uses a ATMEGA328pb microcontroller and features a temperature sensor input (analog or digital), a 12V digital input, a touch button, LCD, a few open collector outputs and a relay.

Usage

The ThermalOptimizer circuit board is used in the RefrigeratorOptimizer and production version of the HotWaterManager.

Open Source

The ThermalOptimizer is designed with KiCad 8.0, and released under the GNU GENERAL PUBLIC LICENSE, as supplied with this design.

Software

The HotWaterManager is an open source project, the software that runs on the ThermalOptimizer can be found in the HotWaterManager GIT.

Notes

The hardware should be reasonably self explanatory. A few notes:

  • Analog input PC1 is used to measure the voltage of the power supply. The resistors are dimensioned to be able to measure voltages up to 30V. This would accomodate 12V and 24V systems.
  • PC5 is the input of the temperature sensor. For analog sensors, a pull up resistor of 10k should be used, but for digital sensors, a pull up resistor of 3k3 is better. The software pulls PE1 to high if a digital sensor is detected.
  • The outputs PB3, PC0 and PC4 are used to control the backlight of the LCD, which gives us 8 luminance values. Some resistors are put in series, the reason was availability of the specific values. A single PWM output could also be used instead, but it wouldn't work during sleep of the microcontroller.
  • The microcontroller does not use a crystal but instead uses its own internal oscillator. The clockspeed should be (at least) 4MHz to reliably read out the digital temperature sensors.