Elektroda.pl
Elektroda.pl
X
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Nastawy PID dla grzałek 2500W

26 Sie 2019 17:19 342 12
  • Poziom 3  
    Witam,

    mam problem z doborem nastaw mojego regulatora PID. Buduję sterownik do kotła zacierno- warzelnego z dwoma grzałkami 1000W oraz 1500W połączonych równolegle. Sterowanie odbywa się za pomocą SSR 40A który jest załączany PWM z Arduino o częstotliwości 1Hz.

    Na początku wyznaczyłem odpowiedź skokową układu. Poniżej efekt dla 9l wody (temperatura startowa 52stC).

    Nastawy PID dla grzałek 2500W

    Z racji, iż długo trwa osiągnięcie wartości ustalonej zdecydowałem się użyć metody COHENA–COONA do doboru nastaw PID. Znalazłem na jednej ze stron jak dobrać poszczególne wartości:
    Nastawy PID dla grzałek 2500W Nastawy PID dla grzałek 2500W Nastawy PID dla grzałek 2500W

    W moim przypadku 0.283Yu to temperatura 64,87stC i osiągnąłem ją po 271s.
    0.632Yu to 81.97stC i osiągnięto ją po 565s. Na podstawie tych czasów obliczyłem Tm=441s, Dm=144, Km=0.192 (tutaj jako Yu użyłem 49 jako różnica temperatur a U wpisałem 255 jako maksymalna wartość PWM) , a nastepnie Kp=25.98, Ti=273.93 oraz Td=42.9. Obliczone wartości podstawiłem do poniższego kodu.

    I w tescie np. do grzania wody do 60stC wartość wypełnienia rośnie od 25/255 co 1 i przy temperaturze 60stC uzyskał 90/255 i później tak samo wolno zmniejszał tą wartość co skutkuje przegrzaniem. Do temperatury np 90stC gdy sterownik się "rozpędzi" i uzyska maksymalne 255 to wtedy tak samo wolno zmniejsza wartość co skutkuje zagotowaniem wody i osiągnięciem 100stC.

    Kolejnym testem było wrócenie do kodu gdzie miałem Kp, Kd i Ki, działało lepiej chociaż też spore przeregulowanie, ale nie mogę zrealizować tego na metodzie prób i błedów poniewaz po pierwsze zajęło by to rok, a po drugie jest to część magistrki i muszę to policzyć, lecz nie wiem w którym momencie popełniam błąd. Czy ktoś z Was może to widzi?


    Poniżej przedstawiam mój kod, część tylko od PID - próbkowanie ustawione na 50 milisekund.

    Kod: c
    Zaloguj się, aby zobaczyć kod
    [/code]

    Dodano po 54 [minuty]:

    Chyba sam znalazłem błąd. W równaniu zamiast:

    wypelnienie = Kp*(1 + errorSum*(1/Ti) + Td*Derror);

    powinno być:

    wypelnienie = Kp*(uchyb + errorSum*(1/Ti) + Td*Derror);

    Jednak dla temperatur około 65stC uzyskałem przeregulowanie około 1.5stC, a przy 76stC już 3 stopnie ponad. W temperaturze 78stC miałem jeszcze wypełnienie 20%. Czy w tym przypadku ma ktoś jakiś pomysł jak to usprawnić? Lub gdzie jest błąd w obliczeniach?
  • Computer Controls
  • Poziom 23  
    1.
    Grzanie wody to banał.

    Wyłącz D I zapomnij o nim, bo nic nie wnosi, a może tylko bruździć.

    Na czystym P trzeba znaleźć próg oscylacji, tzn wartość wzmocnienia dla której oscylacje znikają, a temperatura dochodząc zatrzymuje się na jakiejś wartości poniżej zej zadanej. Potem to uzyskane wzmocnienie korygujemy mnozac razy 0,7 ... 0,8 i włączamy całkę zaczynajac od bardzo leniwej patrząc na zmiany mierzonej. Należy doprowadzić całkę do wartości przy której są oscylacje wokół zadanej ale jak najmniejsze i najwolniejsze.

    2.
    Po mojemu algorytm kolegi ma jeden podstawowy feler, a mianowicie brak ograniczenia błędu kazdego z członów, przed ich zsumowaniem.

    Błędy nie powinny lecieć w nieskończoność, a co najwyżej w jakieś umowne +/-100% tak jak to się dzieje po zsumowaniu i przeliczeniu na PWM. Zwłaszcza całka.

    Rozdzielczość 255 to mało,
    0,1% (+/- 1000) jest już przyzwoita,
    pidy w PLC mają to zwykle na poziomie ~dwudziestokrotnie wyższym.
    Oczywiście chodzi o rozdzielczość wyliczania błędów cząstkowych a nie poziom dyskretyzacji sygnału wyjściowego na SSR.

    Gdybym to robił sam, to iteracja co 1sek. Dla porządku.
    50msek nic nie daje a zaciemnia obraz calosci i utrudnia całkowanie (małe błędy mogą ginąć).
  • Computer Controls
  • Poziom 3  
    gag70 napisał:
    1.
    Grzanie wody to banał.

    Wyłącz D I zapomnij o nim, bo nic nie wnosi, a może tylko bruździć.


    No właśnie D mi sieje dziwnymi wartościami, ponieważ co jakiś czas zmienia się uchyb (stały skok temperatur około 0.07) i przy tych wartościach dziwnie się zachowuje przy czasie próbkowania 1s. Dla 50ms nie ma czasu "nabruździć".

    gag70 napisał:

    Na czystym P trzeba znaleźć próg oscylacji, tzn wartość wzmocnienia dla której oscylacje znikają, a temperatura dochodząc zatrzymuje się na jakiejś wartości poniżej zej zadanej. Potem to uzyskane wzmocnienie korygujemy mnozac razy 0,7 ... 0,8 i włączamy całkę zaczynajac od bardzo leniwej patrząc na zmiany mierzonej. Należy doprowadzić całkę do wartości przy której są oscylacje wokół zadanej ale jak najmniejsze i najwolniejsze.


    Co masz na myśli pisząc kiedy oscylacje znikaja? Kiedy uzyskamy stałą wartość, niższą od ustalonej, ale ze stabilnością?

    gag70 napisał:

    2.
    Po mojemu algorytm kolegi ma jeden podstawowy feler, a mianowicie brak ograniczenia błędu kazdego z członów, przed ich zsumowaniem.

    Błędy nie powinny lecieć w nieskończoność, a co najwyżej w jakieś umowne +/-100% tak jak to się dzieje po zsumowaniu i przeliczeniu na PWM. Zwłaszcza całka.


    Tu się zgadzam. Ograniczyłem je do 255 (poki to jest mój zakres - zwiększę jak radziłes). Mimo wszystko gdy uchyb jest bardzo duży do zanim uzyskam wartość ustaloną, całka przyjmie wartość 255 i wolno spada przy uzyskaniu wartości ustalonej. Czyli jeszcze dlugo w sumie jest wartość około 255 i wolno maleje. To był test dla 1s - dla 50ms było lepiej. I tu nie gineły błędy bardzo ładnie sumowało mi wartość errorSum odpowiedzialną za sumowanie całek poprzednich.

    Dodano po 2 [minuty]:

    Wojciech. napisał:
    @suchejroo Może powinniśmy zacząć od tego czy metoda C-C cokolwiek optymalizuje? Parametry dobrane z tabeli pozwalają nam tylko uzyskać wartość zadaną.


    Tak tak, może źle to sformułowałem. Początkowo nawet tego nie mogłem uzyskać ale znalazłem błąd - podpowiesz może w jaki sposób to optomalizować? Chodzi mi o metody matematyczne (oczywiście przetestuję też metodę kolegi wyżej), ponieważ jak wspominałem, muszę to też wrzucić w pracę dyplomową :)
  • Poziom 23  
    suchejroo napisał:
    Co masz na myśli pisząc kiedy oscylacje znikaja? Kiedy uzyskamy stałą wartość, niższą od ustalonej, ale ze stabilnością?

    Ustawiasz na początek duże wzmocnienie, takie żeby mierzona oscylowała wokół zadanej, a potem powoli zmniejszasz wzmocnienie aż do zaniku oscylacji i ustalenia się mierzonej na stabilnej wartości poniżej zadanej,
  • Poziom 14  
    Witam, mam kilka uwag praktycznych :
    1. Tzw. nasycenie sygnału sterującego czyli windup wynosi 255, biorąc pod uwagę częstotliwość wykonywania pętli PID i wartość błędu taką wartość uzyskuje sie błyskawicznie jeśli aktywizować całkowania.

    Stąd albo błąd należy sobie przeskalować do rozsądnego zakresu może być <-1,1> i dopiero później na tych cząstkowych wartościach liczyć PID, wówczas można dawać duże wartości Kp. Albo rozsądnie ustawić częstotliwość wykonania PID. Opisałem to nieco później.

    2. W algorytmie jest proste ograniczenie windup, poprzez warunki IF i to ma działać jak antiwindup, ale nie działa ponieważ antiwindup ma wyłączać liczenie całki, jeśli ona wchodzi w zakres nasycenia sygnału wykonawczego. - w załączeniu doskonały artykuł na ten temat.

    3. Odradzam generalnie zabawę z regułami Zieglera - NIcholsa na początek, to są fajne teorie, ale do analizy i zabaw jak rozsądek nie działa.
    W zasadzie jest prosty sposób postępowania z PID :
    0 - ustaw Kp w zakresie (0,1) i ustaw SP wartość zadaną gdzieś po środku <Sp_min, SP_max>, żeby w razie czego nie wysokoczyć z wartością PV poza zakres dopuszczalnych SP
    1 - Uruchom i popatrz w stanie ustalonym jaki jest błąd
    2. Jeśli układ pozostaje martwy, spokojnie można wstawić Kp większe od 1, ale zwiększać należy stopniowo, nie od razu 100 i więcej.
    3. Jeśli obiekt oodpowiedział i się stabilizuje z jakimś błędem ale bez oscylacji , to można zwiększać nadal Kp, jeśli oscylacje powstają to zmniejszamy Kp.
    4. Jeśli układ ma uchyb statyczny - błąd niezerowy, to dodajemy całkowanie, ale bardzo małe (jeśli Ti występuj w algorytmie w postaci niewymiernej 1/Ti to zakres na początek <50-100>, odpowiednio jako wymierne <1/100,1/50>.
    5. Jeśli układ zregulowuje za wolno, zwiększamy całkowanie itd.

    Ostatnia kwestia to częstotliwość wykoania PID, jeśli to układ termiczny i mamy jego odpowiedź bez regulowania po prostu podajemy grzanie i on się stabilizuje sam, to można oszacować ile razy na sekundę wykonać PID na postawie wykresu.
    Odmierz mniej więcej 90% wartości poziomu wyrównania PV i sprawdź jakiemu to odpowiada czasowi w sekundach potem podziel przez 10-30 i dostaniesz czas co jaki można wykonywać PID, bez utraty stabilności wynikającej z utraty informacji o procesie.


    Jeszcze jedno grzanie wody to nie banał, to jest obiekt z opóźnieniem, obiekt przez pewien czas może nie odpowiadać, a w tym czasie PID z całkowaniem pompuje całkę i co wtedy ? Całe tomy na ten temat powstały.
    W takim przypadku pozostaje kombinowanie lub predyktor Smith'a jeśli zależy nam na usunięciu oscylacji.

    Kolejna sprawa to moc układu wykonawczego tj. grzałki i jej dynamiki oraz charakterystyki statycznej. Jeśli to tak naprawdę grzalka daje opóźnienia a nie obiekt i dodatkowo grzałka nie działa liniowo ze wzrostem sygnału sterującego to nigdy oscylacji się nie usunie moim zdaniem. Zasada jest taka urządzenie wykonawcze powinno mieć pomijalną dynamikę i charakterystykę możliwie liniową w zakresie działania obiektu. Jak to uzyskać przy grzałce ? Tu przydałaby się charakterystyka skokowa grzałki, obiektu i analiza porównawcza.
    W załączeniu artykuł, w ktorym gość przetestował wszystkie możliwe i aplikowalne metody dostrajania i właśnie na obiekcie cieplnym ale o lepsze dynamice.
  • Poziom 23  
    Zgredzio69 napisał:
    Jeszcze jedno grzanie wody to nie banał, to jest obiekt z opóźnieniem, obiekt przez pewien czas może nie odpowiadać, a w tym czasie PID z całkowaniem pompuje całkę i co wtedy ? Całe tomy na ten temat powstały.
    W takim przypadku pozostaje kombinowanie lub predyktor Smith'a jeśli zależy nam na usunięciu oscylacji.

    Kolejna sprawa to moc układu wykonawczego tj. grzałki i jej dynamiki oraz charakterystyki statycznej. Jeśli to tak naprawdę grzalka daje opóźnienia a nie obiekt i dodatkowo grzałka nie działa liniowo ze wzrostem sygnału sterującego to nigdy oscylacji się nie usunie moim zdaniem.


    Grzanie wody to naprawdę banał. Obiekt inercyjny pierwszego rzędu, nie ma nic prostszego do regulacji.

    To co kolega pisze dalej to faktycznie prawda i zarazem elementarz dla technologa konstruującego układ. Grzałka nie może mieć zbyt grubej osłony żeby nie wnosiła inercji porównywalnych z obiektem, a jej moc powinna być znacznie większa niż moc strat regulowanego obiektu w całym zakresie nastaw. Spełnienie tych dwóch naprawdę prostych warunków zabezpiecza bezinercyjnosc i liniowość. Nie trzeba wtedy robić doktoratu.
  • Poziom 14  
    gag70 napisał:
    Grzanie wody to naprawdę banał. Obiekt inercyjny pierwszego rzędu, nie ma nic prostszego do regulacji.

    To co kolega pisze dalej to faktycznie prawda i zarazem elementarz dla technologa konstruującego układ. Grzałka nie może mieć zbyt grubej osłony żeby nie wnosiła inercji porównywalnych z obiektem, a jej moc powinna być znacznie większa niż moc strat regulowanego obiektu w całym zakresie nastaw. Spełnienie tych dwóch naprawdę prostych warunków zabezpiecza bezinercyjnosc i liniowość. Nie trzeba wtedy robić doktoratu.


    Dokładnie tak. Zgadzam się w 100%.
    Z moich doświadczeń wynika, że jeśli układ wykonawczo nastawczy w tym przypadku SSR + grzałka będzie odpowiedni szybki i nieprzewymiarowany w stosunku do obiektu (moc grzałki za duża w stosunku do pojemności energetycznej 10 l wody) to można praktycznie grzać idealnie.
    Widziałem jednak te grzałki do takich systemów wytwarzania zacierów...

    Moim zdaniem tam jest więcej problemów natury instalatorskiej niż z tym PID :
    1. gdzie umieścić czujnik tj. czy roztwór będzie się równomiernie grzał, jeśli nie to
    2. czy dać małe mieszadło ?
    W czajniku sprawa jest prosta, woda wrze się miesza, a tutaj do wrzenia nie można dopuścić, bo się zabije te żyjątka, ktore dobroć końcową wytwarzają :D .

    Szczerze to poleciłbym koledze zwykły OnOff plus odpowiednio dobrane nastawy wysterowania SSR w stanie ON i OFF tak aby trzymać układ w limitach temperatury dopuszczalnej, żeby nie ubić żyjątek. Problem to start systemu kiedy jedziemy od temperatury otoczenia, wówczas przy pierwszym cyklu trzebaby dać odpowiednio mniejsze wysterowanie. Ale to już heurystyka.
  • Poziom 3  
    Zgredzio69 napisał:
    gag70 napisał:
    Grzanie wody to naprawdę banał. Obiekt inercyjny pierwszego rzędu, nie ma nic prostszego do regulacji.

    To co kolega pisze dalej to faktycznie prawda i zarazem elementarz dla technologa konstruującego układ. Grzałka nie może mieć zbyt grubej osłony żeby nie wnosiła inercji porównywalnych z obiektem, a jej moc powinna być znacznie większa niż moc strat regulowanego obiektu w całym zakresie nastaw. Spełnienie tych dwóch naprawdę prostych warunków zabezpiecza bezinercyjnosc i liniowość. Nie trzeba wtedy robić doktoratu.


    Dokładnie tak. Zgadzam się w 100%.
    Z moich doświadczeń wynika, że jeśli układ wykonawczo nastawczy w tym przypadku SSR + grzałka będzie odpowiedni szybki i nieprzewymiarowany w stosunku do obiektu (moc grzałki za duża w stosunku do pojemności energetycznej 10 l wody) to można praktycznie grzać idealnie.
    Widziałem jednak te grzałki do takich systemów wytwarzania zacierów...

    Moim zdaniem tam jest więcej problemów natury instalatorskiej niż z tym PID :
    1. gdzie umieścić czujnik tj. czy roztwór będzie się równomiernie grzał, jeśli nie to
    2. czy dać małe mieszadło ?
    W czajniku sprawa jest prosta, woda wrze się miesza, a tutaj do wrzenia nie można dopuścić, bo się zabije te żyjątka, ktore dobroć końcową wytwarzają :D .

    Szczerze to poleciłbym koledze zwykły OnOff plus odpowiednio dobrane nastawy wysterowania SSR w stanie ON i OFF tak aby trzymać układ w limitach temperatury dopuszczalnej, żeby nie ubić żyjątek. Problem to start systemu kiedy jedziemy od temperatury otoczenia, wówczas przy pierwszym cyklu trzebaby dać odpowiednio mniejsze wysterowanie. Ale to już heurystyka.


    Przestudiowałem cały Twoj poprzedni tekst i zaraz działam. Nie może być OnOff ponieważ główny temat pracy to sterowanie gdyż tematem jest "zaawansowany sterownik kotła zaciernego". Lata studiów, matmy i liczenia ale co z tego jak nigdy nie zrobiłem ani jednego praktycznie? Dlatego zaczynam, wiem że od "banałów" ale muszę to ogarnąc po prostu jak działa od praktyki - myślę, że już rozumiem. Męczą mnie te testy ponieważ raz zrobisz test i czekasz aż woda ostygnie - chociaż wspomagam się zamrożoną wodą w PETach. Dlatego każda uwaga jest cenna od osób które już to robiły i dziękuję :)

    Po tym PID zamierzam zrobić sterowanie rozmyte. Początkowo miał byc sterownik predykcyjny bądź adaptacyjny ale wątpie, że podołam :D Robie bardzie ten sterownik dla pracy magisterskiej niż by pomóc w hobby (już gotowy kocioł przecież ze sterownikiem mam) :)


    Aaaa i kocioł ma pompę ktora ma dwa wyjścia - jedno przy dnie by wzbudzać to co "leży" na grzałkach by nie było przypalenia, a drugie wyjście od góry.
  • Poziom 14  
    Myślałem, że to ma być jakiś hobbystyczny projekt. A tu praca inżynierska... No nic musisz kolego trochę tam nauki wtłoczyć niestety. Artykuły powinny być pomocne.
    Z tym fuzzy ostrożnie, nie wiem jaki to w ogóle ma w tym obiekcie sens. Sztuka dla sztuki. Skoro PID na 100% będzie działał. Fuzzy ma sens tylko dla przypadku wielowymiarowych, gdzie trudno sformułować algorytm bez opisu fizyki procesu.
    Przykład : suwnica - trzeba przejechać z 1 punktu do drugiego jak najszybciej się da nie powodując kołysań.
    Algorytm ma dwa wejścia : odległość i kąt kołysań i jedno wyjście : moc silnika
    Można dość prosto sformułować strategię na zasadzie IF THEN i potem wtłoczyć do fuzzy. To działa. A tu po co nie wiem.
    Powiedziałbym, że jeśli udowodnisz, że obiekt ma opóżnienie, to predyktor smitha się nada. I masz super naukę.

    Odnośnie PID polecam strojenie metodą przekaźnikową która jest takim quasi Zieglerem Nicholsem ale bez niebezpieczeństwa rozwalenia obiektu. W drugim artykule jest to opisane.
    Powodzenia
  • Poziom 3  
    Zgredzio69 napisał:
    Myślałem, że to ma być jakiś hobbystyczny projekt. A tu praca inżynierska... No nic musisz kolego trochę tam nauki wtłoczyć niestety. Artykuły powinny być pomocne.
    Z tym fuzzy ostrożnie, nie wiem jaki to w ogóle ma w tym obiekcie sens. Sztuka dla sztuki. Skoro PID na 100% będzie działał. Fuzzy ma sens tylko dla przypadku wielowymiarowych, gdzie trudno sformułować algorytm bez opisu fizyki procesu.
    Przykład : suwnica - trzeba przejechać z 1 punktu do drugiego jak najszybciej się da nie powodując kołysań.
    Algorytm ma dwa wejścia : odległość i kąt kołysań i jedno wyjście : moc silnika
    Można dość prosto sformułować strategię na zasadzie IF THEN i potem wtłoczyć do fuzzy. To działa. A tu po co nie wiem.
    Powiedziałbym, że jeśli udowodnisz, że obiekt ma opóżnienie, to predyktor smitha się nada. I masz super naukę.

    Odnośnie PID polecam strojenie metodą przekaźnikową która jest takim quasi Zieglerem Nicholsem ale bez niebezpieczeństwa rozwalenia obiektu. W drugim artykule jest to opisane.
    Powodzenia


    Powiem tak, że wiedza jako taka była, bardziej chodzi o połączenie wszystkich wzorów itp na praktyce - właśnie okazuje się, że wzory skomplikowane, a w praktyce wychodzi to o wiele łatwiej

    To Cię zaskoczę - inżyniera już mam, praca magisterska. Tylko, że wracam do tego po dwóch latach, a w tym czasie pracuje jako robotyk i staram się przywrócić informacje :)

    A powiedz mi jeszcze jedno, czy dobrze myślę - każda inna ilość wody jest innym obiektem oraz potrzebuje nowych nastaw, czyż nie? Inaczej będzie dla 10 litrów, inaczej dla 25 litrów.
  • Poziom 14  
    suchejroo napisał:
    A powiedz mi jeszcze jedno, czy dobrze myślę - każda inna ilość wody jest innym obiektem oraz potrzebuje nowych nastaw, czyż nie? Inaczej będzie dla 10 litrów, inaczej dla 25 litrów.


    Dobre pytanie : zupełnie teoretycznie, jeśli założymy, że dla pojemność cieplna zależy liniowo od objętości to PID będzie dla takich samych nastaw działać i dla 25 l. W praktyce niekoniecznie tak będzie : inny punkt pracy i zmiana nastaw.
    Ale jeśli zbadasz jak trzeba przestawić nastawy to z tego można wyklecić formułę na nastawy i zmieniać je w funkcji objętości, taki gain scheduling prymitywny.

    Powtórzę się : moim skromnym zdaniem najważniejszy jest układ wykonawczo-nastawczy musi być dobrany nominalnie do pojemności energetycznej obiektu : jeśli jest za mało wydajny to PID nic nie da bo zamienia się w ONOFF, a jeśli przewymiarowany to będzie miał tendencje to oscylacji - mówi się, że układ regulacji ma wąskie pasmo regulacji. Przykład do akwarium dajesz pompę o wydajności 1000 l/m, lub do basenu pompkę od spryskiwacza. Celowo przerysowałem, ale to właśnie o to chodzi. Tak jak pisał kolega gag70 to sprawa technologa.
    Fizyki się nie przeskoczy nawet super adaptacyjnym regulatorem z neurofuzzy.
    Tak więc jeśli zmienisz objętość, to grzałka będzie być może za mała wydajnościowo i to może spowodować niewydolność układu.

    W naszych szkołach sie tego nie uczy, bo to takie trywialne i nienaukowe jest. A to jest klucz do sterowania. Na marginesie PID sprawdza sie w 95 przypadkach na 100 - to są fakty.
  • Poziom 3  
    Zgredzio69 napisał:
    suchejroo napisał:
    A powiedz mi jeszcze jedno, czy dobrze myślę - każda inna ilość wody jest innym obiektem oraz potrzebuje nowych nastaw, czyż nie? Inaczej będzie dla 10 litrów, inaczej dla 25 litrów.


    Dobre pytanie : zupełnie teoretycznie, jeśli założymy, że dla pojemność cieplna zależy liniowo od objętości to PID będzie dla takich samych nastaw działać i dla 25 l. W praktyce niekoniecznie tak będzie : inny punkt pracy i zmiana nastaw.
    Ale jeśli zbadasz jak trzeba przestawić nastawy to z tego można wyklecić formułę na nastawy i zmieniać je w funkcji objętości, taki gain scheduling prymitywny.

    Powtórzę się : moim skromnym zdaniem najważniejszy jest układ wykonawczo-nastawczy musi być dobrany nominalnie do pojemności energetycznej obiektu : jeśli jest za mało wydajny to PID nic nie da bo zamienia się w ONOFF, a jeśli przewymiarowany to będzie miał tendencje to oscylacji - mówi się, że układ regulacji ma wąskie pasmo regulacji. Przykład do akwarium dajesz pompę o wydajności 1000 l/m, lub do basenu pompkę od spryskiwacza. Celowo przerysowałem, ale to właśnie o to chodzi. Tak jak pisał kolega gag70 to sprawa technologa.
    Fizyki się nie przeskoczy nawet super adaptacyjnym regulatorem z neurofuzzy.
    Tak więc jeśli zmienisz objętość, to grzałka będzie być może za mała wydajnościowo i to może spowodować niewydolność układu.

    W naszych szkołach sie tego nie uczy, bo to takie trywialne i nienaukowe jest. A to jest klucz do sterowania. Na marginesie PID sprawdza sie w 95 przypadkach na 100 - to są fakty.


    Rozumiem, właśnie o to mi chodziło pisząc ten temat, dzięki Panowie.

    Zrobiłem kilka testów, przy Kp wyznaczonym jako 200 uzyskałem ciekawy wynik, szybciej osiągnąłem temperaturę bez większego przeregulowania, dodałem całkę Ti=20000 przy mojej konfiguracji i wyszło moim zdaniem bardzo dobrze - przeregulowanie maksymalne 0.12 st C powyżej oraz 0.3stC poniżej. Póki co sam PI zrobiłem.

    Mam też pytanie jak dobrze dobrac całkowanie? Ograniczyłem je do przeliczania tylko gdy uchyb się zmienia i inaczej jest, gdy dogrzewam o 6 stopni, a inaczej o 15 stopni ponieważ wartość całki namagazynuje się bardziej i trzyma się ta wartość.