Pourquoi consigne servo et retour codeur ne coïncident jamais au même instant

Why Servo Commands and Encoder Feedback Never Line Up in the Same Instant

Un servo est un dispositif qui amène une position sur une cible. Sur un tour de sa boucle, le contrôleur transforme la cible en consigne, un boîtier qui convertit la puissance en courant fait tourner le moteur, l’arbre bouge, et la valeur d’un capteur mesurant la rotation ou la position revient au contrôleur. Ce capteur s’appelle un codeur. Pourtant, même horloges alignées, la boucle ne coïncide jamais à un même instant.

Le retard s’accumule dans le temps de calcul, dans la commutation de puissance, dans la flexion mécanique et dans l’instant de la lecture. Il n’existe pas de circuit qui force tout au même instant ; à la place, ce qui manque est ajouté d’avance avant la prochaine lecture, ce qui maintient l’erreur de poursuite dans la spécification. Le sens de proportionnel, intégral et dérivé est confié à l’article régulation PID, et la lecture des voies A et B à celui des codeurs. Ici, on ne regarde que le retard du tour et l’endroit où il se compense.

Points clés de cet article

SectionCe qu’elle explique
Les quatre tâches de la boucle d’asservissementCalculer la consigne, convertir en puissance, le mouvement et le retour codeur
L’écart entre la consigne et le retour codeurL’instant d’échantillonnage, le cycle de calcul, le PWM, la quantification et l’endroit où l’on mesure. Le goulot est le plus souvent la machine
Feedforward et compensation du retardFermer d’abord et vite la boucle de courant, et ajouter d’avance ce qui manque à la consigne. La vibration à fréquence fixe est aussi supprimée
Mesure en boucle semi-fermée et entièrement ferméeMesurer seulement l’arbre moteur, ou fermer la boucle sur une règle côté charge

Les quatre tâches de la boucle d’asservissement

Le tour complet du contrôleur jusqu’au retour codeur s’appelle la boucle d’asservissement. Cette section le découpe en quatre tâches.

La première : calculer la consigne. Le contrôleur décide de la prochaine consigne à partir de l’écart entre la cible et la valeur revenue. Prendre des valeurs à intervalle fixe s’appelle l’échantillonnage, et une prise en est un échantillon. Or la valeur lue dans cet échantillon n’arrive, le plus souvent, que dans la consigne de l’échantillon suivant. Ce retard — le temps que prend le calcul lui-même — s’appelle le retard d’un cycle.

La deuxième : convertir la consigne en puissance. En tant que nombre de tension, la consigne ne peut pas faire tourner le moteur. Hacher le courant continu en fines impulsions marche-arrêt pour construire une tension moyenne, c’est le travail appelé PWM, et l’intervalle laissé pour que les interrupteurs haut et bas ne conduisent jamais en même temps s’appelle le temps mort. Ici aussi, il y a un retard entre la sortie de la consigne et le moment où le courant s’établit vraiment. L’arrêt d’un moteur et la régénération sont une autre histoire que le retard de boucle, traitée dans l’arrêt d’un moteur CC.

La troisième : bouger. Le courant devient couple, l’arbre et la charge bougent. Mais les vis et les accouplements fléchissent comme des ressorts, si bien que la position de l’arbre moteur et celle de la table ne sont pas le même nombre au même instant.

La quatrième : renvoyer la position. Le codeur est ce qui transforme la position de l’arbre ou de la table en impulsions ou en nombres et les renvoie au contrôleur. Les marches de ces nombres s’appellent la quantification. Avec un retour série, le temps sur le câble s’ajoute aussi. Le code Gray et la lecture des voies A et B relèvent de l’article codeur ; ici, seul compte le moment où la valeur renvoyée arrive.

TâcheQui la faitCe qui se passe dans cet échantillon
Calculer la consigneContrôleurLa valeur lue maintenant entre dans la prochaine consigne
Convertir en puissanceAmplificateurLe courant s’établit après le PWM et le temps mort
BougerMoteur et chargeLa charge retarde de ce que fléchit la mécanique
Renvoyer la positionCodeurAprès quantification et transmission, lecture à l’échantillon suivant

La figure ci-dessous montre ces quatre tâches en un seul tour. Sur la figure, la consigne a quitté l’amplificateur et se dirige vers le moteur, tandis que le retour codeur reste du côté qui arrive à l’échantillon suivant.

Un tour de la boucle d'asservissement découpé en consigne, puissance, mouvement et retour codeur ; chaque étape ajoute du retard, et consigne et retour ne coïncident jamais dans le même échantillon. Ici, la consigne a quitté l'amplificateur vers le moteur ; aucun retour n'est encore arrivé.
Un tour de la consigne au retour codeur. Chaque étape garde un temps qui ne tient pas dans cet échantillon.

Les courtes étiquettes sous chaque étape de la figure sont les retards qui s’y accumulent : au contrôleur, rater l’échantillon en cours ; à l’amplificateur, le PWM et le temps mort ; à la charge, le ressort de la vis ; au codeur, la quantification et le temps de câble. Ce n’est pourtant pas une affaire d’horloges désynchronisées.

