Vous êtes sur la page 1sur 27

Jean Cdric BEKALE

Damien TARTARIN

PROJET TECHNIQUE

Objectif : Etudier et raliser des applications temps rel


pour une carte DSP DS1104

Tuteurs : M.MASSIEU & M.DORLEANS

DESS AEII
Promotion 2004

INTRODUCTION

Notre sujet est un exemple typique dapplication du domaine de


linformatique industrielle, bas sur lutilisation dune carte DSP. Pour ce faire,
nous avons eu recours deux logiciels : le premier, Matlab, qui nous a permis de
programmer le DSP laide des librairies de Simulink ; le second, Control Desk,
nous permet de gnrer une interface pour visualiser en temps rel les
diffrentes variables.

Le but de notre projet est de crer un superviseur pour une manipulation


du laboratoire dautomatique et de procds (LAP) de Caen nomme PS600, den
visualiser les paramtres en temps rel grce la carte DSP et denvoyer des
commandes.

Dans un premier temps, nous avons pris en main le DSP et lenvironnement


de travail. Durant cette phase, nous avons cr diffrentes applications pour
exploiter les possibilits du DSP.

Dans ce rapport, nous prsenterons le matriel utilis, puis nous


tudierons les diffrents exemples dapplications dvelopps durant notre
projet : la gnration dune SBPA (Squence Binaire Pseudo Alatoire), ltude
des diffrents timers, de la liaison srie, du DSP esclave, puis la prise en main de
la manipulation PS600.

SOMMAIRE
1. Prsentation du matriel utilis ................................................4
2. Prsentation du logiciel Control Desk .......................................5
2.1. Prsentation ..................................................................................................................... 5
2.2. Dmarrer un nouveau projet sur Control Desk ............................................................... 5
2.3. Ouvrir un projet existant ................................................................................................. 6
2.4. Travailler dans lespace de travail .................................................................................. 7
2.4.1. Crer une layout ....................................................................................................... 7
2.4.2. Sauvegarder des donnes sur fichier ........................................................................ 7
2.5. La fentre doutils ........................................................................................................... 8

3. Exemple illustratif : gnration dune SBPA ..............................9


3.1. Rappels sur la SBPA ....................................................................................................... 9
3.2. Gnration dune SBPA de longueur N = 2 .................................................................. 10
3.3. Les variables utilises sur Control Desk: ...................................................................... 10
3.4. Utilisation de Timer pour dfinir la priode de la SBPA .............................................. 12

4. Etude des diffrents timers ....................................................13


5. Etude de la liaison srie .........................................................14
6. Etude du DSP esclave .............................................................15
6.1. Exemple 1 : gnration de 4 signaux carrs de frquence variable............................... 15
6.2. Exemple 2 : gnration de 4 signaux carrs de rapport cyclique variable .................... 16

7. Prise en main de la manipulation PS600 .................................17


7.1. Description .................................................................................................................... 17
7.2. Mode de pilotage manuel .............................................................................................. 18
7.3. Mode de pilotage externe .............................................................................................. 19
7.4. Mode de pilotage PC ..................................................................................................... 19

CONCLUSION .............................................................................22
ANNEXE 1 : Liste des extensions utilises sur Control Desk ........23
ANNEXE 2 : Pilotage externe en face avant de la maquette .........24
ANNEXE 3 : Schma de cblage entre le bloc de commande et la
carte DSP ...................................................................................25
ANNEXE 4 : Schmas blocs raliss sur Simulink pour la
manipulation PS600 du laboratoire ............................................26

1. Prsentation du matriel utilis


La carte DSP utilise est la DSPACE DS1104, le processeur principal est un
MPC8240, avec un cur PowerPC 603e, avec horloge interne 250 MHz. Il a une
capacit mmoire de 8 Mo en Flash et de 32 Mo en SDRAM.
Il dispose de 8 convertisseurs analogiques numriques (4 en 16 bits, 4 en
12 bits), de 8 convertisseurs numriques analogiques (CNA) de 16 bits pouvant dlivrer
une tension +/-10V, dune liaison srie, de 2 codeurs incrmentaux, de 20 entressorties numriques, dun DSP esclave (TMS320F240) et de 3 timers (32 bits) peuvent
fonctionner de manire indpendante.

figure 1 : Architecture du DS1104

Pour programmer le DSP, il faut raliser son schma sur la bote outils Simulink
de Matlab. Une bibliothque spciale DS1104 Real Time Library regroupe les
diffrentes fonctions utiles pour grer le DSP. A laide de la commande Build dans
Simulation Parameters, on charge le code directement dans le DSP.
Il est prfrable de se placer dans son rpertoire de travail pour construire le
fichier sur Simulink car la construction gnre de nombreux fichiers (voir annexe).
Le logiciel Control Desk offre une interface qui permet de visualiser et de
modifier en temps rel diffrentes variables du schma Simulink.

2. Prsentation du logiciel Control Desk


2.1. Prsentation
Control Desk est une interface qui permet de visualiser en temps rel les
diffrentes variables du fichier dvelopp sur Simulink.

figure 2 : Interface du logiciel Control Desk

Les diffrentes fentres rencontres sur Control Desk sont :


1 fentre de navigation (Navigator)
2 aire de travail contenant la layout
3 choix dinstrument (instrument selector)
4 fentre doutils (tool window)
Si lune de ces fentres nest plus visible lcran, on peut les ouvrir dans View
Controlbar.

2.2. Dmarrer un nouveau projet sur Control Desk


Sur Control Desk, un projet sappelle une experiment.
Dans Fichier, cliquer sur New experiment.
Saisir le nom et le rpertoire dsir pour le projet

Remarque : une layout est une interface graphique laquelle on peut ajouter
divers instruments dans le but de visualiser ou de modifier en temps rel les
diffrentes variables du projet.

Dans Fichier, cliquer sur New Layout


Se rfrer la partie crer une Layout
Pour lancer la simulation, cliquer sur licne
(ou animation).

. On est alors en mode simulation

2.3. Ouvrir un projet existant


Pour ouvrir un projet existant, aller dans Fichier, cliquer sur Open experiment.
Charger lapplication dans la carte DSP.
Par exemple, lapplication sur les timers dveloppe dans la partie 4, peut tre
charge
dans
le
DSP
en
ouvrant
lexprience
Timer.cdx
dans
C:/Matlab6.1/DESS_AEII/Timer/ puis en dplaant Timer.ppc jusqu la fentre
Navigator comme le montre la figure 3. On peut alors lancer la simulation en cliquant sur
licne

et observer les diffrentes variables.

figure 3 : exemple de chargement dune application dans la carte DSP

2.4. Travailler dans lespace de travail


2.4.1. Crer une layout
Lespace de travail est lendroit dans lequel on va crer une layout.
Il existe 2 catgories dinstruments :
- Virtual instruments : ces instruments permettent la visualisation et/ou la modification
de variables.
- Data acquisition : permettent lacquisition de variables ( lcran ou dans un fichier).
Le logiciel offre galement la possibilit grce longlet Custom instruments
dditer de nouveaux instruments et de les sauvegarder dans une librairie.
Au dpart, la layout est une fentre grise. Pour dvelopper sa layout, il
faut se mettre en mode Edit (icne

).

Remarque : on peut raliser plusieurs layouts dans un mme projet. On passe de


lune lautre en cliquant sur longlet Layout de la fentre de gauche et en choisissant la
layout ouvrir.
Il faut ensuite ajouter tous les instruments de visualisation et de
modification de variables. Ensuite, il faut affecter chaque bloc sa variable et modifier
les proprits de linstrument si besoin en double cliquant dessus.
Dans la fentre doutils, on rcupre les diffrentes variables du schma
Simulink en effectuant un clic gauche sur la variable et en la faisant glisser jusqu
linstrument dsir. Le sigle
signifie que lon va pouvoir visualiser la variable. Le
sigle

signifie que lon va accder la valeur de la variable et pouvoir la modifier.


Linstrument Capture Settings dans data acquisition est un outil
essentiel, il permet de choisir la dure de lacquisition, de larrter momentanment, de
sauvegarder une acquisition de donnes (nous y reviendrons par la suite).

Le bloc XY Plotter dans data acquisition permet la visualisation de la


variable au cours du temps.
Pour de plus amples informations, une description dtaille des instruments est
donne p.175-178 du livre Experiment Guide de Dspace.
Pour modifier les proprits dun instrument, double-cliquer dessus puis
slectionner Properties. On peut ainsi modifier le nom dune variable, rgler lchelle
des axes, etc.

2.4.2. Sauvegarder des donnes sur fichier


Control Desk offre la possibilit deffectuer une acquisition de donnes.
Loutil Capture Settings dans data acquisition dispose dun onglet capture variable. On
peut effectuer des acquisitions simples, avec sauvegarde automatique, acquisitions
continues, etc.

On peut effectuer des sauvegardes au format csv ou mat. Le premier permet une
sauvegarde dans un fichier ASCII ditable directement depuis ControlDesk. Le
deuxime prsente lavantage dtre directement rcuprable sur Matlab sous forme
dune structure. Aprs avoir ouvert le fichier .mat, on trace les diffrentes variables.
On rcupre le temps par la commande <nomdufichier>.X.Data et la (les) variable(s)
observe(s) par <nomdufichier>.Y(n).Data.
Un exemple de fichier permettant de tracer les courbes rcupres est donn
dans le rpertoire c:/Matlab6.1/work/DESS_AEII_2003/SBPA_Timer/acquisition.m
Dans loutil Capture Settings, cliquer sur Settings puis sur longlet Acquisition
afin de slectionner le mode de capture dsir :
Simple: fait lacquisition du signal pendant la dure tablie (length) dans Settings (de 0
100% du temps captur).
Autosave: fait une capture de donnes dans le fichier spcifi.
Autoname: effectue une capture dans le fichier spcifi et incrmente le nom du
fichier automatiquement. Ex : defaut001.mat, defaut002.mat
Continuous: permet de capturer les donnes de manire continue jusqu ce que lon
stoppe lacquisition. La dernire priode visualise est alors sauvegarde. Vrifier que la
vitesse du processeur temps rel soit compatible avec la vitesse dacquisition du PC.
Stream to disk: enregistre les donnes en continu et les crits sur le disque dur. Cette
acquisition cre des fichiers portant lextension .idf. A la fin de lacquisition, il faut
convertir le fichier .idf en un fichier .mat. Pour cela, aller dans Tools, cliquer sur
Convert IDF File. Lorsque lacquisition est arrte, on peut visualiser les donnes depuis
le dbut.

2.5. La fentre doutils


La fentre doutils comprend Log viewer, Interpreter, File selector et le
fichier de variable portant lextension sdf.
Log viewer: affiche les messages gnrs par Control Desk ou par la carte temps rel.
File selector: permet de slectionner une application et de pouvoir la tlcharger dans
la carte DSP. Ceci vite de devoir effectuer la commande Build partir du schma
Simulink.
Fichier de variable: (extension .sdf) permet de pouvoir accder aux variables de
lapplication.

Le fichier de variables est charg automatiquement dans le projet lors de


lexcution de la commande Build sur Simulink.
Si toutefois le fichier de variables nest pas charg, aller dans Fichier Open
variable file et charger le fichier portant lextension sdf qui est dans votre rpertoire
de travail.
A partir du fichier de variables, on peut slectionner une variable ou la valeur
dune variable afin de la faire glisser dans un instrument de la Layout. (cf partie 2.4.1)

3. Exemple illustratif : gnration dune SBPA


Il nous a t propos de dvelopper la gnration d'une SBPA de longueur
variable N. Lobjectif est de pouvoir modifier les paramtres en temps rel (sur Control
Desk) sans intervenir dans lenvironnement Simulink.
Cette application relve du domaine de lautomatique puisque la SBPA va nous
permettre didentifier les paramtres dun systme (mcanique, lectrique, thermique,
etc) une entre et une sortie (SISO).
Lapplication ralise permet de rcuprer dans un fichier le signal SBPA en
entre du systme et den rcuprer la sortie. Ltude de ces donnes va ensuite
permettre de dterminer les paramtres dun modle du systme grce lutilisation de
la boite outils Ident de Matlab par exemple.

3.1. Rappels sur la SBPA


Une SBPA (ou squence binaire pseudo-alatoire) est une succession priodique
d'impulsions modules en largeur.
Les SBPA sont gnres l'aide de registres dcalage boucls sur eux-mmes
(comme cela sera dvelopp sur lapplication).
Si N reprsente la longueur du registre, alors la priode de la SBPA est de 2N-1.

figure 9 : Tableau de longueur N des SBPA

Le polynme caractristique en fonction de N est donn sur le tableau figure 9.

3.2. Gnration dune SBPA de longueur N = 2


L'laboration de notre schma bloc sur Simulink sest fait partir de registres
dcalages reprsents par des blocs de retard Z-1. La figure 4 correspond la
ralisation dune SBPA de longueur N=2 :

figure 4 : Schma bloc de gnration dune SBPA de longueur N=2

Ce principe va tre tendu pour gnrer des SBPA de longueur N=2 jusqu N=10.
Pour viter que toutes les sorties des diffrents schmas blocs (N=2, N=3, N=4)
soient actives en mme temps, on utilise le schma de la figure 5.

figure 5 : Schma de slection de la SBPA de longueur N=2

La variable N en entre va tre celle qui va tre modifie en temps rel sur
Control Desk. Si N est compris entre 1,5 et 2,5 cest que lon dsire une SBPA de
longueur 2 donc on valide la sortie, sinon on inhibe la sortie. Ce principe va tre
dvelopp pour toutes les SBPA de longueur N = 2, 3, 4, 5,6...10.

3.3. Les variables utilises sur Control Desk:


Nous utiliserons quatre variables dans notre interface Control Desk :

10

-la variable N (longueur de la SBPA)


-la variable amplitude de la SBPA
-la variable SBPA on/off (sortie du second amplificateur)
-la variable offset (composante continue qui permet de fixer un point de
fonctionnement)
Linterface labore sur Control Desk permet de modifier et de visualiser les
variables en temps rel. (Voir figure 6).

figure 6 : interface pour la gnration dune SBPA

Le bloc gnration d'une SBPA va tre dfinit dans un sous-systme appel


SBPA. Le schma Simulink de ce bloc est donn sur la figure 7.
A la sortie du multiplexeur nous avons ajout deux amplificateurs de gain
initialiss 0. Le premier permet de modifier l'amplitude de la SBPA (seconde variable),
le second amplificateur permet de grer l'arrt ou la mise en route de lexprience
(troisime variable). A la suite de tout ceci nous avons le signal SBPA d'amplitude +/10V d'une part et le signal SBPA mis l'chelle au travers d'un ampli de gain 0,1 qui
nous donnera le signal SBPA d'amplitude comprise entre +/-1V que nous observons au
travers du DAC de la carte sur l'oscilloscope.
On visualise sur notre interface l'volution de la sortie de la SBPA cest dire
son amplitude entre +/-10V et la sortie relle travers le DAC, cette sortie lors d'une
tude de systme reprsentera la sortie du systme tudi. Sur Control Desk, on peut
modifier lamplitude de la SBPA, sa longueur, ajouter une composante continue. Lorsque
le signal SBPA sature (si un offset est ajout avec une forte amplitude), nous avons
prvu le clignotement d'un bouton WARNING!!! pour nous en informer. (On rappelle que
la carte ne peut pas gnrer de tension |U|>10V).

11

figure 7 : schma bloc du bloc SBPA

La sortie de la SBPA est sur le DAC1, on envoie ce signal en entre dun systme
identifier et on rcupre la sortie du systme sur lADC1. Le schma est donn sur la
figure 8.

figure 8 : schma densemble de la manipulation didentification dun systme

3.4. Utilisation de Timer pour dfinir la priode de la SBPA


Pour modifier la priode de la SBPA, on utilise un bloc Timer Interrupt de la
bibliothque RTI. Se rfrer la partie 4 pour de plus amples renseignements sur les
Timers. A chaque interruption, on calcule une nouvelle valeur de la SBPA. Le schma est
donn figure 9.

figure 9 : SBPA avec interruption priodique

12

4. Etude des diffrents timers


Le processeur principal possde 3 timers qui peuvent fonctionner de manire
totalement indpendantes. Nous avons illustr cela dans lexemple propos sur la figure
10. Ce fichier se trouve dans le rpertoire C:/Matlab6.1/DESS_AEII /Timer/Timer.mdl.

figure 10 : tude des diffrents Timers

Les blocs Timer interrupt se trouvent dans la bibliothque RTI de Simulink. Les 3
timers agissent sur des bascules qui changent leur sortie (+/- 1) chaque interruption.
Le premier timer, le timer A, est la priode dfinie dans Simulation Parameters solver,
fixed step. Nous avons choisi 1ms. Les timers B et C se rglent dans le bloc Timer B(C)
interrupt. Le timer B a t rgl 60s, le timer C 100ms.
Linterface labore sur Control Desk (voir figure 11) nous permet de visualiser la
sortie des bascules et donc les bases de temps des diffrents timers.

figure 11 : interface pour timer A,B,C

13

Pour tester ce programme, on charge dans la carte DS1104 le fichier Timer.ppc


qui se trouve dans C:/Matlab6.1/DESS_AEII/Timer/ puis on lance lacquisition. On peut
galement visualiser la sortie des bascules sur loscilloscope en se positionnant sur
DAC1, DAC2, DAC3.
La priode minimale pour cette application est de 25 s, ceci correspond au
temps minimum dexcution de lapplication.

5. Etude de la liaison srie


Le but de cette tude est de communiquer entre le DSP et lordinateur via la
liaison srie.
Nous avons ralis lapplication de la figure 12. On peut la retrouver dans le
rpertoire C:/Matlab6.1/DESS_AEII/Liaison_serie/.
On se sert de lhyperterminal de lordinateur pour rcuprer les donnes de la
liaison srie. On configure une connexion sur le port COM1 115200 bds, 8 bits de
donnes, un bit de stop, pas de bit de parit, pas de contrle de flux.
Le rle du programme ralis est denvoyer des donnes crites dans un fichier
texte de lordinateur au DSP. Lorsque le DSP reoit une instruction via la liaison srie, il
met un caractre sur la liaison srie. Lhyperterminal offre la possibilit de capturer le
texte entrant. Avec linterface sur Control Desk, on a la possibilit de modifier le
caractre envoy.

figure 12 : exemple dapplication de la liaison srie

Le problme que nous navons pas russi rsoudre est que le caractre reu ne
peut tre rcupr sous forme de chane de caractres sur Control Desk mais sous
forme soit de caractre, soit de code ASCII, ce qui limite lintrt de la liaison srie.

14

L'interface sur Control Desk (figure 13) permet de visualiser :


- le caractre envoyer (en caractre ou en valeur dcimale) sur la fentre de
l'hyperterminal via la liaison srie.
- le caractre reu par la liaison srie.

figure 13 : interface pour la liaison srie

6. Etude du DSP esclave


Le DSP DS1104 dispose dun DSP dit esclave : le Texas Instruments
TMS320F240.
Il offre la possibilit de gnrer un signal MLI triphas plus 4 sorties MLI
monophases. La principale utilisation de ce type de signaux est la commande des
machines (notamment la machine asynchrone).
On peut galement gnrer des signaux carrs de frquences variables et de
rapports cycliques variables sur 4 sorties. Le DSP dispose galement de 14 bits entressorties numriques (TTL) pour des oprations logiques.

6.1. Exemple 1 : gnration de 4 signaux carrs de frquence variable


On utilise dans cet exemple le bloc DS1104SL_DSP_D2F de la bibliothque RTI.
Les signaux carrs sont compris entre 0 et 5 V, ils sont relevs sur les broches 7,8,9 et
5. Le schma sur Simulink est donn sur la figure 14, on le retrouve dans le rpertoire
C:/Matlab6.1/DESS_AEII/DSP_SLAVE/.

15

figure 14 : signaux carrs gnrs par le DSP esclave

Nous avons dvelopp une interface sur Control Desk (voir figure 15) qui permet
de visualiser la frquence en sortie et de la modifier en temps rel.

figure 15 : interface pour signaux carrs gnrs par le DSP esclave

A travers cet exemple, nous avons remarqu que la gnration de signaux carrs
est possible jusqu une frquence de 1 MHz. Au-del, le signal obtenu est de mauvaise
qualit.

6.2. Exemple 2 : gnration de 4 signaux carrs de rapport cyclique variable


Dans ce deuxime exemple, nous avons voulu mettre en vidence la possibilit de
se servir de linterruption gnre par le DSP esclave. On gnre 3 signaux carrs de
frquence dfinie dans le bloc DS1104SL_DSP_PWM3 (ici 50 Hz) dont le rapport
cyclique est modifiable depuis linterface sur Control Desk. On visualise ces sorties sur
les broches 7,8 et 9 de la connexion DSP esclave. Le systme command par
linterruption gnre par lesclave est une bascule dont la sortie oscille entre +/- 1
chaque sollicitation.

16

figure 16 : DSP esclave avec interruption

Le schma bloc de cet exemple est donn figure 16, dans le rpertoire
C:/Matlab6.1/DESS_AEII/DSP_SLAVE/.
Linterface gnre sur Control Desk (voir figure 17) permet de visualiser la
priode gnre et de pouvoir modifier en temps rel les diffrents rapports cycliques.
Ici, la priode est de 20ms.

figure 17 : interface pour DSP esclave avec interruption

7. Prise en
en main de la manipulation PS600
7.1. Description
La maquette utilise est la manipulation PS600 du laboratoire dautomatique et
de procds de Caen.

17

Trois types de fonctionnement sont prvus :


- le pendule simple
- le double pendule
- le pont roulant (chariot+pendule)
Nous avons tudi le fonctionnement en pont roulant. Un chariot, au bout duquel
est suspendu un pendule, se dplace sur un axe horizontal. Le pendule effectue un
dplacement vertical et/ou angulaire. L'illustration de la maquette est reprsente sur
la figure 18.

figure 18 : reprsentation schmatique de la maquette

Des signaux lectriques sont transmis du chariot au bloc de commande (3). Ces
informations vont ensuite tre rcupres sur la carte dacquisition (4) pour pouvoir
tre visualises sur lordinateur.
La face avant du bloc de commande dispose dinterrupteurs, de potentiomtres
et de LEDS. On y trouve galement des connecteurs BNC pour fournir une commande en
tension externe ou pour relever des informations comme la position du chariot.
La face arrire dispose dun connecteur reli la manipulation et dun connecteur
50 broches qui va permettre de rcuprer diverses informations.
3 types de pilotages sont envisageables :
- manuel (mode manuel)
- externe en face avant (mode externe)
- externe en face arrire (mode PC)
Nous allons maintenant dtailler ces 3 modes de pilotage.

7.2. Mode de pilotage manuel


Pour piloter la maquette en mode manuel, il faut maintenir linterrupteur
monostable situ en face avant du bloc de commande et tourner le potentiomtre cot.
On peut ainsi bouger le chariot de droite gauche et le pendule de bas en haut.
On utilise ce mode de pilotage pour positionner le chariot en bute gauche par
exemple.

18

7.3. Mode de pilotage externe


