Prendre en compte le changement de signe du couple résistant lors d'un changement de sens

Dans un asservissement de position, la vitesse du moteur peut changer de signe.

Ceci se produit, lorsque la position réelle a dépassé la consigne de position. La vitesse du moteur change alors de signe (elle devient négative) et le moteur revient en arrière.

Et lorsque le moteur revient en arrière (vitesse négative), le couple résistant (résistance à l'avancement) doit également changer de signe et donc devenir positif.

Or dans le modèle ci-dessus, ceci n'est pas pris en compte, le signe du couple résistant ne change jamais.

Pour le faire changer de signe selon le signe de la vitesse (voir image ci-dessous) :

- on multiplie la vitesse par un chiffre très grand (ici 100000), à l'aide d'un bloc "Gain" disponible dans la palette « Simulink / Commonly Used Blocks » ;

- puis le résultat de cette multiplication passe dans un bloc "Saturation" dont les limites sont +1 / -1. Ainsi, si la vitesse est positive, le résultat après le bloc saturation donnera +1, et si la vitesse est négative (retour en arrière), le résultat donnera -1.

- enfin ce résultat +1 ou -1 est ensuite multiplié au couple résistant, à l'aide d'un bloc "Product" disponible dans la palette « Simulink / Math Operations », afin de lui faire changer de signe lorsque la vitesse a changé de sens.