Comment detecter la position sur ce cylindre

vibram
Compagnon
15 Mars 2014
3 331
FR-74
  • Auteur de la discussion
  • #1
Bonjour,
J'ai ce cylindre qui est en rotation (tres lente)
upload_2018-4-12_13-41-53.png

Avec un microcontroleur, j'aimerais savoir à chaque fois que je passe au niveau d'un des 10 trous et etre en mesure d'identifier quel est ce trous sans connaitre quel est le trou suivant ou précédent.
Bien sur, je n'ai pas acces aux faces planes du cylindre, seulement à sa face courbe qui fait environ 40mm
je peux usiner le cylindre comme je le veux, mettre des inserts ou autre.
J'avais pensé à mettre comme des fins de course mais j'ai au moins 10 positions à détecter donc je manque de place.

Mon dernier possible et fonctionnel reste le codeur absolu mais j'aurais aimé trouver une alternative à cela

Merci de votre aide
 
osiver
Compagnon
7 Septembre 2013
9 948
etre en mesure d'identifier quel est ce trous sans connaitre quel est le trou suivant ou précédent.
Vous pourriez préciser ? Est-ce que sans connaître veut dire que c'est impossible (par exemple le cylindre est mis en place et on doit identifier directement le trou) ou juste que vous pensez qu'on ne peut pas connaître les trous avant/après ?

Quelques idées qui me viennent :
- Une marque détectable (encoche, trait lisible, aimant) pour repérer au moins l'emplacement du premier trou. Un capteur optique voit le passage de chaque trou. Le système compte les trous.
- Un marquage en face de chaque trou. Il y a 10 trous donc 4bits suffisent, c'est facile à lire par tout moyen.
- Plus hightech : Un numéro et une caméra avec reconnaissance de forme ou une étiquette RFID. Un Raspberry 3 avec le module caméra devrait le faire.

Si on en savait plus sur ce dispositif ... :wink:
 
vibram
Compagnon
15 Mars 2014
3 331
FR-74
  • Auteur de la discussion
  • #3
Bonjour osiver,
C'est un distribteur d'huile que j'essaie de fabriquer pour m'amuser.
C'est possible d'avoir avant et apres sauf que lorsque j'eteins la machine, si coupure "inopinée" je pers mes references et je l'ai dans l'os. Et si je suis en butée d'un coté ou de l'autre, je ne peux pas me permettre de faire tourner le moteur dans le mauvais sens !
Tandis qu'avoir une position absolue me permet de toujours savoir ou j'en suis.
avoir une combinaison de 4 bits me semble pas mal. il faudrait que je vois si j'arrive à avoir 4 boutons poussoirs dans un faible espace.

Un capteur hall me parait bien aussi mais comme le milieu sera un peu sale, j'aurais préféré quelque chose de mécanique.

Pardon Alex31 je n'avais pas vu ta réponse.
oui ca correspond a la solution du codeur que j'ai évoqué dans mon 1er message.
Le probleme du codeur c'est qu'il donne sa position et pas celle des trous. alors il faut etre bien sur que l'ensemble soit correctement apairé & que la plage du codeur n'est pas trop grande (par exemple détection de la position 1 du codeur légèrement avant ou apres la position réelle du trou)
 
Dernière édition:
Itus
Compagnon
22 Décembre 2010
661
C'est simple, tu fait comme sur les moteur de bagnole ou autre..
Tu pose un repère sur le volant et après tu compte !
Tu as l'origine, la vitesse, l'accélération, et si tu as besoin de précision tu multiplie les repères

Edit, j'ai mal lu les exigences
 
vibram
Compagnon
15 Mars 2014
3 331
FR-74
  • Auteur de la discussion
  • #5
C'est simple, tu fait comme sur les moteur de bagnole ou autre..
Tu pose un repère sur le volant et après tu compte !
Tu as l'origine, la vitesse, l'accélération, et si tu as besoin de précision tu multiplie les repères

Edit, j'ai mal lu les exigences
Oui mais lorsque j'éteins la machine, mon mcu ne sait plus ou se trouve le repere sauf si je lui dis ou c'est, mais si entre temps il y a un mouvement, je l'ai dans l'os :wink:
 
f6exb
Compagnon
13 Juin 2013
1 302
91300 Massy
Et avec une bande perforée comme les télétypes ? (4 trous au lieu de 5).
Quatre palpeurs seront mis en contact avec la masse à travers les trous.
Bande en plastique au lieu de papier pour résister à l'usure.
Faire suivre d'un décodeur CD ===> 7 segments.
 
Dernière édition:
M4vrick
Compagnon
12 Août 2015
1 063
oui ca me parait bien !
je ne connais pas ce genre de technologie
Tu aurais quelque chose à me conseiller?
Deux solutions techniques: soit des fourches optiques, soit des capteurs par réflexion.
Dans le premier cas tu doit prévoir des languettes qui doivent passer dans les fourches, dans le deuxième cas des cases blanches et noires qui seront lues par le capteur.

EDIT:

Voici ce que je ferais à ta place, je met 4 capteurs optique réfléchissants de ce style:
https://fr.rs-online.com/web/p/capteurs-optiques-reflechissants/7085348/
Et du scotch ou de la peinture noire en code binaire simple sur 4 bits.

Ensuite c'est facile à gérer coté electronique comme code.
 
Dernière édition:
osiver
Compagnon
7 Septembre 2013
9 948
Oui mais lorsque j'éteins la machine, mon mcu ne sait plus ou se trouve le repere sauf si je lui dis ou c'est, mais si entre temps il y a un mouvement
Si je comprends bien le système, rien n'empêche une initialisation à la mise en marche qui consisterait à aller chercher le repère du premier trou. Après très simple de détecter et compter les trous pour savoir où on en est.
Comme il semble qu'il y ait des butées, le mieux serait peut-être que le repère soit à mi-course. Comme ça on dispose même d'un contrôle de bon comptage chaque fois qu'on passe devant.

Pour les butées s'il y en a, c'est très simple de ne valider qu'un sens de marche lorsque le cylindre est en butée. 8-)
 
vibram
Compagnon
15 Mars 2014
3 331
FR-74
Merci à vous,
Je pense tenter une premiere chose (oui je suis un peu tetu sur ce coup): avec des switch euchner es502e
J'ai trouvé un switch à un prix honnete. Cela a le mérite d'etre mécanique ce que je prefere compte tenu de l'environnement.
Si ca ne fonctionne pas, je tenterai autre chose :wink:
 
Milhouse
Nouveau
19 Août 2010
5
67
Bonjour,
Si tu as la possibilité, tu peux faire ce disque de 40mm d'epaisseur en 4*10mm. L'idée est d'usiner des cames (petite vaguelette à la surface de la courbe) en regard des trous pour "coder" binairement les trous.
tu mets ensuite 4 interrupteurs fins de course (avec lamelle à roulette) en face de chaque disque, façon suiveur de came.
L'état éléctrique des inter te donnera le numéro (en binaire) de trou.
Trou1: plat(0), plat(0), plat(0), bosse(1)
Trou2: plat(0), plat(0), bosse(1), plat(0)
Trou3: plat(0), plat(0), bosse(1), bosse(1)
Trou4: plat(0), bosse(1), plat(0), plat(0)
Trou5: plat(0), bosse(1), plat(0), bosse(1)
Trou6: plat(0), bosse(1), bosse(1), plat(0)
Trou7: plat(0), bosse(1), bosse(1), bosse(1)
Trou8: bosse(1), plat(0), plat(0), plat(0)
Trou9: bosse(1), plat(0), plat(0), bosse(1)
Trou10: bosse(1), plat(0), bosse(1), plat(0)

Le disque 1 a donc une came en regard des trou nr 1,3,5,7,9
Le disque 2 a donc une came en regard des trou nr 2,3,6,7,10
Le disque 3 a donc une came en regard des trou nr 4,5,6,7
Le disque 4 a donc une came en regard des trou nr 8,9,10

Selon tes moyens d'usinage tu peux aussi le faire d'un bloc bien sur.


En fonction de la hauteur et de la matière du disque tu peux aussi le faire avec des capteurs inductifs (avantages: etanche et moins d'entretien)
 
La dernière réponse à ce sujet date de plus de 6 mois

Dernières discussions

Haut