eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaTermopara i MAX6675Re: Termopara i MAX6675
  • Data: 2023-03-30 21:03:44
    Temat: Re: Termopara i MAX6675
    Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Tue, 28 Mar 2023 21:46:05 +0200, Mirek wrote:
    > On 20.03.2023 20:13, Mirek wrote:
    >> On 2.03.2023 20:31, Mirek wrote:
    >>> Teraz co do programu - ki jest ewidentnie skopane.
    >>> liczy go tak:
    >>>
    >>>   self.iterm += (error * timeDelta * self.ki)
    >>>   output = self.kp * error + self.iterm + self.kd * dErr
    >>>
    >>> a powinno być wg wikipedii tak:
    >>>
    >>>   integral := integral + error × dt
    >>>   output := Kp × proportional + Ki × integral + Kd × derivative
    >>>
    >>
    >> Bzdury pisałem - wychodzi przecież na to samo.
    >> Ale picoReflow nadal nie ogarnięty,
    >>
    > Ja rozumiem, że nikogo to nie interesuje, albo nikt nie wie, a u tych,
    > którzy wiedzą mam już cichego plonka (zresztą z wzajemnością ;) ), ale
    > mimo to podzielę się swoimi "odkryciami":
    >
    > Jedyna wersja, która jako-tako działa:
    > integral = (ki * integral) + (error * timeDelta * ki)
    > następnie ograniczamy integral, np. od -1 do 1 żeby nie szybowało w
    > kosmos:
    > integral = sorted(-1,integral,1)[1]

    Nie ma lepszej metody ograniczenia?
    Bo jak na to patrze, to włos mi sie jerzy.

    No i tu:
    -jest istotne czy ten integral zawiera Ki, czy nie,
    -czy zakres -1...+1 jest własciwy?

    > skrót:
    > integral += error * timeDelta * ki
    > Nie działa prawidłowo.

    Stop. Zrobiłes cos zupelnie innego.

    integral += error * timeDelta * ki
    liczy w miare prawidło całke.

    Tzn jesli integral wynosi np 0.5, a error dojdzie do 0,
    to integral sie już nie zmienia.

    w twojej wersji
    integral = (ki * integral) + (error * timeDelta * ki)

    w takim przypadku integral (początkowe 0.5) bedzie w kazdym kroku
    mnozone przez Ki.
    Dla Ki>1 bedzie uciekal w strone nieskonczonosci.
    Dla Ki<1 (i >0) bedzie asymptotycznie dochodzil do zera.

    > ponieważ w przypadku niezerowego integral, a
    > zerowego error - wynikowe integral zostaje stałe, niezerowe.

    Ale taka jest wlasnie idea PID - jak error dojdzie do zera, to wlasnie
    czlon całkowy ma zapewnic potrzebne wysterowanie wyjscia.

    > Jeszcze gorzej to wygląda w przypadku wersji z Wikipedii.

    Ogolnie tak samo dobrze.

    J.



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 30.03.23 21:13 J.F
  • 30.03.23 21:17 J.F
  • 30.03.23 21:38 Mirek
  • 30.03.23 22:00 Mirek
  • 31.03.23 10:39 J.F
  • 31.03.23 10:59 J.F
  • 31.03.23 20:33 Mirek
  • 31.03.23 21:07 Mirek
  • 31.03.23 22:34 J.F
  • 12.04.23 19:28 Mirek
  • 14.04.23 12:54 J.F
  • 14.04.23 18:59 Mirek

Najnowsze wątki z tej grupy


Najnowsze wątki

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: