Mesurer une resistance?

Bonjour, C'est une question de newb mais un doute m'etreint. Je voudrais simplement mesure la valeur d'une resistance.

Est ce que je peux brancher en directe une resistance alimenter par ma source et en sortie sur la pin analogique. Si je mets la pin en input (je mets à la masse) ou est ce que je suis obligé de faire un pont diviseur? Ma resistance me pemet d'identifier un "machin", une clef branchée. Il devrait exister une dizaine de valeurs différentes...

Je peux pas à cause de la loi d'ohm? Et de la capacité 40mA max sur une pin?

Et sinon un potard cranté en cms, je trouve ça comment? Quand je demande à googl un potard cranté, je trouve rien. ... Je dois demander comment, s'il vous plait? (Oui poliment ;) )

Merci

Le pont diviseur de tension - pour des résistances dans une plage donnée raisonnable - vous permettra une première bonne approximation: vous envoyez 5V et mesurez la tension au milieu du pont avec une entrée analogique et une des 2 résistances du pont connue => la loi d'Ohm vous permettra alors de calculer la résistance inconnue

Il faut bien sûr prendre une résistance connue suffisante pour ne pas dépasser 20mA si d'aventure la résistance inconnue était "nulle" comme ça vous êtes tranquille - mais le soucis c'est si la résistance inconnue est très faible ou très forte par rapport à celle connue, les limites de précision et exactitude liés à la résolution d'échantillonnage de l'ADC de votre arduino vous donneront une valeur pas top.

avez vous une idée de la résistance des 10 clés ?

merci JML, je connais le pont diviseur mais je me demandais si je pouvais pas éviter le bazar... je dois monter le même pont sur 10 cartes... j'ai eu un coup de flemme...

la position de la Resistance connue est importante ou pas? la R. connue est connectée au + ou à la masse?

je sais pas si y a une différence en fait?

merci

La position change juste la formule de calcul - si les 2 résistances sont dans un rapport de grandeur coherent pas de soucis mais faudrait pas que le première (liée au 5V) ne soit pas trop grande par rapport à la seconde (liée à GND) sinon la chute de tension sera déjà super grande et vous n'aurez pas une grande dynamique de mesure - on peut jouer sur la référence analogique pour cela mais ils faut alors connaître les valeurs possible de lecture pour calibrer le tout

alors si je comprends - R1 (au 5V) est plus petite que R2(à la masse) ? c'est ça?

quand tu dis "rapport de grandeur" si j'ai ma R fixe à 10k je peux varier entre x et 10k? (combien x au mini?)

Avec un pond diviseur, ma valeur mesurée oscille soit entre 0-512 ou 512-1024, c'est ça le hic non?

merci

ben la loi d'ohm te le dira....

pour vin=5V

si tu as 10K pour R1..

Si tu as 100ohm pour R2 ...

ca te fait un vout de 0.050V soit 50mV a l'entrée de la pin de l'arduino....

en gros tu peux descendre jusqu'a 15ohm environ minimum pour R2

Si tu as 10K pour R1

si tu as 20K pour R2

Vout = 3,3V soit 3,3V sur la pin de l'arduino.....

Disons que vous avez

5V → R1 (connue) —> R2 (inconnue) —> GND

1/ écrivez les formules de calcul de la tension Vout mesurée en fonction de R1 et R2

2/ mettez cela dans 2 colonnes excel, une avec R2 pour sa plus petite valeur possible, l’autre avec R2 pour sa plus grande valeur possible pour différentes valeurs de R1 qui font du sens pour ne pas dépasser les 20mA en fonction des R2 que vous attendez - un truc du genre

3/ chaque ligne vous donnera donc le min et max de tension lue par la pin analogique. Par défaut cette pin mesure entre 0 et 5V avec 1024 pas possibles mais vous pouvez adapter la référence analogique. par exemple si vous voyez qu’avec un R1 donné votre tension min et max vont être entre 0.2V et 1V, vous pourriez demander à votre arduino de passer en référence INTERNAL1V1 et vous aurez une bonne plage de mesure pour identifier la tension, ce qui vous donnera en application de la formule une valeur proche de la résistance

Si tu câble la résistance fixe sur la carte micro : 1) elle sera commune à toutes les cartes filles à identifier 2) l'entrée de l'adc ne sera jamais en l'air et tu auras une tension stable en absence de carte fille. Pour cette raison en analogique je privilégie la résistance fixe reliée à la masse. 3) l'alimentation du pont sera toujours la même. Toutes ces propositions apporteront une meilleure précision.

Le choix du pas minimal pour discriminer deux cartes filles va dépendre de la qualité du câblage général. Si le câblage est bruité par des longs fils qui forment antenne tu risque d'avoir des soucis. Conclusion : condensateurs de filtrage et expérimentation à prévoir.

Potentiomètre cranté : Je n'en connais pas (sauf à taper dans du matériel professionnel donc cher). Regarde du coté des commutateurs, il en existe des miniatures.

très bon point (comme toujours) de @68tjs. vaut mieux R2 connue.

@68tjs merci 8) j’y vois plus clair

@JML: j’ai fait mon petit tableau :slight_smile: si U est le même que celui du µc ça change rien sur les valeurs si u varie!?

é.

oui si U varie alors forcément la lecture au milieu du pont varie aussi. Donc il faut fixer U

l'idée est de mettre 5V - comme ça vous êtes sûr de ne pas avoir à lire plus de 5V au milieu du pont quelle que soit la première résistance (même si elle vaut 0) et vous ne risquez pas de griller votre arduino :)

(De la qualité et stabilité de cette tension de référence dépend aussi la qualité de votre mesure)

pepe: Toute la question est de savoir dans quelle plage de valeurs les résistances à mesurer doivent se situer (afin de prendre comme résistance de référence la moyenne géométrique des limites de cette plage), et quelle précision tu attends des mesures effectuées (pour vérifier si la méthode convient).

j'ai besoin de 10 paliers... tout va bien.

pepe: Non, elle oscille entre 0 et 1023. On obtient 0 quand la résistance du côté GND est très petite devant la résistance du côté 5V. On obtient 1023 quand la résistance du côté GND est très grande devant la résistance du côté 5V.

Ben j'obtiens jamais 5 volts avec une R2 fixe. Au mieux j'ai 2,5v soit 512 avec R1 et R2 identiques. Non? J'ai faux sur la formule?

mon tableau |197x500

pepe:
Si par exemple R2 fait 15000 Ω, alors tu obtiens Vout = 3V, Ain = 614 et I = 0,2 mA.

Si R2 doit varier entre 10 Ω et 10000 Ω, alors tu as intérêt à prendre R1 = √(10x10000) = 316 Ω ±1%.

oui enfin si refais mon tableau avec R2 fixe à 10k. ça oscille entre 512 et 1024 donc j’ai bien 512 pas mesurables et pas 1024… :confused:

J-M-L:
…si les 2 résistances sont dans un rapport de grandeur coherent… mais faudrait pas que le première (liée au 5V) ne soit pas trop grande par rapport à la seconde (liée à GND) sinon la chute de tension sera déjà super grande et vous n’aurez pas une grande dynamique de mesure…

Ben j’ai mal compris JML alors…

:blush: merci bcp... j'ai compris maintenant.

si R2 est fixe R1 min est de 100ohm

R1 max = 1Mohm facilement

|500x354

Ohlala mais c’est merveilleux ce que tu as fait là…
Y a meme le code…
:money_mouth_face: :astonished: :-X

Je n'ai pas tout suivi (la flemme de tout lire) et je continu sur ce que je voulais te faire comprendre. Je prend volontairement le sujet dans l'autre sens : que peux discriminer l'ADC d'un micro avr Atmel ? pepe a commencé à déflorer le sujet : la précision de mesure en nombre de lsb --> en nombre de pas.

Je reste volontairement général pour rester générique. Exemple si on détermine qu'une mesure se fait à +/- 10 pas soit une étendue de 20 pas, cela veut dire que : Première mesure : on fixe un talon inférieur de 20 pas Minimum = 20 pas Maximum = 20 +20 = 40 pas.

Seconde mesure : Si on se fixe une zone morte de 20 pas la seconde mesure sera comprise Minimum = le max de la mesure précédente + 20 pas = 40 +20 =60 pas Max = 60 pas + 20 pas = 80 pas. et ainsi de suite.

On vient de définir une contrainte pour le calcul du nombre maximal de pas.

Fixation des valeurs de résistance. La formule que tu as donnée est juste et à une particularité : mathématiquement c'est une hyperbole. En pratique cela veut dire qu'elle n'est pas linéaire.- --> si la résistance variable double la sortie ne doublera pas et plus la résistance sera élevée moins la valeur de la sortie bougera.

Il faut se mettre à la place du convertisseur analogique digital, ce qui veut dire qu'il ne faut pas calculer la tension obtenue pour une résistance mais il faut fixer des valeurs de tension bien espacées régulièrement et calculer les valeurs de résistances correspondantes.

Pour cela il faut "retourner" la formule

Vs = Vcc* R2/(R1+R2)

Vs(R1+R2) = R2*Vcc Vs*R1 + Vs*R2 =Vcc*R2 R2(Vcc-Vs) = Vs*R1

R2 = R1*Vs/(Vcc-Vs)

Conseil pour le choix des valeurs de tensions : Le choix de la référence de l'ADC est important. La valeur max de la référence doit être prise au plus près de la valeur maximum à mesurer tout en y restant supérieure dans les cas de figure.

La référence pour l'ADC est soit Vcc, soit une tension externe, soit la référence interne. Selon la carte que tu possède ( --> ce serait bien de nous laquelle) on peut "faire des choses".

On pourra en reparler plus tard quand tu aura choisi tes valeurs de résistances.