Gestionarea Senzorului de Umiditate Relativa Sht75 cu Microcontroller

LUCRARE DE LICENȚĂ

Gestionarea senzorului de umiditate relativă SHT75 cu microcontroler

Memoriu justificativ

Momentul apariției microcontrolerului a însemnat un pas important în dezvoltarea tehnologiei moderne.

Cu puține sau fără componente externe, microcontrolerele au devenit rapid adoptate în modele de sisteme embedded. Circuitele electronice pot fi simplificate prin utilizarea unui microcontroler programat cu un software de control pentru a înlocui circuitele care au fost utilizate anterior pentru a controla dispozitive. Cele mai multe microcontrolere programabile care sunt folosite astăzi sunt folosite în sisteme complicate, în produse de consum sau utilaje, inclusiv telefoane, periferice, automobile și aparate de uz casnic, care necesită un nivel de cunoștințe ridicate. În timp ce alte aplicații au cerințe de bază, complexitate software redusă, ideale pentru studentul pasionat de electronică care dorește să înțeleagă mai bine principiile de funcționare a microcontrolerelor. Un astfel de exemplu este măsurarea temperaturii și a umidității cu ajutorul senzorilor, în care constă și această lucrare de licență.

Lucrarea de licență cuprinde două părți: prima parte este una teoretică în care sunt prezentate resursele microcontrolerului INTEL 8051 și generalități ale senzorilor, iar a doua parte constă în prezentarea părții practice.

În final am realizat un circuit care măsoară temperatura și umiditatea, iar datele colectate sunt transmise microcontrolerului care le afișează pe calculator.

Capitolul 1. Microcontrolere

Microcontrolere și Microprocesoare

Un microcontroler este în esență o configurație minimală de sistem de calcul, capabil să execute la o viteză foarte mare instrucțiunile unui program stocat în memorie; acest program este o secvență logică de operații ce poate implementa algoritmii necesari pentru controlul proceselor.

Microcontrolerul diferă de un microprocesor în multe feluri. În primul rând si cel mai important este funcționalitatea sa. Pentru a fi folosit, unui microprocesor trebuie să i se adauge alte componente ca memorie, sau componente pentru primirea și trimiterea de date. Pe scurt, aceasta înseamnă că microprocesorul este inima computerului. Pe de altă parte, microcontrolerul este proiectat să fie toate acestea într-unul singur. Nu sunt necesare alte componente externe pentru aplicarea sa pentru ca toate perifericele necesare sunt deja incluse în el.

Figura 1.1 Structura bloc a unui microcontroler

Elementele componente a unui microcontroler sunt următoarele:

UCP – microprocesorul (unitatea centrală de prelucrare)

Memoria – formată din:

– MP – memoria program. Este o memorie nevolatilă și poate fi de tipul ROM, PROM, EPROM, EEPROM. Conținutul acestei memorii nu se pierde în urma întreruperii alimentării.

– MD – memoria de date. Este o memorie volatilă și poate fi de tipul SRAM, RAM. Conținutul acestei memorii nu se pierde în urma întreruperii alimentării.

CP – circuite periferice. Principalele circuite periferice de uz general sunt: PP – porturi paralele, PS – porturi serie, PN – porturi cu numărătoare.

Circuite auxiliare:

– CB – circuitele buffer pentru busuri.

– OSC – oscilatorul de tact.

– CR – circuitul de reset – inițializare.

– CA – circuitul de alimentare cu tensiune continuă.

BD – busul de date, bidirecțional.

BA – busul de adresă, unidirectional.

BC – busul de comandă.

Microprocesorul se poate defini ca fiind un circuit logic programabil de către utilizator, într-o singură capsulă și cu funcție de procesor de uz general.

Figura 1.2 Arhitectura unui microprocessor

Microprocesorul este organizat in jurul MI –magistralei interne și conține:

UAL – unitatea aritmetică și logică (AT – acumulator temporar, RT – registru temporar).

REG – registrele (R0, R1 … – registre generale, A-acumulator, PSW – registru indicator de condiții, PC – registru numărător de program, SP – indicator de stivă).

RI – registrul de instrucțiuni.

DEC – decodificatorul de instrucțiuni.

UCC – unitatea de comandă și control.

TA, TD, TC – tampoanele de adrese, date și comenzi pentru interfațarea busurilor.

Arhitectura microcontrolerului Intel 8051

Intel 8051 este un microcontroler de 8 biți apărut în anul 1981, destinat aplicațiilor de comandă și control pentru diferite procese utilizator. Este realizat în tehnologie HMOS sau CHMOS și conține o memorie RAM de 128 de octeți, 4 kocteți de memorie ROM, două timere, un port serial, patru porturi de 8 biți, toate într-un singur integrat. În continuare este prezentată arhitectura standard a microcontrolerului 8051.

.

Figura 1.3 Arhitectura internă Intel 8051

Microcontrolerul 8051 are în structura sa:

UCP – unitatea central de prelucrare alcătuit din:

– RI – registru de instrucțiuni.

– DEC – decodificatorul de intrucțiuni.

– UCC – unitatea de comandă și control.

– UAL – unitatea aritmetică și logică.

– SFR – spațiul de memorie pentru registrele cu funcții speciale.

– PC – numărătorul de program.

OSC – oscilatorul de tact

Memoria internă alcătuită din:

– MP – memoria program de tipul PROM sau EPROM de 4 kocteți.

– MD – memoria de date de tipul RAM de 128 octeți.

CB – controlerul de bus.

CI – controlerul de întreruperi admite întreruperi de la 5 surse:

– de la portul serial (dacă s-a transmis sau recepționat un caracter).

– de la timere (când s-a înregistrat o depășire).

– de la 2 pini de intrare și .

PP – porturi paralele de intrare/ ieșire de 8 biți în număr de 4, adresate la nivel de octet și de bit.

PS – portul serial pentru transmiterea și recepția asincronă a datelor.

PN – portul de cu două numărătoare de 16 biți, fiecare poate fi programat separat. Pot fi utilizate pentru a măsura intervale de timp, pentru a determina lungimea unor impulsuri, ca numărătoare.

Configurația pinilor pentru microcontrolerul Intel 8051

Figura 1.4 Configurația pinilor Intel 8051

Vcc – tensiunea de alimentare, +5V.

Vss – masă.

PORT 0 – este un port pe 8 biți bidirecțional cu drena în gol. Este port de date și adrese (octetul cel mai puțin semnificativ) pentru memoria externă.

PORT 1 – este un port pe 8 biți bidirecțional.

PORT 2 – este un port de 8 biți bidirecțional. În timpul programării și testării EPROM-ului la portul 2 se stabilește octetul cel mai semnificativ de adresă. Pentru adresarea memoriei externe pe 16 biți portul 2 generează partea mai semnificativă a octetului de adresă.

PORT 3 – este un port de 8 biți bidirecțional. Pinii portului 3 au semnificație alternativă în tabelul 1.1.

Tabelul 1.1 Semnificația dublă a pinilor de la PORT 3

RST – este o intrare de RESET. Dacă semnalul de intrare rămâne în HIGH pe perioada a doi cicli mașină în timp ce oscilatorul funcționează, are loc inițializarea MC.

ALE – (Address Latch Enable) validează octetul cel mai puțin semnificativ de adresă în timpul accesului la memoria externă (PORT0).

– (Program Store Enable) validează citirea programelor din memoria program externă. Nu seactivează la citirea datelor din memoria externă de date.

– (External Acces Enable) validează în stare HIGH memoria program internă, iar în stare LOW validează memoria program externă.

XTAL1, XTAL2 – se conectează cristalul de cuarț sau un oscilator extern.

Memoria program

Memoria program internă sau externă este o memorie nevolatilă, iar adresarea ei se face cu adrese de 16 biți. Memoria program conține programe care sunt executate de microprocesor sau tabele de date care au o structură fixă. Structura memoriei program este prezentată în figura 1.5.

Dacă pinul este ținut din exterior în starea logică 1, primele locații de memorie 0000H – 0FFFH sunt accesate din memoria internă a microcontrolerului restul (1000H – FFFFH) fiind accesate din memoria externă cu ajutorul semnalului .

Dacă pinul este ținut din exterior în starea logică 0, toate locațiile de memorie (0000H – FFFFH) sunt accesate din memoria externă prin intermediu semnalui .

Figura 1.5 Structura memoriei program

1.5 Memoria de date

Memoria internă este mapată în spatiul de adresare 00H – FFH. În zona 80H – FFH sunt registrele speciale (SFR) care sunt adresabile direct. Zona 00H – 7Fh poate fi adresată direct sau indirect. Memoria externă se afla în adresele 0000H – FFFFH. Validarea folosirii memoriei de date externe se realizează cu semnalele și . Aceste semnale se folosesc și pentru selecția datelor din portul 0, unde datele sunt multiplexate cu adresele. Adresele sunt validate cu semnalul ALE. Informația poate fi accesată cu adresare pe 8 biți pentru memoria de date internă și pe 16 biți pentru memoria de date externă. Structura memoriei de date interne este prezentată în figura 1.6.

Figura 1.6 Structura MD interne

Memoria internă de date este împărțită în mai multe blocuri:

Adresele 00H – 1FH pentru cele patru bancuri de câte 8 registre generale (R0 – R7); dintre cele patru bancuri este selectat întotdeauna numai un banc de register generale cu ajutorul a doi indicatori RS1 și RS0 din registrul PSW; registrele generale sunt locații de memorie de opt biți, volatile și manevrabile de utilizator.

Adresele 20H – 2FH sunt locații adresabile la nivel de bit și octet.

Adresele 30H – 7FH sunt 80 de locații adresabile numai la nivel de octet și sunt la dispoziția utilizatorului.

Adresele 80H – FFH sunt locații adresabile direct pentru registrele cu funcții special SFR.

1.6 Spațiul registrelor cu funcții speciale

În memoria internă, în zona de adrese 80H÷FFH, este definită o arie de regiștri cu funcții speciale (SFR – Special Function Registers), a cărui organizare este prezentată în figura 1.7. O parte din adrese sunt rezervate pentru dezvoltări ulterioare. Unele dintre registre permit accesarea pe bit, iar altele doar pe octet. În cele ce urmează adresele registrelor SFR se consideră exprimate în hexazecimal.

Figura 1.7 Dispunerea registrelor cu funcții speciale

Semnificația registrelor cu funcții special este prezentată în paragrafele următoare.

Registrul acumulator A are adresa E0H și este unul dintre cele mai importante registre, utilizat în cele mai multe intrucțiuni de transfer a datelor și în toate toate intrucțiunile aritmetice și logice cu doi operanzi când unul din operanzi este în accumulator, iar rezultatul operație este depus tot în accumulator. Accesarea memoriei de date externe pentru citirea sau pentru scrierea unei date se poate realize numai prin intermediu registrului acumulator.

Registrul B are adresa F0H și se utilizează în timpul operațiilor de înmulțire MUL AB și împărțire DIV AB. Pentru aceste instrucțiuni unul dintre operanzi și o parte din rezultat este depus în acest registru.

Registrul cu indicatori de condiție PSW (Program Status Word), cu structura prezentată în figura 1.8 are adresa D0H și conține indicatorii de condiție sau flaguri. Semnificația indicatorilor din PSW este următoarea:

Indicatorul de transport C (PSW.7) este bitul auxiliar folosit pentru toate instrucțiunile cu operații logice și de deplasate. În starea setat indică un transport din bitul 7 în bitul 8 sau un împrumut din bitul 8 în bitul 7 în urma executării unei instrucțiuni de adunare, respectiv de scădere.

Indicatorul de transport auxiliar AC (PSW.6) este utilizat pentru ajustarea zecimală în situațiile în care operanzii sunt exprimate în format BCD. În starea setat indică un transport din bitul 3 în bitul 4 după executarea unei instrucțiuni de adunare sau un împrumut din bitul 4 în bitul 3 după executarea unei intrucțiuni de scădere.

Indicatorul FO (PSW.5) este la dispoziția utilizatorului pentru diverse scopuri.

Indicatorii RS1 și RS0 (PSW.4 și PSW.3) sunt doi indicatori folosiți pentru selectarea unui banc de 8 registre generale din cele 4 bancuri ale microcontrolerului, ca în tabelul 1.2 .

Tabelul 1.2 Selectarea unui banc de register generale

Indicatorul de depășire OV (PSW.2) apare atunci când rezultatul unei operații aritmetice este mai mare decât 255 și nu pot fi stocate într-un registru. Condiție de depășire determină bitul OV să fie setat (1). În caz contrar, acesta va fi șters (0). În cazul operațiilor aritmetice cu semn, cei puțin semnificativi 7 biți sunt destinați valorii numerice, iar bitul cel mai semnificativ este destinat semnului( 0 – semn pozitiv; 1 – semn negativ).

Indicatorul de paritate P (PSW.0) în starea setat indică un număr impar de biți 1 sau 0 din registrul acumulator.

Registrul indicator de stivă (SP) care are adresa 81H și este de 8 biți, conține în permanență adresa vârfului stivei. Stiva este o zonă de memorie de tip LIFO capabilă să rețină istoria unei succesiuni de evenimente. Pentru microcontrolerul INTEl 8051 stiva poate fi realizată numai în memoria internă de date și este crescătoare. În urma resetării microcontrolerului registrul SP este inițializat cu 07H, dar prin program SP poate fi inițializat cu orice valoare numerică din gama de valori posibile.

Registrul indicator de date DPTR este format din doi registri separați: DPH și DPL. Și pentru acest motiv poate fi utilizat ca un registru de 16 biți sau ca doi regiștri independenți de 8 biți. Cei 16 biți sunt folosiți în primul rând pentru adresarea memoriei, stocarea datelor și intermedierea rezultatelor.

` Registrele pentru cele 4 porturi paralele: P3 cu adresa B0H, P2 cu adresa A0H, P1 cu adresa 90H, P0 cu adresa 80H .

Registrele TL0 cu adresa 8AH, TL1 cu adresa 8BH, TH0 cu adresa 8CH, TH1 cu adresa 8DH sunt folosite de cele 2 numărătoare de 16 biți.

Registrul TCON cu adresa 88H și SCON cu adresa 98H, sunt folosite pentru cererile de întrerupere externe sau interne.

Registrul IP cu adresa B8H este destinat alocării de priorități pentru întreruperi.

Registrul IE cu adresa A8H este utilizat validării întreruperilor.

Registrul SCON cu adresa 98H este folosit pentru interfața serială.

Registrul TMOD cu adresa selectează modul de lucru al celor două timere T0 și T1.

Registrul PCON cu adresa 87H este asociat modului de lucru consum redus.

Registrul SBUF cu adresa 99H este utilizat la transmisia/recepția datelor interfeței seriale.

1.7 Oscilatorul de tact

Toate microcontrolerele familiei INTEL 8051 au un oscilator încorporat care poate fi utilizat ca generator de tact pentru unitatea centrală de prelucrare. Pentru utilizarea oscilatorului intern se conectează între XTAL1 și XTAL2 un cristal de cuarț cu frecvența maximă de 12 MHz și doi condensatori de 30 pF la masă ca în figura 1.9.

Figura 1.9 Conectarea cristalului de cuarț la intrările XTAL1 și XTAL2

Generatorul intern poate fi condus și de semnale de tact externe obținute de la un oscilator extern. În tehnologia HMOS (varianta 8051) semnalul de la XTAL2 are rol conducător a generatorului de tact intern. In tehnologia HCMOS (varianta 80C51) semnalul de la XTAL1 are rolul conducator a generatorului de tact intern. Rezulta astfel variantele de conectare din figura 1.10.

Figura 1.10 Conectarea semnalelor de tact externe

Funcționarea sincronizată a microcontrolerului se desfășoară în faze, stări și cicluri mașină.O fază a microcontrolerului corespunde duratei T = 1/ R a perioadei de tact. Două faze succesive notate P1, P2 definesc o stare a microcontrolerului. Un ciclu mașină se desfășoară pe durata a 12 perioade T adică 6 stări, ca în figura 1.11. Cele 12 perioade ale unui ciclu mașină sunt notate S1P1, S1P2, S2P1, S2P2, S3P1, S3P2, S4P1, S4P2, S5P1, S5P2, S6P1, S6P2.

Microcontrolerul 8051 execută o instrucțiune în unul sau două cicluri mașină cu excepția instrucțiunilor de multiplicare și divizare ce se realizează în 4 cicli mașină.

Execuția unei instrucțiuni începe în faza S1P1 a unui ciclu mașină prin extragerea din memoria program a primului octet al instrucțiunii și transferul acestuia în registrul de instrucțiuni al microcontrolerului în faza S1P2. În cazul unei instrucțiuni cu codul mașină de doi ocțeti, al doilea octet se extrage din memoria program în starea S4 a aceluiași ciclu mașină. Rezultă că intr-un ciclu mașină se pot efectua două extrageri de coduri instrucțiune. Dacă este nevoie și de cel de-al treilea octet, acesta se va extrage în faza S1P2 a celui de-al doilea ciclu mașină. În stările în care se face extragere de cod instrucțiunea are loc și incrementarea numărătorului de program PC. Execuția unei instrucțiuni se termină în faza S6P2 a ciclului mașină corespunzător.

Pentru a calcula timpul de execuție a unei instrucțiuni avem nevoie de numărul de cicli mașină a instrucțiunii respective și de frecvența cristalului de cuarț și se poate calcula prin formula următoare:

1.8 Inițializarea microcontrolerului

Inițializarea microcontrolerului este realizată cu activarea semnalului RST. Pentru a reseta microcontrolerul, acest semnal ar trebui să fie activ cel puțin douăzeci și patru perioade de tact. La alimentare, semnalul RST ar trebui să fie activ cel puțin o milisecundă după ce sursa de alimentare se stabilizează, pentru a permite oscilatorului să se stabilizeze. La primirea semnalului de RST, microcontrolerul încetează executarea instruțiunilor pe durata impulsului. Apoi inițiază o secvență care necesită aproximativ douăsprezece perioade de tact pentru a se executa înainte ca semnalul de comandă ALE să fie generat și funcționarea normală începe cu instrucțiunea de la locația absolută 0000H. Această secvență se termină cu inițializarea registrelor interne cu următoarele valori:

PC 0000H; după inițializare se execută instrucțiunile care se află în memoria program de la adresa 0000H.

A, B, PSW 00H; registrul accumulator A, registrul B și registrul cu indicatorii de condiții PSW se inițializează cu 0.

SP 07H; indicatorul de stivă este inițializat cu adresa 07H din memoria de date internă a microcontrolerului; stiva este definită în memoria internă de la adresa 08H.

DPTR 0000H; registrul care adresează memoria externă se inițializează cu zero.

P0, P1, P2, P3 FFH; porturile paralele sunt încărcate cu FFH pentru a putea fi utilizate după inițializare ca porturi paralele de intrare.

TMOD, TCON, TH0, TL0, TH1, TL1 00H; numărătoarele T0 și T1 sunt inițializate.

TCON2, TH2, TL2, RCAP2H, RCAP2L 00H; numărătorul T2 este inițializat.

SCON 00H; interfața serială este inițializată.

SBUF XXXXXXXXB; este încărcat cu o valoare binară nedeterminată.

IE 0XX00000B; dezactivarea surselor de întrerupere.

IP XXX00000B; stabilirea nivelului inferior de prioritate pentru toate sursele de întrerupere interne și externe.

PCON 0XXXXXXXB; pentru microcontrolerele realizare în tehnologie NMOS.

PCON 0XXX0000B; pentru microcontrolerele realizare în tehnologie CMOS.

ALE, 1; semnalele de comandă sunt setate pentru a putea fi utilizate ca intrări.

Memoria de date internă și memoria externă de date nu este afectată de inițializarea microcontrolerului. Figura de mai jos ilustrează unul dintre cele mai simple circuite de inițializare a microcontrolerului INTEL 8051.

Figura 1.12 Structura hard minimă pentru inițializarea microcontrolerului INTEL 8051

Funcțioanarea este simplă: la conectarea sursei de alimentare de tensiune continuă, condensator electric începe să se încarce pentru mai multe milisecunde printr-un rezistor conectat la masă. Semnalul RST este pe nivel HIGH în timpul acestui proces. Când condensatorul este încărcat, tensiunea de alimentare este deja stabilă și pinul RST rămâne conectat la masă, asigurând astfel funcționarea normală a microcontrolerului. Apăsând butonul de resetare determină condensatorul să se descarce temporar și microcontrolerul este resetat. Când butonul a fost eliberat, întregul proces este repetat.

1.9 Conectarea memoriei externe

Conectarea cu memoria program ROM externă se realizează astfel: semnalul de selecție a memoriei ROM externă este care este activat doar în cazul conectării microcontrolerului la memoria externă. Pe durata aducerii instrucțiunilor din memoria program externă, porturile P0 și P2 sunt dedicate realizării magistralelor de adrese și de date. Portul P0 implementează o magistrală de date și adrese multiplexată. P0 transmite partea mai puțin semnificativă a numărătorului de program PC (PCL), furnizând octetul mai puțin semnificativ al adresei instrucțiunii din memoria program externă. După transferul adresei, P0 este configurat ca magistrală de date. În momentul în care PCL este valid la ieșirea portului P0, semnalul ALE (Address Low Enable) transmite comanda de încărcare a PCL în circuitul bistabil de tip D (basculant bistabil) care face demultiplexarea magistralei de la portul P0. Simultan se generează la ieșirea portului P2 PCH astfel încât la ieșirea circuitului basculant bistabil și portului P0 se găsește adresa instrucțiunii care urmează a fi extrasă din memoria program externă. Apoi se generează semnalul de strobe (selectare) pentru memoria externă care comandă citirea instrucțiunii, transferată pe liniile portului P0.

Figura 1.13 Conectarea hard a memoriei program externe

ALE – "Address Latch Enable" – strob utilizat pentru memorarea informației de adresă emise prin portul P0 într-un latch extern.

– "Output Enable" – semnal utilizat pentru activarea ieșirilor circuitelor de memorie EPROM.

Conectarea cu memoria de date RAM externă presupune folosirea portului P0 ca magistrala de date și adrese multiplexată și două variante de generare a adresei. Prima variantă implică o adresă formată dintr-un octet generat la ieșirea portului P0 și încărcat sub comanda semnalului ALE în circuitul basculant bistabil de demultiplexare, la care se adaugă 3 biți de selecție a paginii de memorie externă generați prin portul P2. În acest fel se pot adresa 8 pagini de dimensiune 256 octeți. A doua variantă presupune generarea unei adrese pe 16 biți cu partea mai puțin semnificativă pe liniile portului P0 (la ieșirea circuitului basculant bistabil de demultiplexare) și partea mai semnificativă pe liniile portului P2. În ambele cazuri semnalele de comandă citire/scriere sunt semnalele de la microcontroler, iar transferul datei se face, după stabilirea adresei, pe liniile portului P0 care devine port de transfer de date.

Figura 1.14 Conectarea hard a memoriei de date externe

– "Write Enable" – semnal utilizat pentru validarea înscrierii informațiilor prezente la intrările de date în memoria RAM.

1.10 Porturile paralele de intrare/ieșire

Microcontrolerul 8051 are patru porturi paralele bidirecționale de câte 8 biți fiecare pentru date care pot fi utilizate ca intrări sau ieșiri la nivel de octet sau de bit. Fiecare port conține pentru fiecare linie de ieșire sau de intrare câte un circuit basculant bistabil de tip D, două buffere cu trei stări, un buffer al portului și un etaj de amplificare care are o structură diferită de la port la port datorită funcțiilor auxiliare asociate.

Porturilor P0 și P2 se utilizează pentru accesul memoriilor externe. Portul P1 este utilizat numai ca port de intrare sau de ieșire. Iar liniile portului P3 are o serie de utilizări auxiliare.

1.10.1 Structura portului P1

Portul P1 nu are funcții duale. Ieșirea bistabilului este conectată direct la poarta tranzistorului T cu o rezistență de sarcină cu rol de impedanță ridicată.

Figura 1.15 Structura unei linii din cele opt ale portului P1

Când P1 este utilizat ca port de intrare, bistabilul este este încărcat cu valoarea logică 1, ieșirea bistabilui este 0 logic, iar tranzistorul este blocat. Pinul de intrare este la un potențial apropiat de +5V datorită rezistenței de sarcină. Un circuit extern poate trece peste impedanța ridicată modificând pinul pe nivel LOW ca intrare pentru o valoare logică 0 sau lasând intrare pe nivel HIGH pentru o valoare logică 1.

Dacă P1 este folosit ca port de ieșire, bistabilele conțin valoarea 1 logic și pot controla intrarea unui circuit extern pe nivel HIGH prin intermediu impedanței ridicate. Dacă bistabilul este încărcat cu valoarea 0 logic, tranzistorul este activ, impedanța ridicată este anulată, iar pinul poate controla intrarea unui circuit extern pe nivel LOW.

Rezistența Rs este o rezistență de sarcină activă care are rolul de a mări viteza de comutare de la nivel logic 0 la nivel logic 1. În tehnologia HMOS ale 8051, rezistența de sarcină activă Rs are în structura sa tranzistorul T2 în modul sărac (depletion-mode) cu poarta conectată la sursă. Acest transistor generează în permanență un curent de 0.25 mA. În paralel cu tranzistorul T2 este tranzistorul T2 în modul bogat(enhancement-mode), care este activ în timpul stării S1 de fiecare dată când bitul de port face o trecere din nivel logic 0 în nivel logic 1. În timpul acestui interval, dacă pinul portului este conectat la masă, acest transistor va permite pinul portului să genereze un current adițional de 30 de mA, pe dutara a două perioade de tact.

Figura 1.16 Structura rezistenței active

1.10.2 Structura portului P3

Portul P3 este un port de intrare/ieșire similar cu P1, având în plus unele funcții auxiliare. Funcțiile de intrare și de ieșire pot fi programate sub controlul bistabilelor portului P3 sau sub controlul multiplelor registre cu funcții speciale.

Logica de comutație se reduce la o poartă ȘI-NU care asigură funcțiile de ieșire si un buffer A3 pentru asigurarea funcțiilor de intrare. Etajul de ieșire este alcătuit dintr-un transistor și rezistența Rs de sarcină activă. Pentru realizarea unei funcții auxiliare este necesar ca ieșirea Q a bistabilului corespunzător să fie în 1 logic.

Figura 1.17 Structura unei linii din cele opt ale portului P3

Funcțiile auxiliare ale portului P3 sunt:

P3.0 = RxD; intrare pentru recepționarea serie a datelor în modul asincron sau ieșire pentru transmiterea serie a datelor în modul asincron.

P3.1 = TxD; ieșire pentru transmiterea serie a datelor în modul asincron sau ieșirea pentru semnalul de tact în modul sincron.

P3.2 = ; intrare pentru o cerere de întrerupere externă sau intrare de control a numărătorului T0.

P3.3 = ; intrare pentru o cerere de întrerupere externă sau intrare de control a numărătorului T1.

P3.4 = T0; intrare în contorul T0.

P3.5 = T1; intrare în contorul T1.

P3.6=; ieșire pentru semnalul de comandă care realizează scrierea în memoria de date externă.

P3.7 = ; ieșire pentru semnalul de comandă care realizează citirea din memoria de date externă.

1.10.3 Structura portului P2

P2 acționează în mod similar cu P0 când este utilizată memoria externă. Pinii de acestui port ocupa adresele destinate pentru memoria externă. De data aceasta este vorba despre octetul de adresă mai mare cu adresele A8-A15, atunci când = 0. Din acest motiv, este necesară o logică de comutație și realizarea bidirecțională a ieșirii. Când nu se adaugă nici o memorie, acest port poate fi folosit ca un port de intrare / ieșire cu caracteristici similare ca portul P1.

În acest caz, este necesar un comutator K cu scopul de a conecta la transistor printr-un circuit inversor, ieșirea Q a bistabilului bitul de adresă.

Figura 1.18 Structura unei linii din cele opt ale portului P2

Semnalul de comandă al comutatorului este furnizat de o logică internă care este condiționată de starea pinului a microcontrolerului și de tipul instrucțiunii care se execută. Când P2 este utilizat ca parte HIGH a magistralei de adresă, atunci portul P2 este deconectat de la etajul de ieșire și rămâne nemodificat. Etajul de ieșire este alcătuit din transistor și rezistența de sarcină active Rs controlată de ieșirea porții logice Și.

1.10.4 Structura portului P0

Portul P0 poate fi folosit ca intrare, ieșire, ca o adresă bidirecțională de parte low și ca un bus de date pentru memoria externă. Când P0 este folosit ca port de intrare, bistabilele sunt încărcate cu 1 logic, blocând ambele tranzistoare conectând pinul la o impedanță ridicată.

Când P0 este folosit ca port de ieșire, bistabilele sunt încărcate cu 0 logic vor activa tranzistorul de jos, conectând pinul la masă. Toate bistabilele care sunt programate să fie încărcate cu 1 logic sunt lăsate “în aer” astfel o rezistență externă trebuie să furnizeze un nivel logic HIGH când portul P0 este folosit ca ieșire.

Figura 1.19 Structura unei linii din cele opt ale portului P0

Când portul P0 este folosit ca bus de adresă pentru memoria externă, semnalul de comandă conectează liniile de adresă la porțile tranzistoarelor. Un 1 logic pe un bit de adresă va active tranzistorul de sus și va bloca tranzistorul de jos asigurând un nivel logic HIGH la pin. Când bitul de adresă este un 0 logic, tranzistorul de jos este active și tranzistorul de sus este blocat pentru a furniza un nivel logic LOW la pin. După ce adresa a fost formată și fixată în circuite externe de pulsul ALE, busul de adresă devine busul de date. Acum portul P0 citește date din memoria externă și trebuie să fie configurată ca o intrare, deci semnalul de comandă încarcă toate bistabilele portului P0 cu valoarea logică 1.

1.15 Interfața serială

Portul serial este full duplex, ceea ce înseamnă că poate transmite și recepționa simultan date. De asemenea, poate recepționa date tampon, ceea ce înseamnă că poate începe recepționarea unui al doilea octet, înainte de un octet recepționat anterior să fie citit de la registru. (Cu toate acestea, în cazul în care primul octet nu a fost citit încă în timp ce recepționarea celui de-al doilea octet este completă, unul din octeți va fi pierdut.) Registrele portului serial de recepționare și transmitere date sunt accesate în registrul de funcții speciale SBUF. Scrierea la SBUF încarcă registrul de transmisie, și citirea SBUF accesează un registru de recepționare separat fizic.

Interfața serială se poate programa să lucreze în unul din cele patru moduri:

Modul 0: Interfața serială este utilizată ca un registru de deplasare de 8 biți. Intrarea și ieșirea de date este la pinul RxD, iar la pinul TxD este furnizată frecvența fixă a semnalului de deplasare serie care este obținută prin divizarea cu 12 a frecvenței de tact de la oscilatorul intern al microcontrolerului.

Modul 1: Interfața serială este utilizată ca un circuit de recepționare și transmitere universal asincronă a datelor (UART). Un character de 8 biți este asamblat într-un format alcătuit dintr-un bit de START, cei 8 biți ai caracterului și un bit de STOP. Viteza de comunicație este variabilă și furnizată de contorul T1 sau T2.

Modul 2: Interfața serial este configurată ca un circuit de recepționare și transmitere universal asincronă a datelor care are câte 9 biți de date într-un character, al nouălea bit de date la transmisie este TB8 din registrul SCON, iar după recepționarea bitului nouă de date, acesta este încărcat în RB8 din registrul SCON. Viteza de comunicație poate avea numai două valori care se obțin prin divizarea cu 32 sau 64 a frecvenței de tact de la oscilatorul intern al microcontrolerului.

Modul 3: Este identic cu modul 2; în acest caz, interfața serial este un circuit de recepționare și transmisie universală a datelor de câte nouă biți fiecare, iar viteza de comunicație este variabilă și furnizată de contorul T1 sau T2.

Transmiterea și recepționarea datelor de 8 biți se realizează prin registrul SBUF de la adresa 99H din SFR.

Structura registrelor de control al interfeței seriale este redată în tabelul 1.3, registrul SCON are adresa 98H și este adresat la nivel de bit și octet.

Tabelul 1.3 Structura registrului SCON

SM0, SM1 – indicatori care stabilesc modul de lucru al interfeței seriale:

Tabelul 1.4 Modurile de lucru ale interfeței seriale

SM2 – Activează funcția de comunicare multiprocesor în modurile 2 și 3. În Modul 2 sau 3, dacă SM2 este setat la 1 logic, atunci RI nu va fi activat dacă al nouălea bitul de date recepționat (RB8) este 0 logic. În modul 1, dacă SM2 = 1 atunci RI nu va fi activat în cazul în care un bit de stop valabil nu a fost recepționat. În modul 0, SM2 ar trebui să fie 0 logic.

REN – Activează recepția serială. La valoarea 1 logic permite recepția caracterelor, iar la valoarea 0 logic dezactivează recepționarea caracterelor.

TB8 – Indicator pentru bitul nouă de date, care va fi transmis în modurile 2 și 3. Setat sau dezactivat prin program după caz.

RB8 – În modurile 2 și 3, este bitul de date nouă, care a fost recepționat. În Modul 1, dacă SM2 = 0, atunci RB8 este bitul de stop care a fost recepționat. În modul 0, RB8 nu este utilizat.

TI – Indicator de transmitere a datelor, acest indicator este setat după ce se transmite bitul opt de date în modul 0 sau când începe transmiterea unui bit de STOP în celelalte moduri.

RI – Indicator de recepționare a datelor, acest indicator este setat după ce se recepționează bitul opt de date în modul 0 sau când începe recepționarea bitului de STOP în celelalte moduri.

Capitolul 2. Senzori

2.1 Generalități

Senzorul este elementul sensibil cu rolul de a detecta mărimea de măsurat, aplicată la intrarea sa, și de a o converti într-o altă mărime fizică, de aceeași natură sau de natură diferită.

Ansamblul format din elementul sensibil (senzorul) și elementele de adaptare și prelucrare (condiționare și tratare ale semnalului) se numește traductor. Traductorul poate avea în structura sa mai mulți senzori, capabili să efectueze conversia mărimii de măsurat într-o mărime electrică, indirect, prin mai multe etape intermediare.

Senzorii și traductoarele se pot clasifica după mai multe criterii:

1. După natura mărimii de intrare se disting:

a. senzori de deplasare

b. senzori de temperatură

c. senzori de radiații ionizante

2. După natura mărimii de ieșire se disting:

a. senzori rezistivi

b. senzori inductivi

c. senzori capacitive

3. După modul de obținere a energiei necesare formării semnalului metrologic se disting:

a. senzori activi sau senzori generatori (energetici)

b. senzori pasivi sau senzori parametrici (modulatori)

4. După modul de variație a mărimii de ieșire se disting:

a. senzori analogici

b. senzori digitali

– Senzori proximitate

– Senzori de siguranță

– Senzori pentru sisteme de acționare

– Senzori fotoelectrici

– Senzori de nivel

– Senzori de debit

– Senzori de presiune

– Senzori de vacuum

– Senzori de temperatură

– Sisteme de diagnoză

Traductoarele cunosc o largă răspândire în automatizările industriale, constituind un element important pentru numeroase procese tehnologice. Traductorul realizează convertirea unei mărimi fizice – de obicei neelectrice – în mărime de altă natură fizică – de obicei electrică – proporțională cu prima sau dependentă de aceasta, în scopul utilizării într-un sistem de automatizare. Structura generală a traductoarelor este foarte diferită de la un tip de traductor la altul, cuprinzând unul, două, sau mai multe convertoare conectate în serie.

Principalele caracteristici primare ale senzorilor sunt următoarele:

Funcția de transfer este caracteristica cea mai importantă a unui senzor. Reprezintă expresia relației dintre semnalul de intrare și semnalul de ieșire al senzorului.

Sensibilitatea este definită drept concentrația cea mai scăzută în specia urmărită, care conduce la apariția unui semnal care poate fi distins de semnalul obținut prin măsurători paralele în probele martor.

Selectivitatea unui traductor se referă la efectul interferențelor cauzate de ioni sau molecule, altele decât specia urmărită.

Stabilitatea semnalului în timp: această caracteristică primară se referă, în general, la modificarea performanțelor traductoarelor în timp din cauza unor diverși factori.

Timpul de răspuns este decalajul în timp dintre variația semnalului de intrare și variația corespunzătoare semnalului de ieșire a traductorului respectiv.

Precizia se definește ca toleranța cu care o mărime poate fi repetată (adică abilitatea dispozitivului de a da aceeși valoare de ieșire pentru aceeași valoare de intrare).

Rezoluția se definește ca minimul variației semnalului de ieșire, produs ca urmare a variației continue a unui semnal fizic de intrare.

Liniaritatea se definește ca măsura în care legătura dintre mărimea fizică de intrare și semnalul electric de ieșire poate fi exprimată printr-o funcție liniară.

Erori care apar în procesul de măsurare:

erorile sistematice sunt constante pentru un instrument dat si efectele lor pot fi înlăturate, valorile acestora se determină prin calibrare.

erorile aleatorii nu pot fi înlăturate dar pot fi reduse prin măsurări repetate.

2.2 Senzori de umiditate

Umiditatea se referă la vaporii de apă conținuți în aer. Măsurătorile pentru umiditate pot fi condiționate de o serie de termeni sau unități. Cei trei termeni folosiți de obicei sunt: umiditatea absolută, punctul de rouă și umiditatea relativă (RH).

Punctul de rouă este exprimat în sau °F, este temperatura și presiunea la care gazul începe să condenseze într-un lichid.

Umiditatea relativă (RH) se referă la raportul (exprimat în procente) a conținutului în umiditate din aer în comparație cu umiditatea saturată la aceeași temperatură și presiune.

Relațiile numerice de bază pentru exprimarea umidității sunt:

Umiditatea relativă RH[%]:

Umiditatea absolută U[g/]:

Relatia între umiditatea relativă și umiditatea absolută:

p [Pa] – presiunea reală a vaporilor de apă în aer

[Pa] – presiunea de saturație a vaporilor de apă în aer

– temperatura ambiantă

[Pa] – presiunea atmosferică

– umiditatea absolută de saturație

Valori numerice pentru și se dau in tabele psihrometrice funcție de temperatura ambiantă. Pentru măsurarea umidității (absolută sau relativă) in tehnică se folosesc diferiți senzori capabili să furnizeze la ieșire un semnal electric proporțional cu mărimea fizică U respectiv RH.

2.2.1 Senzori capacitivi de umiditate

Sunt utilizați pentru măsurarea umidității relative (RH). Aceștia constau dintr-un substrat pe care este depus un strat subțire de polimer sau oxid metalic între doi electrozi conductivi. Suprafața de detectare este acoperită cu un electrod de metal poros pentru a se proteja de contaminare și expunerea la condens. Substratul este de obicei din sticlă, ceramică, sau siliciu. Schimbarea incrementală în constanta dielectrică a unui senzor de umiditate capacitiv este aproape direct proporțional cu umiditatea relativă a mediului înconjurător. Modificarea capacității este de obicei 0,2-0,5 pF pentru o schimbare RH de 1%, în timp ce capacitatea bulk este cuprinsă între 100 și 500 pF la 50% RH la 25 ° C. Senzori capacitivi sunt caracterizați prin coeficient scăzut de temperatură, capacitatea de a funcționa la temperaturi ridicate (până la 200 °C), rezistenți la condensare, și o rezistență rezonabilă la vapori chimici. Timpul de reacție variază între 30 și 60 de secunde pentru o schimbare de pas RH de 63%.

Foto 2.1 Tipuri de senzori capacitivi de umiditate

Figura 2.1 Răspunsul aproape liniar al capacității în functie de umiditatea relativă

2.2.2 Senzori rezistivi de umiditate

Senzori de umiditate rezistivi măsoară modificarea impedanței electrice a unui mediu higroscopic cum ar fi un polimer conductor, sare, sau substrat tratat.

Foto 2.2 Tipuri de senzori rezistivi de umiditate

În condiții de excitare cu un semnal alternativ simetric de nivel redus (tipic 1Vac), impedanța senzorului variază după o lege invers logaritmică cu umiditatea relativă (Figura 2.2), având o excursie mare a valorilor: de la peste 10MΩ (la o umiditate de 10% RH) la mai puțin de 2kΩ (la 90% RH umiditate) cu o precizie de ±2%.

Figura 2.2 Răspunsul exponențial a senzorului rezistiv

Semnalul de excitare (sinus sau dreptunghi) are o frecvență în domeniul 60Hz – 10kHz (tipic 1kHz), fără componentă de curent continuu. Comportarea senzorilor rezistivi este influențată de temperatura ambiantă, necesitând un factor de corecție. Senzorii rezistivi au o bună stabilitate în timp și sunt ieftini.

2.3 Senzori de temperatură

Senzori de temperatură măsoară cantitatea de energie termică, care este generată de un obiect sau sistem, ceea ce ne permite să detectăm orice schimbare fizică a temperaturii produsă la o ieșire analogică sau digitală.

Un senzor de temperatură este format din două tipuri fizice de bază:

Senzori de temperatură de contact – Acest tip de senzor de temperatură trebuie să fie în contact fizic cu obiectul de măsurat și să folosească conducția pentru a monitoriza schimbările de temperatură. Ele pot fi folosite pentru a detecta solide, lichide sau gaze într-un interval larg de temperaturi.

Senzori de temperatură fără-contact – Acest tip de senzor de temperatură folosește convecția și radiația pentru a monitoriza schimbările de temperatură. Ele pot fi folosite pentru a detecta lichide și gaze care emit energie radiantă în timp ce căldură se ridică și răcirea apare în partea de jos în curenți de convecție sau detectează energia radiantă ce se transmite de la un obiect sub formă de radiație infraroșu ( de la soare).

2.2.3 Termostatul

Termostatul este un senzor de temperatură de tip contact electromecanic sau comutator, care în esență constă din două metale diferite, cum ar fi nichel, cupru, tungsten sau aluminiu, care sunt legate împreună formând o bandă bi-metalică. Ratele diferite de dilatare liniară a celor două metale opuse produc o mișcare mecanică de încovoiere când banda este supusă la căldură.

Termostatul este format din două metale diferite termic lipite împreună. Când este rece contactele sunt închise și curent trece prin termostat. Atunci când acesta devine cald, un metal se extinde mai mult decât celălalt și banda bi-metalică se deplasează în sus (sau jos) care deschide contactele împiedicând trecerea curentul.

Foto 2.3 Termostatul deschis / închis

2.2.4 Termistorul

Termistorul este un alt tip de senzor de temperatură. Un termistor este un tip special de rezistor care își schimbă rezistența fizică atunci când sunt expuse la schimbările de temperatură. Termistori sunt, în general, realizați din materiale ceramice, cum ar fi oxizii de nichel, mangan sau cobalt acoperite în sticlă, care le face ușor de deteriorat. Principalele avantaje ale termistoarelor sunt: viteza lor de reacție la orice schimbare de temperatură, precizia și repetabilitatea.

Cele mai multe tipuri de termistori au o rezistență cu un coeficient de temperatură negativ (NTC), valoarea rezistenței scade cu creșterea temperaturii și unele care au un coeficient de temperatură pozitiv (PTC), în care valoarea rezistenței crește cu creșterea temperaturii.

Foto 2.4 Termistori NTC și PTC

Termistori sunt evaluați în funcție de valoarea rezistenței la temperatura camerei (de obicei, la 25 ° C) și de constanta de timp (timp pentru a reacționa la schimbările de temperatură). Ca și rezistorii, termistori sunt disponibili în funcție de valorile rezistenței la temperatura camerei, de la 10 MΩ până la câțiva ohmi, dar în măsurarea temperaturi sunt utilizate în general tipurile cu valori în kΩ.

Figura 2.3 Caracteristica termistorilor de tip NTC

2.2.5 Detectoare de temperatură rezistive (RTD)

Un alt tip de senzor de temperatură cu rezistență electrică este detectorul de temperatură rezistiv (RTD). Sunt senzori de temperatură de precizie realizați din metale conductoare de înaltă puritate, cum ar fi platina, cupru sau nichel și a căror rezistență electrică se modifică în funcție de temperatură, similară cu cea a termistorului. Aceste dispozitive au un strat subțire de pastă de platină depusă pe un substrat din ceramică albă.

Detectoare de temperatură rezistive au coeficienți de temperatură pozitivi (PTC), dar spre deosebire de termistor ieșirea lor este extrem de liniară, având măsurători foarte precise ale temperaturii.

Figura 2.4 Caracteristica detectoarelor de temperatură resistive

Capitolul 3. Lucrarea practică

3.1 Prezentarea senzorului de umiditate relativă SHT75

Senzorul SHT75 este un sensor de umiditate relativă și de temperatură complet calibrat cu ieșire digitală din familia Sensirion. Un element sensibil capacitiv polimeric pentru este utilizat pentru măsurarea umidității relative în timp ce temperatura este măsurată de un senzor de bandă de decalaj. Ambi senzori sunt cuplați la un convertor digital-analogic pe 14 biți și un circuit de interfață serială. Acest lucru duce la o calitate superioara a semnalului, un timp de răspuns rapid și insensibilitate la perturbații externe. Coeficienții de calibrare sunt programați în memoria OTP. Acești coeficienți sunt utilizați intern pentru calibrarea semnalelor de la senzori. Interfața serială pe 2 fire și reglementarea tensiunii interne permite o integrare usoara și rapida a sistemului. Dimensiunea sa mică și un consum redus de energie îl fac alegerea finală pentru chiar cele mai solicitante aplicații. Schema bloc a senzorului SHT75 este prezentată în figura 3.1.

Foto 3.1 Senzorul SHT75

Figura 3.1 Schema bloc SHT75

3.2 Performanțele senzorului SHT75

Umiditatea relativă

Temperatura

Figura 3.2 Toleranța maximă a umidității relative

Figura 3.3 Toleranța maximă a temperaturii

3.3 Descrierea pinilor

Pini de alimentare (VDD,GND) – Tensiunea de alimentare a senzorului SHT75 trebuie să fie în intervalul de 2,4 și 5,5 V, tensiunea de alimentare recomandată este de 3,3 V.

Intrare de ceas serială (SCK) – este folosită pentru a sincroniza comunicarea între un microcontroler și a senzorului SHT75.

Date seriale (DATA) – este un pin bidirecțional cu trei stări folosit pentru transferul de datelor de la microcontroler la senzor și invers. Pentru a trimite o comandă la senzor, pinul DATA este activ pe frontul crescător al ceasului serial (SCK) și trebuie să rămână stabil în timp ce pinul SCK este pe nivel HIGH. După frontul descrescător al SCK valoarea DATA poate fi modificată.

3.4 Comunicarea cu senzorul

.

Ca un prim pas senzorul este alimentat la tensiunea de alimentare VDD aleasă. Viteza de salt în timpul punerii în funcțiune nu va cădea sub 1V/ms. După punerea în fucțiune senzorul îi trebuie 11ms pentru a ajunge la starea de așteptare(sleep). Nu trebuie să fie trimise comenzi înainte de această dată.

3.5 Transmiterea unei comenzi

Pentru a iniția o transmisie, o secvență "Start transmisie" trebuie să fie emisă. Acesta constă în trecerea semnalului DATA pe nivel LOW în timp ce semnalul de ceas (SCK) este pe nivel HIGH, urmat de un puls pe nivel LOW al semnalului de ceas (SCK) și de frontul crescător al semnalui DATA în timp ce semnalul de ceas (SCK) este încă pe nivel HIGH. Comanda constă din trei biți de adresă (numai "000" este acceptată în prezent) și cinci biți de comandă.

Senzorul SHT75 indică recepționarea corectă a unei comenzi prin punerea pinului DATA pe nivel LOW (bittul de confimare ACK) dupa al 8-lea front de ceas descrescător. Linia DATA este eliberată(se duce în nivel HIGH) dupa al 9-lea front de ceas descrescător.

Figura 3.4 Secvența “Start transmisie”

Tabelul 3.4 Listă comenzi SHT75

3.6 Măsurarea umidității relative și a temperaturii

După emiterea unei comenzi de măsurare ( '00000101’ pentru umiditatea relativă, '00000011' pentru temperatură), microcontrolerul trebuie să aștepte finalizarea măsurători. Acest lucru durează aproximativ 20/80/320 ms pentru o măsurare 8/12/14biți. Timpul variază în funcție de viteza a oscilatorului intern și poate fi mai mică cu până la 30%. Pentru a semnala finalizarea unei măsurători, senzorul pune linia de date pe nivel LOW și intră în modul de așteptare(idle). Microcontrolerul trebuie să aștepte semnalul de date să fie gata înainte de resetarea semnalul de ceas (SCK) pentru citirea datelor. Datele de măsurare sunt stocate până la citire.

Două octeți de date de măsurare și un octet de CRC de control vor fi apoi transmiși. Microcontrolerul trebuie să recunoască fiecare octet punând linia DATA pe nivel LOW. Comunicarea se termină după bitul de confirmare(ACK) ale datelor CRC. Dacă CRC-8 de control nu este folosit de microcontrolerul, comunicarea se poate termina, după recepționare celor mai puțini semnificativi biți (LSB) ale datei de măsură prin menținerea bitului de confirmare (ACK) pe high.

3.7 Secvența de resetare

În cazul în care comunicarea cu senzorul este pierdută următoarea secvență de semnal va reseta interfața serială: în timp ce DATA rămâne pe nivel HIGH, se comută semnalul de ceas (SCK) de 9 sau de mai multe ori ca în figura 3.5. Acesta trebuie să fie urmată de o secvența "Start transmisie" care precede următoarea comandă. Această secvență resetează numai interfața, iar Registrul de Stare își păstrează conținutul.

Figura 3.5 Secvența de resetare

3.8 Registrul de stare

Unele dintre funcțiile avansate ale senzorului SHT75 cum ar fi selectarea rezoluției de măsurare, notificarea sfârșitului de baterie, utilizarea reîncărcării memoriei OTP sau utilizarea radiatorului pot fi activate prin trimiterea unei comenzi la Registrul de Stare. Următoarea secțiune oferă o scurtă prezentare generală a acestor caracteristici. După comanda Citire Registru de Stare sau Scriere Registru de Stare – a se vedea tabelul 3.5 – conținutul de 8 biți din Registrul de Stare poate fi citit sau scris.

Figura 3.6 Scriere Registru de Stare

Figura 3.7 Citire Registru de Stare

Figura 3.8 Exemplu de secvență de măsurare RH pentru valoarea "0000'0100"0011'0001"= 1,073 = 35,50% RH (fără compensare de temperatura).Timpi valizi ai semnalului DATA sunt dați și reprezentați în căsuțe pe linia DATA. Liniile DATA îngroșate sunt controlate de senzor în timp ce liniile simple sunt controlate de microcontroler.

Tabelul 3.5 Biții Registrului de Stare

Rezoluția de măsurare este prestabilită la 14 biți ( pentru temperatură) și 12 biți (pentru umiditate), dar poate fi redusă la 12 biți respective 8 biți. Acest lucru este util mai ales în aplicațiile de mare viteză sau de putere extrem de scăzută.

Funcția “Sfârșit de baterie“" detectează tensiuni VDD mai jos de 2.47 V. Precizia este de ± 0,05 V.

Radiatorul este un element de încălzire care poate fi adresat prin scrierea unei comenzi în registrul de stare. Radiatorul poate crește temperatura senzorului cu 5-10 ° C dincolo temperatura ambiantă. De exemplu, sistemul de încălzire poate fi de ajutor pentru analiza funcționalității: citirile de umiditate și de temperatură înainte și după aplicarea elementului de încălzire sunt comparate. Temperatura va crește în timp ce umiditatea relativă scade în același timp.

Reîncărcarea OTP: Cu această operație datele de calibrare sunt încărcate în registru înainte de fiecare măsurare. Acest lucru poate fi dezactivat pentru reducerea timpului de măsurare cu aproximativ 10 ms.

3.9 Conversia umidității

Pentru compensarea neliniarității senzorului de umiditate, a se vedea figura 3.9 – și pentru obținerea acurateței depline a senzorului este recomandat să convertim citirea umidității () cu următoarea formulă cu coeficienții dați în tabelul 3.6:

Tabelul 3.6 Coeficienții de conversie ai umidității

Figura 3.9 Conversia de la la umiditate relativă

3.10 Compensare de temperatură al semnalului de umiditate

Pentru temperaturi semnificativ diferite de 25 °C, semnalul de umiditate necesită compensare de temperatura. Corecția de temperatură corespunde aproximativ cu 0,12% RH / ° C la o umiditate relativă 50% RH. Coeficienții pentru compensarea temperaturii sunt prezentați în tabelul 3.7.

Tabelul 3.7 Coeficienți de compensare ai temperaturii

3.11 Conversia temperaturii

Senzorul de temperatură cu bandă interzisă(proporțional cu temperatura absolută) este foarte liniar. Se folosește formula următoare pentru a converti citirea temperaturii , cu coeficenții dați în tabelul 3.8:

Tabelul 3.8 Coeficienții de conversie ai temperaturii

Similar Posts