Skocz do zawartości

Kontroler PI (proporcjonalno-całkujący)


Pomocna odpowiedź

Napisano

Witam,
Mam pytanie dotyczące regulatora proporcjonalno całkującego PI. Kontroler jest wykorzystywany do sterowania silnikiem DC. Sterownik jest robiony w Quartusie, testowany na FPGA terasica. Spraw wygląda tak, że mamy informacje z enkodera o prędkości obrotowej i informacje o zadanej pedkości. Wyliczam różnicę między nimi(error), to wchodzi do kontrolera. Następnie mnoże to przez Kp, odpowiada to za człon proporcjonalny. Jeśli chodzi o człon całkujący to jest to ciągłe dodawanie błędu.

Z poziomu wzoru wygląda to w następujący sposób

P=error*Kp

I=I+(error*Ki)

Na wyjściu mam sumę tego

output=P+I

Czy jest to poprawne podejście do zadania, czy należy coś poprawić?

Gdzieś widziałem jeśli chodzi o człon całkujący z dzieleniem tylko nie za bardzo to rozumiem. Według mnie w tych wzorach brakuje czasu całkowania. Nie wiem czy ktoś robił coś takiego w vhdl, ale bardzo prosiłbym o pomoc.

Gdzieś widziałem jeśli chodzi o człon całkujący z dzieleniem tylko nie za bardzo to rozumiem.

Człon I można mnożyć przez wartość mniejszą od 1, daje to efekt "zapominania" błędów, które wydarzyły się dawno. Człon I nie powinien też raczej rosnąć w nieskończoność, kiedyś warto go zerować.

W moich program czas całkowania pomijałem lub traktowałem domyślnie jako "1". Odpowiednie opóźnienie wprowadzało przerwanie, które wykonywało PID'a. Dzięki temu czas całkowania był zawsze stały.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...