Vous êtes sur la page 1sur 49

Commande par FPGA

SOMMAIRE
REMERCIMENT3 DEDICACE.4 CAHIER DE CHARGE..5 INTRODUCTION6

ETUDE THEORIQUE7
CH I : CIRCUIT LOGIQUE PROGRAMMABLE FPGA8 1) structure des FPGA8 2) les ressources de PFGA8 3) le circuit FPF 8282.. daltra..10 4) outil de dveloppement..11 5) synoptique de la mthode de conception dun circuit numrique par FPGA.14 CH II : DESCRIPTION DU STARTER KIT15 1) introduction15. 2) spcification de la carte exprimentale FPGA15 3) dispositif de la famille FLEX8000..16 CH III : LE LANGAGE DE PROGRAMATION VHDL19 1) introduction..19 2) application du langage19 3) utilit du langage VHDL..20 4) l a portabilit des descriptions VHDL21 5) simulation et synthse22 6) syntaxe gnrale..23 7) library de VHDL.24 8) les fonctions du VHDL..25 CH VI : LE MOTEUR PAS A PAS A) introduction 1) prsentation

SAIDI & RIHANI

JIUN 2006

Commande par FPGA 2) gnralits B) les diffrent type des moteurs pas pas moteur aiment permanent C) tude comparative D) tude de courant dans un enroulement du moteur E) les avantages et les inconvnients des moteurs pas pas CH V : MOTEUR A COURANT CONTINUE 1) fonction dusage 2) principe 3) reprsentation normalise 4) relation fondamentale 5) Principe gnral de PWM

ETUDE PRATIQUE
1) la carte de commande 2) la carte de puissance 3) la description des signaux 4) liste des composants 5) brochage de la FPGA

CONCLUSION ANNEXES BIBLIOGRAPHIE

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

vec le plus grand honneur que nous rservons cette page de gratitude et de reconnaissance tout ceux qui ont contribu de prs ou de loin le bon droulement et la ralisation de notre projet. ous tenons remercier sincrement notre encadreur : Mr HATEM ABIDI pour ses aides incessantes, de ses conseils, de ses connaissances intressantes et pour tous les claircissements quil nous a fournis et disponibilit tout au long de notre travail.

ous voudrons, cette occasion, exprimer notre profonde reconnaissance tout nos enseignant de dpartement Gnie lectrique pour leur collaboration, leur disponibilit et leur soutien moral au long de notre tude. nfin, nous adressons nos vifs remerciements du jury qui accept volontiers dvaluer notre modeste mmoire.

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

La vie nest quun clair, Et le jour de russite est un jour trs cher A ma mre A mon pre Aucun hommage ne peut tre la hauteur de lamour Et de laffectation dont ils ne cessent de nous combler Quils trouvent dans ce travail un modeste tmoignage De mon profonde amour Que bien leurs procure bonne sant et longue vie A mes chres frres A mes chres surs A tous mes amis

MESSAOUD

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

En tmoignage de respect et damour Je ddis ce travail, en esprant quil sera la hauteur de leur attente : A ma chre mre La personne quelle ma encourage de continuer quand les choses vont mal. A mon pre La personne quil sest fatigu pour que jatteindre ces points. A mon frre A ma sur Et tous mes amis.

RIDHA

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

INTRODUTION
Lvolution de lindustrie des circuits intgrs durant la dernire dcennie a t tellement rapide quil est maintenant possible dintgrer plusieurs systmes complexes sur une seule puce. Cette volution vers des niveaux dintgration de plus en plus levs est motive par les besoins de systmes plus performants, lgers, compacts et consommant un minimum de puissance. Dans de telles circonstances, la gestion de la complexit avec les outils daide la conception traditionnels devient une tache pnible, coteuse voire impossible, quand on considre l les contraintes de mise en march dun produit Ce rapport prsente notre projet qui vient dtre ralis et qui consiste commander un moteur pas pas dans deux sens et un moteur courant continue par la modulation de largeur dimpulsions en utilisant un circuit programmable FPGA Dans ce manuel nous avons effectu ltude thorique du moteur pas pas aussi la modulation de largeur dimpulsion qui permet de varier la vitesse dun moteur courant continue Nous avons consacr quatre thmes savoir * / le circuit FPGA * / le moteur pas pas * / modulation largeur dimpulsion * / moteur a courant continue Entre autre, ce rapport traitera, la partie commande de deux moteurs, la prsentation sera dtailler pour les circuit intgrs spcialiser, la carte de commande et de puissance Enfin, nous citerons le programme VHDL qui permet de gnrer les signaux permettant de commander le moteur pas pas avec ses option de sens de rotation , aussi de faire tourner le moteur courant continue avec variation de vitesse et affichage de rapport cyclique

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

SAIDI & RIHANI

JIUN 2006

Commande par FPGA

CH I : Circuits logiques programmables FPGA

Les FPGA (abrviation anglaise de qui signifie rseau des portes programmables sur site) sont aussi des circuits logiques programmables par lutilisateur. Cest une volution des CLPD mais avec un concept diffrent, ils offrent un niveau dintgration trs lev par rapport aux CPLD. 1) Structure des FPGA :

Un circuit FPGA contient un trs grand nombre de macro cellules (environ 32*32 CLB) avec une trs grande souplesse dinterconnexion entre eux. Dans le FPGA, le temps de propagation dans les couches logiques du circuit dpend de lorganisation et de la distance entre les macro cellules interconnectes.

Fig 1 : structure des FPGA

2) Les ressources de FPGA : Entres-sorties : elles sont indpendantes des macro cellules et de groupes de macro cellules. Elles ont comme lment de base la porte 3-tats. Elles peuvent intgrer beaucoup des lments comme le choix du temps de monte, lincorporation dune rsistance de rappel la tension dalimentation pour fixer le niveau de tension dune broche, le choix de type de sortie : soit collecteur ouvert, soit 3-tats. Macro cellules : elles sont trs nombreuses, et il ny a pas de matrice ET et OU. La macro cellule est constitue dune partie combinatoire et dune partie squentielle. SAIDI & RIHANI 8 JIUN 2006

Commande par FPGA *La partie combinatoire permet de raliser des fonctions de complexit moyenne. Les constructeurs ont propos chacun une ou plusieurs solutions de synthse dont les principales sont : La fonction de synths 4 ou 5 variables avec des portes classiques ET, OU et NON. La synthse de fonctions laide de multiplexeurs. La synthse de fonctions combinatoires laide de mmoire vive, on dit aussi ralisation des fonctions logiques par LUT, abrviation anglaise de LOOKUP TABLE signifiant table dobservation (ou de ralisation).

*La partie squentielle comporte une ou deux bascules gnralement de type D. il est rare de trouver des macro cellules uniquement pourvue de la partie combinatoire. Compte tenu de nombre de macro cellules et de leur structure, leur association permet la ralisation de nimporte quel autre type de bascule. Les macro cellules sont appeles : Soit CLB : abrviation anglaise de Configurable Logic Block , signifiant bloc Logique configurable. Cest la dnomination adopte par Xilinx. Soit LC : abrviation anglaise de Logic Cell , signifiant cellule logique, cest le nom choisi par Cyprs. Soit LE : abrviation anglaise de Logic Element, signifiant lment logique, cest lappellation dAltra. La dnomination la plus courante pour dsigner une macro cellule est CLB. A cet effet, on appelle souvent les FPGA, LCA, abrviation anglaise de Logic Cell Array signifiant rseau de cellules logiques. Cette dnomination des FPGA est dpasse comme marque Xilinx. Rseaux dinterconnexion : il doit permettre de connecter nimporte quelle CLB une autre ou une cellule dentre-sortie. Pour cela, un ensemble des lignes horizontales et verticales et un ensemble de points de connexions sont utiliss. Selon lintgration vhicule, on distingue plusieurs types de lignes dfinies par leur longueur relatives. Les principales sont : Les interconnexions usage gnral : sont composes des segments 9 JIUN 2006

SAIDI & RIHANI

Commande par FPGA verticaux et horizontaux qui encadrent chaque CLB et qui peuvent tre relis entre eux par une matrice de commutation. Chaque segment peut tre connect des segments qui lui sont adjacents ou perpendiculaires en utilisant des points de connexion . Les lignes directes : fournissent des chemins entre les CLB adjacents et entre les CLB et les cellules dentre-sortie. Les lignes longues : sont des lignes verticales et horizontales qui nutilisent pas les matrices de commutation. Elles parcourent toutes les zones dinterconnexion. Elles sont utilises pour vhicules les signaux qui doivent parcourir un long trajet. Elles galisent les dtails entre les signaux de faon permettre un dcalage minimum entre deux points distants de la ligne. Les lignes conviennent pour vhiculer les signaux dhorloge. Lensemble des points de connexion est appel PIP, abrviation anglaise de Programme Interconnect Points . 3) Le Circuit EPF8282 dAltra : Ce circuit contient : 208 Cellules logiques (LE) ; 78 Broches dentre-sortie ; 282 Bascules actives sur front ; Des connexions commandes par des cellules de type SRAM ; Le circuit EPF8282 fait partie de la famille FLEX800 des FPGA dAltra. Fl ex est labrviation anglaise de Flexible Logic Element matriX signifient matrice dlments flexibles. Pour rendre les circuits de la famille FLEX adaptable une large gamme dapplications, cette famille combine (pour les CPLD, les avantages de grande vitesse de fonctionnement et de temps de propagation prdictible) et pour les FPGA le nombre important de registres et la souplesse de connexion. Ce circuit contient 208 cellules logiques (LE) organises en 26 LAB de 8 LE, les LAB sont organises en deux lignes de 13 colonnes. Comme il a t indiqu dans la prsentation gnrale, il ny a pas de matrice ET et OU.

SAIDI & RIHANI

10

JIUN 2006