💡 Astuce

Ne décidez pas que la position suivra sur la seule période de boucle de courant du catalogue. Le travail du courant se termine tôt, dans l’amplificateur, tandis que l’instant d’échantillonnage de la position reste au-dehors.

L’écart entre la consigne et le retour codeur

Posons les retards de la figure selon l’endroit où ils s’accumulent. Qu’ils ne coïncident jamais tout à fait n’est pas une panne : tant que la boucle tourne sur des échantillons discrets, la valeur de cet instant ne peut nourrir que la prochaine consigne.

FacteurOù il s’accumuleTaille typique en atelier
Échantillonnage discretContrôleurToujours présent, et ne disparaît pas
Retard d’un cycle de calculContrôleurLa période de position est plus longue que celle de courant
PWM et temps mortAmplificateurSouvent petit
Quantification et transmissionCodeurPlus de résolution ne supprime pas l’instant de lecture
Flexion et point de mesureMachineEn précision, c’est souvent là le goulot
1 Dans la plupart des ateliers, le goulot est la machine et l’endroit où l’on mesure. Le codeur d’arbre moteur et la position de la table ne sont pas la même chose. De ce fait, le ressort de la vis et de l’accouplement, le jeu et la flexion de la table restent plus grands que le tour électrique. Ajouter des chiffres de résolution ne supprime pas un ressort qu’on ne mesure pas.
2 Le retard d’un cycle de calcul ne se supprime pas ; il ne fait que se masquer. La position lue dans cet échantillon ne peut nourrir que la prochaine consigne. Même avec une boucle de courant plus rapide, si la position est lue lentement, le retard de position demeure. Les boucles sont imbriquées, cela dit : rien n’est cassé.
3 Le PWM, le temps mort, la quantification et la transmission série existent, mais sont souvent petits. C’est là que pèsent les chiffres de catalogue de l’amplificateur et du codeur. Ils sont pourtant moins souvent que le côté machine la cause principale d’une spécification de positionnement de précision manquée.

La boucle de courant se ferme d’abord, la vitesse se ferme au-dehors, et la position encore au-dehors. C’est une imbrication où les boucles rapides soutiennent de l’intérieur les boucles lentes. Que les périodes diffèrent n’est donc pas une confusion, mais un partage des rôles.

⚠️ Piège courant

Croire qu’augmenter la résolution du codeur fera coïncider consigne et retour au même instant. Les marches de quantification deviennent bien plus fines. Mais l’instant d’échantillonnage et le ressort non mesuré demeurent. Avant d’ajouter des chiffres, regardez où vous mesurez.

Feedforward et compensation du retard

Ce qui compense le retard n’est pas un circuit qui aligne tout à un même instant. C’est un mécanisme qui ajoute d’avance, pour le prochain échantillon, ce qui manque, et absorbe ainsi l’erreur de poursuite dans la spécification.

D’abord, la boucle de courant est rendue rapide et fermée en premier. La boucle de position, au-dehors, émet ses consignes à intervalle plus long. Le travail du courant étant déjà fait, quand la consigne de position arrive, l’amplificateur est presque prêt à délivrer le couple. Une période de courant plus rapide ne fait toujours pas rattraper complètement la position. Le but n’est pas de rattraper — c’est de finir d’abord l’intérieur.

Ensuite, ce qui manque est ajouté d’avance à la consigne, à partir de la vitesse et de l’accélération cibles. Plutôt que d’attendre l’erreur du retour, c’est le côté qui sait déjà de combien avancer qui ajoute. Cela s’appelle le feedforward. Ce n’est pas un remplacement du travail de fermeture de l’erreur par l’action proportionnelle, intégrale et dérivée ; cela comble le retard connu avant que ce travail commence. Le sens de P, I et D, et pourquoi une erreur statique demeure, sont dans l’article régulation PID.

Quand la machine vibre à une fréquence fixe, on insère un filtre qui supprime juste cette fréquence. Cela s’appelle un notch. Il ne supprime pas le retard de boucle ; son travail est d’empêcher la résonance d’amplifier la consigne.

CompensationCe qu’elle faitCe qui reste
Fermer d’abord le courantMet la boucle rapide à l’intérieurL’instant d’échantillonnage de la position
FeedforwardAjoute d’avance le prochain déplacement à la consigneLe ressort non mesuré
NotchSupprime la vibration à fréquence fixeL’échantillon lui-même

L’alignement d’horloges, pour que plusieurs axes acceptent des consignes datées du même instant, n’a pas pour objet de supprimer le retard de boucle. C’est de la tenue de l’heure sur le bus, et les horloges distribuées de l’Ethernet industriel s’en chargent. L’étape où la consigne atteint le variateur est dans la section EtherCAT de l’article communication industrielle. Le sujet de cet article est un tour sur un seul axe.

💡 Astuce

Renforcer le feedforward ne comble pas le ressort d’un endroit qu’on ne mesure pas. Tant que seul le retour de l’arbre moteur est observé, le retard côté table s’ajoute à la consigne comme s’il n’existait pas. Changer l’endroit où l’on mesure, c’est la section suivante.

Mesure en boucle semi-fermée et entièrement fermée

