Stranissimo problema con sensore Dallas DS18B20

Utilizzo questo sensore ormai da diversi anni senza aver mai avuto nessun problema... fino ad oggi!
Ho usato quotidianamente questo sensore per rilevare la temperatura del mio acquario da oltre due anni senza intoppi.
Ho costruito per un amico un sistema di monitoraggio con diverse funzioni e qui nascono i miei problemi.

  • Ho provato ad isolare la sonda con un sacchetto di plastica con acqua di rubinetto e messa nell'acquario mi segnala errore (non sempre e ma sistematico e discontinuo;

  • Ho provato ad isolare il problema staccando tutti gli "aggeggi" dell'acquario (aereatore, termoriscaldatore esterno, CO2, filtro, ecc) e riattaccandoli una alla volta e dà comunque errore

  • Ho provato a tenere la sonda fuori dell'acquario tenendola sia all'aria aperta, sia immergendola in acqua di rubinetto in un bicchiere che con acqua dell'acquario in un bicchiere e NON DA' NESSUN PROBLEMA E/O ERRORE :o :confused:

  • Ho messo la sonda in un un bicchiere di vetro sia con acqua di rubinetto che dell'acquario e, appena immersa nell'acquario, dopo un pò da nuovamente ERRORE! :o >:(

Sono giunto quindi alla conclusione che il problema non è la diversa conducibilità dell'acqua ad interferire ma l'acquario stesso. Come ve lo spiegate? Soluzioni?

void temperature()
{
  if (millis() - t > 5000) //Una volta ogni 5 secondi: 
  {
    t = millis();
    sensors.requestTemperatures();
    tempDALLAS = sensors.getTempCByIndex(0);   //Read temperature of Dallas sensor
  }
}


void Show_Temp() //Funzione che visualizza la temperatura su LCD
{
  temperature(); //Leggo le temperature

  // Show the temperature on the Display
  lcd.setCursor(9, 1);
  //lcd.print("T");
  if ((tempDALLAS >= -55) && (tempDALLAS <= 125))
  {
    lcd.print(tempDALLAS);
    lcd.print((char)223); //degree sign
    lcd.print(F("C"));
  }
  lcd.print(F(" ERROR"));
}

Prima di spendere quasi 20,00 € (tra le 13,00 €. della sonda più la spedizione) per questa sonda, sempre che risolva il problema, vorrei trovare una soluzione più economica.

L'unica possibile spiegazione è che quando tu la immergi nel bicchiere solo la prima parte della sonda è immersa nel liquido, mentre nell'acquario non solo la prima parte è immersa ma anche una sezione di cavo è immersa o comunque sottoposta a aria satura di vapore acqueo, quindi se una parte di cavo non è più stagna dell'acqua o dell'umidità penetra all'interno della guaina causando letture errate, potrebbe essere una spiegazione valida?

Stesso problema con due sonde?
E poi... perchè nel mio non ho problemi? Tra l'altro il mio è anche più profondo quindi il cavo è più sommerso.
La differenza tra il mio acquario ed il suo è che nel suo ho prolungato il cavo della sonda perchè l'arduino è posizionato più lontano e che nel mio non ho CO2 ed ho un termoriscaldatore ad immersione interno invece che esterno quindi nel suo l'acqua passa prima in un tubo riscaldante e poi viene immessa nell'acqua mentre nel mio l'acqua è riscaldata da una resistenza dentro un'ampolla di vetro ed immersa nell'acqua.

AHHH, dimenticavo di dire che si tratta di acqua dolce per entrambi e non di marino (salata).

Esempio di termoriscaldatore esterno:

Esempio di termoriscaldatore interno:

L'unica cosa che mi viene in mente è che il termoriscaldatore abbia una dispersione (anche io ho quelli normali interni, anche se non a ventosa, a me sta nel blocco del filtro) che potrebbe avere l'isolante danneggiato (ad esempio se qualche volta il tuo amico l'ha tenuto acceso senza acqua tende a surriscaldarsi ed a bruciare) e che quindi questa corrente tra l'altro alternata dia fastidio alla sonda.

Prova dal tuo amico a staccare temporaneamente la corrente di tutto (pompa e riscaldatore) ed immergi la sonda e vedi se la cosa sparisce. In caso affermativo, riaccendi uno dei due e vedi qual è a dare problemi.

A parte ce non s'era capito che avevi usato due sonde, o quantomeno io non l'avevo capito, hai introdotto un nuovo dato, ovvero che hai prolungato il cavo, se prendi il tuo sistema e "temporaneamente" lo metti nell'acquario del tuo amico come si comporta? Se non fosse possibile, e metti Arduino vicino all'acquario in modo da usare il solo cavo della sonda come si comporta? Detto che hai indicato di aver eliminato tutti i componenti esterni alla saonda (pompa, riscaldatore, ecc.) ti chiedo questo hai spento anche le luci o quelle no? Andando dietro al ragionamento di docdoc se c'è dispersione potrebbe venire anche dai neon (reattore, neon, ecc.)
In ultimo mi può venire in mente che potrebbe essere un problema generico di alimentazione, se puoi cambia l'alimentatore con cui alimenti Arduino oppure (meglio ancora) alimentalo a batteria (Es. ppower bank per cellulare)

potrebbero essere disturbi elettrici provocati dalle pompe di circolazione dell'acqua ...

fabpolli:
A parte ce non s'era capito che avevi usato due sonde, o quantomeno io non l'avevo capito, hai introdotto un nuovo dato, ovvero che hai prolungato il cavo, se prendi il tuo sistema e "temporaneamente" lo metti nell'acquario del tuo amico come si comporta? Se non fosse possibile, e metti Arduino vicino all'acquario in modo da usare il solo cavo della sonda come si comporta? Detto che hai indicato di aver eliminato tutti i componenti esterni alla saonda (pompa, riscaldatore, ecc.) ti chiedo questo hai spento anche le luci o quelle no? Andando dietro al ragionamento di docdoc se c'è dispersione potrebbe venire anche dai neon (reattore, neon, ecc.)
In ultimo mi può venire in mente che potrebbe essere un problema generico di alimentazione, se puoi cambia l'alimentatore con cui alimenti Arduino oppure (meglio ancora) alimentalo a batteria (Es. ppower bank per cellulare)

La prova è stata fatta staccando anche il termoriscaldatore.
Giorni fa la facemmo a luci spente sia facendo passare il cavo della sonda dalla parte posteriore vicino ai reattori che sul frontale distante dai reattori.
Per l'alimentazione ho usato un piccolo alimentatore switch al quale sono collegate direttamente le alimentazioni dell'RTC della sonda e dei relè per non sovraccaricare l'arduino (visibile nelle foto allegate).
Staccare la sonda mi risulta complicato perchè la prolunga (di circa 1,5 mt) è saldata sull'arduino e poi collegata con un connettore ricoperto da termorestringente. Dimenticavo di dire che la sonda ovviamente è dotata di resistenza come da vari doc in rete.
Lo sketch (non ricordo se completo) è visionabile qui: RTC DS3231 impostare allarmi - Software - Arduino Forum
Allego le foto del progetto

Patrick_M:
potrebbero essere disturbi elettrici provocati dalle pompe di circolazione dell'acqua ...

Consigli per risolvere?

io nell'acquario marino di mia figlia.... ho desistito non sono mai riuscito ad eliminare completamente i disturbi forse cambiando la pompa...

Evidentemente l'acqua nell'acquario porta disturbi. Usa cavo schermato fino alla sonda, eventualmente schermando anche quella con foglio di alluminio collegato a massa.

Sarebbe interessante sapere se l'errore è 125 o meno 55
Servirebbe per avere idea di cosa guardare

Consigli su come isolare?
Non ho diretto accesso al tutto. Si trova a circa 20km da casa mia e l'errore non riesco a riprodurlo da me quindi devo andare per forza da lui (con i suoi ed i miei tempi a disposizione) e trovare la soluzione.
Lui ovviamente non conosce nulla di elettronica o arduino e può solo fare le prove che gli chiedo di fare.

se è un disturbo della pompa.... non c'è schermatura che esista, non si tratta del cavo ma della pompa stessa, il rotore (l'elica) è immerso nell'acqua stessa...

Patrick_M:
se è un disturbo della pompa.... non c'è schermatura che esista, non si tratta del cavo ma della pompa stessa, il rotore (l'elica) è immerso nell'acqua stessa...

Quindi anche se acquistassi una sonda in plastica avrei lo stesso problema?

non lo so, l'unica è fare delle prove, o trovare qualcuno con lo sttesso problema che abbia una risposta :frowning:

Questo in foto è il cavo che ho usato per fare le prolunghe.
La cosa che però non capisco è perchè, anche SE stacco TUTTE le prese e metto la sonda nella vasca mi dà errore? Cosa può esserci dentro la vasca che disturba anche se ho tutto staccato, mentre fuori dalla vasca anche con la stessa acqua non dà problemi? :confused: :o

Aggiornamento:

Ieri mi sono collegato da remoto all'arduino e sono riuscito ad isolare il problema.
Ho scoperto che l'errore è il classico -127 che a lume di naso, se non ricordo male, dovrebbe significare DEVICE_DISCONNECTED.
Ho scoperto inoltre che fino a quando l'arduino è collegato al pc (notebook tramite usb) non dà problemi ma dal momento in cui stacco la presa usb comincia a dare nuovamente errore (ripeto SOLO in vasca ed anche se stacco TUTTE le prese dell'acquario, ad esclusione di quella dell'arduino)
Ho anche scoperto che collegando l'arduino con un classico alimentatore esterno tipo quello per ricaricare i cellulari alla presa usb NON dà nessun errore! :o :confused:
L'arduino NANO come da foto già allegate non è stato schermato in alcun modo, tantomeno i relè ed il piccolo alimentatore switch montato all'interno che va ad alimentare separatamente l'arduino e tutto il resto (relè, LCD, sonda ed RTC) simile a questo: https://www.amazon.it/KKmoon-Alimentazione-Trasformatore-Alimentatore-Regolabile/dp/B07DPGH9LS/ref=sr_1_19?ie=UTF8&qid=1538990918&sr=8-19&keywords=trasformatore+12v+2a montato così com'è senza schermature aggiuntive e tarato sui 5v

Consigli?

Mi auto quoto

fabpolli:
In ultimo mi può venire in mente che potrebbe essere un problema generico di alimentazione, se puoi cambia l'alimentatore con cui alimenti Arduino oppure (meglio ancora) alimentalo a batteria (Es. ppower bank per cellulare)

fabpolli:
Mi auto quoto

Ok ma perchè? E se la sonda la alimento direttamente dall'arduino?

Perché se l'alimentatore fa cagare e manda un sacco di disturbi sul'alimentazione hai problemi di più svariata natura e non facilmente riconducibili all'alimentazione.