Sterownik wysokiej temperatury oparty na termoparze typu K. PIC16F676 - Termometry - Projekty dla domu i ogrodu Obwód termometru do chińskiej termopary

Seria artykułów na temat pomiaru temperatury za pomocą kontrolerów Arduino byłaby niepełna bez opowieści o termoparach. Poza tym nie ma czym innym mierzyć wysokich temperatur.

Termopary (przetworniki termoelektryczne).

Wszystkie czujniki temperatury z poprzednich lekcji umożliwiały pomiar temperatury w zakresie nie szerszym niż – 55 ... + 150 °C. Do pomiaru wyższych temperatur najpopularniejszymi czujnikami są termopary. Oni:

  • posiadają wyjątkowo szeroki zakres pomiaru temperatury -250…+2500°C;
  • można skalibrować w celu uzyskania wysokiej dokładności pomiaru, aż do błędu nie większego niż 0,01 °C;
  • zazwyczaj mają niską cenę;
  • uważane są za niezawodne czujniki temperatury.

Główną wadą termopar jest potrzeba dość złożonego precyzyjnego miernika, który musi zapewniać:

  • pomiar niskich wartości termo-EMF o górnej wartości w zakresie dziesiątek, a czasem nawet jednostek mV;
  • kompensacja termo-EMF zimnego złącza;
  • linearyzacja charakterystyk termopary.

Zasada działania termopar.

Zasada działania tego typu czujnika opiera się na efekcie termoelektrycznym (efekt Seebecka). Dlatego inną nazwą termopary jest konwerter termoelektryczny.

W obwodzie powstaje różnica potencjałów pomiędzy połączonymi różnymi metalami. Jego wartość zależy od temperatury. Dlatego nazywa się to termoemfem. U różne materiały Wielkość termoemf jest inna.

Jeśli w obwodzie złącza (połączenia) różnych przewodów są połączone w pierścień i mają tę samą temperaturę, wówczas suma termo-EMF jest równa zeru. Jeżeli złącza przewodów mają różne temperatury, wówczas całkowita różnica potencjałów między nimi zależy od różnicy temperatur. W rezultacie dochodzimy do projektu termopary.

Dwa różne metale 1 i 2 tworzą w jednym punkcie złącze robocze. Złącze robocze umieszcza się w miejscu, w którym należy zmierzyć temperaturę.

Zimne złącza to punkty, w których metale termopary łączą się z innym metalem, zwykle miedzią. Mogą to być listwy zaciskowe przyrząd pomiarowy lub miedziane przewody komunikacyjne z termoparą. W każdym przypadku należy zmierzyć temperaturę zimnego złącza i uwzględnić ją w obliczeniach zmierzonej temperatury.

Główne typy termopar.

Najszerzej stosowane termopary to XK (chromel – copel) i XA (chromel – alumel).

Nazwa Oznaczenie NSKh Materiały Zakres pomiarowy, °C Czułość, µV/°C, (w temperaturze,°C) Termo-EMF, mV, w temperaturze 100 °C
THC (chromel-copel) L Chromel, kopel - 200 … + 800 64 (0) 6,86
TCA (chromel-alumel) K Chromel, alumel - 270 … +1372 35 (0) 4,10
TPR (platyna-rod) B Platynorod, platyna 100 … 1820 8 (1000) 0, 03
TVR (wolfram-ren) A Wolfram-ren, wolfram-ren 0 … 2500 14 (1300) 1,34

Jak w praktyce mierzyć temperaturę za pomocą termopary. Technika pomiaru.

Nominalną charakterystykę statyczną (NSC) termopary podano w formie tabeli z dwiema kolumnami: temperaturą złącza roboczego i termoemf. GOST R 8.585-2001 zawiera termopary NSH różne rodzaje, określone dla każdego stopnia. Można pobrać do formacie PDF poprzez ten link.

Aby zmierzyć temperaturę za pomocą termopary, wykonaj następujące kroki:

  • zmierzyć termo-EMF termopary (Etotal);
  • zmierzyć temperaturę zimnego złącza (T zimnego złącza);
  • Korzystając z tabeli NSH termopary, określ termo-EMF zimnego złącza na podstawie temperatury zimnego złącza (E zimne złącze);
  • określić termo-EMF złącza roboczego, tj. dodać pole elektromagnetyczne zimnego złącza do całkowitego termo-EMF (złącze robocze E = E całkowite + E złącze zimne);
  • Korzystając z tabeli NSH, określ temperaturę złącza roboczego za pomocą termo-EMF złącza roboczego.

Oto przykład, jak zmierzyłem temperaturę grotu lutownicy za pomocą termopary TXA.

  • Dotknąłem złączem roboczym grotu lutownicy i zmierzyłem napięcie na zaciskach termopary. Wynik wyniósł 10,6 mV.
  • Temperatura otoczenia, tj. temperatura zimnego złącza wynosi około 25°C. Pole elektromagnetyczne złącza zimnego z tabeli GOST R 8.585-2001 dla termopary typu K w temperaturze 25 °C wynosi 1 mV.
  • Termiczne pole elektromagnetyczne złącza roboczego wynosi 10,6 + 1 = 11,6 mV.
  • Temperatura z tej samej tabeli dla 11,6 mV wynosi 285 °C. To jest zmierzona wartość.

Musimy zaimplementować tę sekwencję działań w programie termometru Arduino.

Termometr Arduino do pomiaru wysokich temperatur z wykorzystaniem termopary typu TXA.

Znalazłem termoparę TP-01A. Typowa, szeroko stosowana termopara TCA z testera. Tego właśnie użyję w termometrze.

Parametry podane na opakowaniu to:

  • typ K;
  • zakres pomiarowy – 60 … + 400°C;
  • Dokładność ±2,5% do 400°C.

Zakres pomiarowy oparty jest na kablu z włókna szklanego. Istnieje podobna termopara TP-02, ale z sondą o długości 10 cm.

TP-02 ma górną granicę pomiaru wynoszącą 700°C. Opracujemy więc termometr:

  • dla termopary typu TXA;
  • o zakresie pomiarowym – 60 … + 700°C.

Po zapoznaniu się z programem i schematem urządzenia można stworzyć miernik do termopar dowolnego typu o dowolnym zakresie pomiarowym.

Odpoczynek funkcjonalność Termometry są takie same jak urządzenia z trzech poprzednich lekcji, łącznie z funkcją rejestracji zmian temperatury.

Kategoria: . Możesz dodać go do zakładek.

PIC16F676 Zastosowanie: stacja lutownicza, kontrola procesów wysokotemperaturowych itp. z funkcją regulacji PID elementu grzejnego

Postanowiłem włożyć do laminatora termometr, termometr z termoparą typu K. Aby było to dla mnie bardziej pouczające, uważam, że radioamator hobbystyczny nie może być zadowolony, gdy na takim urządzeniu świecą tylko dwie diody LED „POWER” i „READY”. Uporządkowuję szalik według moich szczegółów. Na wszelki wypadek z możliwością przecięcia go na pół (jest to pewna wszechstronność). Od razu z miejscem na część zasilającą na tyrystorze, ale na razie tej części nie używam, to będzie mój obwód pod lutownicę (jak już wymyślę jak podłączyć termoparę do grotu)


W laminatorze nie ma wystarczająco dużo miejsca (mechanizmy są umieszczone bardzo ciasno, wiesz w Chinach), używam małego wskaźnik siedmiosegmentowy, ale to nie wszystko, cała płytka też się nie mieści, tu przydaje się uniwersalność płytki, przeciąłem ją na dwie części (jeśli zastosujesz złącze, górna część pasuje do wielu konstrukcji na pinach z ur5kby .)


Ustawiłem, najpierw robię tak jak na forum, nie lutuję termopary, ustawiam 400 (chociaż jak będzie ten parametr w pamięci to ta pozycja zniknie), zmienne ustawiam na mniej więcej temperaturę pokojową i dokładnie do punktu wrzenia,

Taki sterownik teoretycznie pracuje do 999°C, jednak w domu takiej temperatury raczej nie znajdziemy, co najwyżej jest to otwarty ogień, jednak to źródło ciepła charakteryzuje się dużą nieliniowością i wrażliwością na warunki zewnętrzne.

oto przykładowa tabela.
a także dla jasności

Dlatego wybór źródła regulacji odczytów sterownika jest niewielki.

