-
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.
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
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=