Vous voulez une plage de signal de 0V à 5V. Ne sommes-nous pas tous :-)? Allons pour une approche différente et voyons où cela nous mène.
Point de départ: la solution la moins chère et la plus simple.
Ce serait une résistance série pour créer un diviseur de tension. C'est le minimum absolu. J'ai remarqué que les gens ne pensent pas beaucoup à cette résistance, il suffit de choisir une belle valeur ronde comme 10k Ω . Mais j'ai trouvé qu'il y avait une valeur optimale pour cela.
La courbe montre la différence de tension entre la lecture minimale et maximale (9k et 20k Ω resp.) En fonction de la résistance série (en k Ω ). Vous voyez, il a en effet un maximum. C'est facile à trouver si vous vous en souvenez ΩΩΩ
( f( x )g( x ))′= f′( x ) ⋅ g( x ) - f( x ) ⋅ g′( x )g2( x )
La différence - V M I N a un extremum pour VMA XVMjeN
réréRX( RMA XRMA X+ RX- RMjeNRMjeN+ RX) =0
La résolution de donne RX
RX= RMjeN⋅ RMA X-----------√
Une beauté!
Donc , dans notre cas , la résistance série sera 13.42k , vous pouvez le vérifier sur le graphique. En plaçant les résistances entre 0V et + 5V, cela nous donnera une plage de sortie de [2V, 3V]. C'est la plage maximale que vous pouvez obtenir avec 1 résistance (*). Ω
Est-ce suffisant? L'Arduino a un ADC 10 bits, donc cette gamme vous donnera une gamme de 200 niveaux discrets. Cela devrait donner une précision suffisante pour un capteur DIY. Donc, aucun autre composant comme les amplificateurs opérationnels n'est nécessaire.
(*) La réponse acceptée donne une plage de 1,9 V, mais elle a les mauvaises équations . Il est impossible d'obtenir une plage supérieure à 1V avec 1 résistance et seulement une alimentation + 5V.