Raum-Sensormodul
Front2.png
Mit diesem Thread möchte ich die HW des Sensormoduls genauer aufzeigen. Ich möchte hier keine SW Diskussionen führen, sondern alle Punkte der HW aufzeigen, so dass man die bestehenden Firmware-Versionen nutzen kann, oder mit diesen Informationen sich selber auf den Weg machen kann, eigene Firmware zu entwickeln.
Der ausschlaggebende Grund hierfür war mumpf der eine eigene Firmware zu diesem Modul geschrieben hat. Damit dieses Unterfangen möglich war, hatten wir regen technischen Austausch. Diesen technischen Austausch möchte ich euch hier vorstellen, damit auch andere dieses Wissen anwenden können.
Historie
Fangen wir vielleicht mal ganz am Anfang an. Dazu müssen wir bis Anfang 2017 zurückgehen. Damals wollte ich eine HW aufbauen mit der man die Möglichkeit hat, über eine einfache Weise typische Parameter in einem Raum zu messen (Temp, Hum, … ) Es hat sich schnell gezeigt, dass eine „hoch“ integrierte Lösung mit nur einer Platine nicht so einfach umzusetzen war. Daher bin ich dazu übergegangen das System Modular aufzubauen.
Aus diesem Ansatz wurde dieser HW-Systemaufbau:
Ich bin davon überzeugt, dass man mit diesem Aufbau 95% aller Anforderungen in einem KNX-System abdecken kann. Der ausschlaggebende Teil davon ist der µC, mit seinem 32Bit und 48MHz und einem großen RAM + Flash besitzt er alle notwendigen Voraussetzungen großes zu leisten J Dazu kommt noch, das sehr flexibel unterschiedliche Interface ansteuern kann, das wären bis zu 4 Uarts, I2C, SPI, 12Bit ADCs, …
Daher schmeißt alle eure ProMinis, ProMicros, Leonardos, … weg und steigt in die SAMD-Welt ein. Ein anderes Projekt hier hat das wohl auch schon gemerkt J Und auch ein ESP82/32 hat in der reinen KNX-Welt (wenn es um Schnittstellen zu BT/WIFI geht, mag das falsch sein) eigentlich nichts zu suchen. Aber das ist meine Meinung, da darf jeder gerne seine eigene haben.
An alle Einsteiger einen kleinen Rat: steigt besser gleich mit einem Arduino Zero, oder einem Nachbau in die Entwicklung, oder zum Spielen ein. Der etwas höhere Preis dafür ist absolut gerechtfertigt! Ihr werdet schneller und einfacher an euer Ziel kommen.
Allgemein:
Leider bin ich nur ein HW-Entwickler und habe von der Embedded SW-Entwicklung wenig Ahnung. Wenn man sich das Datenblatt des SAMD anschaut, dann steckt hier noch deutlich mehr Potential drin, als das die Arduino Welt vorgibt. Falls jemand hier mehr KnowHow besitzt und Lust hat, damit zu arbeiten, dann ist er immer Willkommen bei mir!
Basis HW
Seit dem Beginn im Jahre 2017 sind jetzt drei verschiedene Versionen des Moduls aufgebaut worden.
Von links: Version1 , Version2 , Version3 (im Aufbau)
IMG_20200309_122701.jpg
Die Version1 läuft in kleiner Stückzahl und mit einer sehr einfachen SW seit 2 Jahren ohne Ausfälle.
Die Version2 ist eigentlich nur ein Zwischenschritt auf Version3. Der größte Unterschied zur Version1 ist die Verwendung des 5V Reglers auf dem NCN5130.
Auf die Version3 wurde das Layout von 2 Lagen auf 4 Lagen umgestellt/angepasst. Damit konnte das Routing und die Massepfade deutlich verbessert werden. Was in der Regel zu einem besseren EMV Verhalten führt. Dazu wurden noch zusätzliche „Ferrit Bead“ Komponenten in den KNX-Pfad eindesignt. Da der +5V Regler den CO2 Sensor + den 1-Wire Bus versorgen muss, wurde der +5V Ausgang für den 1-Wire Bus zusätzlich mit einer Diode bis 40V geschützt.
Damit die HW ohne „gebastel“ in eine Hausinstallation aufgenommen werden kann, habe ich mich ziemlich schnell mit dem Berker Sensoreinsatz angefreundet, da dieser genau das liefert, was ich damals benötigt habe:
Er hat nur einen kleinen Nachteil:
Um möglichst viele externe „Sensoren“ anschließen zu können, habe ich folgendes Pinout des Steckers definiert:
Raum_Controller_Pinout_ZW_Stecker_Pinout.jpg
Damit ist man in der Lage einen sehr großen Teil an Sensoren anzuschließen. Mit der zusätzlichen und unabhängigen +5V Versorgung ist man auch in der Lage, Sensoren mit hohem Stromverbrauch „auszulagern“. Das hat später den großen Vorteil, dass man diese Spannung im Fall eines KNX-Busspannungsabfall vom µC deaktivieren kann. Nur so war es ohne großen „Energiespeicher“ möglich, alle notwendigen Informationen im EEPROM zu sichern.
Front2.png
Mit diesem Thread möchte ich die HW des Sensormoduls genauer aufzeigen. Ich möchte hier keine SW Diskussionen führen, sondern alle Punkte der HW aufzeigen, so dass man die bestehenden Firmware-Versionen nutzen kann, oder mit diesen Informationen sich selber auf den Weg machen kann, eigene Firmware zu entwickeln.
Der ausschlaggebende Grund hierfür war mumpf der eine eigene Firmware zu diesem Modul geschrieben hat. Damit dieses Unterfangen möglich war, hatten wir regen technischen Austausch. Diesen technischen Austausch möchte ich euch hier vorstellen, damit auch andere dieses Wissen anwenden können.
Historie
Fangen wir vielleicht mal ganz am Anfang an. Dazu müssen wir bis Anfang 2017 zurückgehen. Damals wollte ich eine HW aufbauen mit der man die Möglichkeit hat, über eine einfache Weise typische Parameter in einem Raum zu messen (Temp, Hum, … ) Es hat sich schnell gezeigt, dass eine „hoch“ integrierte Lösung mit nur einer Platine nicht so einfach umzusetzen war. Daher bin ich dazu übergegangen das System Modular aufzubauen.
Aus diesem Ansatz wurde dieser HW-Systemaufbau:
- KNX-Schnittstelle (aktuell: NCN5130)
- µ-Controller (aktuell: SAMD21)
- EEPROM (zum Speichern der KNX-Config)
- Prog-Taster & Prog-LED & Status-LEDKNX Raum-Sensormodul
Ich bin davon überzeugt, dass man mit diesem Aufbau 95% aller Anforderungen in einem KNX-System abdecken kann. Der ausschlaggebende Teil davon ist der µC, mit seinem 32Bit und 48MHz und einem großen RAM + Flash besitzt er alle notwendigen Voraussetzungen großes zu leisten J Dazu kommt noch, das sehr flexibel unterschiedliche Interface ansteuern kann, das wären bis zu 4 Uarts, I2C, SPI, 12Bit ADCs, …
Daher schmeißt alle eure ProMinis, ProMicros, Leonardos, … weg und steigt in die SAMD-Welt ein. Ein anderes Projekt hier hat das wohl auch schon gemerkt J Und auch ein ESP82/32 hat in der reinen KNX-Welt (wenn es um Schnittstellen zu BT/WIFI geht, mag das falsch sein) eigentlich nichts zu suchen. Aber das ist meine Meinung, da darf jeder gerne seine eigene haben.
An alle Einsteiger einen kleinen Rat: steigt besser gleich mit einem Arduino Zero, oder einem Nachbau in die Entwicklung, oder zum Spielen ein. Der etwas höhere Preis dafür ist absolut gerechtfertigt! Ihr werdet schneller und einfacher an euer Ziel kommen.
Allgemein:
Leider bin ich nur ein HW-Entwickler und habe von der Embedded SW-Entwicklung wenig Ahnung. Wenn man sich das Datenblatt des SAMD anschaut, dann steckt hier noch deutlich mehr Potential drin, als das die Arduino Welt vorgibt. Falls jemand hier mehr KnowHow besitzt und Lust hat, damit zu arbeiten, dann ist er immer Willkommen bei mir!
Basis HW
Seit dem Beginn im Jahre 2017 sind jetzt drei verschiedene Versionen des Moduls aufgebaut worden.
Von links: Version1 , Version2 , Version3 (im Aufbau)
IMG_20200309_122701.jpg
Die Version1 läuft in kleiner Stückzahl und mit einer sehr einfachen SW seit 2 Jahren ohne Ausfälle.
Die Version2 ist eigentlich nur ein Zwischenschritt auf Version3. Der größte Unterschied zur Version1 ist die Verwendung des 5V Reglers auf dem NCN5130.
Auf die Version3 wurde das Layout von 2 Lagen auf 4 Lagen umgestellt/angepasst. Damit konnte das Routing und die Massepfade deutlich verbessert werden. Was in der Regel zu einem besseren EMV Verhalten führt. Dazu wurden noch zusätzliche „Ferrit Bead“ Komponenten in den KNX-Pfad eindesignt. Da der +5V Regler den CO2 Sensor + den 1-Wire Bus versorgen muss, wurde der +5V Ausgang für den 1-Wire Bus zusätzlich mit einer Diode bis 40V geschützt.
Damit die HW ohne „gebastel“ in eine Hausinstallation aufgenommen werden kann, habe ich mich ziemlich schnell mit dem Berker Sensoreinsatz angefreundet, da dieser genau das liefert, was ich damals benötigt habe:
- Einen Halter mit der die Platine in eine UP Dose verbaut werden kann
- Ein System das in die bestehenden Schalterprogramme eingebunden werden kann
- Ohne Werkzeug / „gebastel“ hergestellt/gekauft werden kann
Er hat nur einen kleinen Nachteil:
- Durch seinen mechanischen Aufbau, ist es nur begrenzt möglich, Signal über einen Stecker nach außen zu geben. Mit einem vertretbaren Aufwand konnte ich mit einem 2x4 Pinheader eine Verbindung nach außen herstellen.
Um möglichst viele externe „Sensoren“ anschließen zu können, habe ich folgendes Pinout des Steckers definiert:
Raum_Controller_Pinout_ZW_Stecker_Pinout.jpg
Damit ist man in der Lage einen sehr großen Teil an Sensoren anzuschließen. Mit der zusätzlichen und unabhängigen +5V Versorgung ist man auch in der Lage, Sensoren mit hohem Stromverbrauch „auszulagern“. Das hat später den großen Vorteil, dass man diese Spannung im Fall eines KNX-Busspannungsabfall vom µC deaktivieren kann. Nur so war es ohne großen „Energiespeicher“ möglich, alle notwendigen Informationen im EEPROM zu sichern.
Kommentar