logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wyznaczenie PID przy pomocy Matlaba/Simulink i próbek

zybelek 04 Mar 2008 15:42 4903 8
  • #1 4872225
    zybelek
    Poziom 12  
    Posty: 120
    Ocena: 14
    Witam!
    Mam w pliku próbki pomiarowe czas i temperatura. Próbki te wyznaczają mi charakterystykę cieplną obiektu.
    Ma ktoś ciekawy pomysł jak to wczytać do Simulinka i dobrać parametry PID ?
    Przy okazji można by było potestować.
    Może jest gdzieś gotowa aplikacja pod matlaba do zaczytania pliku i testowania?

    Pozdro
  • #2 4873739
    skuras
    Poziom 16  
    Posty: 166
    Pomógł: 18
    Ocena: 41
    Do matlaba mozna zaimoprtować pliki z danymi, potem możesz zrobić identyfikację (jak pamiętam to jak wpiszesz ident), a potem jak będizesz miał obiekt to sobie dobierzesz parametry z tabel (np. Nichols ziegler) albo za pomocą bloczka NCD w simulinku
  • #3 4873821
    zybelek
    Poziom 12  
    Posty: 120
    Ocena: 14
    witam!
    Do matlaba wciągam plik tekstowy z czasem i temperaturą a wyglada on tak:
    0 7.8
    30 7.8
    60 8.1
    90 9.2
    120 10.9
    150 13.2
    180 15.7
    210 18.4
    240 21.4
    270 24.8
    itd.... (około 300 próbek)

    Do matlaba wciągam plik tak:

    fid = fopen('plik.txt', 'r');
    a = fscanf(fid, '%f');
    fclose(fid);
    plot(a(1:2:end), a(2:2:end));


    i otrzymuje wykres charakterystyki obiektu.

    Czyli teraz mam to zapisać jako obiekt? a obiekt zaimportować do Simulinka?
  • #4 4875106
    skuras
    Poziom 16  
    Posty: 166
    Pomógł: 18
    Ocena: 41
    mozesz zrobić identyfikację (np. w matlbie wpisujesz "ident "i pojawia Ci się gotowe narzędzie do idenyfikacji), możeszna podstawie charakterystyki okreslić sam parametry czyli stałą czasową, wzmocnienie i opóźnienie.
    PS. Importowaćmożna szybciej poprzez wybranie z menu Plik opcję Import Data
  • #5 4876481
    zybelek
    Poziom 12  
    Posty: 120
    Ocena: 14
    Ok wciągam plik z danymi do matlaba. Wpisuję ident i otwiera mi się okno w którym trzeba wypełnić pola. Jedyne co mi się odpala to jakieś aplikacje demo. Zastanawiam się jak mam wciągnąc te dane.

    A nie powinienem najpierw sobie stworzyć modelu matematycznego z danych które mam w pliku i zaimportować model matematyczny do NCD ?
    Załączniki:
    • Wyznaczenie PID przy pomocy Matlaba/Simulink i próbek data.gif (12.94 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 4878259
    skuras
    Poziom 16  
    Posty: 166
    Pomógł: 18
    Ocena: 41
    NO własnie ten model matematyczny czyli transmitancje chcesz otrzymać. Do ident musisz zaimportowac z workspice dane wejściowe iwyjściowe (np. sygnał skokowy i sygnał wyjściowy - temperature) ptem wybierasz typ estymaty i Ci wychodzi transmitancja.
    Jak mówiłem jak masz juz charakterystykę to możesz na piechotę obliczyć wzocnienie, stała czasową i opóźnienie i też będziesz miał transmitancję.
    jak możesz to prześlij m swoje dane to się pobawię tylko nie obiecuje czy znajdę wystarczająco dużo czasu wolnego :)

    Może jest jakis sposób zasania odrazu do simulinka charakterystyk w celu identyfikacji ale ja tego nie znam (narzędzia do identyfikacji w simulinku)
  • #7 4878608
    zybelek
    Poziom 12  
    Posty: 120
    Ocena: 14
    Witam!
    Ok zatem do pobrania plik z próbkami w formacie TXT gdzie pierwszy rząd to czas mierzony co 30 sek. a drugi rząd to temperatura.
    Chciałbym symulować to w celu dobrania nastaw PID.
    A ja dalej kombinuję i czytam materiały jak to ugryść.
    Jak bym miał model matematyczny to mogę wzór wklepać w Simulinku - tam jest gotowy regulator PID z konsolą NCD
    Pozdrawiam
    Ps. Jest to charakterystyka wymiennika ciepła Para-Woda
    Załączniki:
    • dane.txt (825 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 4879068
    skuras
    Poziom 16  
    Posty: 166
    Pomógł: 18
    Ocena: 41
    Do ident przydałby sie też sygnał wejsciowy (np. stopień otwarcia zaworu). Ja załozyłem że masz zawór otwarty na 100% i wtedy tak ma się model
    Continuous-time IDPOLY model: y(t) = [B(s)/F(s)]u(t) + e(t)
    B(s) = 0.0008991 s + 1.948e-008

    F(s) = s^2 - 0.0006634 s + 1.014e-006

    Ręcznie jak określałem(na podstawie charakterystyki, czyli styczna itp) to wyszło mi T=~1250 s. L=30 s (czas opóźnienia) i zakładając że masz zawór to wzmcnienie K=1.75 czyli transmitancja 1,75/(1250s+1) plus opóznienie
  • #9 4889008
    zybelek
    Poziom 12  
    Posty: 120
    Ocena: 14
    Witam!
    Tak zawór (automat) pracuje tylko w skrajnych położeniach czyli albo 100% otwarty albo 100% zamknięty.

    Właśnie się zastanawiam ja do tego doszedłeś? W sumie nie szukałem gotowego wyniku lecz chciałbym się nauczyć jak to zrobić. Więc jeśli to by był nie problem prosił bym o jakiś opis krok po kroku.....
    Pozdrawiam!

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy metody wyznaczenia parametrów regulatora PID na podstawie próbek pomiarowych czasu i temperatury charakterystyki cieplnej obiektu, wczytanych do Matlaba i Simulinka. Użytkownik posiada plik tekstowy z danymi pomiarowymi (czas, temperatura) i pyta o sposób importu tych danych do Simulinka oraz o metody identyfikacji modelu matematycznego obiektu. W odpowiedziach sugerowano użycie funkcji importu danych w Matlabie, narzędzia identyfikacji systemów (polecenie ident) do estymacji transmitancji obiektu na podstawie sygnałów wejściowych i wyjściowych, a także ręczne wyznaczenie parametrów takich jak wzmocnienie, stała czasowa i opóźnienie na podstawie charakterystyki. Wskazano możliwość wykorzystania bloczka NCD w Simulinku do doboru nastaw PID. Podkreślono, że do skutecznej identyfikacji potrzebny jest sygnał wejściowy (np. stopień otwarcia zaworu), a w przypadku wymiennika ciepła Para-Woda zawór pracuje w trybie skrajnych położeń (0% lub 100%). Przedstawiono przykładową transmitancję obiektu oraz parametry: wzmocnienie K=1.75, stała czasowa T≈1250 s, opóźnienie L=30 s. Omówiono krok po kroku proces importu danych, identyfikacji modelu i symulacji w Simulinku w celu doboru regulatora PID.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA