Temperatursensor mit Display

Erstellt am 14.11.2002 17:08:59Klicks [11048]

Verwandte Themen und Zusätze: Anschluß eines LCD Displays |
Downloads zum Artikel: MultiTempSensor.zip () |
Diesmal wollte ich einen einfachen Temperatur-Sensor basteln, der mir die Vor und Rücklauftemperatur einer Heizung anzeigen kann. Dies ist die erste Umsetzung der Idee, die in einem weiteren Projekt weiterenwickelt wird.

Wir setzen bei diesem Projekt wieder auf die bewährte Basis der LCD Schaltung auf und übernehmen das Layout zum großen Teil.

Um die Temperatur der beiden Rohre abzunehmen musste ein kleiner Sensor gefunden werden, der sich leicht ansteuern lässt. Mit dem DS1820 von Dallas habe ich hier genau den Richtigen gefunden. Der Sensor wird lediglich über ein kleines Kabel angeschlossen ( 1-Wire Technik ). Der von mir benutze Compiler unterstützt genialer Weise diesen Sensor vollständig. So ist es ein Klacks gewesen die Temperaturwerte auszulesen. Ebenfalls lassen sich sehr einfach mehrere Sensoren anschliessen, da diese seriell an einen Bus angeschlossen werden können.

Das Kommando ds1820_devices=w1_search(0xf0,ds1820_rom_code) sucht nach allen Sensoren am Bus und legt diese in einem Array ab. Mit dem Kommando vorl=ds1820_temperature_10(&ds1820_rom_codes[0,0]) fragt man ein Temperatur ab und legt den Wert in eine Variable. So musste nur noch ein wenig zuprogrammiert werden um ein Display anzusteuern und die zwei Taster abzufragen. Bei den zwei Tastern ergab sich im Test leider ein Problem. Da die Sensoren 750ms benötigen um eine Temperatur zu bestimmen, braucht es sehr viel Zeit auf diese zu warten. Dadurch werden die Taster viel zu selten abgefragt. In einem nächsten Schritt werde ich diese Taster an die Interruptleitung hängen und so die Messung bei einem Tastendruck unterbrechen.

Leider ist zudem der gewählte Prozessor für diese Anwendung schon zu klein. Der 2313 hat zu wenig RAM. Das verhinderte ein elegantere Programmierung, da ständig zu wenig RAM vorhanden ist.

Dies Projekt war somit nur ein Versuch die Sensoren sinnvoll anzusteuern. Eine weitere Verbesserung ist notwendig. Ich werde den 8515 einsetzen und das Board von Grund auf neu gestalten. Dennoch denke ich ist dieser Versuch als Beispiel lehrreich und interessant.

 Zu den Bildern :

Der rechte Stecker auf der Platine ist für den Anschluss des LCD's vorgesehen, der rechte um den Prozessor zu programmieren.


Begleitende Layoutangaben


Begleitende Codebeispiele und Erklärungen

Siehe download. Der Code ist zu simpel, um sich darüber länger auszulassen ;-)