Table des matières:

Contrôle de moteur à courant continu Arduino Uno R3 : 6 étapes
Contrôle de moteur à courant continu Arduino Uno R3 : 6 étapes

Vidéo: Contrôle de moteur à courant continu Arduino Uno R3 : 6 étapes

Vidéo: Contrôle de moteur à courant continu Arduino Uno R3 : 6 étapes
Vidéo: Contrôler un MOTEUR avec un potentiomètre sur ARDUINO 2024, Novembre
Anonim
Contrôle de moteur à courant continu Arduino Uno R3
Contrôle de moteur à courant continu Arduino Uno R3

Dans cette expérience, nous allons apprendre à contrôler la direction et la vitesse d'un moteur à courant continu de petite taille par une puce pilote L293D. En faisant des expériences simples, nous allons simplement faire tourner le moteur à gauche et à droite, et accélérer ou décélérer automatiquement.

Étape 1: Composants

-Carte Arduino Uno * 1

- Câble USB * 1

-L293D * 1

- Petit moteur à courant continu * 1

- Planche à pain * 1

- Cavaliers

Étape 2: Principe

Le courant maximum d'un port d'E/S Arduino est de 20mA mais le courant d'entraînement d'un moteur est d'au moins 70mA. Par conséquent, nous ne pouvons pas utiliser directement le port d'E/S pour piloter le courant; à la place, nous pouvons utiliser un L293D pour entraîner le moteur. L293D L293D est conçu pour fournir des courants d'entraînement bidirectionnels allant jusqu'à 600 mA à des tensions de 4,5 V à 36 V. Il est utilisé pour piloter des charges inductives telles que des relais, des solénoïdes, des moteurs pas à pas à courant continu et bipolaires, ainsi que d'autres charges à courant élevé/haute tension dans les applications à alimentation positive.

Voir la figure des broches ci-dessous. L293D a deux broches (Vcc1 et Vcc2) pour l'alimentation. Vcc2 est utilisé pour alimenter le moteur, tandis que Vcc1, pour la puce. Puisqu'un moteur à courant continu de petite taille est utilisé ici, connectez les deux broches à +5V. Si vous utilisez un moteur de puissance plus élevée, vous devez connecter Vcc2 à une alimentation externe.

Étape 3: Le diagramme schématique

Le diagramme schématique
Le diagramme schématique

Étape 4: Procédures

Procédures
Procédures
Procédures
Procédures

Les broches d'activation 1, 2EN du L293D sont déjà connectées à 5 V, de sorte que le L293D est toujours en état de fonctionnement. Connectez respectivement les broches 1A et 2A aux broches 9 et 10 de la carte de commande. Les deux broches du moteur sont connectées respectivement aux broches 1Y et 2Y. Lorsque la broche 10 est définie comme niveau haut et la broche 9 comme niveau bas, le moteur commencera à tourner dans une direction. Lorsque la broche 10 est au niveau bas et que la broche 9 est au niveau haut, elle tourne dans le sens opposé.

Étape 1:

Construisez le circuit.

Étape 2:

Téléchargez le code sur

Étape 3:

Téléchargez le croquis sur la carte Arduino Uno

Cliquez sur l'icône Télécharger pour télécharger le code sur le tableau de commande.

Si « Téléchargement terminé » apparaît en bas de la fenêtre, cela signifie que le croquis a été téléchargé avec succès.

Maintenant, la lame du moteur à courant continu commencera à tourner à gauche et à droite, à une vitesse qui varie en conséquence.

Étape 5: Coder

Code
Code

//Contrôle du moteur à courant continu

//Le moteur à courant continu

commencera à tourner à gauche et à droite, et sa vitesse variera en conséquence.

//Site Web: www.primerobotics.in

/***************************************/

const int motorIn1

= 9; //attache à l'une des broches du moteur

const int motorIn2

= 10; // attacher à une autre broche du moteur

/***************************************/

void setup()

{

pinMode(motorIn1, OUTPUT); // initialise la broche motorIn1 en sortie

pinMode(motorIn2, OUTPUT); // initialise la broche motorIn2 en sortie

}

/****************************************/

boucle vide()

{

dans le sens des aiguilles d'une montre (200); //le sens des aiguilles d'une montre

retard(1000);

// attend une seconde

dans le sens antihoraire (200); //tourner dans le sens antihoraire

retard(1000);

// attend une seconde

}

/****************************************

/La fonction de

le moteur d'entraînement tourne dans le sens des aiguilles d'une montre

void dans le sens des aiguilles d'une montre(int

La vitesse)

{

analogWrite(motorIn1, Speed); //définir la vitesse du moteur

analogWrite(motorIn2, 0); // arrête la broche motorIn2 du moteur

}

//La fonction à piloter

le moteur tourne dans le sens antihoraire

annuler

dans le sens antihoraire (vitesse int)

{

analogWrite(motorIn1, 0); //arrêt de la broche motorIn1 du moteur

analogWrite (motorIn2, Speed); //définir la vitesse du moteur

}

/****************************************/

Conseillé: