senzor de temperatură proiect: senzor digital de temperatură ICs

Mark Harris

senzorii digitali de temperatură oferă cea mai simplă modalitate de a măsura și de a introduce o citire foarte precisă a temperaturii într-un microcontroler sau alt dispozitiv logic. În ultimul articol din această serie de senzori de temperatură, ne-am uitat la senzorii de temperatură analogici. În timp ce acestea ar putea părea mai ușor de implementat, luând doar o simplă citire ADC, pentru a obține cea mai precisă măsurare, va trebui să calibrați ADC-ul fiecărui dispozitiv în timpul producției, ceea ce nu este întotdeauna fezabil. În acest articol, ne scufundăm în mai multe opțiuni diferite de senzori de temperatură digitală. Senzorii digitali de temperatură vor fi de obicei mai scumpi decât un simplu senzor analogic de temperatură. Cu toate acestea, ușurința și comoditatea producției folosind aceste dispozitive fac adesea costul suplimentar util acolo unde sunt necesare niveluri ridicate de precizie de măsurare.

senzorii digitali de temperatură sunt al cincilea tip de senzor la care ne uităm în această serie. Încheiem această serie cu articolul final, care va pune toți senzorii pe care i-am testat unul împotriva celuilalt într-un concurs cap la cap într-o gamă largă de condiții de mediu pentru a ne permite să comparăm funcționalitatea, precizia și comportamentul acestora. Am început seria cu un articol introductiv în care am construit un set de șabloane pentru carduri standard de senzori de temperatură. Atât versiunile analogice, cât și cele digitale pot fi stivuite prin utilizarea conectorilor mezanin sau citite independent de conectorii lor de margine. Vom construi plăci gazdă pentru toți acești senzori mai târziu în serie, ceea ce ne va permite să citim date de la un singur senzor pentru a valida funcționalitatea acestuia sau pentru a citi întregul teanc de plăci, astfel încât să putem înregistra datele de la toate împreună.

în această serie, vom analiza o gamă largă de senzori de temperatură, vorbind despre avantajele și dezavantajele lor, precum și despre unele topologii tipice pentru implementarea lor. Seria va acoperi următoarele tipuri de senzori:

  • Coeficient de temperatură negativ (NTC) termistori
  • Coeficient de temperatură pozitiv (PTC) termistori
  • detectoare de temperatură de rezistență (RTD)
  • analogic temperatura senzor ICs
  • digital temperatura senzor ICs
  • termocupluri

ca și în proiectele mele, puteți găsi detalii despre proiect, schemele și fișierele de pe GitHub împreună cu celelalte implementări ale senzorului de temperatură. Proiectul este lansat sub Licența open-source MIT, care vă permite să utilizați desenele sau orice parte a acestora în scopuri personale sau comerciale, după cum doriți.

senzor digital de temperatură ICs

să presupunem că sunteți interesat doar să citiți ieșirea de la un senzor de temperatură folosind un microcontroler sau alt dispozitiv logic. În acest caz, un senzor digital de temperatură este electric cea mai simplă opțiune de implementat. Senzorii digitali de temperatură pot oferi niveluri excelente de precizie, deoarece toate detectarea, compensarea și conversia se fac pe cip. Nu este nevoie să calibrați ADC-ul microcontrolerului (sau ADC extern). De asemenea, nu trebuie să vă faceți griji cu privire la interferențele electromagnetice de la urmele din apropiere sau alte dispozitive montate la conexiunile dintre senzorul de temperatură analogic și microcontroler care ar putea influența neintenționat citirea temperaturii.

în acest proiect, vom implementa Patru opțiuni diferite de senzori de temperatură digitale de diferite rezoluții și intervale de detectare.

Name

MAX31826MUA+T

STS-30-DIS

EMC1833T

SI7051-A20-IMR

Type

Digital

Digital

Digital

Digital

Sensing Temp Min (°C)

-55°C

0°C

-40°C

-40°C

Sensing Temp Max (Lit. c)

+125°C

+60°C

+125°C

+125°C

gama de detectare

Local

Local

la distanță

Local

rezoluție (biți)

precizie (X-X C)

±0.5°C (+10 CTF C până la + 85 CTF c)

±2°C (de la -55 la -125 la -125 la -1)

±0.2°C

±1°C (-20°C t +105°C)
±1,5°C (-40°C t +125°C)

±0.1 lit. c

Temp de Operare (XV C)

-55°de la C la + 125 int. c

-40°de la C la + 125 int. c

-40°de la C la + 125 int. c

-40°de la C la + 125 int. c

funcții

1 magistrală de sârmă, putere parazitară

I2C

I2C, SMBus

I2C

tensiunea de alimentare Min

3 V

2.15 V

1.62 V

1.9 V

Tensiune maximă de alimentare (V)

3.7 V

5.5 V

3.6 V

3.6 V

consumul curent (uA)

4 mA (când citiți nivel logic scăzut)

45 ua inactiv
1,5 mA măsurare
Vdd*1.5 alarmă

700 UA în conversie,
75 ua standby

195 nA

Producător

Maxim integrat

Sensirion AG

microcip

Silicon Labs

pachet

8-MSOP

8-VFDFN

8-VDFN

6-DFN

am inclus EMC1833T pentru că, pentru mine, este un senzor fascinant. Este un dispozitiv de detectare a temperaturii la distanță, ceea ce înseamnă că nu utilizează un senzor situat în interiorul componentei. În schimb, simte temperatura transformând ieșirea unui senzor extern, care în acest caz este un tranzistor, într-un semnal digital. Nu sunt sigur că aparține neapărat acestei categorii de” senzor digital de temperatură”, deoarece nu se potrivește cu ceilalți senzori la care ne uităm. Totuși, tranzistoarele nu sunt de obicei bine cunoscute ca fiind folosite ca senzori de temperatură, așa că nu aveam idee unde să-l pun. Ceea ce mă fascinează la acest senzor este că poate măsura temperatura folosind aproape orice tranzistor. Dacă proiectați un ASIC, atunci puteți include cu ușurință un tranzistor suplimentar pe matriță în acest scop. Puteți utiliza apoi acest tranzistor, care poate fi citit de un senzor, cum ar fi EMC1833T, pentru a efectua o măsurare externă a temperaturii matriței, fără a fi nevoie să adăugați o complexitate suplimentară siliciului. Un alt mod de a privi acest lucru este că puteți monitoriza temperatura matriței dvs. fără a suporta niciun risc de inginerie asociat cu proiectarea și construirea unui senzor digital de temperatură personalizat în siliciu.

implementarea senzorului Digital: MAX31826MUA+T

primul senzor pe care îl vom implementa este MAX31826 produs de Maxim integrat. Acest senzor rulează pe o magistrală cu 1 fir, mai degrabă decât pe magistrala I2C sau SPI mai tipică. O problemă potențială este că este puțin probabil ca 1-Wire să fie oferit ca protocol de comunicații de către microcontrolerul pe care se bazează proiectul dvs. Cu toate acestea, este un protocol simplu pentru bit-bang și are un avantaj considerabil față de alegerile mai populare, deoarece are nevoie doar de două fire pentru a opera senzorul. Inclusiv alimentarea cu energie, I2C necesită patru fire, iar SPI are nevoie de cinci fire. În schimb, 1 fir necesită doar o masă și o linie de date pentru majoritatea aplicațiilor, deoarece se poate alimenta de pe linia de date folosind o tehnică de putere parazitară. Integrat în senzor este un condensator care poate susține sursa de alimentare pentru IC în perioadele în care linia de date este în stare joasă, ceea ce elimină necesitatea unei alimentări de tensiune dedicate în majoritatea condițiilor normale de funcționare. Aceasta poate fi o soluție foarte convenabilă pentru plăcile care au spațiu extrem de limitat disponibil.

o altă caracteristică interesantă a senzorului și a magistralei sale cu 1 fir este capacitatea de a seta o adresă de 4 octeți pentru dispozitiv folosind pini selectabili manual instalați pe pachetul dispozitivului. Acest lucru permite instalarea a până la 16 senzori de temperatură pe o singură magistrală de date cu 1 fir, oferind fiecărui dispozitiv o adresă unică. Aceasta poate fi o opțiune extrem de convenabilă dacă nu aveți pini de microcontroler și, în același timp, aveți nevoie de capacități de detectare folosind un număr mare de senzori de temperatură.

în comparație cu senzorii pe care i-am analizat în articolele anterioare din această serie, MAX31826 nu este doar extrem de precis, ci oferă și date de înaltă rezoluție. Senzorul oferă + / – 0.5°C precizie între -10°C și +85°C, cu +/- 2°C acuratețe pe toată gama de temperaturi de la -55°C la +125°C. Toate datele senzorilor sunt livrate ca valori de 12-bit, care este o rezoluție mai mare decât cele mai multe microcontrolere oferă.

ca senzor de temperatură, MAX31826 are multe de oferit, dar este echipat și cu un EEPROM de 1 kB la bord ca caracteristică bonus. Cred că mai aveau o cameră liberă pe matriță. Dacă microcontrolerul dvs. nu are un EEPROM integrat și trebuie să stocați câteva date de configurare pentru aplicația dvs., acest senzor de temperatură vă acoperă. Dacă aveți nevoie de stocare suplimentară non-volatilă, acest senzor de temperatură vă va reduce numărul de componente și va economisi spațiu la bord.

fișa tehnică recomandă alimentarea directă a dispozitivului, mai degrabă decât utilizarea puterii magistralei parazitare atunci când temperaturile ar putea depăși 100 centimetric C. În timp ce majoritatea aplicațiilor tipice nu vor trebui să atingă aceste niveluri de temperatură, testele pe care le vom trece senzorul vor depăși 100 centimetric C. Prin urmare, pentru acest exercițiu, vom urma recomandarea alimentării directe a dispozitivului, mai degrabă decât explorarea fascinantei Opțiuni de alimentare parazitare.

MAX31826 Schematic

forma plăcii și aspectul general provin din șablonul de proiect pe care l-am creat în introducerea acestei serii. Deoarece nu folosim niciunul dintre magistralele obișnuite de comunicare, am eliminat plasele asociate și componentele acestora de pe placă. Totuși, am lăsat conexiunile pe conectorul de stivuire pentru a mă asigura că acest lucru nu cauzează probleme pentru alți senzori stivuiți. Cu magistrala cu 1 fir, trebuie doar să folosim pinul de selectare a cipului pentru a comunica înapoi la microcontrolerul gazdă.

MAX31826 schema 3d

implementarea senzorului Digital: STS-30-DIS

am folosit STS-30-DIS produs de Sensirion într-un proiect trecut datorită preciziei sale incredibile și indicațiilor calibrate care pot fi urmărite la NIST. Acest lucru a fost necesar deoarece instrumentele au fost dezvoltate pentru o companie de servicii alimentare, necesară pentru colectarea datelor în scopuri de raportare guvernamentală. Cu o amprentă mică, o gamă largă de tensiuni, o precizie incredibilă și o ieșire digitală linearizată pe 16 biți, există multe lucruri de iubit despre acest dispozitiv dacă aveți nevoie doar de detectare pozitivă a temperaturii. Dacă aveți nevoie să simțiți temperaturi sub îngheț, varianta STS-30A-DIS este calificată pentru automobile și are o gamă de detectare de -40 la 125 la 125 la C. Cu toate acestea, această gamă crescută de detectare are un cost ușor pentru precizia generală.

în articolul precedent senzori de temperatură analogică, am vorbit despre cât de mari sunt senzorii de temperatură analogici pentru aplicații precum monitorizarea proceselor, pentru pornirea și oprirea unui ventilator sau pentru alte sisteme de management termic care pot funcționa fără intervenția unui microcontroler. STS-30 oferă un cod PIN de alertă care poate fi utilizat pentru a îndeplini o funcție similară. Este destinat conectării la un pin de întrerupere al unui microcontroler; cu toate acestea, are și o notă completă de aplicație dedicată acestuia și poate fi utilizată pentru comutarea automată a sarcinilor. Capacitatea de a interfața cu funcția de întrerupere a microcontrolerului poate fi crucială. Acesta permite senzorului să notifice imediat microcontrolerul cu un semnal de mare prioritate că ceva trebuie făcut imediat, mai degrabă decât să se bazeze pe sondarea rară a microcontrolerului senzorului și răspunsul la datele citite. Dacă ieșirea de alertă este conectată la un tranzistor pentru a-i permite să conducă o sarcină, senzorul ar putea fi utilizat atât în scopuri de monitorizare/înregistrare, cât și pentru a avea o funcție de gestionare termică autonomă. În comparație cu soluțiile analogice, această configurare ar putea face din STS-30 digital o opțiune mai ieftină. Nu va fi necesar un comparator separat, iar pragul pentru pinul de alertă poate fi configurat de utilizator printr-un microcontroler/HMI fără cerința ca acesta să fie setat din fabrică.

dispozitivele din seria STS-30 folosesc toate o magistrală I2C pentru comunicații. Schema pe care o implementăm pentru acest articol nu include niciuna dintre rezistențele pull-up care sunt în general necesare pentru ca magistrala de comunicații să funcționeze corect. Aceste rezistențe pull-up vor fi montate în schimb pe plăcile gazdă. Deoarece avem nevoie doar de un set de rezistențe pull-up pe magistrală, adăugarea de rezistențe la fiecare senzor ar adăuga mai multe rezistențe pull-up la magistrală și ar putea duce la defecțiunea sa. În plus, toate rezistențele conectate în paralel ar reduce rezistența lor generală.

pin-ul ADDR ne permite să alegem între două adrese diferite pentru dispozitiv, permițându-ne să conectăm două componente STS-30 la aceeași magistrală I2C. Deși acest lucru poate să nu fie la fel de impresionant ca capacitățile dispozitivului MAX31826 de pe magistrala cu 1 fir, este totuși convenabil prin faptul că ne permite să folosim mai multe dispozitive. Trag pinul ADDR la logic low (GND), deoarece aceasta setează adresa implicită să fie 0x4A, cu logica trasă la starea înaltă, aceasta o setează la adresa alternativă a 0x4B.

Sts30 Schematic

îmi place pachetul de pe STS-30, deoarece este compact, dar încă nu prea nebun, astfel încât să puteți asambla manual placa dacă utilizați un șablon. Pachetul de senzori plus un condensator de decuplare 0603 sunt împreună de aproximativ aceeași dimensiune ca MAX31826 pe care l-am analizat mai sus. Cu un condensator mai mic, s-ar potrivi foarte bine pe o placă de înaltă densitate. Placa mare de sol de sub IC oferă o cale excelentă pentru transferul căldurii de la un plan la sol la joncțiunea de detectare a temperaturii din interiorul IC. Acest lucru îl face o alegere perfectă pentru plasarea lângă orice dispozitiv, cum ar fi un MOSFET mare sau un regulator, care folosește planul de masă pentru a arunca excesul de căldură în placă. Plasarea IC în imediata apropiere a sursei de căldură va oferi rezultate mai precise de detectare a temperaturii.

STS-30-DIS direct Connetion 3D

implementarea senzorului Digital: EMC1833T

după cum am menționat anterior, mi se pare dispozitivul EMC1883 produs de Microchip fascinant nu numai pentru că are o serie de caracteristici fantastice, dar că poate citi temperatura simțită de o joncțiune tranzistor. STS-30 pe care l-am analizat mai sus a avut un cod PIN de întrerupere a alertei declanșat de o valoare absolută; cu toate acestea, EMC1883 poate fi configurat pentru a genera, de asemenea, o alertă bazată pe rata de schimbare a temperaturii resimțite. Această rată de alertă de schimbare poate permite ca soluțiile inteligente de gestionare termică să fie pornite automat în anticiparea nevoii lor, mai degrabă decât după eveniment. Acest lucru are potențialul de a îmbunătăți fiabilitatea dispozitivului în ansamblu prin gestionarea atentă a temperaturii sale de funcționare. Ca și în cazul STS-30, este complet configurabil software, ceea ce oferă avantaje considerabile față de orice opțiune setată din fabrică pe care probabil ar trebui să o implementați dacă utilizați un termostat complet analogic pentru a obține aceleași rezultate.

modelul specific al seriei EMC8xx pe care o testăm va susține doar detectarea unei singure joncțiuni. Cu toate acestea, există și alte modele din serie care pot oferi detectare pentru până la cinci joncțiuni.

la fel ca STS-30, acesta este un senzor bazat pe I2C care găzduiește instalarea mai multor senzori pe o singură magistrală I2C. O distincție este că implementarea pinului ADR EMC1833T este diferită de natura binară on / off a dispozitivului STS-30. Acest dispozitiv vă permite să configurați până la șase adrese separate utilizând valori diferite ale rezistorului de tragere. Pinul ADDR funcționează, de asemenea, ca unul dintre pinii de întrerupere, acționând ca pinul de avertizare termică (împreună cu pinul de alertă termică/avertizare 2). La fel ca instalarea anterioară a dispozitivului, Nu voi implementa rezistențe pull-up pe liniile I2C de pe placa senzorului de temperatură. Cu toate acestea, acestea trebuie să fie montate undeva în circuitul dvs. pentru a permite magistralei de comunicații a senzorului să funcționeze corect.

fișa tehnică recomandă utilizarea unui tranzistor de joncțiune bipolar 2N3904 ca element de teledetecție, deoarece nu am un tranzistor CPU disponibil pentru a fi utilizat pentru măsurători. Folosesc varianta de montare pe suprafață a unui 2N3904 pentru detectarea temperaturii pe această placă. MMBT3904 este disponibil de la aproape fiecare companie de fabricare a siliciului care se ocupă de BJTs – în acest caz, am ales să folosesc o parte ON Semiconductor, deoarece era cea mai bine aprovizionată. Au fost câteva milioane disponibile când m-am uitat ultima dată la Octopart.

Emc1833t Semiconductor Schematic

așa cum am făcut în articolele anterioare din această serie, am plasat elementul de detectare a temperaturii, tranzistorul nostru, în pauza termică. Am plasat elementele non-sensibile în spatele pauzei termice. Acest lucru împiedică EMC1833T să poată influența negativ citirea temperaturii din cauza căldurii pe care o poate genera singură.

EMC1833T 3D PCB Design

implementarea senzorului Digital: Si7051-A20-IMR

în cele din urmă, avem Silicon Labs Si7051-A20. Sunt rezultatele acestui dispozitiv pe care sunt cel mai încântat să le văd în întreaga serie. MAX31826 este un senzor destul de precis; cu toate acestea, Si7051-A20 oferă o precizie impresionantă de +/- 0,1 CTC, cu un consum de energie incredibil de redus de doar 195 nA la eșantionare. Consumul de energie este cu cel puțin un ordin de mărime mai mic decât toți ceilalți senzori digitali de temperatură și substanțial mai mic decât senzorii de temperatură analogici pe care i-am analizat în articolul precedent.

în cazul în care mulți senzori au precizii publicitate foarte mari, cifrele se aplică de obicei numai pentru o porțiune limitată din domeniul general de detectare. În schimb, Si7051-A12 oferă precizia raportată în întreaga sa gamă de detectare de la -40 la + 125. Ce e mai mult este că eroarea de 0.1 centict C este o precizie scenariu cel mai rău caz, nu medie sau minimă. Cu rezoluția sa de 14 biți selectată, Si7051-A20 oferă o citire repetabilă a senzorilor 0.01 C – I love exacte și repetabile!

ca și în cazul ultimilor doi senzori, si7051-A20 este un senzor compatibil I2C. Cu toate acestea, nu oferă un pin de adresă, ceea ce înseamnă că puteți avea o singură unitate conectată la magistrala I2C, cu excepția cazului în care adăugați un comutator I2C sau comutați alimentarea între diferite unități conectate pe aceeași magistrală. Acest lucru ar necesita pini IO suplimentari și ar adăuga complexitatea circuitului, făcând Si7051-A20 mai puțin ideal pentru detectarea mai multor locații pe placa de circuit. De asemenea, dispozitivul nu are pini de alertă/întrerupere, destinați utilizării exclusiv ca senzor digital de temperatură. În general, dacă doriți să automatizați gestionarea termică pe placa de circuit, un senzor de cost mai puțin precis și mai mic va fi mai mult decât suficient pentru o astfel de aplicație.

una dintre caracteristicile care mi-au plăcut cu adevărat la STS-20 când l-am folosit ultima dată a fost calibrarea certificată NIST aplicată fiecărui dispozitiv, deoarece clientul meu a solicitat această caracteristică. În timp ce Si7051-A20 nu menționează acest lucru în fișa sa tehnică, are un certificat de calibrare disponibil. De asemenea, am putut găsi un alt certificat de calibrare mai specific; cu toate acestea, acest lucru nu se află pe site-ul Silicon Labs și, prin urmare, se poate aplica numai unităților particulare pe care această companie le-a achiziționat. Dacă da, stabilește o prioritate pentru Silicon Labs care eliberează certificate specifice pentru clienții săi.

Si7051-A20 schema de conectare directă

ca și celelalte implementări I2C pe care le-am acoperit în acest articol, liniile I2C pentru acest card nu au rezistențe pull-up montate pe liniile de Date/ceas. Va trebui să includeți un rezistor de tragere pe fiecare linie undeva în circuitul dvs. pentru a permite si7051-A20 să comunice cu succes.

pachetul DFN cu 6 pini este, de asemenea, cel mai ușor de predat prototip din toate opțiunile fără plumb pe care le-am acoperit în acest articol. Folosind un șablon sau un instrument de depunere a pastei, cum ar fi Voltera V-One, acest senzor ar fi incredibil de ușor de plasat și reflow folosind instrumente de bază, făcându-l perfect pentru prototipuri în laboratorul de acasă sau de birou.

Si7051-A20 Conexiune directă 3D PCB schematică

concluzie

ne-am uitat la patru senzori de temperatură digitale diferite în acest articol. Cu toate acestea, există sute de alte opțiuni digitale de senzori de temperatură disponibile care pot satisface cerințele specifice ale proiectului dvs., care sunt bine aprovizionate și disponibile. În timp ce senzorii analogici de temperatură sunt excelenți la monitorizarea autonomă a proceselor sau la utilizarea cu un convertor analogic la Digital, senzorii digitali de temperatură oferă o comoditate semnificativă atunci când se integrează într-un produs care are un microcontroler. După cum am văzut în acest articol, există senzori digitali de temperatură care pot genera întreruperi și alerte la praguri configurabile, ceea ce permite aplicații interesante dincolo de un termostat bazat pe comparator setat din fabrică, așa cum probabil ați folosi cu un senzor de temperatură analogic. Precizia și precizia senzorilor digitali moderni de temperatură pot fi excepțional de mari; cu toate acestea, multe opțiuni consumă mult mai mult curent decât omologii lor analogici, ceea ce poate oferi o anumită compensare a temperaturii de la autoîncălzire.

cei mai populari și bine aprovizionați senzori digitali de temperatură folosesc de obicei o magistrală I2C pentru comunicații; cu toate acestea, opțiunile de magistrală SPI și 1 fir sunt, de asemenea, disponibile pentru a satisface disponibilitatea magistralelor de comunicații alternative pentru proiectul dvs.

după cum am menționat la începutul articolului, puteți găsi detalii despre fiecare dintre aceste plăci de senzori și toate celelalte implementări ale senzorului de temperatură pe GitHub. Aceste modele sunt toate lansate sub Licența open-source MIT, care vă permite să faceți aproape orice cu designul pentru uz personal sau comercial.

doriți să aflați mai multe despre modul în care Altium vă poate ajuta cu următorul dvs. design PCB? Discutați cu un expert de la Altium.

 Altium Designer De Încercare Gratuită

Leave a Reply

Adresa ta de email nu va fi publicată.