DIY, așa cum spune Wikipedia, este deja de mult timp o subcultură. În acest articol vreau să împărtășesc proiectul meu DIY de un mic senzor fără fir multi-senzor, iar acesta va fi o mică contribuție a mea la această subcultură.
Povestea acestui proiect a început cu carcasa, pare dumb, dar exact așa a început acest proiect. Carcasa a fost achiziționată de pe site-ul AliExpress, trebuie remarcat că calitatea turnării plasticului pentru această carcasă este excelentă. După o scurtă corespondență cu vânzătorul, pe e-mail a fost trimis un desen, iar acest proiect a început.
Desenul în sine a fost foarte prost dimensionat și a fost necesar să fac măsurători pentru marginile, tăieturile și orificiile tehnologice ale viitoarei plăci de circuit imprimat cu ajutorul unui compas. După ce am obținut toate dimensiunile interioare ale carcasei, a devenit clar că cipul radio trebuie 'sudat' direct pe placa de circuit imprimat, deoarece înălțimea de la partea superioară a plăcii până la suprafața interioară a carcasei era de 1.8 mm, iar înălțimea minimă a unui modul radio mediu este de obicei de 2 mm (fără ecran).



Pentru senzor, a fost ales SoC nRF52 în carcasă QFN48. În această carcasă, seria nRF52 de la Nordic are trei variante: nRF52810, nRF52811 (nou) și nRF52832. Parametrii cipurilor: 64 MHz Cortex-M4, transceiver de 2.4 GHz, 512/256 KB Flash, 64/32 KB RAM pentru nRF52832 și 192 KB Flash, 24 KB RAM pentru nRF52810, nRF52811, cipurile sunt multi-protocol, suportă Bluetooth Low Energy, Bluetooth mesh, ESB, ANT, iar nRF52811 suportă, pe lângă cele enumerate, și Zigbee și Thread, precum și Bluetooth Direction Finding.

Am decis să fac senzorul multi-senzor pentru a putea fi utilizat pentru diferite sarcini. Din acest motiv, aranjarea cipului trebuia să fie cât mai compactă, având în vedere că dimensiunile minime ale componentelor nu trebuie să fie mai mici de 0603, astfel încât dispozitivul să poată fi sudat manual. După ce cipul a fost aranjat pe placă, m-am ocupat de alegerea senzorilor. Principala considerare în alegere a fost dimensiunea carcasei senzorului și posibilitatea de sudare a senzorului în condiții de casă cu un minim de echipament (sudor și uscător).

Pentru senzor, au fost selectate următoarele senzori: SHT20, SHt21, Si7020, Si7021, HTU21D (senzor de temperatură și umiditate), toți acești senzori au un singur corp și pinii identici, HDC2080 (senzor de temperatură și umiditate) are de asemenea un corp similar cu cele enumerate anterior, dar are un pin suplimentar de întrerupere, fiind mai eficient din punct de vedere energetic, BME280 (senzor de temperatură, umiditate și presiune), LMT01 (senzor de temperatură), TMP117 (senzor de temperatură de înaltă precizie), eficiență energetică ridicată, pin de întrerupere, setarea limitelor superioare și inferioare ale temperaturii, LIS2DW12 (accelerometru) eficiență energetică ridicată, unul dintre cei mai buni din segmentul său sau LIS2DH12.


De asemenea, în prima versiune a senzorului a fost inclus un switch Reed, dar în revizuirile ulterioare a fost exclus, deoarece senzorul Reed de 1.6 cm cu bulb de sticlă nu avea suficient loc, iar câțiva astfel de senzori s-au spart în timp ce instalam placa gata în carcasă. De asemenea, din cauza formei quadrate a carcasei și a înălțimii sale reduse, dispozitivul nu era foarte potrivit pentru rolul de senzor magnetic de deschidere și închidere.

Pe lângă senzori, pe senzor sunt amplasate 2 LED-uri, unul dintre ele fiind RGB, situat pe partea inferioară a senzorului. Două butoane SMD, unul conectat la resetare, iar al doilea 'utilizator', pentru implementarea unor scenarii de funcționare a senzorului. Corpul senzorului este format din trei părți: corpul principal, o inserție interioară cu o deschidere pentru a ține bateria și care se fixează în corpul principal cu patru șuruburi, și o capacă inferioară care se blochează în orificiile inserției interioare. De asemenea, sunt disponibile 4 pini analogici, 2 digitali și încă doi pini care pot fi antena NFC sau pini digitali, port SWD.
LED-ul RGB și butoanele sunt plasate pe placa PCB într-un mod care le oferă acces deschis când capacul inferior este îndepărtat, prin orificiile din inserția interioară, care sunt destinate pentru blocarea capacului din spate.

Dispozitivul a supraviețuit la două revizii, de asemenea, anterior pe locul senzorului TMP117 a fost instalat un senzor de iluminare MAX44009, care mai apoi a fost înlocuit cu un senzor de temperatură, ambele senzori au același corp, dar pinii diferiți, poate că înlocuirea a fost o greșeală, poate ar trebui să revenim.




Acum am acasă 4 asemenea dispozitive, dintre care două sunt senzori de temperatură și umiditate cu senzori Si7021 (unul cu nRF52832, celălalt cu nRF52811), unul este un senzor de impact realizat pe un accelerometru LIS2DW12 (nRF52810) și un senzor de control al temperaturii cu senzor LMT01 (nRF52810).
Senzorul wireless funcționează cu o baterie cr2032, consumul în modul de repaus este de 1.8μA pentru nRF52810 și nRF52811 și 3.7μA pentru nRF52832. Consum în modul de transmisie de date 8mA.


Descrierea protocolului utilizat, dezvoltarea software-ului pentru acest senzor pentru diferite scenarii de utilizare cred că depășește limitele acestui articol.
Testul funcționării senzorului cu sistemul de casă inteligentă poate fi văzut într-un scurt videoclip mai jos.

Proiectul acestui senzor este deschis, toate materialele referitoare la proiect le puteți obține pe site-ul meu. .
Dacă sunteți interesat de tot ceea ce ține de DIY, sunteți un dezvoltator DIY sau doriți doar să începeți, vă invit să vă alăturați. .
Tuturor celor care doresc să creeze dispozitive, să înceapă să construiască automatizarea casei lor, le propun să se familiarizeze cu protocolul simplu de utilizare Mysensors — chat-ul Telegram.
Și celor care caută soluții mai avansate pentru automatizarea casei îi invit în chat-ul Telegram. . ()
Vă mulțumesc pentru atenție, vă doresc tuturor bine!
Sursa: habr.com
