-
1. Data: 2026-01-22 20:53:47
Temat: PID - jeszcze raz
Od: Mirek <m...@n...dev>
Próbuję okiełznać po raz kolejny sterowanie nadążne PID silnika z
enkoderem. Enkoder jest podłączony do Pi Pico, odczytuje go program w
PIO, a wartość czytam w micropythonie i obliczam dane dla PWM. Działa mi
to tak, że wystrojenie do +- kilkadziesiąt podziałek enkodera zachowuje
się przewidywalnie.
Ale można to zrobić praktycznie do jednej działki, i pamiętam, że ktoś
tu na grupie się chwalił że to zrobił.
Zwiększam kP, układ zaczyna nadążać, ale powoli, zwiększam dalej... już
blisko, pojawia się przerzut, jeszcze trochę i pojawiają się oscylacje.
Te oscylacje można zniwelować kD. Zwiększam kD, oscylacje zaczynają
maleć... jeszcze bardziej maleć... już prawie... i zwiększenie dalej
powoduje, że pojawiają się nowe oscylacje, tylko szybsze (krótszy okres)
i dalsze zwiększanie kD zwiększa amplitudę jeszcze bardziej.
Co tu jest grane?
Mam swoją teorię, ale zanim napiszę - może ktoś puści parę - to na pewno
szkolny błąd i znane zjawisko.
--
Mirek
-
2. Data: 2026-01-22 23:44:40
Temat: Re: PID - jeszcze raz
Od: "J.F" <j...@p...onet.pl>
On Thu, 22 Jan 2026 20:53:47 +0100, Mirek wrote:
> Próbuję okiełznać po raz kolejny sterowanie nadążne PID silnika z
> enkoderem. Enkoder jest podłączony do Pi Pico, odczytuje go program w
> PIO, a wartość czytam w micropythonie i obliczam dane dla PWM. Działa mi
> to tak, że wystrojenie do +- kilkadziesiąt podziałek enkodera zachowuje
> się przewidywalnie.
> Ale można to zrobić praktycznie do jednej działki, i pamiętam, że ktoś
> tu na grupie się chwalił że to zrobił.
>
> Zwiększam kP, układ zaczyna nadążać, ale powoli, zwiększam dalej... już
> blisko, pojawia się przerzut, jeszcze trochę i pojawiają się oscylacje.
> Te oscylacje można zniwelować kD. Zwiększam kD, oscylacje zaczynają
> maleć... jeszcze bardziej maleć... już prawie... i zwiększenie dalej
> powoduje, że pojawiają się nowe oscylacje, tylko szybsze (krótszy okres)
> i dalsze zwiększanie kD zwiększa amplitudę jeszcze bardziej.
> Co tu jest grane?
> Mam swoją teorię, ale zanim napiszę - może ktoś puści parę - to na pewno
> szkolny błąd i znane zjawisko.
Masz metodę Zieglera-Nicholsa:
https://www.podkontrola.pl/regulacja-w-oparciu-o-par
ametry-pid-cz-2/
Wyłaczasz człony D i I, podkręcasz powoli wzmocnienie, az wystąpią
oscylacje. Znalazłes wzmocnienie krytyczne Kc, i mierzysz okres
oscylacji Pc.
A następnie jak w tabelce:
Kp = 0.6*Kc
Ki = 2*Kp/Pc
Kd = Kp*Pc/8
IMO - w zależności od tego czym silnik kręci - może się okazać,
ze to krytyczne wzmocnienie jest inne, w zalezności od zadanych
obrotów.
Program jest wystarczająco szybki, nie gubi kroków z enkodera?
Enkoder bezpośrednio na osi silnika, czy po jakiejs przekładni ... bo
luzy mogą być tu wredne ...
J.


do góry
Fakturzystka, fakturzysta