5e application : Pictrain 4

Le cahier des charges
12.1Le servomoteur : Qu’est ce que c’est ?
12.2Le servomoteur : À quoi ça sert ?
12.3Le servomoteur : Comment ça marche ?

Le schéma électronique
Pictrain4 : le cahier des charges
12.1. Le servomoteur : qu’est ce que c’est ?
Je pense que beaucoup de gens savent ce qu’est un servomoteur, mais il n’est pas inutile de rappeler les éléments de base pour les replacer dans le contexte de nos microprcesseurs :
Un servomoteur est un engin qui permet de faire tourner un axe et de le positionner dans une position (angle) précise.
Les petits modèles utilisés en modélisme ont un débattement (variation de l’angle de l’axe de sortie) d’environ 200 à 220°. Un servomoteur ne “tourne” donc pas comme un moteur, il ne fait que positionner l’axe de sortie suivant un angle par rapport au boîtier.
12.2. Le servomoteur : à quoi ça sert ?
Il existe de très nombreux types de servomoteurs, depuis les très grands (qui commandent les vannes de pipeline) jusqu’aux tout petits (qui commandent les ailerons d’un modèle réduit d’avion).
Vous en avez aussi chez vous à la maison, par exemple la commande du robinet d’arrivée d’eau de votre machine à laver.
Pour notre petit train, cela pourrait servir pour commander des aiguillages ou des signaux mécaniques, mais le FÀM ou le moteur Conrad font cela très bien (et pour moins cher). On l’utilisera donc par exemple pour actionner un pont levant, ou mieux, une pelleteuse ou un engin de chantier. Il pourrait également servir par exemple à positionner une mini-caméra
Les deux avantages du servomoteur par rapport aux FÀM sont la possibilité de positionner la sortie d’une manière précise, et elle y reste tant qu’il y a du courant, et la force de positionnement qui est nettement plus importante (“couple”).
FAQ   Couple. — La caractéristique la plus importante des servomoteurs est la capacité de maintenir une position (ou de l’atteindre) sous une force contraire importante. Par exemple, le modèle tout simple que j’utilise soulève au minimum 500 g avec un bras de levier de15 mm. Il vous sera en effet difficile de déplacer l’axe d’un servomoteur à la main, sauf à prendre un bras de levier important. Ne mettez pas le doigt au milieu, ça pince.
12.3. Le servomoteur : comment ça marche ?
Un servomoteur est composé d’un moteur avec réducteur, d’un potentiomètre sur l’axe de sortie et d’un morceau d’électronique qui compare l’angle de la sortie avec la consigne reçue, et actionne le moteur pour toujours être dans la bonne position.
Bien entendu, dans la suite de cet exposé, nous ne prendrons en considération que les servomoteurs utilisés en modélisme, je n’ai pas l’ambition de commander un pipeline (même si j’ai travaillé chez un pétrolier).
Il y a donc par conséquent trois fils :
deux d’alimentation : plus 5 V et masse,
un fil de commande (qui donne la consigne).
12.3.1. Le servomoteur : Spécifications
Les servomoteurs sont alimentés sous 5V, attention la puissance consommée peut être importante (500 mA) pendant le déplacement (ou la “butée”, voir plus loin), nulle à l’arrêt sans force appliquée, 200-300 mA avec une force importante.
L’amplitude du déplacement, ainsi que les caractéristiques précises du signal de commande ne sont en général pas précisées.
12.3.1. Le servomoteur : Commande
Les servomoteurs sont commandés par un signal “carré”, de période d’environ 20 millisecondes [N.D.L.R. En France, l'abréviation de milliseconde est ms ; l'abréviation de microseconde est µs ou, sur Internet, us].
ximage3.png

