Bibliothèque Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003: 3 étapes

Bibliothèque Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003: 3 étapes

Table des matières:

Anonim

Le moteur pas à pas 28BYJ-48 avec le pilote ULN2003 semble maintenant une configuration assez banale. Le moteur et le pilote sont facilement disponibles et bon marché. Cependant, la bibliothèque de moteurs arduino stepper standard ne fonctionne tout simplement pas avec cette configuration! Apparemment, quelque chose à voir avec la séquence requise pour la rotation du 28BYJ-48.

Cet instructable vous montrera comment écrire une bibliothèque simple qui simplifiera la vie des futurs utilisateurs du 28BYJ-48. J'ai vu quelques solutions possibles (même écrire la séquence de pouls encore et encore), mais je n'en étais pas satisfait, alors j'ai décidé d'écrire la mienne.

Nous supposons que vous avez une compréhension de base de C ++ et de la théorie des moteurs pas à pas.

Vous pouvez obtenir le code et une implémentation à partir du blog EngyFun à l'adresse suivante:

http: //engyfun.blogspot.com.au/2015/02/here-is-sou …

Provisions:

Étape 1: StepperMotor.h

Commençons par écrire la classe StepperMotor.

Créez un fichier nommé StepperMotor.h et copiez le code dans l'image.

Si vous comprenez le C ++, la définition de la classe parlera d'elle-même.

Étape 2: StepperMotor.cpp

Maintenant écrivons l'interface de classe.

Créez un fichier nommé StepperMotor.cpp et copiez le code dans les images.

Regardons le constructeur sur la ligne 4. Nous commençons par assigner les broches sélectionnées par l'utilisateur au tableau de broches d'entrée sur les lignes 6 à 9. Cela facilitera l'accès aux numéros de broches dans l'algorithme de pilotage.

Sur la ligne 12, nous parcourons le tableau de broches d’entrée et définissons chaque broche en mode OUTPUT.

Sur la ligne 15, nous définissons par défaut la durée du pas à 50 ms.

Sur la ligne 18, nous avons le paramètre de durée de l'étape. C'est auto-explicatif.

Regardons maintenant la méthode step. Cela permet au moteur pas à pas de déterminer le nombre de fois passés à la méthode.

Sur la ligne 28, nous définissons la séquence de rotation en utilisant un tableau 2D. Les lignes représentent une étape et les colonnes représentent les broches de sortie.

À la ligne 37, nous calculons le facteur, qui sera +1 ou -1, en fonction du signe du nombre de pas écoulés. Cette valeur est nécessaire dans l’algorithme pour diriger le sens de l’itération à travers le tableau de séquence, c’est-à-dire pour changer le sens de rotation.

Sur la ligne 38, nous donnons noOfSteps positif, requis pour la conception.

Sur la ligne 44, nous commençons une boucle qui s'exécutera à chaque début d’une séquence de rotation, c’est-à-dire au début de toutes les 8 étapes.

A la ligne 45, nous commençons une autre boucle qui parcourt les lignes du tableau de séquence.

À la ligne 46, nous différons la durée.

Sur la ligne 47, nous parcourons les numéros de broche.

Sur la ligne 48, nous écrivons le signal numérique sur le numéro de broche actuel.

Si facteur est négatif, les lignes du tableau de séquence sont accessibles dans la direction opposée sur la ligne 48 lorsque nous écrivons sur les broches. 8 est soustrait du nombre de lignes … on y accède donc de bas en haut.

Étape 3: Accéder à la bibliothèque à partir de l'IDE Arduino

Il ne reste plus qu’à ajouter ces fichiers au répertoire de la bibliothèque d’arduino IDE. Cela nous permettra d'importer cette bibliothèque dans l'EDI pour l'utiliser.

Allez dans le répertoire suivant:

C: Program Files (x86) Arduino libraries

puis créez un dossier appelé StepperMotor.

Maintenant, placez les fichiers.h et.cpp dans le dossier créé.

Vous pouvez maintenant importer la bibliothèque à partir de l'EDI. (esquisse> bibliothèque d'importation …> StepperMotor)

2 personnes ont réalisé ce projet!

  • johnnyfrx l'a fait!

  • brdavid l'a fait!

Avez-vous réalisé ce projet? Partagez le avec nous!

Recommandations

  • SKY CAM une solution de caméra aérienne

  • Arduino Air Bonsai Levitation

  • Classe Internet des objets

  • Concours de menuiserie

  • Concours Fandom

  • Concours Arduino 2019

8 discussions

0

jplaiss

il y a 3 ans

… Arduino ULNStepper ULNStepper.ino: 2: 26: erreur fatale: StepperMotor.h: aucun fichier ou répertoire de ce type

#comprendre

Continue à arriver.

2 réponses 0

DikaM2 jplaiss

Répondre il y a 3 mois

Je pense que la bibliothèque n'existait pas dans le répertoire

0

JeremieL8 jplaiss

Répondre il y a 2 ans

pareil ici..

0

tahirulhaq

il y a 1 an

Excellent travail !!!

0

Drumpeter

il y a 2 ans

Fonctionne très bien! Y a-t-il une possibilité de le laisser tourner plus vite que 1 pas par microseconde? Si je comprends bien, la bibliothèque ne comprend que les entiers. Comment puis-je changer ça?

0

jplaiss

il y a 3 ans

Il me manque quelque chose ici.

Que devrais-je utiliser pour créer les fichiers.h et.cpp?

Comment dois-je regrouper ces éléments pour créer une bibliothèque à installer dans l'EDI?

À ce jour, j'ai créé deux documents du bloc-notes qui, une fois étiquetés avec les suffixes, apparaissent de la même manière que n'importe quelle autre bibliothèque que j'ai. J'ai essayé d'insérer ces documents dans un fichier principal, de les placer dans un autre fichier du dossier principal, de les placer au même niveau que le code de test et de jongler avec des fragments de celui-ci en quelques itérations.

S'il vous plaît aider.

0

conception fonctionnelle

il y a 3 ans

Très belle information! J'ai finalement eu ce stepper à courir. Je voudrais utiliser des boutons pour contrôler la vitesse / tours. Quelle valeur faut-il changer pour que cela aille plus vite? Je peux le ralentir en modifiant la valeur dans motor.setStepDuration (1), mais qu'en est-il plus rapide?

0

Billdwp

Il y a 3 ans à l'étape 2

Brillant, excellent, utile; Je vous remercie!