Elektronski termometar na mikrokontroleru. Elektronski termometar sa daljinskim senzorom DS18B20 na Attiny2313 mikrokontroleru

Pozdrav dragi posjetioci. Od Vas primamo želje da povećamo opseg kontrole temperature i njegovu indikaciju predstavljenu na web stranici termometar-termostat.

Dijagram novog termostata prikazan je na slici 1.

U principu, gotovo se ne razlikuje od svoje. Općenito, ovo je ogroman plus sklopova koji koriste mikrokontrolere.
Kolo je bazirano na mikrokontroleru PIC16F628A. Kao senzor se koristi jedan od poznatih i popularnih digitalnih temperaturnih senzora DS18B20. Indikacije stvarne temperature, vrijednosti zadane stabilizacijske temperature i potrebne histereze prikazuju se na sedmosegmentnom trocifrenom LED indikatoru sa zajedničkom anodom. Otpornici R1…R4 su pull-up otpornici. R1 povlači sabirnicu podataka od temperaturnog senzora DS18B20 do strujne sabirnice kruga plus pet volti. R2…R4 povlači odgovarajuće pinove mikrokontrolera na magistralu plus pet volti.

Otpornici od pet do dvanaest su otpornici za gašenje ili ograničavanje struje koja teče kroz LED diode. Promjenom vrijednosti ovih otpornika, možete podesiti svjetlinu segmenata indikatora. Ponekad postoje indikatori sa različitim osvjetljenjem pojedinih segmenata; Za podešavanje kontrole temperature koriste se dva dugmeta sa odgovarajućim znakovima “+” i “-”, to su tasteri SB2 i SB3. Koristeći iste dugmad, možete podesiti potrebnu histerezu, od 0,1 ˚S do 0,9 ˚S kada se pritisne dugme SB1 - „Histereza“. Kontrolni signal prekidača se uklanja sa pina 17 DD1 čipa. Nisam nacrtao dijagram ključeva, odaberite ga sami, na primjer, iz članka ""

Napominjemo da uređaj nisam testirao hardverski, sve je simulirano u Proteusu.

Shodno tome, ja nisam nacrtao štampanu ploču, ali ako želite da ponovite ovaj termostat, možete mi poslati crtež na adresu - [email protected] Ovo će biti vrlo korisno za početnike "radio razarača" (šalim se). Nisu mi poznate ideje onih posjetilaca koji su tražili poboljšanje termostata, ali možda su to bili hemičari kojima je bitna tačnost temperature rastvora. Mislim da ćete i vi pronaći upotrebu ovom uređaju. Bilo bi lijepo kada biste mogli komentirati gdje se to može primijeniti. Sretno. K.V.Yu.

Dobar dan, dragi čitaoci. Kao što naslov članka sugerira, govorit ćemo o termometru montiranom na PIC-u. Dakle. Zašto i kako je sve počelo?!
Trebao mi je dijagram jednostavnog termometra za podrum garaže. Počeo sam tražiti odgovarajuću šemu na internetu. Važan kriterij bio je korištenje minimalnog broja elemenata u kolu. Odmah ću reći da postoji tona takvih krugova termometara na mreži. Ali! Najčešće se prave na AVR-ima sa kojima, na moju najdublju žalost, nisam prijatelj. Tako sam počeo tražiti PIC sklop. Ali i tu sam se razočarao. Postoje šeme za PIC termometre. Ali oni koriste ili tranzistore za indikatore, ili eksterni kvarc, ili nešto drugo što je zakomplikovalo sklop i bilo je neprihvatljivo u mom slučaju. Konačno, nakon duge potrage, ovdje je pronađena shema koja mi je odgovarala:

http://www.labkit.ru/html/show_meter?id=38
I to je uspješno ponovljeno nekoliko puta. Sve radi odlično. (na web stranici autora ovog kola nalazi se i firmver i štampana ploča za repliciranje ovog termometra). Kako je vrijeme prolazilo. I jednog lijepog trenutka, nedostaci ovog kola su prvi postali jasni i morao sam koristiti i indikator sa zajedničkom katodom (na web stranici autora firmver je bio samo za zajedničku anodu). Sada o nedostatku sheme u izvornom izvoru. U početku, autorsko kolo ne uključuje pull-up otpornik za temperaturni senzor. Odnosno, u kolu nema otpornika od 4,7K. Da, zaista, s ovim dizajnom kruga, termometar može raditi, ali samo ako je senzor temperature zalemljen direktno u ploču, ili dužina žice na kojoj se senzor nalazi ne bi trebala prelaziti dužinu žice od jednog metra , jedan i po metar. Dosta. U suprotnom, indikator počinje pokazivati ​​neku glupost, a ne temperaturu.
Ovakav razvoj događaja me uopšte nije obradovao. Zato što mi je trebala dužina žice sa senzorom da bude najmanje 10 metara.
Ovaj problem je riješen vrlo jednostavno i brzo, naime ugradnjom 4.7K pull-up otpornika na senzor. Nakon toga senzor je počeo stabilno raditi za bilo koju dužinu žice. Ali šta ako imam samo indikatore sa zajedničkom katodom! I firmver je napravljen za anodu... Tu mi je pomogao Stanislav Dmitriev. Na čemu mu puno zahvaljujem. Nije samo napisao firmver za zajedničku anodu. Ali i ispod zajedničke katode i ispod različite vrste temperaturni senzori (DS18S20 ili DS18B20). Što je omogućilo dalje ujedinjenje ovaj dijagram. I preporučite ga za ponavljanje. Također je moguće koristiti u krugu i četverobitne sedmosegmentne i trobitne sedmosegmentne uređaje. Što nije velika stvar, ali ipak plus.
Sada sam krug

Kao što vidite, dijagram se ne razlikuje od onog predstavljenog na web stranici http://www.labkit.ru
Ovako je prvobitno zamišljeno. Jedina promjena u krugu je ugradnja dodatnog otpornika. Nisam ponovo nacrtao dijagram od nule. Upravo sam dodao element koji nedostaje u krug. U suštini, ako želite još više pojednostaviti krug i imate stabilan izvor napajanja od 5V, tada možete isključiti linearni stabilizator iz kruga. I napajajte MK direktno od 5V.
Hajdemo sada malo o tome kako sami prilagoditi firmver za indikator ili senzor koji vam je potreban. Ovdje je sve jednostavno.

Nakon što ste učitali datoteku firmvera u programator, vi sami: na osnovu onoga što vam je potrebno i gledajući ovaj snimak ekrana, upišite parametre koji su vam potrebni u datoteku firmvera u odjeljku EPROM. Nakon toga možete flešovati kontroler.

