Skip to content

Commit

Permalink
V 1.38
Browse files Browse the repository at this point in the history
  • Loading branch information
InnuendoPi committed Apr 3, 2024
1 parent fbab438 commit 8156793
Show file tree
Hide file tree
Showing 9 changed files with 276 additions and 476 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ build.options.json
compile_commands.json
Brautomat.ino.elf
Brautomat.ino.map
infos.txt
includes.cache
local.eagle.flash.ld
local.eagle.app.v6.common.ld
Expand Down
532 changes: 75 additions & 457 deletions CHANGELOG.md

Large diffs are not rendered by default.

133 changes: 133 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Brautomat for ESP32

[![de](https://img.shields.io/badge/lang-de-green.svg)](https://github.com/InnuendoPi/Brautomat32)

Brautomat is a brewing controller for GGM IDS induction hobs with an ESP32 Wemos D1 mini. Brautomat is used in the brewery by hobby brewers and offers intuitive, easy-to-use controls. During mashing, rest temperatures are reached automatically and the rest times are adhered too. Brautomat also supports the the boiling process of the wort and adding hops. In an ascending infusion mash process, the brautomat can fully automate the mashing process.

_Note: induction hobs from other manufacturers than GGM IDS are not supported._

_Note: please use german manual with browser translation._

***

## Features

Brautomat is a stand alone brewing device and offers:

* induction hob controller GGM IDS
* integrated PID-Controller
* digital sensors DS18B20
* analog sensors PT100x with MAX31865 Amplifier
* PID-AutoTune
* mash plan management
* full automated rest temperature reach & hold
* full automated rest duration timer function
* Mash plans with up to 20 steps
* Hot liquid tank controller (HLT)
* Controlling actors like agitator, pumps etc.
* PWM for heating elements
* Temperature progression in the mashing process (line chart)
* MP3 alerts
* Toasts messages
* Recipe import
* kleinerBrauhelfer2
* Maische Malz und Mehr
* BrewFather
* Recipe export
* Nextion 3,5" HMI Touchdisplay (optional)
* WebUpdate for easy firmware updates
* Support for different languages

## 📚 Documentation

Manual: [https://innuendopi.gitbook.io/brautomat32en/](https://innuendopi.gitbook.io/brautomat32en/)\
Discussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504)\
Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](./)

## 📰 WebInterface

The Brautomat is web browser controlled. A web browser with support for CSS3, HTML5, Javascript and Server Sent Events (SSE) is required.\

Compatible browser list [Browser](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent\_events/Using\_server-sent\_events#browser\_compatibility)

![Startseite](docs/img/brautomat.jpg)\
![Startseite](docs/img/IDS-AutoTune-Ziel.jpg)\
![Startseite](docs/img/brautomat-2.jpg)

## 💻 Nextion HMI Touchdisplay

Brautomat offers three different displays:

* Overview
* Mash tun
* Manual control cooking

![Overview](docs/img/kettlepage-sm.jpg) ![Mash tun](docs/img/brewpage-sm.jpg) ![Manual control](docs/img/induction-mode-sm.jpg)

_Note: the display is an optional extension. Only Nextion ITEAD HMI 3.5" Touchdisplays are supported._

## ▶️ Installation

Hardware driver CP210x USB to UART Bridge Virtual COM Port (VCP): [Silicon Labs](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads)

* Download [Firmeware.zip](tools/Firmware.zip)
* unzip Firmware.zip
* open command line (cmd.exe) and change into firmware.zip directory
* start script "flashen.cmd"

Script flashen.cmd use [esptool](https://github.com/espressif/esptool).

## 🗺️ Multilingual

Brautomat32 supports (almost) any number of languages. Each language has its own language file. The language files in JSON format are stored in the folder data/language.

_Supported the project and translated the Brautomat into a new language or corrected existing language files!_

## 📙 Circuit board 2.0

![Platine](docs/img/Platine20.jpg)

A board for the Arduino ESP controller is available. In addition to the screw terminal blocks for the GPIOs, the board also offers a separate connection for the induction hob and three connections for temperature sensors. The Gerber file is stored in the Tools folder. The board 2.0 can be operated with both the ESP8266 and the ESP32.

## 📗 Case

![Gehäuse](docs/img/brautomat_01.jpg)
![Platine](docs/img/brautomat_02.jpg)

## Pinout

The ESP32 D1 offers a pinout suitable for the ESP8266 (GPIO D0 to D8). The pin assignment shown is based on the ESP32 D1 Mini NodeMCU module from [AZ-Delivery](https://www.az-delivery.de/products/esp32-d1-mini)

GPIO mapping:

![ESP32 D1 Pinout-1](docs/img/ESP32-D1.pinout-1.jpg) ![ESP32 D1 Pinout-2](docs/img/ESP32-D1.pinout-2.jpg)

| Name | GPIO | Input | Output | notes |
| ---------- | ------- | ------ | ------ | --------------------------------------------- |
| D0 | GPIO026 | ok | ok | |
| D1 | GPIO022 | ok | ok | |
| D2 | GPIO021 | ok | ok | |
| D3 | GPIO017 | ok | ok | DS18B20 |
| D4 | GPIO016 | ok | ok | |
| D5 | GPIO018 | ok | ok | GGM IDS Interrupt blue/green |
| D6 | GPIO019 | ok | ok | GGM IDS Command yellow |
| D7 | GPIO023 | ok | ok | GGM IDS Relay white |
| D8 | GPIO005 | ok | ok | Buzzer |
| D9 | GPIO027 | ok | ok | SCLK |
| D10 | GPIO025 | ok | ok | MISO |
| D11 | GPIO032 | ok | ok | MOSI |
| D12 | GPIO012 | (ok) | ok | TDI, boot fails if pulled high, strapping pin |
| D13 | GPIO004 | ok | ok | CS0 |
| D14 | GPIO000 | pullUp | (ok) | must be low to enter flash mode |
| D15 | GPIO002 | ok | ok | onboard LED, must be low to enter flash mode |
| D16 | GPIO033 | ok | ok | CS1 |
| D17 | GPIO014 | ok | ok | CS2 |
| D18 | GPIO015 | ok | ok | |
| D19 | GPIO013 | ok | ok | |
||||||

Pins connected to onboard flash and not recommended for GPIO use: CMD (IO11), CLK (IO6), SD0/SDD (IO7), SD1 (IO8), SD2 (IO9) and SD3 (IO10)

## 🔉MP3 files

_Legal note: "Boxing Bell" (info), "Short School Bell" (error), "Ding sound effect" (warning) and "Success sound effect" (success) mp3 from Free Sounds Library_ [_http://www.freesoundslibrary.com_](http://www.freesoundslibrary.com) _Licence: Attribution 4.0 International (CC BY 4.0). You are allowed to use sound effects free of charge and royalty free in your multimedia projects for commercial or non-commercial purposes._
64 changes: 48 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Der Brautomat für ESP8266
# Der Brautomat für ESP32

[![Brautomat](https://img.shields.io/badge/NEW-Brautomat32-blue.svg)](https://github.com/InnuendoPi/Brautomat32)
[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/InnuendoPi/Brautomat32/blob/main/README.en.md)

Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und IDS2 mit einem ESP8266 Wemos D1 mini. Der Brautomat bietet eine intuitiv einfach zu bedienende Steuerung.
Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und IDS2 mit einem ESP32 D1 mini. Der Brautomat bietet eine intuitiv einfach zu bedienende Steuerung.

---
***

## Hauptfunktionen

Expand Down Expand Up @@ -39,47 +39,79 @@ Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und

## 📚 Dokumentation

Beschreibung & Anleitung: [https://innuendopi.gitbook.io/brautomat32/](https://innuendopi.gitbook.io/brautomat32/)

Diskussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504)

Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](CHANGELOG.md)
Beschreibung & Anleitung: [https://innuendopi.gitbook.io/brautomat32/](https://innuendopi.gitbook.io/brautomat32/)\
Diskussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504)\
Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](./)

## 📰 WebInterface

Der Brautomat wird über einen WebBrowser gesteuert.

![Startseite](/docs/img/brautomat.jpg)
![Startseite](docs/img/brautomat.jpg)

![Startseite](/docs/img/IDS-AutoTune-Ziel.jpg)
![Startseite](docs/img/IDS-AutoTune-Ziel.jpg)

![Startseite](/docs/img/brautomat-2.jpg)
![Startseite](docs/img/brautomat-2.jpg)

## 💻 Nextion HMI Touchdisplay

* Kesselübersicht
* MaischeSud
* Manuelle Steuerung Kochen

![Kesselübersicht](/docs/img/kettlepage-sm.jpg) ![MaischeSud](/docs/img/brewpage-sm.jpg) ![Manuelle Steueung](/docs/img/induction-mode-sm.jpg)
![Kesselübersicht](docs/img/kettlepage-sm.jpg) ![MaischeSud](docs/img/brewpage-sm.jpg) ![Manuelle Steueung](docs/img/induction-mode-sm.jpg)

## 🗺️ Multilingual

Der Brautomat unterstützt (nahezu) beliebig viele Sprachen. Jede Sprache hat eine eigene Sprachdatei. Die Sprachdateien im JSON Format sind im Ordner data/language hinterlegt.
Der Brautomat32 unterstützt (nahezu) beliebig viele Sprachen. Jede Sprache hat eine eigene Sprachdatei. Die Sprachdateien im JSON Format sind im Ordner data/language hinterlegt.

_Unterstützte das Projekt und übersetze den Brautomat in eine neue Sprache bzw. korrigiere vorhandene Sprachdateien!_
_Unterstützte das Projekt und übersetze den Brautomat32 in eine neue Sprache bzw. korrigiere vorhandene Sprachdateien!_

## 📙 Platine 2.0

![Platine](docs/img/Platine20.jpg)

Eine Platine für den Arduino ESP Controller ist verfügbar. Die Platine bietet neben den Schraubklemmblöcken für die GPIOs auch einen separaten Anschluss für das Induktionskochfeld sowie drei Anschlüsse für Temperatursensoren. Die Gerber Datei ist im Ordner Tools hinterlegt. Die Platine 2.0 kann sowohl mit dem ESP8266, als auch mit dem ESP32 betrieben werden.
Eine Platine für den Arduino ESP Controller ist verfügbar. Die Platine bietet neben den Schraubklemmblöcken für die GPIOs auch einen separaten Anschluss für das Induktionskochfeld sowie drei Anschlüsse für Temperatursensoren. Die Gerber Datei ist im Ordner Tools gespeichert. Die Platine 2.0 kann sowohl mit dem ESP8266, als auch mit dem ESP32 betrieben werden.

## 📗 Gehäuse

![Gehäuse](docs/img/brautomat_01.jpg)
![Platine](docs/img/brautomat_02.jpg)

## 📘 Pin-Belegung

Der ESP32 D1 bietet ein Pinout passend zum ESP8266 (GPIO D0 bis D8). Die dargestellte Pinbelegung basiert auf dem Modul ESP32 D1 Mini NodeMCU von [AZ-Delivery](https://www.az-delivery.de/products/esp32-d1-mini)

GPIO Zuordnung:

![ESP32 D1 Pinout-1](docs/img/ESP32-D1.pinout-1.jpg) ![ESP32 D1 Pinout-2](docs/img/ESP32-D1.pinout-2.jpg)

| Bezeichner | GPIO | Input | Output | Beschreibung |
| ---------- | ------- | ------ | ------ | --------------------------------------------- |
| D0 | GPIO026 | ok | ok | |
| D1 | GPIO022 | ok | ok | |
| D2 | GPIO021 | ok | ok | |
| D3 | GPIO017 | ok | ok | DS18B20 |
| D4 | GPIO016 | ok | ok | |
| D5 | GPIO018 | ok | ok | GGM IDS Interrupt blue/green |
| D6 | GPIO019 | ok | ok | GGM IDS Command yellow |
| D7 | GPIO023 | ok | ok | GGM IDS Relay white |
| D8 | GPIO005 | ok | ok | Buzzer |
| D9 | GPIO027 | ok | ok | SCLK |
| D10 | GPIO025 | ok | ok | MISO |
| D11 | GPIO032 | ok | ok | MOSI |
| D12 | GPIO012 | (ok) | ok | TDI, boot fails if pulled high, strapping pin |
| D13 | GPIO004 | ok | ok | CS0 |
| D14 | GPIO000 | pullUp | (ok) | must be low to enter flash mode |
| D15 | GPIO002 | ok | ok | onboard LED, must be low to enter flash mode |
| D16 | GPIO033 | ok | ok | CS1 |
| D17 | GPIO014 | ok | ok | CS2 |
| D18 | GPIO015 | ok | ok | |
| D19 | GPIO013 | ok | ok | |
||||||

Pins connected to onboard flash and not recommended for GPIO use: CMD (IO11), CLK (IO6), SD0/SDD (IO7), SD1 (IO8), SD2 (IO9) and SD3 (IO10)

## 🔉MP3 Dateien

_Legal note: "Boxing Bell" (info), "Short School Bell" (error), "Ding sound effect" (warning) und "Success sound effect" (success) mp3 von Free Sounds Library_ [http://www.freesoundslibrary.com](http://www.freesoundslibrary.com) _Licence: Attribution 4.0 International (CC BY 4.0). You are allowed to use sound effects free of charge and royalty free in your multimedia projects for commercial or non-commercial purposes._
Binary file modified build/Brautomat.ino.bin
Binary file not shown.
Binary file modified build/Brautomat.mklittlefs.bin
Binary file not shown.
12 changes: 10 additions & 2 deletions data/language/de.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"OK": "OK",
"SYSTEM": "System",
"EXPLORER": "Explorer",
"UPDATE": "Update",
Expand All @@ -12,6 +13,7 @@
"EINSTELLUNGEN": "Startzeit",
"WECHSELIMPORT": "Voreinstellungen Import",
"EXPORTLOESCHEN": "Verwaltung Maischepläne",
"MASHACTIV": "Maischeplan",
"BACKUP_TT": "Backup aller Einstellungen als Download config.txt",
"RESTORE_TT": "Wiederherstellung aller Einstellungen aus einem Backup",
"SSE_TT": "Status Server Sent Events",
Expand All @@ -26,6 +28,10 @@
"MAN_TT_DEC": "Leistung reduzieren",
"MAN_TT_INC": "Leistung erhöhen",
"SUD_NAME": "Name aktiver Maischeplan",
"SUD_NEW": "Maischeplan erstellen",
"SUD_NEW_ERROR": "Fehler Maischeplan existiert bereits ",
"SUD_DEL_ERROR": "Fehler aktiver Maischeplan kann nicht gelöscht werden",
"SUD_REN": "Maischeplan umbenennen",
"SUD_KOCHDAUER": "Gesamte Kochdauer [min]",
"SUD_NACHISO": "Nachisomerisierungszeit [min]",
"SUD_TIMER": "Aktiviere Zeitsteuerung",
Expand All @@ -46,6 +52,8 @@
"SUD_TT_IMP": "Maischeplan importieren",
"SUD_TT_EXP": "Maischeplan exportieren",
"SUD_TT_DEL": "Maischeplan löschen",
"SUD_TT_NEW": "Erstelle einen neuen leeren Maischeplan",
"SUD_TT_REN": "Aktiven Maischeplan umbenennen",
"MISC_TITLE": "Einstellungen",
"MISC_TAB1": "System",
"MISC_TAB2": "Dashboard",
Expand Down Expand Up @@ -151,7 +159,7 @@
"IDS_TEXT4": "Alle Parameter auf gitbook",
"IDS_KU": "Verstärkungsfaktor Ku (gain)",
"IDS_PU": "Periodendauer Pu (period)",
"IDS_SAMPLE": "Intervall (SampleTime) [1000ms]",
"IDS_SAMPLE": "Intervall (SampleTime) [2000ms]",
"IDS_RULE": "PID Algorithmus",
"IDS_RULE_LIST": ["manueller PID Modus", "AutoTune PID Modus"],
"IDS_KP": "PID Kp",
Expand All @@ -164,7 +172,7 @@
"IDS_DEB": "AutoTune debug",
"IDS_TEXT5": "AutoTune auf gitbook",
"IDS_TEXT6": "Profil erstellen:",
"IDS_TEXT7": "Profil ändern:",
"IDS_TEXT7": "Profil wechseln:",
"IDS_TEXT8": "Profil entfernen:",
"IDS_TT_SEN": "Sensorauswahl an MaischeSud Kessel",
"IDS_TT_MAXO": "Maximale Leistung der IDS im Maischeprozess",
Expand Down
10 changes: 9 additions & 1 deletion data/language/en.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"OK": "OK",
"SYSTEM": "System",
"EXPLORER": "Explorer",
"UPDATE": "Update",
Expand All @@ -12,6 +13,7 @@
"EINSTELLUNGEN": "scheduler",
"WECHSELIMPORT": "import settings",
"EXPORTLOESCHEN": "administration",
"MASHACTIV": "Mashplan",
"BACKUP_TT": "download complete backup config.txt",
"RESTORE_TT": "restore settings with backup file",
"SSE_TT": "Status Server Sent Events",
Expand All @@ -26,6 +28,10 @@
"MAN_TT_DEC": "reduce power output",
"MAN_TT_INC": "increase power output",
"SUD_NAME": "name",
"SUD_NEW": "new mashplan",
"SUD_NEW_ERROR": "error mashplan already exists ",
"SUD_DEL_ERROR": "error active mashplan cannot be deleted",
"SUD_REN": "rename mashplan",
"SUD_KOCHDAUER": "boiling time [min]",
"SUD_NACHISO": "post-isomerization time [min]",
"SUD_TIMER": "activate timer",
Expand All @@ -44,6 +50,8 @@
"SUD_TT_IMP": "import mash plan",
"SUD_TT_EXP": "export mash plan",
"SUD_TT_DEL": "delete mash plan",
"SUD_TT_NEW": "create new empty mashplan",
"SUD_TT_REN": "rename active mashplan",
"SUD_BTN_EXP": "export",
"SUD_TEXT3": "delete mash plan",
"MISC_TITLE": "settings",
Expand Down Expand Up @@ -151,7 +159,7 @@
"IDS_TEXT4": "All parameters on gitbook",
"IDS_KU": "Ultimate gain Ku",
"IDS_PU": "Ultimate period Pu",
"IDS_SAMPLE": "SampleTime [1000ms]",
"IDS_SAMPLE": "SampleTime [2000ms]",
"IDS_RULE": "PID algorithmus",
"IDS_RULE_LIST": ["manual PID mode", "AutoTune PID mode"],
"IDS_KP": "PID Kp",
Expand Down
Binary file modified tools/Firmware.zip
Binary file not shown.

0 comments on commit 8156793

Please sign in to comment.