Termometar visoke temperature na mikrokontroleru uradi sam. Jednostavan digitalni termometar na senzoru PIC16F628A i DS18B20

10.09.2021

Ili njegove analoge. Uređaji imaju dobru tačnost, otpornost na buku i, u poređenju sa analognim rešenjima, značajno pojednostavljuju kolo. Granice temperatura koje se mjere takvim senzorima obično su ograničene na raspon od -55 do 125 ºS. Šta učiniti ako trebate izmjeriti temperaturu iznad 125 °C? Očigledno je potrebno koristiti analogne senzore, čiji raspon temperature može doseći +300 °C. Treba napomenuti da će se u ovom slučaju tačnost mjerenja smanjiti. Ali često kada mjerite visoke temperature, znajte tačna vrijednost nije potrebno, a greška od nekoliko stupnjeva bit će prihvatljiva, a kada se prikaže na analognoj skali, na primjer, na LED traci, bit će potpuno neprimjetna.

Za normalan rad uređaja na temperaturi od 0 ... 250 °C, odabran je analogni senzor, čiji je radni raspon -40 + 300 °C. Njegovi parametri su idealni za odabrani temperaturni raspon. Mikrokontroler (MK) je odgovoran za obradu podataka. Naravno, bilo koji drugi će učiniti, ali čini se da autor misli da je ovaj MK jedan od najpristupačnijih i najpopularnijih. Bitovi osigurača su ostavljeni u fabrici. Prilikom rješavanja problema kriteriji za precizno mjerenje stavljeni su u drugi plan. Greška od nekoliko stepeni bila je sasvim zadovoljavajuća.

Digitalni prikaz rezultata mjerenja

Za digitalni prikaz podataka koriste se LCD ekran. Po želji, uređaj se može nadograditi promjenom programskog koda. Za ovo postoji dovoljno slobodnih I/O portova. LCD ekran je povezan preko 4-bitne magistrale (slika 1). Cifre visokog reda indikatora D4 - D7 su povezane sa ciframa nižeg reda D0 - D4 mikrokontrolera. Pošto u ovom uređaju ne postoje tačne vremenske reference, nema potrebe za eksternim masterom kvarcni rezonator. Kontrolni pinovi ekrana su povezani na portove PB6 i PB7. Kao što vidite, sve kontrolne linije ekrana izlaze sa jedne strane kućišta MK, što pojednostavljuje praćenje štampane ploče.

Proračun vrijednosti temperature

Sa slike 1 se vidi da je analogni temperaturni senzor povezan direktno na ADC ulaz mikrokontrolera. Prilikom upotrebe operacioni pojačivač greška mjerenja bi bila manja. Napon se dovodi do ADC-a kroz razdjelnik formiran od termistora i promjenjivog otpornika. Za bolju preciznost podešavanja varijabilni otpornik odabrano više okretaja.

Tabela 1. Ovisnost otpora o temperaturi.

Temperatura ºS

Otpor Ω

Konstruisanjem grafika u Mathcadu na osnovu tabele 1 (slika 2) može se videti zavisnost otpora analognog senzora od primenjene temperature. Izvorni podaci tabele su preuzeti iz tehnički opis KTY84_130. Funkcija je skoro linearna, sa samo malim odstupanjima pri visokim temperaturama.

Pri izmjerenoj temperaturi od 0 ºS otpor termistora je 498 Ohma. Napon na izlazu razdjelnika je

Na temperaturi od 0 ºS, napon na ulazu ADC-a trebao bi biti 0,6 V. Za izračunavanje vrijednosti temperature autor je koristio sljedeću formulu:


  • ADC - 10-bitni digitalni ADC kod preuzet sa senzora,
  • U OTC - granična vrijednost (60), jednaka 0,6 V na 0 ºS.

