eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaTermopara i MAX6675 › Re: Termopara i MAX6675
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.aagv234.neoplu
    s.adsl.tpnet.pl!not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Termopara i MAX6675
    Date: Thu, 30 Mar 2023 21:03:44 +0200
    Organization: news.chmurka.net
    Message-ID: <slyhwy8ltwm1$.v3t3vn2r5dfn$.dlg@40tude.net>
    References: <63fcff3d$0$19614$65785112@news.neostrada.pl>
    <1fy2n6gamxvh4.1ajqgc36omwu7$.dlg@40tude.net>
    <6400f97c$0$19617$65785112@news.neostrada.pl>
    <6418b040$0$19621$65785112@news.neostrada.pl>
    <642343fe$0$19605$65785112@news.neostrada.pl>
    NNTP-Posting-Host: aagv234.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Injection-Info: news.chmurka.net; posting-account="jfoxwr";
    posting-host="aagv234.neoplus.adsl.tpnet.pl:83.4.177.234";
    logging-data="20017";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: 40tude_Dialog/2.0.15.1
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:779409
    [ ukryj 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: