lecture de potentiomètre

Jnt000

Member
Bonjour,
Je suis un peu novice en la matière et je suis surpris de constater deux soucis pour lire un potentiomètre linéaire. Sa valeur est de 2,2kΩ sur 306° pris entre 2 résistances, j'utilise readadc et j'affiche la lecture sur un 2x16 caractères :
1- du bruit avec des écarts de plus de 10 bits sur à peu près toute la plage, j'ai découplé le curseur avec une 100nF sans amélioration, en sommant une 10zaine de mesures sur 15 secondes, on réduit les écarts de moitié seulement et ça prend un temps fou ;
2- en relevant les valeurs en bits en rapport des angles, la linéarité est plus qu'aproximative, des écarts importants avec un potar de qualité pro que j'ai testé en valeur ohmique à moins de 5%.

Mon projet consiste à piloter le moteur d'un capteur solaire en fonction de l'heure. Le potar est donc sensé transformer des heures de 4:00 à 20:00 (sur 240°) en bits. Malheureusement je me retrouve avec des dispersions qui avoisinent une heure en plus ou en moins. J'ai refais des mesures avec un potar sans fin de 10k, l'amélioration est encore insuffisante, je souhaiterais descendre en dessous de 15 minutes d'erreur, voir .pdf joint.
Je m'y prend mal ou trop exigeant ? faut-il passer à l'encodeur absolu, mais RS485 à la clef ce qui n'a pas l'air d'une petite affaire ... :unsure:

Merci pour votre aide et bonne journée
 

Attachments

Technoman

Senior Member
Bonjour,

... du bruit avec des écarts de plus de 10 bits ...
Readadc numérise sur 8bits. Si la tension varie sur presque toute la plage, c'est très étrange ou je n'ai pas bien compris votre propos. Est-ce que le câblage est correct? Sur quel support (breadboard, circuit imprimé, en l'air, ...)?

Pour le projet, le potentiomètre est couplé à une horloge?
Un schéma fonctionnel serait utile pour une bonne compréhension de vos besoins.
 

Jnt000

Member
Bonjour, merci
Oui une résolution sur 256 bits me suffit. Peut-être que mon montage sur une boîte d'essai (breadboard ?) est un peu limite. Pourtant si je regarde mon voltmètre sur cette entrée à quelques mV près ça ne bouge pas beaucoup.
Non pas d'horloge qui polluerait. Il y a un petit schéma dans mon pdf.
Je me suis servi d'un outil du PE qui s'appelle étalonnage capteur analogique qui montre bien le bruit à différentes positions horaire. je le joins ici :
 

Attachments

kfjl

Member
Bonjour,

Pour une résolution de 256 bits il ne faut regarder que b3 dans la fenêtre Debug.
b2 gigote tout le temps parce que trop sensible (65535 bits).

25456
 

Jnt000

Member
Oui en fait je sors sur un afficheur LCD 2x16.
Mais peut-être qu'il y a une bonne idée là derrière car mon prgm est écrit en Blockly pas en basic...
 

kfjl

Member
J'ai dit une bêtise. readadc10 est sur 10 bits et donc b3 ne varie que de zéro à trois.
b2 contient les autres 8 bits.
Du coup je n'ai pas de lecture stable non plus.
 

PieM

Senior Member
Pour les entrées ana, il ne faut pas des impédances d'entrée importantes. Quel intérêt de mettre 2 résistances talon ? La conversion valeur lue valeur attendue doit se faire numériquement.
Comme les variations sont lentes , mettre un condo nettement plus élevé.

Je n'ai toujours pas bien compris la chaine cinématique de votre installation. Et si c'est un capteur solaire, le mieux est de le piloter en fonction de la position du soleil qui varie beaucoup en fonction de la saison. De nombreux posts existent sur le sujet...
 
Last edited:

Jnt000

Member
Pour les entrées ana, il ne faut pas des impédances d'entrée importantes. Quel intérêt de mettre 2 résistances talon ? La conversion valeur lue valeur attendue doit se faire numériquement.
Comme les variations sont lentes , mettre un condo nettement plus élevé.

Je n'ai toujours pas bien compris la chaine cinématique de votre installation. Et si c'est un capteur solaire, le mieux est de le piloter en fonction de la position du soleil qui varie beaucoup en fonction de la saison. De nombreux posts existent sur le sujet...
Les résistances talon sont là pour remplacer les plages absentes comme si ce pot 306° était un 360°. D'ailleurs dans le pdf joint le potar sans fin donc 360° ne comporte pas de talon et c'est celui qui a les meilleures performances. C'est un Bourns linéarité 2%. J'ai mis un condo 10uF et pas de changement notable, ce qui devient génant en asservissement de position.

Notez qu'il y a déjà un opto-asservissement qui lui fonctionne très bien. Mais … et quand il n'y a pas de soleil ? Donc grâce au chrono-asservissement -objet de ces échanges- le capteur est toujours prêt là où il faut :)

Merci PieM pour ces critiques. J'attend de câbler sur un vrai CI et on verra si … Sinon je pense m'orienter vers une puce AS5600 encodeur magnétique absolu 12 bits qui cause I2C.
 

PieM

Senior Member
Je suis très surpris de ces mauvais résultats auxquels je n'ai jamais été confronté.
Il faudra voir avec un montage sur CI et sans câble USB qui peut apporter des pb....
Nota : l'utilisation de résistances talon diminue bien entendu la résolution de la mesure.: si potar de 2k et 1.5k de resistances, la résolution n'est plus que de 5 a 6 bits!
 
Last edited:

Jnt000

Member
Je suis très surpris de ces mauvais résultats auxquels je n'ai jamais été confronté.
Il faudra voir avec un montage sur CI et sans câble USB qui peut apporter des pb....
Nota : l'utilisation de résistances talon diminue bien entendu la résolution de la mesure.: si potar de 2k et 1.5k de resistances, la résolution n'est plus que de 5 a 6 bits!
C'est vrai que la liaison USB peut apporter du bruit de fond, mais je suis sur batterie Pb.
Je reprendrai contact une fois câblé bien propre …
-
Merci tous le monde en attendant
 

PieM

Senior Member
Si la lecture se fait via par Programming Editor, c'est donc bien qu'il y a une liaison USB.
L'alimentation du Picaxe ne se faisant pas par USB, c'est autre chose.
 

kfjl

Member
En changeant de breadboard, ça va mieux:

253 255 253 255 254 254 255 255 254 255
changing value
250 252 248 245 248 253 249 250 248 247
changing value
221 218 221 220 219 221 218 223 218 221
changing value
187 189 189 187 185 186 189 186 186 189
changing value
156 156 157 154 153 153 157 153 156 154
changing value
110 109 111 111 110 111 110 111 110 110
changing value
62 62 62 63 62 63 63 62 63 62
changing value
16 15 15 15 15 16 15 15 15 15
changing value
0 0 0 0 0 0 0 0 0 0

Sans condo et alimenté par USB
 

Technoman

Senior Member
@kfjl : après quelques déconvenues, je suis devenu très réticent à utiliser les breadboards (résistance de contact, capacités parasites, ...) et dans ce cas toujours un nettoyage des fils de connexion (retirer colle des composants en bande, fils oxydés, ...). Lorsque vous testez une solution alors que vous ne savez pas si cela va fonctionner, les défauts précités peuvent vous faire perdre beaucoup de temps. Mieux, câblage en l'air ou sur une platine d'essai (Veroboard, pastillée, ...), avec les liaisons brasées (soudées).
 

Jnt000

Member
Bonjour et merci à tous,
Une fois câblé en dur (sur un vrai CI) mes potars ont fini de gigoter, ouf ! 1 bit qui clignote ça ira.
Effectivement la boite de connexions c'est pas terrible, mais pas le fautif ici, j'ai repéré un convertisseur dans l'installation. À l'oscillo pas plus de 20mV de friture et pourtant … j'ai donc mis en amont un petit 7805 pour alimenter le PIC et ses ouailles.
Question linéarité, j'ai refait une campagne de mesure avec les deux modèles à disposition et voilà ce que ça donne :
J'ai choisi la version encadrée orange avec une petite correction logicielle du genre : si var_potH<55 faire var_potH—9, sachant qu'un ∆ var_potH=5minutes.
Pour répondre à PieM une résolution sur 64 bits me convient, si la linéarité est au rendez-vous.

Je pense toujours m'orienter vers une puce AS5600 encodeur magnétique absolu 12 bits qui cause I2C, qui me semble prometteur avec en plus zéro usure. Je vous tiendrai au jus sur ce coup là.

Bon été à tout le monde
-
jno
 

PieM

Senior Member
Pour répondre à PieM une résolution sur 64 bits me convient, si la linéarité est au rendez-vous.
Il semble que la notion de bits ne soit pas encore bien comprise! 64 bits permettent de coder 1.84 E19 valeurs, en binaire.
 
Top