arpschuino

Piloter des moteurs à courant continu (classiques ou brushless) avec l'arpschuino.


moteurs

Nous allons voir comment piloter différent types de moteurs, en DMX, avec arpschuino (2 ou 32).


Matériel requis:

  • Un arpschuino² ou un arpschuino32.
  • Un moteur (classique à courant continu ou brushless).
  • Une alimentation pour les moteurs.
  • Un pont en H pour les moteurs CC classiques (L298N, cytronMD30C)
  • Un ESC ou un driver dédié pour les moteur brushless.
  • Un adaptateur arp>terminals² ou un arp>breadboard.
  • Une nappe HE10.
  • Si une alimentation séparé est nécessaire, une alimentation pour l'arpschuino.
  • * Nous n'avons aucun lien avec les sociétés citées, les images et les liens sont fournis à titre d'exemple.


    Dans ce tutoriel, nous étudierons :

    1. Le choix du moteur.
    2. Le choix de l'alimentation.
    3. Avec un moteur CC classique (avec balais).
    4. Avec un moteur brushless (sans balais).
    5. Configuration avec un arpschuino32.
    6. Le code avec un arpschuino².

    Quel type de moteur ?

    Il existe une multitude de types de moteurs électriques et de nombreuses façon de les piloter. Les moteurs pas à pas et les servo-moteurs ont déjà fait l'objet de tutos dédiés, nous ne les aborderons donc pas ici.

    Intéressons nous donc au moteurs électriques à courant continu et à rotation continue. Ces moteurs peuvent être gradués pour faire varier la vitesse et tourner dans un sens ou dans l'autre.

    Les deux types de moteurs que nous allons rencontrer sont :

  • Les moteur à courant continu classiques à balais.
  • Simples et bon marché ces moteurs sont facile à piloter, avec un pont en H si on à besoin de pouvoir changer le sens de rotation, ou même avec un arpower (mini) pour une rotation dans un seul sens.

  • Les moteur brushless, sans balais.
  • Il n'y a pas de frottement avec ce type de moteur, moins d'échauffement, la possibilité d'atteindre des vitesses élevées et un fonctionnement silencieux. Mais contrairement aux moteurs classiques, leur commande est plus complexe, étant donné qu’il s’agit de moteurs synchrones : il faut générer 3 signaux de fréquence multiple de la fréquence de rotation, et déphasés de 120° : On utilise pour cela un driver dédié ou ESC. Un ESC (Electronic Speed Control) est un circuit électronique dédié au contrôle de ce type de moteur électrique.

    Plus d'infos ici.

    Dans les deux cas, nous allons être en mesure de les piloter en DMX ou en Artnet, avec nos arpschuinos.

    Une donnée essentielle est la valeur du couple maxi. C'est la "force" du moteur. Elle peut s'exprimer dans différentes unités (convertisseur ici).

    Calculer le couple dont vous aurez besoin n'est pas chose facile, ce n'est pas forcément notre spécialité ! Vous trouverez des indications pour vous y aider sur ce site. N'oubliez pas que la valeur de couple d'un moteur dépend de la vitesse de rotation et de la tension d'alimentation. On vous conseille dans tous les cas de surdimensionner un peu pour ne pas avoir de mauvaise surprise.

    Notez aussi qu'il existe des moteurs à réducteur qui multiplient le couple au détriment de la vitesse.


    Choix de l'alimentation

    Le courant de sortie de l'alimentation (en ampères) doit être supérieur au courant consommé par le moteur. Ne pas hésiter là aussi à surdimensionner un peu, de 30% par exemple.

    On peut alimenter l'arpschuino avec la même alim que le moteur si elle ne dépasse pas 12V, 24V si l'arpschuino est équipé du pré-régulateur en option.


    Avec un moteur CC classique (avec balais)

    Le fonctionnement d'un moteur CC à courant continu est extrêmement simple. Lorsqu'il est traversé par un courant, le moteur tourne. Si on inverse les polarités, il tourne dans le sens opposé. On pourrait donc les mettre en route avec un simple relais, les graduer à la manière d'une led avec, par exemple, un arpower, mais pour contrôler le sens de rotation, nous aurons besoin d'un pont en H.

    Le L298N est un pont en H très courant et très utilisé dans la sphère arduino. C'est un double pont en H classique qui nécessite 2 canaux PWM par moteur pour fonctionner.

    Câbage du LN298N

    Il est donné pour 35v, 2A par moteur, on peux bien sur trouver des ponts avec des valeurs limites plus élevés (BTS7960 par exemple). Dans tout les cas, il est nécessaire, encore une fois, de bien surdimensionner, les pont chauffent beaucoup aux valeurs maximales, au point de devenir inutilisable...

    On trouve aussi des modules pont en H piloté en vitesse/direction (noté speed/dir ou pwm/dir sur la carte), comme la cytron MD30C. Le câblage s'effectue de la façon suivante :

    Câbage de driver en speed/dir

    Les deux types de commandes sont portés dans le firmware de l'arpschuino32, à partir de la version 1.2.


    Avec un moteur brushless (sans balais)

    On trouve de nombreuses sortes de moteur brushless sur le marché, nous les classerons en deux familles : les moteurs de modélisme et les moteurs professionnels.

  • Les moteur brushless de modélisme :
  • Les moteurs brushless sont très utilisé dans le monde du modélisme et des drones.

    Moteur brushless et contrôleur de Vitesse ESC

    Pour des raison de compatibilité, on trouve de nombreux petits moteurs fournis avec un ESC (ou « Electronic Speed Controller », en anglais), un variateur électronique de puissance. Il se pilote comme un servomoteur.

    Il sont en général relativement puissants pour leur taille et très rapides.

    Par contre leur ESC ne permet pas le changement du sens de rotation, sauf en inversant physiquement deux des fils du moteur.

    Les trois fils du moteur se connectent aux trois gros fils présent à une extrémité de l'ESC. À l'autre extrémité, les deux autres gros fils (normalement rouge et noir) doivent être reliés à l'alimentation du moteur. Reste les trois petits câbles terminé par un connecteur Dupont femelle, comme sur un servomoteur. Mais attention ! Il y a un piège...

    Le premier câble, marron ou noir c'est la masse. Le dernier, blanc jaune ou orange, le signal. Celui du milieu, rouge, le 5V. Le piège est ici : sur un servomoteur ce câble rouge sert à alimenter le moteur. Avec ce type d'ESC, le moteur est alimenté à part et ce câble rouge est là pour fournir du courant ! Attention donc à ne pas appliquer du 5v à la sortie 3.3v, dégâts assurés ! Le plus simple consiste à couper ce câble pour ne garder que le signal et la masse.

    Comme on peut le voir sur la photo suivante, ce brochage des servos permet de connecter un ESC au gnd et à la sortie Arp7 (port A) ou Arp15 (port B) de l'arpschuino² ou de l'arpschuino32.

    Si on souhaite piloter plus de moteurs brushless, le mieux est d'utiliser notre arp>servo.

    Ces moteurs se pilotent exactement comme des servomoteurs, sauf qu'au lieu de contrôler la position, on contrôle la vitesse.

    Il est possible de panacher sur un même port, moteurs brushless et servomoteurs comme l'illustre l'image suivante.

    Pour plus de détails sur le contrôle en DMX ou en Artnet, vous pouvez vous référer à notre tuto servo, pour l'arpschuino32 à son guide de paramétrage ou bien sûr, nous poser des questions sur le forum arpschuino.


  • Les moteur brushless "professionnels" :
  • Ces moteurs sont coûteux mais très performants ! Ils sont équipés de 3 capteurs à effet hall qui servent à indiquer au driver la position exacte du rotor. Ce qui permet aux drivers sophistiqués d'assurer une parfaite régularité au moteur et surtout de gérer parfaitement les accélérations et décélérations.

    Ils sont pilotés en mode vitesse/direction (noté speed/dir ou SV/FR sur le driver). Ces commandes portées dans le firmware de l'arpschuino32, à partir de la version 1.2.

    Les commandes EN (mise en veille) et BK (freinage), souvent présentes, peuvent être commandées en on/off depuis un autre port si nécessaire.

    Si votre driver nécessite des commandes en 5V, vous devrez utiliser un level shifter. Voire ci-dessous un exemple de câblage, avec et sans level shifter.



    Avec un arpschuino32 : configuration

    Pas besoin de programmer l'arpschuino32, on le configure simplement via un navigateur web, comme décrit dans ce tuto

    DC motor page


    Avec un arpschuino² : le code

    Vous devrez charger dans l'arpschuino² un code adapté au type de moteur que vous souhaitez utiliser.

    Pour cela nous aurons besoin du logiciel arduino

    Si ce n'est pas déjà fait, commencez par installer le core arpschuino comme décrit dans ce tuto.

    Il n'y a pas de code spécial moteur CC dans les exemples du core arpschuino², dans le cas des moteurs pilotés en speed/dir on peut s'en sortir avec un des exemple PWM.

    Idem avec un pont en H classique, même si on préférera adapter un des nombreux exemples de pilotage de pont en H avec un arduino, qu'on peut trouver sur le net.

    Pour les moteur brushless de modélisme, on peut bien sûr utiliser l'exemple arpschuino_servo.

    N'hésitez pas à vous lancer dans des codes perso et à en parler sur le forum arpschuino .


    On branche ?

    Il ne reste plus qu'à alimenter l'arpschuino (la led rouge devrait s'allumer) et le driver et à brancher le câble Dmx. Dès qu'on reçoit du signal, la led verte se met à clignoter rapidement.

    On peut maintenant tester le montage en montant les niveaux des adresse DMX concernées.

    Le moteur tourne ?

    Ça y est ça marche !


    Aller plus loin.

    Vous pouvez ajouter des interrupteurs de fin de course, ils sont prévu dans le firmware de l'arpschuino32 (voir ici).

    En cas de difficultés, n'hésitez pas à poser des questions sur le forum arpschuino.