Digitale Temperatursensoren zuordnen

Gast #5889489
Lesenswert?

Guten Morgen,

ich habe da eine recht simple Frage bei der ihr mir sicherlich weiter 
helfen könnt. Uns zwar würde ich in einem Projekt gerne mehrere digitale 
Temperatursensoren einsetzen. Insgesamt sollen bis zu 20 Stück, die alle 
an verschiedenen Stellen positioniert werden (Abstände <100mm), 
eingesetzt werden.

Für mich ist es wichtig die Positionen der Sensoren zuordnen zu können 
und ich Frage mich wie das in der Praxis klever umgesetzt wird. Wenn ich 
mir z.B. den DS1820 anschaue, der hat eine feste Adresse. Das bedeutet 
im Umkehrschluss ich muss vor der Verschaltung prüfen welche Adresse der 
Sensor hat, korrekt? Im Umkehrschluss gibt es auch Sensoren mit Pins die 
eine Adressierung zulassen (z.B. TMO1075). Die Adresse kann ich dann im 
Design entsprechend festlegen.

http://www.ti.com/lit/ds/symlink/tmp1075.pdf
https://datasheets.maximintegrated.com/en/ds/DS18S20.pdf

Meine Frage ist nun wie macht man das in der Praxis? Nimmt man Sensoren 
die sich über die Pins adressieren lassen oder ließt man die Adresse der 
Sensoren vor Montage aus und notiert sich das Ganze (erscheint mir 
umständlich und fehleranfällig)?

Vielen Dank und schönen Freitag

Andreas
Gast #5889495
Lesenswert?

Manual zum 1Wire Protokoll lesen.
Dann bist Du in 5 Minuten schlau.

Strategie :
1) Sensor ID auslesen, aufschreiben zuordnen, markieren.
2) oder durch einzelne Inbetriebnahme und „Broadcast“ eine Tabelle 
aufbauen...
Moderator Persönliche Seite #5889513
Lesenswert?

Nennt sich im DS1820-Datenblatt "Search ROM cycle".

Hier im Forum findet sich einiger Code dazu.

Wir handhaben es bei unseren DS18B20 (maximal zehn pro Bus) so, dass wir 
im Initialisierungsmodus erst alle anwesenden IDs ermitteln, und diese 
dann zyklisch auf starke Temperaturänderungen hin abfragen. Mit Eisspray 
werden die Sensoren dann in definierter Reihenfolge besprüht und das 
dann im EEPROM abgelegt. Geht flott und ist zuverlässig.
#5889524
Lesenswert?

Meine Methode: Im Programm sind die Bezeichnungen für die Messstellen 
abgelegt. Ich bringe dann nacheinander die Sensoren an den Bus. Dann 
wird das Programm neu gestartet.

Das Programm prüft beim Start ob ein nicht zugeordneter Sensor auf dem 
Bus gefunden wird. Wenn ja, dann fragt das Programm über die serielle 
Debug-Schnittstelle welche der bekannten nicht zugeordneten Sensoren der 
neue ist. Die Zuordnung wird in einem Array im EEPROM abgelegt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren