Temperaturregler-Plugin für PC_DIMMER-Software

 

                        Plugin für den PC_DIMMER (inkl. Delphi 7 Quelltext) | Quelltext für ATtiny2313 (BASCOM-AVR)

1. Generelle Informationen

Mit dem Temperaturregler-Plugin kann man den PC_DIMMER mit Hilfe einer kleinen Mikrocontroller-Schaltung zu einer Heizungssteuerung erweitern.

Neben einer Hysterese-Regelung der Temperatur bietet das Plugin eine Anzeige des Temperaturverlaufs über 5 Minuten, bzw. 5 Stunden. Dazu berechnet das Programm die Minimal-, Maximal- und Temperaturmittelwerte. Die Einschalt- und Ausschaltschwellen können jeweils angepasst werden und über die Werte, welche an das PC_DIMMER-Hauptprogramm gesendet werden, kann man somit sehr einfach temperaturabhängige Steuerungen aufbauen.

 

Der Quellcode für den Mikrocontroller ist weiter unten für zwei Zielhardwares zum Download bereitsgestellt. Zum Einen kann der Quellcode für das AVR-NET-IO-Board mit ATmega32 von Pollin heruntergeladen werden. Hier wird zudem ein LCD für die Ausgabe der Temperatur verwendet. Zum Anderen gibt es den Code für den ATtiny2313, sodass man auch mit einer Minimalhardware die Temperatur erfassen kann. Hier werden dann optional drei LEDs für die Zustandsanzeige verwendet.

 

2. Kommunikation mit Sensor-Hardware

Alles was man braucht ist ein Mikrocontroller, welcher über den AD-Wandler oder über einen Digital-Temperatursensor die Temperatur der Umgebung ausliest und diese per RS232 an den Computer überträgt. Dabei ist das RS232-Protokoll so einfach wie möglich gehalten:

1. Byte: ASCII "A"
2. Byte: Low-Byte der Temperatur
3. Byte: High-Byte der Temperatur
4. Byte: ASCII "E"

Somit sieht eine Nachricht, welche gesendet werden muss, wie folgt aus:
AxxE
wobei x=Bytewert

Somit muss man lediglich 4 Byte an den Computer übertragen. Dieser setzt schließlich aus den beiden Daten-Bytes wieder ein Word zusammen (High-Byte und Low-Byte können per Option vertauscht werden) und berechnet über folgende Formel die Temperatur:

Temperatur=((WORD/2047)*200)-50

 

Diese Berechnung bezieht sich auf den von mir verwendeten TSiC206-Digital-Temperatursensor, welchen man bei Reichelt bekommen kann. Dieser gibt die Temperatur im Bereich von -50°C bis +150°C als 0x0000 (0dez) bis 0x07FF (2047dez) aus.

 

3. Screenshot der Oberfläche

Hier noch ein kleiner Screenshot des Plugins:

temperaturregler