• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Dobre zasady programowania w Arduino...
#34
(16-05-2019, 19:57)PierwszyWolnyLogin napisał(a): Przykład który wyłapałem to: 0.00x-40.81=nan Smile A powinno chyba zero Wink

U mnie wychodzi 0.00 .

(16-05-2019, 19:57)PierwszyWolnyLogin napisał(a): Chętnie pogadam o wersji PIDa do stabilizacji temperatury w układach z TAKIM LAGIEM Smile
Typu ciężka grzałka i woda. Wyłączasz grzałkę, a temperatura rośnie jeszcze kilka minut Wink

No regulatory PID właśnie po to stworzono.
Człon różniczkujący przewiduje przyszłą wartość i wpływa na człon proporcjonalny w taki sposób, aby nie przeskoczyć zadanej wartości.

Niedobrane parametry mogą dać nam coś takiego:

[Obrazek: 9nZE7hn.png]


Przy odpowiednio dobranych parametrach będzie tak:

[Obrazek: Xbii7v8.png]
Pierwszy wykres jest dla regulacji PI (wyłączone D), drugi dla PID.
To są rzeczywiste wyniki pomiarów z mojego sterownika. Ta czerwona linia, to sygnał sterujący zwracany z funkcji PID, niebieska to zmierzona wartość (sterowana).
Regulator PID jest idealny do sterowania temperaturą cieczy, ponieważ likwiduje oscylacje i nie pozwala przekroczyć zadanej temperatury, czyli nie zagotuje oraz nie zamrozi obwodu.
Wszystko zależy od doboru nastaw. Przy idealnie dobranym członie różniczkującym, możesz się naprawdę zdziwić, że to tak pięknie pracuje. Jest kilka metod strojenia regulatorów PID. Proponuję poczytać o eksperymencie Zieglera-Nicholsa oraz o implementacji programowej. Tak, są programy do dobierania parametrów PID.
Można też zaimplementować algorytm autotuningu, ale to już na dłuższą pogadankę przy piwku w weekend, bo jest sporo teorii do opanowania.
Z chęcią pogadam, bo jest to temat iście fascynujący.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Dobre zasady programowania w Arduino... - przez Robson Kerman - 16-05-2019, 21:00

Skocz do:


Przeglądający: 2 gości