Comment régler un contrôleur PID sur un processus non linéaire?
Non. Vous linéarisez le processus, puis faites travailler le contrôleur PID sur les valeurs linéaires.
Par «linéariser le processus», je ne veux pas réellement rendre le processus lui-même linéaire. Cela ne peut généralement pas être fait à cause de la physique. Cependant, vous pouvez mettre quelque chose de non linéaire entre la sortie du contrôleur PID et l'entrée de processus afin que la sortie PID contrôle linéairement le processus du point de vue du contrôleur PID.
Un tel linéariseur n'a pas besoin d'être très précis car il est à l'intérieur de la boucle de rétroaction. Son but est de donner l'apparence d'un gain à peu près constant sur toute la plage dynamique de contrôle. Une manière simple et générale est une fonction de table linéaire par morceaux. 16 ou 32 segments sont généralement suffisants pour tout sauf pour les processus très hautement non linéaires.
Le pire exemple que j'ai rencontré était le contrôle du courant à travers un tube électronique en changeant la force d'entraînement du filament de cathode. La fonction de la température de la cathode au courant du faisceau d'électrons est hautement non linéaire, et le système contrôlant le courant de filament de la cathode était également quelque peu non linéaire. Dans ce cas, il était trop difficile de prédire tout ce gâchis, j'ai donc utilisé une procédure d'étalonnage pendant la production qui a traversé les valeurs de contrôle de l'entraînement du filament, mesuré le courant de faisceau pour chacune, puis calculé une table de recherche à 32 segments à partir de cela. Cela a très bien fonctionné et nous avons pu régler le contrôleur PID de courant de faisceau pour une bonne réponse sur toute la gamme.
Sans fonction de linéarisation devant le processus, vous devez régler le contrôleur PID pour la stabilité au point de gain incrémentiel le plus élevé du processus. Il en résulte alors un comportement très amorti en d'autres points.
Ajoutée
Rien dans votre question mise à jour ne dit pourquoi la méthode ci-dessus n'est pas encore une bonne idée et applicable. Vous dites que vous utilisez un contrôleur analogique. Ma première réaction est "Les années 80 sont révolues depuis longtemps, ne faites pas ça." Cependant, le contrôleur PID et le linéariseur d'usine peuvent être indépendants.
Apparemment, l'entrée de l'usine est la puissance et la sortie la température. Mesurez la température typique en régime permanent à différents niveaux de puissance. À partir de là, vous pouvez calculer la fonction qui convertit la «puissance» linéarisée en entrée de puissance réelle de l'installation. Le contrôleur PID analogique émet vraisemblablement une tension proportionnelle à la puissance. Tout ce que vous avez à faire est d'insérer une boîte noire en ligne avec cette tension qui fait la mesure linéaire en translation du niveau de puissance réel.
Normalement, vous le feriez avec un microcontrôleur doté d'un A / D intégré. La recherche de cette table et l'interpolation linéaire entre les points est triviale. Il produit ensuite le résultat d'une manière qui est finalement convertie en tension. Étant donné que l'installation est lente par rapport à un microcontrôleur, cela pourrait être aussi simple que de filtrer et de tamponner une sortie PWM. Ou vous pouvez piloter un D / A directement, bien que cela ne semble pas nécessaire dans ce cas.
Conformément au thème des années 80 de votre manette, vous pouvez le faire avec un A / D, une mémoire et un D / A pour une sensation rétro.
Dans tous les cas, le contrôleur PID contrôle désormais efficacement une installation linéaire pour autant qu'il le sache, et son réglage sur de bonnes performances devrait être possible.
Il est plus facile d'effectuer une transformation linéaire par morceaux sur l'entrée de l'installation en un seul endroit que de modifier 3 valeurs à l'intérieur du contrôleur PID sur la plage de sortie. Ce dernier est un kludge, tandis que le premier aborde le problème directement. Il est également beaucoup plus facile de mesurer les données de la fonction de linéarisation que de déterminer les gains P, I et D en divers points. Même si vous avez fait cela, vous avez toujours des problèmes transitoires, car les bons gains ne sont pas immédiatement appliqués à la situation. Encore une fois, "la programmation des gains" est un coup de pouce.