Commande par FPGA Chaque LE comporte une partie combinatoire et une partie squentielle. La fonction logique de 4 variables, un bloc pour le calcul anticip de la retenue pour les oprations arithmtiques et un bloc pour la mise en cascade rapide les fonctions de dcalage. La partie squentielle est constitue dun registre qui peut tre configur en bascule D, T, JK ou RS. Ce circuit dispose de 78 blocs dentre-sortie qui sont places aux extrmits (colonnes et lignes) du rseau dinterconnexion. La connexion entre les LAB dune part et les LE et les blocs dentre-sortie, dautre part est lgrement diffrente de celle que lon a prsent pour les FPGA. Par contre la commande des points de connexion se fait toujours par superposition dune couche de commande constitue de (connexion) cellules mmoire de type SRAM. La notion de diffrents types de ligne est remplace par la notion unique de groupes de lignes et colonnes qui traversent le circuit de part en part. cette notion est appele en anglais Altra Fast Track Interconnect signifiant piste rapide dinterconnexion. La connexion entre les lignes et colonnes se fait par la commande de multiplexeur. Cette commande provient des cellules mmoire (SRAM) de la couche de commande. Cette technique vite les dlais introduits par les matrices de commutation entre les lignes dusage gnral de la structure standard. Un groupe de lignes comporte 168 lignes et celui des colonnes est constitu de 16 colonnes. Comme pour tout FPGA, la gestion de ces lignes et colonnes est compltement transparente. Cependant, le systme de dveloppement offre la possibilit dimposer des contraintes de placement et de routage. 4) Outil de dveloppement : Comporte en gnral, un logiciel de conception, une carte dmulation pour la vrification du fonctionnement lectrique de larchitecture conue, un micro-ordinateur hte.

SAIDI & RIHANI

11

JIUN 2006

Commande par FPGA

Liaison par bus Carte dmulation Logiciel de conception

FPGA

Ordinateur hte

Architecture sous test

Fig2 : outil de dveloppement

Le logiciel : sert aider le concepteur dvelopper la mthode de conception de larchitecture. La mthode de conception comporte quatre phases : une phase de saisie de larchitecture, une phase dimplantation, une phase de vrification et une phase des tests lectriques. La phase de saisie de larchitecture consiste entrer lapplication sous la forme de son schma ou de ses quations boolennes de fonctionnement de son graphe dtalon, enfin, sous forme dun langage de description. Ce dernier semble simposer sous la forme du langage de VHDL (Very High Development Library), pour saisir larchitecture encore appele application . Pour les outils de saisie de schmas, dquations, de graphes dtats, on peut citer des logiciels tels que view logic, Mentor Graphiques, Orad, ABEL chacun de ces logiciels de plus en plus tendance gnrer automatiquement le code VHDL.

SAIDI & RIHANI

12

JIUN 2006

Commande par FPGA *Le Synoptique : qui dcrit la mthode de conception dune architecture, il comprend trois tapes / une tape indpendante de la technologie du circuit cible, contient la saisie de lapplication, la gnration des commandes fictives du rseau de blocs logiquespar programmation, encore appel synthse , la simulation du circuit synthtis ;

une tape qui dpend de la technologie et qui se dveloppe aprs avoir choisi le constructeur de FPGA, contient la programmation fictive du cblage du circuit du constructeur choisi, encore appel routage , et la simulation de son fonctionnement rel. Jusqu la fin de cette tape, la conception a la possibilit de modifier toute partie de lapplication tous les niveaux de description facilement et de faon conomique ; une tape de programmation physique et de tests lectriques termine la ralisation du circuit prototype

SAIDI & RIHANI

13

JIUN 2006

Commande par FPGA

6) Synoptique de la mthode de conception dun circuit numrique FPGA

Application Schma Equation Graphe dtat Saisie de lapplication Gnrateur des vecteurs de tests 1re phase indpendante du composant

VHDL

Synthse

Simulation fonctionnelle

Routage

Simulation temporelle Logiciel de simulation

2me phase dpendante du composant

Programmation physique

Bibliothque de fonctions du circuit constructeur

Circuit Circuit

Tests lectriques

3me phase indpendante du composant

Fig3 SAIDI & RIHANI 14 JIUN 2006

Commande par FPGA

DESCRIPTION DU STARTER KIT

1) INTRODUCTION Ce starter Kit peut utiliser le logiciel du CPLD / FPGA pour tudier et concevoir les nouveaux circuits logiques et remdier la complexit de conception des circuits TTL/CMOS aussi utilis le graphisme et VHDL-ABEL-AHDL pour la conception des circuits comme on peut utilis le port parallle pour tlcharger directement des applications vers la cible. Le programme labor est charg en FLASH EPROM et la carte devient autonome oprationnelle sous WIN95 /98/2000/NT. 2) SPECIFICATION DE LA CARTE EXPERIMENTALE FPGA

SAIDI & RIHANI

15

JIUN 2006

Commande par FPGA

Fig4

4) Dispositif de la famille FLEX 8000 : La famille de FLEX 8000 offre des dispositifs aux limites de 2,500 16,000 portes avec rapidit prvisible la connections des retards. Elle combine la haute vitesse, Le chronomtrage prvisible et la facilit dutilisation dEPLDS avec le haut compte de registre, bas le pouvoir (puissance) de rserver et dans le circuit de reconfiguration de FPGAS. Larchitecture de FLEX 8000 consiste en lment de logique de silicium efficace au grain fin group dans des laboratoires trs performants, gros grain. Cette granularit duelle permet la famille de FLEX 8000 doffrir, et excute (performance) rapide dEPLDS et la haut utilisation de ressource de tableaux de porte. Avec la famille de FLEX 8000, nous pouvons facilement mettre en uvre les demandes (application) qui exigent un haut flip-flop des comptes comme des chemins de donnes pipeline et des algorithmes de transformation / compression de donnes sans sacrifier des taux dhorloge de systme rapide les dispositifs de FLEX 8000 sont idal pour des demandes donnes intensives comme des contrle graphique. Des cartes multimdia, des cartes de rseau et lquipement de communication SAIDI & RIHANI 16 JIUN 2006

Commande par FPGA Les circuits FPGA sont constitus d'une matrice de blocs logiques programmables entours de blocs d'entre sortie programmable. L'ensemble est reli par un rseau d'interconnexions programmable. Les FPGA sont bien distincts des autres familles de circuits programmables tout en offrant le plus haut niveau d'intgration logique. Il y a 4 principales catgories disponibles commercialement:

Tableau symtrique. En colonne. Mers de portes. Les PLD hirarchique.

Fig5 : Les diffrentes classes de FPGA. Voici la structure interne d'un FPGA de type matrice symtrique. Il s'agit de l'architecture que l'on retrouve dans les FPGA de la srie XC4000 de chez Xilinx.

SAIDI & RIHANI

17

JIUN 2006

Commande par FPGA

Fig6 : Structure interne d'un FPGA L'utilisateur peut programmer la fonction ralise par chaque cellule (appele CLB par Xilinx: Configurable Logic Block):

Fig7 : Schma bloc d'une cellule On programme aussi les interconnexions entre les cellules:

SAIDI & RIHANI

18

JIUN 2006

Commande par FPGA Fig8 : Les interconnexions entre les cellules d'un FPGA Ainsi que les entres et sorties du circuit. L'avantage des FPGA est de pouvoir tre configur sur place, sans envoi du circuit chez le fabricant, ce qui permet de les utiliser quelques minutes aprs leurs conceptions. Les FPGA les plus rcents sont configurables en une centaine de millisecondes. Les FPGA sont utiliss pour un dveloppement rapide et bon march des ASIC . Invents par la socit Xilinx, le FPGA, dans la famille des ASICs, se situe entre les rseaux logiques programmables et les prdiffuss. C'est donc un composant standard combinant la densit et les performances d'un prdiffus avec la souplesse due la reprogrammation des PLD. Cette configuration vite le passage chez le fondeur et tous les inconvnients qui en dcoulent.

LE LANGAGE DE PROGRAMMATION VHDL

Introduction Le langage VHDL (Vhsic Hardwere Description Langage) est un sous produit n du besoin dune outil de spcification a pour but de dcrire un fonctionnement global de haut niveau sans souci des dtails dimplantation, pour servir de cahier des charges pour la ralisation des projets complexes .Il est devenu un vritable outil de conception des circuits numriques .il permet dautre part de concevoir et de vrifier un systme lectronique complexe. Cet ouvrage expose en trois parties qui conduisent de la simulation au circuit oprationnel. La premire partie aborde les diffrentes applications qui permet de raliser le langage VHDL (la spcification, la simulation, la synthse logique). La deuxime dveloppe lutilit du langage VHDL, tant en synthse quen vrification. De nombreux exemples permettent au lecteur de valider sa comprhension. La dernier partie est une prsentation syntactique

SAIDI & RIHANI

19

JIUN 2006

Commande par FPGA 2) Applications du langage : Le VHDL est un langage unique permettant de faire : De la spcification : le langage VHDL est trs bien adapt la modlisation de systmes numrique complexes grce son niveau lev d abstraction .le partitionnement en plusieurs sous ensemble permet de sub-diviser un modle prts tre dvelopps sparment De la simulation : la notion de temps, prsente dans le langage, permet son utilisation pour dcrire des fichiers de simulation (testament).Le modle comportemental avec les fichiers de simulation peuvent constituer, ensemble, un cahier des charges. Les fichiers de simulation peuvent galement tre utiliss avec un banc de tests de production De la synthse logique : les logiciels de synthse permettent de traduire la description VHDL en logique .Il est ainsi possible dintgrer la description dans un composant programmable (CPLD, FPGA) ou dans un circuit ASIC. De la preuve formelle : le langage permet de prouver formellement que deux descriptions sont parfaitement identiques au niveau de leur fonctionnalit.

3) Utilit du langage VHDL :

Llectronicien a toujours utilis des outils de description pour reprsenter des structures logiques ou analogique. Le schma structurel que lon utilise depuis longtemps nest en fait quun outil de description graphique. Aujourdhui, llectronique numrique est de plus en plus prsente et tend bien souvent remplacer les structures analogiques utilises jusqu prsent. Ainsi,les fonctions numriques raliser ne cessent de prendre de lampleur. Il est ds lors indispensable dutiliser un langage de haut niveau pour matriser la complexit grandissante des systmes numriques. Le VHDL est lun des langages modernes et puissants .IL est nettement plus performant que la description par schma. Le deuxime point fort du VHDL est dtre un langage de description comportementable de haut niveau. Les anciens langages, tel ABEL, ne disposait pas de celle fonctionnalits. En fait, un langage est dit de haut niveau lorsqu il fait le plus possible abstraction de lobjet pour lequel il est crit. Dans le cas de VHDL, il nest jamais fait rfrence au SAIDI & RIHANI 20 JIUN 2006

Commande par FPGA composant ou la structure pour lesquels on lutilise. Ainsi,il apparat une notion trs importante : la portabilit des descriptions VHDL. Il est galement important de noter, que le langage VHDL est normalis. Il na pas la proprit dune valeur doutils. Cette norme a pos de grandes socits de logiciels lutiliser comme langage de dception de matriel pour leur outil. Le langage est ainsi devenu un standard reconnu par une majorit des valeurs doutils de systme. Le langage VHDL a t initialement utilis pour la spcification et la simulation de systmes complexes. Ce langage de haut niveau permet un d composition hirarchique et dispose de la notion de temps. Cela a permis de matriser la complexit des circuits, particulirement dans le cas des ASICs. Le mme langage est utilis pour toutes les tapes du dveloppement (spcification, simulation et synthse). Il permet galement la ralisation de bibliothques composantes rutilisable dun lautre.

4) la portabilit des descriptions VHDL : Les concepteurs souhaitent tre indpendants des outils quils utilisent . Ils demandent que leurs descriptions soient portables. Dans le mande des systmes numriques nous pouvons dfinir deux portabilits : La portabilit vis--vis des logiciels. La portabilit vis--vis des circuits. Le langage VHDL est devenu un standard dans le nombre de la conception numrique. Il existe de nombreux outils qui acceptent ce langage comme entre.Il est donc possible dutiliser une mme description avec plusieurs outils diffrents. Mais il faut encore garantir que chaque outil aura la mme interprtation de la description VHDL. Ds lors, il est important de ne pas utilise les spcificits dun outil . En particulier il ne faut pas utiliser les bibliothques propres un outil mais uniquement les bibliothques normalises IEEE (std_logic_1164 et numeric_std).

SAIDI & RIHANI

21

JIUN 2006

Commande par FPGA Pour les circuits, la portabilit ne pourra plus tre assure ds que nous utilisons une ressource propre une technologie pour respecter des contraintes de vitesse ou optimiser la surface.

5) simulation et synthse : Voici le droulement des diffrentes tapes de dveloppement dun projet en VHDL.

SAIDI & RIHANI

22

JIUN 2006

Commande par FPGA

Description VHDL synthtisable

Fichier de simulation VHDL

Synthtiseur (Traduction) Description logique Netist Placement routage (Intgration) Programmation Du circuit Fichier VHDL Fichier VHDL VHDL Fonctionnel simulateur Temporel

Le dveloppement en VHDL ncessite lutilisation de deux outils : le simulateur et le synthtiseur.le premier va nous permettre de simuler notre description VHDL avec un fichier de simulation appel (test-bench) .Cet outil interprte directement le langage VHDL .Le simulateur comprend lensemble du langage.Lobjectif du synthtiseur est trs diffrent. Il doit traduire le comportement dcrit en VHDL en fonction logique de bases. Celles-ci dpendante la technologie choisie .Cette tape est nomme : synthse. Le langage VHDL permet dcrire des descriptions dun niveau comportemental lev. La question est de savoir si nimporte quelle description comportementale peut tre traduite en logique Lintgration finale dans le circuit cible est ralise par loutil de placement et routage. Celui-ci est fourni par le fabricant de la technologie choisie.

SAIDI & RIHANI

23

JIUN 2006

Commande par FPGA Avec les outils actuels, il est possible de disposer de fichiers VHDL chaque tape. Le mme fichier de simulation (test_benh) est ainsi utilisable pour vrifier le fonctionnement de la description chaque tape. 6) Syntaxe gnrale : La difficult du langage VHDL est dans le syntaxe qui se rsulte comme suit : Library IEEE ; Use ieee.std_logic _1164.all ; Entity Port ( (Dfinition des variables) ) ; (nom du projet) is

End

(nom du projet) ;

Architecture arch of (nom du projet) is Begin (sortie dinstruction) End arch ; 7.1) Library: La dclaration librairies commence tout code VHDL (sauf que nutiliser le noyau du langage qui nest pas suffisant pour les besoins de llectronique digitale). Le choix des librairies a un impact important sur la portabilit et les outils utilisables (sythse et simulation). Exp : Library IEE ; Use IEEE.STD_Logic_1164.all ; Use IEEE.STD_logic_ARITH.all; Use IEEE.STD_logic_signed.all; 7.2) Couple Entity -Architecture: SAIDI & RIHANI 24 JIUN 2006

Commande par FPGA Un module est dcrit en deux parties : Interconnections : section entity Contenu interne : section architecture. Une entit et plusieurs architectures => le choix est par la section configuration. 7.3) Dfinition des variable : Dans ce stade le programmeur doit dclarer les diffrents variables dentre et de sortie ainsi les variables intermdiaires de son projet Variables dentres : nom du variable (in put) Variables de sorties : nom du variable (out put) variables intermediares : dans certains cas on a besoin de variable intermdiaire pour stocker les rsultas.Ces variables sont dclars aprs les variables dentre\ sorties. 7.4) Vecteur dE\S bus : Dans les systmes modernes toutes les connections sont raliss a travers des regroupements de ligne appele bus. Le VHDL permet de dcrire des systmes complexes grant des vecteurs Un bus est dclar comme suit : Nom_bus :std_LOGIC_VECTOR(width_Data_N-1 downto 0) 8)Les fonctions du VHDL : 8.1) La fonction case : Cette fonction est dentique a la case du C. Elle permet de dcrire la rponse de la sortie pour diffrent vecteur dentre. Syntaxe : Begin Process entre Case entre When entre1 => sortie <= sortie1 When entre2 => sortie <= sortie2 End case End process

SAIDI & RIHANI

25

JIUN 2006

Commande par FPGA End 8.2) La fonction Case When other : La fonction case est utilise lorsquon dcri une fonction littralement, dans certain cas le systme ne doit pas rpondre a toute les combinaison dentre: on utilise la fonction other qui permet ainsi de dfinir la sortie du systme a une entre quelconque autre que les entres spcifis par la description Syntaxe : Begin Process entres Case entre is When entre 1 => sortie <= sortie 1 When entre 2 => sortie <= sortie 2 When others enre End case End process End 8.3) Fonction IF: La dclaration if permet de dclarer et dexcuter le choix selon une ou plusieurs conditions. La syntaxe est : Begin Process entre Begin If entre1= condition then Sortie <= condition1 Else Sortie <= condition2 End if End process End;

SAIDI & RIHANI

26

JIUN 2006

Commande par FPGA

CH II : LE MOTEUR PAS A PAS


A- INTRODUCTION A-1- Prsentation Les premiers moteurs pas pas datent de 1930, leur vritable dveloppement est li lvnement de la micro-informatique (microprocesseur). Le moteur pas pas peut remplir deux fonctions : Conversion dnergie lectrique en nergie mcanique (cest le moteur classique) Conversion de linformation numrique en un positionnement angulaire ou linaire. Le caractre synchrone du moteur pas pas permet de faire fonctionner sans boucle de retour. A-2-Gnralits Les moteurs pas pas sont des moteurs spciaux, composs simplement dun stator runissent des pices polaires et des bobinages, et utiliss pour commander avec grande prcision le dplacement et la position dun objet. Comme leur nom lindique, ces moteurs tournent par incrment discret. Chaque incrment de rotation est provoqu par une impulsion de courant fournie lun des enroulements du stator Le moteur pas pas est lorgane de positionnement et de vitesse travaillant gnralement en boucle ouverte. Le principe de base est donc toujours la cration dun champ tournant comme dans les moteurs triphass industriels ou dans les petits moteurs quipant les programmateurs mcaniques : les ples magntiques de rotation de mme nom se repoussent et les ples des noms contraires sattirent, le champ magntique entranera le rotor aliment dans le mme sens. Ceci traduit le fait quon transforme une grandeur numrique en une grandeur analogique .La frquence de rotation, ou vitesse est donc commande par des impulsions (consigne de rotation) contrles elle-mme par un dispositif lectronique en technologie cble programme.

SAIDI & RIHANI

27

JIUN 2006

Commande par FPGA B Les diffrents types des moteurs pas a pas : Il y a trois types : Les moteurs aimant permanent Les moteurs rluctance variable Les moteurs hybrides 1) Moteur aimant permanant : Un aiment permanent est solidaire de laxe du moteur (rotor) .Des bobines excitatrices sont places sur les paroi du moteur (stator) et sont alimentes chronologiquement. Le rotor soriente suivant le champ magntique cre par les bobines. Les moteurs aimants permanents se subdivisent en deux types principaux : Les moteurs bipolaires Les moteurs unipolaires Le moteur bipolaire Les bobines dun moteur bipolaire sont alimentes une fois dans un sens, une fois dans lautre sens.Ils crent une fois un pole nord, une fois un pole sud do le nom de bipolaire

Fig 1 : moteur aiment permanent bipolaire

Le moteur unipolaire Les bobinages dun moteur unipolaire sont aliments toujours dans le mme sens par une tension unique do le nom dunipolaire

SAIDI & RIHANI

28

JIUN 2006

Commande par FPGA

fig2 : moteur aiment permanent unipolaire .

C-

Etude comparative

Nous effectuons une tude comparative entre les moteurs aimant et le moteur rluctance variable (les moteurs les plus utiliss) Le tableau ci-dessous prsente les avantages de lun par rapport lautre : Type de moteur Moteur aimant permanent Rsolution (nb de pas/tour) Couple moteur Sens de rotation Moyenne Elev Il dpend : -du sens du courant pour les moteurs bipolaires -Lordre dalimentation Frquence de travail des bobines Faible grande Moteur rluctance variable Bonne Faible Il dpend uniquement de lordre dalimentation des bobines -du sens du courant pour les moteurs bipolaires -Lordre dalimentation des bobines grande Eleve Elev Il dpend : Moteur hybride

SAIDI & RIHANI

29

JIUN 2006

Commande par FPGA D- Etude du courant dans un enroulement (phase) du moteur E = L. di/ dt + r.i L : Linductance dun enroulement du moteur r : Rsistance du moteur Solution gnrale de lquation sans second membre:

Solution particulire de lquation avec second membre:

Solution gnrale de lquation avec second membre:

Dtermination de la constante K2:

Equation finale

SAIDI & RIHANI

30

JIUN 2006

Commande par FPGA

Fig3 Rduction de la constante de temps

On constate que la constante de temps = L/r peut tre diminue par laddition dune rsistance r en srie avec lenroulement. Cependant, la valeur du courant (rgime permanent) est rduite. Le couple moteur est donc diminu. Pour le rtablir, il faut augmenter la tension dalimentation du moteur. On constate que la vitesse de monte du courant dans lenroulement est plus leve avec une rsistance additionnelle r. Le couple moteur stablit donc plus rapidement. Les performances du moteur (frquence maximale darrt - dmarrage et frquence maximale de survitesse) sont considrablement amliores. Cependant, la rsistance additionnelle dissipe inutilement une puissance E- Les avantages et les inconvnients des moteurs pas pas : Lavantage le plus important du moteur pas pas est trs simplifi puisquil existe des intgrs qui transforment directement un train dimpulsion en commande des phases, en tenant compte du sens dsir. Un autre avantage rside dans le fait que le moteur pas pas ne ncessite trop dentretien, et que son usure est faible.De plus, il est possible de bloquer larbre sous tension sans que ceci ne nuise au moteur. P=E/r.

SAIDI & RIHANI

31

JIUN 2006

Commande par FPGA

Comme inconvnients, il faut noter que la rotation se fait par coups et une base vitesse, quil oscille lorsquil passe dun pas lautre et que si le couple de charge est suprieur au couple moteur. 1- Circuit ULN 2003A Pour commander le moteur pas pas dans un sens bien dfini et avec un mode de fonctionnement choisi il faut faire la commutation selon un organigramme convenable ,et puisque les signaux gnrs par le FPGA sont trs faible .Au lieux d utiliser des transistors de Darlington dont les bases sont attaqus par les signaux du FPGA et qui traduisent les chronogramme de chaque mode de fonctionnement du moteur on utilise un circuit spcialis ,cest le ULN2003A dans laquelle 8 transistors de Darlington sont intgr et 8 diode rapide (diode de roue libre ) qui sont utiles pour le dcharge des bobines du moteur au moment de commutation .Les caractristiques de se circuit sont dfinis dans la fiche technique

Fig8 : ULN 2003

SAIDI & RIHANI

32

JIUN 2006

Commande par FPGA

1) Fonction dusage : Le moteur courant continu est un convertisseur lectrique en nergie mcanique avec quelques pertes.

Fig1

SAIDI & RIHANI

33

JIUN 2006

Commande par FPGA

2.) Principe : Le moteur courant continu est essentiellement compos de trois parties :

Le stator ou inducteur : il est form daimant pour les petits et de bobine parcouru par un courant pour les moteurs plus puissants. Grce aux progrs sur les aimants ses derniers sont de plus en plus employs. Les aimants ou bobines permettent la cration dun flux magntique.

Le rotor ou induit : il est aliment par une tension U et parcourue par un courant I, le circuit lectrique appel induit est obtenue en associant en srie des conducteurs logs dans des encoches du rotor.

Le collecteur : il est form dun ensemble de lames de cuivre isoles latralement les unes des autres et disposes suivant un cylindre en bout de rotor. Deux balais ports par le statuer frottent sur les lames des collecteurs.

3.) Reprsentation normalise :

Fig2 4). Relations fondamentales : Couple lectromagntique (C)

Avec :

I = courant absorb = flux inducteur en Webers (Wb) K = coefficient de couplage lectromagntique (sans dimension)

SAIDI & RIHANI

34

JIUN 2006

Commande par FPGA

C = couple lectromagntique en Newton.Mtre (N.m) Le couple dun moteur courant continu est proportionnel aux flux et lintensit. Le flux cre par un aimant est constant dans ce cas, le couple est proportionnel au courant. On pose Kc = K avec Kc qui est le coefficient de couple ou constante de couple.

La formule prcdente devient alors :

Fig3 U = rI + E U = rI + KeN avec E = KeN Avec E = en volt (V) Ke =en volt par tour/seconde (V/tr/s) N = vitesse du moteur en tour par seconde (tr/s) Comme U = rI + KeN alors U rI = KeN N = (u rI) / Ke

Avec I = constante couple constant R = constante rsistance de linduit SAIDI & RIHANI 35 JIUN 2006

Commande par FPGA

Ke = constant La variation de la vitesse n dun moteur courant continu est obtenu en faisant varier la valeur moyenne de la tension dalimentation U. On peut utiliser une tension continue variable mais le rendement peut tre mauvais. Pour rsoudre ce problme, on place un transistor ballast entre la source dalimentation et le moteur comme le schma ci-dessous :

Vitesse maximale : Um Vcc

bon rendement vitesse maximale : Um = Vcc/2 rendement de 50%

Pour rsoudre ce premier problme, on utilise une commande MLI (Modulation de Largeur dImpulsion) ou PWM (Pulse Width Modulation). Cette solution apporte un rendement de 100% quelque soit la vitesse du moteur. Le MLI fait varier le rapport cyclique dune tension ce qui fait aller plus ou moins vite le moteur.

SAIDI & RIHANI

36

JIUN 2006

Commande par FPGA

5) Principe gnral de PWM Un modulateur PWM est en fait un compteur. On compare ce compteur une valeur correspondant au rapport cyclique dsir. Si le compteur est en dessous de cette valeur, on met la sortie du circuit 1, sinon on la met 0. Le temps que met le compteur reboucler donne la frquence du PWM. Gnralement, on pr-divise l'horloge systme par n pour aboutir la frquence PWM dsire. Pour un compteur 8 bits, la frquence PWM sera donc : f pwm = (1/100)* f/n Il existe plusieurs faons de raliser un modulateur SSPWM (variation de phase, random XOR, NCO, ...). Nous avons pris une approche simple et facile implmenter : on fera varier de faon alatoire le coefficient de pr-division de l'horloge ( n). Pour tre suffisamment souple, on donnera en paramtres notre modulateur les frquences minimum et maximum admissibles

SAIDI & RIHANI

37

JIUN 2006

Commande par FPGA

SAIDI & RIHANI

38

JIUN 2006

Commande par FPGA

Schema Electrique

SAIDI & RIHANI

39

JIUN 2006

Commande par FPGA

Fig1 : schema de circuit de commande base de FPGA

SAIDI & RIHANI

40

JIUN 2006

Commande par FPGA

Fig2 : typon de la face composent

Fig3 : typon de la face cuivre

SAIDI & RIHANI

41

JIUN 2006

Commande par FPGA

Fig3 : typon assembler

Fig4 : schema de circuit de puissance

SAIDI & RIHANI

42

JIUN 2006

Commande par FPGA

Fig5 : typon de la face composent

Fig6 : typon de la face cuivre

SAIDI & RIHANI

43

JIUN 2006

Commande par FPGA

Fig7 : typon assembl

Courbes de variation de rapport cyclique

RAPPORT CYCLIQUE : = 10%

SAIDI & RIHANI

44

JIUN 2006

Commande par FPGA

= 30 %

= 50 %

= 70 %

= 90 %

Liste des composants 29 Resistances


Quantit: 7 22 Rfrences R2, R4, R11-R14, R31 R5-R10, R15-R30 Value 1k 270

SAIDI & RIHANI

45

JIUN 2006

Commande par FPGA Quantit: 2 6 1 2 6 1 Rfrences AF1, AF2 BP1-BP6 J1 J2, J3 LED1-LED6 SW1 Value 7SEG-COM-AN-BLUE BUTTON DB9HM CONN-DIL40 LED-RED SW-SPST

1 Moteur
Quantit: 1 Rfrences M1 Value 12V

3 Resistances
Quantit: 2 1 Rfrences R1, R2 R3 Value 1k 270

3 Integrated Circuits
Quantit: 1 2 Rfrences U1 U2, U3 Value ULN2003A OPTOCOUPLER-NPN

4 Transistors
Quantit: 4 Rfrences Q1-Q4 Value IRZ640

4 Diodes
Quantit: 4 Quantit: 1 1 1 1 Rfrences D1-D4 Rfrences B1 J1 J2 LED1 Value 1N4007 Value BORNIER2 DB9HF CONN-SIL6 LED-RED

SAIDI & RIHANI

46

JIUN 2006

Commande par FPGA

Brochage de FPGA

VCC I12 P01 P02 P03 P04 P06 P07 P08 P09 P13 P14 P15 P16 P18 P19 P20 P44 P46 P49 P51 P55 P57 P71 P69 P66 P64 P62 P60

VCC CRYSTALE aDE 1IER AFFICHEUR ADE 2EME AFFICHEUR B DE 1IER AFFICEUR BDE 2EME AFFICHEUR CDE 1IER AFFICHEUR CDE 2EME AFFICHEUR DDE 1IER AFFICHEUR DDE 2EME AFFICHEUR EDE 1IER AFFICHEUR EDE 2EME AFFICHEUR FDE 1IER AFFICHEUR FDE 2EME AFFICHEUR GDE 1IER AFFICHEUR GDE 2EME AFFICHEUR SWETCHEUR LED 1ET BOBINE 1 LED 2 ET BOBINE 2 LED 3 ET BOBINE 3 LED 4 ET BOBINE 4 LED 5 ET SENS (+ MCC) LED 6 ET SENS (-) MCC BOUTTON 1 BOUTTON 2 BOUTTON 3 BOUTTON 4 BOUTTON5 BOUTTON 6

ENREE ENTREE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE ENTREE SORTIE SORTIE SORTIE SORTIE SORTIE SORTIE ENTREE ENTREE ENTREE ENTREE ENTREE ENTREE

SAIDI & RIHANI

47

JIUN 2006

Commande par FPGA

SAIDI & RIHANI

48

JIUN 2006

Commande par FPGA

FPGA : Fieled Programmable Gate Array VHDL : Vhsic Hardwere Description Langage VHSIC Very High Speed Integrated Circuit PLD: Programmable Logique Device ASIC: Application Specific Integrated Circuit EPROM: Erasable Programmable Read Only Memory EEPROM: Electrically EPROM SRAM: Statique Randon Access Memory CLB: Configurable Logique Bloc IOB: Input Output Bloc FF: Flip Flop HDL: Hardware Description Language IEEE: Institue of Electrical and Electronics Enginners CPLD: Complex Programmable Logique Device PROM: Programmable Read Only Memory

SAIDI & RIHANI

49

JIUN 2006