Sto lavorando a un sistema di controllo del riscaldamento per la mia casa, ma ho problemi con la lettura del sensore di temperatura superiore a quanto mi aspetto.
Ho un clone Arduino Mini Pro da 5 V collegato a un modulo relè, un display HD47780 e un modulo Tiny RTC, con un DS18B20 collegato ad esso.
Il DS18B20 è alimentato dal 5v Vcc applicato al modulo Tiny RTC anziché utilizzare l'alimentazione parassita sulla linea DQ (poiché non ero sicuro che le librerie Onewire supportassero questa modalità operativa) e il foglio dati DS18B20 dice che Vcc potrebbe essere compreso tra 3.0v e 5.5v. Ho misurato la potenza regolata dal Mini Pro a 5,2 v.
Sto confrontando la temperatura del DS con il termostato ambiente esistente (bi-metallico), un monitor di temperatura desktop RS con due sensori, un piccolo "termoigrometro" e un termometro per frigorifero bi-metallico (nel quarto superiore della sua temperatura intervallo) † . La lettura dal DS è sempre circa 1-2 gradi più alta della lettura degli altri sensori, che sono entro un grado l'uno dall'altro.
† Non quello attuale, ma qualcosa di simile.
Leggendo vari forum ho sentito che questi sensori sono abbastanza precisi ma possono soffrire di riscaldamento localizzato dai componenti vicini, quindi ho spostato il sensore su un cavo da 20 cm e l'ho posizionato ben lontano dal resto dell'elettronica. Questo non ha fatto differenza.
Ho quindi letto che il DS può diventare autoriscaldante se viene fornito con una tensione Vcc troppo alta, quindi ho aggiunto un LED rosso con caduta di 1,7 v e misurato la nuova tensione sul DS come 3,5 v, ma di nuovo, dopo aver atteso il le temperature per stabilizzarsi ancora una volta, questo non ha fatto differenza.
Qualcuno può suggerire perché il DS potrebbe leggere in alto e cosa posso fare per impedirlo?