Page 1 sur 1

vanne de régulation proportionnelle

Posté : 25 mars 2016, 07:15
par md42
j’ai besoin de piloter une vanne de régulation électrique avec une consigne analogique 0-10V.
j’ai un feedback sur la position.
Pour ouvrir j’envoi 10V et pour fermer j’envoi 0V.
Pour arrêter ma vanne à la bonne position, je me sert d’un débitmètre (debit_mousse), et à ce moment je dis que la consigne = la position actuelle, la vanne devrait donc s’arrêtée.
Le problème est que ma vanne ne s’arrête pas pile/poil sur la consigne et donc sans arrêt je fais ouverture/fermeture, sans jamais s’arrêter complètement.
Comment peut-on palier à cela dans le code ci-dessous ?
Merci :)

Code : Tout sélectionner

//comparaison dosage avec hystérésis de +/- 3 litres
 
hysteresis := 3;
 
if debit_mousse < (Q_mousse_calcule - hysteresis) then       //plus de dose
Consigne := 10000;
 elsif debit_mousse > (Q_mousse_calcule + hysteresis) then     //moins de dose
Consigne := 0;
else 
Consigne := feedback_position;      //pas de changement
end_if;
Edit maxpeigne: j'ai intégré ton code dans la balise adéquate.

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 08:43
par maxpeigne
Bonjour,

Si c'est une vanne proportionnelle tu ne peux pas faire une mise à l'echelle du genre:

consigneVanne = DebitVoulu * (10 000 / debitMax);

Sinon actuellement ton feedback n'est pas trop parasité?
Cela expliquerai que même dans ton hystérésis, ta vanne bougerai.

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 08:53
par djé
Salut,

on suppose que la variable "Q_mousse_calcule" est une consigne, vrai?

Je ne pense pas que tu puisses faire grand chose avec ce code, puisque en gros tu lui fait faire du Tout ou Rien.
Il faut utiliser une régulation de type PID, je pense ou alors utiliser une loi empirique que tu détermines après observation: du genre je met ma vanne à 10%, combien de débit? Puis à 20, 30 ....

Le mieux restant un PID.

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 10:19
par md42
mon problème réside bien sur le retour du feedback qui n'est pas très précis et qui bouge tout le temps, donc ma consigne aussi.

pour utiliser un PID, il faut connaitre le débit de la vanne en fonction de sa position d'ouverture, chose que je ne connais pas.

je ne comprends pas ton explication sur 10% puis 20%, etc...

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 10:34
par philou77
Salut !

+1 avec Dje.


Tu ouvre ou ferme ta vanne complètement.
Ce n'est pas instantané mais presque !
On ne sait pas comment se comporte le fluide...

Tu devrais commencer par ajouter un incrément pour faire bouger ta vanne plus lentement dans les deux sens.
Tu peux aussi filtrer un peu le signal feedback pour amoindrir les changements.

Sinon , si ton système est 'connu' et répétitif, un envoi de 5 V à la vanne doit te donner un débit 'X' connu ?
Il doit exister une équation pour calculer la position de la vanne pour un débit voulu.

amha

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 10:45
par Cyril93
md42 a écrit : pour utiliser un PID, il faut connaitre le débit de la vanne en fonction de sa position d'ouverture, chose que je ne connais pas.
Non tu faits un PID avec ton débitmètre "débit_mousse" et ta consigne "Q_mousse_calcule" c'est l'avantage de la régulation la vanne va se positionner par ton régulateur.
Sinon je ferais la même formule que MaxPeigne Consigne Vanne = 10000 * ( Q_Mousse_Calcul/DébitMax ) dans ce cas tu devras connaitre le débit quand la vanne est ouverte à 100% (remarque : la courbe de débit en fonction de l'ouverture de vanne doit être linéaire).

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 10:46
par djé
pour utiliser un PID, il faut connaitre le débit de la vanne en fonction de sa position d'ouverture, chose que je ne connais pas.
Non. Tu donnes un consigne de débit, la vanne va se positionner automatiquement puis va réguler pour trouver la bonne position en fonction du débit réél/débit souhaité. Tout çà en fonction des paramètres P et I. Dans ce cas je ne pense pas qu'une action Dérivée soit nécessaire.
C'est là tout l'avantage du PID.
je ne comprends pas ton explication sur 10% puis 20%, etc...
C'est une alternative mais certainement moins précise: suivant su ton process le permets tu enregistres pour plusieurs valeur d'ouverture de ta vanne le débit correspondant. Cela te donnera une courbe linéaire ou pas, je n'en sais rien.
Ensuite avec un programme genre Excel tu peux déterminer un équation (approximation) de cette courbe qui te permettra de définir une loi de "Régulation".

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 10:50
par Cyril93
@djé on est d'accord ;)

Si tu as un débitmètre utilise le pour faire une régulation.

Re: vanne de régulation proportionnelle

Posté : 25 mars 2016, 11:07
par md42
ok j'ai compris, j'ai changé mon code comme ci dessous et c'est OK.
mon temps de cycle est de 20ms.
ma vanne avance plus lentement mais c'est pas gênant.
j'ai abandonné mon feedback et c'est nickel.
merci pour votre aide.

hysteresis := 3;

Code : Tout sélectionner

if debit_mousse < (Q_mousse_calcule - hysteresis) then //plus de dose
Consigne := consigne + 5
elsif debit_mousse > (Q_mousse_calcule + hysteresis) then //moins de dose
Consigne := consigne - 5
else
Consigne := consigne //pas de changement
end_if;