-
1. Data: 2023-02-27 20:06:37
Temat: Termopara i MAX6675
Od: Mirek <m...@n...dev>
Czy każda termopara ma obudowę połączoną ze złączem?
Np. taka:
https://botland.com.pl/czujniki-temperatury-wysokiej
-precyzji/12504-termopara-max6675-czujnik-temperatur
y-spi-5904422307868.html
Podłączam toto - odczyt skacze jak głupi +-1stopień, do tego jest
różnica kilku stopni jak w pobliżu jest włączony monitor (!?)
To samo jak się dotknie ręką tej rurki, nie mówiąc już o połączeniu jej
do masy czy z uziemieniem.
Omomierz wskazuje, że obudowa nie jest odseparowana od termopary, Biorę
inną, taką z miernika, ale też w rurce metalowej - to samo.
Czy tak ma być, i ten układ ma to tolerować? - no jak, przy 3.3V zasilania?
A może układ mam uszkodzony?
--
Mirek.
-
2. Data: 2023-02-27 21:55:23
Temat: Re: Termopara i MAX6675
Od: Marek <f...@f...com>
On Mon, 27 Feb 2023 20:06:37 +0100, Mirek <m...@n...dev> wrote:
> https://botland.com.pl/czujniki-temperatury-wysokiej
-precyzji/12504-termopara-max6675-czujnik-temperatur
y-spi-5904422307868.html
Robiłem czujniki termopar na max31860k i tam problem z
fluktuacją/skaczeniem odczytu bardzo ładnie kompensowało się
blokowaniem styków złącza kondensatorem 10nF oraz kolejnymi do + i -.
Taki układ jest w którymś przykładzie aplikacyjnym Maxima. I
faktycznie po zastosowaniu kondensatorów w moim przypadku odczyty
stały się precyzyjne i stabilne.
Złącze było izolowane od obudowy.
--
Marek
-
3. Data: 2023-03-01 20:05:33
Temat: Re: Termopara i MAX6675
Od: Mirek <m...@n...dev>
On 27.02.2023 21:55, Marek wrote:
> On Mon, 27 Feb 2023 20:06:37 +0100, Mirek <m...@n...dev> wrote:
>> https://botland.com.pl/czujniki-temperatury-wysokiej
-precyzji/12504-termopara-max6675-czujnik-temperatur
y-spi-5904422307868.html
>
> Robiłem czujniki termopar na max31860k i tam problem z
> fluktuacją/skaczeniem odczytu bardzo ładnie kompensowało się blokowaniem
> styków złącza kondensatorem 10nF oraz kolejnymi do + i -. Taki układ
> jest w którymś przykładzie aplikacyjnym Maxima. I faktycznie po
> zastosowaniu kondensatorów w moim przypadku odczyty stały się precyzyjne
> i stabilne.
Troszkę pomogło, ale nie wiele.
> Złącze było izolowane od obudowy.
Będę musiał to rozwalić i spróbować odizolować albo kupić inną.
Walczę z picoReflow - wychodzą mi absurdalne współczynniki.
Czy tam z tym ki nie jest coś skopane?
https://github.com/apollo-ng/picoReflow/blob/master/
lib/oven.py
O ile na zwiększanie kp przy ki=0 i kd=0 reaguje przewidywalnie, tak jak
tutaj:
https://en.wikipedia.org/wiki/File:PID_Compensation_
Animated.gif
o tyle przy zwiększaniu ki idzie całkiem w maliny.
Zwiększenie kd, przy ki=0 coś tam poprawia, ale jak się przesadzi to
szaleje jak głupie, bo są zakłócenia z tej termopary i jest na przemian.
--
Mirek.
-
4. Data: 2023-03-02 11:44:37
Temat: Re: Termopara i MAX6675
Od: Marek <f...@f...com>
On Wed, 1 Mar 2023 20:05:33 +0100, Mirek <m...@n...dev> wrote:
> Walczę z picoReflow - wychodzą mi absurdalne współczynniki.
> Czy tam z tym ki nie jest coś skopane?
Moje doświadczenia są trochę z innego procesu (piec przemysłowy
100kW) gdzie proces zmian temperatury jest dość powolny ale są spore
zakłócenia wynikające z sterowania grupowego mocą. W moim przypadku
kd jest 0 i do otrzymania charakterystyki dojścia do nastawy bez
oscylacji wystarczyło dobranie kp/ki, proces jest przy próbkowaniu
temp. 1s. W 99% przy tych samych ustawieniach pid charakterystyka
dojścia do nastawy jest bez oscylacji a w pozostałym 1% się zdarzają
niewielkie oscylacje szybko stabilizujące się.
Oczywiście stabilność odczytu temp. ma tutaj kluczowe znaczenie by
nie powstawały przesterowania regulacji choć w teorii kd powinno
stabilizować właśnie takie sytuacje.
W moim przypadku nieprawidłowe odczyty są po prostu ignorowane przez
algorytm. Nieprawidłowe czyli takie, które różnią się znacznie od
poprzednich i odbiegają znacznie od możliwości realnych procesu. W
moim przypadku to jest 2t stali rozgrzewane do 720stp więc nie jest
możliwe aby kolejny odczyt (po kolejnej sekundzie) różnił się więcej
niż 2-5stp. Każdy odczyt poza tym jest uznawany za błędny i
ignorowany.
Musisz opanować stabilność odczytu, bez tego trudno będzie dokonać (w
miarę szybko) tuningu pid a co za tym idzie prawidłowej regulacji.
--
Marek
-
5. Data: 2023-03-02 13:40:02
Temat: Re: Termopara i MAX6675
Od: "J.F" <j...@p...onet.pl>
On Thu, 02 Mar 2023 11:44:37 +0100, Marek wrote:
> On Wed, 1 Mar 2023 20:05:33 +0100, Mirek <m...@n...dev> wrote:
>> Walczę z picoReflow - wychodzą mi absurdalne współczynniki.
>> Czy tam z tym ki nie jest coś skopane?
>
> Moje doświadczenia są trochę z innego procesu (piec przemysłowy
> 100kW) gdzie proces zmian temperatury jest dość powolny ale są spore
> zakłócenia wynikające z sterowania grupowego mocą. W moim przypadku
> kd jest 0 i do otrzymania charakterystyki dojścia do nastawy bez
> oscylacji wystarczyło dobranie kp/ki, proces jest przy próbkowaniu
> temp. 1s. W 99% przy tych samych ustawieniach pid charakterystyka
> dojścia do nastawy jest bez oscylacji a w pozostałym 1% się zdarzają
> niewielkie oscylacje szybko stabilizujące się.
> Oczywiście stabilność odczytu temp. ma tutaj kluczowe znaczenie by
> nie powstawały przesterowania regulacji choć w teorii kd powinno
> stabilizować właśnie takie sytuacje.
> W moim przypadku nieprawidłowe odczyty są po prostu ignorowane przez
> algorytm. Nieprawidłowe czyli takie, które różnią się znacznie od
> poprzednich i odbiegają znacznie od możliwości realnych procesu. W
> moim przypadku to jest 2t stali rozgrzewane do 720stp więc nie jest
> możliwe aby kolejny odczyt (po kolejnej sekundzie) różnił się więcej
> niż 2-5stp. Każdy odczyt poza tym jest uznawany za błędny i
> ignorowany.
Ech, pamietam zadanie ze studiow - znaleźć wartosci błędne w tabelce
funkcji, czyli "za bardzo odstajace od trendu".
Łatwe to nie było, przy braku innych założen.
A tak mi chodzi po glowie - na ile taki regulator jest wrazliwy
na nieliniowosci sterowania/procesu?
Tzn chodzi mi o to, ze "wspolczynniki wzmocnienia" ("różniczkowe")
w pętli mogą być różne dla innych nastaw, i układ jest stabilny np
dla 500C, a w 300C oscyluje.
W piecu elektrycznym ze sterowaniem grupowym raczej nie ma tego
problemu, ale juz np przeplyw gazu przez zawór w zaleznosci od stopni
odkrecenia wcale nie musi byc liniowy ..
J.
-
6. Data: 2023-03-02 15:15:54
Temat: Re: Termopara i MAX6675
Od: "J.F" <j...@p...onet.pl>
On Mon, 27 Feb 2023 20:06:37 +0100, Mirek wrote:
> Czy każda termopara ma obudowę połączoną ze złączem?
> Np. taka:
> https://botland.com.pl/czujniki-temperatury-wysokiej
-precyzji/12504-termopara-max6675-czujnik-temperatur
y-spi-5904422307868.html
> Podłączam toto - odczyt skacze jak głupi +-1stopień, do tego jest
> różnica kilku stopni jak w pobliżu jest włączony monitor (!?)
> To samo jak się dotknie ręką tej rurki, nie mówiąc już o połączeniu jej
> do masy czy z uziemieniem.
> Omomierz wskazuje, że obudowa nie jest odseparowana od termopary, Biorę
> inną, taką z miernika, ale też w rurce metalowej - to samo.
> Czy tak ma być, i ten układ ma to tolerować? - no jak, przy 3.3V zasilania?
> A może układ mam uszkodzony?
Hm, jesli wszyskie sa połączone ... to widac to nie przeszkadza :-)
Moze odwrotnie kable podłączyleś :-)
A uziemiles T- ?
https://pl.rs-online.com/web/c/automatyka-i-sterowan
ie/czujniki/termopary/
Tu te tansze faktycznie są "grounded"
Ale wyszukac tych innych to sie chyba nie da ...
J.
-
7. Data: 2023-03-02 20:31:07
Temat: Re: Termopara i MAX6675
Od: Mirek <m...@n...dev>
On 2.03.2023 15:15, J.F wrote:
> A uziemiles T- ?
>
No właśnie to uziemienie powodowało największe zakłócenia.
Przyjrzałem się tej płytce - nie dość, że zamienione są wyprowadzenia:
gruba masa jest połączona z nóżką 2 a cienka ścieżka do zacisku T- idzie
od nóżki 1. A działa dlatego, że przy zacisku T- jest połączenie do masy.
Rozdłubałem to i podłączyłem wg noty aplikacyjnej i... nie działa. Tzn.
scalak się komunikuje, ale wskazuje 0stopni.
Wychodzi na to, że ten scalak to chamska podróba, która nie ma w ogóle
wejścia różnicowego. No więc nie może to działać dobrze - po prostu nie
ma fizycznie takiej możliwości. Dziwi mnie tylko dlaczego nóżka T- nie
jest połączona z masą wewnątrz układu... ale skoro nawet płytka nie
udaje poprawnej aplikacji tego układu to nie ma się czemu dziwić.
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
Czyli przez ki mnożymy wynik a nie tylko timeDelta.
Znów nie chce mi się wierzyć, że nikt tego wcześniej nie odkrył i tylko
ja mam z tym problem.
--
Mirek.
-
8. Data: 2023-03-02 23:04:50
Temat: Re: Termopara i MAX6675
Od: Marek <f...@f...com>
On Thu, 2 Mar 2023 13:40:02 +0100, "J.F"
<j...@p...onet.pl> wrote:
> Tzn chodzi mi o to, ze "wspolczynniki wzmocnienia" ("różniczkowe")
> w pętli mogą być różne dla innych nastaw, i układ jest stabilny np
> dla 500C, a w 300C oscyluje.
Trudno mi powiedzieć, ponieważ moje doświadczenia w tym procedie są
tylko z jedną temperaturą nastawy (720C), inne temperatury nie są
używane. Raz chyba było coś koło 500 ale na tych samych nastawach i
nie kojarzę by wtedy wystąpiły oscylacje.
Natomiast jak wspomniałem zdarzają się (mimo niezmiennych nastaw
ki/kp oraz zawsze takiego samego wkładu) czasami 2 lub 3 oscylacje
zanim się ustabilizuje.
Przykład bez oscylacji:
http://31.182.124.137/bins/piec1.jpg
Czerwona pozioma to jest nastawa, niebieska na dole to chwilowa
wartość mocy 0-100%. 3 wykresy nad nastawą to temp. grzałek.
Z osylacjami:
http://31.182.124.137/bins/piec2.jpg
--
Marek
-
9. Data: 2023-03-20 20:13:04
Temat: Re: Termopara i MAX6675
Od: Mirek <m...@n...dev>
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,
--
Mirek.
-
10. Data: 2023-03-28 21:46:05
Temat: Re: Termopara i MAX6675
Od: Mirek <m...@n...dev>
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]
skrót:
integral += error * timeDelta * ki
Nie działa prawidłowo. ponieważ w przypadku niezerowego integral, a
zerowego error - wynikowe integral zostaje stałe, niezerowe.
Jeszcze gorzej to wygląda w przypadku wersji z Wikipedii.
--
Mirek.