Solar Powered Weather Station Project.

Introduzione
L’idea di questo progetto è nata alcuni mesi fa, quando ho proposto a mio fratello (un programmatore) di realizzare una stazione meteo per nostra Madre, abile coltivatrice del giardino di casa, per la quale le informazioni meteo sono un importante appuntamento quotidiano.
Fatto nuovo, con il regalo di un Notebook, da pochi mesi ha cominciato a navigare in rete.
Da qui, l’idea di regalarle una sua Stazione Meteo personale, consultabile dal browser del suo computer come qualunque altro sito.
Dal punto di vista realizzativo, a me il compito di pianificare lo schema elettrico, realizzare il prototipo e la stazione vera e propria.
A mio fratello spetta la programmazione del controller, dei sensori e del software per la gestione dei dati.

Spunti di partenza
Cercando in rete, tra i tanti progetti simili basati su Arduino Uno o ATmega328P, due in particolare mi sono piaciuti più di altri.
Il primo, quello di Vlad Pomogaev, perché sostanzialmente simile a quello che vorrei: http://denialmedia.ca/weather-station/
L’altro, preso un articolo di Nick Gammon specificamente improntato su alcuni sensori alimentati a batteria, scelto per la completezza della descrizione e per alcune soluzioni particolarmente interessanti: Gammon Forum : Electronics : Microprocessors : Temperature and humidity sensor - battery powered
Questo lo schema del progetto di Gammon: http://gammon.com.au/images/Arduino/HHS_Temperature_Logger1.png
Sempre questo è lo schema che ho scelto come base di partenza per cominciare ad impostare il mio, aggiungendo i sensori previsti ed eliminando le parti superflue.

Descrizione del progetto
Piccola stazione Meteo, alimentata da Pannello solare e batteria ricaricabile al piombo, con Controller ATmega328P stand alone e alcuni sensori che descrivo più sotto. La stazione verrà posizionata in un angolo rialzato del giardino, a circa 15 metri dalla casa. I dati raccolti dai vari sensori dovrebbero seguire due percorsi:

  1. Scrittura su micro-SD Card, quale Backup permanente (con il modulo micro-SD direttamente connesso alla stazione).
  2. Invio wireless dei dati, ad una ricevente posta all’interno della casa (o al Modem Router WIFI, sempre all’interno).
    I dati raccolti devono poi essere messi a disposizione per la consultazione online.

Il disegno del circuito
Per il disegno dello schema elettrico, avevo inizialmente pensato di usare KiCad, già impiegato in altre occasioni.
Purtroppo, le regole e il flusso di lavoro implicito in quel tipo di programmi rende impossibile creare nuove parti o nuovi dispositivi in modo semplice e rapido. Per aggirare il problema ho deciso di disegnare lo schema con un normale Software 3D, utilizzato in modo bidimensionale. Ho creato una grigia con passo 2,5mm (piccola approssimazione, rispetto ai canonici 100 Mills = 2,54mm.) e ho disegnato tutti componenti e tutti i sensori previsti servendomi solo di punti, linee e testo (Tutti in scala 1:1, tranne la basetta del sensore pioggia). Poi ho cominciato a tracciare tutti i collegamenti servendomi di layer e colori diversi. Prima in modo libero, in seguito accorciando i percorsi dove possibile, disponendo meglio i sensori (verticale/orizzontale) e avvicinandoli ai rispettivi ingressi/uscite.
Ad un certo punto, ho realizzato che la Motherboard poteva essere (ed attualmente è) una millefori da 50x70mm. con matrice da 18x24 fori.

