Codeur incrémental et raspberry

Bonsoir à tous,
Nouveau sur le forum, je viens vers vous pour un peu d’aide. Je suis en BTS electrotechnique. Pour mon stage j’ai un projet avec un raspberry que je doit programmer. Le problème, maintenant que j’ai tout installé c’est que je dois faire le programme mais je connais très peut le python car pas étudié dans notre section. Je vous explique le but de mon programme :
il faut que je mesure la vitesse d’une cuve sur un vireur de soudure tout en tenant compte du diamètre de cette cuve. Il faut donc dans le programme que j’intègre le fait que l’on donne en info avec un clavier le diamètre de la cuve. La mesure de la vitesse se fait avec un encodeur 400 impulssions. Il y a aussi l’affichage de cette vitesse du coup? De plus, le programme doit au démarrage demander la valeur du diamètre de la cuve. Enfin bref, un truc enorme qui caffouille dans ma tête car je n’y connais rien en python. Pouvez vous donc me donner quelques pistes sur les librairie à importer ou autre fonction s’il vous plait. ou un genre de script, n’importe quoi qui puisse m’aider à commencer.
Merci à vous et bonne soirée

Bonjour.

Sur le Python, « je passe mon tour », je ne connais pas et je ne peut pas t’aider.
mais je suis persuadé que tu n’as pas besoin de bibliothèque. ça n’est pas si compliqué.

Pour le diamètre de la cuve, tu peux éventuellement t’en passer:
je t’invite à faire un petit tour dans un magasin de moquette, tu verra comment il mesurent la longueur de l’étoffe (volontairement, je ne te donne pas la réponse toute cuite, c’est ton projet…)
Si c’est imposé que le codeur se trouve sur l’arbre moteur, alors, oui, tu auras bien une mesure de vitesse angulaire et tu devras en déduire ta vitesse linéaire. Ton premier travail est là:
1)D’abord un schéma mécanique de ce que tu veux faire.
2)Ensuite écrire les relations mathématique qui existent, entre ta mesure et ce que tu cherche.
3)Fais un petit dessin, ça pourrait t’aider (et les personnes qui t’aiderons)

Sans vouloir te vexer (et c’est normal, tu apprends) visiblement ton problème tel que tu le présente n’est pas un problème de programmation, mais que ton chemin de travail n’est pas encore structuré.

Bonjour,

Avant d’écrire le programme, il faut que les impulsions arrivent au PI.
En fonction de la technologie du capteur, et du mode d’écriture de la mesure, le programme sera différent.

Le Python est-il obligatoire ? Plein de langages de programmation sont (compilable)/exécutables sur Raspbian.
Mais c’est vrai que Python est à mon avis incontournable et simple. Et en quelques heures, les bases de se langage sont assimilables.

Bonne bidouilles
A+

Bonjour, merci de vos réponses,
Tu a raison , il faut que je structure un peu dur un schéma. Pour le python, en fait je sais pas trop se qui se fait en language de prog pour le raspberry. Il faut en effet savoir faire l’acqguisition de ces fameuses impulsion. Je vous joint un petit schéma se soir. Une question, faute de place, l’encodeur a un pignon fixé sur l’axe qui s’emboîtent dans la chaîne. La vitesse linéaire de la chaîne et t-elle la même que celle de la cuve?
Merci

Bonsoir,
comme prévue, un petit schéma


il y a une relation d’indiquée qui je pense revient souvent. Je pense que le fait d’avoir une cuve plus ou moins grosse va influer sur la vitesse de celle-ci. Par contre, doit-on négliger le diamètre des pignons d’entraînement des galets si on prend la vitesse sur la chaîne.
Car si on prend que le diamètre de la cuve on à un rapport de réduction donné par : diam pignon encodeur/diam cuve. et on multiplieras se rapport par la vitesse mesurée obtenue en sortie de l’encodeur non? dites moi si je me trompe
Merci

OK, merci pour le dessin, on voit mieux.

Alors:
-je crois que tu n’as pas bien compris la différence entre vitesse linéaire et vitesse angulaire et l’intérêt de ton projet dans l’ensemble du système. C’est un système de soudure, tu dois mettre de la soudure dans un sillon et bien le remplir. Si tu soude 1cm de sillon, tu vas consommer x quantité de soudure en même temps. C’est bien la longueur qui compte. Donc c’est la vitesse linéaire qui t’intéresse.
-Non, si elle ne glisse pas, la cuve aura la même vitesse linéaire que la chaîne.
(on est bien d’accord elle est cylindrique et pas bombée?)
Oui, ton codeur va bien réagir, lui, par rapport à une vitesse angulaire qui lui sera transmise à travers son « pignon » Pour le diamètre du pignon, n’oublies pas, tu dois prendre en compte le diamètre primaire.
-400Hz sur le codeur correspond donc à 1tours/seconde, je te déconseille de raisonner/calculer avec « oméga » en radian/seconde, tu vas te faire « bip! » pour rien.

Bonsoir,
Merci de ta réponse. Oui la cuve est bien cylindrique. Donc pour simplifier, pas de glissement de la cuve sur les galets (comme ceux-ci sont en caoutchouc sa adhère pas mal). Si on reviens au programme, cela simplifie du coup si la vitesse linéaire de la cuve est la mème que celle de la chaîne car il n’y a plus besoin d’intégrer le diamètre de la cuve. Mais pour moi sa reste difficile à admettre que si par exemple la chaine fait un mettre en 1 seconde que la cuve fasse la même chose . Enfin bref de toute façon la vitesse linéaire ne dépend pas du rayon donc pas de problème. Par contre, si on prend en compte la vitesse angulaire, la il y a une différence car la cuve va tourner forcément moins vite que le pignon du réducteur non?
là, je vais regarder les caractéristique du matériel que j’ai et je vous post un prochain raisonnement avec les formules. Bonne soirée

Alors, je reviens un peut.
Si on veut avoir la vitesse de rotation de l’encodeur on doit diviser le pas par la période. Mais cela impose de conaître le pas du codeur et aussi de mesurer la période au prealable. Ou alors, il faut faire un contage des implultions et mesurer le temps mis pour faire un tour. Dites mois si mon raisonnement et faux.
Merci

OUPS! J’ai dis une (grosse) bêtise!

Je n’avais pas compris que la cuve était entraînée par des rouleaux en caoutchouc, je croyais qu’elle était posée sur la chaîne directement. ça change tout.

Donc, on reprend le raisonnement à la base.
Pas de glissement, donc la partie de la cuve en contact avec les rouleaux va tourner à la même vitesse linéaire que la partie extérieure des rouleaux. Rouleaux, donc assimilables à des engrenages. rapport diamètre en contact avec la cuve/diamètre primaire. vitesse de la chaîne. vitesse de la chaîne donnée par vitesse angulaire codeur. Vitesse angulaire codeur dépend du diamètre pignon encodeur. (je te donne le chemin, pas la réponse)

[quote=« pierre14, post:8, topic:6666 »]
Si on veut avoir la vitesse de rotation de l’encodeur on doit diviser le pas par la période. (…)
[/quote] à première vu, ça me semble correct, mais j’ai l’impression que ça pourrait être dis avec un vocabulaire et un raisonnement plus simple, ça fait 20 ans que je suis sorti de l’école…

Bonsoir, merci de ton suivi.
Alors reprenons, j’ai posé un peu le truc et je suis arrivé à sa :
On a un rapport de réduction défini par r= (diamètre galet)/(diamètre pignon encodeur)
la vitesse de la chîne est donné par v= (rayon pignon encodeur)(vitesse angulaire pignon encodeur)
donc la vitesse de la cuve devient vc= v
r
il me reste plus qu’a trouver comment définir la vitesse angulaire de l’encodeur dans le programme non?

Re, j’ai trouvé quelques infos, pensez-vous que sa peut m’aider

Pour commencer, quelques questions destinée à m’éclairer sur ton niveau:
tu es en 1er année ou en 2e année de BTS?
tu as bien fais un bac électrotec juste avant?
tu as bien fait de la mécanique, de la résolution graphique de problèmes mécaniques, de la mécanique statique et tu as compris ces cours là?

N’oublies pas qu’il est important d’employer les bon termes techniques.
-parce que la personne qui est en face de toi,comme c’est mon cas actuellement, doit te comprendre
-parce que tes examinateurs, profs et chefs (bientôt) jugerons ton sérieux là dessus.

tu me parles d’un rapport de réduction, ce qui sous entendrais un réducteur, ou des engrenages, ou autre chose que je ne vois pas dans ton équation « r=… » Le galet n’est pas directement lié au pignon encodeur, donc désolé, je ne comprends pas d’où viens cette équation. (peut être que tu as passé des étapes et qu’il manque des choses ou peut être que c’est simplement moi qui comprends pas)

Soit précis quand il y a un risque d’ambiguïté comme ici, tu devrais dire: « la vitesse linéaire de la chaîne est donné par v= »
Ton raisonnement est peut être bon, mais ton équation est ambiguë.
soit tu devrais dire v(m/s)=r(m)xOméga(rad/s)
soit v(m/s)=r(m)x 2 pi x n(tr/s)
une équation, ça doit être homogène au niveau des unités de mesures, sinon, c’est que tu t’es trompé ou que tu vas te tromper.

Excuses-moi de te le dire. Ton dessin n’est pas digne d’un professionnel et il ne t’aide pas comme il le devrait. S’il te plaît, peux tu me représenter la totalité de ta « chaîne cinématique » (l’ensemble des éléments qui bougent ensemble), avec un vrai schéma bien propre, (tu en aura de toute façon besoin pour ton rapport de stage) Et seulement après quand ton schéma est fait, tu suis ta chaîne cinématique et tu mets en équation.

Concernant ton 2e post, je le met de coté sans y répondre pour le moment, pour 2 raisons: 1) Le premier travail n’est pas encore finis et chaque chose en son temps. 2)Tu as été chercher des formules sans vraiment les comprendre, alors que c’est exactement le contraire que tu dois faire. Tu es (presque) un professionnel, tu dois d’abord comprendre par toi même, avec méthode et les outils d’analyse avant de mettre en équation.

Bonsoir,

je suis en 1ère année de BTS et j’ai fait un bac STI2D avant qui est différent du bac electrotec. on n’a pas fait de résolution graphique de problème mécanique Un autre dessins vient mais je ne sais pas si il est beaucoup mieux.

Ok, une petite recherche sur wiki et je comprend mieux…
J’aurais quelques commentaires à faire sur les évolutions de notre système éducatif (rien contre toi), mais je crois que vais garder mon opinion pour moi…

Laisse tomber, je vais te faire un dessin avec une représentation simplifiée…

En tout cas voilà ce que j’ai refais en attendant. Pas un véritable schéma cinématique mais un truc simplifié. parce que les pour le système a engrenage, schéma cinématique sa va mais quand y a la chaîne c’est autre chose.

!

vue comme sa le schéma cinématique n’est pas forcément compliqué. On repart donc sur de bonne bases

Non, il y a de la bonne volonté, mais tes dessins ne te permettent pas de voir d’un coup d’œil l’ensemble des éléments, ce qui est l’intérêt d’un schéma cinématique.
Si tu comprends mon dessin, tu devrais normalement mieux voir.

Merci pour le shéma, j’ai plus qu’a voir pour placer les bonnes formules au bonne endroit. j’en ai quelques une mais le problème c’est la vitesse du codeur lui mème car la vitesse de la cuve(m/s)= r*vitesse du pignon de l’encodeur(m/s). J’intègre r qui est le rapport entre le pignon du galet et celui de l’encodeur.

Je te conseille de procéder en plusieurs étapes:
1)tu pars du codeur et tu exprime sa vitesse de rotation (tr/s) en fonction de la vitesse de la vitesse en sortie du motoréducteur
2)tu pars de la cuve et tu exprime sa vitesse de rotation (tr/s) en fonction de la vitesse de la vitesse en sortie du motoréducteur
3)tu écris l’équation de la vitesse linéaire (m/s) de la cuve en fonction de sa vitesse de rotation (tr/s)
3a)tu regardes a quelle vitesse la soudure peut être effectuée de façon correcte
4) tu fusionnes les équations (2) et (3), ça te donne la vitesse linéaire de la cuve en fonction de la vitesse du moteur
4a) tu calcules à quelle vitesse doit tourner le moteur (pour avoir une belle soudure)
4b) tu compares ça à la vitesse du motoréducteur dont tu disposes, c’est écrit sur la plaque signalétique en tr/min ou tu mets la valeur de coté pour acheter le bon.
5) maintenant que tu connais la vitesse de ton moteur, tu reprends l’équation (1) et tu peux calculer la fréquence du codeur (Hz)

[quote=« pierre14, post:19, topic:6666 »]
la vitesse de la cuve(m/s)= r*vitesse du pignon de l’encodeur(m/s). J’intègre r qui est le rapport entre le pignon du galet et celui de l’encodeur.
[/quote] Non, c’est faux, tu oublies des choses.

essaye de trouver un chemin avant de mettre des formules, par exemple, mettre des petites flèches ou/et écrire un bout de phrase en français avant de poser l’équation qui va bien.

par exemple: la cuve est entraînée par le rouleau en caoutchouc
Vcuve = « patata » Drlx
le rouleau en caoutchouc est lié a son pignon
formule
le pignon est lié à la chaîne
formule