Arduino UNO & Capteur flexion 2.2"

Bonjour à tous,

Je me permets cette petite question relative à un capteur de flexion 2.2 pouces, que j'essaie de faire fonctionner avec un arduino UNO (n'étant pas du tout expert dans le domaine malheureusement)...

Le capteur a ces spécifications :
Straight resistance : 25K ohms
Resistance tolerance : +-30%
Bending resistance change : 60K~110K ohm
Rated power : 1Watt
Non-bending state resistance: ~9000 ohms
90 degree bending resistance: ~14000 ohms
180 degree bending resistance: ~22000 ohms

J'ai vu plusieurs exemples de câblage sur le net, comprenant tous une résistance obligatoire afin de pouvoir récupérer le signal analogique. Certains de ces exemples utilisent une résistance 10K, et d'autres une résistance 22K. J'ai testé avec plusieurs types de résistances dont ces 2 là (test aussi 1k, 51k, 100K) et à chaque fois, la plage d'action entre la position du capteur droit et lorsqu'il est plié est d'environ 18 ou 20...

Hors, lorsque je vois les exemples sur le net, les plages d'actions sont beaucoup plus importantes (plage d'action entre 100 et 150). Pour ma part, il s'agirait donc d'avoir une plus grande plage de valeur pour accroitre la précision du capteur entre ses 2 positions.

Alors certes, je pourrai utiliser la fonction map() afin de convertir ma plage de valeur sur une plage plus importante, mais si les valeurs natives récupérées peuvent être plus importantes, ça m'arrangerait pour gagner en précision.

Sauriez-vous d'ou peu provenir mon problème ? Est-ce le comportement normal du capteur sachant que cela ne m'en donne pas l'impression aux vues des exemples présents sur le net ?

Si vous avez des idées ou des réponses à cette question, je suis preneur afin de pouvoir avancer sur mon projet car là, je bloque un peu :slight_smile:

J'ajoute en PJ l'output de mon capteur de flexion (1ère ligne = valeur du capteur droit, puis courbure progressive jusqu'à la dernière ligne).
Je mets aussi une photo de la courbure que je lui applique pour l'obtention de ces résultats.

Merci par avance pour vos retours !


Petit oubli, c'est la valeur "val basse" qui importe sur le screen d'output (dernière valeur la plus basse récupérée et conservée en mémoire)

Bonjour nono44413

5V Arduino  
  │  
  R1 (10 kΩ)  
  │  
A0 (Pin analogique)  
  │  
Flex Sensor (R2)  
  │  
GND Arduino

Pour avoir ces informations, j 'ai posé ta question à pexplexity.

Intéressant ce ruban, as tu un lien sur le produit?

A+
Cordialement
jpbbricole

Bonjour jppbricole.

Merci pour le retour (encore une fois étant donné que tu m'as déjà aidé sur un autre sujet il y a quelques temps :-)).

Malheureusement, mon branchement est déjà celui-là, d'où mon incompréhension.

Voici le lien vers le capteur si ça peut en intéresser certains (dont toi à priori ;-)) :slight_smile:
https://fr.aliexpress.com/item/33006987477.html?spm=a2g0o.order_list.order_list_main.85.c3ef5e5bMUyn73&gatewayAdapt=glo2fra#nav-specification

Si tu as d'autres idée pour mon problème, je suis preneur :slight_smile:

A bientôt

Soit un capteur avec ces caractéristiques

Avec les valeurs ci-dessus, si tu utilises une résistances fixe entre 10kΩ et 22kΩ (la dynamique maximum est obtenue avec une résistance de 15kΩ)

  • la tension min sera d'environ 2V
  • la tension max sera d'environ 3V
  • soit une dynamique d'environ 1V

Ce qui donnera en sortie de l'ADC pour un Vref de 5V

  • angle de 0° environ 400
  • pour un angle de 180° environ 600
  • soit une dynamique d'environ 200

Il faudrait peut-être mesurer

  • les valeurs réels de ton capteur dans les positions 0°, 90° et 180°
  • vérifier la valeur de la résistance que tu as utilisée dans ton pont pour faire ta mesure.

A noter que les caractéristiques données par le vendeur sont contradictoires.
Il annonce

Straight resistance : 25K ohms

qui est en contradiction avec

Non-bending state resistance: ~9000 ohms

et il annonce

Bending resistance change : 60K~110K ohm

qui est en contradiction avec

Non-bending state resistance: ~9000 ohms
90 degree bending resistance: ~14000 ohms
180 degree bending resistance: ~22000 ohms

Bonjour fdufnews,

Merci beaucoup pour ces explications.

Effectivement, c'est ma faute pour la contradiction des données techniques.
Il y avait aussi une section spécifique pour un autre capteur 4.5", et les données suivantes sont relatives à ce dernier :
Non-bending state resistance: ~9000 ohms
90 degree bending resistance: ~14000 ohms
180 degree bending resistance: ~22000 ohms

Désolé pour l'erreur.

Lorsque je teste la résistance du capteur en dehors de mon montage avec un multimètre :

  • 26000 ohms en position non pliée
  • 30000 ohms en position plié ~180°

Lorsque j'utilise le petit bout de code (en fin de message) afin de récupérer le voltage ainsi que la résistance avec le montage et une résistance de 10K :

  • tension = 1.30V, résistance = 28000 ohms en position non pliée
  • tension = 1.26V, résistance = 29400 ohms en position plié ~180°

Je ne suis pas assez calé en la matière pour savoir quoi faire de ces valeurs à vrai dire, étant parfaitement novice dans le domaine.

Si tu as des pistes, je suis preneur.

Merci par avance :slight_smile:

########################
########################
const int flexPin = A1; // Pin analogique
const float VCC = 5.0; // Tension d'alimentation
const float R_DIV = 10000.0; // Résistance en série (10 kΩ)

void setup() {
Serial.begin(9600);
}

void loop() {
int flexADC = analogRead(flexPin); // Lecture analogique
float flexV = flexADC * VCC / 1023.0; // Conversion en tension
float flexR = R_DIV * (VCC / flexV - 1.0); // Calcul résistance du capteur

Serial.print("Tension (V): ");
Serial.println(flexV);
Serial.print("Résistance (Ohm): ");
Serial.println(flexR);

delay(500);
}
########################
########################

Il ne correspond pas à ce qui est annoncé

Je dirais qu'il est défectueux.
J'ai fait un petit tour sur Ali où sur d'autres boutiques qui vendent les mêmes capteurs il y a des acheteurs qui se plaignent de capteurs qui ne fonctionnent pas ou qui fonctionnent mal.

Si tu les as reçus récemment, tu peux toujours tenter d'ouvrir un litige.

Je t'avoue que j'espère fortement que tu te trompes étant donné que j'en ai acheté 8 ! :sad_but_relieved_face:

J'en ai testé d'autres, mais le résultat ne varie pas plus précisement pour autant.

Et j'ai des sacrées différences entre chaque capteur que j'ai testé en position dépliée un par un au multimètre :

32000 ohms
27400 ohms
27700 ohms
30700 ohms
25600 ohms
26600 ohms
26200 ohms

Tu penses qu'ils sont tous défectueux ? Si oui, je vais me permettre de verser une petite larmichette pour marquer le coup :sweat_smile:

J'ai compris que la résistance de 25 k est donnée à ± 30%
Soit entre 17,5 k et 32,5 k.
Tes exemplaires sont limites dans le haut de la fourchette, mais ils sont conformes.

Le probleme est plutôt ça ;

Obtiens tu ces variations ?

J'en profite pour reposer ma question : quel est ton schéma de câblage ?

Bonjour 68tjs,

merci pour ce retour qui me rassure un peu :sweat_smile:

Comme je l'avais spécifié plus haut, j'ai ces variations :

  • 26000 ohms en position non pliée
  • 30000 ohms en position plié ~180°

Pour le reste, je joins une photo de mon câblage (la résistance fais 10K), je n'ai pas fais de schéma, mais je me suis basé sur le schéma que jpbbricole a mis dans sa réponse plus haut

Merci encore à tous pour le retour


.

Bonjour,

Quel schéma de @jpbbricole ?

En tout cas pas celui là:


Mais plutôt celui là (celui que tu as câblé):


Avec ce schéma, plus tu plie le capteur de flexion, plus tu augmente sa résistance, plus tu diminue la tension sur la broche A0.

C'est le principe du pont diviseur et de l'influence de la position de la résistance variable sur ce pont.

"en haut", si la résistance variable augmente la tension divisée diminue.

"en bas", si la résistance variable augmente, la tension divisée augmente.

Cf les tutos de Eskimon, réguliérement conseillés ici (apaisant à écouter avant de s'endormir :wink:)

Le Pont Diviseur

Et je rajouterais qu'au final, puisque ton schéma est à l'inverse de celui attendu, il y a aussi unversion ici:


Ce qui au final ne change rien au problème qui est une dynamique étonnamment faible.
D'après les spécifications du capteurs on devrait avoir un delta de la résistance, entre droit et plié à 180°, d'au moins 60kΩ et on a tout au plus 3kΩ.

Pas 60k, mais 13k, enfin, ça c'est selon les infos de nono.

A la base, il y a eut beaucoup d'erreurs d'interprétation je trouve.

Exactement, c'est le vrai problème !

Et je profite de cette réponse pour rappeler cette demande de renseignement restée sans réponse :

La valeur de la résistance "droite, non pliée" est dans les valeurs de la spécification.
Il y a un gros doute sur la valeur de la résistance pliée.

Déjà il faut s'entendre sur ce qu'on appelle "plié".
A 90 ° ou à 180°
Avec quel angle ? Parce que pliée en forme de cercle ou plié presque à plat ne donnera pas le même résultat.

AMHA il faut déjà vérifier que l'on trouve les mêmes valeurs que le fabricant, dans les conditions du fabricant, pas dans celle de youtube.
Ensuite si les bandes sont conformes il faut faire des mesures dans TES conditions d'utilisation pour definir le schéma d'utilisation qui convient..

Schéma :
S'il te plait donne quelque chose qui ressemble à un schéma électrique.
Inutile d'aller chercher des outils complexes.
Les meilleurs outils sont une feuille de papier, une règle et un stylo.
Tu dois probablement avoir une imprimante qui fait scanner, sinon tu prend une phote et lmet en pj en utilisant l'icone en forme defleche qui se trouve immédiatement à droite de celle marquée <CODE>.
Merci, cela nous facilitera la tâche.

Bonjour jef59. Merci pour le retour. Je parlais d'avoir suivi ce schéma :

Mais même si mon schéma était inversé et comme le dis fdufnews, cela n'explique pas la faible dynamique que j'obtiens.

J'ai fais mon méa culpa sur l'erreur d'information que j'avais fournis dû à ma mauvaise interprétation des données techniques, mais j'essaie de rester le plus factuel possible malgré le manque de compétence dont je ne me suis pas caché.

Voilà comment je prends ma mesure de résistance du capteur au repos et plié, et les valeurs associées lisibles sur le multimètre :

J'obtiens toujours une dynamique d'environ 20K quel que soit le capteur testé sur les 8 capteurs que j'ai, alors que de ce qu'on en voit sur les spécifications, la dynamique devrait se trouver entre 60K et 110K (si je comprends bien la documentation, je joins de nouveau le lien du capteur ci-après) :

Lien capteur :
https://fr.aliexpress.com/item/33006987477.html?spm=a2g0o.order_list.order_list_main.85.c3ef5e5bMUyn73&gatewayAdapt=glo2fra#nav-specification

Donc j'avoue être un peu démuni et ne pas vraiment savoir ou m'orienter pour résoudre mon problème.

Merci par avance pour vos avis éclairés encore une fois.

Ces résistances fonctionnent souvent en mode compression ou en mode extension.

En mode compression la résistance diminue.
En mode extension la résistance augmente.

On ne voit rien sur les photos, la résistance est probablement constituée d'un fil qui forme une grecque.

La valeur d'une résistance est égale à :

R = k* L/S

k = coefficient du matériau avec lequel la résistance est fabriquée.
L = longueur totale du fil
S = surface de la section du fil.

A la compression du métal résistif, la longueur diminue et la surface augmente, donc la résistance diminue.

A l'extension c'est l'inverse.

Question :
Avec la même forme de pliage, trouves-tu la même valeur de résistance quand tu plie avec les résistance à l'extérieur du pliage, c'est à dire en extension, ou quand elle sont à l'intérieur du pliage c'est à die en compression ?

Et bien écoutez, vous allez certainement tous me maudire, mais sur les 8 résistances, j'en ai seulement tester 5 à la courbure et non les 8, me disant bêtement que statistiquement, si le problème apparaissant sur 5 capteurs, il apparaitrait aussi sur les 3 derniers. Et bien figurez vous que dans un ultime doute, j'ai testé un sixième capteur, et il a bien une dynamique se trouvant dans le range spécifié dans la doc technique (environ 70K). Et le comble, c'est que j'ai donc testé les 2 derniers, et ils sont aussi fonctionnels... Résultat, je crois que je vais aller faire un loto. 5 Capteurs sur 8 défectueux, et je n'ai testé que ceux qui l'étaient.
Bref, 2 choses à retenir de ce post histoire qu'il puisse tout de même être utile à quelqu'un :

  • N'achetez pas vos capteur de flexion sur Aliexpress
  • Ne soyez pas couillon comme moi, et testez tous les composants si vous en avez plusieurs exemplaires.

Encore merci pour votre aide, j'en sors avec de plus amples connaissances quoi qu'il en soit, et désolé pour le dérangement :folded_hands:

Je n'ai pas la réponse a la dernière question que j'ai posée :

Si tu plies dans un sens et dans l'autre sens, trouves tu la même valeur ?

La demande de communication des résultats de mesures n'est pas pour emm***der le monde, c'est important pour la compréhension du fonctionnement et l'adaptation au projet.

Désolé, ce n'était pas pour emm**der le monde. Je n'ai aucune variation dans le sens inverse de pliage. Variation uniquement dans le sens "normal" de flexion du capteur.