eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPID - jeszcze raz
Ilość wypowiedzi w tym wątku: 30

  • 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.


  • 3. Data: 2026-01-23 20:23:06
    Temat: Re: PID - jeszcze raz
    Od: Mirek <m...@n...dev>

    W dniu 22.01.2026 o 23:44, J.F pisze:

    > Masz metodę Zieglera-Nicholsa:

    Nie sprawdza się.
    Nie udało mi się doprowadzić do stabilności z jakimkolwiek Ki.
    Może to jest kwestia jednostek?
    Uchyb jest liczony w działkach enkodera, przyrost uchybu w działkach na
    mikrosekundę, okres oscylacji to jakieś 0,2-0,5sekundy, to ki jakoś
    strasznie małe wyjdzie, kd ogromne.
    Kp rozumiem że w tym wzorze 1 oznacza maksymalną moc?



    > 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 ...

    Silnik kręci bezpośrednio enkoderem. próbowałem też przez przekładnie
    ale nic to nie zmienia - wolniej wszystko się odbywa, ale nadal nie da
    się wystroić lepiej niż +- 50 - 100 podziałek.
    Kroków nie gubi, bo kroki odczytuje PIO.
    Program szybki... a jaki szybki ma być? Jaki powinien być krok pomiędzy
    kolejnymi obliczeniami?


    --
    Mirek


  • 4. Data: 2026-01-23 22:34:28
    Temat: Re: PID - jeszcze raz
    Od: "J.F" <j...@p...onet.pl>

    On Fri, 23 Jan 2026 20:23:06 +0100, Mirek wrote:
    > W dniu 22.01.2026 o 23:44, J.F pisze:
    >> Masz metodę Zieglera-Nicholsa:
    >
    > Nie sprawdza się.
    > Nie udało mi się doprowadzić do stabilności z jakimkolwiek Ki.
    > Może to jest kwestia jednostek?

    Być może - przy bardzo wolnym narastaniu powinno jakoś działać.
    Nie mówię, że całkiem stabilnie, bo jakies tarcie i histereza silnika
    dochodzi. Ale okres mógłbys wydłużać w nieskonconosc.

    A z kolei szybkie procesory bardzo szybko całkują :-)
    i kiepsko różniczkują :-)


    > Uchyb jest liczony w działkach enkodera, przyrost uchybu w działkach na
    > mikrosekundę, okres oscylacji to jakieś 0,2-0,5sekundy, to ki jakoś
    > strasznie małe wyjdzie, kd ogromne.
    > Kp rozumiem że w tym wzorze 1 oznacza maksymalną moc?

    Wzmocnienie częsci P

    >> 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 ...
    >
    > Silnik kręci bezpośrednio enkoderem. próbowałem też przez przekładnie
    > ale nic to nie zmienia - wolniej wszystko się odbywa, ale nadal nie da
    > się wystroić lepiej niż +- 50 - 100 podziałek.
    > Kroków nie gubi, bo kroki odczytuje PIO.
    > Program szybki... a jaki szybki ma być? Jaki powinien być krok pomiędzy
    > kolejnymi obliczeniami?

    Na tyle szybki, żeby nie gubił impulsów z enkodera. Chyba, że masz
    jakiś absolutny.

    A sam regulator niekoniecznie musi być szybki - sam widzisz, że
    oscylacje maja 0.2-0.5s

    J.


  • 5. Data: 2026-01-24 15:14:24
    Temat: Re: PID - jeszcze raz
    Od: Mirek <m...@n...dev>

    W dniu 23.01.2026 o 22:34, J.F pisze:

    > Być może - przy bardzo wolnym narastaniu powinno jakoś działać.

    Nie działa. Tak jak zauważyłeś silnik ma tarcie, zaskok magnetyczny -
    jak sygnał narośnie na tyle że ruszy to przejedzie kilkadziesiąt -
    kilkaset kroków i zaczyna się kołysanie.

    Tak to powinno działać:
    https://youtu.be/PU6tgQ84CEA
    No chyba że to jest ściema i enkoder jest w rzeczywistości 100-1000 razy
    dokładniejszy.


    --
    Mirek


  • 6. Data: 2026-01-24 20:04:34
    Temat: Re: PID - jeszcze raz
    Od: a...@f...org (Waldek Hebisch)

    Mirek <m...@n...dev> wrote:
    > W dniu 22.01.2026 o 23:44, J.F pisze:
    >
    >> Masz metodę Zieglera-Nicholsa:
    >
    > Nie sprawdza się.
    > Nie udało mi się doprowadzić do stabilności z jakimkolwiek Ki.
    > Może to jest kwestia jednostek?
    > Uchyb jest liczony w działkach enkodera, przyrost uchybu w działkach na
    > mikrosekundę, okres oscylacji to jakieś 0,2-0,5sekundy, to ki jakoś
    > strasznie małe wyjdzie, kd ogromne.

    Bez członu "całkowego" prawie niemożliwe jest uzyskanie naprawdę
    małego błedu. W praktyce liczy się sumy i odwrotność okresu sterownika
    PID daje współczynnik skalujący sumę do całki. Oczywiście musisz
    użyć zgodne jednoski inaczej wyjdą błędne wartości współczynników.
    Działki enkdera wyglądają OK, ale musisz poprawnie uwzględnić czas.

    --
    Waldek Hebisch


  • 7. Data: 2026-01-25 12:34:36
    Temat: Re: PID - jeszcze raz
    Od: Mirek <m...@n...dev>

    W dniu 24.01.2026 o 15:14, Mirek pisze:

    > Tak to powinno działać:
    > https://youtu.be/PU6tgQ84CEA
    > No chyba że to jest ściema i enkoder jest w rzeczywistości 100-1000 razy
    > dokładniejszy.

    Tak mnie jeszcze nachodzi:
    Przecież taki układ jest w drukarkach atramentowych. Nie przyszło mi do
    głowy sprawdzić jaka tam jest rozdzielczość tego enkodera, nie mam
    żadnej drukarki rozwalonej w tej chwili, bo bym sprawdził.
    A może silnik musi być specjalny - w sensie nie może mieć zaskoków i
    symetryczny moment w obie strony?

    --
    Mirek


  • 8. Data: 2026-01-25 14:03:58
    Temat: Re: PID - jeszcze raz
    Od: alojzy nieborak <g...@g...com>

    W dniu 2026-01-25 o 12:34, Mirek pisze:
    > W dniu 24.01.2026 o 15:14, Mirek pisze:
    >
    >> Tak to powinno działać:
    >> https://youtu.be/PU6tgQ84CEA
    >> No chyba że to jest ściema i enkoder jest w rzeczywistości 100-1000
    >> razy dokładniejszy.
    >
    > Tak mnie jeszcze nachodzi:
    > Przecież taki układ jest w drukarkach atramentowych. Nie przyszło mi do
    > głowy sprawdzić jaka tam jest rozdzielczość tego enkodera, nie mam
    > żadnej drukarki rozwalonej w tej chwili, bo bym sprawdził.


    W osi Y 200 linii na cal.
    W osi X (karetka z tuszami) 200 lub 400 linii na cal.
    I to to z układem optyki (rozdzielczość x4) na wyjściu układu daje
    odpowiednio rozdzielczość 800-1600 pikseli na cal. Tyle co do prostych
    enkoderów bez jakiejś specjalnej ochrony pyłoszczelnej.

    > A może silnik musi być specjalny - w sensie nie może mieć zaskoków i
    > symetryczny moment w obie strony?
    >

    W drukarkach masz zwykły DC tyko wolnoobrotowy z ciut większym momentem
    obrotowym.

    OT
    https://elm-chan.org/works/smc/report_e.html


  • 9. Data: 2026-01-25 14:12:24
    Temat: Re: PID - jeszcze raz
    Od: alojzy nieborak <g...@g...com>

    W dniu 2026-01-25 o 14:03, alojzy nieborak pisze:
    > W dniu 2026-01-25 o 12:34, Mirek pisze:
    >> W dniu 24.01.2026 o 15:14, Mirek pisze:
    >>
    >>> Tak to powinno działać:
    >>> https://youtu.be/PU6tgQ84CEA
    >>> No chyba że to jest ściema i enkoder jest w rzeczywistości 100-1000
    >>> razy dokładniejszy.
    >>
    >> Tak mnie jeszcze nachodzi:
    >> Przecież taki układ jest w drukarkach atramentowych. Nie przyszło mi
    >> do głowy sprawdzić jaka tam jest rozdzielczość tego enkodera, nie mam
    >> żadnej drukarki rozwalonej w tej chwili, bo bym sprawdził.
    >
    >
    > W osi Y 200 linii na cal.
    > W osi X (karetka z tuszami) 200 lub 400 linii na cal.
    > I to to z układem optyki (rozdzielczość x4) na wyjściu układu daje
    > odpowiednio rozdzielczość 800-1600 pikseli na cal. Tyle co do prostych
    > enkoderów bez jakiejś specjalnej ochrony pyłoszczelnej.
    >
    >> A może silnik musi być specjalny - w sensie nie może mieć zaskoków i
    >> symetryczny moment w obie strony?
    >>
    >
    > W drukarkach masz zwykły DC tyko wolnoobrotowy z ciut większym momentem
    > obrotowym.
    >
    > OT
    > https://elm-chan.org/works/smc/report_e.html
    >

    Drugi raz OT
    https://www.youtube.com/watch?v=qYJpl7SNoww
    +
    https://www.pmdcorp.com/resources/type/articles/get/
    mathematics-of-motion-control-profiles-article


  • 10. Data: 2026-01-25 14:36:45
    Temat: Re: PID - jeszcze raz
    Od: Mirek <m...@n...dev>

    W dniu 25.01.2026 o 14:12, alojzy nieborak pisze:

    >> W osi Y 200 linii na cal.
    >> W osi X (karetka z tuszami) 200 lub 400 linii na cal.
    >> I to to z układem optyki (rozdzielczość x4) na wyjściu układu daje
    >> odpowiednio rozdzielczość 800-1600 pikseli na cal. Tyle co do prostych
    >> enkoderów bez jakiejś specjalnej ochrony pyłoszczelnej.
    >>

    No i kluczowe pytanie: ile wynosi błąd sterowania - ustawia do jednej
    działki?

    > Drugi raz OT
    > https://www.youtube.com/watch?v=qYJpl7SNoww
    > +
    > https://www.pmdcorp.com/resources/type/articles/get/
    mathematics-of-
    > motion-control-profiles-article

    Krzywymi sterowania będę się bawił jak PID będzie chodził tak jak powinien.




    --
    Mirek

strony : [ 1 ] . 2 . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: