TPTESTVHDL /05/2017. Commande PWM D un moteur

Documents pareils
Manipulations du laboratoire

Le langage VHDL. Eduardo Sanchez EPFL

SIN-FPGA DESCRIPTION PAR SCHEMA

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Algorithmique & programmation

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Enseignement secondaire technique

Arbres binaires de recherche

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

QUESTION 1 {2 points}

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

SYSTEME DE TELESURVEILLANCE VIDEO

Application 1- VBA : Test de comportements d'investissements

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Modules d automatismes simples

Génie Logiciel avec Ada. 4 février 2013

Notice d installation de la Centrale VIGIK DGM1

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

1. PRESENTATION DU PROJET

Examen Médian - 1 heure 30

Une carte pour vos projets

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Module EC2b Programmation et Automatisation Bâtiment

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

TRIGONOMETRIE Algorithme : mesure principale

//////////////////////////////////////////////////////////////////// Administration bases de données

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

COMMANDER la puissance par MODULATION COMMUNIQUER

Conférence sur les microcontroleurs.

CYLINDRE ET BÉQUILLE ÉLECTRONIQUES À BADGE Aperio E100 & C100

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Corrigé des TD 1 à 5

TP D AUTOMATISME TS2 CIRA (première partie)

Algorithmique des Systèmes Répartis Protocoles de Communications

Organigramme / Algorigramme Dossier élève 1 SI

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Présentation du PL/SQL

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Quoi de neuf en LabVIEW FPGA 2010?

RÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO

Ordonnancement temps réel

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Ordinateurs, Structure et Applications

epowerswitch 8XM+ Fiche technique

IPBX 02 : TP MISE EN OEUVRE RTC ET TOIP. Ce sujet comporte 4 pages de texte suivi du corrigé

Comprendre l industrie 4.0 et ses défis

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

L exclusion mutuelle distribuée

Configurer la supervision pour une base MS SQL Server Viadéis Services

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

La norme Midi et JavaSound

Cours Informatique Master STEP

Catalogue Catalogue IntelliSense

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

La carte à puce. Jean-Philippe Babau

MAC-TC: programmation d un plate forme DSP-FPGA

.NET - Classe de Log

VIII- Circuits séquentiels. Mémoires

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Bases de données avancées

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

L identification par radio fréquence principe et applications

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Problèmes liés à la concurrence

Solutions en auto-consommation

Préparer un état de l art

Astra Elite AM/3 Manuel d'installation

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

Systèmes d identification par radiofréquences industriels (RFID) RFID ICODE haute fréquence à 13,56 MHz avec interface EtherNet/IP

Concept de machine virtuelle

Twincat PLC Temperature Controller. Régulation de Température à l aide de TwinCAT PLC.

Cours de Génie Logiciel

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Bases de Données Avancées PL/SQL

Boîtier de contrôle et de commande avec EV 3/2 voies intégrée

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

ID 15 l alternative intelligente au système de code à barres. Le système d identification ID 15 de Rexroth

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Tout sur l USB L USB (Universal Serial Bus) a été élaboré en 1996 par Intel, Compaq,Digital,IBM,Microsoft,NEC et NorthTelec (USB 1.0).

LA MESURE INDUSTRIELLE

NUGELEC. NOTICE D'UTILISATION DU B.A.A.S. du type Ma - STI / MaME - STI. pages. 1 introduction 2. 2 encombrement 3 fixation

ACTIVITÉ DE PROGRAMMATION

Le bus USB. I) Introduction : II) Architecture du bus USB :

GPA770 Microélectronique appliquée Exercices série A

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

TP Contraintes - Triggers

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Algorithmique et programmation : les bases (VBA) Corrigé

Transcription:

Commande PWM D un moteur 1

Commande PWM d un moteur 1) But La modulation de largeur d impulsion permet de faire varier la vitesse d un moteur. On souhaite Réaliser grâce à un composant programmable du type FPGA une modulation de largeur d impulsion MLI ou PWM (pulse width modulation). La forme de l onde sera très simple et non optimisée pour réduire le taux d harmonique 2) Objectifs L étudiant devra être capable : - D élaborer un programme en langage VHDL afin de permettre une commande en PWM d un moteur. - De mettre en œuvre les dispositifs de test 3) Pré-requis - Cours sur le langage VHDL. 4) Schéma de câblage Vivado Câble USB FPGA ZYNQ Micro-usb host Carte ZYBO MCC + capteur M +9V Module PMOD HB5 2

5) Questions préliminaires (analyse fonctionnelle) TPTESTVHDL2017 06/05/2017 5.1) Quel nom est donné au montage permettant la conversion de l énergie pour le moteur (module PMODHB5 document annexe 1). 5.2) Quel type de capteur de vitesse ou de position est utilisé (document annexe 1). Donnez le principe de ce type de capteur 5.2) Donnez document réponse N 1 le rôle des broches du module PMODHB5. On souhaite analyser en langage VHDL La logique de commande permettant de piloter le moteur (bloc commande_0). Le schéma est le suivant : Le package IP commande permet de piloter le moteur. L entrée en1 permet de valider la rotation et l entrée sens permet de choisir le sens de rotation du moteur. On a indiqué le gisement des broches pour les connecteurs d extension de la carte zybo. 3

