Comment fabriquer un Robot - Leçon 5 : Choisir un contrôleur de moteur

 

Index des leçons :

À présent que la forme générale, les actionneurs (ou moteurs) et le cerveau du robot ont été choisis,il est temps de faire bouger les choses. La première question que se posent de nombreux débutants lors de la construction de leur premier robot est « comment puis-je contrôler les moteurs ? » Après quelques recherches, l'expression contrôleur de moteur sort du lot.

Qu'est-ce qu'un contrôleur de moteur et pourquoi en ai-je besoin ?

Contrôleurs de moteurs

Un contrôleur de moteur est un dispositif électronique (il est généralement disponible sous la forme d'un circuit imprimé nu sans boîtier) qui agit comme un dispositif intermédiaire entre un microcontrôleur, une alimentation ou des batteries, et les moteurs. Bien que le microcontrôleur (le cerveau du robot) décide de la vitesse et de la direction des moteurs, il ne peut les gérer directement en raison de sa sortie très limitée en énergie (courant et tension). Le contrôleur de moteur, d'autre part, peut fournir le courant à la tension requise, mais ne peut pas décider à quelle vitesse le moteur doit tourner. Ainsi, le microcontrôleur et le contrôleur de moteur doivent travailler ensemble afin de permettre aux moteurs de se déplacer de façon appropriée. Habituellement, le microcontrôleur peut informer le contrôleur de moteur sur la façon d'alimenter les moteurs via une méthode de communication standard et simple telle qu'une UART (également appelée Série) ou une MLI. En outre, certains contrôleurs de moteur peuvent être commandés manuellement par une tension analogique (généralement créée au moyen d'un potentiomètre). La taille physique et le poids d'un contrôleur de moteur peuvent varier considérablement, depuis un appareil plus petit que le bout de votre doigt utilisé pour contrôler un mini-robot sumo, à une grand contrôleur pesant plusieurs kilogrammes. Le poids et la taille d'un contrôleur de moteur a généralement un impact minimal sur le robot, tant que vous ne l'utilisez pas dans de la petite robotique ou de petits drones aériens. La taille d'un contrôleur de moteur est habituellement liée au courant maximum qu'il peut fournir. Plus de courant signifie aussi avoir à utiliser des fils d'un plus grand diamètre (plus le nombre du calibre est petit, plus le diamètre est grand).

Types de contrôleurs de diamètre

Comme il existe plusieurs types d'actionneurs (comme étudié dans la leçon 3), il existe différents types de contrôleurs de moteur :

  • Contrôleurs de moteurs CC à balais : utilisé avec les moteurs CC et CC à engrenages à balais, et avec de nombreux actionneurs linéaires.
  • Contrôleurs de moteurs CC sans balais : utilisés avec les moteurs CC sans balais.
  • Contrôleurs de servomoteurs : utilisés avec les servomoteurs amateurs
  • Contrôleurs de moteurs pas-à-pas : utilisés avec les moteurs pas à pas unipolaires et bipolaires, en fonction de leur type.

Choisir un contrôleur de moteur

Les contrôleurs de moteur ne peuvent être choisis qu'après avoir sélectionné vos moteurs/actionneurs. De plus, le courant qu'un moteur absorbe est fonction du couple qu'il peut fournir : un petit moteur à courant continu ne consomme pas beaucoup de courant, mais ne peut pas fournir beaucoup de couple, tandis qu'un grand moteur peut fournir un couple plus élevé, mais il faudra un courant plus élevé pour y parvenir.

Contrôle de moteur CC :

  1. Moteur CCLa première chose à prendre en compte est la tension nominale du moteur. Les contrôleurs de moteurs CC ont tendance à offrir un grand choix de tensions. Par exemple, si votre moteur fonctionne au 3 V nominal, vous ne devez pas sélectionner un contrôleur de moteur qui ne peut contrôler qu'un moteur entre 6 et 9 V. Cela va vous aider à rayer certains contrôleurs de moteur de la liste.
  2. Une fois que vous avez trouvé une gamme de contrôleurs pouvant alimenter le moteur avec la tension appropriée, la chose suivante à prendre en compte est le courant continu qui doit alimenter le contrôleur. Vous devez trouver un contrôleur de moteur qui fournira un courant égal ou supérieur à la consommation de courant continu du moteur en charge. Si vous choisissez un contrôleur de moteur de 5 A pour un moteur de 3 A, les moteurs ne prendront que le courant dont ils ont besoin. D'autre part, des moteurs en 5 A sont susceptibles de brûler un contrôleur de moteur de 3 A. de nombreux fabricants de moteurs fournissent un courant de décrochage du moteur à courant continu, ce qui ne vous donne pas une idée claire du contrôleur de moteur dont vous avez besoin. Si vous ne pouvez pas trouver le courant de fonctionnement continu du moteur, une simple règle de base consiste à estimer le courant continu du moteur d'environ 20 à 25 % du courant de décrochage. Tous les contrôleurs de moteur CC fournissent un courant nominal maximum : assurez-vous que cette cote est d'environ le double de celle du courant de fonctionnement continu du moteur. Notez que lorsqu'un moteur doit produire plus de couple (par exemple pour monter une pente), il nécessite plus de courant. Choisir un contrôleur de moteur avec une protection thermique et contre les surintensités est un très bon choix.
  3. La méthode de contrôle est un autre facteur important. Les méthodes de contrôle incluent les tension analogique, I2C, MLI, R/C, UART (c'est à dire Série). Si vous utilisez un microcontrôleur, vérifiez de quels types de broches vous disposez et quels sont les moteurs que vous allez pouvoir choisir. Si votre microcontrôleur comporte des broches de communication série, vous pouvez choisir un contrôleur de moteur série ; pour MLI, vous aurez probablement besoin d'un canal MLI par moteur. Méthodes de contrôle
  4. Le dernier facteur est d'ordre pratique : contrôleur de moteur simple ou double. Un double contrôleur de moteur CC peut contrôler la vitesse et la direction de deux moteurs à courant continu indépendamment et vous fait souvent économiser de l'argent (et du temps). Les moteurs n'ont pas à être identiques, bien que pour un robot mobile, les moteurs d'entraînement doivent être identiques dans la plupart des cas. Vous devez choisir le double contrôleur de moteurs sur la base du moteur à courant continu le plus puissant. Notez que les doubles contrôleurs de moteur ont tendance à n'avoir qu'une seule entrée d'alimentation, c'est pourquoi si vous voulez contrôler un moteur à 6 V et l'autre à 12 V, cela ne sera pas possible. Notez que la valeur de courant fournie est presque toujours par canal.

Contrôle d'un servomoteur :

Servomoteur Hitec HS 645 MG Étant donné que les servomoteurs amateurs standards visent à utiliser des tensions spécifiques (pour une efficacité maximale), la plupart fonctionnent de 4,8 à 6 V, et leur consommation de courant est similaire, les étapes pour leur sélection sont quelque peu simplifiées. Cependant, vous pouvez trouver un servomoteur qui fonctionne à 12 V; il est important de faire des recherches supplémentaires concernant un contrôleur de servomoteur si votre servomoteur n'est pas considéré comme « standard ». De plus, la plupart des servomoteurs amateurs utilisent une entrée de servomoteur R/C standard (trois fils pour la masse, la tension et le signal)

  1. Choisissez la méthode de contrôle. Certains contrôleurs de servomoteurs vous permettent de contrôler la position du servomoteur manuellement via modem/ commutateur/ boutons, tandis que d'autres communiquent en utilisant de commandes UART (série) ou d'autres moyens.
  2. Déterminez le nombre de servomoteurs à contrôler. Les contrôleurs de servomoteurs peuvent contrôler de nombreux servomoteurs (généralement 8, 16, 32, 64 et plus). Vous pouvez certainement sélectionner un contrôleur de servomoteur capable de contrôler plus de servomoteurs que ce dont vous avez besoin.
  3. Comme pour les contrôleurs de moteur à courant continu, la méthode de contrôle est un facteur important.

Contrôle de moteur pas-à-pas :

  1. Moteurs pas à pasLe moteur que vous avez choisi est-il unipolaire ou bipolaire ? Choisissez un type de contrôleur de moteur pas à pas en conséquence, bien que de plus en plus sont en mesure de contrôler les deux types. Le nombre de fils est généralement un bon indicateur du type de moteur : si le moteur comporte 4 fils, alors il est bipolaire ; s'il a six fils ou plus, alors il est unipolaire.
  2. Choisissez la plage de tension du contrôleur de moteur pour qu'elle corresponde à la tension nominale du moteur.
  3. Déterminez la quantité de courant par bobine dont votre moteur à besoin, et définissez combien de courant (par bobine) le contrôleur de moteur pas à pas peut fournir. Si vous ne pouvez pas trouver le courant par bobine, la plupart des fabricants indiquent l'impédance de la bobine, R. Au moyen de la Loi d'Ohms (V=IR), vous pouvez alors calculer le courant (I).
  4. Comme pour les contrôleurs de moteur à courant continu, la méthode de contrôle est un facteur important.

Contrôle d'un actionneur linéaire :

Actionneurs linéairesLes actionneurs linéaires sont disponibles en trois modèles principaux, en fonction de leur méthode de contrôle : CC, R/C ou rétroaction de position. La plupart des actionneurs linéaires à courant continu utilisent un moteur à engrenages à courant continu, c'est pourquoi un contrôleur de moteur à courant continu est habituellement approprié. Cependant, certains actionneurs linéaires acceptent une entrée servomoteur R/C, c'est pourquoi il vous faudra sélectionner un contrôleur de servomoteur. Si un actionneur linéaire contrôlé par R/C fonctionne à une tension supérieure à la plage du contrôleur de servomoteur, l'actionneur peut inclure des fils séparés pour la tension d'alimentation supérieure requise.

Autres actionneurs :

Beaucoup de dispositifs électromécaniques « divers » tels que les muscles électriques, les solénoïdes, ou même de puissants projecteurs, doivent être contrôlés en utilisant des contrôleurs de moteur. Voici quelques questions pour déterminer si votre actionneur peut avoir besoin d'un contrôleur de moteur :

  • Exigences en courant plus élevé : tout dispositif qui nécessite plus de 0,1 A nécessite généralement son propre contrôleur
  • Exigences en tension plus élevée : si l'actionneur fonctionne au-dessus de la tension du microcontrôleur (habituellement 5 ou 3,3 V), il ne peut généralement pas être directement connecté à un microcontrôleur

Pour plus d'informations concernant le contrôle de l'actionneur et la méthode de communication, veuillez visiter le Centre de formation RobotShop.

Exemple pratique

Solarbotics GM9 Dans la leçon précédente, nous avons choisi les moteurs à engrenages Solarbotics GM9. Voici les spécifications de ces moteurs :

  • Rapport d'engrenage : 143:1
  • Tr/min hors charge à 3 V : 40
  • Tr/min hors charge à 6 V : 78
  • Courant hors charge à 3 V : 50 mA
  • Courant hors charge à 6 V : 52 mA
  • Courant de décrochage à 3 V : 400 mA
  • Courant de décrochage à 6 V : 700 mA
  • Couple de décrochage à 3 V : 44,44 pouces*once
  • Couple de décrochage à 6 V : 76,38 pouces*once

Mise en application des étapes :

  1. La tension nominale est de 3 ou 6 V.
  2. Il n'y a aucune mention de courant continu, si le couple de décrochage pour chacune des deux tensions est fourni : 400 et 700 mA. Si nous prenons 25 % de ces valeurs, le courant continu peut approximativement être de 100 à 175 mA. Pour plus de sécurité, nous pouvons prendre la valeur la plus grande.
  3. Nous avons choisi un microcontrôleur qui dispose de beaucoup de broches différentes, entre autres : série, MLI, analogique et numérique.
  4. Notre petit rover utilisera deux moteurs identiques, nous pouvons donc utiliser un contrôleur de moteur double.

Compte tenu des critères ci-dessus, nous recherchons un contrôleur de moteur avec les caractéristiques suivantes :

  • Une plage de tension pouvant accueillir un moteur de 3 à 6 V
  • Du courant continu d'au moins 350 mA par canal (catégorie basse puissance)
  • La méthode de communication est MLI, I2C ou analogique (ou plusieurs d'entre elles)
  • Un contrôle double de moteur est préconisé.

En étudiant le Tableau de comparaison des contrôleurs de moteurs CC à balais, plusieurs contrôleurs de moteur correspondent aux critères :

  • RB-Dim-19 (6 à 18 V, 5 A, double. Interfaces analogique et série avec de nombreuses dispositions de sécurité)
  • RB-Pol-16 (1,5 à 6 V, 5 A, double. Contrôleur économique doté d'une interface série)
  • RB-Pol-22 (6 à 16 V, 9 A, double, interface MLI)
  • RB-Spa-397 (5 à 16 V, 2 A, double, interface série)
  • RB-Ada-94 (4,5 à 36 V, 0,6 A, double. Blindage Arduino avec interface MLI)
  • RB-Cri-15 (6 à 58 V, 10 A, unique, MLI)
  • RB-Cri-14 (6 à 58 V, 10 A, unique, MLI)
  • ... et bien d'autres.

Il existe un grand nombre d'autres contrôleurs de moteurs qui répondent aux critères ci-dessus et qui fonctionneraient également. Afin de réduire cette liste, le coût et les caractéristiques doivent être pris en considération. Par exemple, il ne est pas nécessaire d'envisager un contrôleur de moteur à courant élevé (10 A) qui est naturellement plus cher qu'un contrôleur de 5 A. Nous pouvons également éliminer tous les contrôleurs de moteur uniques. Le seul contrôleur qui se démarque des autres est le RB-Pol-16 en raison de sa plage de tension inférieure ; cela signifie que, si nous décidons d'alimenter le moteur en 3 V, il relèvera la plage de tension de ce contrôleur. L'autre contrôleur intéressant est le RB-Ada-94 car il est fait spécifiquement pour le microcontrôleur que nous avons choisi (c'est à dire l'Arduino Uno). Cependant, le seul inconvénient du RB-Ada-94 est qu'aucun blindage complémentaire ne pourra être ajouté par la suite. Le Contrôleur de moteur double Pololu a finalement été choisi en raison de sa plage de tension inférieure et de son prix. Contrôleur Sériel de Deux Moteurs basse tension 5 A 1,5 à 6 V Pololu RobotShop - La robotique à votre servicePour de plus amples informations concernant l'apprentissage de la construction d'un robot, veuillez consulter le Centre de formation de RobotShop. Consultez le Forum de la communauté RobotShop pour demander de l'aide dans la construction de robots, présenter vos projets ou simplement discuter avec d'autres collègues roboticiens.

LikedLike this to see more

Spread the word

Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post