Puis-je connaître le changement d’angle entre deux bâtons en bois reliés entre eux par un moteur pas à pas?

Communauté

Puis-je connaître le changement d’angle entre deux bâtons en bois reliés entre eux par un moteur pas à pas?


J’ai deux bâtons / règles en bois (Longueur: 1 pi; Largeur: 1 pouce; Épaisseur: 8 mm;)

  1. J’ai fixé le moteur pas à pas à la fin de la règle # 1

  2. J’ai attaché une extrémité de la règle # 2 à l’arbre du moteur pas à pas.

  3. J’ai fixé l’extrémité libre de la règle # 1 au bord d’une table; L’ensemble de l’installation pointe dans les airs, perpendiculairement au bord de la table.

Lorsque je déplace la deuxième règle sur un arc, je souhaite détecter l’angle sous lequel elle s’est déplacée. (Comment) puis-je le faire en utilisant le moteur pas à pas?

Restrictions présumées:

  • Le mouvement sera à un rythme tel qu’il couvre 90 degrés en 1 seconde

  • La plage d’angle entre les règles sera de 15 degrés à 180 degrés

Je prévois d’envoyer ces données à mon code logiciel via un port parallèle de mon PC. Comment dois-je décoder les données / impulsions fournies par le moteur pas à pas afin qu’elles puissent être envoyées via le port?

La question ci-dessus est une extension du meilleur capteur pour mesurer l’angle de rotation? . mais je veux juste savoir comment aller de l’avant et l’implémenter à l’aide d’un moteur pas à pas.

Wouter van Ooijen

S’il n’est pas trop tard: utilisez plutôt un encodeur rotatif. Cela vous épargnera le circuit analogique pour amener les impulsions pas à pas à quelque chose que le port parallèle peut détecter.

Apparemment donc

Ni un codeur pas à pas ni un encodeur rotatif ne permettront la mesure de l’angle, seulement un changement d’angle. Soit le titre a besoin d’être clarifié, soit le mauvais problème est résolu ici.

Des projets passionnants

@WoutervanOoijen J’ai un moteur pas à pas hobby lorsque la rotation à la main génère des pointes autour de 14 volts, et bien plus lorsque la rotation est rapide. Ainsi, un circuit analogique peut ne pas être nécessaire pour le comptage d’impulsions uniquement, mais peut-être une diode de serrage est nécessaire.

Chris Stratton

Les codeurs rotatifs les plus courants sont également incrémentaux et nécessiteraient également un dispositif d’indexation pour la mise à zéro. Il existe des codeurs absolus. Mais pour une application amateur, vous pouvez simplement utiliser un potentiomètre comme entrée d’angle – vous pouvez même le lire avec un port de jeu (/ adaptateur de joystick USB) ou l’ADC sur un microcontrôleur compatible USB.

Réponses


 Anindo Ghosh

Un moteur pas à pas peut certainement être utilisé comme codeur rotatif, avec la réserve que la fiabilité et la précision seront discutables à des vitesses de rotation faibles et un petit nombre de pas.

  • La question indique la nécessité d’une détection de mouvement angulaire absolu, c’est-à-dire une « détection zéro »
    • Aucun moyen pratique de détecter le zéro d’un stepper
  • La question ne spécifie pas la résolution angulaire du moteur pas à pas, ni la précision angulaire requise.
    • Un stepper avec plus de pas (pas de micropas) par rotation fournira une plus grande précision
  • Vitesse de rotation du bras non spécifiée
    • Une rotation lente entraînera un signal de pas plus faible, d’où une plus grande probabilité de pas manqués

Maintenant, travailler vers une solution:

  • Alimentez les bobines du moteur pas à pas avec du courant continu à régulation de courant à une petite fraction du courant de fonctionnement nominal du moteur pas à pas. Pour un moteur pas à pas de 3 ampères, 10 mA par bobine sont suffisants, la détection de pas devrait fonctionner encore moins.
  • Lisez les impulsions de tension (back-EMF) générées à travers les bobines de moteur pas à pas lorsque le moteur pas à pas tourne.
  • La séquence des impulsions indique le sens de rotation, le nombre d’impulsions est le nombre de pas angulaires parcourus et l’amplitude des impulsions se rapporte à la vitesse de rotation angulaire.
  • Un certain étalonnage sera nécessaire si autre chose que le nombre de pas parcourus doit être détecté
  • Ne vous attendez pas à une fiabilité de codeur rotatif de qualité laboratoire grâce à cette solution: des étapes peuvent parfois être manquées et certaines étapes parasites peuvent être détectées en raison de l’EMI détecté par les bobines.

Cette vidéo YouTube montre l’utilisation d’un moteur de disque dur comme encodeur rotatif.

Cet article décrit l’utilisation des moteurs pas à pas comme codeurs rotatifs en détail.

Anindo Ghosh

@SenthilKumar Faire passer un courant dans chaque bobine (en supposant un pas bipolaire, donc 2 bobines). Dans cette application, un courant continu fixe fonctionnerait bien – quelque chose comme vous feriez pour allumer une LED. Manière la plus simple: à partir du rail d’alimentation de votre appareil (disons 5 volts), connectez une résistance en série à chaque bobine, puis à la terre. La résistance serait calculée de telle sorte que l’ajout de la résistance CC de la bobine entraînerait un écoulement d’environ 5 à 10 mA à travers la bobine. Bien sûr, ne sachant pas quel est votre courant nominal pas à pas, ce chiffre de 5 à 10 mA pourrait être très mauvais.

Apparemment donc

Mon problème avec cette approche: il n’y a aucun moyen sûr de savoir quand « Angle = 0 » et donc, quand réinitialiser et commencer à compter les impulsions. Très bien pour un jouet amateur, pas très bien pour des applications réelles.

Apparemment donc

@SenthilKumar L’approche la plus déterministe serait d’utiliser un commutateur à came rotatif, ou pour un projet de bricolage, un interrupteur de fin de course déclenché par une came ou quelque chose attaché à l’arbre, plutôt que toute approche codeur / compteur. Recherchez « fin de course rotatif », de nombreux résultats apparaissent.

 

#à, #en, #pas, Bâtons, bois?, changement, connaître, d’angle, deux, entre, eux?, Le, moteur, par, Puis-je, reliés, un

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *