Problema termistore

Ciao a tutti, ho realizzato un controllo di temperatura con un termistore. Diciamo che ho copiato lo sketch su internet poichè è necessaria una strana formula, mentre il circuito avevo già idea di come farlo. Il tutto è riportato su un display LCD. Il problema è che se alimento arduino con l'USB del PC, la temperatura sempra segnalarla correttamente. Se invece lo alimento con un alimentatore sterno da 5 o 12 V la temperatura sul display "balza" ogni secondo variando ad esempio da 21 a 25 per poi tornare a 20... Se può aiutarvi a darmi qualche consiglio: il circuito presenta anche un servomotore alimentato esternamente il cui alimentatore ha la massa in comune con l'Arduino. Com'è possibile che la temperatura vari così tanto? E' il termistore che è poco preciso (ma non credo proprio che mi dia in uscita 20 gradi e dopo 2 secondi 28 gradi) o sono io che sbaglio qualcosa?

No, non possiao aiutarti, solo eventualmente fare supposizioni visto che non ci dai ne schema ne sketch. Ciao Uwe

Se un ingresso analogico misura male, quasi certamente la responsabilità è della tensione di riferimento.

Un servo può assorbire parecchio e, se a questo aggiungi l'assorbimento della retroilluminazione del display, il risultato è che i 5V non sono più costanti.

Meglio se usi il riferimento interno da 1.1V.

Ovviamente devi modificare lo sketch.

cyberhs:
Se un ingresso analogico misura male, quasi certamente la responsabilità è della tensione di riferimento.

Un servo può assorbire parecchio e, se a questo aggiungi l’assorbimento della retroilluminazione del display, il risultato è che i 5V non sono più costanti.

Meglio se usi il riferimento interno da 1.1V.

Ovviamente devi modificare lo sketch.

Non sono d’ accordo.
Se lui ha fatto un partitore col termistore (NTC o PTC) e una resistenza allora una variazione della tensione si perquote anche sul riferimento 5V e percui non ha influenza sulla misura.

Ripeto senza informazioni dettagliate stiamo pescando nel buio.
Ciao Uwe

uwefed: Non sono d' accordo.

Ha ragione Uwe, il partitore e Aref sono collegati allo stesso valore di tensione pertanto una variazione della stessa non comporta nessuna variazione dei count letti dal ADC a parità di valori resistivi del partitore. Esempio pratico, se il partitore è composto da due R da 10k con 5V la tensione in uscita è 2.5V e l'ADC, con Aref a 5V, legge 512, con 4V la tensione in uscita è 2V e l'ADC, con Aref a 4V, legge sempre 512. Il problema lamentato può essere dovuto al rumore sull'alimentazione, questo si che può causare letture fluttuanti di molti count sul ADC, in questo caso per risolvere conviene collegare Aref al 3.3V, almeno è preciso e non con una tolleranza di +/-10% come il riferimento interno 1.1V dei 328, disaccoppiare l'alimentazione del partitore con un filtro passa basso dall'alimentazione del micro, ovvero una resistenza da 100-220 ohm, in serie al 5V che va al partitore, seguita da un condensatore da non meno di 100 nf, meglio se maggiore, verso gnd.

Questa sera vi mando uno schizzo del circuito e lo sketch, anche se il problema è sicuramente sul circuito e legato all'alimentazione. Se infatti alimento tutto tramite USB funziona correttamente, escludendo però l'alimentazione del servo

astrobeed:
l’ADC, con Aref a 5V, legge 512, con 4V la tensione in uscita è 2V e l’ADC, con Aref a 4V, legge sempre 512.
Il problema lamentato può essere dovuto al rumore sull’alimentazione, questo si che può causare letture fluttuanti di molti count sul ADC, in questo caso per risolvere conviene collegare Aref al 3.3V, almeno è preciso e non con una tolleranza di +/-10% come il riferimento interno 1.1V dei 328, disaccoppiare l’alimentazione del partitore con un filtro passa basso dall’alimentazione del micro, ovvero una resistenza da 100-220 ohm, in serie al 5V che va al partitore, seguita da un condensatore da non meno di 100 nf, meglio se maggiore, verso gnd.

Ma in quel caso devi usare i 3,3V per Aref e per alimentare il partitore?
Ciao Uwe

uwefed: Ma in quel caso devi usare i 3,3V per Aref e per alimentare il partitore?

Si, è anche meglio.

Ho risolto tutto cambiando alimentatore. Ora mi resta da capire perché un alimentatore da 5V 1,5 A da tutti sto problemi. Ho provato anche con un 12 V 0,5 A ma è uguale. Adesso lo collegato ad un alimentatore che mi ero costruito e funziona alla grande. Dovrebbe essere un 5V 0.7A

Gli alimentatori switching, per loro natura, forniscono una tensione con un ripple alla frequenza di switching piuttosto elevato.

Il ripple viene ridotto da un filtro sulla sua uscita che non sempre è presente o ben dimensionato sugli alimentatori economici.

Gli alimentatori lineari di vecchia generazione (quello fatto da te probabilmente lo è), di solito non hanno questo problema.

Ecco, sei stato molto chiaro. In effetti erano due alimentatori di Arduino non originale, cinesate insomma.