Re: regulation PID et MATLAB <<<<

Dans les paramètres du système ne pas oublier l'automate. En effet, bien qu'il intègre la fonction PID, il lui faut un certain temps pour faire les calculs. Et le temps de calcul devient un paramètre du système à asservir.

"Mister Jack" a écrit dans le message de news:

42529652$0$18955$ snipped-for-privacy@news.free.fr...
Salut ! > > info : j'ai mis des schémas. Police à chasse fixe recommandée ! > > didifred wrote: > > "Mister Jack" a écrit dans le message de news: > > 4251a4f4$0$2970$ snipped-for-privacy@news.free.fr... > >>Houla... il me semble qu'il y a des petites confusions. Matlab sert à > >>simuler le comportement du système. Il ne fournira pas d'équations, mais > >>il faudra *lui* fournir les équations pour qu'il puisse simuler. > >>Tout ce que matlab permettra de trouver, c'est les coeffs du PID qui > >>semblent aller bien. > > > > ok, je suis d'accord, alors pour trouver les equations....comment faire

pour

> identifier le systeme? > > Pour identifier je ne m'avancerai pas because c'est amha trop complexe > pour en parler ici. Faut regarder les cours sur le net même s'ils sont > très "matheux", ou contacter un universitaire en automatique pour avoir > son cours. > > Pour modéliser, par contre : > > 1) Schématiser le système ; > 2) Faire apparaitre tous les paramètres du système ; > 3) Détailler les paramètres ; > 4) Identifier l'entrée et la sortie (pour les cas simples) ; > 5) Ecrire les équations liants les paramètres ; > 6) Passer le tout dans le domaine de Laplace. > 7) Transformer ça en une équation liant l'entrée et la sortie ; > > J'ai mis ces étapes comme points de repères. En réalité on fait > beaucoup de choses en même temps. > > Un exemple simple (et simplifié). On alimente un moteur par une tension > variable pour piloter sa vitesse de rotation. > > 1) On schématise sous forme d'un schéma électrique série. > (3 : bobine, O : résistance) > i > ----->-- > ^ | > | 3 l > u| | > | O r > | | > | --- e > | - > | | > -------- > > 2) u tension de commmande, i courant dans le circuit, l inductance > bobine, r résistance, e fcem ; on ajoute une vitesse de rotation omega, > un couple Cm, une inertie J, et un frottement visqueux fv. > > 3) fv = f.omega ; cm = k.i ; e=k.omega ; > > 4) entrée : u(t); sortie : omega(t); > > 5) u(t) = r.i(t) + l.di(t)/dt + e(t) ; > e(t) = k.omega(t) ; > J.domega(t)/dt = Cm - fv = Cm - f.omega ; > > D'où J.domega(t)/dt = k.i(t) - f.omega(t) ; > i(t) = (J.domega(t)/dt + f.omega(t))/k ; > > u(t) = (r/k)(J.domega(t)/dt + f.omega(t)) + (l/k)(J.d²omega(t)/dt > + f.domega(t)/dt) + k.omega(t) ; > > 6) U(p) = (r/k)(J.OMEGA(p).p + F.OMEGA(p)) + (l/k)(J.OMEGA(p).p² + > F.OMEGA(p).p + k.OMEGA(p)) > > U(p) = ((r/k)(J.p+F) + (l/k)(J.p²+F.p+k)).OMEGA(p) > U(p) = ((l.J/k)p² + ((rJ+Fl)/k)p + (rF+k)/k). OMEGA(p) > > 7) OMEGA(p)/U(p) = (k+rF/k)/( 1 + ((rJ+Fl)/(rF+k)).p + (lj/(rF+k)).p²) > > Et là on a la fonction de transfert en p du système. (sauf erreur bête > dans les calculs de l'exemple :p c'est chaud en texte) > > >>Pour le PID c'est effectivement lui qui est le seul à mettre dans > >>l'automate. (m'étonnerait que ça soit en C... :p) > >>Là il faudra simplement se documenter sur comment fonctionne un PID, et > >>l'implémentation dans l'automate viendra d'elle-même. > > > > ok, toujours d'accord, mais moi je veux modeliser le procédé et le PID

pour

> simuler tout çà dans Simulink et caler et verifier que çà marche avant > > d'implanter le code du PID dans l'automate! > > A partir de l'équation de la fonction de transfert en p, on peut faire > un assemblage de blocs Simulink qui vont donner la même fonction (il y a > des bloc en 1/p, 1/(1+ap),...) > > Après il suffit de mettre une entrée au début du schéma (échelon, rampe, > bruit blanc...) et de mettre un système de visualisation en sortie. > Comme ça on peut voir comment le système réagit aux entrées. Souvent ça > part en vrille. > > Alors on intercale le PID dans le schéma : > > +----+ +-----+ > /--| Ki |--| 1/p |-\ > | +----+ +-----+ | > | +----+ | > e >--+--| Kp |---------(+)----> s > | +----+ | > | +----+ +---+ | > \--| Kd |--| p |---/ > +----+ +---+ > > C'est lui qui corrigera l'entrée du système physique en fonction de > l'erreur. (erreur = consigne - sortie en général) > > > > çà c'est la methode reglage du PID en analogique..... > > Ouais, bah ça marche pareil. > > >>Avec matlab, on fait souvent pareil, mais là on a les courbes de réponse > >>sous les yeux, c'est plus simple. Après on peut aussi calculer les > >>coeffs qui vont bien en fonction de son cahier des charges, mais faut > >>entrer dans la théorie, là. > > > > ok, mais alors, une fois les coefs reglés, comment retrouver la façon

dont

> on doit coder ce PID dans l'automate à partir de ce que donnera en

fonction

> de transfert du PID?? > > Sur le lien que je t'ai fila à l'ANCR ils proposent leur méthode de PID > numérique. Après l'implémentation dépend de l'automate utilisé. Là c'est > spécifique. > En général : on utilise une base de temps de l'automate pour avoir un > deltaT connu, sinon c'est assez galère. Pour le reste je ne peux pas > être d'un grand secours. Tout dépend de l'automate, y'en a pas 2 pareils. > > > il y a des exemples ? où ??? > > J'ai donné un exemple de modélisation ci-dessus. C'est pas de > l'identification. Pour l'identification, bon courage. > > > et où trouver un tutorial sur un exemple concret? > > Je ne sais pas... p'têt un début d'idée dans les exemples de matlab ? > Sinon il doit y avoir de bons débuts en suivant le lien que j'ai déjà > donné [1]. Ils donnent le site "special autom" et il y a une page de > liens [2]. Faut se bouger un peu, hein... > > >>Et avant de finir je tiens à préciser que le plus important dans une > >>simulation, c'est la modélisation du système. C'est là-dessus que tout > >>est basé. Si la modélisation n'est pas fiable, on peut faire tout ce > >>qu'on veut, le résultat ne sera pas fiable. > > > > ok, oui, mais il y a des methodes pour çà , non? > > Faut surtout bien réfléchir pour ne pas oublier certains éléments > importants. Le classique c'est d'oublier les frottements ; et là faut se > décarcasser pour les typer et les chiffrer... D'où l'intérêt de > l'identification, mais là je le redis, il faut se lancer dans les cours > et c'est pas toujours simple. > > [1] ANCR :
formatting link
> [2] special autom :
formatting link
> > @Tchao ! > -- > Mister Jack (MJ) > "Linux c'est pas pour les manchots !"; >
Reply to
FAB
Loading thread data ...

j'ai pas reçu les cours que tu te proposais de m'envoyer! je les attends avec impatience!

merci A+

"SRV" a écrit dans le message de news:

4252f4cd$0$855$ snipped-for-privacy@news.wanadoo.fr...

news:

une

Reply to
didifred

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.