Dies ist eine alte Version des Dokuments!


Brauen mit den AiO-Brausteuerungen

Dieser Artikel beschreibt das Brauen mit den verschiedenen Versionen der AiO-Brausteuerungen. Die jeweiligen Möglichkeiten werden herausgearbeitet. Die unterschiedlichen Arduino-Plattformen bieten natürlich speicherbedingt auch unterschiedliche Möglichkeiten. Wer eine kleine, extrem kompakte Steuerung benötigt, der verwendet den Arduino-NANO. Wer auch noch eine Würzepumpe steuern möchte wählt den UNO und sollte auch WLAN oder Bluetooth eine mögliche Option sein, der wählt den MEGA. Die Relaisversionen über alle Steuerungen sind so gezeichnet, dass die Netzanschlüsse für Heizung und Rührer allpolig geschaltet werden. Hierdurch wird sichergestellt, dass auf keinen Fall die Phase(„L“) an der eingebauten Steckdose anliegt. Für elektrotechnische Laien empfiehlt sich der Nachbau der „F“-Versionen (433 MHz - Sender mit 433-MHz-Steckdosen), hier kommt man auf keinen Fall mit der Netzspannung in Berührung.

Für wen ist die Brausteuerung gedacht?

Für Hobbybrauer, die von der sog. „Einkocherklasse“ bis zur 50L-Klasse mit externen Heizelementen brauen und eine kompakte Steuerung ohne Anbindung an einen PC benötigen.

benötigte Hardware

Für die „R“-Versionen ist es wichtig, die Relaislogik zu verstehen. Die Relaisplatinen schalten „Low activ“, d.h. bei GND am Eingang schalten die Relais durch, während die SSRs „High activ“ sind, also bei Vcc am Eingang durchschalten. Dieses Verhalten muss bei allen „R“-Versionen im Sketch angepasst werden!

Das folgende Bild zeigt die verschiedenen Zustände abhängig vom Eingangssignal. Es handelt sich um ein Beispiel. Sicherer ist es auf jeden Fall, die Verbraucher allpolig zu schalten!

Im jeweiligen Sketch sieht die Anpassung dann so aus:

für Relaisplatinen („China-Relais“)

#define H_AUS HIGH
#define H_EIN LOW

für z.B. SSRs

#define H_AUS LOW
#define H_EIN HIGH

Software

Das können alle Versionen

MAISCHEN:

Eingegeben werden die Einmaischtemperatur, bis zu 6 Rasttemperaturen und Rastzeiten und die Abmaischtemperatur. Der Ablauf erfolgt vollautomatisch. Während des Aufheizens auf die jeweilige Rast, kann die Temperatur manuell noch verändert werden. Das gleiche gilt für die Rastzeiten, die auch noch manuell angepasst werden können. Fünf Minuten vor Ende der letzten Rast wird durch einen Brauerruf noch einmal an die Jodprobe erinnert.

NACHGUSS:

Voreingestellt sind 78°C, es können aber auch andere Temperaturen eingegeben werden. Beim Erreichen der eingestellten Temperatur ertönt der Brauerruf. Im Gegensatz zu anderen Programmteilen kann der Ruf nicht quittiert werden. Die Temperatur wird gehalten, d.h. die Heizung schaltet bei Bedarf wieder ein. Für den Nachguss wird der Sensor verwendet, der auch den Maischeprozess gesteuert hat. Ein zweiter Temperatursensor ist nicht vorgesehen.

KOCHEN:

Eingestellt werden die Kochdauer und die Anzahl der Hopfengaben (max. 6). Zu den jeweiligen Hopfengaben wird auch der Zeitpunkt der Gabe angegeben. Aufgeheizt wird der Kessel bis zu einer voreingestellten Temperatur, die kurz vor der Kochtemperatur liegt (Voreinstellung 98°C – im SETUP änderbar). Dann ertönt der Brauerruf, der innerhalb von 60s quittiert werden muss, andernfalls wird aus Sicherheitsgründen der Kessel ausgeschaltet! Der „Start der Zeitzählung“ zum Kochen ist auch erst nach Erreichen der z.B. 98°C aktivierbar.

KÜHLEN:

Die Kühlfunktion ist für einen Kompressorkühlschrank gedacht. Die eingestellte Temperatur wird angefahren und mit der Gradientenregelung gesteuert. Nach einer einstellbaren Wartezeit wird der Kompressor – wenn die Temperatur wieder unter die Schwelle gefallen ist – wieder eingeschaltet. Zu häufiges Schalten schadet dem Kompressor, daher ist hier eine Wiedereinschaltzeit von 5 min. voreingestellt. Diese Zeit kann natürlich im Setup geändert werden. Die sonst für die Heizfunktion genutze Funksteckdose bzw. der entsprechende Relaisausgang kommen hier zum Einsatz. Das Gerät kann so konfiguriert werden, dass auch nach einem Stromausfall der Kühlmodus mit der eingestellten Temperatur automatisch wieder angefahren wird.

SETUP:

  • SCHWELLE: Einstellung der Kochschwelle (z.B 98°C). Ist die Kochschwelle erreicht, ertönt der Brauerruf. Innerhalb von 60s muss der Ruf quittiert werden, andernfalls wird der Kessel ausgeschaltet. Hierdurch wird das unbeaufsichtigte Kochen und „überschwappen“ des Suds verhindert.
  • RÜHRER: Bei der Rührwerksfunktion kann man zwischen Dauerbetrieb und Intervallbetrieb wählen. Bei Intervallbetrieb kann die Einschalt- und Ausschaltdauer des Rührwerks in Sekunden (voreingestellt: Einschaltdauer 60sek. ;Ausschaltdauer 60sek.) gewählt und eingestellt werden.
  • REGLER: Eingegeben werden der Gradientenfaktor für das Heizen (kh), der mit dem Gradienten (Steigung des Temperaturanstiegs pro Minute (dT/dt)) multipliziert wird, und die Einschaltverzögerung für das Heizrelais. Die Einschaltverzögerung verhindert bei mechanischen Relais das „Flattern“, also das schnelle Ein- und Ausschalten vor dem Erreichen der Zieltemperatur. Bei Verwendung eines SSR (Solid-State-Relais) kann hier eine Einschaltverzögerung von „0“ eingegeben werden. Der Gradientenfaktor von „1“ ist in den meisten Fällen ideal, es gilt aber: Je kleiner die Maischemenge (Wassermenge) und damit größerem Gradienten , desto größer muss auch der Gradientenfaktor sein. Letztendlich muss man das für sein Setup selbst herausfinden.
    Weiterhin wird auch die Einschaltverzögerung für das Kühlen (ESVK) und der Gradientenfaktor für die Regelung der Kühltemperatur eingegeben. Hier hat die Einschaltverzögerung die Funktion, das schnelle Ein- bzw. Ausschalten des Kompressors zu verhindern, da dies zu Schäden führen kann. Der Gradientenfaktor sollte für die Kühlfunktion zwischen 0,5 und 1 liegen, aber auch hier muss man selbst die passende Einstellung finden.
  • LOGGING Die Steuerungen verfügen alle über die Möglichkeit des Temperaturloggings, d.h. der Temperaturverlauf der Isttemperatur und der jeweiligen Solltemperatur wird während des Maischens aufgezeichnet und grafisch dargestellt. Einsatz finden hier verschiedene Loggingprogramme, dazu weiter unter mehr.
  • NOTFALL Legt fest, ob die Notfallfunktion gestartet wird. Diese liegt vor, wenn während des Maischens oder dem Kochen die Versorgungsspannung der AiO ausfällt (die beste Ehefrau von Allen oder man selber stolpert über das Anschlusskabel!). Nach dem Neustart wird die letzte Position im Programmablauf automatisch wieder angefahren, die Zeiten werden allerdings auf 1 min. gerundet. Werte, die nach dem Starten des Maischeprogramms gegenüber dem ursprünglichen Rezept geändert wurden, werden nicht restauriert. Die Datensicherung im EEPROM erfolgt einmal pro Minute.
    Im Kühlmodus startet das Gerät nach einem Stromausfall automatisch wieder mit dem Kühlmodus! Der Kühlschrank kann also auch übers Wochenende unbeaufsichtigt bleiben. Damit die gewünschte Kühltemperatur wieder angefahren wird, muss der Kühlmodus mit eben dieser Temperatur einmal durch langes Drücken des Encoders verlassen werden bis in der letzten Zeile „NOT-EIN“ erscheint. Danach kann der Kühlmodus wieder gestartet werden. So oft der Strom nun auch ausfällt, startet die AiO immer automatisch in den Kühlmodus. Um den Notmodus zu verlassen, den Taster so lange drücken bis „NOT-AUS“ erscheint. Diese Methode unterscheidet sich von dem Notfallstart im Maische- und Kochmodus und ist unabhängig von der Einstellung im Setup.

Was unterscheidet die verschiedenen Steuerungen?

Zur besseren Übersichtlichkeit zunächst mal eine Tabelle:
AiO-NANO AiO-UNO AiO-MEGA
Maischeprogramm
automatisch/manuell
Nachgussbereitung
Kochprogramm
Kühlfunktion/ \\Heizfunktion ✔ (nur „R“-Version - „F“ nur kühlen)
Relaissteuerung
433-MHz-Funksteuerung ✔ (Relais oder Funk) ✔ (Relais oder Funk) ✔ (Relais und Funk)
WLAN (UDP)
Bluetooth
Logging über SerComInstruments4 (COM) - nur Version "R" SerComInstruments4 (COM)
LogView-Studio (COM)
nur „R“ - Version
Auswahl im Sketch
SerComInstruments4 (COM/UDP)
LogView-Studio (COM)
KBH2AiO (UDP)
Brauerruf über PC
(.wav-Datei)
Ansteuerung
Würzepumpe
✔ (nur Version „R“)
Ansteuerung
Malzrohrpumpe
Reinigungsmodus
Malzrohrpumpe
Geschwindigkeits-
umschaltung
Rührmotor
Betrieb ohne
Display und
Encoder
✔ (mit KBH2AiO)
Zusätzlicher
Temperatursensor
für die Nachguss-
aufheizung während
des Maischens
433 MHz Temperatursensor
3. Steckdose wahlweise
für den Brauerruf oder
für die Nachgussbereitung
während des Maischens
Automatische Gärführung
Heizen & Kühlen
Gärrasten einstellbar
Funk- & Relaisversion
Funk: Mischerdose = Heizung
RTC-Timer
Hinweise bei Problemen mit der Hardware oder Software

Oftmals werden die benötigten Libraries nicht gefunden und der Sketch nicht erfolgreich kompiliert. In der ZIP-Datei library_fr.zip befinden sich alle benötigten Libraries. Die sicherste Methode, um auf alle Libraries zugreifen zu können, ist der Import der gepackten (.zip) Dateien über die Arduino-IDE (Sketch → Bibliothek einbinden → .ZIP Bibliothek hinzufügen). Danach sollten alle Bibliotheken gefunden werden. Außerdem habt ihr dann die aktuellsten Versionen der Bibliotheken auf eurem Rechner.

Hin und wieder gibt es Probleme mit dem I2C-Display. Die Adresse des Displays ist in allen Sketchen mit 0x27 angegeben. Dies ist fast in allen Fällen korrekt, bei einigen Interfaces muss jedoch eine andere Adresse angegeben werden. Ändert dann bitte diese Zeile:

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

in

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

Sollte es immer noch Probleme geben, muss die tatsächliche Adresse ermittelt werden. Ladet den folgenden Sketch herunter und schaut im Serial-Monitor nach, welche Adresse das Display hat. i2c_scanner.zip

Weil es, je nach Setup, zu Problemen mit elektromagnetischen Einstreuungen kommen kann (-127 Fehler), habe ich in alle Versionen eine Auffangroutine für diesen Fehler eingebaut. Temporäre -127-Werte werden abgefangen! (ab Versionen vom 04.02.2018!)

Verwendung des Encoders KY-040 (Digitalpins AiO-Mega) - bei NANO und UNO anpassen

+ → Vcc (5V)

GND → GND

SW → D4

DT → D3 (D2)

CLK → D2 (D3)

Aufbau der AiO-NANO

Die kleinste und kompakteste Brausteuerung in der Reihe, dennoch ist alles enthalten, was der Hobbybrauer an Steuerung benötigt.

Aufbau der Relaisversion:  Aufbau der Funkversion

Hauptmenü

  • MAISCHEN
  • NACHGUSS
  • KOCHEN
  • Var.H/K (nur Version „R“ - sonst „KÜHLEN“)
  • SETUP

Setupmenü

  • SCHWELLE → Einstellen der Kochschwelle - Vorgabe 98°C
  • RÜHRER → Dauerbetrieb oder Intervallbetrieb - Einstellung der Intervallsequenzen
  • FUNK → Anlernen der Funksteckdosen (nur für die Version „F“)
  • LOGGING → Ein/Aus (nur Version „R“)
  • NOTFALL → Merken des Wiederherstellungspunktes bei Stromausfall - Ein/Aus (nur Version „R“)
  • REGLER → Einstellung der Regelparameter (Gradientenfaktoren Heizen/Kühlen und Einschaltverzögerungen Heizrelais/Kompressor)

Aufbau der AiO-UNO

Die AiO-Brausteuerung auf Basis des Arduino-UNO war die erste in der Reihe der kleinen, kompakten Brausteuerungen. Franz (fg100) hatte damals (2012) mit der Entwicklung begonnen http://hobbybrauer.de/modules.php?name=eBoard&file=viewthread&tid=15626. Grundsätzlich unterscheidet sich die UNO-Version kaum von der NANO-Version, lediglich die Möglichkeit eine Würzepumpe anzusteuern ist in der „R“-Version hinzugekommen. Die Würzepumpe wird über einen Schwimmschalter (Zweipunktregler) gesteuert und pumpt die Würze aus dem Läutergrant bis zum „Klarlauf“ zurück in den Läuterbehälter oder direkt in die Sudpfanne.

Anschluss der Würzepumpe:
Diskreter Aufbau der Steuerungen
Aufbau der Relaisversion:
Aufbau der Funkversion:

Die Menüstruktur ist nahezu identisch mit der NANO-Version:

Hauptmenü

  • MAISCHEN
  • NACHGUSS
  • KOCHEN
  • VAR.H/K
  • PUMPE (nur Version (R„)
  • SETUP

Setupmenü

  • SCHWELLE → Einstellen der Kochschwelle - Vorgabe 98°C
  • RÜHRER → Dauerbetrieb oder Intervallbetrieb - Einstellung der Intervallsequenzen
  • FUNK → Anlernen der Funksteckdosen (nur für die Version „F“)
  • LOGGING → Ein/Aus (nur Version „R“)
  • NOTFALL → Merken des Wiederherstellungspunktes bei Stromausfall - Ein/Aus (nur Version „R“)
  • REGLER → Einstellung der Regelparameter (Gradientenfaktoren Heizen/Kühlen und Einschaltverzögerungen Heizrelais/Kompressor)

Seit den Versionen vom 11.2.2017 ist die Möglichkeit der Nachisomerisierungskontrolle eingebaut. Gemeint ist hiermit die Zeit nach Kochende innerhalb derer der Hopfen noch Alphasäure freisetzt. Nach der übertragenen Nachisozeit ertönt der Brauerruf. Für eine Whirlpoolgabe kann die Nachisozeit ziemlich groß (z.B. 120 min.) gewählt werden, dann ertönt der Brauerruf wenn die Sudtemperatur in dieser Zeitspanne unter 80°C gefallen ist.

Aufbau der AiO-MEGA

Die AiO-Brausteuerung auf Basis des Arduino-MEGA beinhaltet alle Möglichkeiten der UNO-Version „R“ und „F“ und darüber hinaus die Möglichkeit über WLAN oder Bluetooth ferngesteuert zu werden. Außerdem kann auch das Logging über WLAN (UDP)/Bluetooth durchgeführt werden. Interessant ist auch die Möglichkeit, parallel eine Induktionsplatte für den Maischekessel und eine weitere für die Nachgussbereitung zu verwenden.In den Ausschaltpausen der Maischeheizung wird die Nachgussheizung eingeschaltet und vice versa. Falls kein zweiter Temperatursensor angeschlossen ist, muss der Nachgusskessel über einen eingebauten Temperatursensor verfügen.

Weiterhin kann statt eines Rührwerks eine Malzrohrpumpe angeschlossen und die Nachisomerisierungszeit eingegeben werden. Ganz neu hinzugekommen ist eine Version, die ohne Display und Encoder auskommt. Dies erlaubt einen preisgünstigen und platzsparenden Aufbau ohne auf Funktionen verzichten zu müssen. Gesteuert wird diese Version ausschließlich über KBH2AiO mit dem UDP-Protokoll bzw. über Bluetooth.

Version mit Display und Drehencoder
Anschluss des Speedrelais

Brauen

  • Maischen
    • Anzahl Rasten
    • Einmaischtemperatur
    • Rasten Temperaturschwelle / Rastzeit
    • Abmaischtemperatur

Nachguss

  • Nachgussbereitung

Kochen

  • Kochzeit Sud
  • Anzahl Hopfengaben
  • Nachisomerisierung
  • Hopfengaben / Kochzeit

Optionen

  • Var K/H
    • Modus Kühlen oder Heizen
  • MPumpe
    • Reinigungslauf Malzrohrpumpe
  • SPumpe
    • Sudpumpe über Schwimmschalter steuern
    • Automatik/Manuell Umschaltung
    • Einschaltverzögerung der Pumpe einstellen
  • Gärführ
    • Anzahl Gärrasten
    • Gärstart-Temperatur
    • Rasttemperatur / Rastzeit (Stunden)
  • Timer (nur wenn RTC-Modul verbaut ist)
    • Uhr stellen
    • Timer initialisieren

Setup

  • Schwellen
    • Kochschwelle einstellen
    • Nachguss-Solltemperatur einstellen
  • Rüh/Pump
    • Mischerwahl Rührer oder Pumpe
    • Dauerbetrieb Rührer oder Pumpe einstellen
    • Intervalle einstellen (wenn kein Dauerbetrieb)
    • Mischer aktiv beim Einmaischen? (Malzrohrpumpe immer AUS!)
  • Regler
    • Gradientenfaktor Heizen
    • Einschaltverzögerung Heizrelais (s)
    • Gradientenfaktor Kühlen
    • Einschaltverzögerung Kühlen (min)
  • Logging
    • Logging Ein/Aus
    • Loggerwahl (Externe Logger)
  • Extern
    • WLAN-/Bluetooth-Steuerung KBH2AiO (Ein / Aus)
    • Funk (Steckdosencode einlesen) → Konfiguration 3. Funksteckdose (Ruf / Nachguss)
  • Notfall
    • Notfallmodus (Ein/Aus)
  • Sound
    • Lautstärke Piezo-Buzzer einstellen

Besonderheiten der MEGA-Version

Wie schon erwähnt bietet die AiO-MEGA noch einige zusätzliche Features gegenüber den Versionen auf der Basis von NANO und UNO. Besonders zu erwähnen ist hier die Möglichkeit, die Steuerung über WLAN/Bluetooth zu bedienen. Es können Rezepte aus dem kleinen Brauhelfer importiert werden, es können die Steuerbefehle für Maischen, Nachguss und Kochen abgesetzt werden und es kann der Temperaturverlauf beim Maischen grafisch dargestellt werden. Die Software für Windows (32/64) wird weiter unten zum Download angeboten.

Nun ist es auch möglich, statt des Rührwerks eine Malzrohrpumpe anzusteuern. Während der Rührer in den Heizphasen im Dauerbetrieb läuft, kann die Malzrohrpumpe hier auch im Impulsbetrieb laufen.

Während des Maischens kann durch einen Druck auf den Encoder, falls der Rührmotor über zwei Geschwindigkeitsstufen verfügt, die Geschwindigkeit umgeschaltet werden. Hierfür muss aber in der Anlage ein zweites Relais verbaut werden.Wenn kein Geschwindigkeitsumschaltrelais verbaut ist, kann während der Heizpausen der Mischer vom Dauer- in den Intervallbetrieb und vice versa umgeschaltet werden.

In der aktuellen Version kann, während der Heizpausen im Maischeprogramm, über ein zweites Relais die Heizung des Nachgusstopfes gesteuert werden. Hierfür kann ein zweiter Temperatursensor parallel zum Vorhandenen geschaltet werden (falls kein zweiter Temperatursensor verbaut ist, muss der Nachgusstopf über einen Temperatursensor verfügen). Welcher der beiden Sensoren nun für die Maischesteuerung und welcher für die Nachgusssteuerung fungiert, muss experimentell ermittelt werden (mit der Hand anfassen und die Temperaturentwicklung beobachten).

AiO als WLAN-Accesspoint (UDP)

KBH2AiO liegt nun in zwei überarbeiteten Versionen vor (KBH2AiO64.exe/KBH2AiO32.exe). Die Software ist kein „Sprinter“, da ja sehr viel Datenverkehr zwischen der AiO und dem PC stattfindet. Dafür kann man aber die AiO vollkommen losgelöst von Display und Encoder steuern.

Beim Start der Steuerung wird das WLAN, wenn im Setup eingeschaltet, initialisiert. Anschließend findet man in der Übersicht der WLAN-Netzwerke die AiO mit der SSID „AiO-LAN“. Man meldet sich dann mit dem Passwort „Hobbybrauer“ an. Das Passwort kann im Sketch geändert werden. Port 50000 wird auf beiden Seiten verwendet.

Logging mit SerialComInstruments4 (COM/UDP)

Die Software ist für die nicht kommerzielle Verwendung frei und neuerdings ohne Zeitbeschränkung verwendbar. Hiermit kann man sich umfangreiche Displays zusammenstellen, wofür ggf. noch Anpassungen im Sketch durchgeführt werden müssen. Von der AiO werden die Solltemperatur, Isttemperatur und der Wert des aktuellen Gradienten übertragen, dies ist aber mit entsprechenden Programmierkenntnissen im Sketch erweiterbar.

Eine einfache Oberfläche zeigt das folgende Bild:

Das Template für diese Oberfläche könnt ihr hierherunterladen.

Das Handbuch zu dieser Software findet ihr hier.

Logging mit LogView-Studio (COM)

Ebenfalls für die nicht kommerzielle Verwendung frei ist die Software LogViewStudio. Das Programm bietet eine Fülle von Möglichkeiten und ist, was die Auswertung der Plots anbelangt, absolute Spitze. Leider ist die Entwicklung offensichtlich eingestellt worden, daher sind auch einige Fehler in der Software noch enthalten, so funktioniert leider die Datenübertragung via UDP nicht. Die Datenübertragung über COM(USB) hingegen funktioniert einwandfrei.

Eine Anleitung zu dieser Software findet ihr hier.

Bedienung der AiO-MEGA mit KBH2AiO

Achtung: Für den Betrieb der Software muss sich im Verzeichnis „windows/system32“ oder im Verzeichnis mit der KBH2AiO.exe die Datei „sqlite3.dll“ befinden. Für KBH2AiO64.exe benötigt ihr diese und für KBH2AiO32.exe diese Datei!

Das Programm KBH2AiO wurde zunächst entwickelt, um über UDP Rezepte aus dem "Kleinen Brauhelfer" an die AiO zu übertragen. Hinzugekommen sind nun die Möglichkeiten, die AiO auch von hier zu steuern (Maischen, Nachguss, Kochen, Gärführung, Abbruch, Setup) und den Temperaturverlauf während des Maischens zu verfolgen (Logging). In den Temperaturverlauf kann hineingezoomt und die Grafik kann als PDF-Datei exportiert werden. Die Grafik kann auch in die Zwischenablage zwecks Weiterverabeitung in anderen Programmen exportiert werden. Außerdem ist ein Export als CSV-Datei möglich.

UDP - Anmelden an der Brausteuerung

Wenn das Modul ESP8266-1 eingebaut ist, kann die AiO über das UDP-Protokoll kommunizieren. Allerdings sollte das Modul auch erkannt werden, dazu muss die richtige Baudrate eingestellt sein! Im Sketch ist eine Baudrate von 115200 vorgegeben. Die Module sind von Werk aus meistens mit einer Baudrate von 9600 eingestellt, daher sollte mit folgendem kleinen Sketch der ESP initialisiert werden:

char reply[500]; 
    
void setup()
{
    Serial2.begin(115200);   
    Serial.begin(115200); 
    Serial2.print("AT+RST\r\n");                  //Software Reset  
    getReply( 1000 );  
    Serial2.print("AT+CIOBAUD=115200\r\n");      //Einstellen der Baudrate 
    getReply( 1000 ); 
}

void loop(){
}

void getReply(int wait) 
{
  int tempPos = 0;  
  long int time = millis(); 
  while ( (time + wait) > millis()) 
  { 
    while (Serial2.available())  
    { 
      char c = Serial2.read();   
      if (tempPos < 500) {
        reply[tempPos] = c; 
        tempPos++; 
      }   
    }  
    reply[tempPos] = 0;  
  }

  Serial.println( reply ); 
}

Im Serial-Monitor der Arduino-Ide kann dann überprüft werden, ob die Baudrate ordnungsgemäß umgestellt wurde.

Ich habe mich für das UDP-Protokol entschieden, weil ich das Modul unabhängig vom heimischen WLAN betreiben wollte und habe es deshalb als eigenständigen Accesspoint konfiguriert. Die SSID lautet „AiO-LAN“ und sollte in der Übersicht der in Reichweite befindlichen WLAN-Zugriffspunkte erscheinen. Das festgelegte Passwort lautet „Hobbybrauer“.

Die AiO hat die IP-Adresse 192.168.100.1. und öffnet den Port 50000. Dieser Port wird auch auf PC-Seite geöffnet. Bei der ersten Verwendung meckert einmal die Firewall, hier dann bitte angeben, dass man auf diesen Port zugreifen möchte. Die lokale IP des Rechners sollte via DHCP vergeben werden, ist bei mir dann in aller Regel 192.168.100.2. Falls es hier Probleme gibt, bitte im „Netzwerkcenter→Adaptereinstellungen ändern“ unter IPv4 eine alternative Konfiguration für die AiO einrichten.

Hier findet ihr eine PDF-Datei mit einer ausführlichen Beschreibung aller Möglichkeiten von KBH2AiO32/64:

Bedienung KBH2AiO32/64

Alternative zu UDP - AiO-MEGA-Bluetooth

Mit dem Bluetoothmodul HC-06 kann relativ einfach eine Fernsteuerung über den PC realisiert werden. Die Steuerung kann über KBH2AiOBT oder der weiter unten angebotenen Android - App (Beta, nicht perfekt!) erfolgen. Mittlerweile bevorzuge ich diese Datensteuerung gegenüber UDP, da der Datenverkehr etwas zügiger abläuft. Das Modul muss vor der Verwendung auf eine Baudrate von 115200 eingestellt werden. Außerdem kann, wenn gewünscht, der Name geändert werden.

Dafür den folgenden Sketch in den Arduino laden und den HC-05/06 wie in der Skizze angegeben anschließen (beim HC05 werden die beiden äußeren Pin´s nicht angeschlossen!)

//// Programm HC-06   
// mit dem Seriellen Monitor den Arduino verbinden  
// HC06 :kein NL und CR setzen -> kein Zeilenende
// HC05 :New Line (NL) und Carriage Return (CR) 
// HC06:
// AT -> OK
// AT+NAME<Name> -> Oksetname
// AT+PIN<4stellige zahl> -> OKsetPIN
// AT+BAUD<X> -> OK<X> -> Eingabe: AT+BAUD8 für 115200 Baud (kein Leerzeichen!)
// X=4 : 9600bps (Default)
// X=6 : 38400bps
// X=7 : 57600bps
// X=8 : 115200bps
// HC05:
// Achtung! Manche als HC06 verkaufte Module sind in Wirklichkeit
// HC05 mit vier Anschlussbeinchen! Diese Einstellungen auch für
// den originalen HC05 verwenden!
// Falls 9600 Baud nicht funktionieren, 38400 Baud ausprobieren!
// dann die Baudrate einstellen mit : AT+UART=115200,0,0
// und den Modulnamen mit AT+NAME=irgendeinName
//---------------------------------
// HC-05/06 | Arduino
// TX    | 17
// RX    | 16
//------------------------------------
void setup() {
  Serial.begin(9600); 
  delay(500);
  Serial2.begin(9600);
  // Serial2.begin(115200); // nach Umstellung der Baudrate
  delay(500);
  Serial.println("Ready");
}
void loop()
{
 if ( Serial.available() )
 {
   char a = Serial.read();
   Serial2.print(a); 
 }

 if (Serial2.available() )
 {
  char a = Serial2.read();
  Serial.print(a); 
 } 
}

Der Aufbau der Relaisversion

und hier der Aufbau der Funkversion.

Am einfachsten scheint mir der Aufbau mit einer Shield-Lochrasterplatine, z.B. diese hier

Hier noch einmal als PDF-Dateien:

Aufbau der "R"-Version

Aufbau der "F"-Version

Aufbau mit Lochraster-Shield

Die Bedienung der KBH2AiO-Software ist identisch mit der UDP-Version. Lediglich muss nun statt einer IP-Adresse der richtige virtuelle COM-Port ausgesucht werden. Dafür muss zunächst der AiO-HC05/06 am PC angemeldet werden. Dazu aus der Taskleiste oder der Systemsteuerung den Punkt „Bluetooth-Geräte“ aufrufen und den HC-05/06 koppeln, das Passwort lautet - wenn nicht geändert - „1234“. Die virtuellen Schnittstellen werden automatisch erzeugt, wenn der HC-06 mit dem PC verbunden wird. Hier muss man einfach mal alle im Auswahlfenster gezeigten COM-Ports ausprobieren, bis die AiO sich meldet. Der HC-05/06 kann direkt an 5 V angeschlossen werden, denn er hat einen Spannungregler der die Anschlußspannung für den Bluetooth-Chip auf 3,3V herunterregelt. Die TXD /RXD Anschlüsse funktionieren ebenfalls problemlos mit dem 5V TTL-Spannungslevel des Arduino.

Bezugsquellen und Preise

Grundlage dieser Kostenaufstellung ist ein Brewshield in der Ausführung als Lochrasterplatine. Der Aufbau ist für Elektroniklaien einfacher zu bewerkstelligen. Je nach Gehäuse und angeschlossener Leistung muss auch noch ein aktiver Lüfter eingebaut werden. Dazu muss aber der Arduino über ein Steckernetzteil 12V an Vin angeschlossen werden und darüber dann auch der Lüfter betrieben werden.

Bauteil Bezugsquellen Preise
Arduino-MEGA Nachbau Reichelt Elektronik
Reichelt.de
19,95 EUR
Prototype-Shield f. Arduino-Mega Elektronik-Direkt über Ebay
ebay.de
1,65 EUR
Display 4×20 incl. I2C-Modul Reichelt Elektronik
Reichelt.de
13,30 EUR
DS18B20 Temperatursensor (wasserdicht) Reichelt Elektronik
Reichelt.de
7,70 EUR
433 MHz – Sender & Empfänger (nur für die Funkversion) Reichelt Elektronik
Reichelt.de
1,55 EUR
433 MHz Funksteckdosen 3680 Watt (nur für die Funkversion)
Achtung! Rolling-Code-Systeme funktionieren nicht!!
Amazon
Amazon.de
18,85 EUR
Solid State Relais (SSR)
20A - 2 Stck.
(nur für die Relaisversion)
Pollin
Pollin.de
Für Anschlussleistungen > 2000 W (z.B. Hendi)
13,50 EUR
Kühlkörper für SSR - 2 Stck.
(nur für die Relaisversion)
Pollin
Pollin.de
7,90 EUR
Relaismodul 4-fach
(für allpolige Schaltung – siehe Skizze)
(nur für die Relaisversion)
Watterott Elektronic
Watterott.com
Für Anschlussleistungen ⇐ 2000 W (z.B. Einkocher)
4,85 EUR
Dreh-Drück-Encoder (Impulsgeber) Reichelt Elektronik
Reichelt.de
3,70 EUR
Optional Bluetooth-Modul HC06 Reichelt Elektronik
Reichelt.de
13,20 EUR
Gehäuse beliebig
(Kunststoff bei 433 MHz!) z.B.
Reichelt Elektronik
Reichelt.de
6,00 EUR
Tiny XLR Einbaustecker
(auch andere Stecker möglich z.B. RJ45)
Reichelt Elektronik
Reichelt.de
1,90 EUR
Tiny XLR Einbaubuchse Reichelt Elektronik
Reichelt.de
3,40 EUR
Steckernetzteil 12V Reichelt Elektronik
Reichelt.de
1,70 EUR
12V Lüfter Reichelt Elektronik
Reichelt.de
8,40 EUR

Rechnet man nun alles zusammen, so kann man sich – wenn man noch einige Kleinteile hinzurechnet - für ca. 95 EUR eine Brausteuerung sowohl in der Funk- als auch in der Relaisversion aufbauen.

Universal-Brewshield für den einfachen Aufbau der AiO


Für diejenigen unter euch, die selbst Platinen ätzen können oder bei einem Platinenservice (z.B. platinenbelichter.de) fertigen lassen wollen, bietet sich eine elegantere Lösung an:


Das Universalshield für die AiO-Brausteuerung kann für alle Aufbauten genutzt werden:

1. Nur Relaissteuerung – Spannungsversorgung der Relais über den Arduino

2. Nur Relaissteuerung – Spannungsversorgung extern (5 V - 24 V). Ansteuerung der Relais über einen ULN2003A.

3. Nur Funksteuerung

4. Funk- und Relaissteuerung

5. Versionen 1 – 4 jeweils ohne Bluetooth-/Wlan-Modul

Zunächst einmal eine Übersicht über den Maximalausbau. Hieraus können alle Varianten abgeleitet werden. Die Grundversionen 1-3 stelle ich daran anschließend kurz vor. In den Versionen ist jeweils das Bluetoothmodul HC06/HC05 eingezeichnet, dies ist aber optional und kann somit auch entfallen. Wer das Wlan-Modul ESP8266-1 verwenden möchte, muss auch die Widerstände 2-5 einlöten (Spannungsteiler!) , da die Eingänge des ESP nur an max. 3,3 V liegen dürfen.

Hier noch einmal als PDF-Datei: Maximaler Ausbau der AiO-Mega

Version 1:

Sketch: Compilerschalter:
//#define funksteuerung
#define relaissteuerung

An Stelle des ULN2003 werden Brücken in die IC-Anschlüsse gelötet. Zwischen den IC-Anschlüssen 1 und 16 darf keine Brücke eingelötet werden! In dieser Version dürfen nur Relais angeschlossen werden, die max. 40mA bei einer Spannung von 5V aus dem Ausgang ziehen. Für die bekannten China-Relais ist das ausreichend.

Version 2:

Sketch: Compilerschalter:
//#define funksteuerung
#define relaissteuerung

Bei dem ULN2003A handelt es sich um einen Treiberbaustein mit 7 Darlington-Transistoren und ebenso vielen Open-Collector-Ausgängen. Der Vorteil dieses Bausteins ist, dass für die Ansteuerung der Relais nicht die Arduino-Betriebsspannung verwendet wird. Bei mechanischen Relais kommt die Betriebsspannung der verwendeten Relais auch an den Anschluss „Relaisspannung“, dadurch werden die im ULN vorhandenen Freilaufdioden aktiviert. Bei SSR´s kann dieser Anschluss offen bleiben. Das jeweilige Relais wird dann zwischen der externen Betriebsspannung und dem jeweiligen Eingang geschaltet. Wichtig: Die Masse (GND) der externen Spannung muss mit dem GND-Eingang verbunden werden! Die angeschlossenen Relais sind dann Low-Aktiv, da die Relais gegen Masse (GND) schalten. Dies muss im Sketch auch so eingestellt sein!

#define H_AUS HIGH

#define H_EIN LOW

#define NG_AUS HIGH

#define NG_EIN LOW

#define R_AUS HIGH

#define R_EIN LOW

Jedoch Vorsicht! Bei Relaisplatinen mit Optokopplern („China Relais“) wird die Logik zweimal invertiert, hier ist dann die Relaislogik wieder wie im Sketch vorgegeben!

#define H_AUS LOW

#define H_EIN HIGH

#define NG_AUS LOW

#define NG_EIN HIGH

#define R_AUS LOW

#define R_EIN HIGH

Version 3:

Sketch: Compilerschalter:
#define funksteuerung
//#define relaissteuerung

Die Relaisansteuerung von Heizung, Rührer/Malzrohrpumpe und Nachgussheizung ist deaktiviert. Für diese Steuerung werden 433-MHz-Funksteckdosen benötigt.
(Achtung: keine Dosen mit Rolling-Code-Codierung!)

Platinenlayout

Die PDF-Datei des Platinenlayouts kann so an den Belichtungsdienst platinenbelichter.de geschickt werden. Die einfachste Variante (Glanzzinn und gebohrt) für 2 Platinen kostet dann etwa 21,- EUR, also 10,50 EUR pro Platine. Die Durchkontaktierungen müssen dann allerdings selbst verlötet werden.

Hier noch einmal in der Originalgröße als PDF:

Platine für Belichtungsdienst

Wer andere Leiterplattenhersteller bevorzugt, kann über die Dip-Trace-Dateien andere Ausgabeformate erzeugen.

Diptrace-Dateien

Hier noch einmal der Anschluss des ULN2003:

Aufbau der Datentelegramme

Alle Werte werden als „String“ übertragen. Als Trennzeichen zwischen den einzelnen Werten eines Telegramms dient das “;„. Der erste Wert in jedem Telegramm kennzeichnet die gewünschte Funktion eindeutig (z.B. „RPT“ → jetzt kommt ein Rezept). Anhand dieser Datentelegramme kann jeder sein eigenes Steuerprogramm erstellen, z.B. für Tablett oder Smartphone.

AiO → PC PC → AiO
Rezept - Rezepte KBH/MMuM
„RPT“ ;Einmaischtemperatur;AnzahlRasten; Kochdauer;Rasttemp1;
Rasttemp2;Rasttemp3;Rasttemp4;Rasttemp5;Rasttemp6;Abmaischtemperatur;
Rastdauer1;Rastdauer2;Rastdauer3;Rastdauer4;Rastdauer5;
Rastdauer6; HopfengabeZeit1; HopfengabeZeit2; HopfengabeZeit3; HopfengabeZeit4; HopfengabeZeit5; HopfengabeZeit6; AnzahlHopfengaben ; Nachisomerisierung ;
Gärführung
„GFU“ ;Anzahl Gärrasten;GärrastTemperatur1;
Gärrasttemperatur2 ;Gärrasttemperatur3 ;Gärrasttemperatur4;
Gärrasttemperatur5 ; Gärrastzeit1 ; Gärrastzeit2 ; Gärrastzeit3;
Gärrastzeit4; Gärrastzeit5; Anstelltemperatur
Modi der AiO - „mspe“ = Umschaltung Speedrelais
„m27“ = Maischeautomatik
„mmazp“ = Malzrohrpumpe Reinigungslauf
„wpv“ = Einschaltverzögerung Würzepumpe
„m42“ = Kochen Start
„ng2“ = Nachgussbereitung starten
„mk1“ = Kühlen/Heizen
„mx236“ = Einlesen Funksteckdosen
„m3p“ = Würzepumpe manuell einschalten
„m41“ = Würzekochen
„m80“ = Abbruch aktuelles Programm
„m31“ = Brauerruf quittieren
„m250“ = Gärführung starten
Setup - „mt239“;ruehrer_jn;dauerbetrieb;intervall_ein;intervall_aus;maischaktiv
ruehrer_jn = 0 → Rührer ; ruehrer_jn = 1 → Malzrohrpumpe
Nur wenn ruehrer_jn = 0: dauerbetrieb = J / dauerbetrieb = N
nur wenn Dauerbetrieb = N: maischaktiv = 0 → Rührer während des Einmaischens inaktiv
maischaktiv = 1 → Rührer während des Einmaischens aktiv
nur wenn Dauerbetrieb = N
intervall_ein = 0-255 Sek. - Beispiel intervall_ein = 60 (60 Sek. Einschaltdauer)
intervall_aus = 0-255 Sek. - Beispiel intervall_aus = 30 (30 Sek. Ausschaltdauer)
- Nachlauf Ja = 1; Nein = 0
„ms239“;Kochschwellentemperatur
„mr11“; GradientenfaktorHeizen; EinschaltverzögerungHeizen („Sekunden“); GradientenfaktorKühlen; EinschaltverzögerungKühlen („Minuten“)
„ms44“;Loggerwahl (Loggerwahl = „0“ ⇒ SerialComInstruments
Loggerwahl = „1“ ⇒ LogViewStudio
Loggerwahl = „3“ ⇒ kein Logging
„ms46“;NotfallEinAus (NotfallEinAus = „0“ ⇒ Notfallschaltung AUS
NotfallEinAus = „1“ ⇒ Notfallschaltung EIN)
„mk1“;Temperatur;Modus
Temperatur = gewünschte Temperatur
Modus = 1 ⇒ Kühlen / Modus = 0 ⇒ Heizen
„ng2“;Nachgusstemperatur
„mss8“;Lautstärke (Lautstärke = 0..255)
„wpv3“;EinschaltverzögerungWürzepumpe;Automatik
wartezeit ⇒ Anlaufverzögerung der Pumpe nach Einschaltimpuls im Automatikmodus
automatik = 0 → Manuell Ein/Aus / automatik = 1 → Schwimmschalter schaltet
„ms236“;VerwendungszweckDritteFunkteckdose
Verwendungszweck = 0 ⇒ Nachgussheizung in den Heizpausen des Maischekessels
Verwendungszweck = 1 ⇒ Brauerruf (Sirene im Garten!)
„msz251“;NeueRastzeit (Rastzeitänderung während der Rasten)
„ms8“;Lautstärke (0-255) ⇒ nur Soundcheck
„TI9“ Startstunde;Startminute; aktiv = 1
Zustandsdaten der AiO „Isttemperatur“; „Solltemperatur“; „Gradient“; „HeizungEinAus“ („0“ = AUS , „1“ = EIN); „RührerEinAus“ („0“ = AUS , „1“ = EIN); „Modus“; „Meldungsfenster“; „MeldungDetailFenster“; „Nachgusstemperatur (2.Sensor)“ → („°C“ oder „NC“); „NachgussHeizungEinAus“ („0“ = AUS , „1“ = EIN) ⇒ in der Heizpause des Maischekessels;
Brauerruf („1“ = aktiv) ; RastzeitSoll ; RastzeitIst ;Nachisomerisierungszeit; AktuelleGärrastzeit
„mset“ = Setup auslesen

Ablauf eines Brauvorgangs mit der AiO

Brauen mit der AiO-MEGA und der Steuerungssoftware „KBH2AiOUDP/KBH2AiOBT“

a. Setup

Zunächst im Setup alle nötigen Voreinstellungen überprüfen. Hier kann auch statt eines Rührers eine Malzrohrpumpe ausgewählt werden.

b. Maischen

1. UDP - AiO anschließen und am PC den Accesspoint „AiO-LAN“ auswählen. Das Passwort lautet „Hobbybrauer“.
oder
Bluetooth - virtuellen COM-Port auswählen. (Modul vorher mit dem PC koppeln! Passwort: 1234

2. KBH2AiO starten, alle Button mit Ausnahme von „Aktualisieren“ sind deaktiviert.

3. Den Button „Aktualisieren“ betätigen und solange warten, bis der Text „AiO gefunden“ erscheint.

4. Das Braurezept aus dem „Kleinen Brauhelfer“ importieren („Datei“ → „aus KBH importieren“). Den Pfad zur KBH-Datenbank findet ihr im „Kleinen Brauhelfer“ unter Einstellungen. Übertragen werden der dort abgelegte Maischeplan und die geplanten Hopfengaben incl. der Nachisomerisierung.

5. Nun ist auch der Button „Rezept zur AiO übertragen“ aktiviert. Nachdem die Suddaten zur AiO übertragen wurden, kann man durch Betätigen des Button „Maischen“ den Brauprozess starten.

6. Den Temperaturverlauf kann man sich nach dem Umschalten auf das Fenster „Logging“ ansehen. Die Zeitachse zeigt die abgelaufene Zeit in Deziminuten und die Temperaturachse in °C. Hineinzoomen kann man, indem man einen Rahmen von unten nach oben über die aufgezeichnete Temperaturfunktion zieht, herauszoomen geht umgekehrt. Die Kurve kann gedruckt werden und auch zur Weiterverarbeitung mit anderen Programmen in den Zwischenspeicher kopiert werden. Außerdem können die Messwerte in einer CSV-Datei zur Weiterverarbeitung in z.B, Excel abgespeichert werden.

7. Während des Maischens kann, wenn im Setup „Rührer“ ausgewählt wurde, mit dem Button „Speedrelais“ die Geschwindigkeit des Rührermotors geändert werden. Hierzu ist allerdings ein zusätzliches Relais benötigt.

8. Das Maischeprogramm endet mit dem Brauerruf zum Abmaischen. Wenn der Ruf quittiert wird, kehrt die AiO wieder in den Modus „0“, „Hauptmenü“, zurück.

c. Läutern

Für das Läutern kann eine Würzepumpe angeschlossen werden. Die Pumpe wird durch den Button „Würzepumpe“ aktiviert. Ein- bzw. ausgeschaltet wird sie durch einen Schwimmschalter (Zweipunktregler). Die Würze wird vom Läutergrant in die Sudpfanne gepumpt.

d. Kochen

Das Würzekochen kann nur gestartet werden, wenn ein Rezept in die AiO übertragen wurde. Hier sind ja die Zeitpunkte der Hopfengaben und Nachisomerisierungszeit festgelegt. Wenn also zwischen dem Maischen und dem Kochen die AiO ausgeschaltet wurde, muss das Rezept noch einmal übertragen werden. Aufgeheizt wird bis zur einstellbaren Kochschwelle (Standard 98°C). Von dieser Temperatur an steht der Kochvorgang kurz bevor, d.h. man muss darauf achten, dass der Sud nicht überkocht. Erst von diesem Zeitpunkt an kann die Zeitzählung aktiviert werden. Die übertragenen Zeitpunkte der Hopfengaben werden akustisch und als Meldung im Aktionsfenster signalisiert. Zum Schluss des Kochens ertönt wieder der Brauerruf.

e. Nachisomerisierung

Die Nachisomerisierungszeit wird auch aus dem „Kleinen Brauhelfer“ übertragen. Gemeint ist hiermit die Zeit nach Kochende innerhalb derer der Hopfen noch Alphasäure freisetzt. Nach der übertragenen Nachisozeit ertönt der Brauerruf. Für eine Whirlpoolgabe kann die Nachisozeit ziemlich groß (z.B. 120 min.) gewählt werden, dann ertönt der Brauerruf wenn die Sudtemperatur in dieser Zeitspanne unter 80°C gefallen ist.

f. Nachguss

Die Nachgusstemperatur wird nach dem Betätigen des Buttons „Nachguss“ abgefragt und durch den Button „Fertig“ gestartet. Der Nachguss wird bis zu einer einstellbaren Temperatur aufgeheizt und die Temperatur wird gehalten. Hier wird der Temperatursensor für die Maischeheizung und nicht für die Nachgussbereitung während des Maischens benutzt.

g. VAR.K/H Es kann sowohl gekühlt als auch geheizt werden. Die Kühltemperatur wird nach dem Betätigen des Buttons „Kühlen“ abgefragt. Hierüber kann die Kühl-/Heiztemperatur jederzeit angepasst werden. Auch hier ist die Notfallschaltung (Stromausfall) integriert, d.h. bei der erstmaligen Betätigung der Kühl-/Heizfunktion erscheint im Aktionsfenster „NOT-EIN“. Jetzt startet die AiO nach einem Stromausfall automatisch in den Kühl-/Heizmodus mit der zuletzt eingestellten Temperatur. Bei einem erneuten Aufruf erscheint dann im Aktionsfenster „NOT-AUS“, d.h. die Notfallschaltung ist nun nicht mehr aktiv.

Download der Versionen

Hier werdet ihr jeweils die aktuellen Versionen zum Download finden.

Die NANO und UNO-Versionen vom 6.1.17 sind um eine kombinierte Heiz-/Kühlfunktion erweitert worden. Durch Doppelklick im bisherigen Kühlmodus kann zwischen Heizen und Kühlen umgeschaltet werden. Die Menübezeichnung ist von „Kühlen“ in „Var.K/H“ geändert worden. In der NANO-Funkversion ist diese Funktion aus Speicherplatzgründen nicht implementiert.

NANO
UNO

Relaisversion Funkversion

Sollte es bei den "R (Relais)"-Versionen von NANO oder UNO Speicherplatzprobleme geben, kann die Loggingfunktion deaktiviert werden! Dafür im Sketch die Compilerdirektive "#define loggingaktiv" in "//#define loggingaktiv" ändern!

MEGA

Die Version beinhaltet die volle Ansteuerung aus KBH2AiO (wenn konfiguriert!)

Vorgaben der heruntergeladenen Version. Die Version ist

  1. das Speedrelais für den Rührer wird NICHT unterstützt! (bool geschwindigkeitsrelais = false - sonst true)
  2. der Funksensor wird NICHT unterstützt! (#define Tempsensor433 - auskommentiert = mit Funksensor)

Die Version vom 5.11.16 ist um folgende Möglichkeiten erweitert worden:

  1. Die WÜRZEPUMPE (die aus dem Hauptmenü), kann durch einen einfachen Druck auf den Encoder in den Dauerbetrieb umgeschaltet werden. Außerdem kann im Automatikmodus die Einschaltverzögerung der Pumpe eingestellt werden.
  2. Die MALZROHRPUMPE (als Alternative zum Rührer), hat nun einen Eintrag im Hauptmenü (Reinigungsmodus = Dauerbetrieb). Diese Funktion kann auch aus KBH2AiO geschaltet werden.
  3. Optional kann nun eine zweite Heizquelle für den Nachguss angeschlossen werden. Diese Heizung wird nur während des Maischens eingeschaltet und zwar nur dann, wenn die Heizung für den Maischekessel ausgeschaltet ist. Das zusätzliche Heizrelais wird über die Anschlüsse A4 (Phase) und A5 (Nulleiter) betrieben. Bei der Relaisversion funktioniert das allerdings nur mit einem 2. Temperatursensor. Ist kein zweiter Thermosensor angeschlossen, kann diese Möglichkeit nur mit einem Kessel mit eingebautem Thermostaten (z.B. Einkocher) mit der Rührer/Pumpe-Steckdose der Funkvariante genutzt werden. Die AiO erkennt den zweiten Sensor automatisch.

In der Version vom 16.11.16 wurden

  1. einige kleinere Fehler behoben
  2. Die Vorbereitung für den Empfang eines Funkthermosensors wurde integriert.

In den Versionen vom 27.07.17 wurden

  1. der Sketch leicht überarbeitet
  2. Loggingfunktion in den „R“-Versionen kann per Compilerdirektive entfernt werden (bei Speicherproblemen!)

433-MHz-Funksensor mit DS18B20

Der Wunsch nach Unterstützung eines batteriebetriebenen 433-MHz-Funksensors wurde schon öfters geäußert, daher hier die Umsetzung.

Aufbau der ATtiny-Version:  Aufbau der Nano-Version

Wegen des relativ hohen Stromverbrauchs, ist die Version mit dem Arduino-Nano natürlich nicht für den Batteriebtrieb geeignet. Für die ATtiny-Programmierung muss die Arduino-IDE den ATtiny84 bzw. den ATtiny85 kennen. Dafür dieses Verzeichnis in das Unterverzeichnis „\(Verzeichnis der Arduion-IDE)\Hardware“ kopieren. Im Sketch kann dann durch eine Compilerdirektive (#ifdef ATTiny), zwischen ATtiny- und Nanosketch gewechselt werden.

Da die Prozessoren natürlich noch keinen Bootloader und keinen USB-Anschluss besitzen, muss das Programm mit Hilfe eines ISP-Programmers überspielt werden. Hierfür kann mann einen Arduino-UNO nach dieser Anleitung verwenden. Es ist dabei unbedingt zu beachten, dass zunächst der Bootloader mit der Einstellung der Taktrate auf 8MHz-intern überspielt werden muss. Um diesen Sensor in der AiO zu verwenden, muss die Compilerdirektive #define Tempsensor433 auskommentiert sein. Der Funksensor fungiert immer nur als Maischesensor (Hauptsensor). Für den optionalen Nachgusssensor muss immer ein kabelgebundener Temperatursensor verwendet werden.

Sketch für die Thermosensoren

Falls bei der Compilierung des Sketches Probleme mit der VirtualWire-Library gemeldet werden, dann bitte diese Library verwenden.

Einbau der RTC (Real-Time-Clock)

Es gibt verschiedene RTC für den Arduino/RasPi, ich benutze die recht preisgünstige Version RTC 1307, die bei den bekannten Versendern schon für ca. 7 EUR zu haben ist. Der Einbau ist denkbar einfach. Die RTC wird parallel zum Display angeschlossen (Vcc, GND, SDA, SCL), das wars!

Wenn im MEGA-Sketch nun die Compilerdirektive #RTC_Hardware auskommentiert wird, steht im Optionenmenü der Menüpunkt „Timer“ zur Verfügung. Hier kann die Uhr gestellt und der Timer initialisiert werden. Die Zeitspanne beträgt max. 23h 59min. Man kann also abends den Timer auf 6 Uhr morgens stellen um dann direkt nach dem Aufstehen einmaischen zu können.

Man sollte allerdings nicht vergessen, vorher das Maischeschema in die AiO zu übertragen!


Versionsverlauf KBH2AiO

In der Version vom 23.11.16 wurde

  1. Datentelegramm zum und vom PC bzw. AiO überarbeitet.
  2. Brauerruf über den PC (bruf.wav → Länge max. 1s) - selbst aufgezeichnet oder das Beispiel in der Sketch-ZIP verwenden

In der Version vom 29.11.16 wurde

  1. die Anzeige der Nachgusstemperatur während des Maischens wurde verbessert.

In der Version vom 10.12.16 wurde

  1. der Import von Rezepten aus MMuM (JSon-Format) optimiert.
  2. die Möglichkeiten zum Ändern der importierten Rezepte eingebaut.

In der Version vom 19.02.17 wurde

  1. die Eingabe von Gärführungen integriert.
  2. Kühlen und Heizen steuerbar
  3. Übersicht der Setupdaten verbessert.

In der Version vom 31.05.17 wurde

  1. der fehlerhafte Zeitablauf im Chart wurde korrigiert.

In der Version vom 15.08.18 wurde

  1. UDP und Bluetooth zusammengefasst (per Compilerdirektive auswählbar)
  2. Fensteraufbau verändert
  3. Fehlbedienungsschutz durch temporäre Deaktivierung einiger Button

Download KBH2AiO64UDP (64 Bit!)

Download KBH2AiO32UDP (32 Bit!)

Download der KBH2AiO-Software für Bluetooth

Download KBH2AiO32BT (32 Bit!)

Download KBH2AiO64BT (64 Bit!)


Versionsverlauf AiO-MEGA

Achtung: ab dem Jahr 2017 werden die Bezeichnungen der Brausteuerungen geändert. Es wird jeweils der Basisarduino, ergänzt um das Erstelldatum, angegeben.

In der Version vom 16.01. 17 wurde

  1. eine aktive Gärführung integriert.
  2. das Anfahren einer Zieltemperatur nun für Heizen und Kühlen hinzugefügt (in älteren Versionen nur „Kühlen“)

Hierzu auch noch eine PDF-Datei mit einem Kurzüberblick aller Möglichkeiten dieser Version beschreibung_aio_mega_16_01_2017.pdf

In der ZIP-Datei sind nun auch die Installationssoftware für „SerialCominstruments4“ und ein einfaches Template dazu (AiO-4) enthalten.

In der Version vom 20.01.2017 wurden einige kleine Fehler korrigiert. Außerdem wird beim Start angezeigt, welche Relaislogik aktiv ist.

In der Version vom 25.01.2017 wurde die Einschaltung des Nachgusskessels in den Heizpausen optimiert. Beim Einmaischen hört der Brauerruf nach 5 mal piepsen auf (nervt sonst bei Malzrohranlagen).

In der Version vom 19.02.2017 wurde die Anpassung an KBH2AiO optimiert.

In der Version vom 23.02.2017 wurde der Anzeigefehler der Relaislogik beim Start eliminiert.

In der Version vom 17.04.2017 wurde ein Temperatur-/Zeitfenster integriert. Der Rufton des Brauerrufs kann im Setup eingestellt werden.

In der Version vom 03.05.2017 wurden kleinere Optimierungen durchgeführt. Außerdem wird nun die Gärzeit bei der automatischen Gärführung zum PC übertragen. (dafür jeweils die aktuellen Versionen KBH2AiO32/64 herunterladen).

Ab der Version vom 10.05.2017 ist kein Neustart nach dem Anlernen der Funksteckdosen mehr notwendig.

In der Version vom 30.06.2017 ist die automatische Gärführung optimiert worden. Außerdem wird auch die Nachguss-Funksteckdose zyklisch überprüft.

In der Version vom 27.07.2017 ist der Sketch überarbeitet worden (Funktionen wie 30.06.2017)

In der Version vom 02.11.2017 wurde ein Fehler beim Betrieb ohne Display/Encoder behoben.

In der Version vom 26.08.2017 ist die Mischerfunktion überarbeitet worden. Wenn das Geschwindigkeitsrelais im Sketch deaktiviert ist, kann durch Druck auf den Encoderbutton der Mischer temporär zwischen Intervall- und Dauerbetrieb umgeschaltet werden (Anzeige während des maischens: MI = intervallbetrieb - MD = Dauerbetrieb). Außerdem schaltet der Mischer in den Pulspausen vor dem Erreichen einer Rasttemperatur nicht mehr aus.

In der Version vom 24.12.2017 wurde 0°C als Sensorfehler eliminiert, dadurch ist im Modus „Kühlen“ der Cold-Crash bis 0°C möglich (max. -10°C!)

In der Version vom 01.04.2018 wurde der Fehler eliminiert, das nachdem die Kühl-/Heizfunktion mit Abbruch verlassen wurde, die Kühlverzögerung auf „0“ gesetzt wurde.

In der Version vom 27.04.2018 wurde der Fehler eliminiert, das nach der Übertragung eines Rezeptes aus dem KBH und der Beendigung des Maischeprogramms, die Hopfengaben nicht mehr stimmten.

In der Version vom 20.05.2018 wurde die Kühl-/Heizregelung (VAR K/H) überarbeitet. Es entstand im Kühlmodus immer ein kleiner „Einschaltpeak“.

Die Version vom 14.08.2018 unterscheidet nicht mehr zwischen Bluetooth oder UDP. Durch einen Compilerschalter (siehe Tabelle) kann die jeweilige Version ausgewählt werden.

Die Version vom 28.10.2018 sendet auch die Sollkochzeit zu KBH2AiO. Änderungen der Sollkochzeit am Encoder werden nun sofort in KBH2AiO aktualisiert. Wenn keine Nachisomerisierung angegeben wurde (=0), dann ertönt jetzt auch wieder der Brauerruf. Dazu bitte auch die aktuelle PC-Software herunterladen!

Die Version vom 07.11.2018 kann mit einer RTC (Real-Time-Clock = Echtzeituhr) ausgestattet werden. Daduch ist der Betrieb eines Timers möglich.

In der Version vom 04.02.2019 wurde ein Fehler beim Betrieb mit einem zweiten Sensor für die Nachgusssteuerung behoben. Die Heizung wurde bei 78°C nicht abgeschaltet.

In der Version vom 23.02.2019 wurde ein weiter Fehler beim Betrieb mit einem zweiten Sensor für die Nachgusssteuerung behoben. Außerdem wird nun beim Übertragen der Timerdaten aus KBH2AiO die Zeit der AiO mit der PC-Zeit synchronisiert (wenn ein RTC-Modul verbaut ist!). Es kann nun eingestellt werden, ab der Rührer nach dem Erreichen der Abmaischtemperatur nachlaufen soll. Hier sind 5 min. fest eingestellt.

In der Version vom 05.04.2019 wurde ein Zeitfenster für die Temperaturmessung eingeführt, d.h. der Zyklus ist beim Heizen ein anderer als beim Kühlen. Bei Kühlgeräten mit Kompressor ist das Einstellen einer Wiedereinschaltsperre sinnvoll. Wenn bei der Temperaturmessung eine kurze Temperaturschwankung unterhalb eines Schwellenwertes erfolgt, schaltet sich bisher der Kompressor ein und kurz danach wieder aus, danach lief wieder die Wiedereinschaltsperre. Dies wird durch ein längeres Zeitfenster verhindert. Dieser Wert muss an das vorhandene Kühlgerät angepasst werden (Logging in der KBH2AiO beobachten!).

Es wurde ein Fehler bei der Datenübermittlung,während der automatischen Gärführung zur KBH2AiO, behoben.

Wenn ein RTC-Modul verbaut ist, wird im Hauptmenü die Uhrzeit angezeigt.

Aktuelle Beschreibung der AiO (UDP/Bluetooth)
Arduino Bibliotheken

Die folgenden Bibliotheken werden je nach Version benötigt. library_fr.zip

Es ist aber sinnvoll, ggf.nach den jeweils aktuellen Bibliotheken zu suchen. Die Arduino-IDE aktualisiert die ihr bekannten Bibliotheken nach Aufforderung automatisch.

Der MEGA-Sketch kann für Funk-/Relaissteuerung, für UDP(ESP8266) und Bluetooth(HC05/06) und weitere Optionen konfiguriert werden. Da es sich um Optionen handelt, die in aller Regel nur einmal ausgewählt werden müssen, werden die Einstellungen über Compileroptionen im Sketch festgelegt.
Beschreibung Compilerdirektive EIN Compilerdirektive AUS
Bluetooth Datenverbindung KBH2AiO #define bluetooth //#define bluetooth
UDP Datenverbindung KBH2AiO //#define bluetooth #define bluetooth
RTC (Real-TimeClock) ermöglicht die Einstellung
eines Timers
#define RTC_Hardware //#define RTC_Hardware
KBH2AiO-Windows32/Windows64
32- oder 64 Bit
Zykluszeit KBH2AiO (bei 32Bit-Windows länger!) #define bit32 //#define bit32
(also 64Bit-Windows)
Funkversion Ansteuerung Funksteckdosen #define funksteuerung //#define funksteuerung
Relaisversion Ansteuerung der Relais #define relaissteuerung //#define relaissteuerung
Debug Ein/Aus Statusmeldungen im Serial-Monitor der IDE #define dbg //#define dbg
433 MHz Temperatursensor Funkübertragung der Temperatur #define Tempsensor433 //#define Tempsensor433
Geschwindigkeitsrelais Umschalten der Rührergeschwindigkeit #define geschwindigkeitsrelais //#define geschwindigkeitsrelais
Zeitfenster
Temperaturmessung
Voreinstellung
Kühlen = 30s
Heizen = 0,2s
int TempKuehlMessZyklus = 30000; int TempHeizMessZyklus = 200;

Die Downloadversion des MEGA-Sketch ist konfiguriert für:

* Bluetooth (statt UDP)
* 64Bit-Windows (statt 32Bit)
* Relais- und Funksteuerung (hier kann sich für eine Option entscheiden, muss man aber nicht!)
* kein Debugging
* kein Funktemperatursensor
* kein Geschwindigkeitsrelais (Rührergeschwindigkeit umschalten)
* keine RTC

Zur besseren Übersicht noch einmal alle Downloads zusammengefasst:

NANO UNO MEGA Alternative Beschreibung zus. Software
Nur für Relaisbetrieb Relaisversion Relaisversion - Nur für die Relais-Version: Bei Speicherplatzproblemen
bitte die Compilerdirektive #define loggingaktiv einkommentieren.
Logging steht dann nicht mehr zur Verfügung.
-
Nur für Funkbetrieb Funkversion Funkversion - Nur für die Relais-Version: Bei Speicherplatzproblemen
bitte die Compilerdirektive #define loggingaktiv einkommentieren.
Logging steht dann nicht mehr zur Verfügung.
-
Funk- und Relaisbetrieb (UDP) - - aio_mega_05_04_2019.zip - UDP KBH2AiO64UDP (64 Bit!)
KBH2AiO32UDP (32 Bit!)
Funk- und Relaisbetrieb (Bluetooth) - - aio_mega_05_04_2019.zip - Bluetooth KBH2AiOBT (64 Bit)
KBH2AiOBT32BT
Android-App (AiO_BT) - Achtung BETA!
Beschr. APP
Libraries
für alle Versionen
Bibliotheken gepackt


Drucken/exportieren
QR-Code
QR-Code Brauen mit den AiO-Brausteuerungen (erstellt für aktuelle Seite)
*
^