AiO-​Brausteuerung für Arduino-​Plattformen
Von Lothar Glodde | Herbst 2018 | brau!technik |
Welche Anforderungen sollte eine Brausteuerung erfüllen?
Aktuelle Versionen der Steuerung
Verwendete Regelung
Auffangen von Sensorfehlern
Version für "Nichtelektriker"
Ein Blick auf die AiO-Mega-Brausteuerung
Bezugsquellen der benötigten Bauteile für den Nachbau
Für welche Brauanlagen ist die Steuerung geeignet?
Stromausfallsicherungen
Menüstruktur der AiO-Mega
Manuelle Rezepteingabe
Optional auch Bluetooth
Steuerungssoftware KBH2AiOBT
Bluetooth-Datentelegramm
Zusammenbau und Aufbau der Steuerung
Tipps zum Nachbau
Das fertige Gerät
Externe Loggersoftware
Datensatzaufbau für die externen Loggerprogramme
SerialComInstruments
LogviewStudio
Hinweise und Links
Erklärung einiger im Artikel benutzter Fachbegriffe
Exkurs: Was ist ein Arduino-System?
Eine kurze Bemerkung vorab, ich bin kein Traditionalist! Meine ersten zwei Sude habe ich mit der einen Hand gerührt und mit der anderen Hand das Thermometer in die Maische gehalten, Temperatur abgelesen und ggf. nachgeheizt. Das war mir zu stressig.
Daher habe ich mir schon bald Gedanken über eine kleine und gleichzeitig unkompliziert zu bedienende Brausteuerung gemacht. Der Aufbau sollte einfach und preisgünstig sein und außerdem sollte die Steuerung portabel gehalten werden, also sowohl im Garten, auf dem Balkon, als auch in der Küche einsetzbar sein.
Das Rad muss ja nicht immer neu erfunden werden, daher habe ich mich im Netz nach schon existierenden Steuerungen umgeschaut und bin dann im alten Hobbybrauerforum fündig geworden.
Die Basis war damals der Arduino-Uno. Die wesentlichen Funktionsmerkmale waren:
Maischeautomatik – Einstellen von Rastzeiten und Rasttemperaturen
Kochzeiteingabe und Zeitpunkte der Hopfengaben
Nachgussbereitung
Die Temperaturregelung wurde über eine einstellbare Schalthysterese (Zweipunktregelung) durchgeführt.
Das Konzept überzeugte mich, entsprach doch der Umfang in etwa meinem Anforderungsprofil. Mir fehlten aber noch einige Gimmicks, z.B.
Ansteuerung eines Rührwerks (Dauerbetrieb/Intervallbetrieb)
Ansteuerung eines Kühlschranks/Kühltruhe mit Kompressorschutz
Natürlich blieb es nicht dabei, auch angeregt durch einige User des Hobbybrauerforums, kamen im Laufe der Zeit immer mehr Steuerungsoptionen und die Umsetzung auf unterschiedliche Arduino-Plattformen hinzu.
Es existieren Versionen für die Plattformen Arduino -Nano, -Uno und -Mega. Da der Arduino-Mega von der Pinanzahl und von der Speichergröße her die meisten Möglichkeiten bietet und preislich auch nicht wesentlich höher zu Buche schlägt, ist er für mich die erste Wahl.
Wer auf eine Bluetoothverbindung, automatische Gärführung und Nachgussheizung in den Heizpausen der Maischepfanne verzichtet, der kann natürlich auch auf die Plattformen Nano und Uno zurückgreifen. Diese Versionen können aufgrund ihrer Baugröße in kleinere und damit preisgünstigere Gehäuse eingebaut werden. Diese Steuerungen bieten, bis auf die oben genannten Einschränkungen, ebenfalls alles, was man von einer Brausteuerung erwartet.
Bei allen Steuerungen kommt eine Extremwertregelung („Gradientenregelung“) zur möglichst exakten Temperaturführung zum Einsatz. Im Prinzip wird die Steigung der Temperatur in einem festen Zeitfenster gemessen (Gradient) und so der Arbeitspunkt, z.B. eine Rasttemperatur, eingestellt. In diesem Arbeitspunkt wird der Gradient auf „Null“ gehalten. Da der Temperaturanstieg in der Maischepfanne relativ langsam vonstatten geht, ist nur ein sehr geringes Überschwingen der aktuellen Temperatur über die jeweilige Rasttemperatur festzustellen. Falls die thermische Masse geringer ist, kann das Anlaufverhalten an den Zielwert über einen größeren Gradientenfaktor verlangsamt werden. Der Gradient wird also vergrößert und das Heizrelais fängt früher an zu „pulsen“.
Umgekehrt ist es bei der Kühlregelung. Ein Kühlschrank/Kühltruhe ist ein recht träges System, daher kann der Gradientenfaktor hier kleiner gewählt werden, das Kühlrelais fängt also später an zu „pulsen“.
Natürlich ist sowohl für das Heizen als auch für das Kühlen eine Einschaltverzögerung der Relais vorgesehen, beim Kühlen besonders wichtig, um den Kompressor zu schützen.
Beim Einsatz in stark elektromagnetisch belasteten Umgebungen z.B. Induktionsplatten oder Gasfeuerungsautomaten, kann es zu Fehlfunktionen des Temperatursensors kommen. Beim Einsatz von Induktionsplatten z.B., wenn der Sensor nah am Topfboden und damit auch nah an der Oberfläche des Induktionskochfeldes angebracht ist. Alle Steuerungen können diesen Fehler für eine bestimmte Zeit auffangen und reichen diesen nicht an den Regelalgorithmus weiter.
In den Anfängen waren für die Ansteuerung von Maischepfanne und Sudpfanne Relais vorgesehen, was sicherlich auch heute noch die beste Lösung darstellt. Allerdings kann man nicht unterstellen, dass jeder Hobbybrauer auch ein geschickter Elektronikbastler ist und die Gefahren durch den Umgang mit der Netzspannung von 230V richtig einschätzen kann. Aus dem Hobbybrauerforum kam dann die Anregung 433MHz-Funksteckdosen anzusteuern, um so den direkten Kontakt mit der Netzspannung zu vermeiden. Die von mir favorisierte und weiter unten beschriebene Version auf Basis des Arduino-Mega unterstützt beide Versionen, Relaissteuerung und 433MHz-Funkansteuerung, während für Nano und Uno jeweils eigene Sketche für Funk- und Relaissteuerung existieren.
In allen Steuerungen kann eine Temperaturschwelle (Sicherheitsschwelle) zur Signalisierung des bevorstehenden Kochbeginns festgelegt werden. Der Brauerruf muss an diesem Punkt innerhalb einer Minute quittiert werden, sonst schaltet die Heizung der Sudpfanne aus Sicherheitsgründen ab. Die Nachisomerisierungszeit kann eingegeben werden. Nach Ablauf dieser Zeit ertönt der Brauerruf. Trägt man eine lange Nachisomerisierungszeit ein, ertönt der Brauerruf sobald 80°C erreicht werden. An Hopfengaben, die nach „Flame Out“ liegen, wird ebenfalls akustisch erinnert.
Tabelle 1: Übersicht über alle Versionen der Steuerung
AiO-NANO
AiO-UNO
AiO-MEGA
Maischeprogramm (6 Rasten) 👍 👍 👍
Erinnerung Jodprobe 👍 👍 👍
Stromausfallsicherung Maischeprogramm 👍 👍
Kochprogramm (6 Hopfengaben) 👍 👍 👍
Nachgussbereitung (sep. Prozess) 👍 👍 👍
Kühl-/Heizfunktion mit Stromausfallsicherung 👍 („Funk“ nur kühlen) 👍 👍
Relaissteuerung 👍 (Relais- oder Funkversion) 👍 (Relais- oder Funkversion) 👍
433-MHz-Funksteuerung 👍 (Relais- oder Funkversion) 👍 (Relais- oder Funkversion) 👍
Bluetooth 👍
Brauerruf über PC (.wav-Datei) 👍
Steuerung Würzepumpe 👍 (Relaisversion) 👍
Mischer Rührer Rührer/Pumpe (im Sketch umschaltbar) Rührer/Pumpe
Externe Loggersoftware SerComInstruments4 (Seriell) – nur in der „Relaisversion“ SerComInstruments4 (Seriell) und Logview-Studio – nur in der „Relaisversion“ SerComInstruments4 (Seriell und Bluetooth), Logview-Studio und KBH2AiOBT
Zusätzlicher Temperatursensor für die Nachgussheizung während des Maischens 👍
Automatische Gärführung
Heizen & Kühlen 👍
Gärrasten einstellbar
Funk: Mischerdose = Heizung 👍
433 MHZ-Temperatursensor (Aktivierung im Sketch) 👍 (Nachbau im Wiki)
Bevor ich nun die AiO-Mega-Version näher vorstelle, möchte ich zunächst einen Überblick über die anfallenden Kosten für einen Nachbau geben. Eine Tabelle mit allen benötigten Bauteilen, deren Bezugsquellen und den Preisen (Stand 05/2018) habe ich im Hobbybrauer-Wiki hinterlegt.
Die Steuerung eignet sich sowohl für Malzrohranlagen als auch für Anlagen mit dem klassischen Rührwerk. Die Auswahl des Mischers erfolgt im Setup. Bei den Malzrohranlagen wird die Pumpe beim Einmaischen natürlich immer ausgeschaltet und es ist eine Pumpenpause einstellbar, während eine Anlage mit einem Rührwerk als Mischer während des Einmaischens auch in Betrieb sein kann. Anlagen mit Rührwerk können sowohl im Dauerbetrieb als auch im Intervallbetrieb arbeiten.
Aktive Gärführung
Die Steuerung unterstützt eine aktive Gärführung, d.h. es werden Gärrasttemperatur und Gärrastzeit angegeben. Die Zeiten werden in Stunden eingegeben, wobei pro Rast max. 255 Std. möglich sind. Um eine konkurrierende Regelung zu vermeiden, wird hier über eine Hysterese geregelt und so zwischen Heizen und Kühlen umgeschaltet.
Nachgussbereitung in den Heizpausen
Das Aufheizen des Nachgusses während des Maischens scheitert oftmals daran, dass beide Töpfe am gleichen Stromkreis liegen. Wenn jeder Topf etwa 2000W Anschlussleistung besitzt, wird der Stromkreis überlastet und die Sicherung (Leitungsschutzschalter) löst aus. Wenn nun der Nachgusskessel nur dann eingeschaltet wird, wenn die Heizung der Maischepfanne gerade ausgeschaltet ist, steht der Nachguss am Ende des Maischeprozesses zur Verfügung.
Ich glaube, einer der größten anzunehmenden Unfälle am Brautag ist, wenn verlegte Kabel zur Stolperfalle für Hund, Katze, Kinder usw. werden. Mit einem Mal sind alle bis dahin abgearbeiteten Prozessschritte und Zeiten verloren, mehr als ärgerlich. In der AiO kann man eine Notfallfunktion aktivieren, die nach einem Stromausfall automatisch bis auf eine Minute genau an die Stelle zurückspringt, an der der Stromausfall stattfand. Ich möchte aber nicht vergessen zu erwähnen, dass durch das intensive Schreiben in das EEPROM die Lebenszeit des Arduino reduziert wird.
Diese Sicherheitsoption unterscheidet sich von der Ausfallsicherung bei der reinen Heiz- oder Kühlfunktion. Hier wird die Sicherungsoption mit Verlassen des Menüpunktes ein- bzw. ausgeschaltet. Dies wird im Display signalisiert (Meldung: „NOT->EIN“ ,“ NOT->AUS“). Man kann den Gärkühlschrank also auch übers Wochenende unbeaufsichtigt lassen, ohne Angst haben zu müssen, dass nach einem Stromausfall der Gärbehälter zu warm geworden ist. Da bei dieser Notfallsicherung das EEPROM jeweils nur einmal beschrieben wird, ist die Belastung desselben zu vernachlässigen.
Einen schnellen Überblick über alle Funktionsmerkmale ermöglicht ein Blick auf die Menüstruktur der Steuerung:
Die folgenden Abbildungen zeigen die manuelle Eingabe des Maischeplans, den Plan für das Hopfenkochen und ein Beispiel für eine automatische Gärführung Als Beispiel habe ich das „Triticum Wormatia“ ausgewählt, was sich bei Hobbybrauern großer Beliebtheit erfreut.
Wie man sieht, ist der Maischeplan nach wenigen Klicks eingegeben. Anschließend kann die Maischeautomatik gestartet werden. Die Rasten werden dann automatisch durchlaufen. Der Temperaturverlauf (hier: Einkocher als Maischepfanne mit Rührwerk) sieht dann z.B. folgendermaßen aus:
Sehr schön zu erkennen ist die Temperaturabsenkung um ca. 3K beim Einmaischen.
Das folgende Diagramm zeigt den Temperaturverlauf in einem 50L Malzrohrsystem, der Einmaischprozess dauert durch die folgende Lochblech- und Gittermontage etwas länger.
Nach dem Maischen und Läutern kommt das Hopfenkochen. Die manuelle Eingabe der Hopfengaben sieht dann folgendermaßen aus:
Das folgende Beispiel für die automatische Gärführung bezieht sich nun nicht mehr auf das Triticum, sondern zeigt eine untergärige Gärführung mit mehr oder weniger willkürlichen Werten. Hier wird bei Bedarf automatisch zwischen Heizen und Kühlen umgeschaltet.
Die AiO ist eine Standalone-Steuerung, d.h. es ist kein PC oder Tablet erforderlich, um die Rezepte einzugeben. Wenn ein optionales Bluetoothmodul (HC-05/HC-06) eingebaut ist, können alle Funktionen, die sonst über den Encoder eingegeben werden müssen, auch über die Software „KBH2AiOBT“ gesteuert werden. Es ist damit auch möglich, die Steuerung ohne Display und Encoder aufzubauen. Mir ist es aber lieber, den Zustand direkt am Gerät ablesen zu können.
Bitte schaut im Hobbybrauerwiki nach, wie die Bluetoothmodule zur Verwendung konfiguriert werden müssen. Die Module HC05 und HC06 verhalten sich unterschiedlich und werden anders konfiguriert. Vor der Verwendung muss das jeweilige Modul mit dem PC einmalig gekoppelt werden (Pairing).
Im Wiki stehen die Versionen für 32- und 64-Bit-Windows zur Verfügung. Außerdem findet ihr dort den Quellcode in Free-Pascal (Lazarus). Wer also Apple oder Linux verwendet, kann sich eine Version für sein Betriebssystem selbst erstellen.
Alle Einstellungen des Setup können ebenfalls von hier aus vorgenommen werden. Mit einem Klick auf „Setup“ werden die aktuellen Setup-Daten aus der Steuerung ausgelesen.
Alle Setup-Einstellungen im Überblick
Alle Informationen werden als Datentelegramm zur Steuerung geschickt. Eingeleitet wird jedes Telegramm durch eine Kennung an der ersten Stelle. Die einzelnen Werte werden durch ein „;“ voneinander getrennt. Den Aufbau der Telegramme mit einigen Beispielen findet ihr im Hobbybrauer-Wiki .
Über die Software können Rezepte aus dem Kleinen Brauhelfer, aus MMuM und eigene Rezepte in die Steuerung übertragen werden (Rezept AiO).
Der Temperaturverlauf kann aufgezeichnet, gespeichert, kopiert und gedruckt werden. Außerdem kann eine CSV-Datei generiert werden, um den Temperaturverlauf in einer Tabellenkalkulation zu visualisieren.
Statt nun, wie oben beschrieben, das Rezept manuell einzugeben, können die Rezeptdaten für das Triticum Wormatia nun direkt z.B. aus dem „Kleinen Brauhelfer“ importiert werden.
Anschließend werden die Daten zur Steuerung geschickt („Rezept ⇒ AiO“). Erst nach erfolgreicher Übertragung kann mit „Maischen“ der Prozess gestartet werden.
Im Serial-Monitor der Arduino-IDE sieht man was zur Steuerung übertragen wurde:
In der ersten Zeile des Auszugs ist das Rezepttelegramm aufgeführt. Eingeleitet durch die Kennung „RPT“, es folgt ein Rezept. Daran schließen sich die Einmaischtemperatur (57), Anzahl der Rasten (3), Kochdauer (90), Rasttemperatur1 (55), Rasttemperatur2 (62) und die Rasttemperatur3 (72) an. Die Rasttemperaturen 4-6 sind nicht gesetzt (0). Danach folgt die Abmaischtemperatur (78), die Rastzeit1 (15), Rastzeit2 (50) und die Rastzeit3 (20). Die Rastzeiten 4-6 sind natürlich wieder nicht gesetzt (0). Die folgende „0“ besagt, dass direkt abgemaischt wird, also die Abmaischtemperatur nicht für eine bestimmte Zeit gehalten wird. Dann folgen die Zeitpunkte der Hopfengaben: Hopfengabe1 (90), Hopfengabe2 (15), Hopfengabe (-5 ⇒ Zeit nach Flame out). Die Hopfengaben 4-6 sind nicht vorgesehen, also „0“. Danach folgt die Anzahl der Hopfengaben (3) und die Nachisomerisierungszeit (5).
In der folgenden Zeile sieht man die Zustandsdaten der Steuerung, die kontinuierlich von der AiO zum PC übertragen werden. Das Telegramm AiO⇒PC könnt ihr im Hobbybrauer-Wiki nachvollziehen.
Der Aufbau der Anlage ist an sich recht einfach und auch für Nichtelektroniker gut nachvollziehbar. Wer sich auf die Funkvariante konzentriert, ist auch was die Gefahren durch die Netzspannung anbelangt, auf der sicheren Seite.
Eingehendere Informationen zum Nachbau der Steuerung und die stets aktuellen Sketche und die Window-Software sind im Hobbybrauer-Wiki hinterlegt.
Viele Funktionen der Steuerung sind optional, z.B. die Geschwindigkeitsumschaltung des Rührers, die Nachgussbereitung, die Ansteuerung einer Würzepumpe (Läutergrant ⇒ Sudpfanne) und das Bluetoothmodul.
Sehr einfach lässt sich die 433-MHz-Funkversion aufbauen:
Bei der Relaisversion muss ein gesteigertes Augenmerk auf die 230V-Verkabelung gelegt werden:
Am einfachsten ist der Aufbau auf einem „Shield“, was nichts anderes als eine „Huckepackplatine“ für den Arduino-Mega ist. Diese Platine gibt es in verschiedenen Versionen, für Lötmuffel auch mit Schraubklemmen.
Die Pinnummern sind auf der Lochrasterplatte aufgedruckt, daher ist die Zuordnung der Komponenten zu den im Sketch vorgesehenen Anschlüssen recht simpel. Verdrahtet wird mit dünner Litze unterhalb der Platine. Das Anlöten der Stiftleisten auf die Platine stellt eine schöne Lötübung dar, kann man doch durch Überhitzen keine Bauteile zerstören.
Der Zusammenbau gestaltet sich am einfachsten, wenn die Stiftleisten zunächst ohne die Lochrasterplatine auf den Arduino aufgesteckt werden. Danach wird die Platine auf die Stifte gedrückt. Anschließend kann dann die Platine passgenau gelötet werden.
Hat man sich für die Montage der Bauteile auf Buchsenleisten entschieden, können diese nun auf der Platine platziert und festgelötet werden.
Ich benutze gerne Buchsenleisten, da diese ein einfaches Austauschen von Teilen oder gar des Arduino erlaubt. Natürlich kann man die Bauteile auch direkt auf die Platine auflöten. Danach wird das Shield einfach auf den Arduino-Mega aufgesteckt.
Es sei noch darauf hingewiesen, dass die Funkversion nicht in einem „Faradayschen Käfig“ – also nicht in einem Metallgehäuse – eingebaut werden sollte.
Die fertige Steuerung als 433 MHz-Version sieht dann so aus:
Steuerung als Funkversion
Steuerung als Relaisversion
Im Sketch sind Schnittstellen zu den Programmen „SerialComInstruments4.exe“ (http://www.serialcominstruments.com/instrument4.php) und „LogViewStudio.exe“ (http://www.logview.info/forum/index.php?pages/home/) definiert. Es können bei Bedarf mit etwas Programmiererfahrung auch noch andere Schnittstellen definiert werden.
Während „LogViewStudio.exe“ eine sehr dezidierte Auswertung des Temperaturverhaltens eines Maischekessels erlaubt, kann man sich mit SerialComInstruments4 einen umfangreichen Monitor über den aktuellen Brauprozess erstellen. Allerdings werden nur Signale die von der AiO kommen verarbeitet, eine aktive Steuerung ist nicht vorgesehen. Der Umgang mit der Software ist recht einfach, kann man sich doch schnell eigene Templates erstellen und sich so verschiedene Monitoransichten der Steuerungszustände anzeigen lassen.
Leider sind beide Programme nur für Microsoft-Windows-Betriebssysteme erhältlich.
Hier ein kleines Beispiel-Template: (steht im Wiki als Download zur Verfügung!)
Der Datensatz ist in Kanälen organisiert. Jeder Wert wird durch ein „#“ eingeleitet, danach folgt die Kanalnummer. „M“ zeigt an, dass jetzt der Messwert übertragen wird, „m“ ist dann der eigentliche Messwert. Durch „<“ wird dann die Datenübertragung beendet.
Beispiel für die Isttemperatur: #01M45.00< Die Kanäle sind folgendermaßen zugeordnet:
Kanal 1: Isttemperatur
Kanal 2: Solltemperatur
Kanal 3: Gradient
Kanal 4: Heizung EIN/AUS ⇒ nur Anzeige!
Kanal 5: Rührer/Malzrohrpumpe EIN/AUS ⇒ nur Anzeige!
Wenn der zweite Temperatursensor als Nachgusssensor verbaut ist, dann wird über den Kanal 6 die Nachgusstemperatur übertragen.
Kanal 7: Nachgussheizung EIN/Aus ⇒ nur Anzeige!
Kanal 8: Rufalarm EIN/AUS ⇒ nur Anzeige!
Kanal 9: Rührgeschwindigkeit HIGH/LOW ⇒ nur Anzeige!
Kanal 10: Würzepumpe EIN/AUS ⇒ nur Anzeige!
Kanal 11: Detailmeldungen (Textformat) – Beispiel: #11MRasttemperatur-erreicht<
Wenn zur Rast aufgeheizt wird:
Kanal 12: Rastzeit-soll = 0
Kanal 13: Rastzeit-ist = 0
Wenn die gewünschte Rasttemperatur erreicht wurde:
Kanal 12: Rastzeit – soll
Kanal 13: Rastzeit – ist
Es werden nur Temperatursollwert und Temperaturistwert gesendet:
$solltemperatur;isttemperatur
Weitergehende Informationen zur Steuerung und den unterschiedlichen Versionen findet ihr im Hobbybrauer-Wiki. Natürlich bin ich für spezielle Fragen auch immer über das Hobbybrauerforum erreichbar.
Die Steuerungssoftware wird mit dem Datum der Veröffentlichung versehen. Beim Start wird dieses auch im Display angezeigt. Wenn ihr hin und wieder mal im Wiki nachschaut, könnt ihr leicht erkennen ob zwischenzeitlich eine neue Version veröffentlicht wurde.
Der Arduino-Sketch und die KBH2AiO-Software unterliegen dem MIT-Lizenzmodell, d.h. sie sind für Jedermann/-frau frei weiterverwendbar.
Aktuelle Sketche und Software:
SerialComInstruments4:
LogViewStudio:
Bei LogViewstudio handelt es sich um eine Software, die leider nicht mehr weiterentwickelt wird. Sie erlaubt aber eine ausgezeichnete Auswertung der Temperaturverläufe. Die Einrichtung ist nicht trivial, im Hobbybrauer-Wiki findet ihr aber eine Beschreibung der Vorgehensweise für die AiO.
Ich möchte mich natürlich noch bei all den Usern des Hobbybrauerforums bedanken, die immer wieder neue Vorschläge zur Optimierung der Steuerung mit eingebracht haben bzw. mich auf Fehler in der Software hingewiesen haben. Insbesondere bedanken möchte ich mich bei Sebastian Danz (Borsti84), der sehr engagiert an der Weiterentwicklung mitgearbeitet hat.
Vergessen möchte ich aber auch Franz (fg100) und Vit (vitivory) nicht, die damals im alten Forum die Urversion dieser Steuerung auf Arduino-Basis veröffentlicht haben.
Wenn in diesem Beitrag von einem „Sketch“ die Rede ist, dann handelt es sich um Software die zum Arduino überspielt wird.
Ein „Logger“ ist ein Programm bzw. Programmteil, welches z.B. Temperaturverläufe mitschneidet und grafisch darstellt.
Ein „Shield“ ist eine Huckepackplatine, die auf den Arduino aufgesteckt wird und diesen dann um bestimmte Möglichkeiten erweitert.
Mit „Pin“, manchmal auch „GPIO“, bezeichnet man die analogen und digitalen Anschlüsse (Ein- und Ausgänge) des Arduino.
Ein ISP (In-System-Programmer) dient der direkten Programmierung des Mikroprozessors im Zielsystem.
Bei dem Arduino-System handelt es sich um eine Kombination aus Hard- und Software. Die Hardware besteht im wesentlichem aus einem Mikroprozessor mit – je nach Prozessortyp – einer unterschiedlichen Zahl an analogen und digitalen Ein- und Ausgängen (Pins). Außerdem sind eine USB-Schnittstelle zur direkten Programmierung über einen PC (Windows, Mac, Linux) und ein Spannungswandler integriert. Die von mir konzipierten Steuerungen nutzen die Versionen Arduino –Nano, -Uno und -Mega, es gibt aber noch einige weitere Plattformen.
Die Programmierung erfolgt in der Programmiersprache C mit C++ Erweiterungen. Die fertigen Programme heißen in der Arduino-Diktion „Sketch“. Als Entwicklungsumgebung für die Software steht die Arduino-IDE (Integrated Development Environment = integrierte Entwicklungsumgebung) zur Verfügung. Die IDE vereint den Editor für den Sketch und den Compiler, also dem Programm, das aus dem Sketch den ausführbaren Maschinencode erstellt. Dieser Maschinencode wird dann aus der IDE heraus über eine USB-Verbindung direkt in den Prozessor auf dem Arduino-System überspielt. Dieses System vereinfacht die Programmierung eines MP-Systems erheblich.
Üblicherweise werden Mikroprozessoren über eine ISP-Schnittstelle programmiert. Dazu bedarf es eines zusätzlichen Programmiertools und wesentlich mehr Erfahrung, was Hard- und Software anbelangt.
Mit den Arduino-Systemen ist es nun recht leicht, einfache bis professionelle Programme zu erstellen. Selbst Nichtprogrammierer können sich schnell in die Syntax der Software einarbeiten und rasch erste Erfolge verzeichnen.
Wie für jede Programmiersprache, gibt es auch für den Arduino Anfängerbeispiele, sog. „Hello World“-Programme. Das folgende kurze Programm lässt eine LED im Sekundenrhythmus blinken:
Nach der Wahl der vorhandenen Arduino-Plattform über den Menüpunkt „Werkzeuge“ und der Einstellung des Seriellen-Ports über den Untermenüpunkt „Port“
wird das Programm für das gewählte Zielsystem (im Beispiel der Arduino-Nano) übersetzt und dorthin übertragen.
Das Internet bietet eine Fülle von Informationen, sowohl für Anfänger als auch für Fortgeschrittene und Programmierprofis.
Die jeweils aktuelle Programmierumgebung findet ihr auf https://www.arduino.cc/.
Arduino-Mega
Sei der erste, der diesen Artikel teilt!
4 Kommentare zu “AiO-​Brausteuerung für Arduino-​Plattformen”
Michael Plum 8. November 2018 at 11:19
Hi, vie­len Dank für die­sen aus­führ­li­chen Bericht zu den Steue­run­gen. Mich wür­de inter­es­sie­ren, ob es inzwi­schen Händ­ler gibt, die die fer­ti­ge Steue­rung als 433 MHz-​Version ver­kau­fen. Bin da bis­her im Netz nicht fün­dig gewor­den.
Lothar Glodde Post author 23. November 2018 at 20:06
Hal­lo Micha­el,
habe dei­nen Kom­men­tar erst jetzt ent­deckt! Nein, die Steue­rung ist nur für den Nach­bau kon­zi­piert, an einen kom­mer­zi­el­len Ver­trieb ist nicht gedacht! Falls du aber Inter­es­se an einer fer­ti­gen Steue­rung hast, kannst du dich ger­ne über das Hob­by­brau­er­fo­rum bei mir mel­den.
pat.rau@web.de 23. Juni 2019 at 15:23
Hal­lo Lothar,
super Arti­kel.
Ich hät­te gro­ßes Inter­es­se an einer fer­ti­gen Steue­rung! 🙂
wel­ches Forum meinst du? Oder schrei­be mir bit­te (pat.rau@web.de)
Vie­len Dank.
Jörg Krüger 24. Juni 2019 at 11:59
Lothar ist als „Bit­ter” im Forum hobbybrauer.de zu errei­chen.