no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.


brauen_mit_arduino_all_in_one_aio [am 04.03.2021 um 08:49 Uhr] – [Download der Versionen] Bitter
Zeile 1: Zeile 1:
 +
 +{{:brausteuerungen:aio:aiologo_klein.png?nolink|}}
 +====== 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 =====
 +  * Arduino [[https://www.arduino.cc/en/Main/ArduinoBoardNano|NANO]], [[https://www.arduino.cc/en/Main/ArduinoBoardUno|UNO]] oder [[https://www.arduino.cc/en/Main/ArduinoBoardMega|MEGA]]
 +  * [[http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf|Temperatursensor DS18B20]]
 +  * [[http://playground.arduino.cc/Main/RotaryEncoders|Dreh-/Tast- Encoder]]
 +  * [[http://www.datsi.fi.upm.es/docencia/Informatica_Industrial/DMC/LCD-Blue-I2C.htm|LCD-Display 4x20 I2C]]
 +  * [[https://de.wikipedia.org/wiki/Summer_(Elektronik)|Piezo-Buzzer (aktiv)]]
 +  * [[http://funduino.de/nr-03-433mhz-funkverbindung|433-MHz Sender und Empfänger für die Funkversionen]]
 +  * [[https://www.amazon.de/Arendo-Funksteckdosen-Set-Funkschalter-Steckdosenset-LED-Statusanzeige-Kindersicherungsschutz/dp/B01GQFJVC0/ref=sr_1_1?ie=UTF8&qid=1475136674&sr=8-1&keywords=arendo+funksteckdosen|Funksteckdosen auch für "leistungshungrige" Induktionsplatten]]
 +  * [[https://www.amazon.de/Kanal-Relais-Module-Arduino-TTL-Logik/dp/B00ALNJN72|5V-Relaisplatine (TTL-Logik)]] oder
 +  * [[https://www.amazon.de/Solid-State-Relais-Halbleiterrelais-24-380V/dp/B009SXHJD6/ref=sr_1_2?ie=UTF8&qid=1475135137&sr=8-2&keywords=ssr|Solid-State-Relais 25A (Verwendung von Induktionsplatten)]]
 +  * versch. Kleinteile
 +  * Für den Arduino-Mega mit Softwareansteuerung (KBH2AiO) [[https://www.amazon.de/AZDelivery-esp8266-Arduino-Raspberry-GRATIS/dp/B01LK83TX0/ref=sr_1_3_sspa?s=ce-de&ie=UTF8&qid=1514469114&sr=1-3-spons&keywords=esp8266&psc=1|ESP8266]] (WLAN) oder [[https://www.amazon.de/Aukru-Drahtlose-Bluetooth-Transceiver-Modul/dp/B00PL7SPGS/ref=sr_1_1?s=ce-de&ie=UTF8&qid=1514469266&sr=1-1&keywords=hc06|HC05/06]] (Bluetooth)
 +
 +Für die "R"-Versionen ist es wichtig, die Relaislogik zu verstehen. Die Relaisplatinen ("Chinarelais") schalten "Low activ", d.h. bei GND am Eingang schalten die Relais durch, während normale Relais und SSRs "High activ" sind, also bei Vcc am Eingang durchschalten. Dieses Verhalten muss bei allen "R"-Versionen im Sketch angepasst werden! 
 +
 +**Aber Achtung: Überlegt euch vor dem Bau einer Steuerung, welches Gerät ihr als Maische-/Sudpfanne einsetzt. Bei Einkochern bis 2000W kommt ihr mit 10A-Relais hin, darüber hinaus würde ich auf jeden Fall SSRs (25A/40A) empfehlen. Damit können auch Verbraucher geschaltet werden, die einen hohen Einschaltstrom aufweisen.**
 +
 +
 +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!
 +
 +| {{:brausteuerungen:aio:relaislogik.png?direct&400|}} |
 +
 +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=====
 +  * KBH2AiO (Steuerung, Logging und Rezeptübertragung zur AiO-MEGA - Download weiter unten)
 +  * [[http://www.serialcominstruments.com/instrument4.php | SerialComInstruments4]]
 +  * [[http://www.logview.info/forum/index.php?pages/home/ | LogView-Studio]]
 +
 +=====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                                                                                                                              | [[http://www.serialcominstruments.com/instrument4.php|SerComInstruments4 (COM) - nur Version "R"]]  | [[http://www.serialcominstruments.com/instrument4.php|SerComInstruments4 (COM)]] \\ [[http://www.logview.info/forum/index.php?pages/home/|LogView-Studio (COM)]] \\ //nur "R" - Version \\ Auswahl im Sketch//  | [[http://www.serialcominstruments.com/instrument4.php|SerComInstruments4 (COM/UDP)]] \\ [[http://www.logview.info/forum/index.php?pages/home/|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 {{:brausteuerungen:aio: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. {{:brausteuerungen:aio: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: {{ :brausteuerungen:aio:nano_aufbau_rel.png?300&direct | }}  | Aufbau der Funkversion  {{ :brausteuerungen:aio:nano_aufbau_fun.png?250&direct | }}  |
 +=====Menüstruktur der NANO-Versionen=====
 +
 +===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: {{ :brausteuerungen:aio:wuerzepumpe.png?300&direct | }}  | 
 +
 +==Diskreter Aufbau der Steuerungen==
 +
 +
 +| Aufbau der Relaisversion: {{ :brausteuerungen:aio:uno_aufbau_relais.jpg?300&direct | }}  | 
 +
 +
 +| Aufbau der Funkversion: {{ :brausteuerungen:aio:uno_aufbau_funk.jpg?250&direct | }}  |
 +
 +
 +=====Menüstruktur der UNO-Versionen=====
 +
 +
 +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 {{:brausteuerungen:aio:mega-diskret.png?direct&400|}} |
 +
 +
 +| Anschluss des Speedrelais {{:brausteuerungen:aio:speedrelais.png?direct&300 |}} |
 +
 +
 +
 +
 +
 +
 +=====Menüstruktur der AiO-MEGA=====
 +
 +
 +===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 [[http://www.joerum.de/kleiner-brauhelfer/doku.php | 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).
 +
 +{{:brausteuerungen:aio:ds18b20.jpg?nolink|}}
 +
 +=====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.
 +
 +
 +{{:brausteuerungen:aio:mega-diskret.png?direct&600|}}
 +
 +
 +===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:
 +
 +  
 +{{:brausteuerungen:aio:template.jpg?direct&800|}}
 +
 +Das Template für diese Oberfläche könnt ihr {{:brausteuerungen:aio:aio_bt.zip|hier}}herunterladen.
 +
 +Das Handbuch zu dieser Software findet ihr [[http://www.serialcominstruments.com/SerialComInstruments%20%204%20Doku.pdf|hier]].
 +
 +
 +===Logging mit LogView-Studio (COM)===
 +
 +Ebenfalls für die nicht kommerzielle Verwendung frei ist die Software [[http://www.logview.info/forum/index.php?pages/home/|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 {{:brausteuerungen:aio:logview_how_to.pdf|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 {{:brausteuerungen:aio:sqlite3.zip|diese}} und für KBH2AiO32.exe {{:brausteuerungen:aio:sqlite3_32.zip|diese}} Datei!**
 +
 +{{:brausteuerungen:aio:kbh2aio_startschirm.jpg?direct&800|}}
 +
 +Das Programm KBH2AiO wurde zunächst entwickelt, um über UDP Rezepte aus dem [[http://www.joerum.de/kleiner-brauhelfer/doku.php|"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:
 +
 +<code>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 ); 
 +}</code>
 +
 +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“**. 
 +
 +{{:brausteuerungen:aio:wlan.png?direct&200|}}
 +
 +
 +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.
 +
 +
 +
 +=====Alternative zu UDP - AiO-MEGA-Bluetooth=====
 +
 +Mit dem Bluetoothmodul HC-06 kann relativ einfach eine Fernsteuerung über den PC realisiert werden. 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); 
 +   
 +  }
 +
 +Im Folgenden werden nur die Grundversionen gezeigt. Für eine Erweiterung um eine RTC oder einen Gassensor siehe weiter unten!
 +
 +Der Aufbau der Relaisversion
 +
 +{{:brausteuerungen:aio:mega-diskret_KBH2AiO_HC-06_R.jpg?direct&500|}}
 +
 +und hier der Aufbau der Funkversion.
 +
 +{{:brausteuerungen:aio:mega-diskret_KBH2AiO_HC-06_F.jpg?direct&500|}}
 +
 +Am einfachsten scheint mir der Aufbau mit einer Shield-Lochrasterplatine, z.B. [[https://www.amazon.de/WINGONEER-Prototype-Arduino-Shield-Board/dp/B01FTWJR9I/ref=sr_1_2?ie=UTF8&qid=1522755525&sr=8-2&keywords=arduino+mega+shield|diese hier]]
 +
 +{{:brausteuerungen:aio:AiO_MEGA_BTSHIELD_klein.jpg?direct&500|}}
 +
 +Hier noch einmal als PDF-Dateien:
 +
 +
 +
 +{{:brausteuerungen:aio:mega-diskret_KBH2AiO_HC-06_R.pdf|Aufbau der "R"-Version}}
 +
 +{{:brausteuerungen:aio:mega-diskret_KBH2AiO_HC-06_F.pdf|Aufbau der "F"-Version}}
 +
 +{{:brausteuerungen:aio:AiO_MEGA_SHIELD.pdf|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 \\ {{https://www.reichelt.de/?ARTICLE=215892&PROVID=2788&gclid=EAIaIQobChMIhb6C2rLJ2gIVQuMbCh3V4gAZEAQYBCABEgKdSPD_BwE | Reichelt.de}} | 19,95 EUR | 
 +| Prototype-Shield f. Arduino-Mega | Elektronik-Direkt über Ebay \\  {{https://www.ebay.de/itm/Protoshield-Arduino-Mega-2560-Raster-1-27mm-Kontaktleisten-/262833276329?var=&clk_rvr_id=1506745861192&utm_medium=cpc&utm_source=twenga&utm_campaign=twenga&utm_param=eyJlcyI6MCwicyI6NTMzODY0NywiY2kiOiIwNDk1NjkwYTg3MDJiMWE1OTU2MzU1N2Q3ZGJiMzJkYyIsImkiOiIyNjI4MzMyNzYzMjkiLCJ0cyI6MTUyNDM4MzY3NCwidiI6Mywic28iOjE1MDAsImMiOjY1NTA3fQ%3D%3D&rmvSB=true | ebay.de }}| 1,65 EUR | 
 +| Display 4x20 incl. I2C-Modul | Reichelt Elektronik \\ {{https://www.reichelt.de/?ARTICLE=192144&PROVID=2788&gclid=EAIaIQobChMI6pnUk8fL2gIVAhbTCh3yLgseEAYYASABEgIRmfD_BwE | Reichelt.de }} | 13,30 EUR |
 +| DS18B20 Temperatursensor (wasserdicht) | Reichelt Elektronik \\ {{https://www.reichelt.de/Makeblock/MB-TEMP-SONDE-V1/3/index.html?ACTION=3&LA=446&ARTICLE=202114&GROUPID=8060&artnr=MB+TEMP-SONDE+V1&SEARCH=ds18b20&trstct=pos_1 | Reichelt.de }} | 7,70 EUR |
 +| 433 MHz – Sender & Empfänger (nur für die Funkversion) | Reichelt Elektronik \\ {{https://www.reichelt.de/Entwicklerboard-Zubehoer/DEBO-433-RX-TX/3/index.html?ACTION=3&GROUPID=8244&ARTICLE=224219 | Reichelt.de }} | 1,55 EUR |
 +| 433 MHz Funksteckdosen 3680 Watt (nur für die Funkversion) \\ Achtung! Rolling-Code-Systeme funktionieren nicht!! | Amazon \\ {{https://www.amazon.de/Arendo-Funksteckdosen-Set-Funkschalter-Steckdosenset-LED-Statusanzeige-Kindersicherungsschutz/dp/B01GQFJVC0/ref=sr_1_1?ie=UTF8&qid=1524391759&sr=8-1&keywords=arendo+funksteckdosen | Amazon.de }} | 18,85 EUR |
 +| Solid State Relais (SSR) \\ 20A - 2 Stck. \\ (nur für die Relaisversion) | Pollin \\ {{https://www.pollin.de/p/solid-state-relais-xssr-da2420-3-32-v-20-a-240-v-340470 | 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 \\ {{https://www.pollin.de/p/strangkuehlkoerper-kab-60-125-50-430152 | Pollin.de }} | 7,90 EUR |
 +| Relaismodul 4-fach \\ (für allpolige Schaltung – siehe Skizze) \\ (nur für die Relaisversion) | Watterott Elektronic \\ {{http://www.watterott.com/de/4-Channel-Relay-Module-10A | Watterott.com }} \\ Für Anschlussleistungen <= 2000 W  (z.B. Einkocher) | 4,85 EUR |
 +| Dreh-Drück-Encoder (Impulsgeber) | Reichelt Elektronik \\ {{https://www.reichelt.de/Drehimpulsgeber/STEC11B01/3/index.html?ACTION=3&LA=2&ARTICLE=73911&GROUPID=3714&artnr=STEC11B01&trstct=pol_1 | Reichelt.de }} | 3,70 EUR |
 +| Optional Bluetooth-Modul HC06 | Reichelt Elektronik \\ {{https://www.reichelt.de/Entwicklerboard-Zubehoer/ARDUINO-HC-06/3/index.html?ACTION=3&GROUPID=8244&ARTICLE=170171 | Reichelt.de }} | 13,20 EUR |
 +| Gehäuse beliebig \\ (Kunststoff bei 433 MHz!) z.B. | Reichelt Elektronik \\ {{https://www.reichelt.de/Kunststoff-Kleingehaeuse/RND-455-00049/3/index.html?ACTION=3&LA=517&ARTICLE=170581&GROUPID=7715&trstct=lsbght_sldr::170539 | Reichelt.de }} | 6,00 EUR |
 +| Tiny XLR Einbaustecker \\ (auch andere Stecker möglich z.B. RJ45)  | Reichelt Elektronik \\ {{https://www.reichelt.de/?ARTICLE=166203&PROVID=2788&gclid=EAIaIQobChMI2-qv7KnN2gIVAhIbCh3NLQJMEAQYASABEgIdC_D_BwE | Reichelt.de }} | 1,90 EUR |
 +| Tiny XLR Einbaubuchse | Reichelt Elektronik \\ {{https://www.reichelt.de/?ARTICLE=166195&PROVID=2788&gclid=EAIaIQobChMI2-qv7KnN2gIVAhIbCh3NLQJMEAQYAyABEgI2T_D_BwE | Reichelt.de }} | 3,40 EUR |
 +| Steckernetzteil 12V | Reichelt Elektronik \\ {{https://www.reichelt.de/Festspannungsnetzteile/ANS-1201-0016/3/index.html?ACTION=3&LA=2&ARTICLE=214561&GROUPID=4946&artnr=ANS+1201-0016&trstct=pol_2 | Reichelt.de }} | 1,70 EUR |
 +| 12V Lüfter | Reichelt Elektronik \\ {{https://www.reichelt.de/Luefter/FAN-9225-12V/3/index.html?ACTION=3&LA=446&ARTICLE=11013&GROUPID=7775&artnr=FAN-9225+12V&SEARCH=12v%2Bl%25C3%25BCfter&trstct=pos _0 | 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. [[https://www.platinenbelichter.de|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. entweder Funk- oder 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.
 +
 +
 +{{:brausteuerungen:aio:aufbau_max.jpg?direct&500|}}
 +
 +Hier noch einmal als PDF-Datei: {{:brausteuerungen:aio:aufbau_max.pdf|Maximaler Ausbau der AiO-Mega}}
 +
 +
 +Die im Folgenden aufgezeigten Versionen basieren noch auf einem älteren Platinenlayout, sind aber mühelos zu übertragen!
 +
 +
 +
 +**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.
 +
 +{{:brausteuerungen:aio:aufbau_mini_relais.jpg?direct&500|}}
 +
 +
 +**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!__ Der ULN2003 schaltet das Relais EIN, wenn der entsprechende Arduino-PIN auf HIGH liegt. Dadurch wird im ULN der Relaisanschluß auf GND gezogen.
 +
 +
 +
 +
 +{{:brausteuerungen:aio:aufbau_mini_relais_12_24V.jpg?direct&500|}}
 +
 +**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!)__
 +
 +
 +{{:brausteuerungen:aio:aufbau_mini_funk.jpg?direct&500|}}
 +
 +
 +
 +==Platinenlayout==
 +
 +Wer selber Belichten und Ätzen kann, kommt mit folgendem Layout günstig an die Platine für das Brewshield.
 +
 +{{:brausteuerungen:aio:platine.jpg?direct&500|}}
 +
 +Hier noch einmal in der Originalgröße als PDF:
 +
 +{{:brausteuerungen:aio:platine.pdf|Layout für die Selbstherstellung}}
 +
 +
 +Wer Leiterplattenhersteller bevorzugt, für den finden sich hier die Gerberdaten:
 +
 +
 +{{:brausteuerungen:aio:aio-mega.zip|Gerber-Dateien}}
 +
 +Beim Platinenservice "aisler.net" sieht die Platine dann so aus:
 +
 +
 +{{:brausteuerungen:aio:board_aisler.jpg?direct&600|}} 
 +
 +
 +Bei der Abnahme von drei Platinen kommt man pro Platine auf einen Preis von 9,52 EUR (Stand 12/19).
 +
 +
 +Hinweis:
 +
 +
 +In dieser Version wird Vcc nicht über den seitlichen Anschluss eingespeist, sondern hier:
 +
 +
 +{{:brausteuerungen:aio:aisler_platine.jpg?direct&600|}}
 +
 +
 +Es müssen also noch die zwei Stiftkontakte verlötet werden (eigentlich nur einer, aber aus Stabilitätsgründen sollte man zwei verlöten!)
 +
 +
 +Maximaler Ausbau mit der Platine:
 +
 +
 +{{:brausteuerungen:aio:aufbau_max.pdf|Maximalausbau mit der Aisler-Platine}}
 +
 +
 +Aufbau der Funkversion:
 +
 +{{:brausteuerungen:aio:aufbau_mit_aisler_funk.pdf|Funkversion mit der Aisler-Platine}}
 +
 +
 +Hier noch einmal der Anschluss des ULN2003:
 +
 +
 +{{:brausteuerungen:aio:uln2003.jpg?direct&600|}} 
 +
 +
 +und auch noch einmal die Pinbelegung des Arduino-Mega:
 +
 +
 +{{:brausteuerungen:aio:mega_pinbelegung.jpg?direct&600|}} 
 +
 +
 +=====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  \\ **"gas"** alarmschwelle; kalibrieren -> "1" = Ja - "0" = Nein  |
 +^ Zustandsdaten der AiO  | "Isttemperatur [°C]"; "Solltemperatur  [°C]"; "Gradient  [K/min]"; "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  [min]" ; "RastzeitIst  [min]" ;"Nachisomerisierungszeit  [min]"; "AktuelleGärrastzeit  [min]";" Kochzeit" [min}; Gassensor_Alarm;  ("0" = AUS , "1" = EIN)  RTC_TimerActiv;  ("0" = AUS , "1" = EIN)  RTC_Time; (Startstunde: Startminute)  | **"mset"** = Setup auslesen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 +
 +
 +
 +Hier ist noch einmal eine genauere Übersicht über alle {{:brausteuerungen:aio:Datentelegramme.pdf|}}.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +=====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==
 +{{:brausteuerungen:aio:aio_nano_r_01_04_2018.zip|Relaisversion}}
 +{{:brausteuerungen:aio:aio_nano_f_01_04_2018.zip|Funkversion}}
 +
 +==UNO==
 +{{:brausteuerungen:aio:aio_uno_r_01_04_2018.zip|Relaisversion}}
 +{{:brausteuerungen:aio:aio_uno_f_01_04_2018.zip|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
 +
 +  - das Speedrelais für den Rührer wird **NICHT** unterstützt! (bool geschwindigkeitsrelais = false - sonst true)
 +  - der Funksensor wird **NICHT** unterstützt! (#define Tempsensor433 - auskommentiert = mit Funksensor)
 +
 +Die Version vom **5.11.16** ist um folgende Möglichkeiten erweitert worden:
 +
 +  - 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.
 +  - Die MALZROHRPUMPE (als Alternative zum Rührer), hat nun einen Eintrag im Hauptmenü (Reinigungsmodus = Dauerbetrieb). Diese Funktion kann auch aus KBH2AiO geschaltet werden.
 +  - 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
 +  - einige kleinere Fehler behoben
 +  - Die Vorbereitung für den Empfang eines Funkthermosensors wurde integriert.
 +
 +In den Versionen vom **27.07.17** wurden
 +  - der Sketch leicht überarbeitet
 +  - 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: {{ :brausteuerungen:aio:ATtiny_sender.jpg?300&direct | }}  | Aufbau der Nano-Version  {{ :brausteuerungen:aio:nano_sender.jpg?300&direct | }}  |
 +
 +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 {{:brausteuerungen:aio:attinycore.zip|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 [[https://www.frag-duino.de/index.php/maker-faq/37-atmel-attiny-85-mit-arduino-arduinoisp-flashen-und-programmieren| 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.
 +
 +{{:brausteuerungen:aio:funksens_tiny_nano.zip|Sketch für die Thermosensoren}}
 +
 +
 +Falls bei der Compilierung des Sketches Probleme mit der VirtualWire-Library gemeldet werden, dann bitte [[https://www.mikrocontroller.net/topic/369732| 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!**
 +
 +{{:brausteuerungen:aio:rtc.jpg?nolink&580 |}}
 +
 +
 +
 +
 +----
 +=== Versionsverlauf KBH2AiO ===
 +
 +
 +In der Version vom **23.11.16** wurde
 +  - Datentelegramm zum und vom PC bzw. AiO überarbeitet.
 +  - 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
 +  - die Anzeige der Nachgusstemperatur während des Maischens wurde verbessert.
 +
 +In der Version vom **10.12.16** wurde
 +  - der Import von Rezepten aus MMuM (JSon-Format) optimiert. 
 +  - die Möglichkeiten zum Ändern der importierten Rezepte eingebaut.
 +
 +In der Version vom **19.02.17** wurde
 +  - die Eingabe von Gärführungen integriert.
 +  - Kühlen und Heizen steuerbar
 +  - Übersicht der Setupdaten verbessert.
 +
 +In der Version vom **31.05.17** wurde
 +  - der fehlerhafte Zeitablauf im Chart wurde korrigiert. 
 +
 +In der Version vom **15.08.18** wurde
 +  - UDP und Bluetooth zusammengefasst (per Compilerdirektive auswählbar) 
 +  - Fensteraufbau verändert
 +  - Fehlbedienungsschutz durch temporäre Deaktivierung einiger Button
 +
 +In der Version vom **24.12.19** wurde
 +  - der Import von Beer.xml realisiert 
 +  - Ausdruck importierter Rezepte eingebaut
 +  - Fehlermeldung bei Verlust der Bluetoothverbindung
 +  - Zeitachse zeigt nun Datum/Uhrzeit
 +
 +{{:brausteuerungen:aio:kbh2aio64UDP.zip|Download KBH2AiO64UDP (64 Bit!)}}
 +
 +{{:brausteuerungen:aio:kbh2aio32UDP.zip|Download KBH2AiO32UDP (32 Bit!)}}
 +
 +Download der KBH2AiO-Software für Bluetooth
 +
 +{{:brausteuerungen:aio:KBH2AIO32BT.zip|Download KBH2AiO32BT (32 Bit!)}} 
 +
 +{{:brausteuerungen:aio:KBH2AIO64BT.zip|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
 +  - eine aktive Gärführung integriert.
 +  - 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 {{:brausteuerungen:aio: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.
 +
 +In der Version vom **12.06.2019** wurde die Abfrage eines Gassensors (MQ6 - Propan/Butan/LPG) hinzugefügt. Die Alarmschwelle ist einstellbar. Der Sensor kann sowohl über die Steuerung als auch über KBH2AiO kalibriert werden. Hinweis: Ich kann nicht sagen, wie präzise die Messungen mit dem preiswerten Sensor sind. Daher ** VORSICHT! ** Man orientiert sich bei der Einstellung der Alarmschwelle an der UEG (untere Explosionsgrenze) von Butan (im LPG enthalten, UEG < Propan!), das sind 1,5 Vol-% (15.000 ppm). Maximal sollte die Alarmschwelle 20% von UEG betragen, also 3.000 ppm.
 +
 +Die Version vom **24.09.2019** schaltet die Heizsteckdose nun auch automatisch wieder aus, wenn durch irgendein Ereignis die Dose aus Versehen oder durch Einstreuung anderer Funksysteme eingeschaltet wird. Bisher wurde sie nur wieder eingeschaltet, wenn sie ausgeschaltet wurde.
 +Außerdem wurde die Stromausfallsicherung überarbeitet, d.h. sie funktioniert nun auch in den Aufheiz- bzw. Kühlmodi.
 +
 +In der Version vom **12.10.2019** wurde ein Fehler in der Timerprogrammierung behoben. Bei der Timersteuerung über KBH2AiO war die Einmaischtemperatur immer 30°C. Außerdem wurden die Abläufe bei der Timerprogrammierung logischer, z.B. Timer deaktiviert wenn zuvor kein Rezept geladen wurde.
 +
 +In der Version vom **24.12.2019** wurden einige kleine Fehler behoben. Im Wesentlichen ist hier eine Anpassung an die neue Version der KBH2AiO-Software vorgenommen worden.
 +
 +In der Version vom **30.03.2020** wurden zwei Fehler behoben, die Forumsmitglied Mirco (Steini) aufgefallen waren. Wurden über KBH2AiO während des Maischeprozesses die Setup-Werte für die Lautstärke des Brauerrufs und die Einschaltverzögerung der Würzepumpe geändert, dann änderte sich auch die eingestellte Solltemperatur.
 +Eine neue Compilerdirektive (#define MitDisplayUndEncoder) ermöglicht nun, den Sketch ohne Displayausgaben und Encodereingaben zu compilieren. Dadurch verbessert sich das Laufzeitverhalten bei Steuerungen, die nur über die Software KBH2AiO betrieben werden.
 +
 +Die Version vom **12.05.2020** übermittelt noch konsequenter die ausgewählten Optionen aus dem Sketch an KBH2AiO.
 +
 +In der Version vom **23.06.2020** wurde die Funkrufweiterleitung über die dritte Funksteckdose verbessert. Die Rufdauer und der Rufzyklus kann im Sketch eingestellt werden.
 +
 +In der Version vom **30.11.2020** wurde der Quellcode so umstrukturiert, dass der Sketch nun auch in PlatformIO und Microsoft Visual Studio Code bearbeitet werden kann. An der Funktionalität hat sich nichts geändert.
 +
 +In der Version vom **28.01.2021** wurde ein Fehler in der Notfallversion behoben. Bei Stromausfall in der ersten Minute der Aufheizphase zu einer Rast lag der Rücksprungpunkt nach Wiedereinschalten in der davorliegen Rast.
 +
 +In der Version vom **04.03.2021** wurden kleinere Optimierungen durchgeführt. Die Mischerfunktion in den Heizpausen (Button = Umschaltung zw. Dauerbetrieb und Intervallbetrieb) funktioniert nun wieder wie geplant.
 +
 +
 +==Aktuelle Beschreibung der AiO (UDP/Bluetooth)==
 +
 +Beschreibung mit Selbstbau-Option
 +
 +{{:brausteuerungen:aio:Beschreibung_AiO_Mega_BT-UDP.pdf|}} 
 +
 +Beschreibung ohne Selbstbau-Option
 +
 +{{:brausteuerungen:aio:kbh2aio.pdf|}} 
 +
 +
 +
 +
 +
 +==Arduino Bibliotheken==
 +Die folgenden Bibliotheken werden je nach Version benötigt.
 +{{:brausteuerungen:aio: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         |
 +^ #define MitDisplayUndEncoder    | Betrieb mit oder ohne \\ Display und Encoder          | #define MitDisplayUndEncoder         | %%//#define MitDisplayUndEncoder%% |
 +^ 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;   |  
 +^ Gassensor MQ6 \\ LPG (Butan/Propan) | Schaltet die Steuerung \\ bei zu hoher \\ Gaskonzentration ab.    | #define gassensor     | %%//#define gassensor%%        |  
 +^ Würzepumpe    | Pumpe Läutergrant -> Sudpfanne          | #define WUERZEPUMPE_AKTIV        | %%//#define WUERZEPUMPE_AKTIV%%               
 +    
 +
 +
 +**Die Downloadversion des MEGA-Sketch ist konfiguriert für:\\ 
 +\\ 
 +
 +  * Bluetooth (statt UDP)\\ 
 +
 +  * 64Bit-Windows (statt 32Bit)\\
 +
 +  * Relaissteuerung (hier kann man sich für eine Option entscheiden!)\\ 
 +
 +  * kein Debugging\\ 
 +
 +  * kein Funktemperatursensor\\ 
 +
 +  * kein Geschwindigkeitsrelais (Rührergeschwindigkeit umschalten)\\
 +
 +  * keine Würzepumpe (Läutergrant -> Sudpfanne)\\
 +
 +  * keine RTC\\ 
 +
 +  * kein Gassensor \\
 +
 +  * Mit Display und Encoder** \\
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===Zur besseren Übersicht noch einmal alle Downloads zusammengefasst:===
 +
 +
 +
 +
 +|                                      ^ NANO                                                                     ^ UNO                                                               ^ MEGA                                              ^ Alternative                                                                                                                                                                           ^ Beschreibung  ^ zus. Software                                                                                                                          ^
 +^ Nur für Relaisbetrieb                | {{:brausteuerungen:aio:aio_nano_r_01_04_2018.zip|Relaisversion}}          {{:brausteuerungen:aio:aio_uno_r_01_04_2018.zip|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                  | {{:brausteuerungen:aio:aio_nano_f_01_04_2018.zip|Funkversion}}           | {{:brausteuerungen:aio:aio_uno_f_01_04_2018.zip|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)        | -                                                                        | -                                                                 | {{:brausteuerungen:aio:aio_mega_04_03_2021.zip}}  | -                                                                                                                                                                                     | UDP           | {{:brausteuerungen:aio:kbh2aio64UDP.zip|KBH2AiO64UDP (64 Bit!)}} \\ {{:brausteuerungen:aio:kbh2aio32UDP.zip|KBH2AiO32UDP (32 Bit!)}}   |
 +^ Funk- und Relaisbetrieb (Bluetooth)  | -                                                                        | -                                                                 | {{:brausteuerungen:aio:aio_mega_04_03_2021.zip}}  | -                                                                                                                                                                                     | Bluetooth     | {{:brausteuerungen:aio:KBH2AIO64BT.zip|KBH2AiO64BT (64 Bit!)}} \\ {{:brausteuerungen:aio:KBH2AIO32BT.zip|KBH2AiO32BT (32 Bit !)}}  \\  |
 +^ Libraries \\ für alle Versionen      | {{:brausteuerungen:aio:library_fr.zip|Bibliotheken gepackt}} \\   \\ \\  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
 +^ Visual Studio Code \\ PlatformIO     | {{:brausteuerungen:aio:aio_mega_04_03_2021_PFIO.zip}}  \\   \\ \\        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
 +
 +
 +
 + **PlatformIO** ist eine sehr komfortable Alternative zur Arduino IDE. Download hier: [[https://platformio.org/]]
 + PlatformIO wird in Microsoft Visual Studio Code integriert, welches auch auf dem Rechner installiert werden muss. Der Downloadlink findet sich auf der angegebenen Webseite.
 +
 +
 +==Vereinfachtes Update der AiO-Mega ohne Arbeit mit der Arduino IDE==
 +
 +Ihr müsst lediglich wissen, welcher COM-Port dem USB-Anschluss zugewiesen ist!
 +
 +Dann die Datei auf euren PC entpacken, der Ordner hat den Namen „Loader“. Darin befindet sich die CMD-Datei „program.cmd“, 
 +die ihr durch Anklicken starten müsst. Der Rest erklärt sich von alleine.
 +
 +Folgende Versionen sind hinterlegt:
 +
 +
 +
 +**1. AiO-Mega Relais- und Funkversion mit Bluetooth**
 +
 +
 +**2. AiO-Mega Relais- und Funkversion mit WLAN (UDP)**
 +
 +
 +**5. AiO-Mega Individuell (nur auf Anfrage über PN)**
 +
 + 
 +Die Versionen, die auch einen Gassensor und ggf. zusätzlich die RTC unterstützen, können nur über die Arduino-IDE hochgeladen werden.
 +
 +Wer mir über das Hobbybrauerforum eine PN mit seinem Konfigurationswunsch zukommen lässt, dem schicke ich auch eine individuelle HEX-Datei.
 +
 +Diese Datei entpackt ihr dann in den Ordner loader\avr\hex und startet "program.cmd". Nach der Eingabe des COM-Ports, an dem die AiO angeschlossen ist, wählt ihr aus dem Menü dann den Unterpunkt 5.
 +
 +Die Arduino-Ide sollte auf eurem Rechner installiert sein, dadurch wird Programmiersoftware "AVRDUDE" installiert. Ihr müsst jedoch nicht damit arbeiten und natürlich auch keine zusätzlichen Libraries installieren.
 +
 +Neu hinzugekommen sind die HEX-Dateien für die Initialisierung der Bluetoothmodule HC05 und HC06. Diese werden einfach auf den Arduino-Mega übertragen, an dem auch die Module angeschlossen sind (Serial2!).
 +
 +
 +**AiO_MEGA vom 23.06.2020 als HEX-Datei :**{{:brausteuerungen:aio:loader.zip|}}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
Drucken/exportieren
QR-Code
QR-Code Brauen mit den AiO-Brausteuerungen (erstellt für aktuelle Seite)
*
^