Prise en main d`une carte d`acquisition Commande numérique d`un

Transcription

Prise en main d`une carte d`acquisition Commande numérique d`un
Prise en main d’une carte d’acquisition
Commande numérique d’un système d’ordre 1
I- But et présentation du matériel
Le but de la manipulation est de s'initier à l’utilisation d'une carte d'acquisition et de mettre au point un
programme de commande numérique d'un système simulant un procédé d'ordre un.
Pour cela on dispose :
•
•
D’un montage électronique réalisé à base d’amplificateurs opérationnels simulant le comportement d’un
système d’ordre un ;
De la carte d'acquisition PC MES 3 de type PCI montée sur un Micro-ordinateur dont les principales
caractéristiques sont les suivantes :
Conversion analogique/digitale
•
•
8 entrées analogiques sélectionnées par programme de 0 à 7.
2 calibres programmables : 0/10.24 v (mode unipolaire) et -5.12/5.12 v (mode bipolaire).
Mode unipolaire
•
Mode bipolaire
Tension d'entrée
Valeur décimale
Tension d'entée
Valeur décimale
0v
5.12v
10.24v
0
2048
4095
-5.12v
0v
5.12 v
-2048
0
2047
conversion sur 12 bits ± Isb
Conversion digitale/analogique
•
•
•
2 sorties digitale/analogique indépendantes
calibre programmable 0/10v
Une troisième sortie couplée à un D/A générant -10/10 v
Mode unipolaire
•
•
Mode bipolaire
Tension de sortie
Valeur décimale
Tension de sortie
Valeur décimale
Ov
5v
10 v
0
2048
4095
+ 10 v
0v
-10 v
0
2048
4095
Temps de conversion 1.5 μs
Conversion sur 12 bits ± Isb
Timer d'horloge interne 2,476 MHz
Pour plus de détails, consulter sur place le document constructeur.
La communication PC-Procédé se fait à travers un boîtier facilitant l’accès aux entrées/sorties de la carte.
1
Carte d’acquisition
Boîtier de communication
II- Programmation de la carte
La programmation de la carte sera faite en Turbo Pasca.l Les principales instructions pour l'acquisition
des données et l'émission des commandes sont fournies dans le document constructeur. Une procédure
supplémentaire disponible : util pour la programmation du Timer afin de fixer par la période
d'échantillonnage.
Des programmes ‘Modèles’ sont donnés en annexe. La structure du programme principal où les
instructions en TuropPascal sont écrites en gras. Le texte écrit entre {} correspond à des commentaires.
III- Préparation
Pour ce travail préparatif, vous pouvez être aidé par le cours et les TD dispensés en 4 ème année.
Première partie
On désire réaliser la commande numérique d’un système d’ordre 1 de fonction de transfert :
G ( p) =
y( p)
K
=
u ( p) 1 + τ p
a) Montrer que si on s'intéresse aux signaux uniquement aux instants d'échantillonnage, alors la fonction de
transfert du système à commander vue par le calculateur s’écrit :
G(z) = Z[Bo(p) G(p)]=K
1−α
; α = e − Δ /τ ; Δ = période d’échantillonnage
z −α
Que modélise le bloqueur d’ordre zéroBo(p) ?
b) Le régulateur numérique est un simple gain Kp. Calculer la fonction de transfert en boucle fermée et
montrer qu’elle peut se mettre sous la forme suivante :
H ( z) =
KpG ( z )
1 − β
= Kbf
1 + KpG ( z )
z − β
c) Etudier la stabilité de la boucle fermée en fonction de Kp.
d) Préciser l’allure de la réponse indicielle en fonction de Kp pour une consigne d'amplitude Co selon les
cas suivants :
0<β<1
-1 < β < 0
Deuxième partie
On remplace le correcteur proportionnel par le correcteur suivant : R ( z ) = Kp
z
.
z − 1
a) Quel est l’équivalent analogique de ce correcteur ?
b) Calculer la fonction de transfert en boucle fermée et étudier la stabilité en fonction de Kp.
2
c) On souhaite que les réponses transitoires ne présentent aucun dépassement. Comment faut-il choisir le
gain Kp ?
d) Donner la loi de commande u(n) en fonction de Kp et de ε(n), où ε désigne l’erreur entre la consigne c(n)
et la sortie y(n).
IV- Manipulation
1) Caractéristiques entrée/sortie de la carte
a) Relever quelques points de la caractéristique du CAN ne=f(e) en mode unipolaire et bipolaire. e désigne
la tension d'entrée et ne la valeur décimale correspondante.
b) Relever quelques points de la caractéristique du CNA s = g(ns) où ns est la valeur décimale à
convertir et s est la tension correspondante.
c) On choisie en entrée et en sortie de la carte des caractéristiques bipolaires. Quelle transformation faut-il
utiliser pour avoir s = e ? Justifier cette considération.
d) Vérifier ce résultat en appliquant un signal sinusoïdal à partir du GBF.
e) Faire varier la fréquence du signal sinusoïdal et vérifier le théorème de Schannon.
2) Commande d’un système d’ordre 1
Le système à commander est simulé sur une maquette à base d'amplificateurs opérationnels. La fonction
de transfert :
G ( p) =
2
1 + 0.5 p
On fixe la période d’échantillonnage Δ =0.05 s. Commenter ce choix.
a) Programmer la loi de commande proportionnelle et vérifier expérimentalement les résultats de l’étude
faite dans la première partie.
b) Programmer la loi de commande obtenue dans la deuxième partie et vérifier les éléments du cahier de
charges (stabilité et comportement transitoire).
Remarque :
Pour chaque essai, garder une trace de vos résultats en basculant du Turbo Pascal vers Matlab et
inversement.
3
Annexe
Exermple de programme en Turbo Pascal par la carte PC MES 3
Programme modèle pour l’acquisition d’un signal
program CAN;
uses AD1,crt,util; { appel aux procédures}
var {déclaration des variables}
a,b :real;
ne :integer ;
{ ***********************************************}
{*
Programme Principal
*}
{ ***********************************************}
Begin
clrscr;
initdrvad(adr1,adr2); {adresses des convertisseurs}
setpolar('U'); { Choix de la polarité du CAN : mode unipolaire}
setchanel(0); { Choix du canal du CAN}
echan(0.01); { Choix de la période d’échantillonnage : 0.01 s}
a:=4095;b:=10.24;
repeat
front; { déclenchement du comptage}
ne:=readad; {Lecture du CAN}
ve:=b*ne/(a); {Conversion en tension}
writeln(ne ,’ ’ ,ve,’ ’); {Ecriture de ne et ve sur l’écran }
until keypressed;
end.
Programme modèle d’émission d’une donnée
program CNA;
uses AD1,crt,util; { appel aux procédures}
var {déclaration des variables}
a,b,vs :real;
ns : integer ;
{ ***********************************************}
{*
Programme Principal
*}
{ ***********************************************}
Begin
clrscr;
initdrvad(adr1,adr2);
echan(0.01); { Choix de la période d’échantillonnage : 0.01 s}
a:=4095;b:=10;
repeat
front;
writeln('donner la valeur de la tension à convertir = ');
readln(vs);
ns :=round(0.5 *a*(1 - vs/b)) ; { Conversion en valeur décimale selon le mode bipolaire
- valeur arrondie-}
setda2(ns);
{Envoie sur CNA2- Mode bipolaire-}
writeln(vs ,’ ’ ,ns,’ ’); {Ecriture de ns et vs sur l’écran }
until keypressed;
end.
(*) Il est recommandé de sauvegarder les fichiers de données dans le répertoire indiqué et ainsi on peut basculer
de la fenêtre TurboPascal à la fenêtre Matlab. Un programme Matlab permet alors de tracer et d'analyser les
résultats chargés.
4