Obsah:

Meranie teploty pomocou XinaBoxu a termistora: 8 krokov
Meranie teploty pomocou XinaBoxu a termistora: 8 krokov

Video: Meranie teploty pomocou XinaBoxu a termistora: 8 krokov

Video: Meranie teploty pomocou XinaBoxu a termistora: 8 krokov
Video: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, November
Anonim
Meranie teploty pomocou XinaBoxu a termistora
Meranie teploty pomocou XinaBoxu a termistora

Zmerajte teplotu kvapaliny pomocou analógového vstupu xChip od XinaBox a termistorovej sondy.

Krok 1: Veci použité v tomto projekte

Hardvérové komponenty

  • Analógový vstupný senzor XinaBox SX02 x 1 xChip s ADC
  • XinaBox CC01 x 1 xChip verzia Arduino Uno založená na ATmega328P
  • Rezistor 10k ohm x 1 10k odpor pre sieť deliča napätia
  • Termistorová sonda x 1 10k pri 25 ° C NTC vodotesná termistorová sonda
  • Programátor USB XinaBox IP01 x 1 xChip na základe FT232R od FTDI Limited
  • XinaBox OD01 x 1 xChip 128 x 64 pixelový OLED displej
  • Konektory zbernice XinaBox XC10 x 4 xChip
  • Napájací zdroj XinaBox PU01 x 1 xChip USB (typ A)
  • Napájanie 5 V USB x 1 napájacia banka alebo podobné zariadenie

Softvérové aplikácie a online služby

Arduino IDE

Ručné nástroje a výrobné stroje

Plochý skrutkovač Na utiahnutie alebo uvoľnenie svorky skrutkového terminálu

Krok 2: Príbeh

Úvod

Chcel som zmerať teplotu kvapaliny vytvorením jednoduchého teplomera. Použitím XinaBox xChips som to mohol dosiahnuť relatívne jednoducho. Na zobrazenie svojich výsledkov teploty som použil analógový vstup xChip SX02, ktorý akceptuje 0 - 3,3 V, CC01 xChip založený na ATmega328P a OL01 displeji OD01 xChip.

Termistor na meranie teploty vody v pohári

Krok 3: Stiahnite si potrebné súbory

Budete potrebovať nasledujúce knižnice a softvér:

  • xSX0X- knižnica senzorov analógového vstupu
  • xOD01 - OLED knižnica displeja
  • Arduino IDE - vývojové prostredie

Kliknutím sem zistíte, ako nainštalovať knižnice.

Hneď ako nainštalujete Arduino IDE, otvorte ho a vyberte dosku „Arduino Pro alebo Pro Mini“, na ktorú chcete nahrať svoj program. Tiež sa uistite, že je vybratý procesor ATmega328P (5V, 16MHz). Viď obrázok nižšie.

Vyberte dosku Arduino Pro alebo Pro Mini a procesor ATmega328P (5V, 16MHz)

Krok 4: Zostavte

Kliknite na programátor xChip, IP01 a CCme xChip na báze ATmega328P na báze CC01 xChip pomocou konektorov zbernice XC10, ako je to znázornené nižšie. Aby ste mohli nahrať do CC01, musíte prepnúť prepínač do polohy „A“a „DCE“.

IP01 a CC01 spolu klikli

Potom vezmite odpor 10 kΩ a jeden koniec zaskrutkujte na svorku označenú „IN“a druhý koniec do uzemňovacej svorky „GND“na SX02. Vezmite vodiče na sonde termistora a jeden koniec zaskrutkujte do Vcc, „3,3 V“, a druhý koniec do svorky „IN“. Pozrite sa na grafiku nižšie.

Pripojenia SX02

Teraz skombinujte OD01 a SX02 s CC01 jednoduchým kliknutím na seba pomocou konektorov zbernice XC10. Pozri nižšie. Strieborným prvkom na obrázku je termistorová sonda.

Kompletná jednotka pre programovanie

Krok 5: Program

Pripojte jednotku k USB portu na vašom počítači. Stiahnite alebo skopírujte a prilepte nižšie uvedený kód do svojho Arduino IDE. Zostavte a nahrajte kód na svoju nástenku. Po nahraní by sa mal váš program spustiť. Ak máte sondu pri izbovej teplote, na OLED displeji by ste mali sledovať ± 25 ° C, ako je uvedené nižšie.

Po nahraní sledujte izbovú teplotu na OLED displeji

Krok 6: Prenosný teplomer

Vyberte jednotku z počítača. Demontujte jednotku a znova ju namontujte pomocou PU01 namiesto IP01. Teraz vezmite svoj prenosný napájací zdroj 5 V USB, ako napríklad powerbanku alebo podobný, a vložte doň novú zostavu. Teraz máte vlastný chladný prenosný teplomer s dobrou presnosťou. V prevádzke ho môžete vidieť na titulnom obrázku. V pohári som odmeral horúcu vodu. Nasledujúce obrázky zobrazujú vašu kompletnú jednotku.

Kompletná jednotka obsahujúca CC01, OD01, SX02 a PU02.

Krok 7: Záver

Zostavenie tohto projektu trvalo menej ako 10 minút a programovanie ďalších 20 minút. jedinou požadovanou pasívnou súčasťou bol odpor. XChipy jednoducho kliknú na seba, čo je veľmi praktické.

Krok 8: Kód

ThermTemp_Display.ino Arduino Skúmajte termistory, aby ste pochopili výpočty v kóde.

#include // zahrnúť základnú knižnicu pre xCHIP

#include // zahrnúť knižnicu senzorov analógového vstupu #include // zahrnúť OLED zobrazovaciu knižnicu #include // zahrnúť matematické funkcie #definovať C_Kelvin 273,15 // na konverziu z kelvinov na celsius #define series_res 10 000 // hodnota sériového odporu v ohmoch #define B 3950 // B parameter pre termistor #definovať room_tempK 298,15 // izbová teplota v kelvinoch #definovať room_res 10 000 // odpor pri izbovej teplote v ohmoch #definovať vcc 3,3 // napájacie napätie xSX01 SX01 (0x55); // nastavenie plávajúceho napätia adresy i2c; // premenná obsahujúca namerané napätie (0 - 3,3 V) float therm_res; // odpor termistora float act_tempK; // skutočná teplota kelvin float act_tempC; // skutočná teplota v stupňoch Celzia neplatná setup () {// sem vložte svoj inštalačný kód, aby sa spustil raz: // inicializácia premenných na 0 napätie = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // spustenie sériovej komunikácie Serial.begin (115200); // spustenie i2c komunikácie Wire.begin (); // spustenie analógového vstupného senzora SX01.begin (); // spustenie OLED displeja OLED.begin (); // vymazanie displeja OD01.clear (); // oneskorenie na normalizáciu oneskorenia (1000); } void loop () {// sem vložte svoj hlavný kód, aby sa opakoval: // prečítajte napätie SX01.poll (); // uloženie volatilného napätia = SX01.getVoltage (); // výpočet odporu termistora therm_res = ((vcc * series_res) / napätie) - séria_res; // vypočítajte skutočnú teplotu v kelvinoch act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // previesť kelvin na celsius act_tempC = act_tempK - C_Kelvin; // teplota tlace na OLED displeji // manualne formatovanie pre zobrazenie v strede OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); oneskorenie (2000); // aktualizácia displeja každé 2 sekundy}

Odporúča: