PT1000 an einen Raspberry Pi mit FHEM auslesen

Begonnen von kblc, 31 März 2017, 09:50:15

Vorheriges Thema - Nächstes Thema

kblc

Hallo zusammen.

Nach langem erfolglosen suchen im Internet und FHEM Forum, muss ich nun dennoch mal dumm fragen:
Wie geht das was ich in der Überschrift beschrieben habe?

Etwas genauer:
Ich habe einen RaspPi mit FHEM (Aktuell), und einen PT1000 (bereits verbaut), zwei Lüfter 12V Temperaturbeständig (bereits verbaut).

Folgendes soll nun geschehen: Wenn eine bestimmte Temperatur am PT1000 gemessen wird, dann soll der 12V Lüfter angehen. Wird nun die Temperatur wärmer, soll dementsprechend auch die Geschwindigkeit des Lüfters hoch gehen. Außerdem möchte ich ebenfalls die Lüftergeschwindigkeit über FHEM steuern und überwachen. Das ganze soll in einen Floorplan schön dargestellt werden. So soweit mein Vorhaben.

Nun zu meinen Problemen:
Der PT1000 am Raspberry Pi und über FHEM auslesen? Das verstehe ich nicht ganz wie ich das machen soll. Ich  lese immer nur vom MCP3008. Aber wie schließe ich den an und wie fange ich da mit der Programmierung an? Das anfangen fällt mir hier so schwer. Ich weis nicht "welchen Zopf ich zuerst packen" soll. Wie soll ich das ganze aufbauen?

Das zweite Problem:
wie gebe ich eine stufenlose Dimmung über einen GPIO am RaspPi raus? Also dass der RaspPi über einen GPIO (sagen wir mal für Testzwecke einen 5V Motor - direkt) den Motor mehr oder weniger stufenlos regelt. Oder welche Ideen gibt es da? Meine Idee wäre über Pulsweitenmodulation. Aber wie programmiere ich das in FHEM?

Ich wäre echt glücklich, wenn mir jemand mit seinen hilfreichen Tipps und Hilfestellung in diesem Projekt zur Seite stehen würde.
Ich bin dankbar für jeden Tipp.

Vielen herzlichen Dank und

liebe Grüße

Kai aus Oberfranken
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Prof. Dr. Peter Henning

1. PT1000 oder PT100 nimmt man nur bei hohen Temperaturen (> 125 °C). Darunter bestens geeignet 1-Wire DS18B20, oder irgendein Funkthermometer.
2. Wenn PT1000, dann https://www.pollin.de/shop/dt/NTU4OTgxOTk-/Bauelemente_Bauteile/Bausaetze_Module/Bausaetze/Bausatz_PT1000_Messwandler.html => An A/D-Wandler (z.B. 1-Wire DS2450).
3. In FHEM programmiert man so etwas gar nicht. PWM erfordert mindestens teilweise echtzeitfähiges Verhalten. Könnte man z.B. über einen Arduino mit Firmata-Software lösen, der von FHEM gesteuert wird.
4. Falls das Ganze eine Temperaturregelung sein soll: Vollkommener Unsinn, dafür FHEM zu verwenden. Geht für 5 € hiermit: http://www.pollin.de/shop/dt/MzM4OTgxOTk-/Bauelemente_Bauteile/Bausaetze_Module/Module/PC_Lueftersteuerungsmodul_H_TRONIC_12_V_20_50_C.html

LG

pah

kblc

Vielen Dank für die schnelle Antwort Herr Prof. Dr. Henning.
Ich freue mich über die super Hinweise. Anbei noch ein paar Ergänzungen und Erklärungen.
zu 1. Ja es sind hohe Temperaturen. Der Temperaturbereich liegt bei 24° C bis 450° C. Es soll eine Warmluftsteuerung eines Holzofen (Kachelofen/Schwedenofen) sein, also die aufgewärmte Luft einer extra Kammer über dem Brennraum - nicht zu verwechseln mit der Zugluft der Flamme oder der giftigen Abluft. Durch diese warme Luft soll ein Nebenraum mit Wärme versorgt werden.
zu 2. Ja es muss ein PT1000 sein, da dieser auch schon bereits verbaut ist. Aber das Teil habe ich auch schon im Blick gehabt. Das geht also. Danke für die Bestätigung.
zu 3. Super - OK, das ist ein Idee, da mach ich mich gleich mal drüber noch Ins einzuholen.

zu 4. Im Prinzip schon, aber da es den Nebenraum beheizen soll, will ich die Temperatur abgreifen und Sichtbar machen. Außerdem will ich die Lüfterregelung ebenfalls selber steuern.
SPS, Arduino, Controllino, Sensortechnik, Elektronik

NeuFehm

Einen PT1000 liest man am einfachsten mit einem "Spannungteiler" aus. Das sind 2 Widerstände (einer der PT1000 ein anderer bspw. ein 470k) in Reihe zwischen Masse und Spannung. Die Mitte der beiden Widerstände wird "gemessen". Dazu brauchst Du einen analogen Eingang. Ganz leicht geht das über ein Wemos D1.
Auf den Wemos D1 spielst Du die "EasyESP"-Firmware und schließt die Widerstände an 0 und 3,3V. Dann legst du per Weboberfläche vom EasyESP das Device "analog" an und lässt dir die Werte anzeigen. Dann eichen: Kochendes Wasser, den PT1000 rein und Zahl ablesen, dann Eiswasser und Zahl ablesen. Dann beide Wert per Weboberfläche in EasyESP eintragen und eine einfache lineare Temperaturkurve erzeugen lassen. Das macht alles der kleine Wemos D1 von allein, musst also nichts programmieren. Danach musst Du nur noch die IP vom FHEM eintragen und bisschen Fhem für ESP vorbereiten.
Fhem legt dann automatisch alle Sensoren an, die an dein kleinen Wemos angeschlossen werden. Wemos überträgt per WLAN die Werte an Fhem.
Die so ermittelte Temperatur ist nicht 100% genau. Im o.g. Messbereich habe ich lächerliche 2 Grad Abweichung.  Wenn Du Fragen hast kannst Du Dich gern nochmal melden, sollten die "Häppchen" noch zu klein sein ;)
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Prof. Dr. Peter Henning

Vlt. mal auf das Datum des Posts schauen ?

Außerdem ist eine Genauigkeit von 2% in der Tat lächerlich - aber lächerlich ungenau.

LG

pah