Computergesteuerter Temperaturregler PC-SIN2-PID

 

Der computergesteuerte Temperaturregler PC-SIN2-PID stellt eine Laboranlage dar, die programmierte Temperaturverläufe im Bereich zwischen 0 und 115oC nach einer linearen- und/oder Sinusfunktion ermöglicht. Wird das ganze Potential der Anlage genutzt, ergibt sich der Temperaturverlauf als eine Summe der zwei unabhängigen Sinusfunktionen mit den eingestellten Parametern (Amplitude und Frequenz) und einer linearen Funktion mit einer eingestellten Neigung. Der Zeitverlauf der Temperatur wird aufgenommen und gespeichert. Die Zeitdauer der Temperaturaufnahme ist von der Speicherkapazität des Computers abhängig.

 

Bestandteile der PC-SIN2-PID-Anlage:

 

1. Thyristor ~230V/10A

2. Zwei Halbleiter-Temperaturfühler LM 35DZ

3. Computersteckkarte mit dem 12-bit Wandler A/C ICL 7109

4. Steuerprogramm PC-SIN2-PID für PC

 

Minimale Hardware-Anforderungen:

 

- Computer PC 386 SX

- 4 MB RAM

- Festplatte

- ISA Interface an der Festplatte

- Operationssystem DOS 5.0

 

Zur Bedienung der Wandlerkarte ICL 7109 wird die Hardware-Unterbrechung IRQ5 gebraucht. Bei Computern jüngerer Generation, die einen Interface PCI besitzen, ist es notwendig, die Änderungen in BIOS vorzunehmen, so dass die Unterbrechung IRQ5 zum Prozessor nicht nur von Interface PCI aber auch von Interface ISA zugelassen wird. Dies wird folgendermaßen realisiert:

 

- Restart den Computer

- aktiviere die Einstellungen vom BIOS (meistens durch Drücken die Taste DEL)

- wähle aus dem Menu die folgenden Optionen:

- PnP/PCI Configurations

- Resources Controlled by: Manual

- IRQ Resources

- IRQ-5 assigned to: Legacy ISA

 

Inbetriebnahme der PC-SIN2-PID-Anlage:

 

-   Einschalten des Computers; es leuchtet eine grüne LED-Diode am Gehäuse des Thyristorteils.

-   Starten des Computerprogramms mittels des PID-Auftrags. Es handelt sich dabei um ein „batch”-File, welches den Weg zum Arbeitkatalog wählt und das Programm Pcsin2.exe startet.

-   PID.BAT soll unter Berücksichtigung der gewünschten Parameter modifiziert und zum Katalog hin kopiert werden, wo DOS seinen Weg (path) besitzt.

-   Mindestens 16 Sekunden warten, so dass automatisch vier Messungen durchgeführt werden. Genaue Temperaturmessungen werden nach ca. 15 Minuten vorgenommen, wenn die Aufwärmung und Stabilisierung der Arbeitbedingungen abgeschlossen sind.


Bedienung des Programms PC-SIN2-PID:

 

Aus dem Hauptmenu wird mittels der Maus (linke Taste) oder durch die Nutzung der Richtungstasten ENTER gewählt.

 

Die Funktionen der Optionen im Hauptmenü:

 

Quit                   schließt das Programm; mit “Yes“ auf die Frage “Exit from PC-PID?“ antworten. Die Schließung des Programms ist nicht möglich, wenn das Temperaturprogramm gerade läuft.

Device               wählt einen von zwei Temperaturfühlern. Der aktuelle Temperaturwert von dem angewählten Temperaturfühler wird auf dem Bildschirm angezeigt.

View                  zeigt den Verlauf der Temperatur in Abhängigkeit von der Zeit.

View/Temp        zeigt das Fenster mit den numerischen Werten der momentanen Temperatur, der Heizungsleistung, der momentanen Soll-Temperatur und der Ist-Temperatur. Das Verlassen der Option View/Temp erfolgt nach dem Drücken einer beliebigen Taste; dies kann mit der Maus nicht durchgeführt werden.

View/sCan         erlaubt die Durchsicht (mittels Richtungstasten <- ->) des Temperaturdiagrams mittels des beweglichen Markers. Im Fenster erscheinen die Nummer des Punktes (Point), die Zeit der Registrierung in Minuten vom Zeitpunkt des Einschaltens der Option View/sCan, Ist-Temperatur (Temp), Soll-Temperatur (Setpoint) und die Differenz zwischen Ist- und Soll-Temperatur (Error). Der Marker kann mit der Maus oder Richtungstasten <-  -> bewegt werden. Gleichzeitiges Drücken der Tasten Strg (Ctrl) und Richtungstasten <-  -> beschleunigt die Bewegung des Markers. Das Scannen kann durch das Drücken der ESC(Escape)- oder ENTER(Eingabe)-Taste oder einer beliebigen Maustaste beendet werden.

