Forum: Mikrocontroller und Digitale Elektronik 1Wire Sensoren, Sensor physisch austauschen --> Wie in Software implementieren


von Michael (Gast)


Lesenswert?

Hallo zusammen


Habe hier eine Heizungssteuerung mit 3 Temperatursensoren DS18S20.--> 
(Wärmespeicher unten mitte oben)

Das Problem ist die Zuweisung pyhsisch-->logisch.

Ich lese die ROMID mit dem "ROM search command" von den Sensoren aus. 
Ich nehme mal an solange ich immer die gleichen Sensoren drann habe so 
werden die Sensoren auch immer in der gleichen Reihenfolge gefunden. Und 
ich kann die Zuordnung dynamisch richtig machen. (Natürlich müsste beim 
ersten verkabeln der richtige Sensor an die richtige Stelle)

Wenn nun ein Sensor defekt ist funktioniert die Zuordnung nicht mehr 
richtig. Also müsste ich die ROM ID fest in der Software zuweisen. 
Soweit so gut.

Wie soll ich nun aber die ROM ID in der Software wechseln wenn ich einen 
Sensor ersetzen muss. Ich möchte nicht unbedingt die Software oder das 
Eepromm neu flashen.

Jemand eine einfache Idee?

Gruss Michael

von Rolf I. (for_ro)


Lesenswert?

Du könntest beim Neustart erst einmal alle Sensoren mittels Search_ROM 
erkennen lassen. Falls einer deiner gespeicherten fehlt, wäre zunächst 
mal ein Alarm oder so etwas fällig.
Wird dann ein zusätzlicher Rom-Code gefunden, kannst du diesen einer 
Position zuweisen.
Ist allerdings mit einigem Programmier-Aufwand verbunden.

von Jo O. (brause1)


Lesenswert?


von viennaboy (Gast)


Lesenswert?

2 Dinge fallen mir dazu ein:

1) Du sorgst dafür, dass die ROM-Nr. immer aufsteigend ist. Dann ist 
dies einfach in der Software zu realisieren. Oben kleine Nr. unten große 
Nummer.

2) Über jumper gibst Du die Reihenfolge bekannt.
Für 3 Sensoren benötigst Du 6 Zustände; also 3 Jumper.

Gruß aus Orlando

von DIP Adapter (Gast)


Lesenswert?

Moin,

Michael schrieb:
> Wenn nun ein Sensor defekt ist funktioniert die Zuordnung nicht mehr
> richtig. Also müsste ich die ROM ID fest in der Software zuweisen.
> Soweit so gut.
>
> Wie soll ich nun aber die ROM ID in der Software wechseln wenn ich einen
> Sensor ersetzen muss. Ich möchte nicht unbedingt die Software oder das
> Eepromm neu flashen.

Der Sensor geht nicht defekt! Und wenn musst du sowieso mit Werkzeug 
anrücken um den defekten gegen einen neuen zu tauschen. Dabei kann man 
dann auch die Software ändern und alles wieder ausprobieren.

MfG

von Herbert K. (avr-herbi)


Lesenswert?

Hallo,
die Frage ist schon berechtigt, wenn mal ein wenig weiterdenkt.
Ich habe zur Zeit am PC die Sensoren. Einmal die ID ausgelesen und 
anschließend in einer INI Datei zugewiesen. Alle hängen an einem Bus.

Ich habe vor, das alles in einen AVR zu packen. Nur da habe ich erst mal 
keine INI Datei. Eine SD Card oder CF Card oder USB Stick noch zu 
implementieren habe ich eigentlich nicht vor.

Eine Lösung, die mir einfällt:
Es gibt so was wie "Ein Neuer Sensor wurde gefunden" -> zuzweisen als 
Fühler "xyz", sofern irgendwie eine Ausgabe und Eingabe (LCD und Tasten) 
besteht.

Womöglich ist das der Grund, das in manchen Regelungen / Steuerungen 
ohne BUS gearbeitet wird, sondern es eine feste Zuordnung Sensor -> PIN 
gibt (immer nur ein Sensor). Dann ist nämlich die Code-ID des Sensors 
egal.

Viele Grüße Herbert

von Visitor (Gast)


Lesenswert?

Hi,

auch wenn´s nicht im Sinn des 1Wire-Konzeptes steht, dann könntest du 
bei drei Sensoren auch jeweils einen Sensor pro Port-Pin schalten, damit 
sparst du dir die Geschichte mit der ID und kannst jeden Sensor tauschen 
so oft du willst.

von Michael (Gast)


Lesenswert?

Danke für die Beiträge.


Gruss Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.