Pomiar wysokiej temperatury 0°C do +1024°C – prosto i skutecznie.

4.8/5 - (9 votes)

widok modułu z MAX6675 i termopary KPamiętam jak kilka lat temu (trzecia dekada 2010 roku) analizowałem możliwości zbudowania samodzielnie urządzenia do pomiaru wysokiej temperatury w zakresie powyżej możliwości sensorów krzemowych. Wówczas nie było to najprostsze zadanie, wymagane były kosztowne układy wyposażone w przetworniki delta sigma, oraz specjalne źródła odniesienia, by uzyskać stabilność i precyzję pomiarów. (Udało mi się nawet wtedy zdobyć drogi specjalizowany IC AD7715) Tak było kiedyś … dziś potrzebny jest jeden scalak i szeroki zakres pomiarów gotowy  0°C do +1024°C, z 12-sto bitową rozdzielczością i rozdzielczością wyniku pomiarów 0,25°C.

Do określenia tak wysokich temperatur używa się elementów pomiarowych zwanych termoparami.

Pokrótce, i wielkim uproszczeniu:

termopary wykorzystują zasadę działania opartą na generowaniu przez różne metale napięcia, gdy są w bezpośrednim kontakcie ze sobą, napięcie to jest zależne od temperatury otoczenia. Istnieje kilka popularnych typów termopar np K, E, J, itp, które są złożone z odpowiednich par metali. Każda kombinacja metali daje określone napięcia zależne od temperatury. Poszczególne skrzyżowania, są scharakteryzowane matematycznie.

Rodzaje termopar:

oznaczenia barwne termopar, wyprowadzenie ujemne - kolor biały, wyprowadzenie dodatnie i izolacja zewnętrzna w kolorze określającym rodzaj termopary

oznaczenia barwne termopar,
wyprowadzenie ujemne – kolor biały, wyprowadzenie dodatnie i izolacja zewnętrzna w kolorze określającym rodzaj termopary

Typ E – stopy odpowiednie dla temperatur od –200°C do 900°C. NiCr-CuNi. Czułość: 68µV/°C.
Nadają się do zastosowań w atmosferze od próżni do łagodnie utleniającej, a także w bardzo niskich temperaturach. Rodzaj E daje największe napięcie wyjściowe spośród wszystkich termopar zbudowanych z metali podstawowych.
Typ J – stopy odpowiednie dla niższych temperatur -40°C do 750°C. Fe-CuNi. Czułość: 55µV/°C.
Nie powinny być używane powyżej 760°C. Ekonomiczne i niezawodne.
Typ K – standard przemysłowy dla temperatur od -200°C do 1200°C. NiCr-NiAl. Czułość: 41µV/°C.
Termopary typu K mogą korodować w środowiskach odtłuszczanych chemicznie.
Typ N – pomiar temperatury +270…+1300 °C. NiCrSi-NiSi. Czułość 39µV/°C.
Bardziej odporne na utlenianie i bardziej stabilne w górnym zakresie pomiarowym.
Typ T – stopy odpowiednie dla temperatur od –200°C do 350°C. Cu-CuNi. Czułość: 30µV/°C.

Termopary z metali szlachetnych
Typ R – dla wysokich temperatur do 1600°C. PtRh13-Pt. Czułość około: 14µV/°C.
Mają skłonność do zanieczyszczania się, gdy kontaktują się z innymi metalami. Stabilne w atmosferze utleniającej, ale ulegają degradacji w próżni lub atmosferze rozrzedzonej.
Typ S – standard przemysłowy dla wysokich temperatur do 1600°C. PtRh10-Pt. Czułość około: 10µV/°C.
Podobne do typu R, stosowane również jako czujniki wzorcowe,
Typ B – podobne do typów R i S, ale użyteczne +130…+1820 °C. PtRh30-PtRh6.
Bardzo stabilny termoelement. Najlepiej stosować w temperaturach powyżej 600°C z uwagi na niską czułość.
Typ U-200…+600 °C.

Termopary wolframowo-renowe
Pomiar wysokiej temperatury do 2320°C
Typ C – W5Re-W26Re (Wolfram-Ren / 5% Wolfram)
Typ G – W-W26Re
Typ D – W3Re-W25Re (Wolfram- Ren / 25% Wolfram)
Termopary te są kruche i szybko się utleniają (pomiar w atmosferze obojętnej, lub próżni).

Istotne:

po podłączeniu zacisków termopary do układu pomiarowego powstaje jeszcze jedna para metalowych węzłów, zwanych zimnym połączeniem (cold junctions), które może zniekształcać wyniki pomiarów. Dla niwelacji tego zjawiska wprowadzono Cold Junction Compensation (CJC) by usuwać wpływ napięć generowanych przez te zimne łącza, dla bardziej dokładnych pomiarów. Kompensacja zimnych połączeń polega na obliczeniu „dodatkowego” napięcia na podstawie temperatury zacisków i korektę wyniku.

Szczegółowy opis scalonego układu pomiarowego firmy Maxim.

MAX6675 jest wyrafinowanym przetwornikiem cyfrowym do pomiarów za pomocą termoelementu K (termopary). Ma wbudowany 12-bitowy konwerter analogowo-cyfrowy (ADC). MAX6675 zawiera także detekcję i kompensację zimnego połączenia, kontroler cyfrowy, interfejs zgodny z SPI, i towarzyszącą logikę sterowania.
Układ scalony opracowany został do pracy w połączeniu z zewnętrznym mikrokontrolerem (μC).

Konwersja temperatury

MAX6675 obejmuje sprzętowe dopasowanie (kondycjonowanie –  wzmocnienie, stłumienie, filtracja) sygnału pomiarowego termopary do napięcia zgodnego z wejściowym  dla kanałów ADC. Wejścia T + i T- podłączone są do obwodów wewnętrznych, które ograniczają błędy pomiaru powodowane przez wprowadzanie zakłóceń z przewodów termopary.
Przed konwersją, napięcie z termopary w wartościach równoważnych mierzonej temperaturze podlega skompensowaniu. Jest to konieczne, w celu wyłapania różnicy między stroną przyłączeniową termopary na zimno (temperatura otoczenia IC – MAX6675) i temperaturą 0°C wirtualnego odniesienia. Przy użyciu termopary typu K, zmiany napięcia wynoszą 41μV / ° C, a charakterystyka termopary jest zbliżona z następującym równaniem:

VOUT = (41μV / °C) ✕ (TR – TAMB)

gdzie:
VOUT jest napięciem wyjściowym termopary (mV).
TR jest temperaturą zdalnego węzła termopary ( ° C).
TAMB jest temperaturą otoczenia (° C).

Cold-Junction – kompensacja.

Funkcjonalność termopary pozwala zdefiniować różnicę temperatur między dwoma końcami drutów termopary. Gorące połączenie termopary może określić zakres od 0°C do +1023,75°C. Natomiast zimny koniec (temperatura otoczenia płytki drukowanej, na której zamontowany jest MAX6675) może jedynie zdefiniować zakres temperatur od -20°C do + 85°C. Podczas gdy temperatura na zimnym końcu będzie się zmienić układ MAX6675 nadal precyzyjnie wykryje różnicę temperatur na przeciwległym końcu.
Właśnie dlatego MAX6675 monitoruje zmiany w temperaturze otoczenia, by na tej podstawie modyfikować kompensację zimnego połączenia. Aby wykonać rzeczywisty pomiar temperatury termopary MAX6675 mierzy napięcie z wyjścia termopary oraz z wyjścia zintegrowanej diody będącej czujnikiem temperatury otoczenia.
Wewnętrzny zespół obwodów przekazuje napięcie diody (temperatura otoczenia) i napięcie termopary (zdalna temperatura minus temperatura otoczenia) do wykonania konwersji w ADC, by w kolejnym kroku obliczyć temperaturę na gorącym końcu termopary.
Optymalne wyniki pomiarów temperatury przez MAX6675 uzyskuje się, gdy zimne połączenie termopary i sam układ MAX6675 przebywają w tej samej temperaturze. Należy unikać umieszczania urządzeń lub komponentów wytwarzających ciepło w pobliżu tego układu scalonego, ponieważ może to powodować powstawanie błędów związanych z zimnym połączeniem.

Digitalizacja.

Blok ADC dodaje wynik pomiaru z diody zimnego połączenia z wzmocnionym napięciem termopary i przetwarza na 12-bitowy wynik dostępny na wyprowadzeniu SO. Sekwencja samych zer oznacza odczyt z termopary 0°C. Sekwencja samych jedynek oznacza, że odczytano z termopary +1023,75°C.

Interfejs szeregowy.

Typowym zastosowaniem układu MAX6675 jest obwód połączony z mikrokontrolerem. W tym przykładzie, MAX6675 przetwarza odczyty z termopary i przesyła dane za pośrednictwem interfejsu szeregowego.
Ustawienie wyprowadzenia CS w stan niski i podanie sygnału zegarowego na SCK pozwoli czytać wyniki na pinie SO. Wymuszanie stanu niskiego na pinie CS natychmiast zatrzymuje proces konwersji temperatury. Aby zainicjować nowy proces konwersji trzeba ustawić pin CS w stan wysoki.
Trzeba pamiętać, że ustawienie stanu niskiego na pinie CS powoduje wysłanie pierwszego bitu na pin SO. Interfejs szeregowy wymaga 16 cykli zegara dla kompletnego odczytu temperatury przez µC.
SO output MAX6675Dane należy odczytywać (16 bitów wyjściowych) na opadającym zboczu zegara.
Pierwszy bit, D15, to bit znaku, i nie jest istotny bo w obsługiwanym zakresie pomiarowym zawsze zawiera zero. Bity D14-D3 przechowują wartość temperatury przeliczaną w kolejności od MSB do LSB. Bit D2 jest zazwyczaj w stanie niskim, będzie natomiast ustawiony w stan wysoki gdy wejście termopary jest otwarte. D1 – LOW, aby zapewnić identyfikację IC jako MAX6675, natomiast bit D0 jest trzy-stanowy. (brzmi trochę abstrakcyjnie, ale ja tego nie wymyśliłem, taka informacja jest w nocie 😆 ) Sygnał zegarowy nie powinien być szybszy niż 4,3MHz. Czas konwersji typowo wynosi 0,17s i nie powinien przekroczyć 0,22s.

Wykrywanie przerwy w obwodzie termopary.

aplikacja MAX6675Zwyczajnie bit D2 ma wartość LOW, przyjmuje stan HIGH, jeśli wejście termopary jest otwarte. W celu umożliwienia działania czujnika otwartego obwodu termopary, sam czujnik (wyprowadzenie T-) powinien być uziemiony.
Uziemienie termopary powinno się dodać jak najbliżej pinu GND, jak to możliwe.

Uwarunkowania od zakłóceń.

MAX6675 jest podatny na błędy i jego dokładność zależy od jakości zasilania. Wpływ zakłóceń z linii zasilania może być minimalizowany poprzez umieszczenie kondensatora ceramicznego o wartości 0.1μF w pobliżu pina zasilania IC.

Zagadnienia termiczne.

Samonagrzewanie obniża dokładność pomiaru temperatury na MAX6675 w niektórych aplikacjach. Wielkość błędów pomiaru temperatury zależy od przewodności cieplnej obudowy MAX6675, techniki montażu i skutków przepływu powietrza. Należy użyć dużej płaszczyzny uziemienia, aby poprawić dokładność pomiaru temperatury z MAX6675.
Dokładność systemu termopary można również poprawić przez następujące środki ostrożności:
• należy skorzystać z przewodu o większej długości, który nie będzie bocznikiem ciepła z obszaru pomiarowego,
• jeśli wymagana jest krótki odcinek przewodu, należy używać go tylko w obszarze pomiaru i dodatkowo wykorzystać przewód przedłużający dla obszaru bez różnicy temperatury,
• należy unikać naprężeń mechanicznych i wibracji, które mogą nadwyrężyć przewody,
• w przypadku stosowania długich przewodów termopary należy używać przewodu przedłużającego dwużyłowego skręconego,
• należy unikać dużych skoków temperatury,
• spróbuj użyć przewód termopary dobrze dobrany do mierzonej wartości temperatury,
• użyj odpowiedniego materiału izolacji zewnętrznej w nieprzyjaznym środowisku chroniąc przewód termopary,
• przedłużenia przewodów należy stosować tylko w niskich temperaturach i tylko w regionach małych różnic temperatury,
• należy obserwować zdarzenia oraz ciągle monitorować rezystancje termopary.

Zmniejszanie skutków zakłóceń typu Pick-up.

Wzmacniacz wejściowy (A1) jest wzmacniaczem niskoszumowym zaprojektowanym tak, aby umożliwić wykrywanie sygnału wejściowego o wysokiej precyzji. Dlatego należy zachować termoparę i przewody łączące, z dala od źródeł  zakłóceń elektrycznych.

Informacje o układzie scalonym.

liczba tranzystorów w strukturze: 6720
proces technologiczny wykonania: BiCMOS

Opis wyprowadzeń.

1 GND Ground
2 T- Alumel Lead of Type-K Thermocouple. Powinien być podłączony na zewnątrz do masy.
3 T+ Chromel Lead of Type-K Thermocouple.
4 VCC Positive Supply. Obejście z kondensatorem 0.1μF do GND.
5 SCK Serial Clock Input
6 CS Chip Select. Ustaw CS w stan niski, aby włączyć interfejs szeregowy.
7 SO Serial Data Output
8 N.C. No Connection

Pomiar wysokiej temperatury dzięki MAX6675 w Bascom AVR. :mrgreen:

W tym wypadku sprawa nie jest skomplikowana i sprowadza się od odebrania szesnastu bitów z interfejsu szeregowego scalaka obsługującego termoparę. Z pomocą przyjdzie znowu polecenie Shiftin. :mrgreen: W najnowszej wersji środowiska IDE doczekało się ono nowej odsłony i jest jeszcze bardziej doskonałe.  Dzięki jego uniwersalności sprawa jest bajecznie prosta i sprowadza się do przykładowego zastosowania:

Po odczytaniu wartości bitów z układu możemy przeanalizować bity statusu i kolejnie pozbyć się ich w celu prostego przedstawienia temperatury. Wykonując dodatkową operację możemy się pozbyć części „ułamkowych”.  Dzieląc przez 4 mnożąc przez 0,25 lub przesuwając ciąg binarny o dwie pozycje w lewo, wszystkie te operację mają identyczny rezultat 😉 a najlepiej zastosować … Moje poznawanie układu w praktyce można obejrzeć na poniższym kawałku kodu:

Chwilkę się „pobawiłem” termoparą z układem prototypowym, aby mieć choć trochę wyobrażenia i swoje zdanie na tego typu sensor temperatury. Mając pirometr mogłem porównywać odczyty z mojego układu ze wskazaniem tego przyrządu 😉

Kod po kompilacji pełny kod udostępniony na końcu opisu zajmuje ponad 2020 bajtów, można go okroić z powodzeniem do wielkości poniżej 1000 bajtów, by dalej robił to samo … Oczywiście jest to wersja do zapoznania się z funkcjonowaniem modułu przetwornika.

Układ zasilałem napięciem zbliżonym do 5V z portu USB komputera przenośnego. Z ciekawości dokonałem dwóch analiz magistrali łączącej µC i moduł przetwornika temperatury. Można je przeglądnąć poniżej 😉

przebiegi czasowe magistrali MAX6675przebiegi czasowe magistrali MAX6675 "hi speed"W pierwszym przypadku aktywny był parametr polecenia SHIFTIN wpływający na częstotliwość zegara taktującego magistralę.

Test pierwszy – pomiar temperatury pokojowej.

Test odbywał się z podzespołami „wolno” leżącymi na stole za moim laptokiem. Moduły pozostawiłem „samopas” na kilkadziesiąt minut, by sobie popracowały. Ja od czasu do czasu zerkałem co się dzieje w temacie, spoglądając na biegający tekst w konsoli terminala RS generowany przez podłączony moduł MCU. Dokonując pomiarów pirometrem który posiadam porównywałem wskazania mjego modelowego układu pomiarowego. I powiem: jest duża zbieżność wyników 😀

pomiar temperatury pokojowej termoparą za pomocą IC MAX7765, w porównaniu ze wskazaniem pirometru

pomiar temperatury pokojowej termoparą za pomocą IC MAX7765, w porównaniu ze wskazaniem pirometru

 

odczyt z MAX6675 - T pokojowaFotka prezentuje pomiar pirometrem na tle wyników przesyłanych do konsoli. Dla lepszej czytelności zamieszę okienko konsoli. Szczerze mówiąc to byłem miło zaskoczony, nie spodziewając się tak dobrych wyników porównania. Chodziło mi jeszcze po głowie dołączyć do układu scalony sensor DS18B20 celem zestawienia wyników, ale lenistwo wzięło górę po zobaczeniu tak dobrych rezultatów.

modul z MAX6675 + termopara K, modul MCU ...Podczas obserwacji zdziwiło mnie zjawisko pływania temperatury po krótkim czasie pracy. Właściwie nie pływania a wzrastania obserwowanych wyników. Odczytywana temperatura zmieniała się o kilka stopni. Najpierw nie wiedziałem z czym jest ten „efekt” związany. Ale po chwili miałem banana na gębie i byłem zadowolony podwójnie. Okazało się, że działa kompensacja zimnych końców termopary, działa i to wyśmienicie. Wynikało to tego, że moduł z układem MAX6675 leżał za wylotem powietrza chłodzącego CPU w komputerze. Więc wydmuchiwane ciepłe powietrze owiewało scalak, wszystko pięknie widać na fotografii obok 😛 A co nie widać trzeba się domyślić. 😉

W ten to sposób przekonałem się że pomiar funkcjonuje zupełnie nieźle dla temperatur otoczenia.

Test drugi – pomiar wysokiej temperatury.

Po chwili zamyślenia jak sprawnie przeprowadzić testowy pomiar wysokiej temperatury, gdyż uzyskanie stabilnego długotrwałego pomiaru nie jest łatwe w warunkach domowych, wpadłem na oryginalny pomysł. Posiadając kominek domowy postanowiłem wykorzystać go do doświadczeń z modułem MAX6675 i termoparą K.

przygotowanie do pomiaru wysokiej temperatury MAX6675widok zestawu testowego - pomiar wysokiej temperatury MAX6675Przewód termopary jest na tyle długi, że sam element pomiarowy mogłem umieścić na ramie drzwiczek, a reszta sprzętu mogła być bezpiecznie oddalona by nie nagrzewała się niepotrzebnie.

pomiar wysokiej temperatury MAX6675, porwnanie z pirometrem

pomiar wysokiej temperatury termoparą za pomocą IC MAX7765, w porównaniu ze wskazaniem pirometru

odczyt z MAX6675 wysoka T z kominkaTak jak i wcześniej spróbowałem uchwycić wskazanie pirometru i przedstawić na tle wyników z konsoli RS. I tak jak widać nie wyszło to najlepiej – słaba czytelność obrazu w tle, dlatego też i w tym przypadku zamieszczę obrazek dla treści konsoli. Haaaaaa gdyby nie ten drugi obrazek nie musiał bym napisać – nie wierzcie kaktusowi :mrgreen: bo to kombinator, tak długo klikał pirometrem, aż wynik wyszedł bardzo podobny dla odczytów prezentowanych na konsoli. 😉 Taaaaak straszne rzeczy.

Powiem tyle – ten test był trudny do zobrazowania z uwagi na to, że temperatura ramy kominka w pobliżu termopary, w chwili testów wynosiła więcej niż 320°C. Natomiast temperatura ramy drzwiczek wahała się w okolicach 150°C. Różnica taka powstaje z uwagi na uszczelkę pomiędzy tymi elementami, której zadaniem jest uniemożliwienie wydostawania się spalin, na zewnątrz kominka.

Element termoczuły jak widać to na fotografiach powyżej, leży na ramie drzwiczek opierając się o ramę kominkową … Jego powierzchnia przylegania / styku do elementu grzejnego jest niewielka i stąd te powikłania, z którymi borykałem się by przedstawić Wam moje pomiary. Dla lepszych wskazań należało by wkręcić termoparę do kawałka grubej blachy np aluminiowej, zwiększając tym samym masę elementu pomiarowego i powierzchnie styku z elementem grzejnym …

odczyt MAX6675 T kominka reakcja na rozlaczenieJa tam swoje się dowiedziałem i przy okazji powstała ta nie – skromna prezentacja … Dla mnie termopara typu K z układem pomiarowym MAX6675 zasługuje na zaufanie 😉 Na koniec przedstawię jeszcze jeden widok z konsoli gdzie przetestowałem reakcję na odłączenie jednego wyprowadzenia czujnika od modułu pomiarowego. Wszystko działa wyśmienicie zgodnie z oczekiwaniem, moim i producenta. 😛

Przygotowując tą prezentację, a dokładnie opis techniczny zastanawiałem się dlaczego producent wycofuje się z produkcji tego przetwornika, wprawdzie ciągle tworzony jest jeszcze jeden typ tego IC lecz również nosi status „Last Time Buy„. Jedyną zaletą tego zjawiska jaką widzę jest niższa cena układu wypieranego zdaje się przez rekomendowanego następcę MAX31855KASA, oczywiście z zestawieniu z nie niską ceną z przed roku lub wcześniej.


Ciekawostki na stronie producenta termopar (PL), oraz karty charakterystyki termometrycznej wybranych typów.
Interesujące artykuły z wiedzą o termoparach:
Biuletyn Akademia Automatyki nr 3, 2009 – Termopary bez tajemnic – cz. 1
Biuletyn Akademia Automatyki nr 4, 2009 – Termopary bez tajemnic – cz. 2

Prezentacja układu MAX6675 na stronie producenta.
Braciszek MAX6674 o mniejszym zakresie pomiarowym 0°C do +128°C.
Układy do różnych typów termopar.

Prezentacja układu z pomiarem temperatury za pośrednictwem przedstawionej metody.


testowy kod kaktusa do obsługi układu MAX6675 w Bascom AVR max6675.bas_.zip (210 pobrań ) – wersja pełna
karta charakterystyki termometrycznej termopary typu K – Termopara_typ-K_NiCr-NiAl_wg_PN-EN60584-1ITS90.pdf (3991 pobrań )
nota katalogowa układu MAX6675.pdf (4089 pobrań )

Otagowano , , , , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

dwa × dwa =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.