samedi 8 novembre 2014

Contrôle d'un ou deux moteurs CC avec STM32 Nucleo et L293D

Je continue de m'amuser avec ma carte STM32 Nucleo qui, rappelons-le, ne coûte pas très cher et est facile à programmer au moyen du compilateur en ligne mbed.

Cette fois, nous allons contrôler deux moteurs à courant continu, qui pourront tourner dans un sens ou dans l'autre à une vitesse que nous pourrons faire varier.   Ça nous sera certainement utile si l'envie nous prend de construire un robot dont le cerveau serait un STM32...


Le circuit

Il est hors de question de brancher nos moteurs directement sur les sorties de la carte Nucleo, ça risquerait de l'endommager sérieusement.  Le circuit intégré L293D (dont le nom officiel est "double pont en H") nous servira d'intermédiaire entre la carte Nucleo et les moteurs.  En gros, le Nucleo enverra des directives au L293D, et ce dernier utilisera ces directives pour faire tourner les moteurs dans la bonne direction et à la vitesse désirée.


Le circuit L293D sera alimenté par la carte Nucleo, mais nous avons besoin d'une alimentation dédiée aux moteurs (encore une fois dans le soucis de ne pas endommager notre carte avec des courants trop intenses).  Quelques piles placées en série feront l'affaire, assurez-vous simplement de ne pas dépasser la tension maximale supportée par vos moteurs.

Voici ce que je vous propose comme circuit.  Prenez soin de brancher ensemble toutes les masses (une pin GND du Nucleo, les 4 pins GND du L293D et la borne négative de l'alimentation des moteurs).   Bien entendu, si vous n'avez besoin que d'un seul moteur, il n'est pas nécessaire d'en brancher un deuxième...




  • Pin 1 du L293D :  Pin D9 du Nucleo
  • Pin 2 du L293D : Pin D3 du Nucleo
  • Pin 3 du L293D: Une des bornes du premier moteur
  • Pins 4, 5, 12, 13 du L293D:  GND du Nucleo et borne négative de l'alimentation des moteurs
  • Pin 6 du L293D:  L'autre borne du premier moteur
  • Pin 7 du L293D:  Pin D4 du Nucleo
  • Pin 8 du L293D:  Borne positive de l'alimentation des moteurs
  • Pin 9 du L293D:  Pin D10 du Nucleo
  • Pin 10 du L293D:  pin D5 du Nucleo
  • Pin 11 du L293D:  Une des bornes du deuxième moteur
  • Pin 14 du L293D: L'autre borne du deuxième moteur
  • Pin 15 du L293D: Pin D6 du Nucleo
  • Pin 16 du L293D:  Pin 5V du Nucleo
  •  
Le script

Voici un exemple de script que vous pourrez installer dans le Nucleo au moyen du compilateur mbed (voir mes articles précédents pour plus d'informations sur la façon d'utiliser mbed).

Pour chaque moteur, le sens de la rotation dépend des deux sorties numériques qui lui sont assignées.  La vitesse du moteur est réglée au moyen d'un signal PWM.

- -

Yves Pelletier (Twitter:  @ElectroAmateur)

Aucun commentaire:

Enregistrer un commentaire