Bonjour a tous,

J'ai un petit projet sous SCILAB visant à implémenter diverses boucles de contrôle commande (PID,RST et MPC) histoire de contrôler une petite alim à découpage et de les comparer (même si j'ai déjà une petite idée au flair ^^).

L'aspect modélisation ne pose pas de souci, j'ai d’ailleurs un schéma MPC qui fonctionne plutôt bien car il nécessite de travailler uniquement avec les matrices d'état ... Les problèmes apparaissent lorsque je dois travailler avec les fonctions de transfert :

Je souhaite mettre en place des contrôleurs numériques mais même dans le cas du PI tout simple rien ne fonctionne. Je vous épargne tous les détails (cible, calculs, Fe, modélisations) car je ne comprends déjà pas comment SCILAB gère les fonctions de transfert. Je m'explique.

A partir de mes matrices A B C D j’extrais une fonction de transfert H(z) d'ordre n, soit. Le hic est qu'elle est en z à puissances positives et je veux travailler avec des fonctions au format DSP (puissances négatives), bon jusque là rien de compliqué me diriez-vous, il suffit de tout factoriser par z^n et par un coeff pour avoir un dénominateur en 1+qqchose.

Le gros problème est que lorsque que je convertis H(z) en H2(z^-n) et que j'affiche leurs valeurs respectives, elles sont considérée identiques et en puissance positives. Il semblerait que SCILAB retranscrive H2 en puissance positives et ne puisse travailler qu'avec ce format.
Idem lorsque je fait bode(H) tout va bien, par contre bode(H2) ne fonctionne pas, bien que leur valeurs affichées soient les mêmes. Idem encore dans XCOS où il m'engueule sur les formats.


Ma question générale est comment travailler efficacement les fonctions de transfert numériques sous SCILAB/XCOS et comment est-ce qu'il les gère lui même? Ayant déjà utilisé matlab je fais face à des problématiques un peu frustrantes (sous simulink, fonction filt + num/den dans un bloc et on en parle plus) alors que sous SCILAB le travail des polynomes/fonctions de transfert semble bcp moins trivial.

J'ai aussi testé de passer tous mes correcteurs au format z^positif mais je trouve que c'est du bricolage, il y a des z^k qui se baladent que je ne maitrise pas forcément dans mes modélisations et je ne suis pas à l'abri d'erreur d'inversion de coeff.


Je vous remercie par avance et je m'excuse si mon post fait un peu fouilli je ne suis pas très bon pour hiérarchiser correctement mes pensées

Bonne journée,
G38