View/tiM           definiert die Zeitlänge des Verlaufes auf dem Bildschirm. Die Mindestzeit ist 15 Minuten. Maximal ist es möglich die Temperaturgeschichte von 728 Minuten zeigen. Frühere Punkte werden von dem Operationsspeicher entfernt. Nach der Aktivierung der Option sieht man die Frage: New Value = 15.0. Man kann Eingabe-Taste drücken um zu bestätigen oder man kann neue Wert einschreiben. Wenn das Wert auβerhalb der zulässige Bereich wird, ist das durch die Meldung: “Parameter Out of Range !“ signalisiert.

 

View/File freq   stellt fest, in welchem Takt der aktuelle Temperaturwert gespeichert werden soll. Der kleinste Takt beträgt 4 Sekunden, der größte 600 Sekunden. Die Datei für die Temperaturaufnahmen wird nach jedem Start automatisch gebildet. Der Name dieser Datei lautet: HISTORY.DAT. Das Computerprogramm ändert den Namen dieser Datei nach jedem Programmstart, um die letzten 10 Dateien zu sichern. Die Namen dieser Dateien sind wie folgt:

Laufende Messung:               HISTORY.DAT

Vorherige Messungen:           HISTORY0.DAT

HISTORY1.DAT

HISTORY2.DAT

HISTORY3.DAT

HISTORY4.DAT

HISTORY5.DAT

HISTORY6.DAT

HISTORY7.DAT

HISTORY8.DAT

HISTORY9.DAT


Das Format der Dateien ist wie folgt:

 

Zeit [Min];Soll-Temp.des 1. Fühlers; Ist-Temp.des 1.Fühlers; Soll-Temp.des 2. Fühlers; Ist-Temp.des 2.Fühlers

                              

Start :   Sun.  16.02.2003   19:24:52

                          0.08   21.75   21.75   21.78   21.78

                          0.15   21.75   21.75   21.81   21.81

                          0.22   21.75   21.75   21.81   21.81

                          0.28   21.75   21.75   21.81   21.81

                          0.35   21.75   21.75   21.81   21.81

                          0.42   21.75   21.75   21.81   21.81

                          0.48   21.75   21.75   21.81   21.81

                          0.55   21.75   21.75   21.81   21.81

                          0.62   21.75   21.75   21.81   21.81

                          0.68   21.75   21.75   21.81   21.81

                          0.75   21.75   21.75   21.81   21.81

                          0.82   21.71   21.71   21.81   21.81

                          0.96   21.75   21.75   21.81   21.81

                          1.06   21.75   21.75   21.81   21.81

                          1.16   21.75   21.75   21.81   21.81

                          1.32   21.78   21.78   21.81   21.81

                          1.45   21.75   21.75   21.81   21.81

                          1.59   21.75   21.75   21.81   21.81

                          Finish :  Sun.  16.02.2003   19:26:38

 

pId                     stellt die PID-Parameter auf die automatische Temperaturregelung ein

           

                          pId/Proportional                    <0..100>         [%/°C]

                          pId/Integral                           <1..999>         [s]

                          pId/Derivative                       <0..240>         [s]

           

           

Setpoint             bestimmt die Temperaturwerte, die Geschwindigkeit und die Weise der Heizung und Kühlung.

 

Setpoint/Local  bestimmt den Temperaturwert, bis zu welchem linear geheizt oder gekühlt wird. Der zulässige Temperaturbereich ist 0..115°C.

 

Setpoint/Slope  

bestimmt die Heizung- oder Kühlungsgeschwindigkeit des Objekts in °C/Stunde.

 

Setpoint/Ampl. a, Setpoint/aMpl. b

bestimmt die Amplitude der Sinusfunktion, welche zur Soll-Temperatur addiert wird. Wenn z.B. die Amplitude a = 3°C gewählt wird, wird die Soll-Temperatur im Bereich ±3°C um den konstanten Temperaturwert einer linearen Funktion schwingen. Die minimale Amplitude ist 0°C und die maximale 50°C.

 

Setpoint/Period a, Setpoint/pEriod b

bestimmt die Periode der Sinusfunktion, die zu der Soll-Temperatur addiert wird. Wenn z.B. die Periode a = 1.2 h gewählt wird, wird die Soll-Temperatur mit der Periode 1.2 Stunde um den konstanten Temperaturwert der linearen Funktion schwingen. Die minimale Periode ist 0.02 Stunde und die maximale 99 Stunden.

 

pOwer               bestimmt die Parameter der Heizungsleistung

 

pOwer/Current

im manuellen Modus (s. Action) kann eine bestimmte Leistung eingestellt werden. Die aktuelle Leistung wird als prozentueller Teil der maximalen Leistung mit der Genauigkeit 0,5% angegeben. Die Leistung 0% bedeutet, dass der Strom zum Heizelement abgeschaltet wird. Die Leistung 50% bedeutet, dass der Strom 2 Sekunden flieβt und anschließend innerhalb 2 Sekunden ausgeschaltet wird. Die Option pOwer/Current funktioniert nicht im automatischen Modus der Regelung (s. Action).

 

pOwer/High      bestimmt die maximale Leistung des Heizelements im automatischen Modus, wenn dies erwünscht ist. Diese Funktion schränkt die Einstellungen im manuellen Modus nicht ein (s. Action/Manual)!

 

pOwer/Low       bestimmt die minimale Leistung des Heizelements im automatischen Modus, wenn dies erwünscht ist. Diese Funktion schränkt die Einstellungen im manuellen Modus nicht ein (s. Action/Manual)!

 

pOwer/Break    bestimmt die Leistung des Heizelements, wenn die Störung/Unterbrechung im Fühlerkreis auftritt. Soll dies Auftreten, wird vom automatischen zu manuellen Arbeitmodus umgeschaltet und pOwer/Current = pOwer/Break ein eingestellt. Die Einstellung des Wertes höher als 0 % kann, wenn aus gegebenen Gründen erwünscht, vorgenommen werden. Als Standard soll jedoch der 0%-Wert eingestellt werden.

 

Action               schaltet verschiedene Arbeitsmodi des Programms.

 

Action/Manual  manuelle Regelung der Leistung. Der Operator kann eine beliebige Leistung im Bereich 0-100% angeben (pOwer/Current )

 

Action/Run        Soll-Temperatur wird nach Ist-Temperatur mit der Geschwindigkeit Slope geändert

           

Action/Hold      Anhalten der Temperatur bei dem eingestellten Soll-Wert der Temperatur.

           

Modus Action/Selftunning

automatische Auswahl der PID-Parameter aus den Ziegler-Nichols-Gleichungen

           

Program            erlaubt komplexe Temperaturverläufe zu programmieren und zu realisieren. Der Operator kreiert eine Datei unter einem beliebigen Namen und mit einer Standarderweiterung „.prg“. In dieser Datei wird die Folge der Aufträge mittels eines beliebigen Schreibeditors geschrieben. Wird die Datei angenommen, sind die vorprogrammierten Temperaturverläufe automatisch realisierbar.

 

                          Program/Load       dient zur Wahl der Programmdatei und Annahme des Programms

                          Program/Run         Start des Programms

                          Program/Stop        Anhalten des Programms; das Programm kann weiter unter Nutzung
                                                         der Option Program/Run fortgesetzt werden

 

Algorithmus zur Einstellung einer konstanten Temperatur

 

Es wird ein PID-Algorithmus (proporcjonal-integral-differential) verwendet. Die Steuerung des Programms ist von den folgenden Parametern abhängig:

- Wert der Abweichung (Parameter PROportional)

- Dauer der Abweichung (Parameter INTegral)

- Geschwindigkeit der Abweichung (Parameter DERivative)

 

Auswahl der PID-Parameter

 

Starke Oszillationen entstehen, wenn der Werte INT und DER zu klein und PRO zu groβ sind. Zu groβe Werte INT und DER verursachen sowohl die Verlängerung der Zeit zur Erreichung des Gleichgewichts als auch die Verschlechterung der Temperaturstabilisierung bei Störungen (Öffnung des Fensters, usw.).

 

                 Schlechte Temperaturstabilisierung ist in der Regel durch schlechte PID-Einstellungen und nicht durch schlechte Funktionierung des Computerprogramms verursacht.

 

 

Regelungsbefehle

 

Als Befehle zur Programmierung der Temperaturverläufe werden 3-buchstäbige Abkürzungen der englischen Wörter verwendet.

 

Verzeichnis der Regelungsbefehle:       

_______________________________________________________________

 

Befehl              Tätigkeit                      Parameter                    Menuoption

 

HPW               Power High Level        [0 - 100%]                  pOwer/High

 

LPW               Power Low Level        [0 - 100%]                  pOwer/Low

 

STL                 Local Setpoint             [0 - 115°C]                 Setpoint/Local

 

