.vscode | ||
cmake | ||
FreeCAD | ||
KiCAD | ||
micropython | ||
modules | ||
pictures | ||
src | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
README.md |
Gärbox Manager
Der Gärbox-Manager dient dazu, die Temperatur in einer Styropor-Box konstant auf einer bestimmten Temperatur zu halten, so dass der Sauerteig optimale Bedingungen hat. Er ist erstmal quasi nur ein Thermostat, wie man ihn auch fertig kaufen kann (z.B. bei ELV). Für mich ist er aber besser bedien- und ablesbar.
Hardware
Der Gerät besteht grob aus folgenden Komponenten:
- Raspberry Pi Pico
- Relaismodul für Arduino(SRD-05VDC-SL-C)
- Temperatursensor DS18B20
- I²C 16x2 LCD-Display
- Lochrasterplatine mit einigen elektronischen Bauteilen
- Gehäuse aus dem 3D-Drucker
Die Kosten für die Bauteile belaufen sich auf ca. 23 €.
Software
Die Software ist derzeit noch rudimentär gehalten. Die Temperatur wird perodisch ausgelesen und die Heizmatte entsprechend der Zieltemperatur an- oder ausgeschaltet. Über Interrupts wird auf drei Drucktaster reagiert. Dadurch können (derzeit) die Zieltemperatur eingestellt sowie die Heizungsregelung (de)aktiviert werden.
Verwendete Bibliotheken
Die C++-Implementierung, die bei Bedarf weiterentwickelt wird, verwendet zur Ansteuerung des Temperatursensors die pico-onewire
Bibliothek von Adam Boardman (Github).
Hinweis: Die ältere Python-Implementierung ist zu Dokumentationszwecken noch im Unterverzeichnis "micropython" zu finden. Wahrscheinlich wird diese nicht mehr weiterentwickelt.
Für die Ansteuerung des LCD wird rpi-pico-i2c-lcd
von T-622 (Github) verwendet, das wiederum auf python_lcd
von dhylands (Github) basiert. Die entspechenden Dateien liegen der Einfachheit halber im lib
Unterverzeichnis.
Installation
Zunächst wird das Repository geklont sowie die Submodules initialisiert:
$ git clone https://git.rustysoft.de/martin/gbmanager.git
$ cd gbmanager
$ git submodule init
$ git submodule update
Mit den folgenden Kommandos wird die Firmware compiliert:
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
Im src-Unterverzeichnis (des build-Verzeichnisses!) ist nun UF2-Datei gbmanager.uf2
vorhanden. Diese muss nun nur noch auf den Pico kopiert werden.
Aufbau
Die zum Aufbau notwendigen Informationen bzw. Dateien befinden sich in diesem Repository.
Im Verzeichnis KiCAD sind der Schaltplan sowie die Leiterplatte (ich verwende eine einfache 2,54 mm Lochrasterplatine) abgelegt. Im Leiterplatteneditor habe ich im Nutzer.1-Layer ein Gitternetz hinterlegt. Dieses kann man mit ausdrucken und hat somit eine schöne Vorlage für das Löten der Leiterbahnen.
Im Verzeichnis FreeCAD befindet sich das entsprechende CAD-Projekt sowie die daraus exportierten STL-Dateien, die man im Slicer für den 3D-Drucker importieren kann.
Anschließen und Bedienung
Hinweis: Aufbau und Betrieb erfolgen auf eigene Gefahr! Wir haben es hier mit Netzspannung zu tun, die lebensgefährlich ist.
Das Gerät wird über ein microUSB-Kabel mit einem 5V Netzteil, wie man es zum Aufladen von Smartphones verwendet, verbunden. Der Raspberry Pi Pico benötigt sehr wenig Strom, es genügt daher ein "schwaches" Netzteil. Der Euro-Stromstecker kommt an die Steckdose. Damit ist (über ein Relais) das andere Stromkabel, das mit einer Euro-Buchse versehen ist, verbunden. An diese Buchse wiederum kommt die Heizmatte. Das letzte Kabel – in meinem Fall das hellgraue – ist der Temperaturfühler. Dieses muss über eine Bohrung o. ä. in die Gärbox eingeführt werden, so dass eine Temperaturerfassung des Innenraums möglich ist.
Mit den blauen Tasten stellt man die gewünschte Temperatur ein. Rot schaltet die Heizungssteuerung ein/aus. Ein ">H<" zeigt an, ob gerade geheizt wird.