Plus minus
Strona domowa Ireny i Zbigniewa Kuleszów
Serdecznie witamy na domowych, prywatnych serwerach
Dzisiaj jest: 2026-07-31  Aktualizacja strony dnia: [an error occurred while processing this directive]
Jezyki
Rocznica 24 lat pracy serwerów i strony zjk.pl :-) (od 2002)
24 lat nieprzerwanej pracy z systemem FreeBSD / 24 years of continuous work with FreeBSD
system
UWAGA! Ten serwis, strona i podstrony mogą używać cookies i podobnych technologii (brak zmiany ustawienia przeglądarki oznacza zgodę na to)!
Powitanie Autor Irena Zbigniew Elektronika Studenci Serwer Sieradz Kolejka Pobierz Linki Kontakt 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ą - Informacje o stronie, prawa autorskie, legalność itd. tutaj
Informacje o przetwarzaniu i ochronie danych osobowych, kontakt i zapytania 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 Transitional Valid XHTML 1.0 Transitional Poprawny CSS! Poprawny CSS!

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