Arduino und KNX

Arduino ist eine Hardwareplattform auf Basis eines Atmel Prozessors welcher sehr einfach über eine IDE programmiert werden kann. Es läuft kein Betriebssystem auf der Hardware sondern nur ein sehr schmaler Bootloader welcher direkt das eigene Programm startet. Dank vielfältiger I/O Anschlüsse, welche direkt angesprochen werden können, eignet er sich perfekt als Sensor und Steuerungsplattform.

Arduino Pro Mini

Anbindung an KNX

Da ich bei mir KNX einsetze, stellte sich mir die Frage wie man es verbindet. Bei meinen Recherchen bin ich auf einen KNX Busankoppler von Siemens gestossen. Über den Pfostenstecker des Busankopplers wird eine Spannung von 5V sowie eine Serielle Schnittstelle bereit gestellt. Somit ist keine zusätzliche Spannungsversorgung notwendig.

Siemens Serial / KNX Busankoppler komplett zusammengebaut

Auswahl des Arduino Boards

Als erstes muss man sich für eine Hardwareversion entscheiden. Bei mir kommt der Arduino Pro Mini zum Einsatz. Ihn gibt es in einer besonders stromsparenden Variante mit 3.3V welche unter Volllast gerade mal 4,47mA verbraucht. Durch gesonderte Maßnahmen kann dies weiter optimiert werden.

API zum ansteuern des Busankopplers

Weiterhin gibt es mittlerweile 2 Community Projekte welche eine API für Arduino und genau diesen Busankoppler bereit stellen.

Bauteilliste

Zusamenbau

Als erstes wird der Pfostenstecker auf der Vorderseite des Busankopplers ausgelötet und auf der Rückseite eine auf 5 Stifte gekürzte Stiftleiste angelötet. Zusätzlich muss mit einem scharfen Messer oder Skalpell auf der Gehäuserückseite eine Aussparung für die neue Stiftleiste ausgeschnitten werden.

KNX Busankoppler zerlegt KNX Busankoppler mit entfernten Stecker Rückseite des KNX Busankoppler

Nun wird der Arduino mit dem Busankoppler mit Hilfe der Pin Header Kabel verbunden. Hierzu folgende Pins miteinander verbinden

ArduinoBusankoppler
GNDGND (PIN 1)
RAW5V VCC (PIN 5)
RXTX (PIN 4)
TXRX (PIN 2)

Arduino Schaltplan für den Betrieb mit 3.3V
Anbindung des 3.3V Arduino Pro Mini

Arduino Schaltplan für den Betrieb mit 5.0V
oder Alternativ die 5V Arduino Pro Mini Variante

Arduino Pro Mini verbunden mit dem KNX Busankoppler
und der fertige Aufbau.

Ein Flüchtigkeitsfehler, der mich 2 Stunden gekostet hat, war am Anfang der falsche Anschluss des seriellen Ports zwischen Busankoppler und Arduino.
Die Pins RX und TX müssen gekreuzt werden.

Schlusswort

Nun kann man mit Hilfe der API aus seinem Arduino Programm heraus KNX Nachrichten an den KNX Bus senden oder empfangen. Auf diese Art können vom Arduino gemessene Sensordaten periodisch gesendet werden oder, falls das Arduinoboard als Listener programmiert ist, auch Nachrichten empfangen werden und damit Schaltvorgänge auslösen.
In meinem Fall sendet das Arduinoboard periodisch Sensordaten welche von OpenHAB mit dem KNX Binding empfangen werden.

Dank der kompakten Bauweise passt alles bequem in eine 40mm Unterputzdose.

Ein erstes Anwendungsszenario sind verschiedene Sensoren. Allerdings sind dank der Flexibilität von Arduino unendlich viele weitere Möglichkeiten denkbar.

https://intranet-der-dinge.de/
https://intranet-of-things.com/