Arduino mehrere stepper
Le projet utilisera un Arduino mega par ligne car ceux-ci peuvent contrôler jusqu’à 15 moteurs pas à pas, et j’ai été chargé de développer un moyen de contrôler une ligne de 14 moteurs pas à pas afin qu’ils soient adressables individuellement et qu’ils puissent se déplacer en séquence de sorte que la balle au bout des cordes attachées au moteur pas à pas puisse être réglée pour créer un contour.
Mes premières pensées étaient de créer un tableau sur chaque Arduino listant chaque moteur pas à pas de la ligne, est-ce la manière la plus efficace d’adresser chaque moteur pas à pas ? En ce qui concerne la position finale de chaque sphère, je suppose que je devrais convertir la position z en pas, ce qui, avec ma compréhension actuelle, signifierait que je devrais avoir un code personnalisé pour chaque Arduino contrôlant leur ligne.
Est-ce que je me trompe complètement dans mes hypothèses ? Pourriez-vous me donner quelques conseils sur la façon de commencer à chercher les informations dont j’ai besoin ? Je dois avouer que ce que j’ai fait de mieux avec les Arduinos dans le passé, c’est de contrôler les servos pour les parties animées des dioramas.
Afin d’adresser les 98 cartes ATMega328p, il me suffirait d’envoyer entre 196 et 392 octets (une quantité triviale de données, moins que ce qu’il faut pour piloter une chaîne de 98 pixels LED APA102) de données sur la broche Data de la première ATMega328p, ce qui remplirait sa mémoire interne, puis il enverrait les données à la suivante, et à la suivante, et à la suivante, etc.
Arduino moteur pas à pas pwm
SearchLog in / Sign upComment contrôler plusieurs moteurs pas à pas bipolaires simultanément en utilisant un Arduino NanoMise à jour : Jun 26, 2020Pour mon prochain projet, j’ai acheté quatre moteurs pas à pas bipolaires bon marché. Dans ce tutoriel, je vais vous montrer comment les contrôler tous les quatre simultanément en utilisant Arduino Nano et en utilisant seize broches (dix broches numériques et six broches analogiques) pour cela. Contrôler un moteur DC depuis Arduino en utilisant un H-BridgeJe ne vais pas entrer dans les détails du fonctionnement d’un moteur pas à pas bipolaire. Un moteur pas à pas bipolaire possède quatre fils d’entrée qui doivent être configurés comme suit : pins1
Programme de test du moteur pas à pas Arduino
J’utilise l’exemple de code ci-dessous (d’ici), qui fonctionne bien pour déplacer plusieurs moteurs pas à pas en même temps MAIS ils se déplacent tous pour le même nombre de pas et dans la même direction. Je voudrais modifier le code pour que tous les moteurs se déplacent en même temps, mais chacun d’entre eux pour un nombre de pas différent et dans des directions différentes. Le moteur ayant le moins de pas devrait probablement attendre que le moteur ayant le plus de pas ait terminé son mouvement avant de repartir.
L’important est que vous n’appeliez le délai qu’une seule fois. Et on peut supposer qu’il ne s’agit que d’un délai très court par rapport à l’unité de temps de la vitesse. Dans l’exemple ci-dessus, il ajusterait la position du stepper toutes les 100 ms. Il vous faudra expérimenter avec le timing pour trouver un bon comportement en fonction de la vitesse du stepper, de la vitesse du code et du taux maximum autorisé.
Attention, il y a beaucoup de choses à penser au-delà de cela. Par exemple, vous devriez initialiser les timestamps avec des timestamps différents afin que les moteurs ne tournent pas tous au même instant et ainsi essayer de minimiser la puissance totale consommée par les moteurs à un moment donné.
Tutoriel Arduino sur les moteurs pas à pas
Le A4988 est un pilote micropas pour contrôler les moteurs pas à pas bipolaires qui a un traducteur intégré pour une opération facile. Cela signifie que nous pouvons contrôler le moteur pas à pas avec seulement 2 broches de notre contrôleur, soit une pour contrôler le sens de rotation et l’autre pour contrôler les pas.
Le Driver offre cinq résolutions de pas différentes : pas entier, pas de hanche, quart de pas, huit pas et seize pas. Il dispose également d’un potentiomètre pour le réglage du courant de sortie, d’un arrêt thermique en cas de surchauffe et d’une protection contre le courant de croisement.
Maintenant, regardons de près le brochage du driver et connectons-le avec le moteur pas à pas et le contrôleur. Nous allons commencer par les 2 broches sur le bouton de droite pour alimenter le driver, les broches VDD et Ground que nous devons connecter à une alimentation de 3 à 5.5 V et dans notre cas ce sera notre contrôleur, la carte Arduino qui fournira 5 V. Les 4 broches suivantes servent à connecter le moteur. Les broches 1A et 1B seront connectées à une bobine du moteur et les broches 2A et 2B à l’autre bobine du moteur. Pour alimenter le moteur, nous utilisons les 2 broches suivantes, Ground et VMOT, que nous devons connecter à une alimentation de 8 à 35 V. Nous devons également utiliser un condensateur de découplage d’au moins 47 µF pour protéger la carte de pilotage des pics de tension.