[PRZYKŁAD] Termopara typu K i KAmduino UNO

Niniejszy przykład obrazuje użycie termopary typu K oraz wzmacniacza termopary SPI z układem MAX31856. Mikrokontroler odczytuje zmierzoną wartość temperatury, a następnie wyświetla ją na ekranie LCD będącym częścią nakładki LCD Keypad Shield firmy DFRobot.

W przykładzie użyto następujących komponentów:

Zdjęcie 1. Termopara typu K w metalowej obudowie

Termopara to połączenie dwóch drutów zrobionych z różnych metali lub ich stopów. Jeden koniec połączenia utrzymywany jest w stałej temperaturze, zaś drugi jest końcem „pomiarowym”. Pod wpływem różnicy temperatur między końcami występuje różnica potencjałów. Jest to zjawisko Seebecka. W termoparze typu K występują stopy Nikiel-Chrom oraz Miedź-Nikiel. Ten typ można stosować w zakresie temperatur -200…1200 °C. Zależność napięcia od temperatury jest w przybliżeniu liniowa i wynosi ok. 41 µV/°C. Końcówka termopary znajduje się w osłonce ze stali nierdzewnej.

Zdjęcie 2. Wzmacniacz termopary SPI z układem MAX31856

Adafruit Universal Thermocouple Amplifier MAX31856 to moduł wzmacniacza dla termopary. Oparty został na układzie MAX31856. Do modułu pasują termopary typu K, J, N, R, S, T, E oraz B. Do komunikacji wykorzystuje interfejs SPI. Moduł współpracuje z Arduino.

Wyprowadzenia termopary należy dołączyć do pinów „+” i „-„. W zestawie znajduje się złącze śrubowe ARK, które po przylutowaniu pozwala na łatwe dołączenie sensora do modułu wzmacniacza. Sam moduł wzmacniacza należy dołączyć do płytki KAmduino UNO z nałożoną nakładką w sposób opisany w tabeli poniżej:

td>

Pin KAmduino UNO Pin wzmacniacza termopary
+5V VIN
GND GND
D3 SCK
D2 SDO
D1 SDI
D0 CS

Połączony układ jest też widoczny na poniższym zdjęciu:

Zdjęcie 3. Połączony układ

Po połączeniu układu można przejść do omówienia kodu na platformę Arduino. Producent przygotował bibliotekę do obsługi układu MAX31856 dostępną pod tym linkiem w serwisie github. Biblioteka dostępna jest także poniżej, w sekcji „do pobrania”.

Kod zaprezentowany poniżej ma za zadanie odczytać wartość temperatury oraz wyświetlić go na alfanumerycznym ekranie LCD. Na początku dodano biblioteki odpowiedzialne za obsługę ekranu i modułu wzmacniacza. Następnie inicjalizowane są klasy do obsługi urządzeń oraz zmienna, w której będzie przechowywana aktualna wartość temperatury.

W funkcji setup inicjalizowane są urządzenia zewnętrzne: ekran LCD oraz wzmacniacz termopary. Ustawiany jest typ termopary – typ K. Biblioteka LiquidCrystal otrzymuje informację o wymiarach ekranu.

W pętli głównej programu odczytywana jest temperatura za pomocą funkcji readThermocoupleTemperature. Następnie odczytana wartość wyświetlana jest na ekranie LCD. Obrót pętli odbywa się co 0,5 sekundy.

Działanie przykładu zaprezentowano na poniższym materiale wideo:

Do pobrania

O autorze