Multiplexage de résistances

Bonjour,

Lors mon alternance, j'ai pour mission de lire la valeur de plusieurs résistances différentes avec un seul Keithley. Il est possible d'enregistrer les valeurs en fonction du temps avec LabVIEW.

Afin d'éviter de débrancher et rebrancher pour mesurer chaque résistance, j'ai pensé utiliser une carte multiplexeur, où la fréquence pourrait être choisie afin de lire chaque seconde la valeur d'une autre résistance. Par exemple, j'ai 4 résistances, il faudrait que sur 4 secondes je retrouve la valeur de toutes. Si vous avez des idées de quelle carte serait adaptée je suis preneur.

J'ai aussi pensé qu'il était possible d'utiliser une simple carte arduino UNO et de coder le multiplexeur, en sélectionnant chaque seconde en entrée, un pin de la carte où une résistance serait branché, et en sortie, un seul pin qui serait lu par le keithley.

Voici le schéma auquel j'avais pensé.

SCHEMA MULTIPLEXAGE (002)

Bonjour,
c'est pourtant ce que je ferais à ta place ...

J'ai peut être oublié de préciser le contexte. Je suis alternant en système embarqué, et j'ai pour but de rendre un dispositif (déjà existant) autonome, sans avoir à interagir avec de manière direct. Ce dispositif mesure la conductance d'un capteur résistif où des particules de suies se sont déposés dans un espace inter-électrode. De part leur composition en carbone les particules de suies sont conductrices. En appliquant une tension de polarisation aux bornes de ce capteur résistif, les particules de suies adoptent une forme dendritique, et créées ainsi des ponts entre les électrodes. La conductance du capteur avec les suies peut être alors mesurée afin de quantifier ces particules. Puisqu'il y a plusieurs capteurs, j'ai besoin en amont de valider ce système avec des résistances.

pas tout saisi, mais il me semble que dans ce cas
il n'est pas nécessaire d'utiliser un multiplexeur, qui ne ferait que d'apporter de l'imprécision à la mesure
l'idée, c'est d'utiliser plusieurs sorties de l'arduino (HIGH ou LOW, en fonction de la polarité de l'électrode), et de les actionner à tour de rôle, en réalisant chaque fois la mesure
intuitivement, on peut peut-être aussi faire des trucs, (croisements, impulsions), pour améliorer la précision

Un multiplexeur analogique a une résistance interne non négligeable, exemple 120Ω sous 5V pour un CD4052. Donc tout dépend de la résistance à mesurer.

Avec le schéma du post #1, quelle que soit la valeur de la résistance, on lira toujours 5V aux bornes du Keithley. Farceur!

@glmplx , @absolkil

si vos 2 sujets sont communs merci de le dire : je peux vous aider sur LV mais en dehors de ce forum qui n'y est pas dédié (donc en MP), pour le reste si ça peut intéresser les utilisateurs Arduino comme par exemple les routines de communication série continuez ici.

Le but est de retrouver les bonnes valeurs des résistances pour savoir si cela peut être appliqué au dispositif que j'ai brièvement expliqué dans un autre message.

Si tu commençais par donner une fourchette de valeurs ?

Bonjour glmplx

Quelque soit la façon de mesurer tes résistances, pour sélectionner celle à mesurer tu as intérêt à utiliser des relais reed qui eux, contrairement au multiplexage électronique, n'influenceront pas ta mesure.
image
Ils peuvent être commandés directement depuis la pin de l'Arduino, le version 5V a une bobine de 500 Ohms et, en plus, il ont une diode de protection:
image

Sinon tu peux commander tes reed via l'ULN2803.

Cordialement
jpbbricole

On m'a demandé de réaliser ca pour des résistances en 1K et 1M ohm, c'est très large. Avec Arduino je pense que c'est possible mais avec un montage un peu différent (a base d'un pont diviseur).

Ben oui ce serait commencer par le commencement.
1 fourchette de valeur à mesurer
2 recherche de multiplexeurs analogiques -> il en existe des modernes, mais il faut faire l’effort de chercher.
3 vérifier si le couple valeur a mesurer/resistance residuelle du multipleur est cohérent
4 si ce n’est pas le cas rechercher une autre solution.

Quel est le pas entre deux valeurs possibles ?

Discerner deux valeurs espacées de 5 % n’est pas la même chose que discerner des valeurs éloignées.de 100 %.
Les valeurs de résistances sont elles normalisées (quelle serie) ou sont elle le resultat d’un capteur .

Il va falloir apprendre a bien coucher sur le papier toutes les caractéristiques du projet.

Un CD74HC4067 (résistance ON = 70Ω) introduirait une erreur de 7%.

Je ne vois pas d'ailleurs ce qui te fait choisir ce genre de composant. Certains MOSFETs ont une résistance RDSon de quelques dizaines de mΩ. Un relais se situe plus généralement aux alentours de 100mΩ.
Des MOSFET ou des relais feront le job beaucoup mieux que n'importe quel multiplexeur analogique.
Pour mesurer une résistance, on peut adopter un générateur de courant constant, et mesurer la tension aux bornes de la résistance, ou un pont diviseur bien choisi.

Non elles sont normalisés bien sûr, le but est de valider la méthode sur des résistances pour pouvoir lire la conductance sur le capteur en appliquant une tension de polarisation de 10V je me suis trompé sur le schéma, autant pour moi. Mais avec par exemple des valeurs de résistances comme 1000Ohm, 10.000Ohm, 100.000 Ohm et 1 000.000 Ohm, si les valeurs sont retrouvés la procédure peut être appliqué au capteur. Et je veux bien chercher des multiplexeurs analogiques mais je ne connais aucune référence c'est pour ca que je suis ici ca me semble évident à comprendre. Je suis en apprentissage je n'ai pas eu l'occasion de travailler ou de connaître une grande variété de modèles différents.

Oui c'est ça l'idée, donc avec 10V, la bascule entre les résistances doit être fait automatiquement. Et pour les valeurs des résistances, c'est ce qui m'a été imposé, je ne peux pas vraiment choisir comme je veux c'est pour m'amuser que je fais ca :sweat_smile: .

Et que penses-tu des MOSFETs en tant que commutateurs ?
L'intérêt, en plus de la faible valeur de résistance en mode passant, est le prix :
https://fr.aliexpress.com/item/1005004179433957.html
AO3400
0.33€ + port 1.39€ les 20 pièces

Oui ca peut être une bonne idée, mais je ne sais pas si la fréquence de commutation peut être modifiée ou si il y en a une de base. Par exemple si je prends une fréquence de 1Hz pour X canaux, la valeur de chaque canaux sera lue toutes les X secondes.

1Hz, pour un MOSFET ce n'est rien. Les temps de commutation sont largement inférieurs à la µs.

Oui 1Hz était un exemple. Donc ca voudrait dire que chaque MOSFET doit être connecté à une résistance différente, et les grilles de chaque MOSFET seront contrôlées par un signal de commande pour activer ou désactiver chaque canal. En utilisant une horloge ou un compteur, je pense pouvoir régler la fréquence de commutation pour lire chaque canal à un certain temps.