Si desidera un intervallo di segnale da 0 V a 5 V. Non tutti :-)? Andiamo per un approccio diverso e vediamo dove ci porta.
Punto di partenza: soluzione più economica e più semplice.
Sarebbe un resistore in serie per creare un partitore di tensione. Questo è il minimo assoluto. Ho notato che le persone non pensano molto a quel resistore, scelgono semplicemente un valore circolare come 10k . Ma ho scoperto che esiste un valore ottimale per questo. Ω
La curva mostra la differenza di tensione tra la lettura minima e massima (9k e 20k rispettivamente) in funzione del resistore serie (in k ). Vedi, ha davvero un massimo. È facile da trovare se lo ricordi Ω ΩΩΩΩ
(f(x)g(x))′=f′(x)⋅g(x)−f(x)⋅g′(x)g2(x)
La differenza - ha un estremo per VMAXVMIN
ddRX(RMAXRMAX+RX−RMINRMIN+RX)=0
Risolve per dà RX
RX=RMIN⋅RMAX−−−−−−−−−−−√
Una bellezza!
Quindi nel nostro caso il resistore in serie sarà 13.42k , puoi verificarlo sul grafico. Posizionando le resistenze tra 0 V e + 5 V questo ci darà un intervallo di uscita di [2 V, 3 V]. Questa è la portata massima che puoi ottenere con 1 resistenza (*). Ω
È abbastanza? Arduino ha un ADC a 10 bit, quindi questa gamma ti offrirà una gamma di 200 livelli discreti. Ciò dovrebbe fornire una precisione sufficiente per un sensore fai-da-te. Quindi non sono necessari altri componenti come gli opamp.
(*) La risposta accettata fornisce un intervallo di 1,9 V, ma ha le equazioni sbagliate . È impossibile ottenere un intervallo superiore a 1 V con 1 resistenza e solo un'alimentazione di + 5 V.