Le package IP dectsens permet de détecter le sens de rotation du moteur grâce aux signaux SA et SB du capteur de vitesse. 6) Partie N 1 : Réalisation du package IP commande et dectsens 6.1) On donne document annexe N 2 le code VHDL du package IP commande. A partir de ce code complétez les chronogrammes document réponse N 2 6.2) On donne document annexe N 3 le code VHDL du package IP dectsens. A partir de ce code, déterminez la fonction numérique réalisée par ce code. 6.3) Réalisez le câblage de la carte zybo du moteur et du module PMODHB5. 6.3) Ouvrir le projet moteur.xpr et réalisez sous vivado le bloc design page précédente. Synthétisez et programmez la carte zybo. 6.4) Vérifiez le fonctionnement de l ensemble. La vitesse du moteur reste constante, la valeur moyenne imposée aux bornes du moteur est proche de 9V. On souhaiter moduler la valeur moyenne aux bornes du moteur en utilisant le principe de la modulation de largeur d impulsion. On suppose que les perturbations sur l axe du moteur peuvent être négligées. Le schéma ci-dessous nous permettre de réaliser la modulation de largeur d impulsion 4

Le bus consigne permet de régler la largeur de l impulsion du signal sortie du package IP commande. Consigne (1) (0) Rapport cyclique du signal sortie 0 0 0% 0 1 25% 1 0 50% 1 1 75% 7) Partie N 2 : Réalisation de la commande PWM Ouvrir le projet moteur1.xpr et le bloc design du projet. Le package IP resetmli est un compteur naturel 8bits qui possède une entrée de reset asynchrone active au 0 logique. La sortie SRAZ sera au 1 logique lorsque le compteur atteindra la valeur de 254 et 255. Dans tous les autres cas la sortie SRAZ sera au 0 logique. Le compteur déclenchera sur un front montant de l entrée clk. 7.1) Réalisez le package IP resetmli en fournissant le code VHDL de ce package. La dernière étape est la réalisation du package IP MLI. On donne le code partiel du code VHDL (document réponse N 3). La partie de code à compléter doit respecter les fonctionnalités suivantes : Le mot consigne sera formée de la façon suivante : 7(MSB) 6 5 4 3 2 1 0(LSB) consigne cons(1) cons(0) 0 0 0 0 0 0 La partie suivante du code doit permettre d élaborer la commande de la sortie outdec en respectant l algorithme suivant : 5

Si (contenu du compteur <= consigne) alors outcde 1 ; Sinon outcde 0 ; Fin si ; contenu du compteur contenu du compteur + 1 ; 7.2) En respectant les contraintes précédentes, complétez le document réponse N 3. Réalisez le package IP du bloc MLI. Validez par la simulation le package IP MLI 7.3) Complétez le bloc design (voir page N 4), synthétisez par la suite notre FPGA et programmez le. Vérifiez le bon fonctionnement du système. 7.4) Relevez les signaux de SA, SB, sortie en faisant varier la consigne, relevez le déphasage entre SA et SB lorsque l on change le sens de rotation du moteur. 6

Document réponse N 1 Nom de la broche Rôle DIR EN SA SB M+ M- 7

Document réponse N 2 cdesens t sens 1 enable etatcde 0 cde senable 8

Document réponse N 3 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.std_logic_unsigned.all; --use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.Numeric_std.all; entity MLI is Port ( finmli : in STD_LOGIC; RAZ: in STD_LOGIC; clk : in STD_LOGIC; cons : in STD_LOGIC_VECTOR(1 downto 0); outcde : out STD_LOGIC); end MLI; architecture Behavioral of MLI is signal consigne : STD_LOGIC_VECTOR(7 downto 0); begin mli : process(clk,finmli,raz) variable comptage : integer range 0 to 255; begin if(raz='0') then comptage:=0;outcde<='0'; elsif(finmli='1') then comptage:=0;outcde<='0'; elsif (clk'event and clk='1') then end if; end process mli; end Behavioral; 9

Document annexe N 1 10

11

12

13

14

Document annexe N 2 Commande.vhd library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.std_logic_unsigned.all; use IEEE.Numeric_std.all; entity commande is Port ( cde : in STD_LOGIC; cdesens : in STD_LOGIC; enable : in STD_LOGIC; senable : out STD_LOGIC; sens : out STD_LOGIC); end commande; architecture Behavioral of commande is signal etatsens: bit; signal etatcde: bit; begin commande : process(cdesens,enable) begin if (cdesens'event and cdesens='1') then if (etatsens='0') then etatsens<='1'; else etatsens<='0'; sens<='0'; end if; end if; if (enable'event and enable='1') then if (etatcde='0') then etatcde<='1'; else etatcde<='0'; end if; end if; end process commande; senable<='1' when ((etatcde='1') and (cde='1')) else '0'; end Behavioral; sens<='1'; 15

Document annexe N 3 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.std_logic_unsigned.all; use IEEE.Numeric_std.all; entity detcsens is Port ( INSA : in STD_LOGIC; INSB : in STD_LOGIC; detsens : out STD_LOGIC); end detcsens; architecture Behavioral of detcsens is begin commande : process(insa) begin if (INSA'event and INSA='1') then if (INSB='0') then detsens<='1'; dectsens.vhd else detsens<='0'; end if; end if; end process commande; end Behavioral; 16

17

18