★ HARDWARE ★ MONTAGES ★ INFORMATIQUE PRATIQUE : Pilotons un servomoteur ★ |
Informatique pratique - Pilotons un servomoteur (Science&Vie) | Hardware Montages |
Un très abondant courrier nous demande toujours des réalisations concernant la robotique. Voici donc un montage capable de contrôler les mouvements d'un servomoteur. Avant tout, rappelons de quoi se compose un servomoteur. Généralement il s'agit d'un petit moteur électrique associé à un réducteur de vitesse équipé d'un potentiomètre. Les valeurs prises par les résistances du potentiomètre permettent donc de connaître, à tout instant, la position du moteur. Notre réalisation aura donc pour fonction de “lire” la valeur du potentiomètre et, en fonction des paramètres fixés par le programme, de faire tourner le moteur soit dans un sens soit dans l'autre. Notons qu'un servomoteur possède une certaine inertie. Si l'on interrompt son alimentation juste au moment où il atteint la position souhaitée, il y a de fortes chances pour qu'il la dépasse. Pour éviter ce phénomène, conduisant la plupart du temps à des oscillations parasites des servomécanismes, nous avons prévu deux commandes, de vitesse pour la rotation du moteur. La plus rapide, correspondant à son régime maximum, sera commutée lorsque la position à atteindre est encore loin. La vitesse lente sera utilisée pour l'approche de la position souhaitée. Notons que ce régime de ralenti sera ajustable pour chaque sens de rotation, par l'intermédiaire d'un potentiomètre. Le réglage idéal de ce dernier sera déterminé expérimentalement en fonction du type de servomoteur utilisé et de sa charge. Pour la lecture du potentiomètre de position du servomoteur, nous utiliserons, une fois n'est pas coutume, le montage publié le mois dernier. En effet, il permettait à l'ordinateur de connaître la position de deux potentiomètres. L'un de ceux-ci sera remplacé par le potentiomètre du servomoteur. Notons à ce propos que sa valeur n'a pas grande importance ; il reste cependant conseillé qu'elle soit comprise entre 220 ohms et 100 kilohms. Nous conserverons le second potentiomètre ; il pourra servir dans une première phase à effectuer des tests. Il sera alors utilisé de la même manière que le bouton d'une télécommande proportionnelle. La prise en compte de la position de l'un ou de l'autre des potentiomètres sera commandée par l'ordinateur, comme le mois précédent, par la mise à zéro du bit 0 ou du bit 1 sur l'octet présenté en sortie de notre interface principale. Les commandes de mouvement du moteur seront précisées par les bits 5,6 et 7 de l'octet présenté par la sortie de l'interface principale. Ces derniers seront appliqués à l'entrée de notre interface de commande décrite ici. Nous la réaliserons à l'aide de simples transistors dont le type pourra être modifié en fonction du courant, ou de la tension, que nécessite le moteur. Celui-ci se trouve connecté à deux étages “push-pull”, comportant chacun deux transistors complémentaires montés en pont. Ce type de montage nous permettra d'obtenir les deux sens de rotation à partir d'une alimentation unique. En version de base ces deux push-pull seront équipés de transistors 2N 1711 et 2N 2905. Dans ce cas, le courant consommé par le moteur ne devra pas excéder 500 milli-ampères et sa tension d'alimentation ne devra pas être supérieure à 12 volts. Si vous désirez utiliser un moteur plus puissant, et donc plus gourmand, il vous faudra remplacer les 2N 1711 par des MJ 3000 et les 2N 2905 par des MJ 2500. Ces étages de sortie seront commandés chacun par deux transistors prenant en compte l'état des bits de l'octet présenté par l'interface principale. L'un d'entre eux commandera la mise à 0 volt ou, au contraire, la tension d'alimentation de l'étage de sortie. Le second, associé à un potentiomètre, permettra de délivrer au moteur une tension intermédiaire. La valeur de celle-ci sera fixée au moyen du potentiomètre et permettra donc de fixer le régime du moteur en position ralenti. Notons que, si vous le désirez, au lieu de commander ces deux transistors de ralenti à partir du même bit (B7) il sera possible de les commander à l'aide de deux bits différents (B7 et B4 par exemple). Dans ce cas et en ajustant judicieusement le réglage des potentiomètres, il sera possible d'obtenir jusqu'à trois vitesses différentes de ralenti. Ceci pourra être appréciable dans le cas de moteurs relativement puissants possédant une inertie élevée. Enfin, précisons que cette interface ne peut contrôler qu'un seul moteur. Si plusieurs moteurs doivent être utilisés,ce montage devra être fait en plusieurs exemplaires. Les bits inutilisés seront alors mis à profit pour sélectionner le moteur à mettre en route. La réalisation de ce contrôleur de servomoteurs ne doit pas poser de problèmes particuliers. Le câblage sera, comme toujours, effectué en “wrapping”. Notons que les contacts de notre connecteur laissés übres lors de notre réalisation du mois dernier, pourront être directement utilisés pour la connexion de ce montage. Une fois complet il comportera donc deux plaquettes interconnectées (photo). Les liaisons au servomoteur sont également simples à réaliser. Les deux fils issus des transistors de sortie seront reliés au moteur lui-même, trois autres fils seront utilisés pour connecter le potentiomètre inclus dans le réducteur en lieu et place du potentiomètre dont la lecture est commandée par le bit 0 sur notre précédente réalisation. Le seul point à contrôler sera la polarité de l'alimentation du moteur. En effet, il faudra veiller à ce que notre système tende bien à faire avancer le moteur vers la position choisie ; ceci sera facilement vérifiable en opération manuelle grâce au potentiomètre que nous avons conservé. En cas contraire, les deux fils du moteur devront être inversés. Notre petit programme de test permettra de lever ce doute. Il suffira, après apparition de la page d'accueil, de demander : “Test proportionnel”. Une fois ce test passé, le mode “Commande directe” pourra être essayé. Dans ce cas la position à atteindre sera indiquée à l'ordinateur sous forme d'un nombre compris entre 0 et 255. CONFIGURATION DE L'OCTET DE COMMANDE
FONCTION DE CHAQUE OCTET UTILE
Henri-Pierre PENEL , Science&Vie n°841
|