Positionnement précis du moteur

9

J'essaie de faire un appareil qui utilise plusieurs moteurs, tous avec une flèche fixe sur le dessus qui a 8 positions fixes (N, NE, E, SE, S, SW, W, NW). Cela signifie des pas de 45 ° ou π4 .

J'essaie d'éviter les servos et les steppers à cause du prix, donc je me demandais si quelqu'un avait des idées sur la façon dont cela pourrait être réalisé. La seule façon dont je peux penser est d'étalonner les impulsions à la quantité de rotation que le moteur subirait. Il semble qu'il devrait y avoir une meilleure solution que celle-ci!

Jeremy
la source
4
Les mini servos sont vraiment pas chers ... tinyurl.com/y8v4ahm
Toby Jaffey
Une autre source de servos bon marché (4,90 $ [USD]) dealextreme.com/details.dx/sku.20087
Adam Davis

Réponses:

10

Vous souhaitez qu'une flèche pointe dans l'une des 8 positions fixes? Utilisez simplement des aiguilles aimantées et 8 électroaimants minimaux pour tirer l'aiguille dans la direction que vous souhaitez?

endolith
la source
Bonne idée! Pourrait nécessiter plus d'E / S pour implémenter ...
Adam Davis
1
C'est une sorte de moteur pas à pas :)
Bryan Boettcher
9

La seule façon dont je peux penser est d'étalonner les impulsions à la quantité de rotation que le moteur subirait.

J'ai du mal à penser que cela fonctionnerait, ce qui signifie que vous devriez absolument obtenir un moteur et l'essayer! Configurez-le avec un arrêt afin que vous puissiez appliquer une longue impulsion et le faire reposer sur l'arrêt à une position connue, puis appliquez des impulsions de différentes longueurs, courants, etc. et voyez si vous pouvez obtenir des résultats reproductibles.

Gardez à l'esprit que la friction changera légèrement avec la température, l'humidité et d'autres facteurs selon la conception du moteur, mais comme vous n'avez besoin que de 8 positions, vous pouvez avoir suffisamment de marge d'erreur pour que cela n'ait pas d'importance. Votre plus gros problème est probablement que vous devez calibrer chaque moteur, même s'ils sont du même type, car ils auront tous des caractéristiques couple / A légèrement différentes, et que cela changera avec le temps avec le vieillissement du moteur et comment l'environnement l'affecte.

Cependant, pour obtenir de meilleurs résultats, vous aurez besoin d'une sorte de boucle de rétroaction.

Le plus simple / le moins cher est probablement de fixer un potentiomètre et de lire sa position avec un convertisseur A / N. Comme le potentiomètre sera trop difficile à tourner, faites-le avec un morceau de carton et un crayon. Tracez un cercle noir épais presque tout autour du carton, coupez un trou au centre et fixez-le au moteur. Attachez un fil à une extrémité du demi-cercle et faites glisser un fil le long de l'autre extrémité afin que le moteur tourne, vous obtenez une résistance variable. Utilisez-le avec un A / D.

Vous pouvez également inverser cela - placez le contact mobile sur la flèche avec la ligne noire épaisse en dessous (vous n'avez donc pas à tourner le carton, juste le contact mobile). Si vous êtes créatif avec votre design, les gens penseront que le demi-cercle noir fait partie de la face d'affichage.

Il sera très, très bruyant et peu fiable, cependant, selon la construction, et ne durera pas longtemps, mais il est bon marché et facile et avec vos exigences de positionnement en basse résolution, il devrait vous donner suffisamment de commentaires pour vous mettre dans la bonne direction. Zone de 45 degrés.

Une autre option (plus fiable) serait d'utiliser un capteur optique avec des encoches découpées dans le carton rotatif. Comptez simplement les impulsions jusqu'à ce que vous soyez au bon endroit. Vous pouvez vous débarrasser de l'encodeur optique (cher) et utiliser deux fils qui se touchent dans les encoches et sont séparés lorsqu'il n'y a pas d'encoche.

Bonne chance et dites-nous ce que vous avez essayé et comment cela a fonctionné!

Adam Davis
la source
Des réponses perspicaces et créatives; J'ai appris au moins deux choses absolument nouvelles ici. Et +1 pour avoir évoqué un cas où le crayon bat le potentiomètre!
boardbite
5

Utilisez un photo - interrupteur comme celui du lien. Attachez un «bras» mince à l'arbre du moteur qui pointe dans la direction que vous souhaitez pointer. Placez ensuite 8 des photointerrupteurs aux angles que vous souhaitez pointer, positionnés de telle sorte que le bras se déplace à travers l'interrupteur lorsqu'il est à la bonne position. Ensuite, déplacez simplement le moteur jusqu'à ce que vous détectiez que le bon interrupteur a été interrompu.

AngryEE
la source
5

Si vous voulez pas cher ...

J'ai essayé de retirer de simples moteurs à courant continu des imprimantes à jet d'encre, puis d'utiliser les encodeurs optiques du jet d'encre pour le positionnement.

J'ai utilisé un Arduino pour les tests, mais vous pouvez utiliser n'importe quel microcontrôleur.

Regardez ça .

jkopel
la source