Przedstawiono opis i wyniki badań eksperymentalnych regulatora temperatury wykorzystującego ogniwo Peltiera. W wykonanym urządzeniu zastosowano algorytm regulatora PID, który został zaimplementowany w mikrokontrolerze 8-bitowym. Oprócz funkcji związanych z regulatorem PID, zastosowany mikrokontroler steruje pracą całego urządzenia. Przeprowadzone badania eksperymentalne dotyczyły oceny stabilności i dokładności pomiaru temperatury oraz badania charakteru odpowiedzi regulatora PID na zmianę nastaw temperatury.
W każdym, nawet najprostszym układzie regulacji temperatury, możemy wyodrębnić elementy przedstawione na rysunku 1. Regulacja polega na pomiarze temperatury, obliczeniu o ile różni się ona od pożądanej oraz odpowiednim wysterowaniu elementu zmieniającego temperaturę. W zależności od potrzeb, temperaturę obiektu zmienia system grzewczy bądź chłodniczy. Regulator będzie sterował wspomnianym układem do zmiany temperatury w taki sposób, aby sygnał otrzymywany z czujnika temperatury odpowiadał zadanej nastawie.
W zależności od właściwości obiektu, który poddawany jest procesowi regulacji, stosujemy różne typy regulatorów. W przemyśle najczęściej występują regulatory: dwustanowy, proporcjonalny (P) i całkujący (I). Często spotyka się również połączenia poszczególnych członów w układy: proporcjonalno – całkujący (PI), proporcjonalno – różniczkujący (PD) oraz proporcjonalno – całkująco – różniczkujący (PID).
Rys. 1. Podstawowy schemat blokowy układu regulacji temperatury
Regulator dwupołożeniowy, zwany inaczej dwustanowym jest najprostszym możliwym regulatorem. Jego działanie sprowadza się głównie do załączania elementu wykonawczego, gdy temperatura obiektu jest różna od ustawionej. W taki sposób działają regulatory stosowane w lodówkach, piecykach elektrycznych lub żelazkach. Aby załączanie elementu zmieniającego temperaturę nie następowało zbyt często, stosuje się tak zwaną strefę nieczułości – histerezę. Taki regulator jest bardzo prosty, lecz ma istotną wadę. Powoduje oscylacje temperatury wokół wartości ustalonej tym większe, im większa jest histereza.
Regulator proporcjonalny zmienia intensywność podgrzewania lub schładzania obiektu w zależności od wielkości uchybu regulacji. Im uchyb większy, tym na przykład grzałka pracuje z większą mocą. Sygnał wyjściowy takiego regulatora opisuje wzór (1).
Regulacja temperatury według takiego algorytmu przebiega w sposób przedstawiony na rysunku 2. Jak łatwo zauważyć temperatura obiektu nigdy nie osiągnie zadanej wartości r(t). Gdyby tak się stało sygnał sterujący u(t) byłby równy zero, co oczywiście spowodowałoby powstanie uchybu.
Rys. 2. Charakterystyka regulacji P, PI, PID [7]
Aby wyeliminować ustalony uchyb, charakterystyczny dla regulatora proporcjonalnego, korzysta się z algorytmu będącego połączeniem sterowania proporcjonalnego i całkującego. Jak łatwo się domyślić, sygnał wyjściowy takiego regulatora będzie sumą sygnału regulacji proporcjonalnej i całkującej (2).
Dobierając odpowiednio wzmocnienie poszczególnych członów wyrażenia (2) możemy sprawić, że temperatura obiektu najpierw bardzo szybko zbliży się do pożądanej, a następnie zostanie wyeliminowany uchyb ustalony. W początkowej jednak fazie będzie działało sterowanie zarówno od członu proporcjonalnego jak i całkującego. Może to spowodować że zanim obiekt osiągnie temperaturę, w której przestanie działać człon proporcjonalny, wartość całki narośnie zbyt mocno. Sytuacja będzie wyglądała jak na rysunku 2. Podobny efekt zaobserwujemy w przypadku sterowania temperaturą obiektu o znacznej bezwładności.
Regulator PID zawiera człony regulatora proporcjonalnego, całkującego oraz różniczkującego. Regulator skonstruowany poprzez połączenie wszystkich trzech członów wypracowuje sygnał według zależności (3).
Odpowiednie dobranie współczynników pozwala uzyskać bardzo szybką odpowiedź na zmianę temperatury zadanej bez przeregulowania i z zerowym uchybem ustalonym. Formalnie taki regulator jest najbardziej zbliżony do idealnego. Jego realizacja w układzie mikroprocesorowym wymaga jednak odpowiedniej mocy obliczeniowej.
Jak wcześniej wspomniano, aby układ regulatora działał prawidłowo należy dobrać jego współczynniki. W literaturze możemy spotkać kilka różnych metod wyznaczania współczynników regulatora PID. Bazują one na znajomości charakterystyk regulowanych obiektów. Dobór współczynników można też dokonać metodą doświadczalną. Należy w tym celu posłużyć się zależnościami zawartymi w tabeli 1.
Tabela 1. Wpływ zwiększania wzmocnienia członów PID na charakterystykę regulacji
| Czas narastania | Przeregulowanie | Czas ustalania | Uchyb ustalony | |
| Kp | zmniejszanie | zwiększanie | mała zmiana | zmniejszanie |
| Ki | zmniejszanie | zwiększanie | zwiększanie | eliminacja |
| Kd | mała zmiana | zmniejszanie | zmniejszanie | mała zmiana |
Głównym celem prezentowanego urządzenia była jak najdokładniejsza stabilizacja temperatury jednej ze stron ogniwa Peltiera. Aby sprostać temu wymaganiu, użyto bardzo dokładnego czujnika temperatury oraz precyzyjnych wzmacniaczy w torze pomiarowym. Niewielki zakres mierzonej temperatury pozwolił uzyskać rozdzielczość pomiaru rzędu 0,001°C. Taką rozdzielczość wykorzystuje mikrokontroler realizując sterowanie ogniwem Peltiera. Odczyt temperatury prezentowany jest użytkownikowi z rozdzielczością 0,1°C. Mikrokontroler sterując ogniwem Peltiera realizuje omówiony wcześniej algorytm PID.
Rozdzielczość z jaką zmieniana jest średnia wartość prądu ogniwa to 65 μA. Współczynniki algorytmu dobrane zostały doświadczalnie tak, aby uzyskać możliwie szybką odpowiedź układu na zmianę nastaw unikając zjawiska przeregulowania. Główne elementy wykonanego regulatora przedstawiono na rysunku 3.
Rys. 3. Główne elementy regulatora temperatury z ogniwem Peltiera
Regulator temperatury składa się z czterech głównych bloków funkcjonalnych. Centralny blok funkcjonalny to odpowiednio zaprogramowany mikrokontroler rodziny AVR. Komunikuje się on z pozostałymi układami oraz z użytkownikiem. Interfejs użytkownika stanowi dwuliniowy wyświetlacz LCD oraz dwa przyciski. Umożliwia to zmianę zadanej temperatury oraz obserwację aktualnej, zmierzonej przez tor pomiarowy. Pomiar temperatury dokonuje się za pomocą kalibrowanego termorezystora Pt 100.
Blok pomiarowy odpowiedzialny jest za zasilanie czujnika oraz obróbkę sygnału analogowego. Do jego zadań należy również przetworzenie sygnału na postać cyfrową. Komunikacja pomiędzy blokiem pomiarowym a mikrokontrolerem odbywa się przy pomocy magistrali I2C. Układem wykonawczym mikrokontrolera jest scalony mostek typu H. Realizuje on sterowanie ogniwem Peltiera. Mikrokontroler steruje mostkiem H przy pomocy dwóch sygnałów. Jeden z nich to sygnał PWM sterujący mocą dostarczaną do ogniwa. Drugi to sygnał określający kierunek transportowanego ciepła. Blok sterowania ogniwem realizuje również funkcję zabezpieczającą przed skutkami zwarcia lub uszkodzenia ogniwa.
Obsługa urządzenia sprowadza się jedynie do ustawienia temperatury za pomocą dwóch przycisków. Każdorazowe naciśnięcie przycisku powoduje zmniejszenie lub zwiększenie temperatury o 0,1°C. Dłuższe naciśnięcie powoduje cykliczną zmianę ze wspomnianym krokiem, początkowo powolną, a potem szybszą. Umożliwia to sprawną zmianę nastawionej temperatury w zakresie +(10…30)°C. Ustawiona temperatura oraz inne nastawy zapisywane są w nieulotnej pamięci i przywracane podczas restartu urządzenia.
Implementacja algorytmu PID, nawet w 8-bitowym mikrokontrolerze, jest stosunkowo prosta. Aby zapewnić wystarczającą szybkość działania układu zrezygnowano z arytmetyki zmiennoprzecinkowej. Temperatury zadana oraz mierzona w systemie przechowywane są jako 32-bitowe liczby ze znakiem. Reprezentują one tysięczne części stopnia. Dopiero podczas prezentowania ich na wyświetlaczu dodawany jest w odpowiednim miejscu przecinek. Sama funkcja realizująca algorytm PID przedstawiona została poniżej.
List. 1 Realizacja algorytmu PID w mikrokontrolerze rodziny AVR.
| s32 PID (s32 uchyb){ s32 y; //wyjsci s32 P,I,D; P=danePID.Kp*uchyb I=danePID.Ki*(uchyb+danePID.uchyb_1)/2+danePID. I_1; D=danePID.Kd*(uchyb-danePID.uchyb_1); PID_data.uchyb_1=uchyb; y=P+I+D; if((ydanePID.y_min)){ danePID.I_1=I; }else{ if(y>danePID.y_max) wyjscie=PID_data.y_max; else y=danePID.y_min; } } return (y) } |
Funkcja działa na strukturze danePID, która przechowuje współczynniki regulatora (Kp, Ki, Kd) oraz wartości całki i uchybu z poprzedniego kroku. Całkowanie podczas obliczania wartości członu I realizowane jest metodą trapezów. Jest to popularny sposób na minimalizowanie błędu powstającego poprzez zastępowanie całki sumą próbek. Po obliczeniu wartości wyjściowej y regulatora następuje sprawdzenie czy nie zostały przekroczone maksymalna i minimalna wartość sygnału sterującego. W omawianym urządzeniu sterowanie ogniwem Peltiera realizuje (poprzez mostek H) generator PWM. Jest on zrealizowany na liczniku 16-bitowym. Dodatkowo istnieje możliwość zmiany kierunku płynącego prądu. Wyjście regulatora powinno więc przyjmować wartości z przedziału (-65535…65535), i takie właśnie wpisano do struktury danePID. W przypadku przekroczenia zadanego przedziału, następuje oprócz ograniczenia sygnału wyjściowego zatrzymanie procesu całkowania.
Zaprezentowana fukcja jest dość uniwersalna i można ją stosować nie tylko do regulacji temperatury. W omawianym przykładzie sygnał wyjściowy regulatora jest symetryczny, gdyż możliwe jest podgrzewanie oraz chłodzenie obiektu. Obydwa procesy realizuje ten sam element (ogniwo Peltiera), którego charakterystyka regulacyjna jest w obu przypadkach identyczna. Zastosowanie wyłącznie modułu podgrzewającego lub chłodzącego wymaga jedynie zmiany przedziału dopuszczalnych wartości wyjściowych sygnału regulatora PID.
Pomimo istnienia możliwości innego wykorzystania zaprezentowanego algorytmu, należy pamiętać, że jego praca w innym urządzeniu wymaga indywidualnego dobrania współczynników wzmocnienia poszczególnych członów regulatora. Bardzo prosta metoda doboru współczynników opisana została w punkcie Regurator PID.
W celu wyznaczenia stabilności temperatury badany moduł Peltiera przytwierdzono jedną stroną do radiatora, a na jego drugiej stronie umieszczono czujnik temperatury. Ustawione zostały trzy różne temperatury, dla których zostały zebrane wyniki pomiarów dokonywanych przez sterownik ogniwa. Każda seria pomiarowa trwała minimum 30 minut. Wydłużenie czasu pomiaru nie powodowało istotnej zmiany wyników. Wyniki pomiarów przedstawione zostały na rysunku 4.
Rys. 4. Dokładność stabilizacji temperatury przy różnych nastawach (aproksymacja histogramu)
Analizując wykres można zauważyć, że najmniejsza odchyłka od zadanej temperatury występuje przy małej różnicy temperatur ustawionej i otoczenia. Głównym tego powodem jest wymiana ciepła między powierzchnią ogniwa a otoczeniem. Dlatego zaleca się, aby po umieszczeniu na wspomnianej powierzchni elementu wymagającego stabilizacji termicznej, odizolować tę stronę od otocznia przy pomocy styropianu, pianki lub wełny. Jak wykazały testy, charakterystyki dla temperatur +10°C i +20°C stają się wtedy podobne do tej dla +28°C. Pomiary przeprowadzono przy braku wspomnianej izolacji, aby uwzględnić takie czynniki, jak dostarczanie ciepła przez stabilizowany termicznie element.
Jak wynika z wykresu, zmierzona dokładność stabilizacji jest w większości przypadków lepsza niż ±0,01°C. Podana w specyfikacji dokładność ±0,02°C jest wartością gwarantowaną w każdych dopuszczalnych warunkach pracy.
Dokładność pomiaru temperatury przez sterownik modułu Peltiera została sprawdzona przy pomocy skalibrowanego fabrycznie urządzenia. Wykorzystano w tym celu cyfrowy termometr typu MICROMANOMETR HD 21340. Zaobserwowane różnice w całym zakresie pomiarowym sterownika nie przekraczają ±0,5°C. Dzięki zastosowaniu odpowiednich rozwiązań konstrukcyjnych, uzyskane wyniki są powtarzalne w kolejnych egzemplarzach urządzenia. Wyeliminowany został również wpływ rezystancji styków złącz oraz przewodów.
Drugim, bardzo istotnym parametrem każdego regulatora temperatury, jest czas i charakter odpowiedzi na zmianę zadanej temperatury. Pomiaru dokonano przy zmianie temperatury w maksymalnym przewidzianym zakresie nastaw. Wyniki pomiaru zaprezentowano na rysunku 5.
Rys. 5. Charakterystyka regulacji wykonanego urządzenia
Na wykresie umieszczono dwa przebiegi. Jeden z nich (schładzanie) odpowiada sytuacji gdy kolejna zadana temperatura jest niższa i sterownik musi schłodzić stabilizowany element. Druga krzywa (podgrzewanie) odpowiada sytuacji odwrotnej. Dzięki zaawansowanemu algorytmowi regulacji możliwe było zrealizowanie względnie szybkiej zmiany temperatury, unikając przy tym przesterowań i oscylacji. Jedynie przy podgrzewaniu wystąpiło niewielkie przeregulowanie i oscylacja. Powodem takiego zachowania jest wspomniany już wcześniej brak izolacji miedzy monitorowaną stroną ogniwa a otoczeniem. W takiej sytuacji wspomniana strona ogniwa ogrzewana jest zarówno przez ogniwo jak i jego otoczenie. Jeżeli zapewnimy izolację termiczną, sterownik na podstawie szybkości zmian temperatury odpowiednio wcześniej skoryguje moc ogniwa i przeregulowanie nie wystąpi.
Tabela 2. Wybrane parametry regulatora temperatury z ogniwem Peltiera | |
| Napięcie zasilania | ~230 V |
| Maksymalna moc pobierana | 60 W |
| Parametry współpracującego ogniwa Peltiera (wymiary/napięcie/prąd/moc chłodzenia) | 30x30 mm/14,6 V/4,3 A/36 W |
| Możliwość współpracy z innymi ogniwami Peltiera | Nie |
| Zakres pomiaru temperatury | 0…50°C |
| Zakres ustawianej temperatury | 10…30°C z krokiem 0,1°C |
| Dokładność pomiaru temperatury | ±0,5°C |
| Stabilność temperatury | ±0,02°C |
| Czas odpowiedzi na zmianę nastaw | poniżej 30 sekund |
Zaproponowany system elektronicznej stabilizacji temperatury przy pomocy ogniwa Peltiera został wykonany i zweryfikowano jego działanie. Całość tworzą dwa elementy: sterownik oraz ogniwo wyposażone w radiator i wentylator. System charakteryzuje się parametrami przedstawionymi w tabeli 2.
Przeprowadzone badania wykazały, że do implementacji regulatora PID z powodzeniem można wykorzystać mikrokontroler 8-bitowy. Jednak w takim przypadku zaleca się wykonywanie obliczeń na liczbach stałoprzecinkowych. Takie rozwiązanie pozwala zastosować mikrokontroler o mniejszej pamięci programu oraz niższej częstotliwości pracy.
Urządzenie może zostać wykorzystane do stabilizacji temperatury dowolnego elementu, który można zamocować do powierzchni ogniwa Peltiera. Mogą być to zarówno elementy elektroniczne jak i wszelkiego rodzaju elementy światłowodowe. Przykładowym zastosowaniem może być wysokostabilne źródło napięcia referencyjnego.
Autorzy:
Marek Sawicki, Tadeusz Sondej
Wojskowa Akademia Techniczna, Wydział Elektroniki
[1] Dorf R.C., Bishop R.H.: Modern Control Systems, Addison−Wesley Longman, Inc., 1998
[2] Franklin G.F., Powell J.D. & Emami-Naeini, A. Feedback: Control of Dynamic Systems, 3rd ed, Addison-Wesley, 1994
[3] Kuo B.C.: Automatic Control of Dynamic Systems, 7th ed, Addison-Wesley & Sons Inc., 1995
[4] Ogata K.: Modern Control Engineering, Prentice Hall, 2002
[5] Baranowski R.: Mikrokontrolery AVR w praktyce, BTC, Warszawa 2005
[6] http://atmel.com/dyn/resources/prod_documents/8154S.pdf, dokumentacja atmega16
[7] http://www.atmel.com/dyn/resources/prod_documents/doc2558.pdf, algorytm PID
[8] http://www.st.com/stonline/products/literature/ds/10832.pdf, dokumentacja VNH2SP30
[9] http://www.analog.com/static/imported-files/data_sheets/AD8221.pdf
| REKLAMA |
| REKLAMA |
np: if((ydanePID.y_min)