Projet BTS

Forum traitant des automates industriels de marque Schneider - Telemecanique
Tintor
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 20 janv. 2016, 14:40

Re: Projet BTS

Message par Tintor »

Hello

Le problème est que je ne peux en aucun cas mettre un capteur haut car mon réservoir à remplir est en réalité un disjoncteur 400 000V, il est fermé de tout les cotés j'ai juste un tuyau à raccorder.

Je possède une gamme constructeur du disjoncteur avec à l'intérieur la capacité en huile exacte, j'aimerai rentré une consigne sur un afficheur (ex 50L) et que ma pompe remplisse le disjoncteur avec le volume exacte .

Je peux acheter un débitmètre à impulsion 0-10V mais Est-ce-que c'est que j'aurai un résultat plus précis ?

Merci pour votre aide
Cordialement.
steph68
Codeur fou
Codeur fou
Messages : 275
Enregistré le : 21 oct. 2015, 08:23

Re: Projet BTS

Message par steph68 »

Je peux acheter un débitmètre à impulsion 0-10V mais Est-ce-que c'est que j'aurai un résultat plus précis ?
non il te faut un capteur qui te donne un débit instantané (à l'instant t).

pour avoir un volume instantané il faut "accumuler" (additionner) ton débit à chaque tranche de temps (plus la tranche de temps est petite et plus le volume est précis).

exemple : toutes les 10 ms (pour un résultat précis, c'est à programmer dans une tâche cyclique), tu rajoutes 1% du débit mesuré à ton volume (attention de bien homogéniser les unités).

ton débit est aussi la mesure "retour" de ton ensemble variateur / pompe (pour fermer la boucle).

@+
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Projet BTS

Message par itasoft »

slts
_PID.JPG
cliquer desss pour agrandir la photo
Automaticien privé (de tout)
itasoft@free.fr
steph68
Codeur fou
Codeur fou
Messages : 275
Enregistré le : 21 oct. 2015, 08:23

Re: Projet BTS

Message par steph68 »

j'ai une sainte horreur de la régulation (beurk) - c'est un métier à part - donc je vais sûrement écrire pleins d'âneries ; simplement quelques idées sur la façon dont je m'y prendrai.

déjà, avant tout, je n'aime pas faire l'accumulation dans le temps d'une mesure (faire une intégrale mathématiquement parlant, voir post ci-dessus) car tu vas cumuler toutes les incertitudes de mesure à chaque instant (le capteur n'est pas parfait ...). Avoir une jauge de niveau, ou peser le poids de l'ensemble ... aurait peut-être été une meilleure idée pour gagner en précision.

ensuite un bloc PID est une fonction "standard" (que tu trouves dans toutes les bibliothèques API) qui prend en entrée une "erreur" (écart entre une consigne et une mesure) et te donne en sortie une amplitude. tu as une série de coefficient à définir (les gains) pour influencer la réponse du régulateur (en gros, pour simplifier, s'il va réagir mollement ou nerveusement à l'erreur, mais pas que ...)

le régulateur calcule à chaque instant la dérivée (la pente = différence avec la valeur précédente pour une tranche de temps) et l'intégrale (l'aire pour une tranche de temps - comme sur le post ci-dessus) et le tout est additionné (avec l'erreur elle même qui est la partie "proportionnelle") avec les coefficients respectifs.
En jouant avec les coeffs, tu peux très bien transformer ton bloc PID en simple régulateur P (ou il n'y a pas d'action dérivée ni intégrale), ou PI (pas de dérivée) ou PD ... c'est le principe du "qui peut le plus peut le moins".

donc en gros, sur un régulateur de type P (proportionel uniquement, soit le plus simple), l'amplitude U (la sortie) = G (gain) * ε (epsilon = erreur)

après pour le réglage des gains, c'est une autre histoire ... à vivre sur le terrain :mrgreen:

le bloc PID est déjà un bon début pour réaliser un asservissement.

admettons que tu as une consigne fixe de débit (l'installation doit faire du 0,1 litre / s par ex)
pour réaliser ton asservissement, tu mettrais en place un bloc PID avec en entrée l'écart entre la consigne (0,1 litre/s) et la mesure (le débitmètre) et en sortie tu ferais un petit calcul pour obtenir une vitesse de rotation (le débit de la pompe dépend de sa vitesse de rotation, la formule est dans la doc du constructeur de la pompe) --> le moteur ne travaille que sur une certaine plage de vitesse, il faut penser à borner le calcul (ex 20 - 100 Hz pour un moteur asynchrone) ...

--> commence déjà par mettre au point cette partie (point de vue programmation puis mise en service)
ne définit que le gain de l'action proportionnelle dans un 1er temps puis joue sur les autres gains pour voir l'influence.

Concrètement dans ton cas, la consigne de débit n'est pas fixe ; elle est une fonction de l'écart entre un volume donné et un volume mesuré (cf post ci-dessus)
plus tu t'approches du volume désiré, plus tu vas fermer le robinet (logique).

c'est encore une régulation. La sortie de cette régulation donne la consigne pour la régulation suivante (celle évoquée au-dessus, la régulation du débit uniquement) --> 2 PID en cascade.

tu peux très bien simplifier en disant que la consigne de débit va suivre une courbe fixe (une fonction mathématique).
une simple droite par exemple ou des paraboles (degré 2, ..., degré 4 pour des courbes de bézier), des exponentielles inversées ...

maintenant avec tout ça, je ne sais pas si c'est la bonne méthode et si les résultats seront satisfaisants (je ne suis pas spécialiste des fluides, des régulations, des pompes ...), notamment à cause du cumul des erreurs de mesure. il y a plein d'autre façon de concevoir ce système (avec plus ou moins de bons résultats).

A cogiter

@+
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Projet BTS

Message par itasoft »

slts,
je tiens à préciser que mon exemple ne fait pas de régulation mais une simple intégration, la vraie régulation serait si on voulait réguler le débit de la pompe,
mais c'est pas ce qui était demandé.
Automaticien privé (de tout)
itasoft@free.fr
steph68
Codeur fou
Codeur fou
Messages : 275
Enregistré le : 21 oct. 2015, 08:23

Re: Projet BTS

Message par steph68 »

@itasoft : voilà, tu as encore mis la pagaille :lol:
j'ai mis trop de temps à écrire mon post et tu t'es intercalé entre ...

bon avec tout ça, je pense que @tintor va boucler son projet BTS en 2 semaines ( ou changer de métier :mrgreen:, au choix )
c'est pas un sujet facile pour quelqu'un qui ne fait pas de la régulation au quotidien (j'aime bien faire les régulations de type TOR mais pas plus).

@+
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Projet BTS

Message par itasoft »

steph,
Slts,
Oui mais si tu régule la température de ton aquarium avec un simple thermostat,
tes poissons exotiques que t’as payés une fortune, tu va les faire crever, lol
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
maxpeigne
Dieu du process
Dieu du process
Messages : 772
Enregistré le : 11 oct. 2015, 17:31
Localisation : Nord pas de calais

Re: Projet BTS

Message par maxpeigne »

En ce qui concerne le paramétrage du PID tu trouveras souvent des "AUTO-TUNE" qui dégrossiront le travail en se chargeant de régler les paramètres P, I et D. Après "y a plus qu'a" affiner :mrgreen:
http://automacile.fr - Site et tutoriels sur l'arduino.
Tintor
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 20 janv. 2016, 14:40

Re: Projet BTS

Message par Tintor »

Hello merci pour vos messages explicites !

Vous m'apprenez énormément de chose nouvelle . J'aimerais mieux comprendre la fonction PID, Ou ce situe-elle dans un système par exemple dans mon cas elle sera intégrée dans mon automate, ou dans mon variateur ou autres ?

Avec quelle logiciel elle se programme ?

J'ai essayer de trouvée des infos sur le net mais ca ne parle que de régulation de température à aucun moment je n'ai trouvé de débit.

J'avoue que tout cela m'impressionne ! Mais j'ai vraiment envie de voir ce système fonctionné.

Merci à vous, bonne journée.
Cordialement
Avatar du membre
Cyril93
Maître du binaire
Maître du binaire
Messages : 484
Enregistré le : 29 oct. 2015, 14:22
Localisation : IDF

Re: Projet BTS

Message par Cyril93 »

Bonjour,

Comme le but est de saisir un volume sur l'IHM en consigne.

je ferais une intégration du débit instantané pour avoir un volume. tu peux utiliser un intégrateur trapézoïdale pour gagner en performance Volume:= Volume+ (débit+ débit cycle précédent) / 2 * temps

Tu mets l'intégrateur dans une tache interruptive cyclique de 10ms cela simplifira le travail et devrait être suffisamment précis. ( si j'ai bien compris tu veux un volume à plus ou moins 0.5l de précision mais par rapport à quelle volume saisi ??)

Puis j'utiliserais un bloc PID avec en consigne le volume désiré et en retour le volume intégré du débitmètre, en sortie du bloc la fréquence de rotation de la pompe (borné bien évidemment)

Puis une fois le remplissage fini je remet l'intégrateur à zéro pour le prochain cycle.

Dommage que tu ne puisses pas sécurisé par un niveau haut ou autre. Peux être que tu peux protéger avec un temps enveloppe, à voir.
Répondre