Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Illustration du servomoteur

Composants et fournitures

Arduino UNO
× 1
Contrôleur de servomoteur PWM 16 canaux Adafruit
× 3
Micro-servomoteur SG90
× 36
Alimentation à découpage 5 volts 30 watts
× 1
Rallonges de câble de servomoteur
× 1
Panneau perforé de 24 po x 48 po
× 1
Bâtonnets de Popsicle, coupés à 3 1/4 pouces
× 36
Capteur à ultrasons - HC-SR04 (Générique)
Ces composants sont facultatifs - uniquement requis si vous ajoutez la fonctionnalité interactive.
× 5

Outils et machines nécessaires

Fer à souder (générique)
Pistolet à colle chaude (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

La vidéo ci-dessous montre l'action alors que 36 servomoteurs créent une œuvre d'art électronique. Un Arduino Uno et trois servocontrôleurs PWM à 16 canaux fonctionnent en coulisses. L'inspiration originale pour cela était une version beaucoup plus grande avec 450 servos que j'ai vus dans un musée d'art moderne. Mais même cette petite version avec seulement 36 servos offre des effets intéressants.

Il y a une fonctionnalité optionnelle que je n'ai pas montrée dans la vidéo, mais elle peut être ajoutée pour rendre l'affichage interactif. C'est purement facultatif et le logiciel fonctionnera très bien sans. Pour cette option, cinq capteurs de distance à ultrasons sont montés le long de la face arrière du bord supérieur de l'écran. Lorsque vous placez votre main au-dessus du capteur central, l'Uno passe en mode interactif et tous les servos tentent de suivre votre main lorsque vous la déplacez au-dessus des capteurs de distance. Lorsque vous retirez votre main pendant quelques secondes, le programme revient à son affichage. Encore une fois, vous pouvez ajouter cette option si vous le souhaitez. Si vous ne le faites pas, le logiciel fonctionnera très bien sans lui.

Matériel

Comme vous pouvez le voir, ce projet a été construit sur un morceau de panneau perforé de 24" par 48". La largeur a été réduite à 32 pouces. Les servos sont montés à 4 pouces de distance et fixés à l'arrière du panneau perforé avec de la colle chaude. Des bâtons de popsicle, coupés à 3 1/4 pouces sont montés sur les arbres des servos, encore une fois en utilisant de la colle chaude.

Les servomoteurs SG90 sont le seul élément coûteux de ce projet. Vous pouvez obtenir un ensemble de 8 pour 20 $ sur Amazon. Même ainsi, vous devez investir 100 $ dans des servos. Les SG90 sont censés être tous des servos à 180º, mais la plupart ne le font pas tout à fait. Quelques-uns tombent bien court et doivent être jetés. Si vous achetez 5 ensembles de 8, vous devriez pouvoir en trouver 36 marchandises qui voyagent au moins à 160º.

Les servos doivent être réglés à leur position minimale (position à PWM 150), et les bâtons de popsicle montés pointant horizontalement et vers la droite dans cette position minimale, vu de l'avant. J'ai fourni un petit programme que vous pouvez utiliser pour vous assurer que les servos sont dans cette position minimale :SetServosToMinimum.

La photo ci-dessus montre la disposition arrière. Les trois contrôleurs PWM sont montés sur le côté gauche des servos. L'alimentation 30 watts 5 volts est à l'extrême droite. L'Arduino est alimenté séparément via un adaptateur secteur USB. Je le fais de cette façon uniquement pour pouvoir débrancher le câble USB et, via une rallonge USB, le brancher sur mon ordinateur pour les changements de programme. Ça a l'air un peu bizarre, mais je trouve ça pratique.

Vous pouvez également voir les capteurs de distance à ultrasons en option montés en haut de l'écran. De la colle chaude et des bâtons de popsicle supplémentaires ont été utilisés pour les monter. La petite carte de prototypage que vous voyez sous l'Uno est simplement là pour faciliter l'alimentation et la mise à la terre de tous les capteurs à ultrasons.

Logiciel

J'utilise la bibliothèque PWM Servo Driver d'Adafruit pour gérer les servocontrôleurs à 16 canaux, vous devrez donc l'obtenir auprès d'Adafruit et l'installer dans les bibliothèques Arduino. Mon logiciel peut être utilisé tel quel avec ou sans les capteurs à ultrasons en option. Il présente une variété d'effets dans un spectacle qui dure un peu plus de trois minutes avant de se répéter. Si les capteurs en option sont installés, il entrera en mode interactif chaque fois qu'une main est placée sur le capteur central.

Il y a beaucoup de choses dans le logiciel. Je ne vais pas tenter de tout expliquer ici, mais je vais vous donner quelques informations sur son fonctionnement. J'ai deux tables. La table curPos stocke la position actuelle de chaque servo divisée par trois. La table tarPos stocke la position souhaitée de chaque servo divisé par trois. Ils sont divisés par 3 pour deux raisons. Premièrement, cela permet de les stocker dans un octet, et deuxièmement, je déplace toujours les servos par incréments de 3 étapes.

L'Uno ne connaît pas initialement les positions de chaque servo, donc la routine de configuration place tous les servos en position verticale et règle toutes les variables curPos et tarPos pour qu'elles correspondent à cette position verticale. Nous pouvons ensuite déplacer les servos de là vers d'autres positions en changeant les positions souhaitées dans tarPos.

Un sous-programme appelé goToTargets() est la principale façon dont les servos sont déplacés. Nous contrôlons où vont les servos en définissant les cibles sur tarPos, puis nous pouvons contrôler à quelle vitesse ils y vont avec la routine goToTargets. Il a deux façons de contrôler la vitesse. Il déplace les servos vers leurs cibles par incréments de 15 étapes, où l'entrée des répétitions dans le sous-programme vous donne des multiples de 15 étapes. L'autre entrée est mydelay, qui ajoute simplement un délai en millisecondes à chaque appel de goToTargets.

Il y a beaucoup d'autres choses, mais fondamentalement tout le reste n'est que diverses configurations et implémentations des divers effets présentés.

La fonction interactive facultative est gérée par un sous-programme appelé trackRoutine. Il est appelé lorsque la routine goToTarget voit un objet (votre main) quelque part au-dessus du capteur à ultrasons central. Il essaie de faire en sorte que tous les servos suivent le mouvement de votre main lorsqu'il se déplace sur les capteurs. Lorsqu'il n'a pas détecté de main pendant quelques secondes, il revient et le programme régulier reprend.

Code

  • Logiciel ServosArt pour Arduino Uno
Logiciel ServosArt pour Arduino UnoArduino
Aucun aperçu (téléchargement uniquement).

Schémas

Montre comment Uno et les servos sont connectés via trois contrôleurs à 16 canaux Connecte 5 capteurs de distance à ultrasons à Uno pour permettre aux servos de suivre le mouvement de la main.

Processus de fabrication

  1. Prototype Raspoulette
  2. Robot Pi simple
  3. Experts en réparation de servomoteurs Fanuc
  4. Réparation experte de servomoteurs Siemens
  5. Conseils pour les réparations et le dépannage des servomoteurs
  6. MOSMusique
  7. Qu'est-ce qu'un moteur linéaire ?
  8. La beauté du réducteur planétaire pour servomoteur
  9. Une introduction à la presse servo