Sensore di temperatura con batteria LiPo

closeQuesto articolo è stato pubblicato 5 anni 8 mesi 14 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.

Questo post fa parte del progetto La Domotica Fai-da-me, è l’evoluzione del sensore di temperatura a batteria, lo migliora in tre punti fondamentali:

  • Il sensore è un SHT30 e non un DHT22, questo sensore è molto più preciso ed affidabile, oltre che lavora su bus I2C ed è semplicissimo da interfacciare
  • La batteria è una LiPo, collegata allo shield apposito, dovrebbe durare molto di più ed è più piccola del kit di tre pile stilo AA che uso adesso.
  • La trasmissione dei dati è basata su MQTT e non più su http (dovrei aver ridotto il consumo vita la leggerezza del protocollo)

Il post esce quando il sensore è operativo da meno di un mese, l’effettiva durata della batteria l’ho provata abbassando il periodo di deep sleep da 30′ a 4”. Il sensore ha inviato la lettura circa 25000 volte prima che la batteria si scaricasse. A una lettura ogni mezz’ora fa una durata stimata di più di 3un anno. Non male, le tre stilo della versione precedente durano meno di 3 mesi.

La lista della spesa (da prendere con le pinze, le schede cambiano e si aggiornano, se trovate schede aggiornate potreste aver bisogno di fare saldature diverse o cambiare leggermente il codice).

Come per tutti gli altri progetti è necessario saldare i connettori sulle schede, io ho messo, in ordine dal basso verso l’alto:

  • Scheda D1 Mini (sotto a tutte)
  • Shield batteria (in mezzo)
  • Shield SHT30 (in alto, all’aria aperta)
Questi sono i piedini da saldare sulle tre schede (in foto c’è la D1 Mini Lite, ma la cosa funziona anche con la standard)
I PIN devono essere saldati in questo modo sulle tre parti.
Il sistema intero montato e operativo (si vede che il connettore della batteria non combacia con quello della scheda?)
Alcune note sull’evoluzione delle schede.

Uso le WeMos D1 mini da un po’ di tempo, durante questi anni il produttore le ha migliorate continuamente, mantenendo la retrocompatibilità. Il codice scritto quindi dovrebbe funzionare su tutte le schede dalla prima versione a quella attuale (a quando scrivo il post). Ad esempio adesso, con le nuove schede non è più necessario saldare i pin D1 e RST per avere la funzione di reset, c’è una piazzola da riempire di stagno e voilà il problema è risolto. Se avete una scheda senza questa versione, è necessario saldare di due PIN D1 e RST sullo shield del sensore e rimuoverlo se si carica lo scketch sulla scheda. Se i due pin sono saldati l’upload del programma non va a buon fine (almeno a me). De usate la D1 mini Lite vi faccio tanti cari auguri, da programmare è un po’ complessa e sul Mac non ci sono riuscito.

Lo shield del sensore SHT30 adesso ha il sensore staccabile, in modo da poter inscatolare il tutto e mettere solo il sensore fuori dalla stessa. Attenzione al cavetto e allo shield aggiuntivo da prendere per fare il collegamento.

Lo shield della batteria ha un connettore diverso da quello della prima versione e ha una piazzola per collegare direttamente la batteria al pin A0 per leggerne il valore di carica, in questo caso non è più necessario saldare la resistenza da 100KΩ tra il + della batteria e il pin A0. Credo che a questo punto cambi anche il codice da mettere nel programma. Non ho questo shield nuovo e non so se e come funziona.
Attenzione al connettore delle batterie! Si devono comprare quelle giuste, se no sarà un casino da gestire, soprattutto se la scheda e il carica batterie hanno pin diversi.

Dai, iniziamo

Come prima cosa è necessario saldare i connettori, come già detto più su, per ottenere la nostra torre. Prima di assemblarla, e seconda della versione della scheda WeMos e dello shield della batteria, si deve saldare una resistenza da 100kΩ sullo shield della batteria tra il + del connettore della batteria e il pin A0. Poi, sullo shield del sensore si devono saldare insieme i PIN D1 e RST. L’immagine qui sotto è presa dal sito del progetto da cui ho attinto il codice

Come ho saldato i PIN RST e D0 allo shield del sensore (che tolgo quando scrivo il programma sulla scheda) e come ho collegato il + della batteria al PIN A0 per leggere i valori di tensione
Saldare la resistenza sullo shield della batteria e i pinD1 e RST su quello del sensore

Il codice si trova, tutto commentato, sulla consueta pagina di GitHub

Per poter leggere le temperature è necessario avere il broker MQTT attivo (come indicato nell’apposito articolo) e avere il programma che ne legge i dati e li memorizza nel DB sempre attivo, anche qui c’è un articolo dedicato.

Alcune note sulla batteria

Le LiPo si comportano in modo diverso dalle classiche batterie ricaricabili AA, bisogna fare un po’ di attenzione in più, sopratutto a questi punti:

  • Hanno una corrente massima di scarica molto elevata, evitate assolutamente di mettere in corto + e –
  • Se sono gonfie, smaltitele subito
  • Vanno ricaricate solo ed esclusivamente con carica batterie appositi
  • Se vengono caricate con troppa corrente o oltre la loro capacità possono gonfiare e scoppiare
  • Non si deve mai e poi mai tentare di bucarne la confezione

La validità delle batterie termina a circa 2,5V, poi non ce la fanno più ad alimentare la scheda (o meglio, la scheda non riesce ad alzare la tensione inferiore a 2,5V fino ai 3,3V necessari per far funzionare il tutto) . Si può mettere nel codice una sorta di alert che avvisa via Telegram (con il bot creato realizzando questo progetto) se una batteria è sotto i 2,8 in modo da avere tempo per cambiarla. Si deve aggiungere al programma che memorizza i dati dal canale MQTT che se trova 130°C e 100% di umidità o -45°C e 100% di umidità non deve salvare questi dati.

Per ovvi motivi, più la batteria è capiente, più questa durerà, ma sarà più voluminosa e pesante, la scelta dipende dai dove si vuole mettere il sensore.

Lo shield per le batterie ha anche una presa micro USB, questa serve per ricaricare la batteria senza doverla staccare dalla scheda. Un’evoluzione interessante, magari per un sensore esterno, è quella di collegarla a un pannello solare. Non l’ho ancora provato, ma potrebbe essere la soluzione definitiva per non dover più cambiare la batteria, soprattutto nei sensori esterni.

Il progetto è rilasciato con licenza GPL V.3 (Open Source), quindi puoi prenderlo, fartelo a casa, modificarlo e pubblicarlo a nome tuo. Se lo condividi modificato devi citare questo sito (www.iltucci.com) come fonte principale.

2 pensieri riguardo “Sensore di temperatura con batteria LiPo”

  1. Grazie per questo progetto!
    Vedo che i link portano su componenti LOLIN, forse WEMOS ha cambiato nome.
    Capisco che le batterie sono molteplici, sarebbe utile avere un link o una chiave di ricerca per il connettore giusto.
    Non sono riuscito a trovare i data sheet e le librerie per i componenti attuali: puoi darmi una dritta?
    Grazie!

  2. Wemos è diventata Lolin anni fa, confermo.
    Per il connettore ci ho rinunciato, non l’ho mai trovato per questo ho fatto l’accrocchio.
    I componenti funzionano nello stesso modo, è solo cambiato il nome, sul sito del produttore trovi tutte le informazioni

Nota importante, da leggere prima di commentare

Questo è un blog scritto per passione, non fornisco quindi risposte di tipo professionale, se avete bisogno di un aiuto tecnico rivolgetevi ad un professionista di fiducia, non offendetevi se mi astengo dal rispondere. Vi ringrazio per la comprensione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.