Piloter la maquette en mode externe signifie que lon va fournir des tensions de
commande pour dplacer le chariot et le pendule.
Il faut pour cela enclencher linterrupteur bistable en face avant du bloc de
commande et fournir une alimentation |U|<10V sur les entres BNC situes cot.
A titre dexemple, nous avons utilis les convertisseurs numriques analogiques de
la carte DSP pour fournir la tension de commande.
Pour utiliser cette application, relier les CNA 1 et 2 aux entres position et pont
en face avant du bloc de commande de la maquette. Ensuite, on lance l'interface sur
Control Desk qui se trouve dans le rpertoire C:/Matlab6.1/DESS_AEII/manip/ et on
charge le fichier pilot_extern.ppc dans la carte DSP. Le schma Simulink et l'interface
sur Control Desk sont donns en annexe 2.

7.4. Mode de pilotage PC


Le vritable intrt de cette maquette est de pouvoir tre pilote distance en
mode PC. Nous avons ralis un superviseur pour visualiser et modifier les diffrentes
variables.
Les signaux rcuprs en sortie du bloc commande sont rcuprs en face
arrire du bloc de commande sur un connecteur 50 broches et sont connects la carte
DS1104. Le plan de cblage entre le bloc de commande et la carte DSP est donn en
annexe 3.
Les diffrents signaux sont relis :
Sur les codeurs incrmentaux 0 et 1 :
- la position du chariot (broches 1, 2, 18,19 du connecteur 50 broches)
- langle du pendule (3, 4, 20, 21)
Sur les entres sorties numriques :
- bute droite (27)
- bute gauche (28)
- bute basse pendule (29)
- PC ready (26)
- DOUT1(35)
- DOUT2(36)
- System ident bit0 (9)
- System ident bit1 (10)
- Key manual (11)
- Hauteur du pendule (5, 6)

19

Sur les convertisseurs numriques analogiques :


- tension de commande du moteur (47)
- tension de commande du pendule (48)
Remarque : la hauteur du pendule est rcupre sur les entres logiques car la
carte DSP ne contient que deux codeurs incrmentaux qui sont dj utiliss pour la
position du chariot et langle du pendule.
Sur un codeur incrmental, les 4 signaux rcuprs sont la voie A et son
complment, la voie B et son complment.
A partir de ces signaux, on obtient la position et la vitesse. Par faute de temps,
nous navons pas russi dterminer lunit de la vitesse (2me sortie du codeur
incrmental). Une tude du codeur incrmental nous aurait permis de remdier ce
problme.
La position du chariot et langle du pendule sont donns en valeur relative, elles
sont calcules par rapport la position et linclinaison lors du chargement du
programme dans la carte DSP. Cest pourquoi il faut placer manuellement le chariot en
bute gauche avant de charger lapplication ( laide du fichier manip.ppc). La bute
gauche constitue alors le point de rfrence de la position. Le chariot peut alors se
dplacer jusquen bute droite et parcourir ainsi 120 cm.
Des signaux dinformations sont rcuprs laide des entres numriques de la
carte (bute chariot gauche/droite, mode PC, bute basse pendule, etc). A laide des
sorties DAC 3 et 4, on envoie au bloc de commande les tensions de pilotage du chariot et
du pendule.
Les bits System ident bit 0 et 1 permettent de savoir le type de fonctionnement
de la manipulation : pendule simple, double ou pont roulant.

figure 19 : Schma Simulink pour pilotage en mode PC

20

Nous avons ralis le programme Simulink de la figure 19, celui-ci se trouve dans
le rpertoire C:/Matlab6.1/DESS_AEII/manip/, il se nomme manip.mdl.
Pour ne pas alourdir le rapport, le contenu des diffrents sous systmes sont
reports en annexe 4.
Pour dbloquer ltage de puissance, il faut gnrer 2 signaux (DOUT1 et
DOUT2). Il sont gnrs dans le bloc Digital I/O (se rfrer lannexe 4).
Linterface ralise sur Control Desk est donne figure 20. Elle se trouve dans le
rpertoire C:/Matlab6.1/DESS_AEII/manip/manip/ et se nomme manip.cdx.

figure 20 : interface pour pilotage du chariot en mode PC

Cette interface nous permet de visualiser la position du chariot, de vrifier sil


nest pas en bute, de relever langle du pendule et de pouvoir rgler les tensions de
commande du chariot et du pendule. Toutefois le signal rcupr pour la bute basse du
pendule ne varie jamais mme lorsque lon est en bute basse. Nous navons pas pu rgler
le problme dans le temps imparti.
Lorsque lon envoie une commande en tension positive, le chariot se dplace vers
la droite. Pour ce faire, nous avons du insrer un inverseur dans le schma Simulink car
la manipulation est retourne. Pour une consigne ngative, il se dplace vers la gauche.
Remarque : pour dplacer le chariot, il faut appliquer une tension |U|>2V. Pour
lever/descendre le pendule, il faut appliquer une tension |U|>3,8V.

21

CONCLUSION

Cette tude nous a permis de mener bien un projet et de voir les


difficults rencontres. Le travail en quipe nous a permis de rsoudre de
nombreux problmes car chacun a pu apporter ses ides.
Nous avons mis profit les connaissances apprises pendant notre anne de
formation universitaire, notamment en automatique avec lapplication concernant
la gnration de la SBPA, et en informatique industrielle, avec lutilisation du
logiciel Matlab et lexploitation des possibilits du DSP.
Nous regrettons de ne pas avoir eu le temps de pouvoir approfondir
davantage la manipulation PS600 afin de dterminer les caractristiques du
codeur incrmental et ainsi pouvoir rcuprer la hauteur du pendule.
Nous tenons remercier M.Dorlans et M.Massieu, qui nous ont encadrs
durant notre projet, pour leur disponibilit et les conseils quils nous ont
apports.
Cette ralisation est une bonne exprience pour nous car elle nous a
permis de nous adapter et de comprendre comment programmer de nouveaux
logiciels.

22

ANNEXE 1 : Liste des extensions utilises sur Control Desk


.cdx : projet
.csv : fichier dacquisition de mesures au format ASCII
.idf : fichier dacquisition de mesure en mode Stream to Disk
.lay : layout
.mat : fichier dacquisition de mesures pouvant tre charges sur Matlab
.ppc : application pouvant tre charge dans le DSP
.sdf : fichier des variables qui vont tre rcupres depuis Matlab

23

ANNEXE 2 : Pilotage externe en face avant de la maquette


Pour piloter le chariot ainsi que le pendule de manire externe en face avant, on a
dvelopp une application qui fournit 2 gnrateurs de tension partir de la carte DSP.
Le premier fournit une tension sinusodale pour dplacer le chariot selon un
mouvement de va et vient, le second permet de monter/descendre le pendule.
Le
schma
Simulink
ci-dessous
se
trouve
dans
le
rpertoire
C:/Matlab6.1/DESS_AEII/manip/.

Linterface ci-dessous labore sur Control Desk permet de modifier lamplitude,


la frquence et loffset du sinus, ainsi que lamplitude de la commande applique pour
monter/descendre le pendule.

24

ANNEXE 3 : Schma de cblage entre le bloc de commande


et la carte DSP

25

ANNEXE 4 : Schmas blocs raliss sur Simulink pour la


manipulation PS600 du laboratoire
Les diffrents sous
sont reprsents ci-dessous.

systmes

utiliss

Le bloc entres-sorties analogique :

Le bloc entres-sorties numrique :

26

pour

le

programme

manip.mdl

Le bloc entres numriques :

Remarque : 2 entres numriques ont t rajoutes et ne figurent pas sur le


schma ci-dessous.
Il sagit des entres incrmenteur voie A et voie B qui permettent de rcuprer
les 2 signaux dphass de 90 qui codent la hauteur du pendule. Le principe est le mme,
on prend comme valeur 13 et 15 lintrieur de 2 nouveaux blocs MASTER BIT IN.
Le bloc incrmenteur 1 & 2 :

27