Prawidłowa kalibracja sond DS

Teoria, praktyka, sprzęt, kolumna
Pako23
101%
101%
Posty: 52
Rejestracja: 2016-06-24, 22:00
Lokalizacja: Częstochowa

Re: Prawidłowa kalibracja sond DS

Post autor: Pako23 » 2021-12-15, 09:16

O dzięki kolego za fachowe podejście do tematu :)

maria-n
100%
100%
Posty: 1365
Rejestracja: 2008-07-15, 14:52

Re: Prawidłowa kalibracja sond DS

Post autor: maria-n » 2021-12-15, 18:08

Cześć
pico pisze:
2021-12-15, 09:07
ale również uważam, że jak już się ma ileś termometrów w sprzęcie, to warto się pokusić aby pokazywały w miarę prawidłowe i zbliżone wartości w takich samych warunkach (na ile to możliwe)
Z tym poglądem (jako że jestem technikiem) zgadzam się w całej rozciągłości. Natomiast w zdaniu następnym
pico pisze:
2021-12-15, 09:07
Dla tych dla których temperatura nie ma znaczenia a jedynie trend, to niech
też jest wiele poprawności a nawet ważniejszym jest bo;
- w trakcie prowadzonego procesu powinny nas interesować głównie - dwa parametry (bynajmniej ja tak uważam)
a) JAKOŚĆ
b) wydajność
tak na jeden jak i drugi ma kapitalny - a właściwie najważniejszy wpływ - ilość "półek teoretycznych". Wiadomo czym więcej tym lepiej!
Kupując czy też wykonując kolumnę we własnym zakresie zwracamy/powinniśmy uwagę na jakość wypełnienia. Producenci reklamując się zwykle podają do wiadomości ile cm wys zasypu przypada na jedną półkę. Ale zwykle, to tylko teoria - bowiem nikt, no może prawie nikt, nie wykonuje badań w tym zakresie. Przyjmujemy to za pewnik. Np. mój przypadek; wypełnienie o całkowitej (do OOB) wys posiada 120 cm czyli zakładane jakieś 48 półek. Myślę, że jak będzie rzeczywiście 35 - to mam b. dobry wynik. Tylko tu zaczynają się schody.Bo kiedy mam tych półek 35? Gdy wypełnienie jest równomiernie zasypane, są zastosowane partycje, elementy centrujące spływ flegmy etc. I najważniejsze - żeby półka pracowała w 100%-tach musi być max zasilona od dołu w pary, a od góry w ciecz (flegmę) Oznacza to że W KOLUMNIE MUSI WYSTĘPOWAĆ CIŚNIENIE PODPROGOWE - czyli takie, które daje margines bezpieczeństwa przed jej zalaniem! Jak warunki wcześniej opisane nie występują to półka może mieć i 8 cm wys. A wtedy mam ich 15 co dla jakości jest sporo za mało. Ciśnienie w mojej kolumnie wyn. 530 mm słupa wody. Zalanie obserwuję w wizjerze przy P=550 mm. Można z powodzeniem zejść jeszcze o 20 mm słupa. A teraz dowód na małą istotność dokładnego pomiaru temperatur w kolumnie? Stabilne temperatury obserwuję już przy ciśnieniu 150 mm. Oznacza to, że owszem temperatury mam stabilne, ale półek tylko ok. 15. To poco mi taki dokładny pomiar? Już ważniejsza jest rozdzielczość pomiaru. Z powyższego wynika, że tendencja ważniejszą jest od dokłdności pomiaru. Co w istocie z punktu widzenia dokładnych pomiarów niczemu nie przeszkadza. To tylko przysłowiowy kwiatek do kożucha! Owszem
jeden dokładny pomiar temp. powinien mieć swoje miejsce - w kegu. Bo daje pogląd w którym miejscu procesu się znajdujemy.
Ale to powinien być pomiar tak jak realizowany jest w sterowniku @Andrzejg. Powinien być sprowadzony do warunków normalnych i na bierząco korygowany zmieniajacym się ciśnieniem otoczenia. Tendencje dają spory margines na popełiane w procesie błędy natomiast niedolana kolumna z bardzo dokładnym pomiarem może sprawić kłopot ponownej stabilizacji. O zepsuciu jakości części urobku nie wspominam!

pico
30%
30%
Posty: 37
Rejestracja: 2020-12-02, 15:55

Re: Prawidłowa kalibracja sond DS

Post autor: pico » 2021-12-15, 19:51

Odnosząc się jeszcze raz do tematu wątku...
termometry w naszym hobby (i nie tylko) mogą być użyte do mierzenia różnych temperatur - ja akurat rozumiem, że jak kogoś denerwuje, że termometr z jakich względów przekłamuje mu np o 2 stopnie i musi mieć je zawsze "w pamięci" - to dlaczego nie może sobie tego wysłać w "poprawnej" wartości na wyświetlacz.
Sprawa jest w miarę prosta bo istniejące sterowniki już teraz pole "korekta", gdzie można coś dodać odjąć -> zawsze stałą wartość do zmierzonego wyniku.

Trochę większy problem jeśli sonda inaczej "przekłamuje" i temperatura rzeczywista kontra zmierzona wygląda tak:
0stC -> +2stC
100stC -> 98stC

To co wysłałem we wcześniej zamieszonym linku to sposób na "rozciągnięcie" tej skali aby dla dla takich pomiarów w wodzie z lodem widzieć okolice zera, a we wrzątku (z uwagl. ciśnienia) widzieć okolice 100stC.

Tam nie ma żadnej magii - to dalej jest prosta zależność liniowa - więc nie mowy że ta "kalibracja" zaburzy obserwację stabilności i trendu temperatury - chodzi tylko i wyłącznie o spokój duszy osoby która patrzy na wartości wyświetlacza, że ma przeświadczenie że termometr pokazuje "większą prawdę" jeśli chodzi o wartości.

--EDYTA--

nie będę taki, aby bardziej zachęcić do sprawdzenia kalibracji zamieszczam kod - dzisiaj dopisałem i nie testowalem, mniej więcej tak jak u mnie jest tylko powycinałem tematy dotyczące Ds-ów - i oczywiście kod nie testowany po tym wycięciu - ale zakładam, że osoby które zechcą z tego skorzystać coś z tego wyniosą. Nie wiem czy na tym czy na czarnym było kiedyś o pisaniu kodu: że w jednym pliku że nazwy zmiennych nieczytelne i takietam więc tu można zobaczyć jak pisać czytelniej.
aha, niepublikowane na forum konstrukcje z obsługą termometrów są związane z tym, że obsługuję dane po MQTT i dotykowy wyświetacz, więc sterownik nie możne się zamyślić na 750ms jak czeka na odczyt/konwersję.
Finalnie jak skończę"swój sterownik" - to podzielę się całym kodem - bo to dzięki temu forum (i czarnemu) pierwszy raz użyłem ESP32 ;-) (chociaż programowanie nie było mi obce)


[code]

#include <Arduino.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define PIN_ONE_WIRE 14

OneWire ds(PIN_ONE_WIRE);
DallasTemperature ds18b20(&ds);

//struktura do przechowywania temperatur
struct stSensor {
volatile float tempTank = 0.0;
volatile float tempBuffer = 0.0;
} xSensor;

enum dsStates {
IDLE, WAITING_FOR_CONVERSION, ABORTED
};
dsStates dsState;
const unsigned long dsMeasurementPeriod = 950; //pomiar temp co okolo 1 sek
unsigned long dsMeasurementTimer;
unsigned long dsLastActionTimer;

struct stDs18b20Info {
float callRawLow;
float callRawHigh;
float callReferenceLow;
float callReferenceHigh;
DeviceAddress address;
};

//dane w postaci {callRawLow, callRawHigh, callReferenceLow, callReferenceHigh, {adres_czujnika} }
// użycie akualnie wpisanych wartości domyślnych nie zmieni odczytanej wartosci
static struct stDs18b20Device {
stDs18b20Info tank = {0.0F, 100.0F, 0.0F, 100.0F, {0x28, 0xC0, 0xAA, 0x6E, 0x0B, 0x00, 0x00, 0x4B } }; //11
stDs18b20Info buffer = {0.0F, 100.0F, 0.0F, 100.0F, { 0x28, 0x28, 0x52, 0x6E, 0x0B, 0x00, 0x00, 0x5B } }; //12
} xDs18b20Device;


void setup() {
ds18b20.begin();
ds18b20.setResolution(12);
ds18b20.setWaitForConversion(false);
dsState = IDLE;
}

float getDsTemereture( stDs18b20Info dsSensor ) {
float rawValue = ds18b20.getTempC(dsSensor.address);
float correctedValue = (((rawValue - dsSensor.callRawLow) * (dsSensor.callReferenceHigh-dsSensor.callReferenceLow)) /
(dsSensor.callRawHigh-dsSensor.callRawLow)) + dsSensor.callReferenceLow;
return round_float(correctedValue,2);
}

void loop(){
switch (dsState) {
case IDLE:
if ( millis() - dsMeasurementTimer >= dsMeasurementPeriod ) {
dsState = WAITING_FOR_CONVERSION;
dsMeasurementTimer = millis();
ds18b20.requestTemperatures();
dsLastActionTimer = millis();
}
case WAITING_FOR_CONVERSION:
if ( millis() - dsLastActionTimer >= 800 ) { //pewnie moze byc 750
if (ds18b20.isConversionComplete()) {
xSensor.tempTank = getDsTemereture(xDs18b20Device.tank);
xSensor.tempBuffer = getDsTemereture(xDs18b20Device.buffer);

dsState = IDLE;
} else {
if ( millis() - dsLastActionTimer >= 5000) { // jak po 5 sek sie zatnie to reinicjalizacja
dsState = ABORTED;
}
}
}
case ABORTED:
ds18b20.setResolution(12);
ds18b20.setWaitForConversion(false);
dsState = IDLE;
}
}


[/code]

andrzejg11
90%
90%
Posty: 771
Rejestracja: 2009-03-03, 18:32

Re: Prawidłowa kalibracja sond DS

Post autor: andrzejg11 » 2021-12-15, 20:39

Sprawa nie jest taka prosta jak się koledze @Pico wydaje.

Wskazania termometrów nawet tych najdokładniej skalibrowanych w dowolnych warunkach temperatur i ciśnienia zawsze będą się różnić podczas procesu ponieważ ich wskazania zależne są silnie od:

1. ciśnienia atmosferycznego
2. ciśnienia w rurze – a więc od przyłożonej mocy grzania i stanu procesu
3. od aktualnej wartości ciepła parowania (wrzenia ) mierzonego medium.

Wartościami temperatur wrzenia (przemiany fazowej) dowolnego medium rządzi równanie Clausiusa-Clapeyrona – patrz wikipedia,
Prawo to uzależnia temperatury wrzenia substancji od ciśnienia, temperatury (również w warunkach normalnych) i ciepła parowania.

Mierzymy zatem - nawet najlepiej skalibrowanym termometrem - aktualne temperatury wrzenia azeotropów i mieszaniny w kotle, które różnią się znacznie od temperatur które byłyby mierzone w warunkach normalnych (p=1013 hpa i T=20 stopni C".

Największe błędy występują podczas pomiaru temperatury w kotle, które wynikają z najwyższego ciśnienia w aparaturze oraz zmiennego składu mieszaniny podczas procesu co skutkuje zmienną w czasie wartością ciepła parowania płynu w kotle.
Błędy te mogą sięgać nawet kilku stopni w stosunku do kalibracji sporządzonej w dowolnych warunkach ciśnienia i punktach przemiany fazowej (woda wrząca i lód), jak słusznie zauważył kol. @Pako23

Dlatego też w każdym przypadku w celu uzyskania dokładnych i niezmiennych w czasie wartości temperatur konieczne jest:

1. znajomość (pomiar) ciśnienia atmosferycznego
2. znajomość (pomiar) ciśnienia w rurze
3. znajomość rozkładu ciśnienia w rurze i wielkości ciśnienia w punktach pomiarowych
4. znajomość wielkości ciśnienia w boilerze
5. znajomość wartości ciepła parowania w każdej chwili procesu
6. posiadanie odpowiedniego narzędzia matematycznego do wyliczenia poprawek na podstawie ww. składników i równania Clausiusa-Clapeyrona.

Dopiero wówczas można dokładnie skalibrować wartości temperatur w dowolnych warunkach:
- dla termometrów w głowicy, OOB i kolumnie – do temperatury wrzenia azeotropu 78,15
- dla termometru w boilerze – kalibracja dwupunktowa - do tempr. wrzenia azeotropu i temperatury wrzenia wody.

U mnie podczas całego procesu temperatury mierzone z rzeczywistą (nie aproksymowaną ) rozdzielczością 1/100 stopnia sterownik sprowadza do warunków normalnych, a błędy w stosunku do wartości normalnych nie przekraczają 0,1 stopnia.

Więcej mogą koledzy znaleźć wpisując w szukajce czarodziejskie słowo „Clapeyrona”

A tak w ogóle zachęcam do czytania annałów forumowych szczególnie tych sprzed lat, bo dzisiaj mówimy więcej o producentach, cenach, nowinkach, sterownikach i innych buforach, a zapominamy często o podstawach, które obowiązywały od dawna i zawsze są pod ręką (forum).
W kolumnie znajdują się półki, a reszta jest opinią.
pozdrawiam - andrzejg11

pico
30%
30%
Posty: 37
Rejestracja: 2020-12-02, 15:55

Re: Prawidłowa kalibracja sond DS

Post autor: pico » 2021-12-15, 21:02

Ale termomeru można też używać do pomiaru wyjścia wody chłodzącej i chcieć wiedzieć czy ma np. 65 czy 68 stopni...

Awatar użytkownika
degu
101%
101%
Posty: 316
Rejestracja: 2019-03-30, 22:44
Lokalizacja: Biała Podlaska

Re: Prawidłowa kalibracja sond DS

Post autor: degu » 2021-12-15, 21:37

Jeżeli chcecie dokładnego pomiaru, to niestety na pewno nie na DS-ie, do tego są dokładniejsze czujniki na rynku.
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego

Pako23
101%
101%
Posty: 52
Rejestracja: 2016-06-24, 22:00
Lokalizacja: Częstochowa

Re: Prawidłowa kalibracja sond DS

Post autor: Pako23 » 2021-12-16, 08:05

Degu dlaczego nie DSy?? skoro można na DS-ach w miarę mieć dokładny podgląd (np do mierzenia temp wody wychodzącej z głowicy lub możesz tego termometru później do zacierania użyć, natomiast tak jak sugerujesz nawet jak się je wykalibruje w miare dobrze to i tak jedna czujka będzie pokazywać inną temp niż druga Nawet najbardziej dokładne termometry maja tam jakąś odchyłkę , więc uważam że twoja rada kupić lepsze czujki jest bez sensu w tym przypadku. ( chyba że mówimy tutaj z tej najwyższej półki).
Temat był o tym jak wykalibrować DSy tak żeby pokazywały jak najbardziej zbliżoną temp. (nie idealną bo jak mogłeś się dowiedzieć w temacie jest to prawie nie możliwe) Ja jednak wolę żeby mi pokazywało bliżej temp azeotropu niż np 60 st (i o tym jest ten cały temat a nie o tym że temp ma być stała) jak Ty masz inne zdanie to je szanuję bo może tobie to nie przeszkadza.

Ja zostanę przy swoim sposobie kalibracji sond. Sondę dla kega wykalibruję podczas czyszczenia wypełnienia na wodzie a resztę czujek wykalibruję w otwartym naczyniu (bo wtedy wszystkie temp mniej więcej się zgadzają).

Co do jakości DSów jest naprawdę różnie wykalibrowane czujki od jednego producenta po wykalibrowaniu potrafią pokazać różna temp w tym samym miejscu pomiaru (np w temp otoczenia pokazują tak samo a w kolumnie potrafi być około 1st różnicy, ale tym się już przejmuję).

pico
30%
30%
Posty: 37
Rejestracja: 2020-12-02, 15:55

Re: Prawidłowa kalibracja sond DS

Post autor: pico » 2021-12-16, 08:25

To jeszcze dodam, że moje czujniki pokazują inną temp w zależności jakim napięciem są zasilone (3,3 vs 5) - na 5v pokazują ze stopień wyżej - możne się grzeją (co prawda nie ma to dużego znaczenia bo nie zmienia im się napięcia w trakcie "życia sterownika").

Pako23
101%
101%
Posty: 52
Rejestracja: 2016-06-24, 22:00
Lokalizacja: Częstochowa

Re: Prawidłowa kalibracja sond DS

Post autor: Pako23 » 2021-12-16, 09:30

Czy po kalibracji sond też ten problem występuje?? bo ja zauważyłem u mnie , że po wykalibrowaniu i sprawdzeniu na wodzie ten problem znikł.

Mam w domu oryginalne czujki DS ( przynajmniej tak pokazuje program do sprawdzenia) muszę je przylutować i zobaczyć jak sie te oryginalne będą zachowywać czy też będzie między nimi taka różnica.

maria-n
100%
100%
Posty: 1365
Rejestracja: 2008-07-15, 14:52

Re: Prawidłowa kalibracja sond DS

Post autor: maria-n » 2021-12-16, 11:11

Cześć
Pako23 pisze:
2021-12-16, 08:05
Ja zostanę przy swoim sposobie kalibracji sond. Sondę dla kega wykalibruję podczas czyszczenia wypełnienia na wodzie
andrzejg11 pisze:
2021-12-15, 20:39
Wskazania termometrów nawet tych najdokładniej skalibrowanych w dowolnych warunkach temperatur i ciśnienia zawsze będą się różnić podczas procesu ponieważ ich wskazania zależne są silnie od:

1. ciśnienia atmosferycznego
2. ciśnienia w rurze – a więc od przyłożonej mocy grzania i stanu procesu
3. od aktualnej wartości ciepła parowania (wrzenia ) mierzonego medium.
Będziesz usatysfakcjonowany?? W czasie procesu nigdy w kotle niema czystej wody.

Pako23
101%
101%
Posty: 52
Rejestracja: 2016-06-24, 22:00
Lokalizacja: Częstochowa

Re: Prawidłowa kalibracja sond DS

Post autor: Pako23 » 2021-12-16, 13:35

Cześć

Tak będę gdyż czujka w kotle potrzebna mi jest tylko do tego żebym wiedział kiedy jest koniec procesu, dlatego napisałem na wodzie bo wiadomo po skończonym procesie powinna byś w kotle woda. Wiadomo przy rektyfikacji nastawu sytuacja wygląda trochę inaczej gdyż nie ma tam czystej wody.
Skoro u mnie się ta metoda sprawdza i czujka pokazuje zawsze temp (+- .1st ) przy której mam kończyć w danym dniu (danym ciśnieniu) to nie widzę przeszkód żeby tak kalibrować, tym bardziej że w temacie nikt nie ma nic lepszego do zaproponowania (jak to zrobić w domowych warunkach).

Zdaję sobie również sprawę z tego, że zmniejszając moc zmienia mi się też temp na czujniku dlatego kalibrację robię na tej mocy na której rektyfikuję.

kacper59
40%
40%
Posty: 86
Rejestracja: 2017-06-20, 09:07

Re: Prawidłowa kalibracja sond DS

Post autor: kacper59 » 2021-12-16, 22:48

W kotle nie zostaje sama woda, są frakcje cięższe od niej.

maria-n
100%
100%
Posty: 1365
Rejestracja: 2008-07-15, 14:52

Re: Prawidłowa kalibracja sond DS

Post autor: maria-n » 2021-12-17, 16:49

Cześć
A to czy są tam frakcje cięższe od wody, czy ich niema. Zależy od tego, jaką przyjmie się technologię prowadzenia procesu. U mnie jest tylko woda odwarowa! Która - też oczywiście nie jest "czystą"

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 34 gości