PaoloP
March 10, 2013, 8:33am
96
Secondo me stai anche facendo un po' di casino con i circuiti, Paolo sta seguendo l'originale che a me, per il momento, sembra un po' troppo impegnativo, visto che la RRef serve per compensare le variazioni di temperatura e per aumentare la precisione di lettura, ma ora hai da risolvere un problema diverso, semmai poi si può riprendere il discorso.
Io per ora ti consiglio di trattare questo sensore come una banale resistenza variabile, visto che i valori in tensione sono molto alti. Tu hai un range di lettura di circa 1,25V, e le rampe sono esattamente 255, non so come ti sei calcolato questo 278.... Se imposti l'ARef su External e gli fornisci 3,3V già le tue rampe salgono a 390. Se non ti bastano puoi usare uno di quegli integratini (sono in formato TO-92, tipo transistor, io ho preso l'intera serie...) che fanno da riferimento di tensione fissa; ora non ricordo esattamente ma dovrebbe esistere la versione a 2,1V, sicuramente c'è la 2,5V. Nel caso peggiore le rampe aumentano a 520. Infine potresti usare l'RRef interna a 1,1V, che significa che ti perdi la parte "alta", il sensore somincia a funzionare a più o meno 18cm di livello, oltre avrai sempre lettura 1023. Per questo tipo di uso non dovremo fare altro che calcolare un semplice partitore, lasciando stare op amp e altro, per rientrare nel range di RRef scelto.
Quindi ora devi prendere una decisione, o insisti con l'op-amp e segui i consigli di Paolo, oppure fai questa prova più semplice e per il momento butti via tutto in un cassetto, e ti aiuto io a calcolare tutto quanto.
altra possibilità: usi 2 partitori come nella figura 4.
Uno lo butti in AREF e l'altro nell'ingresso analogico. In questo modo il riferimento di tensione (inizialmente a 2.5V con resistenze uguali) varia automaticamente in funzione della temperatura e va a compensare automaticamente il dato letto.