Precyzyjne pomiary temperaturowe
Precyzyjne pomiary temperaturowe odgrywają wielką rolę w laboratorium naukowym,
lecz nie są rzeczą prostą do przeprowadzenia bez odpowiedniej aparatury.
W naszej firmie opracowaliśmy 2 wersje regulatorów potrafiących zaspokoić
najbardziej wyrafinowane potrzeby klientów, łącznie z sinusoidalnymi przebiegami temperatury :
Na potrzeby klientów moduł ten jest uzupełniany o dodatkowe opcje, jak np.
pomiary EPR, TPD, TPR, pomiary dylatometryczne, pomiary derywatograficzne. Poniżej
przedstawiamy opis wersji regulatora najprostszej, co pozwoli zorientować się w zasadzie
działania i możliwościach :
Precyzyjny Komputerowy Regulator Temperatury PC-PID
Regulator temperatury PC-PID jest urządzeniem przeznaczonym do pracy w warunkach laboratoryjnych. Umożliwia
zaprogramowanie liniowego przebiegu temperatury w kilkuset odcinkach czasowych ( narost, wygrzewanie, chłodzenie), a także
przebiegi sinosoidalne lub wg dowolnej funkcji określonej przez zamawiającego.
Pierwsza wersja skonstruowana została dla potrzeb automatyzacji obróbki temperaturowej różnych związków chemicznych
w Zakładzie Krystalografii UMCS w Lublinie.
PC-PID składa się z następujących elementów :
- Klucz tyrystorowy ~220V/10A
- Wzmacniacz napięcia termopary z kompensacją temperatury "zimnego złącza"
- Karta 12-bitowego przetwornika A/C
- Program sterujący PC-PID dla komputera IBM PC
1. Rozpoczęcie pracy z PC-PIDem
- - Włączyć komputer. Zapala się dioda świecąca na obudowie klucza tyrystorowego sygnalizując obecność zasilania i wyłączenie prądu w obwodzie grzejnika ( kolor zielony )
- - Uruchomić program sterujący poleceniem PID. Jest to plik batchowy wybierający na dysku katalog roboczy i ładujący program PC-PID.exe
- - Odczekać co najmniej 25 sekund, aż program zarejestruje 4 kolejne temperatury. Właściwe odczyty temperatury będą miały miejsce dopiero po nagrzaniu się komputera i ustabilizowaniu warunków pracy wzmacniacza i przetwornika A/C. Trwa to około 30 minut.
2. Obsługa programu PC-PID
Wybieranie opcji z menu głównego dokonuje się kursorem myszy i jej lewym klawiszem lub przez podświetlenie żądanej opcji klawiszami kursorowymi <- , -> i wciśnięcie ENTER lub naciskając klawisz z literą wyróżnioną w menu kolorem i wielkością ( np. Quit ).
Jeśli znajdujemy się w menu podrzędnym będącym rozwinięciem opcji z menu głównego, to kombinacja klawiszy Alt + litera wyróżniona ( np. Alt + Q ) uruchamia od razu żądaną opcję z menu głównego.
- działanie poszczególnych opcji menu głównego
Algorytm stabilizujący temperaturę
Algorytm PID - proporcjonalno-całkująco-różniczkujący. Reakcja programu PC-PID na odchylenie temperatury rzeczywistej od zadanej jest proporcjonalna do :
- - wartości odchyłki ( parametr PROportional )
- - czasu trwania odchyłki ( parametr INTegral )
- - prędkości zmiany odchyłki ( parametr DERivative )
Algorytm ten daje znakomite rezultaty, gdy temperatura rzeczywista jest bliska temperaturze zadanej ( błąd do kilku % ). Z tego względu nie należy ustawiać zbyt wielkich prędkości narostu temperatury ( Setpoint/Slope ), gdyż termiczna bezwładność pieca i tak nie pozwoli na ich osiągnięcie, a odchyłka temperatury przekroczy dopuszczalne granice.
Trzeba zdawać sobie sprawę, że wymagania, aby piec szybko osiągnął zadaną temperaturę i nie przekroczył jej z rozpędu są sprzeczne. Odpowiedni dobór nastaw PID pozwala na uzyskać przebieg temperatury tzw. aperiodyczny - krytyczny : tj. najszybsze możliwe dla danego pieca dojście do ustalonej temperatury bez wpadania w oscylacje - PC-PID łagodnie doprowadza piec do stanu ustalonego.
Dobór nastaw PID
Zbyt małe wartości czasu całkowania i różniczkowania, oraz zbyt wielka wartość parametru proporcjonalności PRO powodują silne oscylacje temperatury. Z kolei za duże wartości INT i DER wydłużają czas dochodzenia do równowagi i pogarszają jakość stabilizacji przy silnych zakłóceniach ( otwarcie okna, zmiana napięcia w sieci, etc. ).
Jeśli zamierza się pracować w szerokim zakresie temperatur należy uprzednio przeprowadzić dobór parametrów PID dla kilku temperatur z przedziału. Parametry dynamiczne pieca zmieniają się przy zmianach temperatury. Z reguły, im wyższa temperatura i większe straty ciepła, tym mniejsza bezwładność i piec szybciej reaguje na zmiany mocy grzewczej. Trzeba wtedy zmniejszać wartości INT i DER.
Wartość PRO określa się doświadczalnie przez stopniowe jej powiększanie, aż do uzyskania wyraźnych oscylacji temperatury. Jest to tzw. wartość krytyczna. Wartość roboczą oblicza się ze wzoru :
Prorob = 0.6 * Prokryt
Zła stabilizacja temperatury jest zazwyczaj spowodowana ustawieniem złych parametrów PID, a nie wadliwym programem sterującym !
Komendy sterujące pracą PC-PIDa
Komendy są to trzyliterowe skróty słów angielskich określających czynność, jaka ma być wykonana przez regulator. Komendy dzielą się na ustawiające parametry i włączające tryby pracy.
Komendy włączające tryby pracy nie wymagają podawania parametrów.
Oto wykaz komend :
mnemonik |
czynność |
parametr |
opcja menu |
HPW |
Power High Level |
[0 - 100%] |
pOwer/High |
LPW |
Power Low Level |
[0 - 100%] |
pOwer//Low |
STL |
Local Setpoint |
[20 - 975°C] |
Setpoint/Local |
SLO |
Slope |
[0 - 20°C/min] |
Setpoint/Slope |
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/Selfunning |
WAI |
Wait |
[0.02 - 3933120 min] |
- |
Przykłady realizacji programów grzania/chłodzenia z użyciem komend sterujących
Program temperaturowy czteroetapowy :
I etap : osiągnąć temperaturę 300°C w ciagu 30 minut i wygrzewać przez 90 minut ( temperatura aktualna = 30°C )
STL 300 - końcowa wartość temperatury = 300°C
SLO 9 - prędkość narastania setpointu roboczego = 9°/min
RUN - rozpoczęcie stabilizacji z ruchomym setpointem
WAIT 120 - czekać przez 30 minut rozgrzewania i 90 minut wygrzewania
Po dojściu setpointu do 300°C PC-PID przełączy się w tryb HOLd i będzie dalej stabilizował 300°C, aż do otrzymania nowych poleceń po upłynięciu zadanego czasu.
II etap : podgrzać piec jeszcze o 100°C w ciągu 5 minut i wygrzewać przez 45 minut
STL 400 - końcowa wartość temperatury = 400°C
SLO 20 - prędkość narastania setpointu roboczego = 20°/min
RUN - rozpoczęcie stabilizacji z ruchomym setpointem
WAIT 5 - czekać przez 5 minut rozgrzewania
PRO 1
INT 100 - ustawić właściwe parametry PID dla 400°C
DER 24
WAIT 45 - czekać 45 minut wygrzewania
III etap : schłodzić piec do 180°C z szybkością 1°/min i wygrzewać przez 180 minut
STL 180 - końcowa wartość temperatury = 400°C
SLOpe 1 - prędkość zmiany setpointu roboczego = 20°/min
RUN - rozpoczęcie stabilizacji z ruchomym setpointem
WAIT 100 - czekać przez 100 minut chłodzenia
PRO 2
INT 140 - ustawić właściwe parametry PID dla 180°C
DER 36
WAIT 300 - czekać przez pozostałe 120 minut chłodzenia i 180 min wygrzewania
IV etap : schłodzić piec do temp. pokojowej
STL 20
SLOpe 20
RUN
Program temperaturowy dwuetapowy
I etap : dobrać parametry PID dla temperatury 400°C
maks. prędkość rozgrzewania =< 20°/min,
maksymalna dopuszczalna moc grzania = 85%,
temp. aktualna dowolna
STL 400 - końcowa wartość temperatury = 400°C
SLO 20 - prędkość narastania setpointu roboczego = 20°/min
HPW 85 - ograniczenie mocy grzania do 85%
SLF - rozpoczęcie samostrojenia z początkowo ruchomym setpointem
II etap : wygrzewać w 400°C przez 10 godzin, a potem schłodzić do temperatury pokojowej
WAIT 600
STL 20
RUN
TERMOS-1 Regulator PID temperatury
Regulator PID temperatury TERMOS-1 jest urządzeniem przeznaczonym do pracy w warunkach laboratoryjnych.
Skonstruowany został z myślą o automatyzacji pomiarów temperaturowych efektu Mossbauera i dyfrakcji rentgenowskiej,
lecz może też służyć np. do innych celów, np. stabilizacja temperatury kryształów łamiących promieniowanie RTG,
pomiary kalorymetryczne, etc.
Regulator instalowany jest w kasecie CAMAC i składa się z dwóch bloków :
- - zasilacz mocy budowany indywidualnie do urządzenia użytkownika
- - regulator właściwy
TERMOS-1 jest mikroprocesorowym urządzeniem współpracującym z dowolnym komputerem wyposażonym w interfejs szeregowy RS-232. Zawiera pierwszorzędne oprogramowanie do emulacji inteligentnego terminala oraz do pomiaru temperatury i sterowania zasilaczem mocy.
TERMOS-1 został wykonany w oparciu o 8-bitowy mikroprocesor MC6502 i 21-bitowy przetwornik A/C typu AD7711. Całość mieści się w module CAMAC podwójnej szerokości.
Komendy pisane na klawiaturze komputera współpracującego są przesyłane łączem szeregowym do kontrolera powodując podjęcie odpowiedniej akcji, np.:
- ustawienie czasu całkowania 120 s .............................. INT 120
- ustawienie prędkości zmian temperatury 1.5o/min .... SLOpe 1.5
- ustawienie wartości temperatury końcowej 300 C ...... STL 300
- uruchomienie programu grzania/chłodzenia ................ RUN
- odczytanie aktualnej mocy grzania .................................. POWer
- przesłanie informacji o stanie sterownika .................... STAtus
- odczytanie ostatnich 3000 pomiarów temperatury ...... WRIte 3000
Pełen zestaw komend składa się z ponad 30 mnemoników pozwalających szczegółowo zaprogramować działanie TERMOSa.
Użytkownik otrzymuje program na komputer sterujący IBM PC, który umożliwia przesyłanie wspomnianych komend i parametrów, odbiór danych oraz ciągłe wyświetlanie aktualnych parametrów pracy, bądź zobrazowanie ich wykresem.
TERMOS-1 zawiera nieulotną pamięć parametrów pracy, dzięki czemu nie trzeba ich zadawać od nowa po każdym wyłączeniu i włączeniu zasilania.
Prócz tego z częstotliwością okresu regulacji mocy zapamiętywana jest historia przebiegu temperatury. Bufor okrężny mieści 10752 ostatnie pomiary.
Specjalnie dla potrzeb temperaturowych pomiarów mossbauerowskich TERMOS-1 wyposażony został w BRAMKĘ CYFROWĄ. Jest ona otwarta tylko wtedy, gdy temperatura mieści się w zaprogramowanym okienku. Przepuszczając przez bramkę impulsy do analizatora mamy pewność, że zliczać je będziemy tylko we właściwej temperaturze.
Sterownik TERMOS-1 jest całkowicie autonomiczny : po zaprogramowaniu i uruchomieniu kontroli temperatury można wyłączyć komputer.
DANE TECHNICZNE :
- nastawy parametrów PID :
- PRO 0 .. 100%/°C
- INT 0 .. 6553.5 s
- DER 0 .. 655.35 s
- moc wyjściowa POW 0 .. 100% mocy maks. co 1%
- moc wyjściowa po wykryciu zniszczenia czujnika BPW 0 .. 100%
- sposób regulacji mocy : zmiana stosunku włącz/wyłącz
- okres regulacji mocy : PER 1 .. 65 s
- czujnik temperatury :
- termopara dowolnego typu
- opornik Pt-100, Pt-500
- dowolny inny czujnik oporowy bądź napięciowy określony przez użytkownika
- na żądanie izolacja galwaniczna czujnika od TERMOSa-1
- na żądanie wewnętrzna kompensacja temperatury zimnych końców termopary
- pomiar temperatury VAL co 0.01°C
- ustawienie SetPointu STL co 0.01°C
- prędkość zmian temperatury SLO 0 .. 25.5°/min co 0.1°C
- dokładność ustawienia temperatur HGA co 0.01°C
- otwarcia bramki cyfrowej LGA co 0.01°C
- Tryby pracy urządzenia :
- MAN ręczne sterowanie mocą
- RUN realizacja programu grzania/chłodzenia
- HOLd stabilizacja temperatury - wstrzymanie realizacji programu grzania/chłodzenia
- SLF Self-Tune - samodzielny dobór parametrów PID
TERMOS-1 montuje się w kasecie CAMAC na dowolnym stanowisku z zakresu 1-22. W tej samej kasecie należy zamontować sterownik mocy pieca, bądź kriostatu obsługiwanego przez TERMOS-1. Niezbędny jest też dowolny komputer klasy IBM PC wyposażony w wolny port szeregowy COM1, COM2, COM3 lub COM4. Poprzez ten port następuje komunikacja z regulatorem.
Tryby pracy Termosa
- tryb MANualny - sterowanie ręczne mocą wyjściową
W tym trybie operator może zadać dowolną moc grzania z zakresu 0-100% mocy maksymalnej ( polecenie POW )
- tryb RUN - setpoint roboczy STW dąży z prędkością SLOpe do zadanego setpointu lokalnego STL. W tym trybie temperatura jest stabilizowana wokół setpointu roboczego.
- tryb HOLd - stabilizowanie temperatury wokół stałego setpointu STW
TERMOS-1 przechodzi w ten tryb na żądanie ( komenda HOLd ) oraz po zrównaniu się setpointu roboczego STW z setpointem lokalnym STL.
- tryb SeLF-tunning - samoczynny dobor nastaw parametrów PID.
TERMOS-1 mierzy czas trwania jednej pełnej oscylacji temperatury wokół setpointu lokalnego STL i wylicza parametry PID ze wzoru Zieglera-Nicholsa :
- Tint = 0.5 * Tosc
- Tder = 0.12 * Tosc
- Kprop = 0.6 *Kkryt
Ponieważ określanie Kkryt jest długotrwałe, a współczynnik ten nie ma bardzo wielkiego wpływu na jakość stabilizacji, w TERMOSie zrezygnowano z jego wyznaczania i przyjmuje się Kp = 3 [%/°C]. Użytkownik może później dostroić precyzyjnie
regulator zmieniając tę wartość.
Algorytmy stabilizujące temperaturę
Podstawowym jest algorytm PID - proporcjonalno-całkująco-różniczkujący. Daje on znakomite rezultaty, gdy temperatura rzeczywista jest bliska temperaturze zadanej (odchyłka do kilkunastu %).
Jednakże przy większych odchyłkach doprowadzenie temperatury w pobliże nastawionego setpointu lepiej jest powierzyć algorytmowi pierwiastkowemu :
Moc = Moc średnia - Psq * sign (e) * SQRT (|e|)
TERMOS-1 zawiera obydwa te algorytmy. Przełączanie między nimi odbywa się automatycznie, zależnie od chwilowej wartości odchyłki temperatury
dla e > 9% ( na linijce LED obrazującej odchyłkę świeci tylko skrajna czerwona dioda ) działa algorytm SQRT
dla e <= 9% działa algorytm PID
Współczynnik Psq dobiera się niezależnie od współczynnika P w algorytmie PID. Jeśli ustawimy Psq = 0, to algorytm SQRT będzie zablokowany niezależnie od wartości odchyłki temperatury i sterowanie będzie prowadzone wyłącznie algorytmem PID.
Sterowanie mocą grzania
Trzeba zdawać sobie sprawę, że wymagania, aby piec szybko osiągnął zadaną temperaturę i nie przekroczył jej z rozpędu są sprzeczne. Odpowiedni dobór nastaw PID pozwala na uzyskać przebieg temperatury tzw. aperiodyczny - krytyczny, tj. najszybsze możliwe dla danego pieca dojście do ustalonej temperatury bez wpadania w oscylacje. Zaimplementowany w sterowniku TERMOS-1 algorytm pierwiastkowy skraca wydatnie początkowy okres narastania temperatury, zaś późniejszy PID łagodnie doprowadza piec do stanu ustalonego.
Nie należy łudzić się, że ręczne nastawienie mocy np. 100% i odpowiednio wczesne przełączenie TERMOSa w tryb pracy automatycznej pozwoli jeszcze szybciej zagrzać piec; oporność cieplna między grzałką, a próbką jest skończona i w opisany wyżej sposób doprowadzi się do odparowania drutu grzejnego, a nie do zagrzania pieca.
Komendy sterujące pracą TERMOSa
Komendy sterujące są to trzyliterowe skróty słów angielskich określających czynność, jaka ma być wykonana przez regulator. Komendy dzielą się na ustawiające parametry i sterujące pracą.
Podanie komendy ustawiającej bez parametru liczbowego oznacza pytanie dotychczasową wartość tego parametru. Niektóre komendy ustawiające mogą zmieniać wartość parametru tylko w pewnych stanach regulatora ( np. komendą POW można zmienić moc wyjściową tylko w trybie sterowania ręcznego ), inne służą wyłącznie do odczytu wartości ( np. VAL - zwraca aktualną temperaturę, IID - numer fabryczny TERMOSa )
Komendy sterujące nie wymagają podawania parametrów; ich zadaniem jest ustawienie TERMOSa w odpowiedni tryb pracy.
Oto wykaz komend :
mnemonik |
czynność |
opcja menu |
parametr |
POW |
Output Power |
R/W in Manual, R/O in Auto |
[ 0 - 100% ] |
HPW |
Power High Level |
R/W |
[ 0 - 100% ] |
LPW |
Power Low Level |
R/W |
[ 0 - 100% ] |
BPW |
Power Level at Sensor Break |
R/W |
[ 0 - 100% ] |
PER |
Power Period |
R/W |
[ 1 - 65s ] |
LGA |
Gate Open Low Level |
R/W |
[ 0 - 9999°K ] |
HGA |
Gate Open High Level |
R/W |
[ 0 - 9999°K ] |
VAL |
Measured Value |
R/O |
- |
ERR |
Error |
R/O |
- |
CEL |
°C |
W/O |
- |
KEL |
°K |
W/O |
- |
WRI |
Data transmission |
W/O |
- |
OSC |
Odczyt okresu oscylacji temperatury |
- |
[s] |
STL |
Local Setpoint |
R/W |
[ LST - HST ] |
HST |
Setpoint max. |
R/O |
- |
LST |
Setpoint min. |
R/O |
- |
STW |
Working Setpoint |
R/O |
- |
SLO |
Slope [°K/min] |
R/W |
[ 0 - 25.5°K/min ] |
PRO |
Proportional Band |
R/W |
[ 0 - 100%/°K ] |
INT |
Integral Time |
R/W |
[ 0.1 - 6553.5s ] |
DER |
Derivative Time |
R/W |
[ 0 - 655.35s ] |
PSQ |
Proportional Band for 'Square Root Algorithm' |
- |
[ 0 - 25.5 %/°K ] |
HOL |
Auto Mode/ Hold Temp. |
W/O |
- |
RUN |
Auto Mode/ Run Program |
W/O |
- |
MAN |
Manual Mode |
W/O |
- |
SLF |
Self Tune |
W/O |
- |
STA |
Status TERMOSa |
R/O |
- |
IID |
Instrument Identity |
R/O |
- |
CFG |
Numer konfiguracjii TERMOSa |
R/W |
[ 1 - 10 ] |
W/O - write only, R/O - read only, R/W - read/write
TERMOS-1 może mierzyć temperaturę za pomocą wielu różnych czujników : termopar, oporników platynowych, termistorów etc.
W pamięci stałej TERMOSa zapamiętane są charakterystyki kilku typowych czujników :
termopary |
PtRh10 | CFG 1 |
Chromel-Alumel | CFG 3 |
Fe-konstantan | CFG 4 |
Cu-konstantan | CFG 5 |
Użytkownik określa konfigurację TERMOSa wydając polecenie CFG
Jeśli poda przy tym numer konfiguracji, to musi jeszcze potwierdzić swą wolę odpowiadając na pytanie : Are You sure (Y/N) ?
Następuje wtedy restart TERMOSa-1 i włącza się procedura kalibracji zera toru pomiarowego. Należy wówczas :
- zewrzeć zaciski wejściowe czujnika, najlepiej przygotowaną "wtyczką kalibrującą".
- jeśli TERMOS-1 zaopatrzony jest w układ kompensacji temperatury zimnego końca termopary, to należy wyzerować to napięcie kompensujące przez przełożenie odpowiedniej zworki na płytce drukowanej.
- wcisnąć dowolny klawisz w komputerze sterującym
- odczekać przewidziany czas na ustalenie się napięć
- dołączyć nowy czujnik, ew. wybrać nowe napięcie kompensujące temperaturę zimnego końca termopary.
Rozkład zworek z napięciami kompensującymi - położenie fabryczne
Do komunikacji z TERMOSem-1 służy napisany w jezyku Borland Pascal 7.0 program o nazwie TERMOS.exe Oprócz możliwości wydawania poleceń pozwala on na monitorowanie stanu regulatora oraz na odczyt i wykreślenie historii temperatury zapamiętanej w TERMOSie.
Program uruchamia się podając jako parametr numer portu szeregowego, do którego podpięty jest regulator. Dozwolone wartości to : 1, 2, 3 lub 4
Przykładowe wywołanie : TERMOS 3
uruchamia program z TERMOSem dopiętym do portu szeregowego COM3:
Najkorzystniej jest napisać prosty program "batchowy", który zwolni operatora z konieczności pamiętania i każdorazowego wpisywania numeru portu.
Szczegółowy opis komend sterujących
- POW - POWer - komenda służy do odczytania lub zadania aktualnej mocy grzania. Moc wyraża się w procentach mocy maksymalnej z dokładnością do 1%. w zakresie 0 - 100%. Moc maksymalna zależy od konstrukcji zasilacza i grzejnika zgodnie ze wzorem : P = U*U/R , gdzie U - napięcie zasilajace grzejnik, R - oporność grzejnika. W trybie sterowania ręcznego ( MANual ) użytkownik może zadać dowolną moc grzania. W trybach sterowania automatycznego ( RUN, HOLd, SLF ) moc jest dobierana przez TERMOSa w taki sposób, by spełnione były zadania danego trybu. Dodatkowo operator może ograniczyć zakres mocy dopuszczalnych dla trybów automatycznych przy pomocy komend LPW i HPW. Jest to istotne, np. gdy zimny grzejnik może ulec przepaleniu po przyłożeniu pełnej mocy.
- HPW - High Power - komenda służy do odczytania lub zadania maksymalnej wartości mocy, jaka może być przyłożona do grzejnika w trybach sterowania automatycznego. Moc wyraża się w procentach mocy maksymalnej z dokładnością do 1%. w zakresie 0 - 100%. Komenda ta nie ogranicza zakresu mocy możliwych do uzyskania w trybie sterowania ręcznego ( MANual ) !
- LPW - Low Power - komenda służy odczytania lub zadania minimalnej wartości mocy, jaka może być przyłożona do grzejnika w trybach sterowania automatycznego. Moc wyraża się w procentach mocy maksymalnej z dokładnością do 1%. w zakresie 0 - 100%. Komenda ta nie ogranicza zakresu mocy możliwych do uzyskania w trybie sterowania ręcznego ( MANual ) !
- BPW - Power at Sensor Break - komenda służy odczytania lub zadania wartości mocy, jaka winna być przyłożona do grzejnika w trybach sterowania automatycznego po wykryciu spalenia czujnika temperatury. Moc wyraża się w procentach mocy maksymalnej z dokładnością do 1%. w zakresie 0 - 100%. Zazwyczaj ustawia się BPW=0, jednakże w pewnych procesach technologicznych może być niedopuszczalnym pełne wychłodzenie pieca, nawet w razie awarii. Wówczas operator zadaje niewielką moc BPW. Komenda ta nie ogranicza zakresu mocy możliwych do uzyskania w trybie sterowania ręcznego ( MANual ) !
- PER - Period - komenda służy odczytania lub zadania okresu regulacji mocy oraz okresu zapamiętywania historii temperatury. Podaje się ją z dokładnością do 1 s w zakresie 1-65 s. Regulacja mocy zachodzi metodą sterowania grupowego, tj. zmiany stosunku włącz/wyłącz pełnej mocy grzewczej. Suma czasów, gdy moc jest włączona i gdy moc jest wyłączona równa jest zadanej wartości PER. Wartość tę należy dobrać uwzględniając bezwładność cieplną pieca : im większa bezwładność, tym dłuższy okres PER. Korzystnie jest też zadawać wartości parzyste, aby symetrycznie obciążać sieć prądu zmiennego ( parzysta ilość połówek sinusoidy ). W trybach sterowania automatycznego niezbędną do założonych celów moc oblicza się z algorytmu PID z okresem = PER. Prawidła doboru tego okresu są takie same, jak przed chwilą podane.
- LGA - Low Level for Gate Open - komenda służy do odczytania lub zadania minimalnej wartości temperatury, powyżej której otwarta będzie bramka cyfrowa w TERMOSie. Temperaturę wyraża się w stopniach Celsjusza bądź Kelvina z dokładnością do 0.01 w zakresie 0 - 9999. Bramkę tę można wykorzystać np. w pomiarach efektu Mossbauera, gdy chcemy mieć pewność, że pomiar nie będzie prowadzony w temperaturach nie mieszczących się w wymaganym zakresie.
- HGA - High Level for Gate Open - komenda służy do odczytania lub zadania maksymalnej wartości temperatury, poniżej której otwarta będzie bramka cyfrowa w TERMOSie. Temperaturę wyraża się w stopniach Celsjusza bądź Kelvina z dokładnością do 0.01 w zakresie 0 - 9999. Bramkę tę można wykorzystać np. w pomiarach efektu Mossbauera, gdy chcemy mieć pewność, że pomiar nie będzie prowadzony w temperaturach nie mieszczących się w wymaganym zakresie.
- VAL - Temperature Value - komenda służy do odczytania wartości aktualnej temperatury. Temperaturę wyraża się w stopniach Celsjusza bądź Kelvina z dokładnością do 0.01 w zakresie 0 - 9999.
- ERR - Temperature Error - komenda służy do odczytania wartości różnicy między temperaturą aktualną, a stabilizowaną. Różnicę wyraża się w stopniach Celsjusza bądź Kelvina z dokładnością do 0.01 w zakresie 0 - 9999. W trybie pracy ręcznej ( MANual ), gdy nie stabilizuje się temperatury, wartość ERR jest zawsze równa 0. W trybach automatycznych ERR = VAL - STW.( ERR > 0 oznacza przegrzanie, a ERR < 0 - niedogrzanie ).
- CEL - Celsjusz - komenda służy do zadania sposobu podawania przez TERMOSa wartości temperatury w komendach z nią związanych ( VAL, LGA, HGA, STW, STL, LST, HST, WRI ).
- KEL - Kelvin - komenda służy do zadania sposobu podawania przez TERMOSa wartości temperatury w komendach z nią związanych ( VAL, LGA, HGA, STW, STL, LST, HST, WRI ).
- WRI - Write Data - komenda służy do odczytu zapamiętanych przez TERMOSa wartości historii temperatury. Jako parametr komendy podaje się, ile ostatnio zebranych wartości ma być przesłanych. TERMOS przesyła tyle wartości, ile zażądano, a potem jeszcze te wartości, które zdążył zapamiętać w trakcie transmisji. Ostatnia przesłana wartość jest aktualną temperaturą. Jeśli nie poda się parametru komendy, bądź jest on większy od pojemności bufora TERMOSa ( 10752 dane ), to przesłana zostanie cała zawartość bufora + wartości zapamiętane w trakcie transmisji.
- OSC - Oscillation - komenda służy do odczytania okresu oscylacji temperatury wokół roboczego Setpointu STW. Wartość podawana jest w sekundach. Komenda jest przydatna podczas badania charakterystyk dynamicznych pieca dla właściwego dobrania parametrów regulacji PID.
- STL - Setpoint Local - komenda służy do odczytania lub zadania temperatury końcowej, którą winien stabilizować TERMOS. Wartość podaje się, w zależności od przyjętego sposobu pracy ( CEL, KEL ), w stopniach Celsjusza bądź Kelvina z dokładnością do 0.01°. Dopuszczalny zakres temperatur zależy od używanego czujnika temperatury i może być odczytany przy pomocy komend LST i HST.
- HST - High Value for Setpoint - komenda służy do odczytania maksymalnej wartości stabilizowanej temperatury końcowej ( Setpointu STL ). Wartość podawana jest, w zależności od przyjętego sposobu pracy ( CEL, KEL ), w stopniach Celsjusza bądź Kelvina, z dokładnością do 0.01°. Wartość ta zależy od używanego czujnika temperatury i jest zaprogramowana na stałe w TERMOSie.
- LST - Low Value for Setpoint - komenda służy do odczytania minimalnej wartości stabilizowanej temperatury końcowej ( Setpointu STL ). Wartość podawana jest, w zależności od przyjętego sposobu pracy ( CEL, KEL ), w stopniach Celsjusza bądź Kelvina, z dokładnością do 0.01°. Wartość ta zależy od używanego czujnika temperatury i jest zaprogramowana na stałe w TERMOSie.
- STW - Setpoint Working - komenda służy do odczytania wartości stabilizowanej w danym momencie temperatury. Wartość podawana jest, w zależności od przyjętego sposobu pracy ( CEL, KEL ), w stopniach Celsjusza bądź Kelvina, z dokładnością do 0.01°. W trybie pracy ręcznej ( MANual ) setpoint roboczy ( STW ) pokrywa się z aktualnie zmierzoną temperaturą. W trybie pracy automatycznej RUN setpoint roboczy STW porusza się z prędkością SLOpe w kierunku setpointu końcowego STL. TERMOS stabilizuje temperaturę wokół chwilowych wartości STW. W każdej chwili operator może zatrzymać wędrówkę setpointu roboczego komendą HOLd i wznowić ją komendą RUN. Po zrównaniu się wartości setpointu roboczego STW z setpointem końcowym STL następuje samodzielne przełączenie się TERMOSa w tryb HOLd i stabilizacja temperatury STW = STL.
- SLO - SLOpe - komenda służy do odczytania lub zadania prędkości zmiany stabilizowanej temperatury, tj. setpointu roboczego STW, podczas pracy w trybie automatycznym RUN. Wartość podaje się w stopniach Kelvina na minutę z dokładnością
do 1°/min w zakresie 0-255 °/min. Zazwyczaj prędkość zmian temperatury rzeczywistej jest zbliżona do wartości zadanej SLOpe, choć występuje pewne opóźnienie względem ruchomego setpointu roboczego. Im szybciej porusza się STW, tym większe jest to opóźnienie.
- PRO - PROportional Band - komenda służy do odczytania lub zadania wartości parametru proporcjonalności używanego w algorytmie PID. Wartość podaje się w procentach mocy na stopień odchyłki temperatury [ %/° ] w zakresie 0 - 100 %/°
z dokładnością do 0.01%/°
- INT - Integration Time - komenda służy do odczytania lub zadania wartości czasu całkowania odchyłki temperatury w algorytmie PID. Wartość podaje się w sekundach w zakresie 0 - 6553.5 s z dokładnością do 0.1 s
- DER - Derivation Time - komenda służy do odczytania lub zadania zadania wartości czasu różniczkowania odchyłki temperatury w algorytmie PID. Wartość podaje się w sekundach w zakresie 0 - 655.35 s z dokładnością do 0.01s
- PSQ - PROportional Band for Square Root Algorithm - komenda służy do odczytania lub zadania wartości parametru proporcjonalności używanego w algorytmie pierwiastkowym. Wartość podaje się w procentach mocy na pierwiastek kwadratowy
z odchyłki temperatury [ %/° ] w zakresie 0 - 25.5 %/° z dokładnością do 0.1%/°. Wartość PSQ = 0 wyłącza algorytm pierwiastkowy i sterowanie odbywa się wyłącznie algorytmem PID.
- STA - Status - komenda służy do odczytania aktualnego stanu TERMOSa. Jako odpowiedź otrzymuje się 2 litery określające kolejno :
- - tryb pracy
- M - MANually - sterowanie ręczne
- R - RUNning - programowy narost temperatury
- H - HOLding - stabilizacja stełej temperatury
- S - SelfTunning - samodzielny dobór parametrów PID
- - sposób podawania wartości temperatury
- IID - Instrument Identify - komenda służy do odczytania numeru fabrycznego TERMOSa
- CFG - Configuration - komenda służy do odczytania lub zaprogramowania numeru konfiguracji TERMOSa. Numer jest liczbą z zakresu 1-10 określającą typ czujnika temperatury wg. poniższego zestawienia :
CFG 1 | PtRh10 |
CFG 2 | zarezerwowane |
CFG 3 | Chromel-Alumel |
CFG 4 | Fe-konstantan |
CFG 5 | Cu-konstantan |
CFG 6 | zarezerwowane |
CFG 7 | zarezerwowane |
CFG 8 | Pt100 - kriostat azotowy |
CFG 9 | zarezerwowane |
CFG 10 | CLTS - kriostat helowy |
- MAN - MANually - komenda służy do przełączenia TERMOSa w tryb pracy ręcznej. W tym trybie TERMOS nie stabilizuje temperatury. Operator może zadać dowolną moc grzania z zakresu 0 - 100%. Uszkodzenie czujnika temperatury, przegrzanie obiektu, bądź jego przechłodzenie powoduje samoczynne przełączenie TERMOSa w tryb MAN połączone z ustawieniem mocy grzania na poziomie BPW.
- RUN - Run Program - komenda służy do przełączenia TERMOSa w tryb pracy automatycznej. W tym trybie TERMOS zmienia setpoint roboczy STW z szybkością ustaloną parametrem SLOpe w kierunku setpointu końcowego STL i stara się stabilizować temperaturę wokół STW. W każdej chwili operator może przejść do pracy ręcznej ( MANually ), albo zatrzymać ruch setpointu roboczego ( HOLd ), względnie zażądać samostrojenia parametrów PID ( SLF ). Po zrównaniu się setpointu roboczego STW z setpointem końcowym STL następuje samoczynne przejście TERMOSa w tryb HOLd.
- HOL - Hold Temperature - komenda służy do przełączenia TERMOSa w tryb pracy automatycznej. W tym trybie TERMOS nie zmienia setpointu roboczego, lecz stara się stabilizować temperaturę wokół niego. W każdej chwili operator może przejść do pracy ręcznej ( MANually ), albo uruchomić ruch setpointu roboczego ( RUN ), względnie zażądać samostrojenia parametrów PID ( SLF ).
- SLF - Self Tunning - komenda służy do przełączenia TERMOSa w tryb pracy automatycznej. W tym trybie TERMOS, używając bieżących nastaw parametrów PRO, INT, DER, SLO, dąży z setpointem roboczym STW do setpointu końcowego STL, a potem stara się wprowadzić silne wahania temperatury wokół niego. W każdej chwili operator może przejść do pracy ręcznej ( MANually ), albo wstrzymać ruch setpointu roboczego ( HOLd ), względnie zrezygnować z samostrojenia ( RUN ). Mierząc okres drgań temperatury jest się w stanie określić odpowiednie wartości współczynników całkowania ( INT ) i różniczkowania ( DER ) dla algorytmu PID. W celu "rozhuśtania" pieca zerowany jest parametr DER i zmniejszany do minimum parametr INT. Po wykonaniu jednej pełnej oscylacji obliczane są wartości INT i DER ze wzorów Zieglera-Nicholsa. Optymalną wartość współczynnika PRO operator musi dobrać samodzielnie, gdyż jej doświadczalne wyznaczanie jest bardzo czasochłonne.
Po zakończeniu samostrojenia TERMOS przełącza się w tryb HOLd i stabilizuje temperaturę STW z użyciem nowo wyznaczonych parametrów PID.
Przykłady realizacji programów grzania/chłodzenia z użyciem komend sterujących :
Zadanie 1: osiągnąć temperaturę 300°C w ciagu 30 minut ( temperatura aktualna = 30°C )
- CEL - temperatura podawana w stopniach Celsjusza
- STL 300 - końcowa wartość temperatury = 300°C
- SLO 9 - prędkość narastania setpointu roboczego =9°/min
- RUN - rozpoczęcie stabilizacji z ruchomym setpointem
Po dojściu setpointu do 300°C TERMOS przełączy się w tryb HOLd i będzie dalej stabilizował 300°C aż do odebrania innych rozkazów.
Zadanie 2: podgrzać piec jeszcze o 100° w ciągu 5 minut
Zadanie 3: schłodzić piec do 180°C z szybkością 1°/min
Zadanie 4: wyłączyć moc grzewczą i schłodzić piec do temp. pokojowej
- MAN - sterowanie ręczne TERMOSem
- POW 0 - moc grzania = 0%
Zadanie 5: dobrać parametry PID dla temperatury 400°C, maks. prędkość rozgrzewania =< 50°/min, temp. aktualna dowolna
- CEL - temperatura podawana w stopniach Celsjusza
- STL 400 - końcowa wartość temperatury = 400°C
- SLO 50 - prędkość narastania setpointu roboczego =50°/min
- SLF - rozpoczęcie samostrojenia z początkowo ruchomym setpointem
Dobór nastaw PID
Zbyt małe wartości czasu całkowania i różniczkowania, oraz zbyt wielka wartość parametru proporcjonalności PRO powodują
silne oscylacje temperatury. Z kolei za duże wartości INT i DER wydłużają czas dochodzenia do równowagi i pogarszają jakość
stabilizacji przy silnych zakłóceniach ( otwarcie okna, zmiana napięcia w sieci, etc. ).Jeśli zamierza się pracować w szerokim
zakresie temperatur należy uprzednio przeprowadzić dobór parametrów PID dla kilku temperatur z przedziału. Należy zdać sobie
sprawę, że parametry dynamiczne pieca zmieniają się przy zmianach temperatury. Z reguły, im wyższa temperatura i większe straty
ciepła, tym mniejsza bezwładność i piec szybciej reaguje na zmiany mocy grzewczej. Trzeba wtedy zmniejszać wartości INT i DER.
Wartość PRO określa się doświadczalnie przez stopniowe jej powiększanie, aż do uzyskania wyraźnych oscylacji temperatury.
Jest to tzw. wartość krytyczna. Wartość roboczą oblicza się ze wzoru :
PROrob = 0.6 * PROkryt
Zła stabilizacja temperatury jest zazwyczaj spowodowana ustawieniem złych parametrów PID, a nie uszkodzeniem TERMOSa.
Program do automatycznych pomiarów temperaturowych, mossbauerowskich
Program TER&MOS.exe został napisany w języku BORLAND PASCAL 7.0 Służy głównie do przeprowadzania serii pomiarów temperaturowych z wykorzystaniem regulatora TERMOS-1
i przelicznika MOSIEK. Dzięki przyjętej koncepcji interpretera komend jest on bardzo elastyczny i znajduje zastosowanie we wszelkich pracach z tymi urządzeniami.
1. Zasada działania
Algorytm pracy programu zapisany jest w oddzielnym pliku dyskowym przy pomocy dwu-lub czteroliterowych komend z parametrami. Określają one 4 podstawowe czynności wykonywane przez program :
- T:łańcuch_znaków
- wysłanie łańcucha znaków do TERMOSA
- M:łańcuch_znaków
- wysłanie łańcucha znaków do MOŚKA
- WAIT łańcuch_znaków
- odczekanie czasu zadanego łańcuchem znaków
- SAVE łańcuch_znaków
- zapisanie danych mossbauerowskich do pliku o zadanej łańcuchem znaków nazwie
Łańcuchy znaków wysyłane do MOŚKA lub TERMOSA są to po prostu komendy rozumiane i wykonywane przez te urządzenia, np.
Dla MOŚKA : Clear, Run, Stop, Write
Dla TERMOSA : STL 120, LGA 119.5, HGA 120.5, SLO 3.5, RUN
Czas czekania określa się w minutach z rozdzielczością do 1/18 sekundy. Np. komenda WAIT 15.5 powoduje odczekanie 15 minut 30 sekund
Nazwy plików podawane jako parametr komendy SAVE muszą spełniać kryteria systemu DOS. Mogą zawierać nazwy dysków i katalogów. Niewłaściwe nazwy oraz błędy operacji zapisu plików ( brak miejsca na dysku, blokada zapisu, etc. ) spowodują utratę danych, ale nie spowodują zatrzymania procesu interpertacji komend. Oznacza to, że pomiar będzie prowadzony dalej, lecz danych z niego nie będzie.
Podobnie rzecz się przedstawia przy łańcuchach znaków wysyłanych do MOŚKA i TERMOSA : błędne komendy będą wysłane z wszelkimi ich konsekwencjami.
W interesie użytkownika jest zatem dokładne zapoznanie się z instrukcjami obsługi urządzeń i systemem operacyjnym DOS, używanie niezawodnego komputera oraz staranne przygotowanie i zaprogramowanie eksperymentu.
2. Przykład programu skanującego temperaturę
- T:KEL
- temperatura w Kelvinach
- T:SLO 3
- szybkość zmian 3°K/min
- T:STL 90
- setpoint = 90°K
- T:LGA 89.5
- dolny próg bramki 89.50°K
- T:HGA 90.5
- górny próg bramki 90.50°K
- T:RUN
- start najazdu temperatury
- M:Clear
- zerowanie danych w MOŚKU
- M:y
- potwierdzenie zerowania danych
- WAIT 30
- odczekanie, aż temperatura narośnie
- M:Run
- uruchomienie zliczania danych
- WAIT 45
- odczekanie czasu pomiaru
- M:Write
- ściągnięcie danych z MOŚKA
- SAVE dane.1
- zapisanie danych na dysk
- T:STL 80
- nowy setpoint
- T:LGA 79.5
- nowe nastawy bramki temperaturowej
- T:HGA 80.5
- T:RUN
- start najazdu temperatury
- M:Clear
- zerowanie danych w MOŚKU
- M:y
- potwierdzenie zerowania danych
- WAIT 20
- odczekanie, aż temperatura narośnie
- M:Run
- uruchomienie zliczania danych
- WAIT 45
- odczekanie czasu pomiaru
- M:Write
- ściągnięcie danych z MOŚKA
- SAVE dane.2
- zapisanie danych na dysk
3. Obsługa programu skanującego
Program skanujący uruchamia się komendą SCAN. Jest to nazwa pliku batchowego, który przed uruchomieniem właściwego programu TER&MOS przechodzi do roboczego katalogu, gdzie będą zapisywane dane pomiarowe.
Menu główne zawiera następujące pozycje rozwijane do podmenu :
- File / Load - ładowanie pliku z danymi mossbauerowskimi w celu ich obejrzenia
- File / Save - zapis danych mossbauerowskich do pliku dyskowego
- File / Edit - edycja pliku z danymi mossbauerowskimi
- File / Dos - chwilowe wyjście do systemu DOS bez usuwania programu z pamięci
- File / eXit - zakończenie pracy z programem
- Data / Fold - złożenie widma mossbauerowskiego
- Data / Scan - "przeglądanie" wykresu przy pomocy ruchomego markera
- Data / Zoom - powiększanie fragmentów wykresu historii temperatury
- Data / Vconst - określanie obszarów danych do wyliczania efektu przy pomiarach ze stałą prędkością
- Mosiek / Moss_1 ..... Moss_8 - wybór MOŚKA do sterowania ręcznego
- Termos / Setup - ręczne sterowanie TERMOSEM
- Termos / History - odczytanie z TERMOSA historii temperatury
- Program / Load - załadowanie pliku z komendami do pracy automatycznej
- Program / Run - uruchomienie interpretacji komend
- Program / Stop - zatrzymanie zatrzymanie interpretacji komend
- Status - wyświetlanie na bieżąco stanu TERMOSa i postępów w interpretacji komend
Opcja Status włącza się samoczynnie, jeśli przez 14 sekund żaden klawisz nie został naciśnięty, ani nie była użyta myszka.
Interpretacja komend może zachodzić tylko wtedy, gdy Status jest włączony.
4. Jak rozpocząć pracę automatyczną ?
- przygotować plik z komendami
- uruchomić program skanujący SCAN
- załadować plik z komendami Program / Load
- wybrać MOŚKA, który będzie uczestniczył w pomiarze Moss_1 ..... Moss_8
- określić rodzaj prędkości wibratora Sinus / Line / Const
- uruchomić interpretację komend Program / Run
W trakcie pracy automatycznej można używać wszystkich poleceń z menu programu, aczkolwiek może to być niebezpieczne dla jakości pomiaru ( np. przypadkowe zatrzymanie MOŚKA, zmiana setpointu ). Dopuszczalne jest chwilowe wyjście do systemu DOS ( File / Dos ), lecz nie wolno zapomnieć o powrocie do programu poleceniem systemowym EXIT !
W przeciwnym wypadku interpretacja komend zostanie zatrzymana i pomiar nie będzie kontynuowany.
Program skanujący zawiera z pewnością jakieś błędy i niedociągnięcia. Autor będzie wdzięczny za wszelkie uwagi i sugestie, jakie nasuną się użytkownikom.
Nowe, ulepszone wersje będą rozsyłane bezpłatnie.