Elenco dispositivi e sensori:

  • ATmega328p (Controller) - (eventuale secondo controller per la ricevente).
  • DHT22 (Temperature / Humidity sensor), rilevamento temperatura e umidità di n° 3 Unità: ext-1 (vicino alla stazione), ext-2 (distante 4-6 m dalla stazione), int-3 (interno).
  • FC-37 Raindrop sensor, per il rilevamento delle precipitazioni e una indicazione di massima di intensità e durata.
  • BH1750FVI Light sensor, per il rilevamento delle variazioni di intensità luminosa (sole/nuvoloso/coperto) nei vari periodi dell’anno.
  • BMP180 Barometric Pressure sensor, per il rilevamento della pressione atmosferica.
  • DS3231 Master Clock, per una decente sincronizzazione temporale della stazione e dei dati raccolti.
  • Micro-SD card adapter, per la scrittura dei dati in locale.
  • nRF24L01+ 2.4GHz. Tx/Rx (2 pz.), per la trasmissione e ricezione dei dati (scelti in alternativa ai moduli ESP8266, più critici per i consumi, prossimi o superiori ai 250mA)
  • FTDI port
  • ICSP port
  • FQP27P06 - MOSFET P-channel (circuito di protezione da inversione di polarità)
  • FQP47P06 - MOSFET P-channel (circuito di controllo sw della linea di alimentazione a 5V).
  • MCP1702-5V - regolatore LDO di tensione positiva, con uscita fissa a 5V (250mA Max.), per l’alimentazione generale a +5V.
  • MCP1702-3.3V - regolatore LDO di tensione positiva, con uscita fissa a 3,3V (250mA Max.) dedicato all’alimentazione del trasmettitore nRF24L01+

  • Solar panel (Polycrystalline, 9V, 500mA - 165x165mm.)
  • Lead-acid Battery (FIAMM FG10451 - 6V, 4,5Ah-20 - 70x47x100mm.)
  • Battery Charger circuit (non ancora scelto).
  • Unità ricevente (Controller + nRF24L01+ per la ricezione dei dati all’interno della casa).

Funzionalità e gestione dell’alimentazione
Descrivo il precorso di alimentazione e le funzionalità previste:
L’alimentazione principale arriva dalla batteria al connettore “Con0” (connettore di alimentazione Motherboard), prosegue all’ingresso del MOSFET U2 (come sicurezza contro l’inversione di polarità) e da li segue due percorsi.
Il primo, fino all’ingresso del Regolatore U3 (MCP1702-5V), che a sua volta genera la linea di tensione principale regolata a +5V. Questa linea alimenta direttamente:

  • il pin 7 del Controller U1 (VCC) e il pin 20 (AVCC) attraverso la ferrite Bead da 10uH (opzionale ).
  • il pin 3 (VCC) del connettore Con1 (FTDI port).
  • il pin 2 (VCC) del Con2 (ICSP port)
  • il pin di ingresso “S”, del MOSFET U4 (FQP47P06), per la gestione software dell’alimentazione di quasi tutti i sensori, attraverso il pin 13 (D7) del controller U1.
    Il secondo, fino all’ingresso del regolatore U5 (MCP1702-3.3V), con uscita a 3,3V sul pin 2 (VCC) del connettore 9 (Con9), per l’alimentazione del trasmettitore nFR24L01+ (Dev9).

Codici colore dei collegamenti
Linee Rosa - Linee di alimentazione a +5V (5V_SW) controllata dal controller U1 e generata dal MOSFET U4.
Linee Rosse - Linee di alimentazione sempre attive (n°3):
linea rossa 1 - Tensione DC non regolata (in arrivo dalla batteria, probabile 6V circa), che va dal pin S del regolatore U2 agli ingressi dei regolatori U3, U5.
linea rossa 2 - In uscita dal reg. U3, stabilizzata a +5V.
linea rossa 3 - In uscita dal reg. U5, stabilizzata a +3,3V.
Linee nere - Linee di massa (GND).
Linee blu - Linee di segnale su pin digitali.
Linee viola - Linee di segnale su pin analogici.
Linee verde chiaro / blu chiaro - linea I2C (SCL) / (SDA).
Linea verde scuro - Linea di RESET.

Acquisto delle parti
Tutti i sensori e quasi tutti i componenti sono stati acquistati su ebay da fornitori internazionali.
Non riporto link specifici per il fatto che gli stessi sensori vengono venduti da molti fornitori a prezzi simili.
In ogni caso, il PDF del progetto riporta tutti gli eventuali codici di modello e/o revisione dei rispettivi sensori.

Note tecniche

A - Ad ogni sensore (Dev1, Dev2, Dev3, ecc.) corrisponde il relativo connettore di ingresso sulla motherboard (Con1, Con2, Con3, ecc).
Con11 e Con12 sono due connettori di alimentazione opzionali, rispettivamente a +5V (sempre attiva) e 5V_SW (linea a +5V controllata via sw).

B - Dei tre metodi di trasmissione wireless più usati (ESP8266, nRF24L01+, Moduli TX/RX RF-433Mhz.) ho scelto gli nRF24L01+ principalmente per i bassi consumi e conseguentemente per il vantaggio di poterli alimentare con il buon regolatore MCP1702 con uscita a 3,3V (che ha appunto il limite massimo di 250mA).


Allego la versione attuale del progetto (in PDF) e il foglio elettronico con i dati tecnici dei sensori e l’elenco dei componenti, in formato .ods di OpenOffice Calc.

Wether_stat_circuit_01f_8.pdf (50.2 KB)

Dubbi e cose da fare

1 - Il pdf allegato mostra lo schema allo stato di revisione 0.1f_8, ma prima di pianificare la disposizione finale avrei bisogno che qualcuno mi confermasse che è impostato correttamente. In sostanza, serve una verifica delle connessioni logiche ai sensori, del valore componenti e della gestione dell’alimentazione. Penso sia tutto più o meno a posto, ma non escludo che possano esserci errori anche grossolani. Un parere esterno è fondamentale.

2- I due MOSFET P inseriti nel circuito (U2, U4), sono quelli suggeriti da Gammon nel suo circuito. Per una strana coincidenza (Murphy…:wink: sono anche quelli venduti in confezione da 5pz. su RS-components (quasi 25 euro per 5+5 pezzi), mentre altri MOSFET analoghi con caratteristiche apparentemente simili, vengono venduti anche singolarmente.
Qualcuno può suggerirmi come identificare eventuali MOSFET equivalenti ai due citati, che li possano sostituire efficacemente?

3 - Ho già letto diversi commenti circa l’opportunità di sceglie pannelli solari con un voltaggio di 12V anziché di soli 9V, per compensare le cadute di tensione e le perdite date dal regolatore. Lo stesso Vlad Pomogaev in un aggiornamento successivo ammette di aver sostituito il pannello da 9V con uno da 12V, per ovviare al fatto che il pannello da 9V gli consentiva di ricaricare la batteria per solo un’ora al giorno. In ogni caso, il pannello solare da 9V citato nei componenti è già stato acquistato oltre un mese fa, quindi farò comunque una prova con quello. Non ultimo, andrebbe considerata la diversa posizione geografica tra Vlad e me.
Lui è di Vancouver, nella British Columbia (Canada), io in provincia di Lecco, quindi Italia del nord, in una zona abbastanza rialzata (circa 500m s.l.m) ed esposta a Sud, quindi una posizione probabilmente migliore della sua, ma poi tutto dipende da come lavora il pannello.
Appena lo ricevo, farò delle prove.

4 - Scelta del circuito di ricarica batteria. Suggerimenti, considerazioni.

5 - Valutare l’inserimento di eventuali controlli aggiuntivi, sfruttando i due canali analogici PC3(A3) e PC2(A2), rimasti liberi (es. il monitoraggio della tensione/stato di carica della batteria).

Prima di procedere, devo risolvere questi cinque punti.
Se qualcuno volesse dare un contributo, adesso sa da dove partire…:slight_smile:

Se trovate errori o incongruenze, avvisatemi, per cortesia.
Grazie…!

Saluti,
Mike

Weather_Station_prj_0.1f.ods.zip (21 KB)