2017-10-18 1 views
1

Je simule un simple régulateur de vitesse en boucle fermée pour un moteur CC en scilab/xcos.Pourquoi la mise en œuvre du contrôle discret équivalent donne-t-elle des résultats différents dans XCos?

J'ai un contrôleur PI continu fonctionnant très bien.

J'ai alors discrétisée le contrôleur continu et mis en œuvre en deux différentes, mais des moyens équivalents, et il semble que les deux implémentations discrètes fournissent des résultats différents, même si elles sont censé être équivalent.

Les deux contrôleurs discrets sont obtenus par la même méthode de discrétisation (Tustin), mais l'un est implémenté comme une seule fonction de transfert DLR Xcos, tandis que l'autre est implémenté comme une somme des parties P et I. Le modèle joint contient toutes les configurations dans le contexte et illustre à la fois le contrôleur continu ainsi que les deux contrôleurs discrets. La "commande discrète par composant" suit raisonnablement bien le contrôleur continu, tandis que la "commande discrète de la fonction de transfert" est instable. Le problème est résolu pour des temps d'échantillonnage plus courts, ce qui me laisse perplexe puisque les mathématiques régissant les deux implémentations discrètes sont complètement identiques, et je m'attendrais donc à ce que le comportement relatif des deux contrôleurs discrets soit le même quel que soit le temps d'échantillonnage est utilisé.

J'apprécierais n'importe quelle entrée ou explication quant à ce que je fais mal et pourquoi ces deux implémentations apparemment équivalentes diffèrent.

Le modèle est fixé ici:

https://www.dropbox.com/s/itudk4a1ooh6ncz/dc_motor_control.zcos?dl=0

Répondre

1

Il suffit d'ajouter un échantillon et de maintien dans le chemin de la (! Continuous) kp dans le contrôleur ;-) kp par composantes « sauve » votre la stabilité parce que c'est continu, bien que l'intégrateur travaille discrètement. Mais le contrôleur discret intégré fonctionne discrètement avec Ts entièrement - c'est trop lent. Si vous ajoutez le comportement discret au kp via sample-and-hold, vous obtiendrez les mêmes résultats.