Jako hobbysta, który nie ma dostępu do sprzętu laboratoryjnego, naprawdę nie wydaje mi się możliwe skalibrowanie termistora, który mam.
Oczywiście istnieją skalibrowane czujniki temperatury, takie jak DS18B20, ale termistory specjalnie na wolnych MCU, takich jak Aruino UNO (w porównaniu do nowych MCU), są szybsze.
Jakie mamy opcje kalibracji termistora bez użycia sprzętu laboratoryjnego?
thermistor
calibration
ElectronSurf
źródło
źródło
Odpowiedzi:
Kalibracja termistora (lub w większości dowolnego czujnika w tym zakresie) to proces dwuetapowy:
Pierwszy krok jest najtrudniejszy i niestety ten, z którym mam najmniej doświadczenia. Opiszę to wtedy tylko w bardzo ogólny sposób. Drugi krok to głównie matematyka.
Pomiar danych kalibracyjnych
Musisz wypełnić tabelę parami (T, R), tj. Wartościami rezystancji zmierzonymi w znanych temperaturach. Twoje dane kalibracyjne powinny obejmować cały zakres temperatur, których będziesz potrzebować podczas faktycznego użytkowania. Punkty danych poza tym zakresem nie są zbyt przydatne. W przeciwnym razie im więcej masz punktów danych, tym lepiej.
W celu zmierzenia rezystancji termistora, radzę przeciwko użyciu omomierza. Zamiast tego użyj tej samej konfiguracji, której będziesz używać do rzeczywistych pomiarów po kalibracji. W ten sposób wszelkie systematyczne błędy pomiaru rezystancji (takie jak przesunięcie ADC i błędy wzmocnienia) zostaną skalibrowane.
Aby poznać temperaturę, masz dwie opcje: albo użyj stałych punktów temperatury (np. Wrzącej wody lub topniejącego lodu), albo użyj już skalibrowanego termometru. Punkty stałe są złotym standardem kalibracji temperatury, ale trudno jest je odpowiednio ustawić i prawdopodobnie nie znajdziesz wielu z nich w zakresie temperatur, na których Ci zależy.
Korzystanie ze znanego dobrego termometru prawdopodobnie będzie łatwiejsze, ale wciąż istnieje kilka zastrzeżeń:
Pomocne może być umieszczenie obu blisko siebie, w obudowie o wysokiej bezwładności cieplnej (lodówka lub piekarnik).
Oczywiście dokładność termometru odniesienia jest tutaj bardzo ważnym czynnikiem. Powinno być znacznie dokładniejsze niż wymagania dotyczące końcowej dokładności pomiaru.
Dopasowanie prawa kalibracji
Teraz musisz znaleźć funkcję matematyczną, która pasuje do twoich danych. Nazywa się to „dopasowaniem empirycznym”. Zasadniczo każde prawo może zrobić tak długo, jak długo leży wystarczająco blisko punktów danych. Wielomiany są tutaj ulubionym, ponieważ dopasowanie zawsze jest zbieżne (ponieważ funkcja jest liniowa w stosunku do jej współczynników) i są tanie do oceny, nawet na niskim mikrokontrolerze. Jako szczególny przypadek regresja liniowa może być najprostszym prawem, jakie można wypróbować.
Jednak, chyba że interesuje Cię bardzo wąski zakres temperatur, odpowiedź termistora NTC jest wysoce nieliniowa i niezbyt podatna na pasma wielomianowe niskiego stopnia. Jednak strategiczna zmiana zmiennych może uczynić twoje prawo prawie liniowym i bardzo łatwym do dopasowania. W tym celu zajmiemy się podstawową fizyką ...
Przewodnictwo elektryczne w termistorze NTC jest procesem aktywowanym termicznie. Przewodność można następnie modelować za pomocą równania Arrheniusa :
G = G ∞ exp (−E a / (k B T))
gdzie G ∞ nazywa się „współczynnikiem pre wykładniczym”, E a jest energią aktywacji , k B jest stałą Boltzmanna , a T jest temperaturą absolutną.
Można to zmienić na liniowe:
1 / T = A + B log (R)
gdzie B = k B / E a ; A = B log (G ∞ ); a log () jest logarytmem naturalnym.
Jeśli weźmiesz swoje dane kalibracyjne i wykreślisz 1 / T jako funkcję log (R) (która jest zasadniczo wykresem Arrheniusa z zamienionymi osiami), zauważysz, że jest to prawie, ale nie całkiem, linia prosta. Odejście od liniowości wynika głównie z faktu, że czynnik wykładniczy jest nieznacznie zależny od temperatury. Krzywa jest jednak wystarczająco gładka, aby bardzo łatwo dopasować ją do wielomianu niskiego stopnia:
1 / T = c 0 + c 1 log (R) + c 2 log (R) 2 + c 3 log (R) 3 + ...
Jeśli interesujący Cię zakres temperatur jest wystarczająco krótki, przybliżenie liniowe może być dla Ciebie wystarczające. Użyłbyś wtedy tak zwanego „modelu β”, w którym współczynnik β wynosi 1 / B. Jeśli użyjesz wielomianu trzeciego stopnia, możesz zauważyć, że współczynnik c 2 można pominąć. Jeśli go zaniedbasz, uzyskasz słynne równanie Steinharta – Harta .
Ogólnie rzecz biorąc, im wyższy stopień wielomianu, tym lepiej powinien on pasować do danych. Ale jeśli stopień jest zbyt wysoki, skończysz na przepracowaniu . W każdym razie liczba wolnych parametrów w dopasowaniu nigdy nie powinna przekraczać liczby punktów danych. Jeśli te liczby są równe, prawo dokładnie dopasuje dane , ale nie ma sposobu, aby ocenić poprawność dopasowania. Należy pamiętać, że ten kalkulator termistora (powiązany z komentarzem) wykorzystuje tylko trzy punkty danych w celu zapewnienia trzech współczynników. To bóg do wstępnej kalibracji przybliżonej, ale nie polegałbym na niej, gdybym potrzebował dokładności.
Nie będę tutaj omawiać, jak właściwie wykonać dopasowanie. Mnóstwo pakietów oprogramowania do dopasowywania dowolnych danych.
źródło
Czytanie termistora jest trochę trudne. Powyższa metoda kalibracji, nie poddaje się wykrywaniu błędów, stworzyłaby dwa punkty krzywej logarytmicznej (krzywa odpowiedzi termistora).
Oznacza to, że dla każdej zmiany temperatury o 0,1 ° C odpowiednia zmiana rezystancji będzie się różnić w zależności od zakresu temperatury.
Na początku możesz wyglądać na błąd o około 2 do 5 ° C poza rzeczywistą temperaturą, ale nie ma błędu, tylko zły odczyt.
Nie zamieszczasz żadnych szczegółów na temat tego, jak czytasz ten termistor, może być Arduino? Muszę powiedzieć, że niektóre biblioteki w ogóle nie działają, więc musisz stworzyć specjalną funkcję, aby to zrobić.
Opublikuj szczegółowe wyjaśnienie, jak scharakteryzować i odczytać termistor. Post jest w języku hiszpańskim, ale w tagach kodu, wszystkie objaśnienia w języku angielskim.
Po uzyskaniu współczynników ABC błąd będzie wynosił około 0,1 ° C na podstawie innego pomiaru, nawet przy długości 6 m przewodu LAN.
W tym teście odczytano jednocześnie 4 termistory. Widać niewielką różnicę temperatur w porównaniu z 2 z nich, które krótko trzymałem w palcach.
źródło
Napełnij kubek kostkami lodu i wlej wodę, aby wypełnić brzeg. Od czasu do czasu mieszaj. Kiedy lód zacznie się topić, osiągniesz temperaturę 0 ° C. Umieść czujnik w wodzie i zrób odczyt.
Jeśli twój czujnik może to tolerować, upuść go w czajniku z wrzącą wodą. Na poziomie morza, który da ci odczyt odniesienia 100 ° C.
Jeśli potrzebujesz wykonać termokurczliwy czujnik w celu uszczelnienia, będziesz musiał poświęcić trochę czasu na ustabilizowanie się odczytu.
symulacja tego obwodu - Schemat utworzony przy użyciu CircuitLab
Rysunek 1. Prosta krzywa kalibracji liniowej.
Jak wskazano w komentarzach, jeśli używasz termistora, musisz sprawdzić arkusz danych pod kątem liniowości. Jeśli to proste podejście nie jest wystarczająco dobre, będziesz musiał użyć obliczeń wielomianowych lub tabeli przeglądowej w mikrokontrolerze.
źródło
Zlinearyzowane termometry mają błąd wzmocnienia i przesunięcia.
termistory są kalibrowane w temperaturze 25 ° C za pomocą określonej krzywej czułości z 2 zmiennymi.
aby go skalibrować, potrzebujesz tylko 2 pomiarów
źródło