1...8fach Temperatursensor DS18B20

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

harvey
Beiträge: 136
Registriert: 01.12.2013, 13:19
Danksagung erhalten: 3 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von harvey » 13.01.2019, 00:05

Hi, kleine Verbesserung des Sketches ist, wenn die "fehlerhafte" Temperatur buzw. die Temperatur
bei nicht angeschlossenen/gefundenen DS18x20 nicht 0°C ist, sondern z.B. -127°C oderr -99°C.

Also eine Temperatur, die hier wohl nicht mehr in freier Wildbahn vorkommt.
Kann z.B. durch andere Vorbelegung im Array gemacht werden.

Etwa so, ist aber schon eine Anpassung von mir,
uint16_t sensors[MAX_SENSORS] = {-1270, -1270, -1270, -1270 , -1270, -1270, -1270, -1270};

Eine weitere Anpassung, die ich für mich gemacht habe ist:
Eine neue Messung wird auf Delta zur letzten Messung untersucht: Delta < 30°C dann sofort übernehmen, sonst
Mittelwert letzte Messung und aktuelle Messung verwenden. Und MEssung == -1270 komplett ignorieren.
Das führt dazu, dass kleine Änderungen, wie sie im Zeitintervall auch plausibel sind, sofort weitergegeben werden.
Zu große Änderungen könnten einen Sensorausfall oder Fehlmessung bedeuten.

Im Prinzip ist der Sketch für eine Vielzahl an Messungen zu gebrauchen, natürlich können auch Differenzen zwischen Sensoren
ausgegeben werden. Also viel Platz für Spielereien, lediglich in der Meldung an die CCU sind halt vernünftige Werte einzutragen.

ciao
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 50 Geräte

harvey
Beiträge: 136
Registriert: 01.12.2013, 13:19
Danksagung erhalten: 3 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von harvey » 13.01.2019, 00:21

Hi,
man sollte sich die Threads und Doku zu DS18x20 ansehen, da gibt es Infos zu der Verdrahtung und zu den Widerständen, teil eben auch deutliche
kleinere Werte bis 2K2, oder auch ganz kleine Serienwiderstände in den sternförmigen Leitungen.

Insgesammt sollte man etwas über das Auslesen der DS18x20 wissen:
- jeder Sensor hat eine individuelle Adresse fest eingebrannt.
- bei mehreren Sensoren werden die Sensoren entsprechend der Adresse in aufsteigender Reihenfolge ausgelesen.
- je nachdem, wie ein Sensor "mal ne Pause machen will", also ob beim auslesen der Adressen, oder nach dem
Adressen lesen bei der eigentlichen Messung kann ein Sensor mal "übersprungen" werden.
Also in der n-ten Position der Messreihe schon der n+1 Messwert geliefert werden. Oder es kommt -127, was die Fehlermeldung
des Sensors ist. Wenn diese Fehlermeldung einfach in die Antwortmessage geschrieben wird gibt es die Ausreisser nach unten, meist
nur für eine einzige Messung.
Wenn man also den Sketch dahingehend ändert, dass er bei Messung=-127 einfach den vorher gemessenen Wert wiederholt und
die neue fehlerhafte Messung ignoriert gibt es also diese Spikes nach unten nicht mehr.

Um der Umsortireung der Sensoren beim Austausch einens Sensors (oder der Verschiebung durch temporären Ausfall) zu
kann man eine komplexe Änderung des Sketches andenken (habe ich nur für mich mal gemacht):
- man "signiert" die Sensoren selbst vor Einbau, dazu gibt es zwei Byte, die man selbst beliebig beschreiben kann und die resetfest sind
- dann liest man die Sensoren und sortiert ein array entsprechend der eigenen "Signatur"
- die Sensoren werden entsprechend dieses Array ausgelesen, ist alles genauso richtig ist ok
- fehlt ein Sensor (eine Signatur!) oder kommt eine neue hinzu wird das Array neu aufgebaut.

Hauptsächlich durch das Ignorieren und die Mittelwertbildung bei größeren Temperatursprüngen bin ich die Spikes komplett los geworden.

ciao
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 50 Geräte

spaceduck
Beiträge: 447
Registriert: 02.06.2010, 08:07
Hat sich bedankt: 1 Mal
Danksagung erhalten: 9 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von spaceduck » 13.01.2019, 12:19

Ich habe eine Gesamtlänge der 1-wire Verkabelung von ca. 10 Meter, davon gehen nochmal 4 Stichleitungen a 1m weg. Das ganze läuft mit 2,2k ohne Problem oder Fehlmessungen. Die Sensoren sind alles Originale von Maxim. Ich vermute ja das die AliExpress Teile die hier manche einsetzen nicht ganz in der Spezifikation laufen.

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von Gelegenheitsbastler » 13.01.2019, 15:52

Wenn sicher ist, dass jeder Sensor für sich technisch einwandfrei ist, taste Dich beim Pullup langsam in Richtung 1K.
Es gibt Fake-Sensoren, bei denen es sich um umgelabelte Transistoren handelt. Daher teste ich für meine Anwendungen inzwischen jeden DS18x20 bevor er verbaut wird.
viewtopic.php?f=76&t=47733
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

Übersicht meiner Projekte


RaspberryMatic 3.47.22.20191026 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC

Etliche selbst gebaute Aktoren und Sender

spaceduck
Beiträge: 447
Registriert: 02.06.2010, 08:07
Hat sich bedankt: 1 Mal
Danksagung erhalten: 9 Mal

Re: 1...8fach Temperatursensor DS18B20

Beitrag von spaceduck » 13.01.2019, 16:04

Um der Umsortireung der Sensoren beim Austausch einens Sensors (oder der Verschiebung durch temporären Ausfall) zu
kann man eine komplexe Änderung des Sketches andenken (habe ich nur für mich mal gemacht):
Würdest Du den Code evtl. hier veröffentlichen?

walterdkn
Beiträge: 10
Registriert: 22.01.2019, 13:11

Re: 1...8fach Temperatursensor DS18B20

Beitrag von walterdkn » 22.01.2019, 13:24

Hi,
ich habe nun bereits mehrere AskSin-Projekte erfolgreich nachgebaut. Momentan komme ich mit dem 1...8fach Temperatursensor nicht weiter und weiß nicht, wo das Problem liegen könnte.
Das angeschlossene LCD zeigt alle Sensoren problemlos an. Ich bekomme das Teil nur nicht an der CCU3 angemeldet.

Bei allen anderen Projekten war das kein Problem. Das Addon (V1.29) habe ich natürlich installiert. Mit exakt demselben Aufbau (Breadboard) habe ich mal verschiedene Sketche ausprobiert; bei allen war die Anmeldung problemlos möglich, auch z.B. mit dem UniSENS 4-4, der ja das Addon ebenfalls benötigt.

Der serielle Monitor zeigt Folgendes an:

Temperaturen: | 217 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
<- 16 01 84 53 F30101 000000 00 41 00 D9 42 00 00 43 00 00 44 00 00 - 1820
<- 16 02 84 53 F30101 000000 00 45 00 00 46 00 00 47 00 00 48 00 00 - 2113
debounce
pressed
released
<- 1A 03 84 00 F30101 000000 10 F3 01 55 4E 49 54 45 4D 50 30 30 31 70 08 01 01 - 2172

Es scheint, als käme keine Antwort von der CCU auf den Request.

Woran kann es liegen?

VG,
Walter

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 22.01.2019, 13:35

Hi,

dem Telegramm nach
walterdkn hat geschrieben:
22.01.2019, 13:24
<- 16 01 84 53 F30101 000000 00 41 00 D9 42 00 00 43 00 00 44 00 00 - 1820
ist das Gerät nicht angelernt.
Statt 000000 muss dort die Adresse der Zentrale erscheinen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

walterdkn
Beiträge: 10
Registriert: 22.01.2019, 13:11

Re: 1...8fach Temperatursensor DS18B20

Beitrag von walterdkn » 22.01.2019, 14:05

Das ist ja genau das Problem. Das Anlernen (ich hatte im Post fälschlicherweise Anmelden geschrieben) funktioniert nicht. Nach dem Drücken der Anlerntaste blinkt die LED ca. 30s lang, aber es passiert auf der CCU nichts.

VG
Walter

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: 1...8fach Temperatursensor DS18B20

Beitrag von jp112sdl » 22.01.2019, 14:07

Dann hast du wahrscheinlich ein nicht korrekt funktionierendes CC1101 Modul: https://asksinpp.de/Grundlagen/FAQ/Fehl ... C1101.html

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

walterdkn
Beiträge: 10
Registriert: 22.01.2019, 13:11

Re: 1...8fach Temperatursensor DS18B20

Beitrag von walterdkn » 22.01.2019, 16:00

Das kann ich aus 2 Gründen ausschließen:
1. habe ich es mit einem zweiten Modul versucht,
2. habe ich mit exakt diesem Versuchsaufbau (also identische Hardwarekomponenten) alle anderen Sketche (auch solche, die das Addon benötigen) problemlos zum Laufen bekommen.
Das macht die Sache ja gerade so merkwürdig.

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“