La largeur de l’impulsion “commande” commande la position du servomoteur. En général, le minimum (= un côté de la position) est aux alentours de 0,6 ms, le maximum (l’autre côté du positionnement) est aux alentours de 2 ms.
La répétition est en général fixée à environ 20 ms. Cette valeur n’a pas beaucoup de sens, elle n’est qu’un minimum indicatif. En effet, s’il n’y a plus de signal de commande, le servo reste à sa position, mais il peut être “bougé” à la main ou par une charge lourde. Ce n’est que la répétition de la commande qui “fixe” le servo à cette position.
FAQ Répétition du signal de commande. — Les types de servomoteurs sont nombreux, et les utilisations encore plus, cela fait qu’il y a toujours des discussions sur la répétition de la commande, que j’ai fixée ici à 20 ms. Comme indiqué, un signal ne fait que positionner le servomoteur sur une position, on le répète uniquement pour éviter que le servomoteur ne bouge de cette position si une force extérieure lui est appliquée. Elle n’est donc pas obligatoire.
Le problème provient du terme “force extérieure” : charge lourde, force raisonnable... bref, combien de newtons ? Tout dépend de votre servomoteur et ce que vous en faites : s'il s'agit de lever une barrière de passage à niveau en H0, il est probable que la répétition est inutile, surtout s'il y a des frottements importants. Si vous voulez manoeuvrer un pont levant de 40 cm ou une grue portuaire en zéro, construite en profilés métalliques, avec un mécanisme bien huilé, il est très probable que la position ne soit pas stable sans la répétition.
Il n'y a donc pas de solution unique, je donne ici ce qui se fait en standard, faites des essais si vous sortez du standard.
Ce n’est peut-être par très clair, mais on peut aussi dire qu’une commande positionne le servo à la position souhaitée, et que la répétition de la commande est nécessaire pour que le servo reste à cette position peu importe la contre-force appliquée. Je pense que le délai de 20 ms est le temps de réaction de l’électronique du servo (il n’y a pas de microprocesseur à 20 MHz à l’intérieur, que de l’électronique discrète).
En pratique pour notre programme, une commande varie entre deux valeurs : 1) signal minimum, correspondant à une des positions extrêmes du servo, 2) signal maximum, correspondant à la position extrême de l’autre côté.
Le signal n’est pas une valeur absolue, mais est donné par la somme du signal minimum et de la valeur du débattement.
ximage4.png
Les paramètres de commande d’un servomoteur sont donc la valeur minimum (correspondant à une position extrême du servomoteur) et le débattement maximum (correspondant à la position extrême de l’autre côté).

FAQ   Spécifications des servomoteurs — Je n’ai pas trouvé sur le Net des spécifications de servomoteur (équivalent à des datasheet). Comme ces systèmes sont en partie mécaniques, je suppose que cela n’est pas possible.
On n’a donc pas de caractéristique du type “avec un signal de 1,67 ms, le servomoteur est positionné à 183”. Par exemple, deux servomoteurs de même modèle, achetés le même jour chez le même fournisseur ont des caractéristiques légèrement différentes.
Il est donc important de pouvoir “régler” le système, c'est-à-dire d’adapter le signal par des essais. Pour ceux qui font de l’aéromodélisme, ils savent que tous les systèmes radio possèdent un réglage de l’action des servomoteurs (trim).
Schéma électronique
Comme toujours avec les PIC, le schéma est des plus simple :
xschema_ascii.png
Le montage proposé comprend la commande de deux servomoteurs indépendants. A gauche, la commande est composée de deux potentiomètres (4,7 kΩ), placés entre le plus 5 V et la masse, avec une petite résistance de 220 ohms du côté de la masse (voir dans le chapitre Programme). Ces entrées seront programmées en entrées analogiques traitées par le convertisseur analogique/digital du PIC.
À droite, le PIC attaque directement les servos, la ligne de commande étant une ligne numérique, il n’y a pratiquement pas de consommation. J’ai dessiné des connecteurs conformes aux servomoteurs que j’utilise (Futaba S3003), à vérifier avec ce que vous comptez utiliser.
Je ne vous propose pas de circuit imprimé, c’est trop simple, à vous de faire comme vous voulez (pouvez).
Ici, mes essais ont été carrément faits en “volant”, sur une plaque sans soudure, et la preuve que ça marche quand même est visible ci-dessous (une magnifique vidéo !)

Psi
Octobre
2008


N.B. — Textes, schémas, programmes © Psi pour Ptitrain. Photos Jidé ou D.R. quand signalé. — Toutes vos remarques et commentaires sont bienvenus, et les pages de Ptitrain ne sont pas statiques : les erreurs sont corrigées sitôt connues, les améliorations, éclaircissements, etc. feront l’objet de mises à jour fréquentes.
Ptitrain, l’e-magazine du train éclectique. — Directeur de la publication : Christophe Franchini.
Rédacteur en chef : Jean-Denis Rondinet — Rev. 14.10.2008