samedi 27 décembre 2014

Moteur pas à pas et STM32 Nucleo

Voici donc un cinquième tutoriel mettant en vedette la carte STM32 Nucleo de ST Microelectronics, et l'environnement de programmation en ligne mbed.  Au cours des derniers mois, nous avons vu comment allumer des LEDs et lire l'état de boutons, comment afficher les données à l'écran d'un ordinateur ou sur un afficheur LCD, et comment contrôler un simple moteur cc.  Aujourd'hui, comme vous l'avez certainement deviné en lisant le titre de cet article, nous allons utiliser  la carte STM32 Nucleo pour contrôler un moteur pas à pas.



Matériel nécessaire:

1)  Un moteur pas à pas.  Il peut être bipolaire (4 fils) ou unipolaire (5 ou 6 fils), ça n'a pas vraiment d'importance.  De toute façon, nous ne brancherons que 4 fils.

2)  Une carte STM32 Nucleo.  J'ai utilisé le modèle d'entrée de gamme F030R8, mais n'importe laquelle fera l'affaire.



3)  Un double pont en H L293D qui servira d'intermédiaire entre le microcontrôleurs de la carte Nucleo et le moteur (la carte Nucleo enverra des instructions au L293D, qui se chargera de faire circuler un courant d'intensité suffisante dans le moteur).

4) Une alimentation pour votre moteur (pile, alimentation ATX, etc.).  Évitez d'alimenter votre moteur directement sur la pin 5 V de la carte, ça pourrait causer des problèmes en tirant trop de courant.



Comment on branche tout ça?

Le plus simple est d'illustrer le L293D, puisque tous les autres composants y sont reliés:

  •  Les pins 1, 9 et 16 du L293D sont branchées à la sortie 5V du STM32 Nucleo.
  • Les pins 2, 7, 10 et 15 sont branchées respectivement aux sorties D2, D3, D4 et D5 du STM32 Nucleo.
  • Votre moteur pas à pas est constitué de deux bobinages distincts.  Les fils aux extrémités du premier bobinage sont reliés aux pins 3 et 6 du L293D, et les fils aux extrémités du deuxième bobinage sont reliés aux pins 11 et 14 du L293D.  Si votre moteur est monopolaire, vous n'avez pas à brancher le ou les fils correspondant au centre des bobinage.
  • Les pins 4, 5, 12 et 13 du L293D représentent la masse.  Elles communiquent déjà entre elles, mais il est important d'y relier à la fois la masse (GND) du SMT32 Nucleo et la masse (borne négative) de la source d'alimentation du moteur.
  • La borne positive de l'alimentation du moteur est branchée à la pin 8 du L293D.

Le script mbed pour le STM32 Nucleo

Voici un petit script mbed à télécharger dans la carte STM32 Nucleo pour faire tourner le moteur (il effectuera d'abord 200 pas dans un sens, rapidement, puis 20 pas dans l'autre sens, beaucoup plus lentement).   Cet exemple ne nécessite aucune bibliothèque (sauf la bibliothèque de base de mbed), et il vous sera facile de le modifier pour qu'il réponde parfaitement à vos besoins.

Yves Pelletier (Twitter:  @ElectroAmateur)



Aucun commentaire:

Enregistrer un commentaire