Termin: 4-przewodowy czujnik termometru rezystancyjnego

W tym artykule omówimy różne typy czujników temperatury i sposoby ich wykorzystania w każdym konkretnym przypadku. Temperatura to fizyczny parametr mierzony w stopniach. Jest istotną częścią każdego procesu pomiarowego. Obszary wymagające dokładnych pomiarów temperatury obejmują medycynę, badania biologiczne, elektronikę, badania materiałów i właściwości termiczne produktów elektrycznych. Urządzenie służące do pomiaru ilości energii cieplnej, które pozwala nam wykryć fizyczne zmiany temperatury, nazywane jest czujnikiem temperatury. Są cyfrowe i analogowe.

Główne typy czujników

Ogólnie rzecz biorąc, istnieją dwie metody pozyskiwania danych:

1. Kontakt... Kontaktowe czujniki temperatury mają fizyczny kontakt z przedmiotem lub substancją. Mogą być używane do pomiaru temperatury ciał stałych, cieczy lub gazów.

2. Bezkontaktowy... Bezkontaktowe czujniki temperatury wykrywają temperaturę, przechwytując część energii podczerwonej emitowanej przez obiekt lub substancję i wyczuwając jej intensywność. Mogą być używane tylko do pomiaru temperatury ciał stałych i cieczy. Nie są w stanie zmierzyć temperatury gazów ze względu na ich bezbarwność (przezroczystość).

Rodzaje czujników temperatury

Istnieje wiele różnych typów czujników temperatury. Od prostego sterowania włączaniem / wyłączaniem urządzenia termostatycznego po rozbudowane układy sterowania zaopatrzeniem w wodę, z funkcją jej podgrzewania, stosowane w procesach uprawy roślin. Dwa główne typy czujników, stykowe i bezkontaktowe, są dalej podzielone na czujniki rezystancyjne, napięciowe i elektromechaniczne. Trzy najczęściej używane czujniki temperatury to:

  • Termistory
  • Termopary oporowe
  • Termoelement

Te czujniki temperatury różnią się od siebie parametrami eksploatacyjnymi.

TECHNOLOGIE ROZWOJU SPRZĘTU

Lekcja o podłączaniu integralnych czujników temperatury z wyjściem analogowym do sterownika Arduino. Przedstawiono szkic roboczy termometru oraz opisano programowane przetwarzanie informacji z czujników temperatury.

Poprzednia lekcja Lista lekcji Następna lekcja

Tą publikacją rozpoczynam cykl lekcji na temat pomiaru temperatury w układzie Arduino. W sumie zaplanowano 4 lekcje na temat różnych typów czujników temperatury:

  • zintegrowane czujniki temperatury z wyjściem analogowym - LM35, TMP35, TMP36, TMP37;
  • krzemowe czujniki temperatury serii KTY81;
  • zintegrowane czujniki z interfejsem cyfrowym 1-Wire - DS18B20;
  • termopary (konwertery termoelektryczne).

Na każdej lekcji powiem ci:

  • pokrótce o zasadzie działania i parametrach czujników temperatury;
  • na temat schematów podłączania czujników temperatury do mikrokontrolerów;
  • Opowiem o oprogramowaniu do przetwarzania informacji z czujników temperatury;
  • Podam schemat termometru opartego o płytkę Arduino i oprogramowanie do niego.

Każda lekcja będzie dotyczyła projektu termometru opartego na działającym kontrolerze Arduino:

  • w trybie samodzielnym z wyjściem informacji na wskaźniku LED;
  • w trybie komunikacji z komputerem, który umożliwia nie tylko wyświetlanie aktualnej temperatury, ale także rejestrację zmian temperatury wraz z wyprowadzaniem danych w formie graficznej.

Zintegrowane czujniki temperatury z analogowym wyjściem napięciowym.

Przy całej różnorodności tych urządzeń nieodłącznie wiążą się z nimi następujące ogólne cechy:

  • napięcie wyjściowe jest liniowo proporcjonalne do temperatury;
  • czujniki mają skalibrowany współczynnik skali dla zależności napięcia wyjściowego od temperatury; dodatkowa kalibracja nie jest wymagana.

Mówiąc najprościej, aby zmierzyć temperaturę za pomocą czujników tego typu, konieczne jest zmierzenie napięcia na wyjściu i za pomocą współczynnika skali przeliczenie go na temperaturę.

Istnieje wiele czujników termicznych, które należą do tej kategorii. Podkreśliłbym następujące rodzaje czujników temperatury:

  • LM35;
  • TMP35;
  • TMP36;
  • TMP37.

Są to najpopularniejsze, dość dokładne, niedrogie urządzenia. Pisałem artykuły o tych czujnikach. Możesz spojrzeć na linki LM35 i TMP35, TMP36, TMP37. Wszystkie parametry, parametry techniczne urządzeń, typowe schematy połączeń są tam szczegółowo opisane.

Podłączanie czujników temperatury do mikrokontrolera.

Najwygodniej jest stosować czujniki w opakowaniu TO-92.

Schemat okablowania urządzeń w pakiecie TO-92 wygląda następująco.

Wszystkie wymienione czujniki będą działać zgodnie z tym schematem. Informacje o innych schematach włączania czujników temperatury można znaleźć pod linkami LM35 i TMP35, TMP36, TMP37.

Podstawowe parametry, różnice czujników.

Podstawowe różnice między wymienionymi czujnikami od siebie są następujące:

  • TMP36 jest jedynym z wymienionych czujników temperatury, który może mierzyć ujemne temperatury.
  • Czujniki mają różne zakresy pomiaru temperatury.

Mowa o czujnikach temperatury podłączonych zgodnie z powyższym schematem. Na przykład istnieje obwód przełączający LM35, który umożliwia pomiar ujemnych temperatur. Ale jest trudniejszy do wdrożenia i wymaga dodatkowej mocy. Lepiej jest używać TMP36 do ujemnych temperatur.

W tabeli podsumowałem główne parametry czujników temperatury LM35, TMP35, TMP36, TMP37 dla tego obwodu.

TypZakres pomiaru temperatury, ° CPrzesunięcie napięcia wyjściowego, mVWspółczynnik skali, mV / ° CNapięcie wyjściowe przy + 25 ° C, mV
LM35, LM35A0 … + 150010250
LM35C, LM35CA0 … + 110010250
LM35D0 … + 100010250
TMP35+ 10 … + 125010250
TMP36— 40 … + 12550010750
TMP37+ 5 … + 100020500

Dla wszystkich czujników temperatury napięcie wyjściowe może być tylko dodatnie, ale ze względu na odchylenie TMP36 jest w stanie mierzyć ujemne temperatury. Zerowe napięcie na jego wyjściu odpowiada temperaturze -40 ° C, a przy napięciu wyjściowym 0,5 V temperatura wyniesie 0 ° C. Uważam, że TMP36 jest najbardziej przyjaznym dla użytkownika analogowym czujnikiem temperatury I / C i używam ich dość szeroko.

Projekt Arduino termometru na czujnikach temperatury LM35, TMP35, TMP36, TMP37.

Opracujemy termometr, który:

  • W trybie samodzielnym wyświetlanie wartości temperatury na czterocyfrowym siedmiosegmentowym wskaźniku diodowym (LED).
  • Wyślij aktualną wartość temperatury do komputera. Możesz to obserwować korzystając z monitora portu szeregowego Arduino IDE.
  • Za pomocą specjalnego programu na najwyższym poziomie (napisałem go): wyświetl zmierzoną temperaturę na monitorze komputera.
  • rejestrować zmiany temperatury i wyświetlać je graficznie.

Obwód termometru oparty na płytce Arduino UNO R3.

Konieczne jest podłączenie do płytki Arduino:

  • czterocyfrowy siedmiosegmentowy wskaźnik LED w trybie multipleksowym;
  • czujnik temperatury TMP36 lub podobny.

Wybrałem wskaźnik LED typu GNQ-3641BUE-21. Jest jasny, rozmiar optymalny do tego zadania. Połączyliśmy go z płytką Arduino w lekcji 20. W tej lekcji można zobaczyć dokumentację wskaźnika, schematy połączeń. Istnieje również opis biblioteki do sterowania siedmiosegmentowymi wskaźnikami LED.

Tak wygląda obwód termometru oparty na płytce Arduino UNO R3.

Wskaźnik LED jest podłączony do kontrolera w trybie multipleksowym (lekcja 19, lekcja 20).

Czujnik temperatury jest podłączony do wejścia analogowego A0. Kondensator C1 - blokuje zasilanie czujnika, R1 i C2 - najprostszy filtr analogowy. Jeśli czujnik termiczny jest zainstalowany w pobliżu mikrokontrolera, wówczas filtr można wyłączyć z obwodu.

TMP35, TMP36, TMP37 pozwalają na pracę na obciążeniu do 10 nF, a LM35 - nie więcej niż 50 pF.Dlatego jeśli czujnik jest podłączony do sterownika długim przewodem o znacznej pojemności, to rezystor R1 musi być zamontowany po stronie czujnika, a kondensator C2 po stronie sterownika. Kondensator blokujący C1 jest zawsze instalowany obok czujnika temperatury.

W każdym przypadku w programie sterownika zostanie zaimplementowane cyfrowe filtrowanie sygnału z czujnika.

Aby to przetestować, zamontowałem urządzenie na płytce stykowej.

Obliczanie temperatury.

Zasada jest prosta. Aby obliczyć temperaturę czujników LM35, TMP35, TMP37 należy:

  • Przeczytaj kod ADC.
  • Obliczyć napięcie na wyjściu czujnika jako Uout = N * Uion / 1024, gdzie
  • Uout - napięcie na wyjściu czujnika temperatury;
  • N - kod ADC;
  • Uion - napięcie źródła napięcia odniesienia (dla naszego obwodu 5 V);
  • 1024 - maksymalna liczba gradacji ADC (10 bitów).
  • Podzielić napięcie na wyjściu czujnika przez współczynnik skali.
  • W przypadku czujnika TMP36 odejmij napięcie polaryzacji (0,5 V) przed podzieleniem przez współczynnik skali.
  • Wzór na obliczanie temperatury dla różnych czujników o napięciu odniesienia 5 V wygląda następująco.

    Typ czujnikaWzór na obliczenie temperatury T (° C), przy napięciu odniesienia 5 V, z kodu ADC - N.
    LM35, TMP35T = (N * 5/1024) / 0,01
    TMP36T = (N * 5/1024 - 0,5) / 0,01
    TMP37T = (N * 5/1024) / 0,02

    Jeśli stosowane jest filtrowanie cyfrowe, należy również wziąć pod uwagę jego współczynnik. Musisz także zrozumieć, że formuły są napisane w łatwej do zrozumienia formie. W prawdziwym programie lepiej jest wcześniej obliczyć stałą część wzoru i użyć jej jako współczynnika. Zostało to szczegółowo opisane w lekcji 13. Znajdują się tam również informacje o odczycie i cyfrowym filtrowaniu sygnału analogowego.

    Program termometru Arduino.

    Program powinien spełniać następujące funkcje:

    • odczytać wartości kodów ADC;
    • uśrednij je (filtrowanie cyfrowe), aby zwiększyć odporność na zakłócenia;
    • obliczyć temperaturę na podstawie kodu ADC;
    • wyświetlać wartość temperatury na czterocyfrowym wskaźniku LED w formacie: znak;
    • kilkadziesiąt;
    • jednostki;
    • dziesiąte części ° C.
  • przesyłaj wartość temperatury do komputera w formacie znakowym raz na sekundę.
  • Rozwój programu opiera się na zwykłej zasadzie:

    • realizowane jest przerwanie czasowe z okresem 2 ms;
    • w nim zachodzi równoległy proces: regeneracja wskaźnika LED;
    • odczytywanie kodów ADC i uśrednianie ich wartości;
    • programowe liczniki czasu.
  • Zasadniczo zachodzi proces asynchroniczny:
      synchronizacja z programatorem czasowym 1 sek .;
  • obliczanie temperatury;
  • przesyłanie wartości temperatury do komputera.
  • Jeśli przeczytasz poprzednie lekcje, wszystko będzie jasne.

    Biblioteki MsTimer2.h i Led4Digits.h muszą być połączone. Biblioteki można pobrać z lekcji 10 i 20. Istnieje również szczegółowy opis i przykłady. Zobacz lekcję 13 dotyczącą pomiaru napięcia na wejściach analogowych.

    Natychmiast dam szkic programu.

    // termometr, czujniki LM35, TMP35, TMP36, TMP37 # zawierają # zawierają

    # zdefiniować MEASURE_PERIOD 500 // czas pomiaru, * 2 ms # zdefiniować ADC_RESOLUTION 4.8828125 // rozdzielczość ADC, mV (5000 mV / 1024) # zdefiniować OFFSET 500. // offset napięcia wyjściowego, mV (dla TMP36) # zdefiniować SCALE_FACTOR 10. / / współczynnik skali, mV (dla TMP36)

    int timeCount; // licznik czasu pomiaru long sumA0; // zmienna do sumowania kodów ADC long avarageTemp; // średnia wartość temperatury (suma kodów ADC, wartość średnia * 500) boolean flagTempReady; // znak gotowości pomiaru temperatury temperatura pływaka; // obliczona temperatura, ° C

    // wskaźnik typu 1; produkty z kategorii 5,4,3,2; szpilki segmentowe 6,7,8,9,10,11,12,13 Led4Digits disp (1, 5,4,3,2, 6,7,8,9,10,11,12,13);

    void setup () {MsTimer2 :: set (2, timerInterrupt); // ustaw czas przerwania timera na 2 ms MsTimer2 :: start (); // włącz przerwanie timera Serial.begin (9600); // zainicjuj port, prędkość 9600}

    void loop () {

    if (flagTempReady == true) {flagTempReady = false; // dane są gotowe

    // obliczanie temperatury temperatura = (avarageTemp * ADC_RESOLUTION / 500. - OFFSET) / SCALE_FACTOR;

    // wyświetlanie temperatury na wskaźniku if (temperature> = 0) {// dodatnia dysp.temperatury print ((int) (temperature * 10.), 4, 1); } else {// ujemna temperatura disp.digit [3] = 0x40; // wyświetlany jest minus disp.print ((int) (temperatura * -1 * 10.), 3, 1); } disp.digit [1] | = 0x80; // podświetl punkt drugiej cyfry // przenieś temperaturę do komputera Serial.println (temperature); }}

    // ————————————— program obsługi przerwań 2 ms void timerInterrupt () {disp.regen (); // zregeneruj wskaźnik LED

    // mierzenie średniej temperatury timeCount ++; // +1 licznik uśrednionych próbek sumA0 + = analogRead (A0); // sumowanie kodów A0 kanału ADC

    // sprawdź liczbę uśrednionych próbek if (timeCount> = MEASURE_PERIOD) {timeCount = 0; avarageTemp = sumA0; // przeciążenie średniej wartości sumA0 = 0; flagTempReady = true; // podpisz, że wynik jest gotowy}}

    Możesz pobrać szkic z tego linku:

    Zarejestruj się i zapłać. Tylko 40 rubli. miesięcznie za dostęp do wszystkich zasobów serwisu!

    Ładowanie, sprawdzanie. Uruchamiamy monitor portu szeregowego i sprawdzamy dane na komputerze.

    Program jest przeznaczony dla czujników TMP36, ale można go łatwo dostosować do innych typów czujników. W tym celu wystarczy zmienić wartości współczynnika skali i offsetu określone na początku programu instrukcjami #define.

    Typ czujnikaCzynnik i stronniczość
    LM35, TMP35# zdefiniować OFFSET 0. # zdefiniować SCALE_FACTOR 10.
    TMP36# zdefiniować OFFSET 500. # zdefiniować SCALE_FACTOR 10.
    TMP37# zdefiniować OFFSET 0. # zdefiniować SCALE_FACTOR 20.

    Rozdzielczość i dokładność termometru.

    Rozdzielczość ADC w naszym obwodzie wynosi 5 V / 1024 = 4,88 mV.

    Rozdzielczość termometru:

    • przy współczynniku skali 10 mV / ° C (czujniki LM35, TMP35, TMP36) jest niższa niż 0,5 ° C;
    • przy współczynniku skalowania 20 mV / ° C (sonda TMP37) mniejszym niż 0,25 ° C.

    Całkiem przyzwoite parametry.

    Jeśli chodzi o błąd pomiaru to jest nieco gorzej.

    Błąd pomiaru samych czujników to:

    • nie więcej niż 0,5 ° C dla LM35;
    • nie więcej niż 1 ° C dla TMP35, TMP36, TMP37.

    Błąd pomiaru ADC na płycie Arduino.

    W naszym urządzeniu zastosowaliśmy napięcie odniesienia 5 V, tj. napięcie zasilania. W płytkach Arduino UNO R3 napięcie 5 V jest formowane na regulatorze liniowym NCP1117ST50. Specyfikacje w formacie PDF można obejrzeć pod tym linkiem NCP117.pdf. Stabilność napięcia wyjściowego tego mikroukładu jest dość wysoka - 1%.

    Te. całkowity błąd pomiaru termometru nie przekracza 2%.

    Można go nieznacznie zwiększyć mierząc napięcie 5 V na płytce i ustawiając rozdzielczość ADC w parametrze nie na 5 V, ale na dokładniejszą wartość. Na mojej płycie napięcie okazało się 5,01 V. W moim programie trzeba naprawić:

    # zdefiniować ADC_RESOLUTION 4.892578 // Rozdzielczość ADC, mV (5010 mV / 1024)

    Korzystanie z zewnętrznego napięcia odniesienia dla płyty Arduino.

    Istnieje jednak radykalny sposób na poprawę dokładności i rozdzielczości pomiarów ADC. Jest to użycie zewnętrznego napięcia odniesienia.

    Najczęstszym źródłem stabilnego napięcia jest LM431, TL431 itp. Mam zamiar napisać artykuł o tym mikroukładzie. Na razie podam link do informacji - LM431.pdf.

    Obwód przełączający LM431 podam jako napięcie odniesienia 2,5 V dla płytki Arduino.

    W programie musisz zmienić linię, która określa rozdzielczość ADC:

    # zdefiniować ADC_RESOLUTION 2.44140625 // Rozdzielczość ADC, mV (2500 mV / 1024)

    A w setup () podłącz zewnętrzne odniesienie napięcia:

    analogReference (EXTERNAL); // zewnętrzne napięcie odniesienia

    W rezultacie rozdzielczość zmniejszy się 2-krotnie, a stabilność zmniejszy się o rząd wielkości. Mimo wszystko, aby poprawić dokładność, konieczne jest zmierzenie rzeczywistego napięcia LM431 woltomierzem i skorygowanie go w programie.

    Taka modyfikacja termometru jest absolutnie konieczna, jeśli urządzenie jest zasilane z niestabilizowanego źródła o napięciu bliskim 5 V, na przykład z baterii galwanicznych lub akumulatorka. W takim przypadku nie ma potrzeby mówić o stabilności zasilania, a bez stabilizacji źródła napięcia odniesienia pomiar będzie bardzo warunkowy.

    Program termometrów na najwyższym poziomie.

    Patrzenie na ciągłe linie liczb w oknie monitora Arduino IDE szybko się nudzi. Chcę tylko zobaczyć wartość temperatury. Dodatkowo w celu praktycznego wykorzystania termometru z komputerem należy zainstalować oprogramowanie Arduino IDE. Nie wszystkie komputery go mają. Ponadto ludzie często interesują się zmianami temperatury, procesem ogrzewania lub chłodzenia w czasie. Chciałbym móc rejestrować zmiany temperatury i wyświetlać je graficznie.

    Aby to zrobić, napisałem prosty program najwyższego poziomu, który:

    • wyświetla aktualną wartość temperatury;
    • rejestruje zmianę temperatury z dyskretnością 1 sek .;
    • wyświetla informacje o zmianach temperatury w formie graficznej.

    Ten program może być używany zarówno z termometrem z tego artykułu, jak i dla termometrów z kolejnych lekcji z innymi typami czujników.

    Program działa pod systemami operacyjnymi Windows 95, 98, XP, 7. Nie próbowałem innych.

    Instalowanie aplikacji.

    • Pobierz plik archiwum Thermometer.zip:

    Zarejestruj się i zapłać. Tylko 40 rubli. miesięcznie za dostęp do wszystkich zasobów serwisu!

    • Rozpakuj go do folderu roboczego. Możesz opuścić folder z archiwum Termometru.

    Aplikacja składa się z dwóch plików:

    • Thermometer.exe - plik wykonywalny;
    • Conf.txt - plik konfiguracyjny.

    Nie ma potrzeby instalowania programu, wystarczy uruchomić plik Thermometer.exe.

    Podłączenie termometru do komputera.

    Wymiana danych pomiędzy komputerem a kontrolerem odbywa się poprzez port COM. Port może być rzeczywisty lub wirtualny.

    Najwygodniej jest skorzystać z portu wirtualnego, który jest tworzony przez sterownik płyty Arduino. Port pojawia się, gdy płytka jest podłączona do komputera. Nie musisz uruchamiać Arduino IDE. Numer portu można wyświetlić: Panel sterowania -> System -> Menedżer urządzeń -> Porty (COM i LPT)

    Mam COM5.

    Możesz podłączyć komputer przez jakiś rodzaj mostka USB-UART. Używam modułów PL2303 USB UART Board. Sposób podłączenia jest napisany w artykule o programie Monitoruj lodówkę na elemencie Peltiera.

    Jeśli komputer ma standardowy port COM (interfejs RS232), nie ma potrzeby instalowania żadnych sterowników. Aby podłączyć kontroler w tym przypadku, konieczne jest użycie konwertera poziomów RS232 - TTL, mikroukładów ADM232, SP232, MAX232 i tym podobnych.

    Istnieje wiele opcji połączeń. Najważniejsze jest to, że na komputerze powstaje port COM, wirtualny lub rzeczywisty.

    Pierwsze uruchomienie programu.

    Przed uruchomieniem programu na komputerze musi być już utworzony wirtualny port COM. A ponieważ port jest tworzony przy podłączaniu do złącza płytki Arduino, oznacza to, że najpierw należy podłączyć płytkę do komputera.

    Następnie uruchom program Thermometer.exe. Pewien port COM jest zapisany w pliku konfiguracyjnym programu. Program spróbuje go otworzyć podczas uruchamiania. Jeśli to nie zadziała, wyświetli komunikat z numerem błędnego portu.

    Kliknij OK i otworzy się okno programu. Zamiast temperatury pojawią się kreski. Nie ma danych.

    Wybierz tryb wyboru portu z menu (u góry). Otworzy się okno wyboru.

    Ustaw numer portu dla swojej płyty. Każdy port ma zapisany stan. Oczywiście musisz wybierać spośród portów oznaczonych jako „wolne”.

    Zamknij okno. Wybrany port COM zostanie zapisany w pliku konfiguracyjnym i będzie zawsze wywoływany po uruchomieniu programu. Nie musisz ustawiać portu za każdym razem, gdy uruchamiasz program.

    Jeśli płytka jest włączona, program jest załadowany, wszystko działa poprawnie, to raz na sekundę przed wartością temperatury powinna migać dioda koła. Miga, gdy pojawiają się nowe dane.

    Rejestrator.

    W programie znajduje się rejestrator, który pozwala obserwować dynamikę zmian temperatury. Rekorder włącza się automatycznie po uruchomieniu programu. Rejestruje wartości temperatury w 1-sekundowych odstępach. Maksymalny czas rejestracji to 30 000 sekund lub 8,3 godziny.

    Aby wyświetlić wyniki nagrywania, naciśnij kartę menu „Rejestrator”.

    To ja podgrzałem czujnik lutownicą.

    Możesz powiększyć fragment zaznaczając prostokątny obszar z wciśniętym prawym przyciskiem myszy. Obszar należy wybrać od lewej do prawej i od góry do dołu.

    Zaznaczenie za pomocą myszy obszaru od lewej do prawej, od dołu do góry, spowoduje powrót do wyświetlenia wszystkich informacji graficznych. To proste.

    Ten program będzie używany na następnych trzech lekcjach z innymi typami projektów pomiaru temperatury.

    W następnej lekcji będziemy mierzyć temperaturę za pomocą silikonowych czujników serii KTY81.

    Poprzednia lekcja Lista lekcji Następna lekcja

    Wesprzyj projekt

    2

    Autor publikacji

    offline 5 dni

    Edward

    139

    Komentarze: 1584 Publikacje: 161 Rejestracja: 13-12-2015

    Termistor

    Termistor to wrażliwy rezystor, który zmienia swoją fizyczną rezystancję wraz z temperaturą. Zazwyczaj termistory są wykonane z ceramicznego materiału półprzewodnikowego, takiego jak kobalt, mangan lub tlenek niklu i są pokryte szkłem. Są to małe płaskie uszczelnione dyski, które stosunkowo szybko reagują na każdą zmianę temperatury.

    Ze względu na właściwości półprzewodnikowe materiału termistory mają ujemny współczynnik temperaturowy (NTC), tj. opór maleje wraz ze wzrostem temperatury. Istnieją jednak również termistory PTC, których rezystancja rośnie wraz ze wzrostem temperatury.

    Harmonogram termistorów

    Zalety termistorów

    • Wysoka szybkość reakcji na zmiany temperatury, dokładność.
    • Niska cena.
    • Wyższa rezystancja w zakresie od 2000 do 10000 omów.
    • Znacznie wyższa czułość (~ 200 omów / ° C) w ograniczonym zakresie temperatur do 300 ° C.

    Zależności temperaturowe rezystancji

    Zależność oporu od temperatury wyraża się następującym równaniem:

    Gdzie A, B, C - są to stałe (dostarczane przez warunki obliczeniowe), R - rezystancja w omach, T - temperatura w kelwinach. Możesz łatwo obliczyć zmianę temperatury na podstawie zmiany oporu lub odwrotnie.

    Jak używać termistora?

    Termistory są przystosowane do rezystancji w temperaturze pokojowej (25 ° C). Termistor jest pasywnym urządzeniem rezystancyjnym, dlatego wymaga wykonania monitorowania aktualnego napięcia wyjściowego. Z reguły połączone są szeregowo z odpowiednimi stabilizatorami tworzącymi dzielnik napięcia sieciowego.

    Przykład: Weź pod uwagę termistor o wartości rezystancji 2,2 K przy 25 ° C i 50 omów przy 80 ° C. Termistor jest połączony szeregowo z rezystorem 1 kΩ poprzez zasilanie 5 V.

    Dlatego jego napięcie wyjściowe można obliczyć w następujący sposób:

    Przy 25 ° C, RNTC = 2200 omów;

    W 80 ° C, RNTC = 50 omów;

    Należy jednak zauważyć, że w temperaturze pokojowej standardowe wartości rezystancji są różne dla różnych termistorów, ponieważ są nieliniowe. Termistor ma wykładniczą zmianę temperatury, a więc stałą beta, która jest używana do obliczania jego rezystancji dla danej temperatury. Napięcie wyjściowe rezystora i temperatura są powiązane liniowo.

    Podłączanie do płyty Arduino

    Jak wspomniano powyżej, czujnik temperatury DS18B20 można podłączyć do płytki Arduino na dwa sposoby (bezpośredni i pasożytniczy). Dodatkowo na jednym wejściu Arduino można zawiesić jeden lub całą grupę czujników. Zacznijmy od najprostszej opcji. Poniższy rysunek przedstawia obwód do bezpośredniego podłączenia pojedynczego czujnika do Arduino Nano.

    Rysunek №3 - schemat bezpośredniego podłączenia pojedynczego czujnika

    Tutaj wszystko jest całkiem proste. Zasilamy DS18B20 z samej płytki Arduino, dostarczając 5V na pin Vdd czujnika. W ten sam sposób łączymy ze sobą piny GND. Podłącz środkowy zacisk czujnika termicznego, na przykład, do pinu D2 naszego Arduino Nano. Możesz podłączyć wyjście danych (DQ) do prawie każdego wejścia Arduino, po wcześniejszym wpisaniu jego numeru w szkicu. Jedynym i najważniejszym punktem, na który należy zwrócić uwagę, jest obecność rezystora 4,7k między plusem zasilacza a linią danych czujnika temperatury. Rezystor ten służy do podciągnięcia linii danych do jednostki logicznej, a jego brak spowoduje nieprawidłowe działanie algorytmu wymiany informacji. Wartość 4,7k nie jest zbyt krytyczna i można ją zmienić w pewnych granicach, najważniejsze jest, aby nie dać się ponieść emocjom.

    Dzięki bezpośredniemu podłączeniu jednego czujnika wszystko jest jasne, teraz rozważymy bezpośrednie podłączenie grupy czujników do jednego pinu Arduino. Rysunek 4 przedstawia przykład podłączenia 5 czujników DS18B20. Liczba ta może być dowolna i jest ograniczona jedynie ramami czasowymi odpytywania każdego z nich (750 ms).

    Rysunek №4 - podłączenie grupy czujników DS18B20

    Jak widać na powyższym rysunku, absolutnie wszystkie czujniki na magistrali są połączone równolegle i jest jeden rezystor podciągający dla całej grupy. Chociaż zmiany w obwodzie są logiczne i minimalne, praca z kilkoma czujnikami temperatury jest nieco trudniejsza pod względem skompilowania programu. W takim przypadku konieczne jest zaadresowanie każdego z nich osobno, używając unikalnych adresów.Programowanie każdego z trybów zostanie omówione później.

    Tryb zasilania pasożytniczego różni się od trybu bezpośredniego tym, że czujniki są zasilane bezpośrednio z linii danych, bez użycia bezpośredniego napięcia 5 V. W takim przypadku piny Vdd i GNG każdego czujnika temperatury są ze sobą połączone. Proces ten został lepiej przedstawiony na rysunku 5.

    Rysunek 5 - podłączenie pojedynczego czujnika i grupy czujników w trybie zasilania pasożytniczego z linii danych.

    Podobnie jak na poprzednich schematach jest tu rezystor 4,7k, który w tym przypadku pełni podwójną rolę, a mianowicie: podciągając linię danych do logiki „1” i zasilając sam czujnik. Możliwość takiego włączenia zapewnia specjalny obwód wbudowany w DS18B20 i kondensator buforowy Cpp (rysunek 2). Czasami pozwala to zaoszczędzić 1 przewód we wspólnej pętli do podłączenia grupy czujników temperatury, co odgrywa znaczącą rolę w niektórych projektach.

    Po rozważeniu obwodów przełączających czas przejść do programowania i tutaj można przejść na trzy sposoby:

    • Korzystaj z gotowych, sprawdzonych bibliotek do pracy z DS18B20;
    • Komunikuj się z czujnikiem bezpośrednio poprzez listę zainstalowanych poleceń;
    • Napisz własną niskopoziomową bibliotekę, zawierającą funkcje przesyłania bitów danych według przedziałów czasowych, podane w dokumentacji technicznej.

    Trzecia opcja jest najtrudniejsza i wymaga zbadania dużej ilości informacji. W ramach tego artykułu rozważone zostaną dwie pierwsze opcje.

    Rezystancyjne czujniki temperatury

    Czujniki temperatury (RTD) są wykonane z rzadkich metali, takich jak platyna, których opór elektryczny zmienia się wraz z temperaturą.

    Rezystancyjne czujniki temperatury mają dodatni współczynnik temperaturowy i, w przeciwieństwie do termistorów, zapewniają wysoką dokładność pomiaru temperatury. Jednak mają słabą wrażliwość. Pt100 to najpowszechniej dostępny czujnik o standardowej wartości rezystancji 100 omów przy 0 ° C. Główną wadą jest wysoki koszt.

    Zalety takich czujników

    • Szeroki zakres temperatur od -200 do 650 ° C
    • Zapewnij wyjście prądowe o wysokim spadku
    • Bardziej liniowy w porównaniu z termoparami i RTD

    Wyświetlenia

    Czujniki ciepła są klasyfikowane według różnych kryteriów. W zależności od instalacji są wbudowane i zewnętrzne.

    Do podłóg elektrycznych

    Regulatory mechaniczne są łatwe w projektowaniu i utrzymaniu. Nadają się do małych przestrzeni. Regulacja odbywa się za pomocą kółka lub klucza. Niektóre modele są wyposażone w funkcję blokady rodzicielskiej.

    Jedyną wadą jest brak precyzyjnej kontroli temperatury.

    Do podłóg wodnych

    Modele elektroniczne są idealne do regulacji temperatury podłogi wodnej. Mogą kontrolować temperaturę na poziomie podłogi lub w pomieszczeniach. Wyposażony w wyświetlacz, sterowanie odbywa się za pomocą przycisków. Elektroniczny regulator umożliwia dokładniejszą regulację temperatury podłogi.

    Do podłóg na podczerwień

    Zastosowanie cyfrowego termostatu z czujnikiem temperatury na podczerwień może zmniejszyć zużycie energii o 70%. Sterowanie odbywa się za pomocą ekranu dotykowego.

    Drogie modele mają funkcję programowania. Koszt sięga nawet 500 $. Niektórymi modelami można sterować przez Internet.

    Podłogi na podczerwień

    Czujnik temperatury ogrzewania podłogowego na podczerwień montuje się na tej samej zasadzie, co w podłogach elektrycznych.

    Umieszczony jest pomiędzy elementami grzewczymi w plastikowej rurce. Lub 15 cm od krawędzi folii do paska grafitowego za pomocą taśmy aluminiowej.

    Termoelement

    Czujniki temperatury z termoparą są najczęściej używane, ponieważ są dokładne, działają w szerokim zakresie temperatur od -200 ° C do 2000 ° C i są stosunkowo niedrogie. Termopara z przewodem i wtyczką na zdjęciu poniżej:

    Działanie termopary

    Termopara jest wykonana z dwóch różnych metali zespawanych ze sobą, aby wytworzyć różnicę potencjałów w zależności od temperatury.Z różnicy temperatur między dwoma złączami generowane jest napięcie, które służy do pomiaru temperatury. Różnica napięcia między dwoma złączami nazywana jest efektem Seebecka.

    Jeśli oba związki mają tę samą temperaturę, potencjał różnic w różnych związkach wynosi zero, tj. V1 = V2. Jeśli jednak złącza mają różne temperatury, napięcie wyjściowe w stosunku do różnicy temperatur między dwoma złączami będzie równe ich różnicy V1 - V2.

    iwarm-pl.techinfus.com

    Ogrzewanie

    Kotły

    Grzejniki