100% Calibrated Digital Thermometer 4-bit LCD with Busy Flag check GCC Code
Im folgenden hab ich ein kleines Project fix und fertig entworfen und fertig aufgebaut. Es handelt sich um ein LCD Thermometer, welches ich an meine Warmwasserleitung angeschlossen habe.
Im folgenden hab ich ein kleines Project fix und fertig entworfen und fertig aufgebaut. Es handelt sich um ein LCD Thermometer, welches ich an meine Warmwasserleitung angeschlossen habe. Da ich eine Gastherme nach dem Durchlauferhitzerprinzip habe, wollte ich wissen, wie ich die Warmwasserversorgung optimieren kann und war einfach neugierig zu sehen, was Temperaturmäßig in der Leitung passiert. Es ist also ein Thermometer geworden mit einem TSIC306 als Sensor. Dieser Sensor ist digital und ab Werk kalibriert. Er sendet permanent die Temperatur über ein Kabel via ZacWire Protokoll. Die Bits kommen mit 8Khz herausgesprudelt ;). Meiner Meinung nach einfach genial Simpel auszulesen! Der Sensor ist 0.1K Genau! Als LCD hab ich ein 16 Zeichen Display von Displaytech gewählt. Und als Prozessor einen ATTINY861A-20PU der mit 8Mhz läuft. Ich mag es einfach puristisch zu bauen! Fertige Boards muss man mögen... ich tu es nicht. Interessant ist vielleicht die herangehensweise an die Programmierung in C via Atmel Studio V6.2.
Es gibt 6 Bildschirme. Mit Taster S1 kann ich zwischen den Displays umschalten.
1. Anzeige der IST Temperatur
2. Minimal gemessene Temperatur
3. Maximal gemessene Temperatur
4. Anzeige des gemessenen letzten Zyklus
5. Anzeige des aktuell gemessenen Zyklus.
6. Batteriespannung in Volt
Die Min & Max Werte kann man jeweils mit Taster S2 zurücksetzen Ein Zyklus ist im Kurvenverlauf des Temperaturverlaufs jeweils zwischen dem Minimalen und dem Maximalen Temperaturwert. Quasi Steigend oder Fallende Temperatur. Es kann der letzte und auch der aktuelle Zyklus angezeigt werden. So wird z.B. das letzte Aufheizen des Warmwassers dokumentiert. Taster S3 ist unbenutzt und bietet Erweiterungsmöglilchkeiten Man kann es auch als normales Außenthermometer benutzen. Der Temperaturbereich liegt von -50°C bis 150°C.
Es besteht Erweiterungsmöglichkeit für z.B. I2C Sensoren, da SCL & SDA noch unbelegt sind. So kann ggf. noch ein Druck- oder Feuchtesensor betrieben werden.
Update31.10.2014: neues C-File: 1. Fehlermeldung wird ausgegeben, wenn kein Sensor gefunden wird. 2. Hysterese für Kurvenmessung von 0.2K eingebaut. 3.Bildschirmreihenfolge verändert.
Update15.11.2014: Batteriespannung wird gemessen und 4-bit Betrieb incl. BusyFlag Abfrage für das LCD / Da man im Internet nirgends etwas konkretes zur 4-bit Busy-Flag Abfrage findet ... hier nun der C-Code! E-Cycle 250ns !
26.04.2015: Firmware für AVR-Studio in English zugefügt / Update Diagramm Kurvenverlauf
Discussion (0 comments)