Risultati da 1 a 2 di 2
  1. #1
    Vento teso
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    1,513
    Menzionato
    46 Post(s)

    Predefinito Allineamento sensori in scatola, primo esperimento

    Punzecchiato dai commenti di @snow e @capriccio ho giocato un po' con alcuni sensori che mi ritrovo, infilandoli tutti in una scatola e vedendo cosa sarebbe successo.
    La scatola è in polistirolo espanso che assicura un certo isolamento, spessa 1.5 cm

    I sensori scelti sono stati i seguenti:
    Sette Dallas DS18B20 che mi ritrovavo accoppiati ad un Bosh BME280. Tali sensori erano collegati ad un Arduino su cui girava lo sketch descritto qui
    Datalogger con Arduino e una catena di DS18B20
    mentre per catturare i dati stampati su seriale ho usato Realterm attivando anche l'aggiunta dell'orario ad ogni singola linea ricevuta.
    Un WH31 Ecowitt/Froggit, collegato al GW1000/DP1500
    Un termometro a termocoppia RS1315 con una termocoppia di tipo K, preso diversi anni fa e mai ricalibrato. Ha una uscita seriale che ho collegato al PC usando il vecchio programma in dotazione.
    Un termometrino da pannello cinese con sonda esterna. Il sensore dovrebbe essere un NTC.
    Un termoigrometro da pannello cinese con sonda esterna. Anche qui i sensori sono il solito NTC e il sensore capacitivo (o resistivo).
    Un termometro da barbeque sempre cinese, sempre con sonda esterna che però non ha i decimali. Qui la sonda non so cosa sia, penso sempre una NTC ma potrebbe essere una termocoppia o qualche altra diavoleria.

    I termometri cinesi, non avendo alcun sistema di registrazione, sono stati fotografati ogni tanto.

    Il BME280 è un bel sensore, misura pressione temperatura e umidità ma per la temperatura ci sono problemi e difatti nel datasheet lo descrivono solo come un sensore di umidità e pressione.

    Il DS18B20 ha una accuratezza dichiarata di ±0.5°C fra -10°C e +85°C, ±1°C tra -30°C e +100°C, ±2°C tra -55°C e +125°C
    In uno stress test di 1000 ore a +125°C alimentato a 5.5V ha una deriva di ±0.2°C
    E' un sensore pensato per essere usato in una catena anche molto numerosa di sensori tuti utilizzanti un bus a 3 o 2 fili per cui ogni DS18B20 ha un numero di serie a 64 bit unico che permette di identificare ogni singolo sensore anche nelle comunicazioni.

    I dati dei DS18B20 e del BME280 li ho inseriti in Scidavis invece di Excel. Si tratta di un programma gratuito pensato proprio per l'analisi di dati anche mediante i grafici. Rispetto ad Excel non ha limiti di righe o colonne se non la memoria RAM. Sarebbe una versione che vorrebbe copiare il più blasonato Origin che però è a pagamento. In realtà per raggiungere Origin deve fare ancora molta strada, ad esempio non carica i fogli di lavoro di nessun altro tipo ma ha solo il modulo per importare file ASCII.

    Un esempio del file generato dall'accoppiata Arduino-Realterm è qui
    Date, 10DD4B83000800CB, 28F4A7B506000013, 28FF1842601603EC, 28FF34C8601603F7, 28FFCE9460160326, 28FFC1D160160328, 28FF478F601603B2, BME280
    02/02/2020 12:04:56 ,2.75, 21.94, 21.69, 21.62, 21.62, 21.69, 21.44, 22.22
    02/02/2020 12:05:27 ,2.75, 21.94, 21.69, 21.62, 21.62, 21.69, 21.44, 22.22
    02/02/2020 12:05:58 ,2.75, 21.94, 21.69, 21.62, 21.62, 21.69, 21.44, 22.22
    02/02/2020 12:06:29 ,2.75, 21.94, 21.69, 21.62, 21.62, 21.69, 21.37, 22.22
    02/02/2020 12:07:00 ,2.75, 21.87, 21.69, 21.62, 21.56, 21.69, 21.37, 22.22
    02/02/2020 12:07:31 ,2.75, 21.87, 21.69, 21.62, 21.56, 21.69, 21.37, 22.22
    02/02/2020 12:08:02 ,2.75, 21.87, 21.69, 21.62, 21.56, 21.69, 21.37, 22.22
    02/02/2020 12:08:34 ,2.69, 21.87, 21.62, 21.56, 21.56, 21.62, 21.37, 22.22

    Nella prima riga ci sono i numeri di serie dei DS18B20. Come si può vedere il primo mostra un dato irrealistico e purtroppo il BME280, è rimasto bloccato sulla temperatura di 22.22°C a causa di un errore nel programma.
    Il dato era stampato da Arduino ogni 30 secondi.

    Ho importato i dati in SciDavis e realizzato il grafico.
    Selezionando quindi le colonne interessanti e premendo il tasto destro, sul menù contestuale scelgo statistica sulle colonne che mi genera un'altra tabella con le statistiche in un colpo solo.


    Col Rows Mean StandardDev Variance Max Min
    10DD4B83000800CB [1:3546]
    2,63
    0,055
    0,0031
    2,75
    2,56
    28F4A7B506000013 [1:3546]
    21,19
    0,38
    0,14
    21,94
    20,56
    28FF1842601603EC [1:3546]
    20,96
    0,38
    0,14
    21,69
    20,31
    28FF34C8601603F7 [1:3546]
    20,88
    0,38
    0,15
    21,62
    20,25
    28FFCE9460160326 [1:3546]
    20,87
    0,38
    0,14
    21,62
    20,25
    28FFC1D160160328 [1:3546]
    20,95
    0,38
    0,15
    21,69
    20,31
    28FF478F601603B2 [1:3546]
    20,67
    0,38
    0,15
    21,44
    20,06


    Come si può vedere il primo sensore ha anche una deviazione standard diversa da tutti gli altri che invece mostrano un buon accordo fra loro. Nei grafici ho scartato questo sensore e il BME280, indagherò poi se si tratta di effettivi problemi dei sensori o meno.



    E veniamo ai grafici

    Qui ci sono i 6 DS18B20 rimasti di cui 2 segnano i valori più distanti e si piazzano uno sopra e l’altro sotto a tutti gli altri. I rimanenti 4 si accoppiano a 2 a 2. In rosso la media fra tutti. Sono stati aggiunti anche i dati del WH31 scaricati da Ecowitt.net. Il periodo di campionamento è diverso, con Excel unire i dati sarebbe stato un problema. Invece con SciDavis ho selezionato il grafico e indicato di inserire i dati di un’altra tabella e ci ha pensato lui. Importare i dati di Ecowitt è stato un po’ laborioso.

    Allineamento sensori in scatola, primo esperimento-ds18b20_froggit.jpg

    Questo grafico invece riguarda gli altri sensori cui ho aggiunto i dati di 2 DS18B20, quelli più vicini alla media.
    Allineamento sensori in scatola, primo esperimento-altrisensori.jpg







    Purtroppo mi manca un bel termometro calibrato che faccia da giudice e la prova è stata effettuata solo intorno ai 20 gradi.
    Se avessi a disposizione un frigorifero tutto per me avrei ripetuto l’esperimento dentro al frigo ma ho solo quello di famiglia.

    Per adesso il risultato ottenuto è quello di avere una stima delle differenze fra i vari sensori dovute ai sensori stessi. Per cui se dovessi confrontare degli schermi solari posso avere una migliore stima della differenza dovuta al solo schermo.

    Conto di ripetere questo esperimento ad una temperatura diversa, magari d’estate anche se ci saranno solo pochi gradi in più. Purtroppo non ho una camera climatica, solo il forno che non so a quale bassa temperatura arrivi mentre il frigo mi sa che mi è precluso. E conto di aumentare la durata.
    Inoltre conto di automatizzare l’acquisizione dei dati anche dei termometrini cinesi.

    Intanto, scoperto il problema del BME280 ho avviato un'altra acquisizione.


    Edit: mentre il secondo esperimento va mi sono accorto di un errore nel primo grafico. Avevo già notato che il sensore Ecowitt sembrava anticipare tutti gli altri sensore, stamattina mi è venuto in mente che gli orari sono diversi. Ecowitt è stato impostato in UTC mentre il resto dei sensori è in CET, cioè sull'ora locale, c'è quindi un'ora di differenza.
    Correggerò!
    Ultima modifica di zoomx; 10/02/2020 alle 09:36

  2. #2
    Vento teso
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    1,513
    Menzionato
    46 Post(s)

    Predefinito Re: Allineamento sensori in scatola, primo esperimento

    Da ulteriori indagini sul DS18B20 difettoso è venuto fuori che si tratta del modello precedente, il DS18S20 che funziona in maniera differente.
    Poiché sono facilmente individuabili dal numero di serie, iniziano tutti con 0x10, ho aggiunto al codice le necessarie correzione e adesso funziona anche lui. Ne ho anche sovato un altro tra tutti quelli che ho e che sono in prova.
    Giusto oggi facendo ordine fra delle carte ho scoperto che ne sono venuto in pos***** come campione gratuito oltre un decennio fa, ho trovato l'elenco dei componenti che mi spedirono allora.

    Sto ripetendo i test di allineamento diverse volte (2 volte Windows si è aggiornato e ha interrotto l'acquisizione, mi sono dimenticato di disattivare gli aggiornamenti automatici) e sto aggiungendo anche altri sensori, via via testandoli.

    Manca purtroppo un riferimento assoluto, sono in attesa di un Si7051 che avrebbe un accuratezza di 0.1°C, vedremo.

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •