Construire un «bouton» contrôlable


8

J'essaie de construire une minuterie semi-analogique. Quelque chose comme ces vieux minuteries dont vous faites pivoter le visage. Je veux un bouton que je peux tourner qui peut être lu par un microcontrôleur, et je veux aussi que le microcontrôleur puisse positionner le bouton. Je voudrais implémenter des "arrêts" en laissant le microcontrôleur pousser le bouton vers certaines positions. En descendant, le bouton doit tourner. Ceci est mon premier projet de ce type; J'ai construit de petits robots dans le passé, mais cela fait de nombreuses années.

J'ai envisagé de pirater un servomoteur pour lire sa position, mais les petits servos de loisirs que j'ai essayés sont trop difficiles à tourner, très bruyants et prennent trop d'élan lorsqu'ils sont tournés. Ils n'agissent pas comme un bon bouton.

J'envisage maintenant un encodeur rotatif connecté à un moteur, mais après avoir chassé sur plusieurs sites (SparkFun, ServoCity, DigiKey, Trossen et quelques autres), je n'ai pas pu trouver quoi que ce soit qui semblait approprié. Je ne sais pas comment trouver un moteur qui aura le bon type de faible couple.

Il semble que cela ne devrait pas être un problème vraiment rare. Existe-t-il une approche assez normale pour créer un bouton qui peut être réglé à la fois par l'utilisateur et par un microcontrôleur?


1
J'ai trouvé exactement ce que vous décrivez dans le contrôle du volume d'un ancien lecteur de CD. Lorsque vous tournez le bouton, il tourne directement le potentiomètre. Lorsque vous appuyez sur un bouton de la télécommande, un moteur attaché à travers un embrayage tournerait le bouton et le potentiomètre. L'embrayage empêcherait le moteur de tourner et de faire du bruit lorsque le bouton était tourné manuellement. Peut-être pouvez-vous récupérer ce type de mécanisme à partir d'un lecteur de CD ou d'un appareil similaire?
Chris

Réponses:


5

J'ai quelques options pour vous.

Option 1, construisez votre propre servomécanisme

Comme vous n'avez besoin que d'un couple très faible pour déplacer un bouton, un très petit moteur devrait bien faire le travail. Vous devrez probablement ajouter un peu de friction pour qu'il ne se déplace pas trop facilement, ou utiliser un petit moteur pas à pas avec un couple de détente décent et un petit engrenage.

Un moyen très économique d'obtenir votre retour de position est de trouver une vieille souris opto-mécanique .

souris opto-mécanique - Le détenteur des droits d'auteur de ce fichier permet à quiconque de l'utiliser à n'importe quelle fin, à condition que le détenteur des droits d'auteur soit correctement attribué.  La redistribution, le travail dérivé, l'utilisation commerciale et toute autre utilisation sont autorisés. Souris opto-mécanique

Connectez l'arbre à votre arbre de moteur / bouton, puis faites rouler votre propre encodeur en quadrature (en prenant les entrées de phase A / B directement dans votre microcontrôleur) ou réutilisez toute la carte de circuit imprimé et connectez la `` souris '' à un port série et lisez sauvegarder la position de la souris X ou Y via le logiciel.

L'article Recycler des souris PS / 2 en générateurs d'impulsions rotatives est un bel exemple de quelqu'un qui fait cela.

Option 2, persévérez avec le servo RC

La raison pour laquelle vos servomoteurs RC sont difficiles à tourner est qu'ils ont un train d'engrenages à rapport élevé pour leur donner le couple dont ils ont besoin, ce qui les rend difficiles à reculer . Jetez un oeil à ce schéma éclaté de la page wikipedia Servomechanism :

Servo RC explosé - Cette œuvre a été placée dans le domaine public par son auteur, Sonett72 lors du projet wikipedia. Petit servomoteur R / C

  1. moteur électrique

  2. potentiomètre de rétroaction de position

  3. réduction vitesse

  4. bras de l' actionneur

Un petit tour de l'arbre de l'actionneur de ce servo RC entraînerait un mouvement important (de plusieurs tours) du moteur, si vous pouviez le faire bouger sans dénuder les engrenages.

Encore une fois, puisque dans votre application, vous n'avez besoin que d'un couple suffisant pour tourner le bouton, vous pouvez peut-être vous débarrasser de cet engrenage et utiliser directement la position du moteur. En retirant ou en réduisant l'engrenage, vous devriez en effet constater que le moteur se déplace très librement. En fait, vous devrez peut-être ajouter un peu de friction (ou laisser un engrenage en place) afin d'éviter que le moteur ne soit très nerveux.


Merci pour tout ça, ça m'a vraiment aidé. Mon fils et moi avons démonté un de nos servos hier et avons beaucoup appris à jouer avec. Je pense que j'ai peut-être aussi de vieilles souris PS / 2 à expérimenter.
Rob Napier

1
@RobNapier - Je suis heureux d'avoir pu aider. Enfant, j'adorais démonter les choses, j'ai même (surtout) réussi à les remonter et j'ai beaucoup appris au cours du processus. Tant de choses ces jours-ci ne sont pas des pièces réparables par l'utilisateur à l'intérieur que je me demande ce que les enfants orientés vers la technologie font de nos jours.
Mark Booth

BTW, j'ai continué à travailler dessus avec un servo. Le secret, je crois, est d'ajouter une ceinture pour permettre le glissement entre le moteur et le pot.
Rob Napier

@RobNapier - Merci pour la mise à jour, n'hésitez pas à répondre à votre propre question avec ce que vous avez essayé et ce que vous avez finalement trouvé efficace, vous obtiendrez au moins un vote positif de ma part. * 8 ')
Mark Booth

0

Je ne sais pas s'il y a une approche normale à cela, mais vous devriez certainement regarder une vidéo que j'ai trouvée il y a des années et qui me souffle encore: The Secret Knock Detecting Lock . Fondamentalement, le gars a construit un appareil basé sur Arduino que vous pouvez brancher à votre porte et configurer un coup secret qui le déclenchera pour l'ouvrir ... Génial!

Je suis sûr que seule la vidéo serait assez bonne pour l'inspiration (c'est la première chose qui m'est venue à l'esprit lorsque j'ai lu le titre de votre question), mais après une recherche rapide sur Google, j'ai également trouvé la page explicative qui explique tout cela.

Ceci est une partie de la page instructable où il dit le moteur qu'il utilise et donne quelques recommandations:

1 moteur réducteur 5v. Plus le couple est élevé, mieux c'est. En voici une bonne. (Le diamètre de 14 à 16 mm est idéal car il s'adapte à l'intérieur d'un tuyau en PVC de 1/2 ".) J'en recommande un avec un couple d'au moins 15 oz / in (11 N-cm) à 5 V pour activer un verrou de base.


0

Que diriez-vous d'utiliser un stepper motor, vous pourrez contrôler exactement la position.


Bienvenue chez R.SE - peut-être pourriez-vous développer votre réponse, pour donner des raisons à l'appui?
Andrew

Actuellement, cette réponse ne répond qu'à la moitié de la question. Si le bouton est tourné à la main, y a-t-il des astuces que vous pouvez utiliser pour relire la nouvelle position du moteur sans avoir également un encodeur? Pouvez-vous, par exemple, utiliser une sorte de détection sur les fils de la bobine du moteur pour détecter que le moteur pas à pas a été tourné à la main?
Mark Booth

0

Utilisez un potentiomètre rotatif. Connectez-le à une broche ADC de votre micro-contrôleur, et selon la résolution, vous pouvez obtenir entre 256 et 65536 valeurs, que vous pouvez ensuite utiliser pour définir des "arrêts".


1
Actuellement, cette réponse ne répond qu'à la moitié de la question. Cela vous permettrait de détecter la position actuelle du bouton, mais pas de déplacer le bouton du contrôleur.
Mark Booth

0

La norme de l'industrie pour résoudre ce problème est le déplacement des curseurs .

entrez la description de l'image ici

Ce sont des composants peu coûteux facilement disponibles qui font exactement ce que vous demandez, à l'exception de la partie ronde.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.