Heute will ich Euch ein weiteres DIY-Projekt vorstellen. Ich zeige Euch, wie Ihr einen 8-fach Temperatursensor selber aufbauen könnt um damit z.B. die Vor- und Rücklauftemperatur Eurer Fußbodenheizung zu messen. Denkbar sind auch Anwendungen für den Pool, die Wärmepumpe usw.. Mit dem Bausatz könnt Ihr bis zu 8 unterschiedliche Temperaturen erfassen und diese direkt in der Homematic CCU auswerten und verarbeiten. Vor ein paar Wochen hatte ich Euch dieses Projekt bereits vorgestellt und dafür die universal-Platine von Alexander verwendet (zum Artikel).

Da ich selbst bei meiner Fußbodenheizung die Vorlauf und auch Rücklauf-Temperatur messen will, habe ich in KiCad eine eigene Platine entworfen, damit ich die 8 Sensoren schnell per Schraubklemmen anschließen kann. Außerdem wollte ich ein System, das unabhängig von Batterien funktioniert. Daher habe ich die Platine so ausgelegt, dass diese mit 24V arbeitet. In meinen Verteilerkästen für die Fußbodenheizung liegen bereits 230V, da ich hier bereits den FAL230-C10 verbaut habe. Für den Betrieb reicht ein kleines 230V / 24V Netzteil von Meanwell, welches man für wenige Euro bekommt. In dem älteren Artikel lief die Messung per Batterie, doch die 230V Lösung gefällt mir wesentlich besser…

Was benötigt Ihr alles für diesen Bausatz?

  • 1x Grundplatine könnt Ihr über unsere Shop beziehen
  • 1..8x DS18B20 Fühler
  • 1x Arduino Pro Mini 3,3V mit 8 MHz
  • 1x Funkmodul 868MHz (CC1101)
  • 1x Antennendraht 8,6cm (1mm Abisoliert)
  • 1x SMA Sockel für externe Antenne (optional)
  • 1x Taster 6x6x5mm
  • 1x Elko 10uF 1,5mm
  • 1x Universalgehäuse
  • 4x Blechschraube M2
  • 1x 470 Ohm Widerstand für die LED
  • 1x 4,7k Ohm Widerstand für die Fühler
  • 1x Netzteil 24V

Dateien zur Platine (Gerber) findet Ihr hier.

Wo am besten kaufen?

Ich habe alle Teile mit µ-Elektronik bei Aliexpress bestellt, die Bauteile wie Widerstände, Taster, das Gehäuse und die anderen passiven Bauteile bei Conrad. Der komplette Bausatz wird auch bei uns im Shop zu kaufen sein. Dort ist dann bereits alles vorhanden, was Ihr für den Aufbau benötigt.

So sieht der fertig aufgebaute Bausatz aus. Ich habe in diesem Beispiel nur 2 Sensoren angeschlossen. Ihr seid bei der Anzahl komplett variable, sodass 1-8 Sensoren verwendet werden können.

AmazonAliexpressConrad
ELV
Grundplatine (Webshop)
6-25V FestspannungsreglerLink
SchraubsockelLink
DS218B20 SensorLink
Arduino Pro MiniLinkLink
FunkmodulLinkLink
Antennendraht
LED 3mmLinkLink
R1 = 470 OhmLinkLink
R3 = 4,7K OhmLinkLink
Taster 6x6x5mmLinkLink
Elko 10uFLinkLink
UniversalgehäuseLink
Blechschraube M2Link
Sicherung
FTDI AdapterLinkLink
24V NetzteilLink

Zusammenbau des Sensors

Zuerst wird der Arduino eingelötet, wie auf den Fotos zu sehen ist. Vergesst dabei bitte nicht die Pin A4 und A5, diese befinden sich im inneren.

Danach wird das CC1101 Funkmodul verlötet. Hier könnt Ihr entscheiden, ob dieses auf die 2mm Pins gesetzt werden soll (wie im Foto). Ihr könnt das Modul aber auch direkt auf die Platine löten, dann entfallen die 2mm Pins.

Nun folgt der Festspannungsregler, der dafür sorgt, dass die 6-24V Eingangsspannung zu 5V gewandelt wird. Der Festspannungsregler arbeitet von 6-25V, so könnt Ihr auch ein Netzteil mit 10V oder 12V anschließen!

Achtet bitte auf die richtige Ausrichtung wie im Foto. Das Modul wird auf 2,54mm Pins gesetzt. Es folgen dann die LED, der Taster und die Sicherung. Ihr könnt auch direkt den kleinen Elko mit einlöten. Der Balken auf den Elko muss zur ausgefüllten Fläche auf der Platine zeigen.

Bei den Widerstanden müsst Ihr für R1 den 470 Ohm verwenden und für R2 den 4,7k Ohm.

Nachdem nun alle Bauteile verlötet worden sind, folgen die Schraubklemmen. Diese werden so platziert, wie im Foto zu sehen. Die Schraubklemmen der Sensoren 1-5 stehen sich gegenüber.

Nun können wir die Sensoren anklemmen. Je nachdem, welche Sensoren Ihr vorliegen habt, kann die Farbe der Adern variieren. GND ist in diesem Fall schwarz,

Nun können wir die fertige Platine in das Gehäuse setzen und mit den Schrauben fixieren. Es werden nur 4 Stück benötigt. Die Kabel für die Spannungsversorgung und die Messleitungen habe ich durch die Öffnung am Gehäuseboden geführt.

Hier seht Ihr das fertig aufgebaute Gehäuse mit einen 24V Netzteil. Das Netzteil auf dem Foto ist etwas groß, es kann natürlich auch ein kleineres Netzteil (24V) verwendet werden.

Frequenz des CC1101 anpassen

Falls Ihr Probleme beim Anlernen des Sensors habt, solltet Ihr Euch bitte zuerst diesen ausführlichen Artikel zum Thema Frequenzanpassung des CC1101 durchlesen.

DIY-Sensor programmieren mit dem passenden Sketch

Zuerst müssen wir die Arduion IDE Software herunterladen. Diese gibt es für Windows, Mac und Linux.

Nachdem der Download beendet ist, müsst die die Installationsroutine durchlaufen und das Programm starten.

AskSinPP herunterladen

Um zu starten benötigen wir zuerst AskSinPP. Über die Schaltfläche „Clone or download“ rufen wir ein weiteres Fenster auf. Hier wählen wir nun Download ZIP aus.

Nachdem die Datei heruntergeladen ist entpacken wir die Datei in einem temporären Ordner.

Nun müssen wir aus den soeben entpackten Dateien ein neues Archiv machen, jedoch ohne das zusätzliches Unterverzeichnis AskSinPP. Im neuen ZIP-Archiv sind dann direkt die Ordner bootloader, examples usw… zu finden. Das neue Archiv kann den gleichen Namen wie das alte Archiv tragen.

Wir brauchen diese Datei gleich, um die ZIP-Datei als zusätzliche Library in Arduino IDE einzubinden.

Einbinden der AskSinPP Bibliothek

Die soeben angelegte ZIP-Datei spielen wir jetzt in das Arduino IDE ein. Dazu klicken wir im Hauptfenster auf „Sketch“ und dann auf „Bibliothek einbinden“ dort wählen wir dann „.ZIP-Bibliothek einbinden…“ an.

In dem neuen Fenster wählen wir nun unsere soeben erzeugte ZIP-Datei aus.

Damit haben wir die wichtigste Bibliothek für die Funktion unseres neuen Sensors eingebunden!

Sketch herunterladen

Nun laden wir die fertigen Sketche für den Sensor herunter. Diese bekommen wir bei GitHub von Jerome.

Auch hier wählen wir wieder „Clone or download“ an und laden die ZIP-Datei herunter.

Ich habe das Archiv direkt in den Ordner der Arduino-Installation geschoben. Diesen findet Ihr unter „Dokumente“ –> „Arduino“. Hier habe ich alle Beispiele abgelegt, die in der ZIP-Datei von Jerome vorhanden sind.

Zusätzliche Bibliotheken installieren

Zuerst müssen aber noch weitere Bibliotheken geladen werden, damit das Projekt laufen kann.

Wir brauchen folgende Bibliotheken, die noch installiert werden müssen:

Fangen wir mit der ersten Bibliothek an. Diese installieren wir über das Haupfenster mit einem Klick auf „Sketch“ –> „Bibliothek einbinden“ –> „Bibliothek verwalten…“

Es öffnet sich ein neues Fenster. Dort können wir dann nach der benötigten Datei suchen.

Wir geben als im Eingabefeld „EnableInterrupt“ ein und wählen die aktuelle Version aus und danach auf „Installieren“.

Damit haben wir nun die erste Bibliothek eingebunden.

Die nächste Library, die wir benötigen können wir hier von GitHub herunterladen. Auch diese Bibliothek binden wir wieder über die Schaltfläche „Sketch“ –> „Bibliothek einbinden…“ und dann auf „.ZIP-Bibliothek hinzufügen…“.

Damit haben wir nun alle nötigen Dateien zusammen und können jetzt das Board konfigurieren!

Board Konfigurieren

Nun müssen wir dem Programm noch mitteilen, welches Board wir programmieren wollen. Dazu klicken wir auf „Werkzeuge“ und tragen dort die Information ein, die Ihr im Bild sehen könnt.

Sketch laden

Nun müssen wir das fertige Sketch laden, um den Sensor zum Leben zu erwecken. Das Sketch ist wie ein Programm, welches auf den Prozessor vom Arduino geschrieben wird.

Hier sind die Einstellungen nochmal einzeln aufgeführt. Um an den COM-Port des FTDI-Adapters zu erhalten, muss der Adapter an den Computer angeschlossen werden. Ihr könnt dann im Gerätemanager den passenden Port sehen. In meinem Fall ist das COM7.

  • Board: Arduino Pro or Pro Mini
  • Prozessor: ATMega328P 3.3V 8MHz
  • Port: Der COM Port vom FTDI Adapter

Arduino flashen

Jetzt haben wir soweit alles vorbereitet, dass der Arduino programmiert werden kann. Dazu müssen wir den Programmer auf 3,3V umstellen. Auf der Platine ist dafür ein Jumper angebracht. Dieser kann entweder in der Stellung 3,3V oder 5V gesteckt werden. Wir müssen diesen für unseren Arduino auf 3,3V stellen.

Nun klicken wir im Fenster auf „Sketch“ –> „Überprüfen / Kompilieren“.

Wenn Ihr bis hier alles richtig gemacht habt, dann können wir das Programm nun auf die CPU schreiben.

Dazu klicken wir auf „Sketch“ –> „Hochladen“

Auch dieser Vorgang dauert etwas und Ihr könnt beobachten, wie die beiden roten LEDs am Programmer während des Vorgangs blinken.

Damit haben wir erfolgreich die Software auf das Gerät gespielt!

7 Kommentare
    • Avatar
      Thomas sagte:

      Ach, da steht ja welche Sensoren, aber der Link zu Ali ist glaube ich falsch.
      Dennoch würde mich interessieren wie lang die Kabel der Sensoren sind (also die, die im Komplettpaket von euch enthalten sind). Danke!

      Antworten
  1. Avatar
    Markus sagte:

    Hallo,
    Du schreibst, die Platine braucht 24V. Auf der Platine und anhand der Bauteile meine ich aber 6 – 24V zu erkennen?! Ich möchte mit meiner 12V Solaranlage (11.0 – 14.8V) das System betreiben. Geht oder geht nicht? Und wenn nicht, hast Du einen Änderungsvorschlag?

    Antworten
    • Sebastian
      Sebastian sagte:

      Nein, die Sensoren gibt es bis ca 120C. Bei solchen Anwendungen benötigst du ein PT100 oder ein Thermoelement welches diese Temperaturen aushält. Das wäre dann aber auch eine andere Schaltung.

      Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere die Speicherung der Daten.