U mojoj verziji štampana ploča Na ploči je predviđen prostor ne samo za linearni stabilizator, već i za diodni most (koji će omogućiti napajanje kola naponom od 7,5V do 12V. Ploča također pruža prostor za ugradnju terminalnog bloka, što vam omogućava da ne zalemite temperaturni senzor u ploču, ali da stegnete njegove stezaljke. Ovo je zgodno kada se senzor postavlja na dugu žicu.

Crtanje ploče

Kao što vidite, termometar je sastavljen na dvije ploče. Jedan je opremljen sa sedam segmenata indikatora (tri ili četiri cifre). Svi ostali elementi kola su instalirani na drugoj ploči. Ploče su međusobno povezane pomoću češlja ili, u mom slučaju, žicama..
Na kraju je fotografija mog gotovog termometra.

Stoni i zidni satovi sa termometrima izrađuju se u kućištima od analognih satova. Sat i termometar se proizvode kao zasebni, nezavisni uređaji.

Neću opisivati ​​termometar, objavljen je na istoj web stranici. Krug, štampana ploča i firmver su tu, sve je nepromijenjeno.

Senzor temperature DS18B20 stolnog sata nalazi se izvan prozora. Izolirane žice 0,35 mm, dužine oko 10 metara

Sat je sastavljen na pojedinačnim 7-segmentnim zelenim LED indikatorima. Veličina brojeva je 14x25,4mm - jasno vidljiva iz bilo kog ugla prostorije. Imajte na umu da je indikator spojen bez otpornika za gašenje. To je zato što se svaki segment sastoji od dvije LED diode povezane u seriju i ima nominalni napon od 3,8 volti. S dinamičkom indikacijom, struje ne prelaze dozvoljene vrijednosti.

Stabilizator napona nalazi se u utikaču adaptera. Sastavljen je na transformatoru od 3 vata i visokofrekventnom pretvaraču - stabilizatoru LM2575T-5.0 prema standardnom krugu. Mikrokrug bez hladnjaka praktički se ne zagrijava. Konektor za napajanje od 3,5 mm. Kvarc 4 MHz.

Bilo koji n-p-n tranzistori male snage. Dugmad 6x6 H=14/10mm zalemljena na strani provodnika . Dužina dugmeta se bira na osnovu zahteva dizajna. Svaki put kada pritisnete dugme, dodaje se jedinica. Kada se drži, brojanje se ubrzava do razumne brzine.

Otpornici MLT – 0,25. R3 – R6 1-3 kOhm.

Baterije: 4 komada GP-170 ili slično. Kada je mrežni napon isključen, oni napajaju samo mikrokontroler.

Preporučljivo je odabrati diode s najmanjim padom napona u smjeru naprijed.
Ploče su izrađene od jednostrane folije od stakloplastike.
HEX fajl, dijagram, marke u folderu br. 1.

Opcija 2: na jednoj ploči

U ovo kućište nije stajalo dvije ploče: sat i termometar. Nisam želio smanjiti veličinu indikatora sata.

Ne volim prikazivanje vremena i temperature sa jednim indikatorom naizmjenično na stolnom satu.
Morao sam uzeti još jedan manji indikator za termometar i nacrtati novu štampanu ploču. Stoga su krug i firmver za termometar različiti.

HEX fajl i dijagram termometra u fascikli br. 2. Štampana ploča na istom mestu.
Dijagram sata bez ikakvih promjena je preuzet iz prvog odjeljka.

Ispod možete preuzeti firmver i štampane ploče u HEX formatu

Spisak radioelemenata

Oznaka Tip Denominacija Količina BilješkaProdavnicaMoja beležnica
Opcija 1
MK PIC 8-bit

PIC16F628A

1 U notes
VR1 DC/DC impulsni pretvarač

LM2575

1 5V U notes
VT1-VT4 Bipolarni tranzistor

KT3102

4 U notes
VD1, VD2, VD4 Diode

D310

3 U notes
VD3 Schottky dioda

1N5819

1 U notes
VS1 Diodni most

DB157

1 U notes
C1, C2 Kondenzator20 pF2 U notes
C3, C5 Kondenzator0,1 µF2 U notes
C4 330 µF 16 V1 U notes
C6 Elektrolitički kondenzator100 µF 35 V1 U notes
R1, R2 Otpornik

10 kOhm

2 U notes
R3-R6 Otpornik

1 kOhm

4 U notes
R7, R10 Otpornik

100 Ohm

2 U notes
L1 Induktor330 µH1 U notes
Tr1 Transformator 1 U notes
F1 Osigurač100 mA1 U notes
Baterija4,8 V1 U notes
HL1, HL2 Dioda koja emituje svetlost 2 U notes
S1, S2 Dugme 2 U notes
Z1 Kvarc4 MHz1 U notes
IndikatorFYS10012BG211 U notes
Opcija 2
MK PIC 8-bit

PIC16F628A

1 U notes
VT1-VT4 Bipolarni tranzistor

KT3102

1 U notes
C1, C2 Kondenzator20 pF2 U notes
C3 Kondenzator0,1 µF1 U notes
R1 Otpornik

4,7 kOhm

1 U notes
R2, R3, R5, R6 Otpornik

Sat na senzoru temperature PIC16F628A i DS18B20.

4 segmentni LED indikator.

Animirana promjena prikaza.

Varijanta jednostavnog sata na popularnom i pristupačnom mikrokontroleru PIC16F628A. U stvari, projekat AVR je počeo sa njima.

Opis sata.


1. Funkcije.

– sat, format prikaza vremena 24 sata, sati:minuti.

– digitalna korekcija tačnosti. Dnevna korekcija je moguća ±25 sec. Postavljena vrijednost od 1 sat 0 minuta 30 sekundi će se dodati/oduzeti od trenutnog vremena.

– termometar.

– indikacija. Alternativno.

– prilagodljiva animacija mijenjanja očitanja.

– korištenje nepromjenjive memorije mikrokontrolera za čuvanje postavki kada je napajanje isključeno.

– ako u glavnom režimu pritisnete dugmePLUS , tada se vrijeme prikazuje na indikatorima ako kliknete naODUZETI - temperatura. Kada se otpuste dugmad, nastavlja se automatska promena očitavanja.

2. Podešavanje.

2.1. Kada je napajanje uključeno, sat je u glavnom načinu rada.

2.2. Pritiskom na dugmeSET ulazi u režim podešavanja i bira parametar za instalaciju. Dostupni za ugradnju redom:

– minuta;

- sat;

– sekundi (resetujte na nulu kada pritisnete dugmadPLUS iliODUZETI );

– vrijednost korekcije. U najvišem redu simbol "With ";

– vrijeme indikacije trenutnog vremena. U najvišim ciframa simboli "tc ". Raspon podešavanja 0÷99 sek. Ako je postavljeno na 0, vrijeme neće biti prikazano;

– vrijeme indikacije temperature. U najvišim ciframa simboli "tt ". Raspon podešavanja 0÷99 sek. Ako je postavljeno na 0, temperatura se neće prikazati;

– izbor efekta animacije. U najvišim ciframa simboli "E.F. ". Ako je postavljeno na 0, promjene informacija će se izvršiti bez efekata, ako je odabrano automatski način rada(simbolA ), tada će se efekti mijenjati naizmjenično. Ako je odabran način radar , onda će se efekti nasumično mijenjati.

– odaberite brzinu animacije. U najznačajnijoj cifri simbol "P ". Opseg podešavanja je 0÷99. Jedna jedinica odgovara približno 2 ms, što je veća vrijednost, to je animacija sporija.

2.3. Parametar koji se postavlja treperi.

2.4. Držanjem dugmadiPLUS / ODUZETI parametar se brzo postavlja.

3. Bilješke.

Potrebno je uskladiti brzinu animacije i vrijeme potrebno za prikaz informacija. Ako se izabere spora animacija i kratko vrijeme prikaza, može se ispostaviti da informacije nemaju vremena da se potpuno ažuriraju prije sljedeće smjene.

Kada je glavno napajanje isključeno (+12V) indikator se gasi, sat nastavlja da radi. MK se napaja iz rezervnog izvora.

Arhiva uključuje firmver za indikatore sa zajedničkom katodom i anodom, projekat u Proteusu i opis.

Pitanja, želje na forumu.

11.03.2015

Dodan ažurirani firmver za indikator sa zajedničkom katodom. Novi firmver ima više efekata animacije i manje promjene u algoritmu. Detaljan opis u arhivi.

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).

Shematski dijagram

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

Napajanje termometra se vrši na bazi integrisanog regulatora napona 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.

Glavne karakteristike:

  • jeftino;
  • 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 u krugu mikrokontrolera 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 sa eksternim prekidnim ulazom 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 gotova štampana ploča za termometar


PCB crtež u Eagle CAD-u

Ploča sa instaliranim Bluetooth modulom

Preuzimanja

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

mob_info