: boutarf youssef, boutouil hamza, elhallaoui ayoub et

26
Projet électronique FPGA #8 : Commande d’un moteur à CC – V2 FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr Réalisé par : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et LAMTIBBOU Adam Encadré par : M. CHAFIK, M. DIOURI et M. GHOMARI Ecole/Université: IGA Casablanca Année scolaire: 2014/2015 Sommaire 0.1 Rappels des cours 0.2 Introduction 0.3 Le circuit FGA 0.4 Fonctionnement du moteur à CC 0.5 Applications des moteurs à courant continu 0.6 Modulation de largeur d’impulsion MLI ou PWM 0.7 Circuit de puissance L298N

Upload: others

Post on 18-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Réalisé par : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et LAMTIBBOUAdamEncadré par : M. CHAFIK, M. DIOURI et M. GHOMARIEcole/Université: IGA CasablancaAnnée scolaire: 2014/2015

Sommaire0.1 Rappels des cours0.2 Introduction0.3 Le circuit FGA0.4 Fonctionnement du moteur à CC0.5 Applications des moteurs à courant continu0.6 Modulation de largeur d’impulsion MLI ou PWM0.7 Circuit de puissance L298N

Page 2: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

0.7.1 Schéma de câblage Arduino & L298N0.8 Programmation en VHDL sur Xilinx ISE

0.8.1 Caractéristiques0.9 Conclusion

0.9.1 Photos du projet1 Un petit commentaire de vous, un Grand encouragement pour nous 2 Téléchargement du projet

Rappels des coursMachines électriques cours et problèmesLes moteurs électriques pour mieux les piloter et les protégerLa machine à courant continuGénéralités sur les machines électriquesLes moteurs électriques

IntroductionL’évolution de l’industrie des circuits intégrés durant la dernière décennie a été tellementrapide qu’il est maintenant possible d’intégrer plusieurs systèmes complexes sur une seulepuce. Cette évolution vers des niveaux d’intégration de plus en plus élevés est motivée parles besoins de systèmes plus performants, légers, compacts et consommant un minimum depuissance. Dans de telles circonstances, la gestion de la complexité avec les outils d’aide à laconception traditionnels devient une tache pénible, coûteuse voire impossible, quand onconsidère les contraintes de mise en marché d’un produit.

Ce rapport présente le projet que nous avons réalisé encadré par nos professeurs et quiconsiste à commander un moteur à courant continu en variant sa vitesse. En conduisant lemoteur avec des impulsions courtes, ces impulsions varient dans le temps pour changer lavitesse du moteur donc plus les impulsions sont longues, plus les tours de moteur sontrapides, et vice versa. Le signal modulé en largeur d’impulsion récupéré à la sortie du circuit

Page 3: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

FPGA programmée en langage VHDL.

Dans ce rapport nous avons effectué l’étude théorique du moteur à courant continu et aussila modulation de largeur d’impulsion qui permet de générer un signal de rapport cycliquevariable afin de pouvoir contrôler et varier la vitesse du moteur en question. Pour ce faire,nous avons consacré trois thèmes à savoir :

Le circuit FPGA ( carte xilinx SPARTAN 3).La Modulation de largeur d’impulsion (PWM).Le Moteur à courant continu.

Plus tard dans ce rapport on traitera la partie commande du moteur, la présentation seradétaillée pour le circuit intégré spécialisé, la carte de commande et de puissance. Enfin, nousciterons le programme VHDL que nous avons pu développé et qui permet de générer lessignaux permettant de commander le moteur à courant continue avec variation de vitesse.

Le circuit FGALa plupart des grands FPGA modernes sont fondés sur des cellules SRAM aussi bien pour leroutage du circuit que pour les blocs logiques à interconnecter. Les FPGA (Field

Page 4: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Programmable Gate Arrays ou « réseaux logiques programmables ») est un circuit intégrécomposer des cellules programmables, chaque cellule est capable de réaliser une fonctiondésiré. L’avantage de ce genre de circuit est sa grande souplesse qui permet de les réutiliserà volonté dans des algorithmes différents en un temps très court. Le progrès de cestechnologies permet de faire des composants toujours plus rapides et à plus hauteintégration, ce qui permet de programmer des applications importantes.

Les FPGA sont utilisés dans diverses applications nécessitant de l’électronique numérique(télécommunications, aéronautique, transports…). Ils sont également utilisés pour leprototypage d’ASIC. Pour les FPGA sont des composants qu’on peut les reprogrammerentièrement par le langage VHDL ou Verilog .Ils ne possèdent pas un programme résidant, ilssont constitués de deux cellules de base: Les cellules d’entrées/sorties appelés IOB (inputoutput bloc), Les cellules logiques appelées CLB (configurable logic bloc). Ces différentescellules sont reliées entre elles par un réseau d’interconnexions configurable.

L’intérêt de la FPGA figure à sa simplicité en pratique qu’un microcontrôleur. VHDL est lesigle de VHSIC hardware description language ; VHSIC, de very-high-speed integrated

Page 5: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

circuits, une initiative de la Défense américaine dans les années 1980 visant la constructionde circuits intégrés très rapides. Le est un langage de description du matériel utilisé enélectronique. En tant que standard, il est indépendant du logiciel utilisé pour la compilation,la programmation des composants, la simulation, etc.

Il autorise plusieurs méthodologies de conception (comportemental, flot de données,structurel) tout en étant d’un très haut niveau d’abstraction en électronique (il estindépendant de la technologie utilisée : FPGA, CPLD, ASIC. Une description VHDL estcomposée de 2 parties indissociables : L’entité (ENTITY), elle définit les entrées et les sorties,L’architecture (ARCHITECTURE), elle contient les instructions VHDL permettant de réaliser lefonctionnement attendu.

Les FPGA sont généralement plus lents, plus chers à l’unité et consomment davantaged’énergie que leur équivalent en ASIC (Application Specific Integrated Circuit). Cependant, ilsont plusieurs avantages : Délai de mise sur le marché plus court, car ce sont des composantsstandards, temps de développement plus court, car on réutilise des fonctions de base et lareconfigurabilité autorise une validation préalable moins stricte, coût inférieur pour de

Page 6: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

petites séries (moins de 10 000 unités). Avec l’évolution technologique, cette quantité tend àaugmenter : en effet, le prix d’une puce est proportionnel à sa surface, qui diminue avec lafinesse de gravure, tandis que les coûts initiaux pour fabriquer un ASIC (conception, tests,masques de gravure) sont en forte augmentation.

Il est parfois possible de transformer directement un FPGA en une version ASIC plus rapide,moins chère et consommant moins (car les matrices de routage sont remplacées par unecouche de métallisation fixe). Parmi les fabricants de tels circuits programmables, on trouveAboundLogic, Achronix, Actel, Altera, Atmel, Cypress, Lattice Semiconductor, Nallatech,QuickLogic, SiliconBlue, Tabula Inc., TierLogic et Xilinx. D’autres sociétés sont probablementencore à l’état de développement initial et n’ont pas publiquement annoncé de produits. Lacarte dont on dispose dans le laboratoire électronique à l’IGA est Xilinx Spartan

Voici la description de ces éléments (liste non-exhaustive) :

•200K porte Xilinx FPGA avec XC3S200 500 opération + MHz (porte 400K et 1M versions

Page 7: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

disponibles).• port USB2 pour la configuration FPGA et les transferts de données à haut débit (en utilisantla connexion Adepte Software Suite).• (Batteries et / ou cheville alimenté par USB peut également être utilisé).• 16 Mo de Micron rapide PSDRAM et 4MB d’Intel StrataFlash ROM Flash.• Plate-forme Xilinx flash ROM que les magasins Configurations FPGA indéfiniment.• haute efficacité des alimentations à découpage (Bon pour les applications alimentées parbatterie).•scillateur 25MHz, 50MHz ,100MHz selon l’utilisation.• Connecteur pour 1/8 VGA haute résolution graphiques Écran LCD ou 16×2 affichagecaractère LCD.• acheminé 60 FPGA I / O à l’expansion connecteurs (une haute vitesse connecteur HiroseFX2 et quatre embases à 6 broches).• 8 LED, 4 chiffres affichage à sept segments, 4 boutons poussoirs, 8 interrupteurs àglissière.• Navires dans un étui de transport pratique en plastique (avec câble USB).

Page 8: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Fonctionnement du moteur à CCLe moteur à courant continu est constitué d’un circuit magnétique comportant une partie fixeappelée stator, une partie tournante appelée rotor et l’entrefer qui est l’espace entre lesdeux parties: L’inducteur (le stator) crée les champs tournant par un bobinage. Un circuitélectrique induit (rotor) subit les effets de ce champ magnétique. Le collecteur et les balaispermettent d’accéder au circuit rotorique.

Page 9: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Lorsque le bobinage d’un inducteur de moteur est alimenté par un courant continu, sur lemême principe qu’un moteur à aimant permanent (comme la figure ci dessous), il crée unchamp magnétique (flux d’excitation) de direction Nord-Sud. Une spire capable de tournersur un axe de rotation est placée dans le champ magnétique. De plus, les deux conducteursformant la spire sont chacun raccordés électriquement à un demi collecteur et alimentés encourant continu via deux balais frotteur. D’après la loi de Laplace (tout conducteur parcourupar un courant et placé dans un champ magnétique est soumis à une force), les conducteursde l’induit placés de part et d’autre de l’axe des balais (ligne neutre) sont soumis à desforces F égales mais de sens opposé en créant un couple moteur : l’induit se met à tourner.

Les avantages et inconvénients du moteur à courant continu sont repris ci-dessous :accompagné d’un variateur de vitesse électronique, il possède une large plage de variation

Page 10: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

(1 à 100 % de la plage), régulation précise du couple, son indépendance par rapport à lafréquence du réseau fait de lui un moteur à large champ d’application, peu robuste parrapport à la machine asynchrone, investissement important et maintenance coûteuse(entretien du collecteur et des balais.

Applications des moteurs à courant continuLes moteurs les plus utilisés actuellement sont les moteurs à excitation indépendantenotamment avec la commande par variateur. Autrefois on rencontrait beaucoup demoteurs shunts car ils ne nécessitaient qu’une source d’alimentation.Les moteurs série fréquemment utilisés sont les démarreurs automobiles pour leurgrand couple de démarrage.Les moteurs à courant continu sont en forte diminution à cause de l’inconvénient duSystème collecteur balais, et de l’évolution des technologies de variation de vitesse engrande puissance sur les moteurs asynchrones. Cependant les années 1990 ont vuapparaître des moteurs à aimant permanent, ces moteurs présentent l’avantage de lasimplicité du raccordement, et supprime le risque d’emballement. Ils restent à ce jourles moteurs à courant continu qui sont le plus utilisés(HI FI, multimédia, l’automobile).

Modulation de largeur d’impulsion MLI ou PWM

Page 11: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Le PWM (MLI) est un signal numérique, donc la tension peut prendre deux valeurs seulement.Le signal est carré. Le niveau bas correspond généralement à 0 Volt. La période est notée T ;la durée de l’impulsion (pour laquelle la tension est celle de l’état haut) est appelée th. Plusprécisément la modulation à Largeur d’impulsion « MLI » fournit un signal logiquerectangulaire.

Toute l’information réside dans le rapport cyclique, celui désignant la durée de l’état hautdurant une période T, la MLI fait varier le temps del’état haut (que l’on appellera th). On change ainsi le rapport cyclique (le rapport cycliques’exprime par th/T et peut varier de 0 à 1).

Ce signal rectangulaire, de fréquence 12 Hz, présente un rapport cyclique de 10%, ce quisignifie que le niveau électrique reste à l’état haut pendant 10% du temps total d’un cycle(un cycle – ou période – durant ici 1/12 de seconde). Sa valeur moyenne est faible, parrapport à l’amplitude maximale qu’il possède quand il est à l’état haut.

Le même signal rectangulaire de fréquence 12 Hz présente ici un rapport cyclique de 50%, cequi signifie que la durée pendant laquelle le signal reste à l’état haut, est identique à la duréependant laquelle il reste à l’état bas. Sa valeur moyenne est égale à la moitié de l’amplitudemaximale.

Page 12: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Le même signal rectangulaire de fréquence 12 Hz présente cette fois un rapport cyclique de90%, il resteplus longtemps à l’état haut qu’à l’état bas.

Circuit de puissance L298N

Le circuit L298 bénéficie d’une technologie lui permettant de dissiper 160 W (avec unealimentation de 46 V et 2 A par pont). Une alimentation séparée 5 V pour la partie contrôlelogique évite une dissipation trop importante. Elle est directement utilisable avec le 5 V duL297 ou tout autre circuit logique. Dans un but pratique, les noms des pattes des composants(du L298N et du L297) sont souvent identiques (sur les documentations) pour une meilleurecompréhension globale du montage ou de l’application. Le L298N se décline dans un boîtierMulti watt à 15 pins.

Dons note cas on a utilisé le drive Moteur pont H L298N une interface complète. Qui va nousfaciliter la liaison entre le moteur à courant continu et le circuit FPGA. Le circuit du moteurest basé sur le L298, qui est un double conducteur de pont complet conçu pour piloter des

Page 13: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

charges inductives telles que des relais, des solénoïdes, DC et moteurs pas à pas. Il vouspermet de conduire de deux Moteurs à courant continu, commande de la vitesse et de ladirection de chacun de façon indépendante.

Schéma de câblage Arduino & L298N

Page 14: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Programmation en VHDL sur Xilinx ISEISE (Integrated Synthesis Environment) Le logiciel Xilinx ISE est un outil de conception decircuit pour FPGA de Xilinx. Ce logiciel permet essentiellement d’effectuer les différentesétapes propres à la synthèse de circuits numériques sur FPGA. Il est alors possible d’en faire

Page 15: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

l’implémentation sur les différentes familles de puces fournies par Xilinx.

CaractéristiquesElles peuvent compiler leurs désignes.Réaliser une analyse du temps .Examiner le diagramme RTL (Register-transfer-level).Configuration et simulation du schéma avant de le réaliser.RTL: est une méthode de description des architectures microélectroniques.

Création du projet

Choisir le circuit XC3S400-FT256 correspondant à la FPGA dont nous disposon

Page 16: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Le code correspondant au cahier des charges sous Xilinx ISE

Page 17: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 18: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Simulation

Page 19: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

ConclusionAu terme de ce projet nous avons été amenés à faire une commande par le circuit Xilinx sousle langage VHDL, ce qui donne une polyvalence en termes de programmation et d’utilisationdes différents outils de commande numériques tels que les microcontrôleurs et les cartesélectroniques. Ce projet nous a été très utile à plusieurs niveaux :

La maîtrise du langage VHDL.Familiarisation avec la carte Xilinx.Nouvelles connaissances en termes de commande des MCC.Réalisation et familiarisation avec le circuit de puissance L298N.Utilisation de l’outil Simulink et de modélisation de MCC sur Matlab.

Pendant ce projet nous avons confronté plusieurs contraintes en particulier l’utilisation desvariables réelles sur SPARTAN3.

Page 20: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Photos du projet

Page 21: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 22: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 23: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 24: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 25: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

Page 26: : BOUTARF Youssef, BOUTOUIL Hamza, ELHALLAOUI Ayoub et

Projet électronique FPGA #8 : Commande d’un moteur à CC – V2

FPGA | Arduino | Matlab | Cours @ www.electronique-mixte.fr

************

Un petit commentaire de vous, unGrand encouragement pour nous

************

Téléchargement du projet************

Click to rate this post![Total: 0 Average: 0]