Temperatur-Monitor

HaraldWien

New Member
Servus aus Wien!
Eine PICAXE-20X2, sechs Temperatursensoren DS18B20 am OneWire-Bus, eine RTC-Uhr DS1307 am i2c-Bus, ein LCD-Display 2x16 am i2c-Bus und vier Kippschalter am pinC.1 bis pinC.4. Und natürlich ein Programm, welches speziell für diese Konfiguration erstellt wurde. Das sind die Zutaten für den TEMPERATUR-MONITOR.

Wer den nachfolgenden Text nicht lesen mag, der kann sich auch dieses Video ansehen:
[video=youtube_share;4-wtQgKlmy4]http://youtu.be/4-wtQgKlmy4[/video]

Der Temperaturmonitor hat folgende Leistungsmerkmale:

Bis zu 30 OneWire-Geräte können in einem Arbeitsgang eingelesen und im EEPROM-Speicher der PICAXE verspeichert werden. In weiteren Arbeitsschritten (Anpassen von "case-Tabellen" im Programm) können OneWire-Familien zugelassen und innerhalb der Familie können einzelne Devices ausgeschlossen werden.
Code:
1-Wire-Daten einlesen  07.10.2014 15:01:03
Uebern.Cd  Fam-Seriennummer-------CRC(crc) Ort/Bezeichnung 
FamilyCode?040-076035229005000000-093(093) 1WGeraet-040-093
FamilyCode?040-066207231005000000-178(178) 1WGeraet-040-178
FamilyCode?040-201132230005000000-182(182) 1WGeraet-040-182
FamilyCode?040-251222229005000000-149(149) 1WGeraet-040-149
FamilyCode?040-103111229005000000-219(219) 1WGeraet-040-219
FamilyCode?040-047198228005000000-064(064) 1WGeraet-040-064
Pro Temperatursensor kann eine 16-stellge Bezeichnung definiert werden (via "case-Tabellen" im Programm), welche den Ort im Klartext spezifiziert an dem der Sensor seinen Dienst verrichtet (z.B.: "Hundehütte" oder "Heizung-Vorlauf", usw.)

Die Daten werden am 2x16-LCD-Display und als serielles Protokoll ausgegeben.
Das LCD-Display dient auch der Interaktion bei der Einstellung der Datums- und Zeitwerte.
Temperatur-Protokoll
Ort/Bezeichnung Datum Zeit Temperatur/C
---
Hundehuette 07.10.2014 15:16:14 +14,25
Wintergarten 07.10.2014 15:16:18 +18,25
Kinderzimmer 07.10.2014 15:16:21 +22,25
Haus Suedseite 07.10.2014 15:16:24 +17,5
Heizung-Vorlauf 07.10.2014 15:16:27 +43,5
---

Das Programm hat folgende Hauptfunktionen, die über die vier Schalter angewählt und gesteuert werden:

Phase-0: OneWireGeräte einlesen, prüfen, im EEPROM-Speicher eintragen und protokollieren. Hier erfährt der Anwender die ROM-Daten (Familiencode, Seriennummer und CRC) der angeschlossenen OneWire-Geräte.

Phase-1: Serielle Abfrage/Anzeige aller DS18B20-Sensoren wobei hier mittels Kompilationsentscheidung gewählt werden kann, ob die Abfragen aller Temperatursensoren zu einer bestimmten Zeit (z.B: 03:00, 06:00, 12:30, 22:15, usw.) oder in einem bestimmten Intervall (z.B: alle 300 Minuten = alle 5 Stunden) durchgeführt werden. sollen.

Phase-2: Einzelabfrage der Temperatursensoren - ein Sensor bleibt solange angezeigt, bis über eine Schalterimpuls die Anzeige des nächsten Sensors angewählt wird, oder auf die Serienabfrage umgeschaltet wird.

Phase-3: Einstellen von Datum und Uhrzeit über die Schalter.
Die LCD-Hintergrundbeleuchtung kann über Schalter ein- oder ausgeschaltet werden.

Schalterbelegung tabellarisch:
Code:
;=================================================  =================;
; PROGR    |  Schalter   | Schalter    |  Schalter   |  Schalter   ;
; PHASE    |      1      |     2       |      3      |      4      ;
;==========|=============|=============|==========  ===|=============;
; nach neu | E=1WG einl. | E=EinzlAbfr |     ---     | E=LcdLEDAn  ;
; Einschlt | A=norm.Ablf | A=SerieAbfr |             | A=LcdLEDAus ;
;----------|-------------|-------------|-------------|-------------;
; TempAbfr | UMSCH=      | E=EinzlAbfr |     ---     |UMSCH=LcdLED ; 
; Seriell  | UhrStellen  | A=SerieAbfr |             |ein/ausschalt;
;----------|-------------|-------------|-------------|-------------;
; TempAbfr | UMSCH=      | E=EinzlAbfr | UMSCH=Naechs|UMSCH=LcdLED ;
; Einzeln  | UhrStellen  | A=SerieAbfr | Sensor anzg.|ein/ausschalt;
;----------|-------------|-------------|-------------|-------------;
; Zeit/Dat | UMSCH=      | UMSCH=Wechsl| UMSCH=Wert  | UMSCH=Wert  ;
; einstell | UhrSt Ende  | Std/Min/... | plus 1      | minus 1     ;
;=================================================  =================;
; ( UMSCH = Schalter ein- bzw. ausschalten - also 1 Schaltvorgang )
Wer das möchte, der kann sich hier den Programmcode ansehen oder auch herunterladen:
https://www.dropbox.com/s/u4sgofd5yawdzg0/p20X2 TemperaturMonitor.bas?dl=1
 

westaust55

Moderator
Here is a rough translation to English for the above text to help others:

A PICAXE-20 X 2, six temperature sensor DS18B20 the OneWire bus, a DS1307 RTC clock on the i2c bus, an LCD display 2 x 16 on the i2c bus and four toggle switches on the pinC. 1 to pinC. 4. And of course, a program which was created specifically for this configuration. These are the ingredients for the temperature MONITOR.

Those who may not read the text, can look at this video:

The temperature monitor has the following features: up to 30 OneWire devices can be read in a single operation and different stores in the EEPROM memory of the PICAXE.
In further steps (Customize "case tables" in the program) can OneWire families approved and individual devices can be ruled out within the family.
Pro temperature sensor can be defined with a 16-stellge label (via "case tables" in the program), which specifies the place in clear text where the sensor does its duty (for example: "Kennel" or "Heating flow", etc.)

The data isdisplayed on the 2 x 16 LCD display and as a serial Protocol.
The LCD display also has interaction with the setting of date and time values.

The programme has the following main functions are selected via the four switch and controlled:

Phase 0: OneWire rescan devices, check, enter in the EEPROM memory and log. Here the user learns the ROM data (family code, serial number and CRC) of the OneWire connected device

Phase 1: Serial query/display all DS18B20 sensors and here through compilation decision can be selected, whether the queries of all temperature sensors to a specific time(e.g. 03:00, 06:00, 12:30, 22:15, etc.) or at a specific interval (e.g.: every 300 minutes = every 5 hours) will be performed.

Phase-2: single-query of the temperature sensors - remains a sensor displayed until the display of the next sensor will be selected via a switch pulse, or will switch to the query of the series.

Phase 3: Setting date and time via the switches. The LCD backlight via switch can be switched off.
 

HaraldWien

New Member
Thank you @westaust55!
That was stupid of me.
Google would have certainly helped this German text into English.
I wish you and all a nice weekend!

Edit-1: The most important information for this program come from you, @westaust55!

Edit-2: But this translation above (German->English) is not from Google? For this purpose, it is too good. Or is it?
 
Top