- Création d'une interface utilisateur graphique MATLAB pour contrôler le moteur à courant continu
- Code MATLAB pour contrôler le moteur à courant continu avec Arduino
- Matériel requis
- Schéma
- Contrôle du moteur à courant continu avec MATLAB
Dans ce tutoriel, nous allons vous montrer comment contrôler un moteur à courant continu en utilisant MATLB et Arduino. Si vous êtes nouveau avec MATLAB, il est recommandé de commencer avec un simple programme de clignotement LED avec MATLAB.
Création d'une interface utilisateur graphique MATLAB pour contrôler le moteur à courant continu
Après avoir terminé la configuration avec Arduino pour MATLAB, nous devons créer une interface graphique (GUI) pour contrôler le moteur à courant continu. Pour lancer l'interface graphique, tapez la commande ci-dessous dans la fenêtre de commande
guider
Une fenêtre contextuelle s'ouvre, puis sélectionnez une nouvelle interface graphique vierge comme indiqué dans l'image ci-dessous,
Choisissez maintenant trois boutons-poussoirs pour la rotation dans le sens horaire, la rotation anti-horaire et STOP, comme indiqué ci-dessous,
Pour redimensionner ou changer la forme du bouton, il suffit de cliquer dessus et vous pourrez faire glisser les coins du bouton. En double-cliquant sur le bouton poussoir, vous pouvez changer la couleur, la chaîne et l'étiquette de ce bouton particulier. Nous avons personnalisé trois boutons comme indiqué dans l'image ci-dessous.
Vous pouvez personnaliser les boutons selon votre choix. Désormais, lorsque vous enregistrez cela, un code est généré dans la fenêtre Editeur de MATLAB. Pour coder votre Arduino pour effectuer toute tâche liée à votre projet, vous devez toujours éditer ce code généré. Nous avons donc édité ci-dessous le code MATLAB.
Code MATLAB pour contrôler le moteur à courant continu avec Arduino
Le code MATLAB complet, après l'avoir édité pour la commande de moteur à courant continu, est donné à la fin de ce projet. De plus, nous incluons le fichier GUI (.fig) et le fichier de code (.m) ici pour téléchargement, à l'aide desquels vous pouvez personnaliser les boutons selon vos besoins. Vous trouverez ci-dessous quelques modifications que nous avons apportées pour faire tourner le moteur à courant continu dans le sens horaire, antihoraire et arrêter à l'aide de trois boutons poussoirs.
Copiez et collez le code ci-dessous sur la ligne no. 74 pour vous assurer que l'Arduino parle avec MATLAB chaque fois que vous exécutez le m-file.
tout effacer; global a; a = arduino ();
Lorsque vous faites défiler vers le bas, vous verrez qu'il existe trois fonctions pour chaque bouton dans l'interface graphique. Maintenant, écrivez le code dans chaque fonction en fonction de la tâche que vous souhaitez effectuer au clic.
Dans la fonction du bouton dans le sens des aiguilles d'une montre , copiez et collez le code ci-dessous juste avant les accolades de fin de la fonction pour faire tourner le moteur dans le sens des aiguilles d'une montre. Ici, nous donnons HIGH à la broche 6 et LOW à la broche 5 pour faire tourner le moteur dans le sens des aiguilles d'une montre.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pause (0,5);
Maintenant, dans la fonction du bouton anti-horaire , collez le code ci-dessous à la fin de la fonction pour faire tourner le moteur dans le sens anti-horaire. Ici, nous donnons HIGH à la broche 5 et LOW à la broche 6 pour faire tourner le moteur dans le sens anti-horaire.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pause (0,5);
Enfin dans la fonction du bouton STOP , collez le code ci-dessous à la fin, pour arrêter la rotation du moteur. Ici, nous donnons LOW aux broches 5 et 6 pour arrêter le moteur.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pause (0,5);
Matériel requis
- Ordinateur portable installé par MATLAB (préférence: R2016a ou versions supérieures)
- Arduino UNO
- Docteur moteur
- Pilote de moteur L293D
Schéma
Contrôle du moteur à courant continu avec MATLAB
Après avoir configuré le matériel selon le schéma de circuit, cliquez simplement sur le bouton Exécuter pour exécuter le code modifié dans le fichier.m
MATLAB peut prendre quelques secondes pour répondre, ne cliquez sur aucun bouton de l'interface graphique jusqu'à ce que MATLAB affiche l'indication BUSY, que vous pouvez voir dans le coin inférieur gauche de l'écran comme indiqué ci-dessous,
Lorsque tout est prêt, cliquez sur le bouton dans le sens horaire ou anti-horaire pour faire tourner le moteur. Lorsque vous appuyez sur le bouton dans le sens des aiguilles d'une montre, le courant passe par la broche 6 à la broche 5 et le moteur tourne dans le sens des aiguilles d'une montre tandis que dans le sens inverse des aiguilles d'une montre, le courant passe par la broche 5 à la broche 6 et le moteur tourne dans le sens des aiguilles d'une montre tourne dans le sens des aiguilles d'une montre. Pour arrêter la rotation du moteur à courant continu, appuyez sur le bouton STOP. La même méthode peut être utilisée pour contrôler le servomoteur à l'aide de MATLAB, il nous suffit d'éditer le code en conséquence. Vous pouvez consulter la vidéo ci-dessous pour comprendre le processus complet de contrôle de moteur MATLAB DC à l'aide de l'Arduino.