Table des matières:

Conduire de petits moteurs avec le TB6612FNG : 8 étapes
Conduire de petits moteurs avec le TB6612FNG : 8 étapes

Vidéo: Conduire de petits moteurs avec le TB6612FNG : 8 étapes

Vidéo: Conduire de petits moteurs avec le TB6612FNG : 8 étapes
Vidéo: Lesson 102: Using ZK-5AD 4A Dual DC Motor Driver TA6586 4A 14V The best Motor Driver (new product) 2024, Décembre
Anonim
Conduire de petits moteurs avec le TB6612FNG
Conduire de petits moteurs avec le TB6612FNG

Le TB6612FNG est un circuit intégré de commande de moteur double de Toshiba. Il existe de nombreuses cartes de dérivation pour cela et c'est l'un des choix les plus populaires pour piloter de petits moteurs.

Il existe de nombreuses ressources en ligne pour démarrer avec le TB6612FNG, mais j'ai quand même décidé d'écrire ceci pour mieux compiler ce que j'ai rencontré.

Je vais me concentrer sur la logique de contrôle et expliquer également la bibliothèque de pilotes de moteur Sparkfun TB6612FNG en détail dans cette instructable.

Étape 1: Pièces requises

Voici ce que nous utiliserons aujourd'hui:

1) Micro moteurs en métal

2) pilote de moteur TB6612FNG

3) Un câble Arduino et USB

4) Source d'alimentation pour les moteurs

5) Planche à pain

6) Cavaliers

Étape 2: la carte de dérivation TB6612FNG

La carte de dérivation TB6612FNG
La carte de dérivation TB6612FNG

Comme je l'ai mentionné précédemment, il existe de nombreuses cartes de dérivation de différents fabricants pour le TB6612FNG. Tous ont plus ou moins les mêmes composants et un brochage similaire.

Les condensateurs sont soudés sur la carte pour une protection contre le bruit des moteurs, vous n'aurez donc pas à souder ces condensateurs en céramique aux moteurs.

Le circuit intégré est également livré avec des diodes internes pour protéger des champs électromagnétiques arrière des moteurs. Mais avoir des mesures de sécurité supplémentaires ne fait de mal à personne. Je ne les ai pas ajoutés car mes moteurs ne sont pas très gros et je manque de diodes:|

Étape 3: Brochage

Brochage
Brochage

La carte de dérivation TB6612FNG a un brochage très pratique. Toutes les sorties, entrées et connexions d'alimentation du moteur sont joliment regroupées pour une facilité d'utilisation maximale.

J'ai fait une illustration des brochages et comment les connecter, j'espère que cela vous sera utile lors de la connexion de tous ces fils:)

Étape 4: Schémas

Schémas
Schémas
Schémas
Schémas

Je suis assez nouveau dans l'utilisation de Fritzing. Je trouve les schémas de circuit de Fritzing assez difficiles à comprendre, mais la vue de la maquette est pratique pour les Instructables. N'hésitez pas à poser des questions si l'une des connexions filaires semble confuse.

Étape 5: Câblage

Câblage
Câblage

Câblez le tout selon les schémas. Il y a beaucoup de fils, assurez-vous de vérifier après chaque connexion.

J'ai utilisé les broches Arduino suivantes pour les entrées du pilote de moteur:

Pilote de moteur -> Numéro de broche Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Choses qui peuvent mal tourner à cette étape: 1) N'inversez pas la polarité lors de la connexion du Vm et du GND à partir de la source d'alimentation. Vous pourriez faire frire votre conducteur de moteur.

2) Assurez-vous de connecter les broches PWMA et PWMB aux broches PWM de l'arduino.

3) N'oubliez pas de connecter l'Arduino GND et le GND du pilote de moteur si vous utilisez une source d'alimentation différente pour chacun.

Étape 6: Téléchargement et installation de la bibliothèque

Téléchargez la bibliothèque à partir de la page GitHub de Sparkfun.

Une fois que vous avez téléchargé le fichier zip, ouvrez votre IDE Arduino.

Dans Sketch > Inclure la bibliothèque > Ajouter une bibliothèque. Zip, ajoutez la bibliothèque que vous avez téléchargée.

Une fois installé avec succès, il devrait apparaître sur Fichier> Exemples, en tant que « SparkFun TB6612FNG Motor Library »

Si vous rencontrez des difficultés pour télécharger et installer une bibliothèque Arduino, consultez l'étape 5 de cette instructable.

Étape 7: Exécuter l'exemple de code

Maintenant que notre bibliothèque est prête, nous pouvons télécharger l'exemple de code pour le tester.

1) Ouvrez l'exemple 'MotorTestRun' de la 'Sparkfun TB6612FNG Motor Driver Library' répertorié dans vos bibliothèques.

Remarque: si vous n'utilisez pas les mêmes numéros de broche que ceux mentionnés à l'étape 5, assurez-vous de modifier les définitions de broche en fonction de votre configuration.

2) Sélectionnez votre tableau dans le gestionnaire de tableau

3) Téléchargez votre code et les moteurs devraient commencer à bouger

Une fois que vous avez téléchargé, les moteurs devraient commencer à bouger. Si ce n'est pas le cas, vérifiez à nouveau votre câblage.

Étape 8: La bibliothèque expliquée

Maintenant, expliquez comment utiliser la bibliothèque pour votre propre morceau de code.

Commencez par importer la bibliothèque et initialiser les broches sur arduino

#comprendre

#définir AIN1 2 #définir AIN2 4 #définir PWMA 5 #définir BIN1 7 #définir BIN2 8 #définir PWMB 6#définir STBY 9

Pour initialiser vos objets moteurs, vous devez définir des décalages pour chaque moteur. Imaginez si vous faites une commande en avant sur votre moteur et qu'il tourne en marche arrière. Vous pouvez le recâbler manuellement ou simplement modifier le décalage à partir d'ici. Petit hack QoL astucieux ajouté par SparkFun. Les valeurs de ces décalages sont soit 1 soit -1.

Vous devez ensuite initialiser chacun des moteurs avec les paramètres suivants;

Moteur = moteur (broche 1, broche 2, broche PWM, décalage, broche de veille)

const int offsetA = 1;

const int offsetB = 1; Moteur moteur1 = Moteur(AIN1, AIN2, PWMA, offsetA, STBY);

Et avec cela, vous avez terminé d'initialiser la bibliothèque. Plus d'étapes dans la fonction setup(), nous exécutons simplement le code dans la fonction loop().

La méthode motrice a les fonctions suivantes. Bricoler pour les vérifier tous.

1).drive(valeur, temps)

Motor_name = nom de votre moteur objectvalue= 255 à -255; les valeurs négatives feront bouger le moteur en sens inverse = temps en millisecondes

2).brake()

La fonction de freinage ne prend aucun argument, freine les moteurs.

3) frein(, <nom_moteur2)

La fonction de freinage prend les noms d'objets moteur comme arguments. Freine les moteurs passés à la fonction.

4) avance(,, temps) avance(,, vitesse, temps)

La fonction accepte le nom de deux objets moteur, éventuellement la vitesse et le temps PWM en millisecondes et fait tourner le moteur en marche avant pendant le laps de temps écoulé. Si la valeur de la vitesse est négative, le moteur reculera. La vitesse par défaut est définie sur 255.

5) retour(,, temps) retour(,, vitesse, temps)

La fonction accepte le nom de deux objets moteur, éventuellement la vitesse et le temps PWM en millisecondes et fait tourner le moteur en marche avant pendant le laps de temps écoulé. Si la valeur de la vitesse est négative, le moteur avancera. La vitesse par défaut est définie sur 255.

6) gauche(,, vitesse) droite(,, vitesse)

La fonction accepte deux noms d'objet moteur et la vitesse. L'ordre des objets moteurs passés en paramètres est important. Pour piloter des moteurs simples, utilisez plutôt.drive().

Conseillé: