Labor III/3 Digitaler Regler 13.03.2007 Allgemeiner Teil Titel der Übung: Übungsnummer: Übungsplatz: Datum der Übung: Klasse: Schriftführer: Übungsteilnehmer: Digitaler Regler III/3 6 13.03.2007 5BHELI Andreas HAGER HAGER Andreas REIM Erich ANTONY Andreas SCHNEIDER Bernhard Inhaltsverzeichnis: Allgemeiner Teil Inhaltsverzeichnis 1) Aufnahme der R-T-Kennlinie 2) Linearisierung der Kennlinie 4) Aufbau des Stellers 5) Programmentwurf im B & R Studio 6) Erkenntnisse aus der Übung 1 1 2-3 3-4 4 4-6 6 Anhang: Inventarliste 2 Seiten Messprotokoll TI HTBL-Hollabrunn Andreas HAGER 5BHELI D:\481346406.doc 1/6 Labor III/3 Digitaler Regler 13.03.2007 1) Aufnahme der R-δ-Kennlinie: Bevor wir die Kennlinie aufnehmen konnten, mussten wir aus der max. Verlustleistung und dem Widerstand, die anzulegende Spannung berechnen. P=4W entspricht ungefähr 120°C R=82Ω 2 P U U R P R 4W 82 18.11V const Die Spannungsquelle wird auf 18,11V gelegt, der Widerstand wird auf 0°C mit einem Kältespray abgekühlt und die Erwärmung beim Einschalten der Spannungsquelle gemessen. Messschaltung: P2 A Igemessen=210mA PReal=Igem∙Ueing=3,80W + RNTC G1 Ω P1 P3 δ Messtabelle: Zeit t in sec 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 TI HTBL-Hollabrunn Temperatur δ in °C Rδ in Ω -1 0 5 12 18 24 31 38 44 48 53 58 63 67 71 74 78 81 84 87 89 92 94 96 98 100 102 470k 350k 230k 120k 90k 60k 44k 33k 24k 19k 15k 11,5k 9,7k 8,5k 6,9k 6,3k 5,6k 5k 4,5k 4,2k 3,9k 3,6k 3,3k 3,15k 3.05k 2,97k 2,87k Andreas HAGER 5BHELI D:\481346406.doc Besonderheiten δU δM δO 2/6 Labor III/3 Digitaler Regler 13.03.2007 Kennlinie: T/°C R-T-Kennlinie 110 100 90 80 70 60 50 40 30 20 10 0 0 100 200 300 400 500 R/kOhm 2. Linearisierung der Kennlinie: Es wurde in einem Bereich von 18°-89°C linearisiert. Daraus ergeben sich folgende Werte: RTu=90kΩ RTo=3,9kΩ RTm=9,7kΩ Rs RTu RTm RTm RTu 2 RTo RTu RTo RTu 2 RTm 7.9k gewählt: 8,2kΩ Schaltung: + RS Igemessen=208mA RNTC UA δ TI HTBL-Hollabrunn Andreas HAGER 5BHELI D:\481346406.doc 3/6 Labor III/3 Digitaler Regler 13.03.2007 Messtabelle: T/°C 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 90 80 Temperatur T/°C URs/V 0,825 1,05 1,3 1,7 2 2,45 2,95 3,45 3,9 4,4 4,8 5,2 5,6 6 6,3 70 60 50 40 30 20 0 1 2 3 4 5 6 Spannung Urs/V Erkenntnis: Unserer Linearisierung (Berechnung) war richtig. 3. Aufbau des Stellers: Wenn das Potentiometer auf Stellung 0 ist, ist die Spannung am Widerstand 0V. Bei voll aufgedrehtem Poti wird die Spannung am Widerstand. Zum Messen (Kontrollieren) der Spannung muss auf dem Messgerät AC+DC-Betrieb ausgewählt sein, da es sonst Probleme mit der Abtastfrequenzgibt. 4) Programmentwurf im B&R Automation Studio: Zuerst muss bei der Verbindungsart auf Serielle Verbindung umgestellt werden. Dies geschieht folgendermaßen: Extras Optionen Verbindung Seriell Als nächstes müssen Gleichungen aufgestellt werden, damit die Spannung am Eingang auf bestimmte Werte umgerechnet werden: 1. Gleichung: y=k∙x+d ∆x=70° ∆y=5,47 => k=0,078 d=6,3-0,078∙90=-0,72 => y1=0,078∙x-0,72 TI HTBL-Hollabrunn Andreas HAGER 5BHELI D:\481346406.doc 4/6 Labor III/3 Digitaler Regler 13.03.2007 2. Gleichung: k=0,143 d=10-0,143*90=-2,86 w=0,143∙x-2,86 x=0,143∙Tist-2,86 x=TSoll Source Code: Folgender Source-Code wurde geschrieben, der den Regler beschreibt. /* Include der C-Erweiterungen für Automatisierungsfunktionen */ #include <bur/plc.h> #include <bur/plctypes.h> /* Deklaration der lokalen Variablen */ /* Deklaration der globalen Variablen _GLOBAL INT ai1, ai3, ao3; _GLOBAL REAL Tu, dT, Tsoll, Tist, W, X; _GLOBAL REAL un, un1, en, en1; void _INIT ObjectInit( void ) { /* Init-Subroutine Tu = 20.0; dT = 70.0; un = 0.0; un1 = 0.0; en = 0.0; en1 = 0.0; } */ */ void _CYCLIC ObjectCycle( void ) { /* Zyklischer Teil des C-Objektes */ Tist = ((ai3/3276.7) + 0.72) / 0.078; Tsoll = (ai1/32767.0)*dT + Tu; W = (0.143*Tsoll) - 2.86; X = (0.143*Tist) - 2.86; en1 = en; en = W - X; un1 = un; un = un1 + (0.01/30.0) * en; TI HTBL-Hollabrunn Andreas HAGER 5BHELI D:\481346406.doc 5/6 Labor III/3 Digitaler Regler 13.03.2007 if (un>10.0) un = 10.0; if (un<0.0) un = 0.0; ao3 = un * 3276.7; } Variablenzuweisung: Folgende Variablen mussten zugewiesen werden, da die Eingänge und Ausgänge ja abgefragt werden mussten, und im Programm berechnet wurden. Das berechnete Ergebnis wird dann auf den analogen Ausgang weitergegeben. Watcher: Während der Laufzeit des Programmes, können die Variablen abgefragt werden. Dies ist ins besonders für das Debuggen gut. Auf dem Screenshot sieht man, dass sich unser Programm wie der Regler verhalten sollte. 5.) Erkenntnisse aus der Übung: Mithilfe von Programmen lässt sich jeder Regler, einfachst auf dem Computer realisieren. Lediglich eine SBS benötigt man noch dazu. TI HTBL-Hollabrunn Andreas HAGER 5BHELI D:\481346406.doc 6/6