Opseg mjerenih temperatura od 0 ºS do 250 ºS odgovara onima koje dolaze iz razdjelnika ulazni naponi ADC od 0,6 do 1,8 V. Referentni napon ADC-a je 5 V, tako da će kod ovih vrijednosti digitalni kod biti u rasponu od 123 do 368. Ovaj broj se stavlja u registar i pretvara u tri znamenke ASCII kod. Budući da je senzor KTY84_130 dizajniran za maksimalnu temperaturu od 300 ºS, bolje je ostaviti malu marginu i ograničiti je na 250 ºS.

Slika 5 prikazuje uređaj sastavljen na matičnoj ploči. Programski kod je otvoren i svako ga može lako modificirati kako bi odgovarao svojim potrebama.

MK softver i virtuelni model Proteus za LCD 16×2 -

MK softver i virtuelni model Proteus za LCD 8×2 -

Odmah želim da napomenem da su štampana ploča i dizajn dizajnirani sa očekivanjem da se napravi kompaktan uređaj koji se može montirati na zid.

Uređajem se upravlja pomoću jednog dugmeta. Program za mikrokontroler je napisan na C, sa komentarima, a korisnici ga mogu modifikovati kako bi odgovarao svojim specifičnim zadacima ili proširiti funkcionalnost. Za kontrolu LCD indikatora koristi se gotova biblioteka Peter Fleuryja (arhiva za preuzimanje dostupna je u odjeljku za preuzimanje). Dodatno, podaci se mogu prikazati u Celzijusima ili Farenhajtima. Postoji nekoliko načina za kontrolu pozadinskog osvjetljenja indikatora.

Također je vrijedno napomenuti još jednu važnu točku: uređaj može obavljati bežični prijenos podataka putem Bluetooth protokola pomoću posebnog modula (opcionalno).

Šematski dijagram

Sa stanovišta dizajna kola, uređaj je jednostavan, a sastavne elemente ćemo razmotriti zasebno.

Napajanje termometra se zasniva na integralni regulator napon u standardnom priključku (sa odgovarajućim filter kondenzatorima). Regulator napona 3,3 V AMS1117 je uključen u krug, ali se može koristiti u kućištu koristeći Bluetooth modul, jer Često je napajanje za takve module 3,3 V.

Indikator koji se koristi u uređaju je standardni dvolinijski indikator na HD44780 kontroleru. Tranzistor je dizajniran za kontrolu pozadinskog osvjetljenja indikatora logičkim signalima iz mikrokontrolera ili PWM signalom iz mikrokontrolera. Otpornik R3 ograničava struju kroz bazu tranzistora, otpornik R1 povlači bazu na nulti potencijal.

Osnova termometra je mikrokontroler koji radi na frekvenciji od 8 MHz i kontroliše sve okolne periferije.

DHT-11 senzor je jeftin senzor temperature i relativne vlažnosti koji se u projektu koristi kao vanjski senzor. Ne odlikuje se velikom brzinom i preciznošću, ali se zbog niske cijene koristi u radioamaterskim projektima. DHT-11 se sastoji od kapacitivnog senzora vlažnosti i termistora. Također, senzor sadrži jednostavan ADC za pretvaranje analognih vrijednosti vlažnosti i temperature.

Ključne karakteristike:

  • niska cijena;
  • napon napajanja 3 V - 5 V;
  • prijenos podataka preko 1-Wire magistrale na udaljenostima do 20 m;
  • određivanje vlažnosti 20-80% sa tačnošću od 5%;
  • maksimalna potrošnja struje 2,5 mA;
  • određivanje temperature 0...50° sa tačnošću od 2%;
  • frekvencija prozivanja ne veća od 1 Hz (ne više od jednom u 1 s);
  • dimenzije 15,5 × 12 × 5,5 mm;

Treba napomenuti da se u prodaji može naći senzor DHT-22, koji ima isti interfejs, ali bolje karakteristike.

Senzor je povezan sa mikrokontrolerom preko 1-Wire magistrale (konektor JP3 na dijagramu) pomoću pull-up otpornika na liniji podataka i kondenzatora za blokiranje na izvoru napajanja.

Interni senzor je široko korišten analogni temperaturni senzor LM35 IC5, koji je povezan na kanal 1 ADC mikrokontrolera.

Konektor J1 interfejsa za programiranje mikrokontrolera u krugu omogućava vam da brzo promenite programski kod ili ažurirate softver. Za povezivanje termometra preko UART interfejsa koristi se konektor JP1. Kontrolno dugme SW1 je povezano na eksterni prekidni ulaz mikrokontrolera;

Bluetooth modul za bežični prijenos podaci, označeni na dijagramu kao IC3, GP-GC021 se također povezuje na UART sučelje mikrokontrolera i omogućava vam prijenos podataka na PC, mobilni telefon ili web server. Štampana ploča pruža prostor za ugradnju modula. Odjeljak za preuzimanje sadrži opis modula, procesa interakcije i komandi.

LCD indikator se ugrađuje na prednji dio štampane ploče u konektoru, čime se skrivaju komponente instalirane na matičnoj ploči i dobijamo kompaktan uređaj. Mesto za ugradnju Bluetooth modula je na zadnjoj strani štampane ploče (pogledajte fotografiju ploče).

Izgled gotove štampane ploče za termometar


PCB crtež u Eagle CAD-u

Ploča sa instaliranim Bluetooth modulom

Preuzimanja

Šema strujnog kola i štampana ploča (Eagle), softver ( izvorni kod, firmver) -
Biblioteka za rad sa LCD indikatorom na HD44780 kontroleru -
Tehnički opis za Bluetooth modul GP-GC021 -

Na zahtjev onih koji su montirali prethodni dizajn barometra na PIC 16F684 i senzoru pritiska BMP180, objavljujemo članak (nastavak). Ovaj uređaj omogućava vam da istovremeno prikažete i temperaturu i pritisak. U tu svrhu, dizajn je koristio indikator baziran na MAX7219 čipu, koji vam omogućava rad sa matricom 8X7, korištenje ovog indikatora omogućilo je smanjenje broja uključenih mikroprocesorskih portova.

Najčešći korišteni temperaturni senzor je 18b20, koji ima dizajn s tri kontakta. DS18B20 (Programabilna rezolucija 1-Wire® digitalni termometar). Opseg mjerenja temperature je od -55 do +125 °C. Za opseg od -10 do +85 °C greška ne prelazi 0,5 °C.

Dijagram uređaja je prikazan na slici 1.

Indikator MAX7219 kupljen je na Aliexpressu. Ali ovaj indikator se prodaje gotov i morate ga spojiti samo na programiranu ploču s 5 vodiča.

Šematski dijagram indikatora je prikazan na slici 2 ispod je fotografija takvog indikatora.

Izgled sklopljenog uređaja prikazan je na fotografiji ispod.

Negativne temperature se prikazuju sa minusom ispred broja, a stepeni bez desetinki.

Preuzmite PCB crtež, šemu i firmver.


Ovo je normalno digitalni termometar, na internetu postoji mnogo sličnih uređaja. Osnova je mikrokontroler PIC16F628A i digitalni temperaturni senzor DS18S20 (DS18B20). 3 LED diode se koriste kao indikatori. bit indikatori zeleno. Indikacija je dinamička. Termometar radi u cijelom temperaturnom rasponu senzora DS18S20, tj. od -55 do +125 stepeni.

Termometar je montiran na štampanoj ploči, zajedno sa indikatorom. Senzor i napajanje su povezani odvojeno. Ako senzor nije povezan, na indikatoru se prikazuje slovo E (Greška). Ovaj uređaj nema posebne karakteristike. Dioda VD1 služi za zaštitu od promjene polariteta izvora napajanja.