SLO                Slope                           [0 - 60°C/h]                Setpoint/Slope

 

PEA                Period a                      [0.02 - 99 h]                Setpoint/Period a

 

PEB                 Period b                      [0.02 - 99 h]                Setpoint/pEriod b

 

AMA               Amplitude a                [0 - 50 °C]                  Setpoint/Ampl. a

 

AMB               Amplitude b                [0 – 50 °C]                  Setpoint/aMpl. b

 

PRO                Proportional Band        [0 - 100%/°C]             pId/Proportional

 

INT                 Integral Time                [1 - 999 s]                   pId/Integral

 

DER                Derivative Time            [0 - 240 s]                   pId/Derivative

 

HOL                Hold Temperature        - - - - - - - - - -           Action/Hold

 

RUN               Run Temperature         - - - - - - - - - -                       Action/Run

 

SLF                 SelfTunning     - - - - - - - - - -                       Action/Selftunning

 

WAI                Wait                            >= 0.02 h                    - - - - - - - - - - - -

___________________________________________________________________


Beispiele für die Programmierung

 

Beispiel 1:                  4-Etappen-Temperaturprogramm

           

1. Etappe:                    Erreichung der Temperatur 90°C während 30 Stunden und Anhalten bei 90°C während 90 Stunden (aktuelle Temperatur = 30°C)

 

STL 90                        Endtemperatur = 90°C

SLO 2                         Geschwindigkeit der Temperaturänderung = 2°/h

RUN                           Start der Temperaturänderung

WAIT 120                  Gesamtdauer der Temperaturänderung von 30 Stunden und des Temperaturhaltens
                                   von 90 Stunden

 

2. Etappe:                    Weitere Heizung um 5°C während 5 Stunden und Temperaturhalten bei 95°C während 45 Stunden

 

STL 95                        Endtemperatur = 95°C

SLO 1                         Geschwindigkeit der Temperaturänderung = 1°/h

RUN                           Start der Temperaturänderung

WAIT 5                      Warten 5 Stunden

PRO 1            

INT 100                      Einstellung der neuen PID-Parameter

DER 24

WAIT 45                    Warten 45 Stunden

 

 

3. Etappe:                    Kühlung bis 38°C mit der Geschwindigkeit von 2°/h und Temperaturhaltung während 180 Stunden

 

STL 38                        Endtemperatur = 38°C

SLOpe 2                     Geschwindigkeit der Temperaturänderung = 2°/h

RUN                           Start der Temperaturänderung

WAIT 18.5                 Warten 18,5 Stunden der Kühlung

PRO 2            

INT 140                      Einstellung der neuen PID-Parameter

DER 36

WAIT 198.5               Warten 18.5 Stunden der Kühlung und 180 Stunden der Temperaturhaltung

 

4. Etappe :                   Möglichst schnelle Kühlung bis zum Raumtemperatur

 

STL 10

SLOpe 2000

RUN

 

Ganzes Programm:

 

STL 90

SLO 2

RUN

WAIT 120

STL 95

SLO 1

RUN

WAIT 5

PRO 1

INT 100

DER 24

WAIT 45

STL 38

SLOpe 2

RUN

WAIT 18.5

PRO 2

INT 140

DER 36

WAIT 198.5

STL 10

SLOpe 2000

RUN

 

Beispiel 2:                  Temperaturprogramm nach der Sinusfunktion

 

 

1. Etappe :                   Selbstauswahl der PID-Parameter für 40°C bei einer maximalen Leistung = 85%

                       

STL 40                        Endtemperatur = 40°C

HPW 85                      Leistungsbegrenzung 85%

AMA 0                       ohne Sinusschwingungen (Amplitude = 0)

AMB 0

SLF                             Selbstauswahl der PID-Parameter

WAIT 0.5                   Warten 0,5 Stunde bis zum Ende der Selbstauswahl

 

2. Etappe:                    Heizung bei der eingestellten Grundtemperatur von 40°C während 10 Stunden und später die Kühlung zur Raumtemperatur mit der Geschwindigkeit von 25°/h. Während der Heizung soll die Temperatur mit der Amplitude 5°C (40 ± 5°C) und der Periode von 1.5 Stunden oszillieren.

 

AMA 5

PEA 1.5

WAIT 10

STL 20

SLO 25

RUN

 

Ganzes Programm:

 

STL 40

HPW 85

AMA 0

AMB 0

SLF

WAIT 0.5

AMA 5

PEA 1.5

WAIT 10

STL 20

SLO 25

RUN

Translated by Andrzej Miszczyk with a little help of his friends