annuncio

Comprimi
Ancora nessun annuncio.

[DIY] Autocostruzione di una Stazione Meteo

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • [DIY] Autocostruzione di una Stazione Meteo

    Per chi mi conosce bene da altri lidi, vedi Paolog, sa che io, se ho bisogno di piccole automazioni o semplici gestioni domotiche, i sistemi... me li progetto e costruisco in casa!

    Adesso sono in fase di collaudo del nuovo centralino di gestione per l'impianto HiFi-Cinema (che vorrei condividere qualcosina ma non so in che stanza...), e mentre mi occupo della parte prettamente "meccanica" (mobile e installazione) di quel circuito ho deciso di rispolverare un'idea che mi era venuta un paio di anni fa: progettare e costruire una stazione meteo completa! ovvero, la versione Paoliniana delle varie Lacrosse e Davis...

    Naturalmente, le potenzialita' e le funzioni non saranno a livello dei prodotti commerciali ma io quando faccio DIY elettronico prediligo robustezza, funzionalita' e praticita' al design e ai fronzoli.

    Questo topic sara' la mia "bacheca" dove mettero' il progresso del lavoretto, anche perche' se dal punto di vista dell'hardware piu' o meno ho iniziato il progetto e ho anche qualche trasduttore gia' in casa, ho bisogno del vostro aiuto per quanto riguarda la costruzione dei "sensori" veri e propri, ovvero piazzare il trasduttore nello scatolino, lo schermo solare, insomma la parte "meteo" del lavoro.

    A chi storcera' il naso, dico subito che i miei aggeggi li costruisco con le basette millefori: non hanno la flessibilita' e la compattezza delle basette incise, ma per un solo esemplare permettono di modificare il circuito al volo e comunque con il mio metodo completamente manuale di disposizione dei componenti e delle piste ho raggiunto livelli di organizzazione da far invidia ai circuiti incisi. Il mobile in genere non e' mai di design o "bellissimo", ma piuttosto funzionale e robusto, potremmo dire "industrial design".

    Ho scelto la misura della scheda, bella grande, quindi posso gia' delineare qualche caratteristica.

    Numero di gruppi sensori collegabili
    La stazione potra' interfacciarsi con 8 gruppi di sensori, tramite normali connettori DB9, quelli delle vecchie porte seriali dei PC per intenderci, che sono infinitamente piu' resistenti degli spinotti tipo telefonici e sono assicurabili con le viti. In teoria, pero', avendo in mente di portare anche una linea RS485 sul connettore, potrebbe collegare un numero illimitato di sensori. Per il momento utilizzo il cavo, ma non e' detto che piu' avanti inserisca anche un sistema di comunicazione radio.

    Alimentazione
    Non mi va di usare delle pile perche' anche tirando i consumi del sistema al minimo non mi va di sostituirle periodicamente, soprattutto se decido di scegliere quell'enorme display che ho visto (costosetto...), per ora, in base ai moduli alimentatori che ho scelto, il consumo alla spina e' inferiore a 10W.

    Datalogger
    Memorizzazione dati con timestamp su memoria non volatile, ovvero completi di data e ora grazie a un orologio-datario autonomo con pila a bottone, quindi la stazione non perdera' le misure ne' l'ora se viene spenta. Devo vedere quale tipo di memoria utilizzare e poi come organizzarmi in base alla capacita' della memoria stessa, ovvero quanti dati memorizzare ogni quanto tempo. L'integrato per l'orologio l'ho gia' (Maxim DS1307)

    Display
    Non l'ho ancora scelto, ma sara' un display LCD a caratteri, perche' per il tipo di microprocessore che utilizzero' e' troppo complicato pilotare un display grafico, e comunque per una stazione meteo i simboli sono sempre gli stessi, quindi basta un display alfanumerico. Potrebbe essere un 4 linee per 40 caratteri, quindi con ampio spazio per visualizzare anche ad esempio, il grafico della pressione o di altri valori.

    Trasduttori gia' disponibili
    Sensore di pressione-temperatura combinato MPL3115A2 calibrato 500-1100 hPa e -40-+85°C a 20 bit di precisione
    Sensore di umidita' relativa DHT11 calibrato 20-90% precisione 5% a 8 bit

    Come sensori temperatura remoti pensavo al classico LM35CZ, mentre ho bisogno del vostro aiuto per anemometro, anemoscopio e pluviometro

    Comincia l'avventura... stay tuned! (forse )

  • #2
    Ciao
    Progetto ambizioso
    Ti sconsiglio il DHT11 e obsoleto mi sembra che non supporti i decimali
    ma di usare il DHT22
    Humidity: 0-100%, 2-5% accuracy
    Temperature: -40 to 80°C, ±0.5°C accuracy
    Comunque Entrambi i sensori hanno temperatura e umidità quindi direi che non serva il LM35CZ
    Oltre l'anemometro bisogna costruire il pluviometro di non facile costruzione , per la taratura
    Davis 6153 - GraphWeather Version 2.0.312B - www.sacilemeteo.it
    Ws2350 weewx 3.8 - http://sacilemeteo.it/ws2300/

    Commenta


    • #3
      quello ho... cerchero' il DHT22 altrimenti avevo addocchiato i sensori HIH della Honeywell ma hanno l'interfaccia I2C che non e' adatta a collegamenti su medie distanze.

      Il connettore DB9:
      +5V GND e Vref 2.5V
      Un ingresso per segnale analogico con adattatore di impedenza
      2 linee di comunicazione 1-wire (programmabili) con pull-up
      Coppia RS485 half duplex (la UART del microprocessore)

      Se voglio utilizzare sensori remoti con protocolli tipo I2C o SPI dovrei mettere un altro piccolo microprocessore nello scatolino del sensore che faccia da "ponte" tra la linea RS485 e la connessione seriale con il trasduttore, cosa che comunque dovro' implementare quando mettero' l'anemometro-scopio.

      Per il barometro ho trovato un altro sensore piu' preciso a 24 bit che sulla schedina integra anche il regolatore e il traduttore di logica, dato che questi sensori lavorano tutti a 3V e il mio sistema va a 5... l'inossidabile LM35 almeno uno lo voglio allacciare per verificare la bonta' dell'A/D a 10 bit integrato nel micro (avrai gia' capito che famiglia di micro... )

      Commenta


      • #4
        Progetto che procede, buona ingegnerizzazione del condizionamento segnali sulle prese dei sensori. Ho eliminato l'alimentazione a 3.3V perche' non ho piu' periferiche che la richiedono, questo unito a un'ottimizzazione delle piste sui connettori ha aumentato le possibilita':
        Ogni connettore DB9 ora porta 2 canali analogici, 2 canali digitali 1-wire con pull-up, la tensione di riferimento (2 stadi regolatori per 2 gruppi di 4 connettori) e la linea RS485.
        Ora devo sviluppare la parte di interfaccia con il microprocessore, ovvero in arrivo alcuni modelli di ADC, scegliere quale utilizzare

        Convertitore a 10 bit del micro, che ho gia' usato in altri progetti, funziona molto bene anche usando la propria alimentazione come tensione di riferimento.
        MCP3202 convertitore esterno seriale a 12 bit.
        AD7715 convertitore esterno sempre seriale, a 16 bit sigma-delta.

        Per ora l'unico sensore analogico che ho e' l'LM35, che ha una curva di 1mV per ogni 0.1°C, ma nelle specifiche e' indicata un'incertezza di misura di mezzo grado (cioe' 5mV). Il convertitore del Pic ha una risoluzione di 4.88mV, quindi andrebbe gia' bene se mi accontento di mezzo grado di precisione. Con l'MCP3202 non riuscirei comunque ad apprezzare la variazione di 0.1 perche' ha una risoluzione di 1.22mV, dovrei scegliere l'AD7715 che legge 76.3µV... anche se temo sia troppo sensibile ai disturbi nonostante il doppio filtro in ogni ingresso.

        Commenta


        • #5
          Ah dimenticavo: il nuovo sensore barometrico e' l'LPS25H montato su modulino con regolatore 5V e convertitore di interfaccia. 24 bit, 260-1260 hPa con precisione 0.2 hPa. Anche i calcoli dovrebbero essere semplici essendo programmato per 4096 LSB/hPa

          Commenta


          • #6
            Pronto il progetto della parte relativa alle prese per i gruppi di sensori e il loro collegamento con il microprocessore. Anche la sezione relativa al datalogger e' piu' o meno pronta: capacita' di memoria 512KB, autonomia circa 43 giorni per porta con campionamento orario e memorizzazione di record da 64 byte che dovrebbero essere piu' che sufficienti per registrare tutti i valori di un gruppo sensori.

            Commenta


            • #7
              Eliminate le linee digitali 1-wire dai connettori DB9 non ha senso portare sia la linea 1-wire sia la RS485 con cui posso fare di tutto. Piuttosto se devo collegare un sensore 1-wire faccio una schedina con il sensore e un Pic a 8 piedini per interfacciarlo con la RS485.

              Dovrei aver trovato il DHT22 AM2302 da usare al posto del 11, altrimenti avevo addocchiato un Honeywell HIH4602 ma ha 2 difetti: e' analogico quindi mi serve un ADC ma soprattutto... costa tantissimo

              Commenta


              • #8
                Domani mi arrivano i connettori DB9. Intanto qualche dettaglio.

                8 connettori divisi in 2 gruppi da 4

                16 canali analogici: 12 bit, campo di misura da 0 a 4.096V con possibilita' di utilizzare una tensione di bias presente sul connettore per misure negative; risoluzione 1mV o 0.1°C se usati con LM35.

                Presenza su ogni connettore di una linea RS485 half-duplex che permette una notevole espandibilita' della stazione potendo collegare non solo singoli sensori digitali (con un micro che fa da traduttore con il protocollo usato dal sensore) ma anche nodi remoti con piu' sensori collegati, anche se per ora non ho bisogno di decine di sensori...
                Grazie alla RS485 ho anche il riconoscimento automatico dei sensori collegati a ogni porta (sto sviluppando un semplice protocollo di comunicazione).

                Datalogger con 8 banchi di memoria EEPROM da 64KB, ho preferito utilizzare proprio 8 memorie in modo da dedicarle una per porta e semplificare la gestione dei dati.

                Display da 40x4 caratteri di dimensioni maggiorate retroilluminato (ma dovrebbe essere transflective quindi devo verificare se di giorno e' leggibile anche senza illuminarlo).

                L'architettura del sistema volendo permetterebbe l'installazione di un modulo radio bidirezionale

                Commenta


                • #9
                  Il montaggio procede.
                  DSC_9431.jpg
                  Ovviamente mancano tutti gli integrati, ma si possono vedere gli zoccoli: la fila da 8 dietro le porte sensori sono i ricetrasmettitori RS485 (uno per porta ovviamente), i 2 integrati piu' grandi sono i multiplexer che raccolgono i 16 canali analogici, in alto abbiamo il microprocessore affiancato dal banco di memorie del datalogger e l'alloggiamento per la pila dell'orologio. Le piste sotto sono piu' o meno finite, ma non sotto il connettore del display (in alto a destra): non mi e' ancora arrivato e anche se ho la scheda tecnica voglio verificare prima se il connettore e' veramente a destra (visto che poi modificare tutto non e' il massimo )

                  Commenta


                  • #10
                    Piedinatura della porta DB9 da davanti.
                    DB9.jpg
                    VREF e' una tensione di riferimento o di bias, che in genere si somma all'uscita del sensore, ad esempio e' utile con sensori di temperatura che restituiscono 0.00V a 0°C e permette di misurare temperature negative (l'uscita diventa T+VREF). E' ottenuta da un partitore di precisione con trimmer di regolazione ma l'eventuale tolleranza o la variazione nel tempo non conta: sfruttando il secondo ingresso del convertitore A/D, il sistema a ogni lettura analogica campiona il valore della VREF in quel momento e la sottrae dalla lettura del sensore.

                    A proposito di sensore, la basetta standard che permette di collegare qualsiasi cosa, sia analogica che digitale, ha dimensioni 58x35 mm. Solo con sensori analogici scende a 30x35

                    Commenta


                    • #11
                      Ieri nella pausa dei lavori edili ho scoperto che il display 40x4 e' bello e leggibile anche senza retroilluminarlo, ma... vuole una tensione negativa per il contrasto. Quindi sto modificando la scheda per inserire un piccolo inverter

                      Commenta


                      • #12
                        Buon Lavoro !!!!!

                        Commenta


                        • #13
                          Qualche piccolo aggiornamento sul montaggio.
                          Posizionato e installato il modulino alimentatore, alla fine ho riciclato un 15W (5V 3A) cosi' scalda meno.
                          DSC_9518.jpg
                          Montato il piccolo quarzo dell'orologio, finito l'inverter (i condensatori vicino all'alloggiamento della pila) e ho finalmente montato anche il gruppo sensori locale. Termobarometrico, termoigrometrico e visto che avevo una sonda LM35DZ recuperata da un vecchio termostato... imbarazzo della scelta (da menu )
                          DSC_9519.jpg
                          E infine ci sono le torrette e il connettore... per accogliere il grande display.
                          DSC_9521.jpg

                          La tracciatura delle piste sotto la scheda e' piu' o meno completata, ora mancano da costruire e montare tutti i ponticelli superiori, dopodiche' volendo posso anche cominciare a scrivere qualche pezzo del software di controllo della stazione, ad esempio tutti i blocchi operativi relativi alla comunicazione con i sensori locali, la comunicazione con l'A/D esterno, qualcosa di gestione del display, cosi' posso gia' provare qualcosa: semplice visualizzazione dei valori letti.

                          Tra non molto quel display mostrera' qualche numero...

                          Commenta


                          • #14
                            Per i pochi che leggono... oggi e' un grande giorno.

                            Preparati e montati tutti i ponticelli, fatto un paio di modifiche a dei condensatori perche' i 2 integrati 4067 ci sbattevano contro, e' arrivato il momento di cominciare qualche collaudo.
                            Prova di presenza cortocircuiti: Ok
                            Prova presenza alimentazione su tutti gli zoccoli degli integrati: Ok

                            E' il momento di iniziare appunto a installare gli integrati sui relativi zoccoli, per ora quelli non direttamente collegati al processore.
                            DSC_9523.jpg

                            Regolazione della VREF delle porte, circa 2.5V
                            DSC_9522.jpg

                            Regolazione preliminare della tensione di contrasto del display, la scheda tecnica indica -3.5V
                            DSC_9524.jpg

                            La sonda analogica locale gia' funziona: 23.9°C sul tavolino.
                            DSC_9525.jpg

                            E il microprocessore per cui ora iniziero' a scrivere il programma, incaricato di gestire tutta la stazione.
                            DSC_9527.jpg

                            Commenta


                            • #15
                              Intanto sto facendo delle modifiche, perche' sto avendo grossi problemi a far funzionare il microprocessore il programma manco parte...
                              Per ora uso il 16F887 ma penso che lo cambiero' con qualcosa di piu' potente e con piu' memoria, perche' per gestire la sola comunicazione I2C con il barometro locale, anche condensando il codice il piu' possibile, mi prende non poche righe di programma...

                              Commenta

                              Sto operando...
                              X