Pour l'automatisation de machines ne nécessitant que deux ou trois axes d'actionneurs électriques, les sorties impulsionnelles peuvent constituer la solution la plus simple.
L'utilisation des sorties impulsionnelles d'un automate programmable est une solution économique pour obtenir des mouvements simples. La plupart des fabricants d'automates programmables, voire tous, proposent une méthode de commande des servomoteurs et des moteurs pas à pas par train d'impulsions. Ainsi, pour l'automatisation d'une machine simple sur deux ou trois axes seulement, avec des actionneurs électriques, les sorties impulsionnelles sont bien plus faciles à configurer, à câbler et à programmer que les signaux analogiques. Elles peuvent également s'avérer moins coûteuses que les systèmes de commande en réseau tels que l'Ethernet/IP.
Examinons donc la commande d'un moteur pas à pas ou d'un servomoteur à l'aide d'un pilote ou d'un amplificateur entre le contrôleur et le moteur, en mettant l'accent sur les signaux d'impulsion utilisés par le contrôleur ou l'indexeur.
Principes de base de l'entraînement par impulsions
Les moteurs pas à pas et les servomoteurs à commande par impulsions peuvent tourner dans les deux sens. Par conséquent, le contrôleur doit fournir au minimum deux signaux de commande au variateur. Il existe deux manières de fournir ces signaux, désignées différemment selon les fabricants. On parle généralement de « mode 1P », également appelé « mode pas à pas/direction », et de « mode 2P », aussi appelé « mode horaire/antihoraire ». Dans les deux cas, deux signaux de commande sont nécessaires du contrôleur vers le variateur.
En mode 1P, un signal de commande est un train d'impulsions ou signal « pas ». L'autre signal est une entrée directionnelle. Si l'entrée directionnelle est active et qu'un signal impulsionnel est présent sur l'entrée pas, le moteur tourne dans le sens horaire. Inversement, si le signal directionnel est désactivé et qu'un signal impulsionnel est présent sur l'entrée pas, le moteur tourne dans le sens antihoraire. Le train d'impulsions est toujours appliqué à la même entrée, quelle que soit la direction souhaitée.
En mode 2P, les deux signaux forment un train d'impulsions. Une seule entrée à la fois possède une fréquence ; ainsi, si le train d'impulsions CW est présent, le moteur tourne dans le sens horaire. Si le train d'impulsions CCW est présent, le moteur tourne dans le sens antihoraire. L'entrée qui reçoit le train d'impulsions dépend du sens de rotation souhaité.
Les impulsions émises par le contrôleur actionnent le moteur. Ce dernier effectue une rotation d'une unité incrémentale pour chaque impulsion reçue par le variateur. Par exemple, pour un moteur pas à pas biphasé de 200 impulsions par tour (ppr), une impulsion correspond à une rotation de 1/200 de tour, soit 1,8 degré, et 200 impulsions correspondent à une rotation complète.
Bien sûr, la résolution des moteurs varie. Les moteurs pas à pas peuvent être micro-pas, ce qui leur permet d'effectuer plusieurs milliers d'impulsions par tour. De même, les servomoteurs ont généralement une résolution minimale de plusieurs milliers d'impulsions par tour. Quelle que soit la résolution du moteur, une impulsion provenant du contrôleur ou de l'indexeur ne le fait tourner que d'une unité incrémentale.
La vitesse de rotation d'un moteur dépend de la fréquence des impulsions. Plus les impulsions sont rapides, plus le moteur tourne vite. Dans l'exemple ci-dessus, pour un moteur de 200 impulsions par tour (ppr), une fréquence de 200 impulsions par seconde (pps) permet d'obtenir une vitesse de rotation d'un tour par seconde (tr/s), soit 60 tours par minute (tr/min). Plus le nombre d'impulsions nécessaires pour effectuer un tour complet (ppr) est élevé, plus la fréquence des impulsions doit être élevée pour obtenir la même vitesse. Par exemple, un moteur de 1 000 impulsions par tour (ppr) nécessitera une fréquence d'impulsions 10 fois supérieure à celle d'un moteur de 200 impulsions par tour (ppr) pour atteindre la même vitesse de rotation. Le calcul est assez simple :
rps = pps/ppr (rotations par seconde = impulsions par seconde/impulsions par rotation)
tr/min = tr/s(60)
Contrôle des impulsions
La plupart des contrôleurs disposent d'une méthode permettant de déterminer le sens de rotation du moteur (horaire ou antihoraire) et de gérer les signaux en conséquence. Autrement dit, le programmeur n'a généralement pas besoin de déterminer quelles sorties activer. Par exemple, de nombreux automates programmables (PLC) intègrent des fonctions de commande de mouvement par impulsion ; ces fonctions pilotent automatiquement les sorties pour obtenir le sens de rotation correct, que le contrôleur soit configuré en mode 1P ou 2P.
Prenons deux mouvements comme exemple simple. Les deux mouvements comportent 1 000 impulsions. L'un se fait dans le sens positif, l'autre dans le sens négatif. Le contrôleur active les sorties appropriées (1P ou 2P) pour faire tourner le moteur dans le sens positif (généralement horaire) lorsque le nombre d'impulsions commandé est de 1 000. En revanche, si un programme commande -1 000 impulsions, le contrôleur active les sorties appropriées pour un mouvement dans le sens négatif (généralement antihoraire). Par conséquent, il n'est pas nécessaire que le programmeur contrôle le sens de rotation du moteur en sélectionnant les sorties à utiliser dans le programme. Le contrôleur gère cela automatiquement.
Les contrôleurs et les pilotes offrent généralement à l'utilisateur la possibilité de sélectionner le type d'impulsion, soit par commutateur DIP, soit par paramètre logiciel. Il est essentiel que le contrôleur et le pilote soient configurés de manière identique. Dans le cas contraire, le fonctionnement risque d'être erratique, voire impossible.
Déplacements absolus et incrémentaux
Les deux commandes de mouvement les plus courantes en programmation de systèmes de contrôle de mouvement sont les commandes de déplacement incrémental et absolu. La notion de déplacement absolu et incrémental prête souvent à confusion, quelle que soit la méthode de contrôle moteur utilisée. Ces informations restent toutefois valables, que le moteur soit contrôlé par impulsions, par un signal analogique ou par un réseau tel qu'Ethernet/IP ou EtherCAT.
Premièrement, si un moteur est équipé d'un codeur, ses mouvements sont indépendants du type de codeur. Deuxièmement, les mouvements absolus et incrémentaux sont possibles, qu'il y ait un codeur absolu, un codeur incrémental ou même aucun codeur.
Lorsqu'un moteur est utilisé pour déplacer un axe linéaire, comme un actionneur à vis à billes, la distance entre les deux extrémités de l'actionneur est nécessairement limitée. Autrement dit, si le chariot se trouve à une extrémité de l'actionneur, le moteur ne peut tourner que jusqu'à ce que le chariot atteigne l'extrémité opposée. Cette distance correspond à la course de l'actionneur. Par exemple, pour un actionneur d'une course de 200 mm, l'une de ses extrémités constitue généralement la position zéro ou la position d'origine.
Un déplacement absolu amène le chariot à la position commandée, quelle que soit sa position actuelle. Par exemple, si la position actuelle est zéro et que le déplacement commandé est de 100 mm, le contrôleur envoie suffisamment d'impulsions pour déplacer l'actionneur jusqu'au repère des 100 mm et l'arrêter.
Mais si la position actuelle de l'actionneur était de 150 mm, un déplacement absolu de 100 mm amènerait le contrôleur à envoyer des impulsions dans la direction négative pour déplacer l'actionneur en arrière de 50 mm et l'arrêter à la position de 100 mm.
Utilisations pratiques
Le problème le plus fréquent lié à la commande par impulsions réside dans le câblage. Les signaux sont souvent inversés par inadvertance. En mode 2P, cela signifie que la sortie CCW est connectée à l'entrée CW et inversement. En mode 1P, cela signifie que la sortie du signal d'impulsion est connectée à l'entrée de direction et la sortie du signal de direction à l'entrée d'impulsion.
En mode 2P, cette erreur de câblage provoque une rotation du moteur dans le sens horaire (CW) lorsqu'il est commandé pour tourner dans le sens antihoraire (CCW), et inversement. En mode 1P, le problème est plus difficile à diagnostiquer. Si les signaux sont inversés, le contrôleur envoie une série d'impulsions à l'entrée de direction, sans effet. Il envoie également un changement de direction (activation ou désactivation du signal selon le sens) à l'entrée de pas, ce qui peut entraîner une brève rotation du moteur. Une seule impulsion est généralement difficilement perceptible.
L'utilisation du mode 2P facilite le dépannage et est généralement plus facile à comprendre pour les personnes n'ayant pas beaucoup d'expérience dans ce type de commande de mouvement.
Voici une méthode pour minimiser le temps consacré au dépannage des axes d'impulsion et de direction. Elle permet aux ingénieurs de se concentrer sur un seul problème à la fois. Vous éviterez ainsi de passer des jours à chercher l'erreur de câblage qui bloque le mouvement, pour finalement découvrir que la fonction de sortie d'impulsions est mal configurée dans l'automate et que vous n'avez jamais émis d'impulsions.
1. Déterminez le mode d'impulsion à utiliser et utilisez le même mode pour tous les axes.
2. Réglez la manette sur le mode approprié.
3. Réglez le lecteur sur le mode approprié.
4. Créez le programme le plus simple dans votre contrôleur (généralement une fonction de déplacement manuel) afin que le moteur puisse être commandé pour tourner dans une direction ou dans l'autre à une vitesse lente.
5. Commandez un mouvement CW et surveillez les états du contrôleur indiquant que des impulsions sont émises.
Cela peut se traduire par des LED sur les sorties du contrôleur ou par des indicateurs d'état, comme l'indicateur d'occupation de l'automate programmable. Le compteur d'impulsions du contrôleur peut également être surveillé afin de détecter d'éventuelles variations de sa valeur.
–Le moteur n’a pas besoin d’être connecté à des impulsions de sortie.
6. Répétez le test dans le sens antihoraire.
7. Si l'émission d'impulsions dans les deux sens est réussie, passez à l'étape suivante. Sinon, il faut d'abord résoudre le problème de programmation.
8. Raccordez le contrôleur au pilote.
9. Actionnez le moteur dans un sens. Si cela fonctionne, passez à l'étape 10. Sinon, vérifiez le câblage.
10. Actionnez le moteur dans le sens inverse. Si cela fonctionne, c'est réussi. Sinon, vérifiez le câblage.
De nombreuses heures ont été perdues lors de cette première phase, car la fréquence d'impulsion est suffisamment basse pour que le moteur tourne extrêmement lentement, à environ 1/100 tr/s. Si le seul moyen de vérifier son fonctionnement est d'observer l'arbre du moteur, on pourrait croire, à tort, qu'il ne tourne pas à basse vitesse. Il est préférable de calculer une vitesse de sécurité en fonction de la résolution du moteur et des paramètres de l'application avant de régler la vitesse pour le test. Certains pensent pouvoir déterminer une vitesse acceptable par simple estimation. Or, si le moteur nécessite 10 000 impulsions pour effectuer un tour complet et que la fréquence d'impulsion est fixée à 1 000 impulsions par seconde, il lui faudra 10 secondes pour effectuer un tour. Inversement, si le moteur nécessite 1 000 impulsions pour effectuer un tour complet et que la fréquence d'impulsion est fixée à 1 000 impulsions, il effectuera un tour par seconde, soit 60 tr/min. Cette vitesse peut être trop élevée pour le test si le moteur est relié à une charge, comme un actionneur à vis à billes, dont la course est limitée. Il est essentiel de surveiller les indicateurs qui révèlent que des impulsions sont émises (LED ou compteur d'impulsions).
Calculs pour applications pratiques
Il arrive souvent que les interfaces homme-machine (IHM) affichent la distance et la vitesse de la machine en impulsions plutôt qu'en unités d'ingénierie, comme les millimètres. Souvent, le programmeur, pressé de rendre la machine fonctionnelle, ne prend pas le temps de déterminer les unités de la machine et de les convertir en unités d'ingénierie. Voici quelques conseils pour y remédier.
Si vous connaissez la résolution pas à pas du moteur (impulsions par tour) et le mouvement effectué par tour du moteur (mm), la constante d'impulsion de commande est calculée comme résolution/distance par tour, ou impulsions par tour/distance par tour.
La constante permet de déterminer le nombre d'impulsions nécessaires pour parcourir une distance spécifique :
Position actuelle (ou distance) = nombre d'impulsions/impulsions de commande constant.
Pour convertir des unités d'ingénierie en impulsions, il faut d'abord déterminer la constante qui définit le nombre d'impulsions nécessaires pour un déplacement donné. Supposons, dans l'exemple ci-dessus, que le moteur nécessite 500 impulsions pour effectuer un tour complet, et qu'un tour corresponde à 10 mm. Le calcul de la constante s'effectue en divisant 500 (impulsions par tour) par 10 (mm par tour). La constante est donc de 500 impulsions / 10 mm, soit 50 impulsions/mm.
Cette constante permet ensuite de calculer le nombre d'impulsions nécessaires pour un déplacement d'une distance donnée. Par exemple, pour un déplacement de 15 mm, 15 mm × 50 ppm = 750 impulsions.
Pour convertir la valeur d'un compteur d'impulsions en unités d'ingénierie, il suffit de diviser cette valeur par la constante d'impulsion de commande. Ainsi, si le compteur d'impulsions indique 6 000, en divisant cette valeur par la constante d'impulsion de commande calculée à partir de l'exemple précédent, la position de l'actionneur serait de 6 000 impulsions / 50 ppm = 120 mm.
Pour commander une vitesse en mm et faire calculer la fréquence correspondante en Hz (impulsions par seconde) par le contrôleur, il faut d'abord déterminer la constante de vitesse. Cela se fait en calculant la constante d'impulsion de commande (comme indiqué ci-dessus), mais en convertissant les unités. Autrement dit, si le moteur produit 500 impulsions par tour et que l'actionneur se déplace de 10 mm par tour, alors si l'on commande 500 impulsions par seconde, l'actionneur se déplacera de 10 mm par seconde. En divisant 500 impulsions par seconde par 10 mm par seconde, on obtient 50 impulsions par seconde par mm. Par conséquent, multiplier la vitesse cible par 50 permet d'obtenir la fréquence d'impulsion appropriée.
Les formules sont les mêmes, mais les unités changent :
Constante de vitesse en pps = impulsions par tour / distance par tour
Fréquence d'impulsion (pps) = (constante de vitesse) × vitesse en mm
L'utilisation d'un système de commande de mouvement par trains d'impulsions peut sembler complexe au premier abord. Cependant, une attention particulière portée aux types de signaux et aux paramètres du contrôleur et des variateurs dès le départ permet de gagner un temps précieux lors de la mise en service. De plus, quelques calculs de base effectués immédiatement simplifient la programmation des vitesses et des distances, et les opérateurs bénéficient d'informations plus intuitives sur leurs interfaces homme-machine (IHM).
Date de publication : 8 février 2021