Uređaj može raditi i sa senzorom DS18B20 i sa senzorom DS1820(DS18S20). Svaki senzor koristi sopstveni firmver mikrokontrolera. Ispod je verzija ovog termometra sa diodnim mostom i stabilizatorom 7805 koji je već instaliran na štampanoj ploči, tj. Za napajanje ovog uređaja, samo spojite sekundarni namotaj transformatora na konektor za napajanje. Osim toga, ova ploča ima LED koji nakratko treperi kada mikrokontroler ispita temperaturni senzor. LED je spojen između pina RB3 (pin 9) i mase, prirodno pomoću otpornika. Odsustvo LED diode na ploči ni na koji način neće utjecati na rad termometra.

Uređaj se može udobno smjestiti u bilo koju plastičnu kutiju odgovarajuće veličine. Postavio sam ga u kućište mrežnog napajanja (adaptera) zajedno sa transformatorom. One. Iz kutije izlazi samo konektor za senzor DS18B20, a samo kućište se ubacuje u mrežu od 220V.



Fajl:
Veličina:
sadržaj:

sm_termo.rar
38,3 KB
Crteži ploča (LAY) i firmvera mikrokontrolera.

Odgovori

Lorem Ipsum je jednostavno lažni tekst u industriji štampe i pisanja teksta. Lorem Ipsum je bio standardni lažni tekst u industriji još od 1500-ih, kada je nepoznati štampač uzeo galiju pisača i skrebovao je da napravi knjigu primeraka tipa. Preživeo je ne samo pet http://jquery2dotnet.com/ vekova , ali i skok u elektronsko kucanje, ostajući u suštini nepromijenjeni. Populariziran je 1960-ih s izdavanjem listova Letraset koji sadrže odlomke Lorem Ipsum, a nedavno i sa softverom za desktop izdavaštvo kao što je Aldus PageMaker uključujući verzije Lorem Ipsuma.

Uređaj je dizajniran za mjerenje temperature u cijelom opsegu senzora DS18B20 (od -55 do +125 stepeni), sa tačnošću od 0,1 stepen. Tačnost od 0,1 je vrlo uslovna, jer Preciznost samog senzora DS18B20, koju je deklarisao proizvođač, je 0,5 stepeni. Ipak, ljudi su mi se vrlo često obraćali sa predlogom da napravim termometar sa indikacijom do 0,1 stepen, što sam i uradio.

Termometar mjeri temperaturu i prikazuje je u 4 znamenke LED indikator. Različiti temperaturni rasponi su različito naznačeni:
-55,0...-10,0 - u formatu -HH.H bez simbola stepena
-9,9...0,1 - u formatu -H.H i simbol stepena
0,0...9,9 - u X.X formatu i simbolu stepena
10.0...99.9 - XX.X i simbol stepena
100,0...125,0 - XXX.X bez simbola stepena


Osim toga, termometar ima funkciju prigušivanja svjetline indikatora. Osvetljenost se bira sa dugmetom S. Dok je dugme pritisnuto, osvetljenost je visoka, ako se ne pritisne, osvetljenost je niska. Umjesto dugmeta, možete spojiti svjetlosni senzor tako da se svjetlina automatski mijenja u zavisnosti od doba dana (tačnije, nivoa svjetla).

Termometar je sastavljen u 2 štampane ploče. Indikatorska i upravljačka ploča. Ploče su zalemljene zajedno pod uglom od 90 stepeni, prema kontakt jastučićima. Kada instalirate 7805 čip, morate odrezati njegovu prirubnicu hladnjaka. Indikator može biti bilo koji, crveni ili zeleni. Važno je da je ispod dinamička indikacija sa zajedničkom anodom.

Termometar će ispravno raditi samo sa senzorima DS18B20, DS1820, DS18S20, itd. Nije prikladno za ovaj termometar! Za napajanje uređaja prikladno je bilo koje stabilizirano ili nestabilizirano napajanje konstantan napon 7...12 volti. Na primjer, možete koristiti nepotrebno punjač za mobilni telefon. Ako izlazni napon napajanje ne prelazi 8 volti, tada umjesto stabilizatora 7805 možete koristiti 78L05, ali ako se jako zagrije, morat ćete povećati otpor na katodama indikatora na 220 oma.