Il fai-da-te, come dice Wikipedia, è ormai da tempo una sottocultura. In questo articolo voglio raccontare del mio progetto fai-da-te di un piccolo sensore multi-sensore wireless, e questo sarà il mio piccolo contributo a questa sottocultura.
La storia di questo progetto è iniziata dal case, sembra sciocco, ma è proprio così che ha preso avvio. Il case è stato acquistato su AliExpress, va notato che la qualità della fusione della plastica di questo case è eccellente. Dopo una breve corrispondenza con il venditore, è stato inviato un disegno e così è iniziato questo progetto.
Il disegno stesso era molto poco dimensionato e metà delle misure per i bordi, i ritagli e i fori tecnologici della futura scheda stampata sono stati effettuati con un calibro. Ottenute tutte le dimensioni interne del case, è diventato chiaro che il chip radio doveva essere 'protetto' direttamente sulla scheda, poiché l'altezza dalla parte superiore della scheda alla superficie interna del case era di 1,8 mm, mentre l'altezza minima di un normale modulo radio è solitamente di 2 mm (senza schermo).



Per il sensore è stato scelto il SoC nRF52 in un case QFN48. In questo case, nella serie nRF52 di Nordic ci sono tre varianti: nRF52810, nRF52811 (nuovo), nRF52832. Le specifiche dei chip: 64 MHz Cortex-M4, trasmettitore a 2,4 GHz, 512/256 KB Flash, 64/32 KB RAM per nRF52832 e 192 KB Flash, 24 KB RAM per nRF52810, nRF52811; i chip sono multi-protocollo e supportano Bluetooth Low Energy, Bluetooth mesh, ESB, ANT, e nRF52811 supporta anche Zigbee e Thread, oltre a Bluetooth Direction Finding.

Ho deciso di rendere il sensore multi-sensore, in modo che potesse essere utilizzato per diverse esigenze. La disposizione del chip doveva essere il più compatta possibile, tenendo conto che le dimensioni minime dei componenti non dovessero essere inferiori a 0603, affinché il dispositivo potesse essere saldato a mano. Dopo aver sistemato il chip sulla scheda, mi sono dedicato alla scelta dei sensori. La cosa principale su cui mi sono orientato nella scelta erano le dimensioni del case del sensore e la possibilità di saldare il sensore a casa con un'attrezzatura minima (saldatore e phon).

Per il sensore sono stati scelti i seguenti sensori: SHT20, SHT21, Si7020, Si7021, HTU21D (sensore di temperatura e umidità), tutti questi sensori hanno un unico involucro e uscite di piedini identiche; HDC2080 (sensore di temperatura e umidità) ha anche un involucro simile a quello dei precedenti, ma ha un'uscita di interruzione aggiuntiva, più efficiente dal punto di vista energetico; BME280 (sensore di temperatura, umidità e pressione), LMT01 (sensore di temperatura), TMP117 (sensore di temperatura ad alta precisione), alta efficienza energetica, uscita di interruzione, impostazione di limiti superiori e inferiori di temperatura, LIS2DW12 (accelerometro) alta efficienza energetica, uno dei migliori nel suo segmento o LIS2DH12.


Nella prima versione del sensore era presente un reed switch, ma nelle revisioni successive è stato escluso, poiché il sensore reed di dimensioni 1,6 cm con corpo in vetro non aveva spazio, e alcuni di questi sensori si sono rotti mentre installavo il circuito stampato nell'involucro; inoltre, a causa della forma quadrata dell'involucro e della sua bassa altezza, il dispositivo non era molto adatto come sensore magnetico di apertura e chiusura.

Oltre ai sensori, il sensore presenta 2 LED, uno dei quali è RGB e si trova sul lato inferiore del sensore. Ci sono due pulsanti SMD, uno collegato al reset, l'altro "personalizzabile" per implementare alcuni scenari di funzionamento del sensore. L'involucro del sensore è composto da tre parti: il corpo principale, un inserto interno con un'apertura che sostiene la batteria e fissato al corpo principale con quattro viti, e un coperchio inferiore, che si aggancia alle aperture sull'inserto interno. Sono stati anche portati fuori 4 pin analogici, 2 digitali e altri due pin che possono essere un'antenna NFC o pin digitali, porta SWD.
Il LED RGB e i pulsanti sono posizionati sulla scheda PCB in modo tale che siano facilmente accessibili quando il coperchio inferiore è rimosso, attraverso le aperture nell'inserto interno, progettate per agganciare il coperchio posteriore.

Il dispositivo ha subito due revisioni; in precedenza, al posto del sensore TMP117 era stato installato un sensore di luminosità MAX44009, che è stato poi sostituito con il sensore di temperatura; entrambi i sensori hanno lo stesso involucro, ma uscite sui piedini diverse; potrebbe essere stato un errore sostituirlo, forse vale la pena ripristinare.




Attualmente ho a casa 4 di questi dispositivi, due di essi sono sensori di temperatura e umidità con sensori Si7021 (uno su nRF52832, l'altro su nRF52811), uno è un sensore di impatto realizzato con accelerometro LIS2DW12 (nRF52810) e un sensore di controllo della temperatura su sensore LMT01 (nRF52810).
Il sensore wireless funziona con una batteria cr2032, il consumo in modalità sleep è di 1.8μA per nRF52810, nRF52811 e 3.7μA per nRF52832. Il consumo in modalità trasmissione dati è di 8mA.


La descrizione del protocollo utilizzato, lo sviluppo software per questo sensore in diversi scenari di utilizzo, penso superi i limiti di questo articolo.
Puoi vedere un test di funzionamento del sensore con un sistema di smart home in un breve video qui sotto.

Il progetto di questo sensore è open source; puoi trovare tutti i materiali sul mio .
Se sei interessato a tutto ciò che riguarda il DIY, sei un sviluppatore DIY o stai solo iniziando, e sei interessato all'uso di dispositivi DIY, ti invito a .
A tutti coloro che vogliono costruire dispositivi e iniziare ad automatizzare la propria casa, propongo di familiarizzare con il protocollo Mysensors, facile da apprendere — chat Telegram
E a chi cerca soluzioni più avanzate per l'automazione domestica, invito alla chat Telegram . ()
Grazie per l'attenzione e buona fortuna a tutti!
Fonte: habr.com
