Orodha ya maudhui:

Upimaji wa Joto Kutumia XinaBox na Thermistor: Hatua 8
Upimaji wa Joto Kutumia XinaBox na Thermistor: Hatua 8

Video: Upimaji wa Joto Kutumia XinaBox na Thermistor: Hatua 8

Video: Upimaji wa Joto Kutumia XinaBox na Thermistor: Hatua 8
Video: MKS Gen L — Марлин 1 1 9 (configuration.h) 2024, Novemba
Anonim
Upimaji wa Joto Kutumia XinaBox na Thermistor
Upimaji wa Joto Kutumia XinaBox na Thermistor

Pima joto la kioevu ukitumia xChip ya pembejeo ya analog kutoka XinaBox na uchunguzi wa thermistor.

Hatua ya 1: Vitu vinavyotumiwa katika Mradi huu

Vipengele vya vifaa

  • XinaBox SX02 x 1 xChip sensor ya pembejeo ya analog na ADC
  • Toleo la XinaBox CC01 x 1 xChip la Arduino Uno kulingana na ATmega328P
  • Resistor 10k ohm x 1 10k resistor kwa mtandao wa mgawanyiko wa voltage
  • Uchunguzi wa Thermistor x 1 10k saa 25 ° C uchunguzi wa kipima joto wa maji wa NTC
  • XinaBox IP01 x 1 xChip USB Programu kulingana na FT232R Kutoka FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 Pixel OLED Onyesha
  • Viunganishi vya basi vya XinaBox XC10 x 4 xChip
  • XinaBox PU01 x 1 xChip USB (Aina A) Ugavi wa Nguvu
  • Ugavi wa Umeme wa USB 5V x 1 Power Bank au sawa

Programu za programu na huduma za mkondoni

Arduino IDE

Zana za mikono na mashine za kutengeneza

Screwdriver ya Flathead Ili kukaza au kulegeza clamp terminal

Hatua ya 2: Hadithi

Utangulizi

Nilitaka kupima joto la kioevu kwa kuunda kipima joto. Kwa kutumia XinaBox xChips ningeweza kutimiza hii kwa unyenyekevu wa jamaa. Nilitumia pembejeo ya analog ya SX02 xChip ambayo inakubali 0 - 3.3V, CC01 xChip iliyowekwa mbali na ATmega328P na OD01 OLED kuonyesha xChip kutazama matokeo yangu ya joto.

Thermistor kupima joto la maji kwenye glasi

Hatua ya 3: pakua faili za lazima

Utahitaji maktaba na programu zifuatazo:

  • xSX0X- maktaba ya sensorer ya pembejeo ya Analog
  • xOD01 - OLED maktaba ya kuonyesha
  • Arduino IDE - Mazingira ya maendeleo

Bonyeza hapa kuona jinsi ya kufunga maktaba.

Mara tu ikiwa umeweka Arduino IDE, ifungue na uchague "Arduino Pro au Pro Mini" kama bodi ya kupakia programu yako. Pia hakikisha processor ya ATmega328P (5V, 16MHz) imechaguliwa. Tazama picha hapa chini.

Chagua bodi ya Arduino Pro au Pro Mini na processor ya ATmega328P (5V, 16MHz)

Hatua ya 4: Kusanyika

Bonyeza programu xChip, IP01, na ATmega328P msingi CC01 xChip pamoja kwa kutumia viunganisho vya basi vya XC10 kama inavyoonyeshwa hapa chini. Ili kupakia kwa CC01 utahitaji kuweka swichi katika nafasi za 'A' na 'DCE' mtawaliwa.

IP01 na CC01 zilibonyeza pamoja

Ifuatayo, chukua kontena yako ya 10kΩ na ubonyeze mwisho mmoja kwenye terminal iliyo na alama "IN" na mwisho mwingine kwenye terminal ya ardhi, "GND", kwenye SX02. Chukua risasi kwenye uchunguzi wa thermistor na ubadilishe ncha moja katika Vcc, "3.3V", na mwisho mwingine kwenye kituo cha "IN". Tazama mchoro hapa chini.

Uunganisho wa SX02

Sasa unganisha OD01 na SX02 na CC01 kwa kubofya kwa pamoja kwa kutumia viunganisho vya basi vya XC10. Tazama hapa chini. Kipengele cha fedha kwenye picha ni uchunguzi wa thermistor.

Kitengo kamili cha programu

Hatua ya 5: Programu

Ingiza kitengo kwenye bandari ya USB kwenye kompyuta yako. Pakua au unakili na ubandike nambari hapa chini kwenye IDE yako ya Arduino. Kukusanya na kupakia nambari kwenye bodi yako. Mara baada ya kupakia programu yako inapaswa kuanza kufanya kazi. Ikiwa uchunguzi uko kwenye hali ya joto la kawaida, unapaswa kuzingatia ± 25 ° C kwenye onyesho la OLED kama inavyoonyeshwa hapa chini.

Baada ya kupakia angalia joto la kawaida kwenye onyesho la OLED

Hatua ya 6: Joto la kupima joto

Ondoa kitengo kutoka kwa kompyuta yako. Tenganisha kitengo na kiunganishe tena kwa kutumia PU01 badala ya IP01. Sasa chukua usambazaji wako wa umeme wa 5V USB kama benki ya umeme au sawa na ingiza mkutano mpya ndani yake. Sasa unayo kipima joto chako chenye kubebeka na usahihi mzuri. Tazama picha ya jalada ili kuiona ikifanya kazi. Nilipima maji ya moto kwenye glasi. Picha zilizo chini zinaonyesha kitengo chako kamili.

Kitengo kamili kinachojumuisha CC01, OD01, SX02 na PU02.

Hatua ya 7: Hitimisho

Mradi huu ulichukua chini ya 10min kukusanyika na mwingine 20min kupanga. sehemu tu ya upendeleo inayohitajika ilikuwa kinzani. XChips bonyeza tu pamoja kuifanya iwe rahisi sana.

Hatua ya 8: Kanuni

ThermTemp_Display.ino Arduino Wataalam wa utafiti ili kuelewa mahesabu kwenye nambari.

# pamoja na // ni pamoja na maktaba ya msingi ya xCHIPs

# pamoja na // ni pamoja na maktaba ya sensorer ya pembejeo ya analogue # pamoja na // ni pamoja na maktaba ya OLED ya kuonyesha # pamoja na // ni pamoja na kazi za hesabu # fafanua C_Kelvin 273.15 // kwa ubadilishaji kutoka kwa kelvin hadi celsius #fafanua safu_res 10000 // thamani ya kontena la safu katika ohms #fafanua B 3950 // B parameter ya thermistor #fafanua chumba_tempKK 298.15 // joto la chumba katika kelvin #fafanua chumba_res 10000 // upinzani kwenye joto la kawaida katika ohms #fafanua vcc 3.3 // usambazaji voltage xSX01 SX01 (0x55); // weka voltage ya anwani ya i2c; // anuwai iliyo na kipimo cha voltage (0 - 3.3V) ya kuelea therm_res; // upinzani wa thermistor kuelea act_tempK; // joto halisi kelvin kuelea act_tempC; // joto halisi katika usanidi batili wa celsius () {// weka msimbo wako wa kusanidi hapa, ili uendeshe mara moja: // anzisha vigeuzi kwa 0 voltage = 0; therm_res = 0; kitendo_tempK = 0; kitendo_tempC = 0; // kuanza mawasiliano ya serial Serial.begin (115200); // kuanza mawasiliano ya i2c Wire.begin (); // kuanza sensorer ya pembejeo ya analog SX01. anza (); // kuanza OLED kuonyesha OLED. anza (); // onyesha wazi OD01. clear (); // kuchelewesha kurekebisha kawaida (1000); } kitanzi batili () {// weka nambari yako kuu hapa, kukimbia mara kwa mara: // soma voltage SX01.poll (); // kuhifadhi voltage ya volatge = SX01.getVoltage (); // mahesabu ya upinzani wa thermistor therm_res = ((vcc * series_res) / voltage) - mfululizo_res; // mahesabu ya joto halisi katika kelvin act_tempK = (chumba_tempK * B) / (B + chumba_tempK * logi (therm_res / room_res)); // kubadilisha kelvin kuwa celsius act_tempC = act_tempK - C_Kelvin; // joto la kuchapisha kwenye onyesho la OLED // fomati ya mwongozo kuonyesha katikati OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); kuchelewa (2000); // sasisha onyesho kila sekunde 2}

Ilipendekeza: