Question

Je veux mettre en œuvre veux que je pense est une boucle de rétroaction assez standard, mais il a été de nombreuses années depuis que je l'ai regardé la théorie de contrôle et je vais avoir du mal à comprendre les concepts et de trouver des exemples de mise en œuvre. Je suis quelqu'un espère peut-être expliquer en termes simples ce qui se passe et peut-être pointer des ressources que je pourrais utiliser pour mettre en œuvre une solution. Toutes les informations que j'ai vu sur ce sujet se noie généralement en mathématiques.

Alors, voici ce que je suis en train de réaliser:

  • Je veux contrôler le courant d'un circuit électronique, dis que je veux toujours dessiner 0.75A.
  • Le courant, bien sûr, varie au fil du temps selon ce que les autres parties du circuit sont en train de faire. Mais j'ai un peu de matériel qui attirera plus ou moins de courant que contrôlé par un niveau de tension que je passe au CAD.
  • J'ai aussi un ADC qui me donne une tension qui est proportionnelle au courant être tirée par le système.

Je dois gérer et montée en puissance des oscillations aussi à l'intérieur de certains seuils. De plus, je travaille en C.

merci, Richard

Était-ce utile?

La solution

Ok, donc si je vous comprends, tout le matériel est déjà fait?

Alors, votre système a une entrée de commande qui est un niveau de courant dans Ampères (spécifié par dire un nombre double virgule flottante de précision dans le logiciel) et la sortie du régulateur est une tension qui contrôle le matériel qui consomme du courant, votre plante est le circuit et la rétroaction est probablement un 8, 10 ou 16 numéro de bit - soit signé ou non signé en fonction de votre A / D.

Alors votre système ressemble à ceci:

alt texte http://steves-wiki.wikispaces.com/file/view/control_diagram .jpg / 64043668

Votre plus rapide et le plus sale approche est probablement le contrôle PID. Vous pouvez vous brosser sur les bases avec cet article de Wikipedia et il y a quelques conseils sur la mise en œuvre dans cette embedded.com article .

En un mot, vous voulez calculer l'erreur du système qui, dans votre exemple est la commande en cours - Commentaires actuel. Assurez-vous que tout est dans les mêmes unités, espérons-ampère. Puis, après votre erreur est calculée, vous devez corriger avec une commande. Dans votre système qui est la commande de tension à votre source de courant commandée en tension. Avec PID, la commande est calculée en multipliant l'erreur, l'intégrale de l'erreur, et la dérivée de l'erreur de gain et en additionnant le résultat. Les gains sont la partie la plus délicate. Les autres parties sont difficiles: assurer que vos unités sont compatibles, en vous assurant que le moment est bon, et le calcul de l'intégration correcte / dérivé.

Dans votre système, vous avez plusieurs unités: erreur Ampère, la commande est Volts, qui se transforme en ampères, l'utilisation actuelle est Ampères qui est rapporté comme Volts qui obtient transformé en soit un entier signé ou non signé qui doit être revu à la baisse en ampères pour faire l'erreur appropriée. Vous aurez beaucoup de variables, assurez-vous que vous pouvez garder une trace de ce que l'unité physique s'applique à chacun.

L'algorithme de contrôle est difficile en temps réel et doit fonctionner à un débit dédié. Je recommande au moins 100Hz (calculs tous les 10ms). Les circuits électroniques se déplacent rapidement - pas comme des systèmes électromécaniques. Vous devrez peut-être un taux plus élevé de rester au-dessus des choses. Mais il doit être en temps réel dur - cela signifie cohérent. Vous pouvez même ne pas être en mesure de sortir avec des timers logiciels.

L'intégration et les calculs dérivés sont difficiles, mais il n'y a que tant de façons de les faire. Le plus algorithme de base est la règle du rectangle - il est muet, mais il sera probablement travailler. Si vous devez être une utilisation plus précise des trapèzes. Vérifiez les algorithmes . Très probablement, vous ne pourrez pas utiliser le contrôle dérivé - il a tendance à rendre les choses instables et n'est pas nécessaire dans la plupart des systèmes. Vous devriez être très bien avec le contrôle intégral + proportionnelle.

Il y a beaucoup de pièges, mais cela devrait vous aider à démarrer. Si vous avez eu une formation en théorie du contrôle, il devrait tout revenir à vous. Une fois que le cadre est en place, vous passerez beaucoup de temps à régler les gains proportionnel et intégral - c'est la viande du travail. Si cela semble encore trop mathématiques pour vous, eh bien, désolé - c'est à peu près aussi simple que cela pour les contrôles.

Autres conseils

Il serait difficile de logiciel contrôler votre système pour tirer un courant constant. Ceci est mieux fait avec un matériel dédié qui peut répondre immédiatement aux changements en cours et mettre en œuvre effectivement la boucle de rétroaction que vous avez des problèmes de compréhension.

Si vous voulez faire avec le logiciel, vous devez probablement mettre en œuvre une certaine forme de « fuzzy- le contrôleur de logique ». Votre problème est analogue à un ventilateur utilisé pour contrôler la température. Vous avez une grandeur d'entrée (tension proportionnelle au courant) et une variable de sortie (niveau de tension transmis au DAC).

scroll top