En positionnement de précision, l’astuce qui compte le plus n’est pas d’ajouter des chiffres de gain, mais de choisir où mesurer pour fermer la boucle.

Mesurez seulement l’arbre moteur, et le ressort de la vis reste dans l’erreur. La charge retarde alors sur la consigne — et pourtant le contrôleur croit l’arbre moteur sur la cible. Cette façon de mesurer s’appelle une boucle semi-fermée. Placez plutôt une règle côté table et fermez la boucle sur la position de la charge, et vous avez une boucle entièrement fermée. À consigne égale, la façon dont la position de la charge retarde change.

Sur la figure ci-dessous, le côté gauche lit seulement l’arbre moteur, et le côté droit lit une règle côté table. Le ressort de la vis est présent des deux côtés. Ce qui diffère, c’est d’où vient le retour.

Boucle semi-fermée et boucle entièrement fermée côte à côte, codeur d'arbre moteur contre règle côté table, montrant comment le point de mesure change le retard de la charge. Ici, les deux panneaux montrent la consigne encore au moteur, avant tout retour.
À gauche, on mesure seulement l’arbre moteur ; à droite, on ferme sur une règle côté table. Le ressort demeure des deux côtés.

À gauche de la figure, le retour sort du moteur, tandis que la table retarde sur la consigne sans être mesurée. À droite, le retour vient de la règle côté table. Le ressort de la vis demeure, mais la boucle se ferme sur la position de la charge. Il existe aussi des mises en œuvre qui ferment ensemble la vitesse d’arbre moteur et la position de charge, en double boucle. Avant les noms, regardez pourtant si le retour vient du moteur ou de la charge.

Il existe une technique qui divise finement les deux phases sinusoïdales pour gagner en résolution : l’interpolation. Les marches de quantification deviennent plus fines. Mais l’instant d’échantillonnage demeure ; l’interpolation est donc affaire de chiffres — elle ne remplace pas l’endroit où l’on mesure.

Règles et vis grandissent toutes deux avec la température. La chaleur est cependant une erreur distincte du retard de boucle : une phrase lui suffit ici. Le cœur de la compensation ne bouge pas : mesurer au bon endroit, et ajouter d’avance ce qui manque.

⚠️ Piège courant

Croire qu’à l’instant où l’on passe en boucle entièrement fermée, on peut continuer à monter les gains comme en semi-fermée. Fermer côté charge met le ressort de la vis dans la boucle, ce qui change la façon d’obtenir la stabilité. Quand vous changez l’endroit de mesure, revoyez aussi la fermeture des boucles internes de courant et de vitesse.

Résumé

Un tour du servo, c’est le calcul de la consigne, la conversion en puissance, le mouvement et le retour codeur — et il ne coïncide jamais à un même instant. Le retard s’accumule dans l’instant d’échantillonnage, le cycle de calcul, le PWM, la quantification et la flexion mécanique, et dans la plupart des ateliers, le goulot est la machine et l’endroit où l’on mesure. Ce qui compense n’est pas une synchronisation parfaite, mais fermer d’abord le courant, ajouter d’avance ce qui manque, et fermer la boucle côté charge. Le but : absorber l’erreur de poursuite dans la spécification.

Les voies A et B et le code Gray continuent dans codeurs, et proportionnel, intégral et dérivé dans régulation PID. Les servos d’articulations de robot parcourent ce même tour.

Questions fréquentes

Q1. Une période de courant plus rapide fait-elle rattraper complètement la position ?

A. Non. Avec une période de fermeture du courant plus rapide, le couple sort plus tôt. Mais l’instant d’échantillonnage de la lecture de position demeure. On finit d’abord l’intérieur ; on ne supprime pas le cycle de la boucle de position.

Q2. Augmenter la résolution du codeur supprime-t-il le retard ?

A. Non. Les marches de quantification deviennent bien plus fines. Mais l’instant d’échantillonnage et le ressort non mesuré demeurent. Avant d’ajouter des chiffres, vérifiez si le retour vient de l’arbre moteur ou de la charge.

Q3. Quelle est la différence entre semi-fermée et entièrement fermée ?

A. L’endroit où l’on mesure. La semi-fermée ferme la boucle avec le seul codeur d’arbre moteur, donc le ressort de la vis reste dans l’erreur. L’entièrement fermée ferme sur la position de la charge, par exemple une règle côté table. Le ressort demeure, mais la boucle se ferme là où le travail se fait.

Q4. Le feedforward remplace-t-il le PID ?

A. Non. Le feedforward ajoute d’avance le prochain déplacement à la consigne, tandis que proportionnel, intégral et dérivé continuent de fermer l’erreur. Et ajouter d’avance ne comble pas le ressort d’un endroit qu’on ne mesure pas.

Q5. Les articulations de robot parcourent-elles le même tour ?

A. Oui. Un servo d’articulation, c’est aussi consigne, puissance, mouvement et retour codeur. Il ne s’agit pas ici d’un automate de cellule qui alimente la trajectoire à chaque cycle ; le retard du tour et l’endroit de mesure sont les mêmes pour un bras que pour une table.

Comments

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *