Plus minus
Strona domowa Ireny i Zbigniewa Kuleszów
Serdecznie witamy na domowych, prywatnych serwerach
Dzisiaj jest: 2017-10-20  Aktualizacja strony dnia: 2016-10-09
Jezyki
Rocznica 15 lat pracy serwerów i strony zjk.pl :-)
UWAGA! Ten serwis, strona i podstrony mog± używać cookies i podobnych technologii (brak zmiany ustawienia przegl±darki oznacza zgodę na to)!
Powitanie Irena Zbigniew Elektronika Studenci Serwer Sieradz Kolejka Pobierz Linki Info CMS Blog Dla_Róży Mail Zbyszek

Przykładowe pomiary

 

 

Temperatura (badanego obiektu)

Napięcie sterujące badanym obiektem (na wyjściu regulatora)

Warunki

Komentarz

1

Regulacja ręczna, załączenie a potem wyłączenie maksimum napięcia sterującego (tj. ok. 3,5 V)

Tu można wyliczyć stałą czasową układu (ok. 40 s, a właściwie mniej – koło 30 s)

2

P=100

D=10

I=10

Parametry dobrane eksperymentalnie, bez obliczania

3

P=100

D=10

I=50

Zwiększenie I, stąd przeregulowanie i lekkie oscylacje

4

P=100

D=10

I=150

Zwiększenie I, duże przeregulowanie i oscylacje (w tym krótkie nasycenie napięcia od góry)

5

P=100

D=10

I=500

Za duże I (nasycenie napięcia od góry i jeden raz od dołu)

6

P=32100

D=0

I=0

Obliczanie granicznej wartości wzmocnienia P (proszę zobaczyć błąd regulacji temperatury i lekkie oscylacje), dla P=30000 regulacja nie działa, a dla P=33000 już jest nasycenie (brak regulacji)

7

P=21000

D=5

I=20

Dla przyjętej stałej czasowej ok. 40 s i granicznego wzmocnienia, obliczone parametry wg Ziegler-Nicholsa.

Moim zdaniem można jeszcze eksperymentalnie poprawiać, szczególnie I.

 

Uwagi na temat wykonywania pomiarów i pomiaru przykładowego

UWAGA1: wszędzie ustawienia czasu obliczania PID=0,01 s, oraz czasu zapisu DAC=0,01 s (zalecane - zmiana tych parametrów wymaga zmiany co najmniej wzmocnienia P). Za wyjątkiem punktu 1 pozostałe pomiary były wykonywane z wykorzystaniem pętli PID – automatycznej w trybie liczb rzeczywistych (float), z parametrami jak podano w kolumnie Warunki.

UWAGA2: nastawiona temperatura regulacji to 30,0 C, temperaturę mierzono miernikiem zewnętrznym (tak jak napięcie) – dlatego ze względu na kalibracje jest różnica ok. 0,35-0,45 C (widać to na wykresach temperatury).

UWAGA3: mierzonym obiektem był rezystor małej mocy podłączony do wyjścia regulatora, z nalepionymi termoparami. Ze względu na uszkodzenie/nieprawidłowe działanie obwodu wyjściowego regulacja napięcia jest zła. Wzmocnienie jest dwa razy za małe i przesunięcie także dwa razy za małe: zamiast -5 do +5 V, jest -1,25 do 3,75 V, jako napięcie „spoczynkowe” powinno być 0 V, a jest 1,25 V. Ponadto w przypadku rezystora moc jest wydzielana także przy napięciach ujemnych! Dla spoczynkowego punktu pracy ze względu na niezerowe napięcie spoczynkowe też jest wydzielana pewna moc.

UWAGA4: wykresy były wykonywane różnymi miernikami z rejestracją pomiaru na komputerze (zamiast rejestracji wewnętrznej systemu pomiarowego – jednorazowo chodziło mi o weryfikację pomiarów miernikami zewnętrznymi). Każdy ma inne oprogramowanie, więc nie można ujednolicić podstawy czasu (jeden podaje godzinę, drugi czas pomiaru), trudno też „zgrać” moment rozpoczęcia pomiaru – dlatego wykresy są oddzielne.

 

Procedura wykonywania pomiaru:

1.        Załączyć urządzenie

a.      Przed pomiarami sprawdzić, czy regulacja ma prawidłowy znak, tj. czy wzrostowi napięcia na wyjściu regulatora odpowiada (w przypadku regulacji temperatury) wzrost temperatury obiektu (jeśli nie – trzeba zmienić znak P)

2.      Na ekranie R8 zmienić:

a.      Parametr PID_DA na 0,01 s

b.      Parametr DAC_Pe na 0,01 s

c.      Nie testowane, ale jeśli nie będzie za dużego obciążenia systemu pomiarowego można wypróbować - dla zmniejszenia szumów można zwiększyć próbkowanie głównego Int_AD z 0,01 s na 0,001 s z jednoczesnym załączeniem uśredniania (zmiana parametru uśrednianie z 1 na 10). Podejrzewam, że się to jednak nie uda, ale gdy będą duże szumy – to samo uśrednianie można włączyć, licząc się z efektywnym zmniejszeniem częstotliwości próbkowania. Jeszcze jedno – zapisu nie warto ustawiać na zbyt częsty. Domyślne 0,1 s – czyli 10 wyników na sekundę wystarczy do wykonania wykresów.

3.     Na ekranie R5 zmienić (dla odpowiedniego, jednego z dwóch regulatorów PID – regulatory są identyczne):

a.      Ustawić poddawany regulacji parametr (np. oczekiwana temperaturę T1)

b.      Ustawić wartość parametru (np. 30C)

c.      Ustawić P

d.      Ustawić D

e.      Ustawić I

4.     Przyciskiem Mode zmienić tryb pracy z Manual na Auto (dla odpowiedniego, jednego z dwóch regulatorów PID), drugi lepiej pozostawić na Manual (wymusza stałe napięcie na wyjściu), jeśli nie jest używany, aby nie generował przypadkowych szumów

5.      Przyciskiem ON/OFF załączyć urządzenie (wyłączenie w każdej chwili tym samym przyciskiem)

6.     Na ekranie L4 można obserwować wartości parametru i jego zmiany, na ekranie R4 parametry regulacji.

 

Jak eksperymentalnie dobrać parametry P, I, D:

1.        Jak na rysunku – przykładzie nr 1 załączyć urządzenie (impuls jednostkowy) i obliczyć stałą czasową układu. Oczywiście impuls nie musi być wartości maksymalnej. Wartość napięcia (ale w jednostkach przetwornika DAC) można nastawiać ręcznie na ekranie R3.

2.      Zmierzyć wymagane wzmocnienie – należy ustawić parametry I i D na 0, zmieniać P włączając pętlę regulacji (nie zmieniać P w trakcie regulacji, zawsze musi być od początku):

a.      Jak to dalej jest opisane i wyjaśnione – najlepiej robić pomiary w pobliżu pożądanego punktu pracy urządzenia (np. oczekiwanej temperatury stabilizacji), ponieważ wzmocnienie może zależeć od punktu pracy

b.      Dla za małego wzmocnienia układ nie reaguje (bądź jest po włączeniu skok napięcia regulującego – a potem tylko nieduże jego zmiany)

c.      Dla za dużego wzmocnienia – układ się nasyca (osiąga wartość maksymalną lub minimalną napięcia regulującego)

d.      Zmiany mogą być bardzo „ostre”, wystarczy kilka procent odstrojenia i regulacja nie będzie działać lub nie będzie optymalna – w razie potrzeby trzeba to modyfikować już w trakcie właściwych pomiarów

e.      Najlepiej „iść” od skrajnych wartości (dających brak reakcji i nasycenie) nastawiać pośrednie, aż do momentu uzyskania lekkich oscylacji (wcale nie musi być to sinusoida)

f.        Tak jak w przykładzie: 30000 regulacja nie działa, 33000 układ się nasyca, wartość ok. 32000 daje pożądane lekkie oscylacje.

3.     Wartość I i D:

a.      Można to wykonać na podstawie przebiegu jak na przykładzie – rysunku 1. Otrzymujemy wartość stałej czasowej ok. 30-40 s (jest to bardzo przybliżona wartość). Na tej postawie i reguły Zieglera-Nicholsa obliczamy I i D: daje to ok. 20 i 5. Jednak jak widać jest to mało precyzyjne, tym bardziej, że dotyczy zupełnie innego wzmocnienia i ostatecznie na przebiegu jest przeregulowanie z bardzo lekkimi oscylacjami.

b.      Lepiej jest przy granicznym wzmocnieniu zmierzyć okres oscylacji. Dla P 32000 wynosił on 20 s. Z tego wynika, że I powinno mieć wartość 13, a D – 2,5. I to prawdopodobnie byłyby wartości bliższe optymalnym.

 

Jak „teoretycznie” obliczyć wartość P?

1.        Wszystko zależy od regulowanego parametru: jeśli regulujemy temperaturę, to na wejście pętli podajemy temperaturę zadaną i zmierzoną, a ona zwraca wartość zmiany temperatury, jaką należy zadać na obiekt (analogicznie z przepływem ciepła).  Jednak regulacja odbywa się pośrednio – podajemy w postaci cyfrowej wartość wpisywaną do przetwornika DAC, a potem wzmacnianą przez dodatkowy układ. Trzeba więc znać transmitancję całości obwodu. Innymi słowy potrzebujemy przelicznika jaką wartość trzeba wpisać do przetwornika, by uzyskać pożądaną zmianę. W naszym przypadku – załączonym przykładzie:

a.      Zmiana o 1 stopień C regulowanego obiektu wymaga zmiany napięcia na nim o ok. 0,5 V (będę zaokrąglał dla uproszczenia obliczeń) – na podstawie eksperymentalnego badania (trzeba to zmierzyć przed przewidywanym pomiarem i to najlepiej w otoczeniu pożądanego, późniejszego punktu pracy urządzenia).

b.      Zmiana o 0,5 V to 10% całego dostępnego zakresu (mamy uszkodzony-źle skalibrowany analogowy układ wyjściowy, daje on napięcia w zakresie -1,25 do ok. +3,75 V – stąd 5 V), co oznacza, że przetwornik DAC 12 bitowy – czyli 4096, wykorzystuje 10% zakresu – tj. ok. 410 jednostek. Odtąd wiemy, że transmitancja wynosi 410 punktów przetwornika na 1 C.

c.      Ale regulacja PID i zapis jej wartości do DAC ustawiona jest nie na 1 s, ale 100 razy na sekundę. Zatem łączna sekundowa zmiana wyniesie 410*100 = 41000.

d.      Z reguły Zieglera-Nicholsa dla regulatora PID przyjmujemy P = 0,65*Kp. Czyli ok. 26650. Jest to zbieżne z wartością uzyskaną w badaniu: 32000 (biorąc pod uwagę zaokrąglenia).

e.      UWAGA1 – to jest słuszne - o ile zależność regulowana wartość a zmienna regulująca jest linowa. Nawet w przykładzie tak nie jest, bo moc wydzielana w rezystorze zależy w kwadracie od napięcia i zgodnie z układami nieliniowymi – obliczenie jest słuszne tylko dla otoczenia punktu (punktu docelowego regulacji). Więc dla różnych temperatur docelowych trzeba mierzyć i obliczać wszystko od nowa.

 

Jak obliczyć wartość I i D?

1.        Można to wykonać na podstawie przebiegu jak na przykładzie – rysunku 1. Ponieważ dosyć trudno jest określić styczną i tym samym tak obliczona stała czasowa może mieć duży błąd, lepiej jest obliczyć ją na podstawie oscylacji układu (okresu oscylacji).

 

Propozycje na przyszłość:

1.        Możemy wykonać automatyczne przeliczanie podanego poprzednio punktu „Jak obliczyć wartość P”, wstawiając do urządzenia zależność między regulowanym parametrem a regulującym napięciem (a dokładniej podawaną na przetwornik wartością). Ale do tego potrzeba znajomość układu dla danego parametru, czyli o ile zmienia się temperatura (przepływ ciepła) przy zmianie na DAC o określoną wartość.

2.      Można się pokusić o automatyczne obliczanie parametrów P, I, D. Nie wiem, jaki da efekt, ale w dalekiej przyszłości jest to możliwe.

3.     Trzeba koniecznie zrobić ekranowanie przetworników.

4.     PID jest wykonany w trzech wersjach, ale wersja int i long – w przypadku gdy dobrze działa wersja float – nie ma chyba sensu. W dodatku int się łatwo przepełnia. Dlatego lepiej zostawmy w pomiarach z wykorzystaniem floata (FLT).

Powrót na stronę główn± - Info o stronie, prawa autorskie, legalno¶ć itd. tutaj
Prywatne serwery Zbigniewa Kuleszy zjk.pl. Aktualny dostawca Internetu - Vectra.pl, Wszelkie prawa zastrzeżone. Zespół redakcyjny zjk.pl: zjk7@wp.pl
W sprawie tre¶ci i działania strony oraz w sprawie funkcjonowania i udostępniania tre¶ci na serwerach zjk.pl - kontakt z administratorem: webmaster@zjk.pl lub zjk7@wp.pl

Valid HTML 4.01 TransitionalValid XHTML 1.0 TransitionalPoprawny CSS!Poprawny CSS!

Copyright (c): Zbigniew Kulesza, Sieradz 2002-2017