Nie ma już zabawy z guzikami, wszystko można zebrać,
Użyłem termopary z chińskiego testera. A post na forum poradził mi, że tę termoparę można mnożyć, jej długość to prawie pół metra, ja odciąłem 2 cm.

Robię transformator, skręcając go węglem drzewnym, uzyskuje się kulkę, która jest dokładnie taka sama na obu końcach, wzdłuż drutu miedzianego, aby dobrze przylutować do moich drutów.

Postanowiłem włożyć do laminatora termometr, termometr z termoparą typu K. Aby było to dla mnie bardziej pouczające, uważam, że radioamator hobbystyczny nie może być zadowolony, gdy na takim urządzeniu świecą tylko dwie diody LED „POWER” i „READY”. Uporządkowuję szalik według moich szczegółów. Na wszelki wypadek z możliwością przecięcia go na pół (jest to pewna wszechstronność). Od razu z miejscem na część zasilającą na tyrystorze, ale na razie tej części nie używam, to będzie mój obwód pod lutownicę (jak już wymyślę jak podłączyć termoparę do grotu)

W laminatorze jest za mało miejsca (mechanizmy są bardzo ciasno umiejscowione, wiadomo w Chinach), używam małego wskaźnika siedmiosegmentowego, ale to nie wszystko, cała tablica też się nie mieści, na tym polega wszechstronność płytki się przyda, przeciąłem ją na pół (jeśli używasz złącza, górna część pasuje do wielu rozwinięć na temat drobnych ciekawostek z ur5kby.)

Ustawiłem, najpierw robię tak jak na forum, nie lutuję termopary, ustawiam 400 (chociaż jak będzie ten parametr w pamięci to ta pozycja zniknie), zmienne ustawiam na mniej więcej temperaturę pokojową i dokładnie do punktu wrzenia,

Taki sterownik teoretycznie pracuje do 999°C, jednak w domu takiej temperatury raczej nie znajdziemy, co najwyżej jest to otwarty ogień, jednak to źródło ciepła charakteryzuje się dużą nieliniowością i wrażliwością na warunki zewnętrzne.

oto przykładowa tabela.

a także dla jasności

Dlatego wybór źródła regulacji odczytów sterownika jest niewielki.

Nie ma już zabawy z guzikami, wszystko można zebrać,
Użyłem termopary z chińskiego testera. A post na forum poradził mi, że tę termoparę można mnożyć, jej długość to prawie pół metra, ja odciąłem 2 cm.

Robię transformator, przekręcając go węglem drzewnym, okazuje się, że jest to kula i do dwóch końców dokładnie tak, wzdłuż drutu miedzianego, dla dobrego lutowania do moich przewodów

Ale możesz go złożyć samodzielnie za połowę ceny.
Jeśli ktoś jest zainteresowany to zapraszamy do cat.

Zacznijmy od porządku.
Termopara... jak termopara. Miernik dokładny, typ K, 0-800C

Można go wbudować w korpus, posiada gwintowaną część, która swobodnie się obraca. Średnica 5,8 mm, podziałka - 0,9 ~ 1,0 mm, wygląda jak M6 x 1,0 mm. Pod klucz na 10


Wszystko jest w porządku, co dalej? Konieczne jest przekształcenie sygnału (termomocy) na cyfrowy lub sygnał analogowy, do czytania za pomocą Arduino. To nam pomoże. Jest to konwerter sygnału termopary typu K na cyfrowy, posiadający interfejs, który nam odpowiada.
Nadchodzi nasz bohater - (4,20 USD)


Kosztuje 4,10 USD, ale ta partia nie jest już dostępna (ten sam sprzedawca).

Podłączymy się do Arduino, możesz wziąć prosty (5,25 $, możesz znaleźć taniej, tutaj widzisz dokładnie ten)


Dane zapiszemy na karcie pamięci (i jednocześnie wyślemy do portu) za 1,25 USD.


Nawiasem mówiąc, interfejs to także SPI. Ale nie wszystkie karty to obsługują. Jeśli się nie uruchomi, spróbuj najpierw spróbować innego.
Teoretycznie wszystkie linie Urządzenia SPI(MOSI lub SI, MISO lub SO, SCLK lub SCK), oprócz CS (CS lub SS - wybór chipa), można Arduino podłączyć na jeden pin, ale wtedy MAX6675 nie działa odpowiednio. Dlatego wszystko rozdzieliłem na osobne piny.
Szkic powstał na przykładzie pracy z kartami pamięci o formacie .
Biblioteka i szkic dla MAX6675. Schemat podłączenia MAX6675:

#włączać
#włączać

Jednostki całkowite = 1; // Jednostki odczytu temperatury (0 = F, 1 = C)
błąd pływaka = 0,0; // Błąd kompensacji temperatury
float temp_out = 0,0; // Zmienna wyjściowa temperatury

MAX6675 temp0(9,8,7,jednostki,błąd);

Unieważnij konfigurację()
{
Serial.begin(9600);
Serial.print("Inicjowanie karty SD...");

PinMode(10, WYJŚCIE);
if (!SD.begin(10)) (
Serial.println("Inicjalizacja nie powiodła się!");
powrót;
}
Serial.println("Inicjalizacja zakończona.");

// Sprawdź, czy plik data.csv istnieje na mapie; jeśli tak, usuń go.
if(SD.istnieje("temp.csv")) (
SD.usuń("temp.csv");
}
// otwórz plik. pamiętaj, że jednocześnie można otworzyć tylko jeden plik,
//więc musisz zamknąć ten, żeby otworzyć inny.
mójPlik = SD.open("temp.csv", FILE_WRITE); //otwarty do pisania


jeśli (mój plik) (
Serial.print("Zapis do temp.csv...");
// zamknij plik:
mójPlik.close();
Serial.println("gotowe.");
}
w przeciwnym razie(


}

}
pusta pętla()
{

Temp_out = temp0.read_temp(5); // Przeczytaj temp 5 razy i zwróć średnią wartość do var

Czas = czas + 1; // Zwiększ czas o 1

MójPlik = SD.open("temp.csv", FILE_WRITE);

// jeśli plik otworzył się normalnie, napisz do niego:
jeśli (mój plik) (
// zapisz czas
mójPlik.print(czas);
Serial.print(czas);
// dodaj średnik
mójPlik.print(";");
Numer seryjny.print(";");
// wpisz temperaturę i przesuw linii
mójPlik.println(temp_out);
Serial.println(temp_out);
// zamknij plik:
mójPlik.close();
}
w przeciwnym razie(
// a jeśli się nie otworzy, wypisz komunikat o błędzie:
Serial.println("Błąd podczas otwierania temp.csv");
}
opóźnienie (1000); // Poczekaj sekundę
}


Pobierać:

Na MK. Jego sercem jest mikrokontroler PIC16F628A. Obwód termometru wykorzystuje 4 cyfry lub 2+2 wskaźnik ledowy ze wspólną anodą. Zastosowany czujnik temperatury to typ DS18B20 i w moim przypadku odczyty czujnika wyświetlane są z dokładnością do 0,5*C. Termometr posiada zakres pomiaru temperatury od -55 do +125*C, co wystarczy na każdą okazję. Do zasilania termometru wykorzystano zwykłą ładowarkę z telefonu komórkowego na IP z tranzystorem 13001.

Schemat ideowy termometru na mikrokontrolerze PIC16F628A:

Do flashowania oprogramowania PIC16F628A użyłem programu ProgCode, instalując go na komputerze i montując programator ProgCode według znanego schematu:

Oznaczenie pinów użytego mikrokontrolera i rozkład pinów niektórych innych podobnych MK:

Program ProgCode i instrukcja ze zdjęciami oprogramowania krok po kroku znajdują się w archiwum na forum. Istnieją również wszystkie pliki niezbędne do tego schematu. Otwórz program i kliknij przycisk „nagraj wszystko”. W moim wyprodukowanym urządzeniu, jak widać na zdjęciach, 2 termometry są zmontowane w jednej obudowie na raz, górny wskaźnik pokazuje temperaturę w domu, dolny pokazuje temperaturę temperatury na zewnątrz. Umieszczony jest w dowolnym miejscu pomieszczenia i łączy się z czujnikiem za pomocą elastycznego przewodu w ekranie. Materiał dostarczył ansel73. Oprogramowanie edytowane przez: [)eNiS