Bëni vetë termometër elektronik në një mikrokontrollues pic. Termometër elektronik me sensorin e verës DS18B20 në mikrokontrolluesin Attiny2313

Mjetet antipiretike për fëmijët përshkruhen nga një pediatër. Por ka situata të ndihmës së domosdoshme në rast kujdesi, nëse fëmija ka nevojë të japë fytyra nga pakujdesia. Më pas baballarët marrin përsipër ringjalljen dhe ndalojnë preparatet antipiretike. Çfarë mund t'u jepet foshnjave? Si mund ta ulni temperaturën tek fëmijët më të rritur? Cilat janë fytyrat më të sigurta?

Le t'i hedhim një sy këtij artikulli termometër dixhital, nxitur nga mikrokontrollues Attiny2313, i pjekur Sensori dixhital i verës DS18B20. Temperatura mesatare duhet të vendoset nga -55 në +125 gradë Celsius, temperatura minimale duhet të jetë 0,1 gradë. Skema është mjaft e thjeshtë, ju lehtë mund të hiqni një minimum detajesh dhe її mund ta merrni lehtësisht me duart tuaja.

Përshkrimi i qarkut robotik të termometrit

Termometër elektronik i pavarur me sensor të verës nxitje për gjithçka. Roli i sensorit të temperaturës ka një çip DS18B20 nga Dallas. Qarku i termometrit mund të përmbajë deri në 8 sensorë dixhitalë. Mikrokontrolluesi ndërvepron me DS18B20 përmes protokollit 1Wire.

Në të njëjtën kohë, dërgohet një sinjal dhe inicializimi i të gjithë sensorëve të lidhur, pastaj prej tyre merret leximi i temperaturës nga ekrani i ardhshëm në treguesin treshifror me shtatë segmente HL1. Treguesi mund të jetë i ndenjur si me një katodë të ndezur (OK) ashtu edhe me një anodë të ndezur (OA). Një tregues i ngjashëm është gjithashtu një tregues i stagnimit. Nën treguesin e lëkurës є firmware. Ju mund të kontrolloni temperaturën si në shtëpi ashtu edhe në rrugë, për të cilën duhet të fajësoni DS18B20 për tërë ditën.

Për Attiny2313, është e nevojshme të instaloni fuzionin në rendin e ardhshëm (për softuerin

Dua të theksoj se bordi ishte projektuar dhe se dizajni u zgjerua me një rozrachunk për ata, për të ndërtuar një shtojcë kompakte që ngjitet në mur.

Ne do të ndërtojmë një karvan për një buton shtesë. Programi për mikrokontrolluesin është i shkruar në C, por ka komente dhe mund ta modifikoni sipas nevojave tuaja specifike, ose të zgjeroni funksionalitetin. Biblioteka e Peter Fleury është gati për kultivimin e Republikës së Kazakistanit si një tregues i fitimit (arkivat për blerjen janë në dispozicion nga shpërndarja e blerjeve). Të dhënat shtesë mund të shfaqen në gradë Celsius ose Fahrenheit. Є k_lka modes_v keruvannya pіdsvіchuvannyam _indikator.

Gjithashtu, ky opsion nënkupton një pikë të rëndësishme: pajisja mund të mundësojë transferimin e të dhënave me valë përmes Bluetooth me ndihmën e një moduli të veçantë (opsionale).

Diagram skematik

Nga një shikim, qarku është i lidhur në mënyrë të sikletshme dhe ne mund të shikojmë skajin e elementeve.

Dzherelo zhivlennya termometër vykonano në bazë të një rregullatori të tensionit të integruar në një standard të përfshirë (me kondensatorë të ventiluar për të filtruar). Rregullatori i Tensionit 3.3 AMS1117 përdorimi më i zakonshëm i moduleve të tilla 3.3.

Treguesi që shfaqet në shtesë është treguesi standard i kopshtit në kontrolluesin HD44780. Transistori i caktimit për kontrollin e ndërrimit të treguesit me sinjale logjike nga mikrokontrolluesi ose një sinjal PWM nga mikrokontrolluesi. Rezistenca R3 lidh rrymën përmes bazës së tranzitorit, rezistenca R1 e tërheq bazën në potencialin zero.

Baza e termometrit është një mikrokontrollues, i cili funksionon në një frekuencë prej 8 MHz dhe merr parasysh të gjitha pajisjet periferike të nevojshme.

Sensori DHT-11 është një sensor i lirë për temperaturën dhe përmbajtjen e ujit, i cili përdoret në projekte si sensor i jashtëm. Vіn nuk vіdraznyaєtsya vysokoy svidkodієyu që tchіstіvі, prote znayut zastosuvannya e tyre në projektet radioamatorskih nëpërmjet varіst saj jo të lartë. DHT-11 është ndërtuar me një sensor të jashtëm lagështie dhe termistor. Është gjithashtu e mundur të përdorni sensorin në ADC-në tuaj për konvertimin e vlerave analoge të lagështisë dhe temperaturës.

Karakteristikat kryesore:

  • shumëllojshmëri e ulët;
  • tensioni i jetës 3 - 5 V;
  • transmetimi i të dhënave përmes autobusit 1-Wire në një distancë deri në 20 m;
  • përcaktimi i përmbajtjes së ujit 20-80% nga 5% saktësi;
  • amortizimi maksimal i strumit 2,5 mA;
  • vendosja e temperaturës 0 ... 50 ° me një saktësi prej 2%;
  • Frekuenca e kampionimit nuk është më shumë se 1 Hz (jo më shumë se një herë në 1 s);
  • madhësia 15,5×12×5,5 mm;

Gjëja tjetër që duhet theksuar është se mund të gjeni në shitje një sensor DHT-22, i cili ka të njëjtën ndërfaqe, por edhe karakteristikat më të mira.

Sensori është i lidhur me mikrokontrolluesin nëpërmjet autobusit 1-Wire (lidhësi JP3 në diagram) me një rezistencë të ndryshueshme, e cila është e lidhur me linjën e të dhënave dhe një kondensator bllokues për jetën.

Si një sensor i brendshëm, sensori analog i temperaturës LM35 IC5 është zgjeruar gjerësisht, i cili është i lidhur me kanalin 1 të ADC të mikrokontrolluesit.

Lidhësi J1 në ndërfaqen e programimit të qarkut të brendshëm të mikrokontrolluesit ju lejon të ndryshoni shpejt kodin e programit ose të përditësoni softuerin. Për të lidhur një termometër pas ndërfaqes UART, përdoret lidhësi JP1. Butoni i ndërprerës SW1 është i lidhur me hyrjen e rivendosjes së thirrjes së mikrokontrolluesit, kjo hyrje tërhiqet në portë nga një rezistencë e brendshme.

Moduli Bluetooth për transferimin e të dhënave me valë, i cili është në diagram si IC3, GP-GC021, lidhet gjithashtu me ndërfaqen UART të mikrokontrolluesit dhe lejon transferimin e të dhënave në një PC, telefon celular ose server në internet. Në tabelën tjetër, hapësira e modulit të instaluar u transferua. Në rozdіlі zavantazhen є përshkrimi i modulit, procesi i vzaєmodії dhe komandat.

Treguesi RK është i instaluar në pjesën e përparme të tabelës tjetër në lidhës, dhe në këtë mënyrë komponentët instalohen në tabelën kryesore, dhe së paku një shtojcë kompakte. Vendi ku është instaluar moduli Bluetooth është në anën e djathtë të tabelës tjetër (div. foto e tabelës).

Pamja eterike e një pëlhure të gatshme për një termometër


Pagesë me dorë për bebe në CAD Eagle

Bordi me modul të integruar Bluetooth

Entuziazmi

Diagrami skematik i tabelës (Eagle), PZ (kodi i jashtëm, firmware) -
Biblioteka për robotë me tregues RK në kontrolluesin HD44780
Përshkrimi teknik Moduli Bluetooth GP-GC021 -


Ky është termometri më i mirë dixhital, në internet ka shumë pajisje të ngjashme. Baza e mikrokontrolluesit PIC16F628A dhe sensori dixhital i temperaturës DS18S20 (DS18B20). Si tregues të stazës së dritës tregues 3-shifror të ngjyrës së gjelbër. Treguesi është dinamik. Termometri funksionon në të gjithë gamën e temperaturës së sensorit DS18S20, tobto. ajri -55 deri +125 gradë.

Termometri i zgjedhur në një pllakë të ndryshme në të njëjtën kohë me një tregues. Sensori dhe jeta janë të lidhura okremo. Nëse sensori nuk është i lidhur, shkronja E (Gabim) do të shfaqet në tregues. Nuk ka veçori të veçanta të përditshme të bashkëngjitjeve daneze. Dioda VD1 shërben për mbrojtjen e ndryshimit të polaritetit të jetës.

Shtojca mund të përdoret si me sensorin DS18B20 ashtu edhe me sensorin DS1820(DS18S20). Nën sensorin e lëkurës, firmware-i i mikrokontrolluesit ndryshohet. Më poshtë është një variant i termometrit që është instaluar në një tabelë të ndryshme me një urë të vetme dhe një stabilizues 7805, domethënë. për jetën, do të shtoj mjaftueshëm për të lidhur dredha-dredha dytësore të transformatorit me prizën e jetës. Për më tepër, në këtë tabelë është instaluar një diodë drite, e cila është një lloj gjumi i shpejtë për një orë testim të sensorit të temperaturës nga mikrokontrolluesi. Svіtlodiod podklyucheniya mizh nіzhkoy RB3 (vysnovok 9) і masë, natyrisht me një rezistencë. Prania e një diode që lëshon dritë në tabelë nuk ndërhyn në funksionimin e termometrit.

Shtojcë për t'u zgjeruar me dorë në një kuti plastike me zgjerime të përshtatshme. Unë e kam instaluar atë në kutinë e njësisë së kornizës (Adaptorit) menjëherë me një transformator. Tobto. Nuk ka më priza për të dalë nga kutia te sensori DS18B20 dhe vetë kutia futet në matësin 220V.



Skedari:
Rozmir:
Vmist:

sm_termo.rar
38.3 KB
Pllakat e vogla (LAY) dhe firmueri i mikrokontrolluesit.

Abo yoga analoge. Përshtatni një saktësi të mirë, stabilitet në një kod ndërrimi dhe, paralelisht me zgjidhjet analoge, thjeshtoni ndjeshëm qarkun. Midis sensorëve të ngjashëm të temperaturës, tingëlloni shkëmbimin me një interval prej -55 deri në 125 ºС. Çfarë pune kërkohet për të mbajtur temperaturën më të lartë se 125 °C? Natyrisht, është e nevojshme të përdoren sensorë analogë, diapazoni i temperaturës së të cilëve mund të arrijë +300 ° С. Hapi tjetër është të tregoni se në cilën mënyrë do të ulet saktësia e vimiriv. Ale shpesh në temperatura të larta, është më e saktë të dihet vlera e neobov'yazykovo, dhe zhvendosja në disa gradë do të jetë e këndshme, dhe kur shfaqet në një shkallë analoge, për shembull, në vijën e dritës, është e pakuptueshme.

Për funksionimin normal, unë do të bashkëngjit në një temperaturë prej 0 ... 250 ° C, një sensor analog duhet të vendoset në -40 + 300 ° C. Gama e tij e funksionimit është e përshtatshme në mënyrë ideale për diapazonin e temperaturës. Për përpunimin e këtyre të dhënave jepet një mikrokontrollues (MK). Natyrisht, përshtateni dhe të jetë çdo tjetër, por autori i këtij MK duket të jetë një nga më të arritshëm dhe më të njohurit. Siguresa është e tepruar nga fabrika. Kur kriteret e detyrave razv'yazannі të vimіru të sakta buli vіdkladenі në një plan tjetër. Pohibka sundoi jo më shumë se disa gradë.

Tregimi dixhital i rezultateve të vimiriv

Ekrani LCD përdoret për ekran dixhital. Pas bashkëngjitjeve bazhannym, mund të modernizoheni duke përmirësuar kodin e programit. Vіlnih portet vіdnya vіvednya për tsgogo mjaft. Ekrani LCD i lidhur nëpërmjet autobusit 4-bit (Malyunok 1). Radhët më të vjetra të treguesit D4 - D7 janë të lidhura me radhët më të reja D0 - D4 të mikrokontrolluesit. Nuk ka gjurmë të referencave të sakta të orës në të njëjtën aneks, atëherë nuk ka nevojë për rezonatorin e jashtëm të kuarcit. Te portat PB6 dhe PB7 të lidhura me kllapat e ekranit. Ashtu si Bachimo, të gjitha linjat e kontrollit të ekranit dalin nga njëra anë e kutisë MK, gjë që do ta bëjë më të lehtë lëvizjen e tabelës tjetër.

Llogaritja e temperaturës

Figura 1 tregon se sensori analog i temperaturës është i lidhur me hyrjen ADC të mikrokontrolluesit. Kur vikoristanny operative pіdsiluvacha rrëmbimi ishte më pak. Tensioni në ADC furnizohet përmes një dilniku, duke përdorur një termistor dhe një rezistencë zëvendësuese. Për saktësinë më të shkurtër, ndryshimi i rezistencës vibruese rregullohet me një rrotullim të ndryshueshëm.

Tabela 1 Mbështetja e temperaturës.

Temperatura ºС

Opir Ω

Bazuar në grafikun e Tabelës 1 të Mathcad (Malyunok 2), mund të kontrolloni vlefshmërinë e mbështetjes së sensorit analog sipas temperaturës së aplikuar. Të dhënat e dhëna të tabelave janë marrë nga përshkrimi teknik KTY84_130. Funksioni mund të jetë praktikisht linear në natyrë, vetëm për frymëmarrje të vogla në temperatura të larta.

Në një temperaturë të moderuar prej 0 ºС, opir i termistorit bëhet 498 Ohm. Tensioni në dalje të dilnikut është i mirë

  • U D - tension në sensorin e temperaturës së tokës,
  • U ПІТ - voltazhi i jetës,
  • R D - sensori i temperaturës së opirit,
  • R 1 - futja e një rezistence zëvendësuese.

Në një temperaturë prej 0 ºС, voltazhi në hyrje të ADC duhet të bëhet 0,6 V. Për të llogaritur vlerën e temperaturës, autori ka shkruar formulën e mëposhtme:


  • ADC - Kodi dixhital ADC 10-bit, lexime nga sensori,
  • U OTS ​​- vlera më e rëndësishme (60), e cila është 0.6 në 0 ºС.

Gama e temperaturave të ndryshueshme nga 0 ºС deri në 250 ºС përcaktohet nga tensionet hyrëse të ADC, të cilat janë nga dilnik, nga 0,6 në 1,8 V. për t'u kthyer në kodin ASCII treshifror. Duke shkallëzuar sensorin KTY84_130 për një temperaturë maksimale prej 300 ºС, është më mirë të lini një diferencë të vogël dhe 250 ºС.

Little 5 tregon bashkëngjitjet, zgjedhjet në tabelën e bukës. Kodi i programit është i vlefshëm dhe lëkura mund të plotësohet lehtësisht nga joga nën autoritetin e detyrës.

Softueri MK dhe modeli virtual Proteus për LCD 16×2 -

Softueri MC dhe modeli virtual Proteus për LCD 8×2 -

Termometri në ATmega8 dhe sensori i temperaturës DS18B20

Qarku i termometrit në ATmega8 dhe DS18B20

Termometri dixhital DS18B20
Treguesi i dritës me shtatë segmente
Algoritmi i programit të termometrit
Programi i termometrit dixhital në DS18B20

Skema e programit është e thjeshtë termometër dixhital nga nënstacionet e mikrokontrolluesit ATmega8 sensor temperature DS18B20. Termometri ju lejon të kontrolloni temperaturën nga 0 në 99 gradë me një saktësi deri në 0,5 gradë me një ndërtesë të veçantë prej 0,1 gradë.

Termometri, për shkak të karakteristikave të tij, është edhe më i thjeshtë dhe mund të përdoret vetëm si termometër për të kontrolluar temperaturën e "dhomës". Vykoristuvati në këtë mikrokontrollues dizajni me një memorie prej 8 kilobajt, jashtëzakonisht me kosto efektive, ju mund ta vendosni mikrokontrolluesin dhe më të thjeshtë. Vlen të përmendet se ky dizajn është baza për zhvillimin e mëtejshëm të sensorit dixhital të temperaturës DS18B20. Në artikullin tjetër, do të publikohet dizajni i një termometri tjetër - në dy sensorë DS18B20, të cilët do t'ju lejojnë të kontrolloni temperaturën jo vetëm në dhomë, por edhe jashtë saj. Natyrisht, do t'ju jepet mundësia për të kapërcyer temperaturën negative. Do t'i shtohet dizajnit funksioni i një termostati, një libri vjetor, aftësia për të punuar me preferenca të ndryshme, gjë që do t'ju lejojë të zgjidhni një dizajn të vështirë - bazën e një "shtëpie të arsyeshme". Epo, sot është artikulli i parë nga cikli i serisë.

Qarku i termometrit në ATmega8 dhe sensori i temperaturës DS18B20

Le të shohim qarkun e termometrit:

Ashtu si një bachite, skema është mjaft e thjeshtë, ajo ka nevojë vetëm për një minimum detajesh.
Skema për tregues ka një tregues të dritës me tre shifra me shtatë segmente.

Stresi strukturor - 5 volt. Nëse instaloni mikrokontrolluesin me fuqi të tensionit të ulët, atëherë mund të ulni tensionin e strukturës dhe në të njëjtën mënyrë, mund të ndryshoni vlerësimin për të shuar mbështetësit në segmentet e treguesit. Vlerat përafërsisht nominale të mbështetësve mund të merren:
- Kur hahet 5 volt - 200-300 Ohm
- Kur hahet 2.7 - 3 volt - 100-150 Ohm


tranzistorë- Strukturat Be-yaki, me fuqi të ulët, NPN.
sensor temperature - DS18B20
Treguesi me shtatë segmente - Qoftë nëse është një katodë me tre shkarkime. Nëse dëshironi të zastosuvat іnshі, іz një anodë të nxehtë, nëse ndodh të zëvendësoni transistorët në PNP dhe të bëni ndryshime në program (zëvendësoni grupin e dy kodeve për shfaqjen e shifrave në tregues). I zastosuvav tregues i ngjyrës së kuqe të qiriut, dhe në të njëjtën kohë, për skemën fyese, duke përgatitur të njëjtën ngjyrë të zezë ale të qiriut.

Detajet e termometrit në mikrokontrolluesin ATmega dhe DS18B20



Pika e mikrokontrolluesit ATmega8:

Treguesi treshifror me shtatë segmente FYT-5631AUR-21:

Sensori i temperaturës DS18B20:

Transistorët BC547C:

Algoritmi i termometrit robotik në ATmega dhe DS18B20

Instalimet e përdorura të mikrokontrolluesit janë të fabrikës, çipat FUSE-bіti nuk kërkohen.

Për programin robotik, janë vendosur dy kohëmatës / kontrollues të mikrokontrolluesit:
T0 me tetë shifra
T1 gjashtëmbëdhjetëshifror
Per ndihme kohëmatës me tetë shifra T0 e ridrejtimit të klikimeve në javë me frekuencën e brendshme SC/8 (periudha prej 2 milisekonda) të organizatave:
- Temperatura e rrjedhjes Razrahunok
- shfaqja dinamike e rezultateve të monitorimit të temperaturës nga sensori DS18B20
Per ndihme kohëmatës gjashtëmbëdhjetëshifror U organizua T1 e rikthimit me klikim në javë me frekuencën e brendshme CK/64 (periudha prej 4 sekondash):
- Dërgimi i një komande te sensori DS18B20 për të monitoruar temperaturën
- Leximi i temperaturës së matur nga sensori
Në parim, mund të përdorni një kohëmatës / tingëllues me tetë shifra, si dhe të vendosni ciklin për rirenditje, me frekuencën e brendshme CK / 8, dhe të organizoni të gjithë funksionimin e qarkut në procesin e rirenditjes. Dhe në të djathtë, nuk ka kuptim në të - sensorit DS18B20 i duhet tre herë më pak se 1 sekondë (me rezolucion 12-bit) për të kthyer (përcaktuar) temperaturën, kështu që shpesh është më e ulët se 1 herë në sekondë dhe është nuk është e mundur të konvertohen të dhënat e temperaturës. Për më tepër, më shpesh sesa jo, temperatura u përditësua përpara se sensori të nxehej, dhe, me sa duket, krijimi i të dhënave reale. Zgjedhja e një lichnik tjetër ju lejon të vendosni intervale për orën e kontrollit të temperaturës.

Boshti duket si pjesa kryesore e programit në Algorithm Builder:

De:

PS- Rregullimi i adresës së postës së pirgut

Kohëmatësi 0- Vendosja e kohëmatësit T0:

Kohëmatësi 1- Vendosja e kohëmatësit T1:

TIMSK- Rregullimi i ndërprerjes së kohëmatësve:

Init_Display- nënprogram për rregullimin e gamës së porteve, i cili merr pjesë në shfaqjen dinamike të të dhënave në një tregues treshifror me shtatë segmente

1 -> I- Rivendosja e lejuar globale

Si të fajësoni furnizimin me energji elektrike, sikur nuk ishte e mundur të kuptoni se çfarë ushqimi ishte si programet, shkruani - le të themi.

(2.4 KiB, 7004 goditje)

Mbështetni projektin - ndani përpjekjet tuaja, e dashur!
Lexoni gjithashtu
Si të rregulloni faljet me një tunel në Hamachi - një triko të verdhë dhe një fustan blu Si të rregulloni faljet me një tunel në Hamachi - një triko të verdhë dhe një fustan blu Çfarë është Robity, çfarë është GTA V galmuє? Çfarë është Robity, çfarë është GTA V galmuє? Luaj përmes internetit në lojën HOTSEAT (jo për një PC, por po aq) Luaj përmes internetit në lojën HOTSEAT (jo për një PC, por po aq)