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