<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=8&amp;t=21005&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-08-13T09:02:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=21005&amp;mode</id>
<entry>
<author><name><![CDATA[Pixelxx]]></name></author>
<updated>2018-07-20T08:17:05+01:00</updated>
<published>2018-07-20T08:17:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209962#p209962</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209962#p209962"/>
<title type="html"><![CDATA[Re: Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209962#p209962"><![CDATA[
Rozumiem już trochę lepiej to. Na chwilę obecną dodałem do regulatora zależność od czasu i wygląda to tak:<br />Wszystko piszę w języku C na uC Atmega32 bo nie wspomniałem wcześniej.<br />Dodałem przerwanie co jedną milisekunde, i w pętli głównej do zmiennej ,,now&quot; przypisuje milisekundy które przenoszę do funkcji regulatora PID, którego kod zamieściłem poniżej i czy jest on poprawny waszym zdaniem, więc wychodzi, ze regulator uruchamiam co 200ms. Myślę, że jest to wystarczający czas. Kodu do zjawiska antiwindup nie dodałem bo jeszcze nie wiem jak to zapisać (rozumiem teoretycznie).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19122">Pixelxx</a> — 20 lip 2018, o 08:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2018-07-19T04:18:30+01:00</updated>
<published>2018-07-19T04:18:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209919#p209919</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209919#p209919"/>
<title type="html"><![CDATA[Re: Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209919#p209919"><![CDATA[
Patrz  <!-- m --><a class="postlink" href="https://iautomatyka.pl/kurs-regulacji-pid-wplyw-nieliniowosci-na-regulacje-cz-34-34/" >https://iautomatyka.pl/kurs-regulacji-p ... -cz-34-34/</a><!-- m --><br />Rozdz. 34.6<br />Główne wnioski<br /><strong>Jak walczyć z czasem martwym?</strong><br />Czas martwy <strong>To</strong> wprowadza do systemu opóźnienie które jest oczywiście zjawiskiem niekorzystnym. Bo czy chciałbyś prowadzić samochód, w którym kierownicą skręcisz w lewo, a koła zareagują dopiero po <strong>To=1 sek</strong>? Obecnie regulatory wykonane są w technice mikroprocesorowej. Dlatego gdy regulator stwierdzi, że pomimo wzrastającego od składowej całkującej sygnału sterującego, sygnał wyjściowy nie wzrasta , to wyłącza on składową całkującą. Czyli w stanie nasycenia z regulatora PID robi się regulator PD.<br />Jest to przykład regulatora o zmiennej strukturze. To przełączenie może wystąpić np. od wejścia wzmacniacza mocy w stan nasycenia, a to jest łatwe wykrycia przez regulator mikroprocesorowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 19 lip 2018, o 04:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alef2]]></name></author>
<updated>2018-07-18T13:22:23+01:00</updated>
<published>2018-07-18T13:22:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209909#p209909</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209909#p209909"/>
<title type="html"><![CDATA[Re: Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209909#p209909"><![CDATA[
Przyczyna takiego działania jest fakt, że nie możesz wysterować grzałki bardziej niż 100%, mimo iż regulator wylicza większe wysterowanie. Ma to szczególnie miejsce przy nagrzewaniu.<br />Na szybko można zaproponować rozwiązanie polegające na wyłączeniu członu całkującego na czas nagrzewania (gdy błąd jest duży). Przykładowo, jeżeli regulator ma utrzymać temperaturę np. 100st, to do np. 80st grzeje na 100% a powyżej działa PID.<br /><br />AD2 Odmierzanie czasu jest konieczne, tzn. należy załączać PID w jednakowych odstępach czasu. Wynika to z tego, że stałe czasowe całkowania i różniczkowania są wielokrotnościami okresu działania PIDa. Obrazowo mówiąc, jeżeli dwukrotnie zwiększysz okres PID, przy niezmiennych nastawach, to całka będzie narastać dwukrotnie wolniej. Nie ma specjalnego sensu zbyt częste wywoływanie PID'a, musi byc to uzależnione od stałych czasowych obiektu (grzałki). <br /><br />J<div class="quotetitle">Pixelxx napisał(a):</div><div class="quotecontent"><br />bo obiekt jest elementem inercyjnym drugiego rzędu, czyli wolno zmienny.<br /></div>Nie do końca, bo obiekt drugiego rzędu, to taki, który ma dwie stałe czasowe. W przypadku grzałki to opóźnienie i inercja. Z reguły opóźnienie jest małe i się je pomija.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14998">Alef2</a> — 18 lip 2018, o 13:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anonimg3]]></name></author>
<updated>2018-07-18T08:23:36+01:00</updated>
<published>2018-07-18T08:23:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209903#p209903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209903#p209903"/>
<title type="html"><![CDATA[Re: Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209903#p209903"><![CDATA[
1. Nie zerujesz tylko zatrzymujesz. Musisz ograniczyć sobie wyjście i obliczyć wartość którą odejmiesz od całki. Wystarczy wpisać w google image &quot;antiwindup&quot; i będziesz wiedział o co chodzi. W układzie występuje dodatkowe sprzężenie zwrotne.<br /><br />2. Nie, ale musisz to robić cyklicznie, czyli w jakimś przerwaniu, bo inaczej nie będzie działało. <br /><br />3. Tutaj to temat rzeka, ale najpierw wyłącz całkę i różniczkowanie i dobierz tylko część proporcjonalną. Następnie całka a na koniec różniczka, która nie wiele tutaj wniesie bo obiekt jest  elementem inercyjnym drugiego rzędu, czyli wolno zmienny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8904">anonimg3</a> — 18 lip 2018, o 08:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2018-07-18T07:15:20+01:00</updated>
<published>2018-07-18T07:15:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209901#p209901</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209901#p209901"/>
<title type="html"><![CDATA[Re: Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209901#p209901"><![CDATA[
rozumiem że te zmienne float liczysz na AVR?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 18 lip 2018, o 07:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pixelxx]]></name></author>
<updated>2018-08-13T09:02:33+01:00</updated>
<published>2018-07-17T22:56:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209896#p209896</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209896#p209896"/>
<title type="html"><![CDATA[Regulator PID i zjawisko Windup]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21005&amp;p=209896#p209896"><![CDATA[
Witam.<br /><br />1. Wykorzystuję w swoim projekcie program regulatora PID, który sobie napisałem.<br />Problemem moim jest zjawisko Windupu całkowania i pytanie jak i kiedy zerować całkę błędu, żeby nie było to ciągle całkowane bo błąd osiąga wtedy duża wartość i się nawija czyli zjawisko windup.<br /><br />2. I drugie pytanie czy w regulatorze trzeba wykorzystywać jakieś odmierzanie czasu? Czy tak napisana funkcja jest wystarczająca?<br />3. I zastanawia mnie jak dobrać dobrze współczynniki wzmocnienia regulatora wiem, że sa różne metody zieglera nicholsa itd, ale nie za bardzo wiem jak je ruszyć w rzeczywistości. <br /><br />Regulator reguluje kąt załączenia triaka i steruje grzałką. Wszystko działa, ale widzę, że windup się ukazuje bo jak wyreguluje temperaturę to po pewnym czasie, chwili pomalutku sobie rośnie temperatura ponad zadaną więc błąd ciągle się całkuje<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19122">Pixelxx</a> — 17 lip 2018, o 22:56</p><hr />
]]></content>
</entry>
</feed>