Table des matières:
- Étape 1: Bibliothèque StepDriver
- Étape 2: Variables globales
- Étape 3: Fonctions - Réglage des broches du pilote
- Étape 4: Fonctions - Fonctions de base du pilote
- Étape 5: Fonctions - Réglage du pas du moteur
- Étape 6: Fonctions - Réglage du mode pas à pas du moteur
- Étape 7: Fonctions - Réglage des interrupteurs de fin de course
- Étape 8: Fonctions - Lecture des interrupteurs de fin de course
- Étape 9: Fonctions - Configuration du mouvement
- Étape 10: Fonctions - Fonction de mouvement
- Étape 11: Fonctions - Fonction de mouvement - Variables
- Étape 12: Fonctions - Fonction de mouvement - Accélération
- Étape 13: Fonctions - Fonction de mouvement - Vitesse continue
- Étape 14: Fonctions - Fonction de mouvement - Décélération
- Étape 15: Fonctions - Fonction de mouvement - Vitesse continue
- Étape 16: Fonctions - Fonction de déplacement - Déplacement des tours
- Étape 17: Diagramme de mouvement - Vitesse de position
- Étape 18: Diagramme de mouvement - Position Vs. Position
- Étape 19: Diagramme de mouvement - Vitesse Vs. Moment
Vidéo: Arduino : Precision Lib pour moteur pas à pas : 19 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Aujourd'hui, je vais vous montrer une bibliothèque pour un pilote de moteur pas à pas complet avec interrupteurs de fin de course et un mouvement de moteur avec accélération et micro pas. Cette Lib, qui fonctionne à la fois sur l'Arduino Uno et sur l'Arduino Mega, vous permet de déplacer les moteurs en fonction non seulement du nombre de pas, mais également des millimètres. Et c'est assez précis aussi.
Une caractéristique importante de cette bibliothèque est qu'elle vous permet de construire votre propre machine CNC, qui n'est pas nécessairement seulement le X, Y, mais aussi un commutateur de section, par exemple, car ce n'est pas un GRBL prêt, mais plutôt la programmation qui vous permet de fabriquer la machine idéale pour vous.
Cependant, la déclaration suivante est un détail important ! Cette vidéo est uniquement pour ceux qui sont déjà habitués à la programmation. Si vous n'êtes pas familier avec la programmation Arduino, vous devriez d'abord regarder d'autres vidéos d'introduction sur ma chaîne. C'est parce que je discute d'un sujet avancé dans cette vidéo spécifique et que j'explique plus en détail la bibliothèque utilisée dans la vidéo: moteur pas à pas avec accélération et fin de course.
Étape 1: Bibliothèque StepDriver
Cette bibliothèque couvre les trois types de pilotes les plus courants sur le marché: A4988, DRV8825 et TB6600. Il configure les broches des pilotes, leur permettant d'effectuer la réinitialisation et le placement en mode veille, ainsi que d'activer et de désactiver les sorties moteur agissant sur la broche Enable. Il définit également les entrées des broches micro-pas du pilote, et les commutateurs de limites et leur niveau d'activation (haut ou bas). Il dispose également d'un code de mouvement du moteur avec accélération continue en mm/s², vitesse maximale en mm/s et vitesse minimale en mm/s.
Pour ceux qui ont regardé les parties 1 et 2 de la vidéo Moteur pas à pas avec accélération et fin de course, téléchargez cette nouvelle bibliothèque disponible dès aujourd'hui, car j'ai apporté quelques modifications à ce premier fichier pour faciliter son utilisation.
Étape 2: Variables globales
Je montre exactement à quoi sert chacune des variables globales.
Étape 3: Fonctions - Réglage des broches du pilote
Ici, je décris quelques méthodes.
J'ai défini le paramètre Pinout et les broches Arduino en sortie.
Étape 4: Fonctions - Fonctions de base du pilote
Dans cette partie, nous travaillons avec la configuration du pilote et ses fonctions de base.
Étape 5: Fonctions - Réglage du pas du moteur
Dans cette étape du code, nous configurons le nombre de pas par millimètre que le moteur doit exécuter.
Étape 6: Fonctions - Réglage du mode pas à pas du moteur
Ce tableau montre les réglages pour le mode pas à pas du moteur. Voici quelques exemples.
Étape 7: Fonctions - Réglage des interrupteurs de fin de course
Ici, je dois lire les valeurs entières et booléennes. Il est nécessaire de définir si la clé active est vers le haut ou vers le bas, tout en définissant la fin de course maximale et minimale.
Étape 8: Fonctions - Lecture des interrupteurs de fin de course
Cette partie est différente de celle de la Lib que j'ai rendue disponible la semaine dernière. Pourquoi l'ai-je changé ? Eh bien, j'ai créé eRead pour remplacer d'autres. Ici, l'eRead lira le LVL, le digitalRead (pin) et renverra TRUE. Tout cela doit être effectué à haute. Le travail suivant avec la clé active sera au niveau bas. Je vais l'utiliser ici pour vous montrer la table "Vérité".
A l'image du code, j'ai placé un schéma qui va aider à comprendre que, dans cette partie du code source, je m'oriente vers l'Ascendant et n'ai pas encore touché la touche de fin de cours.
Maintenant, dans cette image code os bool DRV8825, je montre le moteur toujours en mouvement dans le sens de la croissance. Cependant, le fin de course maximum s'est activé. Le mécanisme doit donc arrêter le mouvement.
Pour la fin, je montre le même mouvement, mais en sens inverse.
Ici, vous avez déjà activé l'interrupteur de fin de cours.
Étape 9: Fonctions - Configuration du mouvement
L'utilité principale de la méthode motionConfig est de convertir le millimètre par seconde (une mesure utilisée dans les machines CNC) en pas, afin de répondre au contrôleur d'un moteur pas à pas. C'est donc dans cette partie que j'instancier les variables pour comprendre les pas et non les millimètres.
Étape 10: Fonctions - Fonction de mouvement
Dans cette étape, nous traitons la commande qui se déplace d'un pas dans la direction souhaitée dans une période en microsecondes. Nous avons également défini la broche de direction du conducteur, le temps de retard et la direction des interrupteurs de fin de course.
Étape 11: Fonctions - Fonction de mouvement - Variables
Dans cette partie, nous configurons toutes les variables qui impliquent des périodes de vitesse maximale et minimale, la distance de trajectoire et les étapes nécessaires pour interrompre la trajectoire, entre autres.
Étape 12: Fonctions - Fonction de mouvement - Accélération
Ici, je présente quelques détails sur la façon dont nous sommes arrivés aux données d'accélération, qui ont été calculées à l'aide de l'équation de Torricelli, car cela prend en compte les espaces pour travailler l'accélération et non le temps. Mais, il est important ici de comprendre que toute cette équation ne concerne qu'une seule ligne de code.
Nous avons identifié un trapèze dans l'image ci-dessus, car les RPM initiaux sont mauvais pour la plupart des moteurs pas à pas. La même chose se produit avec la décélération. De ce fait, nous visualisons un trapèze dans la période entre l'accélération et la décélération.
Étape 13: Fonctions - Fonction de mouvement - Vitesse continue
Ici, nous gardons le nombre de pas utilisés dans l'accélération, nous continuons en vitesse continue, et gardons la vitesse maximale, ce qui peut être vu dans l'image ci-dessous.
Étape 14: Fonctions - Fonction de mouvement - Décélération
Ici, nous avons une autre équation, cette fois avec une valeur d'accélération négative. Il est également affiché dans une ligne de code, qui représente, dans l'image ci-dessous, le rectangle intitulé Décélération.
Étape 15: Fonctions - Fonction de mouvement - Vitesse continue
On revient en vitesse continue pour travailler la seconde moitié de la trajectoire, comme on le voit ci-dessous.
Étape 16: Fonctions - Fonction de déplacement - Déplacement des tours
Dans cette partie, nous déplaçons le moteur d'un certain nombre de tours dans la direction souhaitée, en convertissant le nombre de tours en millimètres. Enfin, nous déplaçons le moteur dans le sens demandé.
Étape 17: Diagramme de mouvement - Vitesse de position
Dans ce graphique, j'ai des données qui ont été extraites de l'équation que nous avons utilisée dans la partie Accélération. J'ai pris les valeurs et joué sur la série Arduino, et je suis passé de cela à Excel, ce qui a donné ce tableau. Ce tableau montre la progression de l'étape.
Étape 18: Diagramme de mouvement - Position Vs. Position
Ici, nous prenons la position, en pas, et la vitesse et la convertissons en période, en microseconde. On note dans cette étape que la période est inversement proportionnelle à la vitesse.
Étape 19: Diagramme de mouvement - Vitesse Vs. Moment
Enfin, nous avons la vitesse en fonction de l'instant, et de ce fait, nous avons une droite, puisque c'est la vitesse en fonction du temps.
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis): 3 étapes
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis) : MISE À JOUR : VEUILLEZ VOTEZ POUR MON INSTRUCTIBLE, MERCI ^_^ VOUS POUVEZ AUSSI AIMER VOTER POUR MON AUTRE CONCOURS ENTRÉE SUR www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ OU PEUT-ÊTRE VOTER POUR MON MEILLEUR AMI