GP G.PHILIPPE Simulation d'un montage dérivateur à ampli op Introduction Thème:
GP G.PHILIPPE Simulation d'un montage dérivateur à ampli op Introduction Thème: On simule à l'aide de Maple un montage dérivateur à ampli opérationnel. Programme > restart; with (plots): Warning, the name changecoords has been redefined Fonctions de transfert dérivateur idéal Ecrire la fonction de transfert du circuit dérivateur étudié en fonction de la fréquence. 1/15 GP > H:=f->-I*R*C*2*Pi*f/(1+I*r*C*2*Pi*f); H(f); := H → f -2 I R C π f + 1 2 I r C π f -2 I R C π f + 1 2 I r C π f On appelle fb la fréquence de coupure de ce filtre. Ecrire l'expression de fb . > fb:=1/(2*Pi*r*C); := fb 1 2 1 π r C On écrit le gain de ce montage "idéal" G_id. > G_id:=factor(evalc(abs(H(f)))); := G_id 2 π R2 C2 f 2 + 1 4 r2 C2 π 2 f 2 On trace en rouge le diagramme de Bode en gain de la fonction de transfert entre 1 Hz et 1000000 Hz: on stocke le graphe sous l'appellation : Graph_Deriv_Ideal. > Graph_Deriv_Ideal:=semilogplot(subs(R=1E4,r=200,C=1E- 7,20*log10(G_id)),f=1..1000000,color=red):Graph_Deriv_Ideal; 2/15 GP ampli op En fait, un ampli op n'est pas ideal: on peut le décrire comme un filtre passe-bas du premier ordre de fréquence de coupure très petite notée ici f0 (on prendra f0 = 10 Hz) mais de gain statique très élevé noté mu0 (on prendra - attention, on donne la valeur numérique en dB - : 100dB). On écrit la fonction de transfert de l'ampli op: on la notera : mu. > mu:=f->mu0/(1+I*f/f0);mu(f); := µ → f µ 0 + 1 I f f0 µ 0 + 1 I f f0 Pour obtenir un tracé correct assez rapidement, on trace le diagramme de Bode en gain en deux étapes d'abord entre 1 Hz et 1000Hz puis entre 100Hz et 1000000Hz et on groupe les deux graphes. > G_ao:=factor(evalc(abs(mu(f)))); := G_ao µ 0 2 f0 2 + f0 2 f 2 > Graph_Ampli_Op1:=semilogplot(subs(mu0=1E5,f0=10,20*log10(G_ao)),f=1..1000,color=blue,numpoints=500): Graph_Ampli_Op1; 3/15 GP > Graph_Ampli_Op2:=semilogplot(subs(mu0=1E5,f0=10,20*log10(G_ao)),f=100..1000000,color=blue):Graph_A mpli_Op2; > Graph_Ampli_Op:=display([Graph_Ampli_Op1,Graph_Ampli_Op2]):Graph_Ampli_Op; 4/15 GP On trace sur le même graphe le diagramme pour l'ampli op et celui pour le dérivateur idéal. On remarquera que pour les hautes fréquences, le montage envisagé aura sans doute un comportement bien différent du comportement idéal car l'ampli op semble vouloir limiter le gain du montage. > display([Graph_Ampli_Op,Graph_Deriv_Ideal]); 5/15 GP montage dérivateur non idéalisé On se propose donc d'écrire ici la fonction de transfert du montage dérivateur réel en tenant compte de la fonction de transfert de l'ampli op. On écrit l'équation générale donnant epsilon en fonction de vplus et vmoins. > equation1:=epsilon =vplus - vmoins; := equation1 = ε − vplus vmoins On écrit l'équation générale donnant vs en fonction de epsilon quand l'ampli op fonctionne de manière linéaire > equation2:=vs=mu(f)*epsilon; := equation2 = vs µ 0ε + 1 I f f0 On écrit l'équation donnant ici , pour ce montage vplus. > equation3:=vplus=0; := equation3 = vplus 0 6/15 GP Il reste à exprimer pour ce montage vmoins ( en fonction de ve donné et de vs inconnu); > equation4:=vmoins=(ve/(r+1/(I*C*2*Pi*f))+vs/R)/(1/(r+1/(I*C*2*Pi*f))+1/R); := equation4 = vmoins + ve − r 1 2 I C π f vs R + 1 − r 1 2 I C π f 1 R > equations:={equation1,equation2,equation3,equation4}; := equations , , , = vplus 0 = ε − vplus vmoins = vmoins + ve − r 1 2 I C π f vs R + 1 − r 1 2 I C π f 1 R = vs µ 0ε + 1 I f f0 Les quatre inconnues de ce système de 4 équations. > variables:={vs,epsilon,vplus,vmoins}; := variables { } , , , ε vs vplus vmoins Résolution. > solve(equations,variables); vs 2 ve C π f R µ 0f0 2 C π f R f0 2 I C π f 2 R 2 r C π f f0 2 I r C π f 2 I f0 − − − − + /( = { f 2 r C π f µ 0f0 I µ 0f0 − − + ) vmoins 2 ve C π f R ( ) + f0 I f 2 C π f R f0 − /( − = , 2 I C π f 2 R 2 r C π f f0 2 I r C π f 2 I f0 f 2 r C π f µ 0f0 I µ 0f0 − − − + − − + ) ε = , 2 ve C π f R ( ) + f0 I f 2 C π f R f0 2 I C π f 2 R 2 r C π f f0 2 I r C π f 2 I f0 − − − − + /( f 2 r C π f µ 0f0 I µ 0f0 − − + ) = vplus 0 , } Il faut maintenant assigner les réponses ( en quelque sorte transformer les = en := ) en utilisant assign(%). > assign(%); 7/15 GP On trouve alors le fonction de transfert H ( en fonction de f) et le gain. > H:=unapply(vs/ve, f); H f 2 C π f R µ 0f0 2 C π f R f0 2 I C π f 2 R 2 r C π f f0 2 I r C π f 2 I f0 − − − − + /( → := f 2 r C π f µ 0f0 I µ 0f0 − − + ) > G_reel:=factor(evalc(abs(H(f)))); G_reel 2 π sqrt R2 C2 f 2 µ 0 2 f0 2 4 C2 π 2 f 2 R2 f0 2 8 C2 π 2 f 2 R f0 2 r + ( ( := 8 C2 π 2 f 2 R f0 2 r µ 0 4 r2 C2 π 2 f 2 f0 2 8 r2 C2 π 2 f 2 f0 2 µ 0 f 2 + + + + 4 r2 C2 π 2 f 2 µ 0 2 f0 2 4 C2 π 2 f 4 R2 8 C2 π 2 f 4 R r 4 C π f 2 R µ 0f0 + + + − 4 r2 C2 π 2 f 4 f0 2 2 µ 0f0 2 µ 0 2 f0 2 + + + + )) MONTAGE 1 : r=200 ohms On trace le diagramme de Bode du gain en vert ( ajouter l'option thickness=4 pour obtenir un trait plus gros et l'option numpoints=5000 pour un tracé précis) > Graph_Deriv_Reel:=semilogplot(subs(R=1E4,r=200,C=1E- 7,mu0=1E5,f0=10,20*log10(G_reel)),f=1..1000000,color=green, thickness=4):Graph_Deriv_Reel; On trace les trois graphes pour vérifier si l' intuition de départ n'était pas trop mauvaise. > display([Graph_Ampli_Op,Graph_Deriv_Ideal,Graph_Deriv_Reel]); 8/15 GP Effectivement cela correspond à ce que l'on pressentait. On obtient finalement un tracé "type filtre passe-bande de coefficient de qualité faible". MONTAGE 2 : r=10 ohms On refait la même chose en choisissant r=10 au lieu de 200 > Graph_Deriv_Reel:=semilogplot(subs(R=1E4,r=10,C=1E- 7,mu0=1E5,f0=10,20*log10(G_reel)),f=1..1000000,color=green, thickness=4, numpoints=500): > display([Graph_Ampli_Op,Graph_Deriv_Ideal,Graph_Deriv_Reel]); 9/15 GP Pour r faible, le tracé est du "type filtre passe-bande de coefficient de qualité élevé" donc présentant une résonance. Si le signal comporte des fréquences dans cette bande résonante, ces fréquences vont être amplifiées beaucoup plus. Réponse du montage à un signal triangulaire de basse fréquence signal d'entrée > ve:=1/2+4/Pi^2*sum(1/(2*i+1)^2*exp(I*(2*Pi*(2*i+1)*fe*t)),i=0..100): > E:=plot (subs(fe=200,evalc(Re(ve))),t=subs(fe=200,-1/fe)..subs(fe=200,2/fe),color=red):E; 10/15 GP expression du signal de sortie > vs:=0*1/2+Pi^2/4*sum(1/(2*i+1)^2*exp(I*(2*Pi*(2*i+1)*fe*t))*H((2*i+1)*fe),i=0..100): tracé du signal de sortie MONTAGE 1 : r=200 ohms > S1:=plot (subs(fe=200,R=1E4,r=200,C=1E-7,mu0=1E5,f0=10,evalc(Re(vs))),t=subs(fe=200,- 1/fe)..subs(fe=200,2/fe),color=blue,thickness=2): display([E,S1]); 11/15 GP MONTAGE 2 : r=10 ohms > S2:=plot (subs(fe=200,R=1E4,r=10,C=1E-7,mu0=1E5,f0=10,evalc(Re(vs))),t=subs(fe=200,- 1/fe)..subs(fe=200,2/fe),color=blue,numpoints=5000,thickness=2): display([E,S2]); 12/15 GP Comme prévu, le montage 2 ne fonctionne pas en dérivateur. On observe des oscillations parasites dans le signal. Réponse du montage à un signal carré de basse fréquence signal d'entrée > ve:=1/2+2/Pi*sum((-1)^i/(2*i+1)*exp(I*(2*Pi*(2*i+1)*fe*t)),i=0..200): > E:=plot (subs(fe=200,evalc(Re(ve))),t=subs(fe=200,-1/fe)..subs(fe=200,2/fe),color=red):E; expression du signal de sortie > vs:=0*1/2+2/Pi*sum((-1)^i/(2*i+1)*exp(I*(2*Pi*(2*i+1)*fe*t))*H((2*i+1)*fe),i=0..200): tracé du signal de sortie MONTAGE 1 : r=200 ohms > S1:=plot (subs(fe=200,R=1E4,r=200,C=1E-7,mu0=1E5,f0=10,evalc(Re(vs))),t=subs(fe=200,- 1/fe)..subs(fe=200,2/fe),color=blue,numpoints=500,thickness=2): display([E,S1]); 13/15 GP MONTAGE 2 : r=10 ohms > S2:=plot (subs(fe=200,R=1E4,r=10,C=1E-7,mu0=1E5,f0=10,evalc(Re(vs))),t=subs(fe=200,- 1/fe)..subs(fe=200,2/fe),color=blue,numpoints=5000,thickness=2): display([E,S2]); > 14/15 GP De même, comme prévu, le montage 2 ne fonctionne pas en dérivateur. On observe des oscillations parasites dans le signal. (Le signal d'entrée est peu visible sur la représentation) (Il faudrait aussi tenir compte de la saturation... Le signal de sortie ne peut atteindre 60V) 15/15 uploads/Societe et culture/ electronique-simulation-derivateur.pdf
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 22, 2022
- Catégorie Society and Cultur...
- Langue French
- Taille du fichier 0.1815MB