P. 1
rOBOT SUIVEUR DE LIGNE à FPGA Altera

rOBOT SUIVEUR DE LIGNE à FPGA Altera

5.0

|Views: 901|Likes:
Publié parH. Seo

More info:

Published by: H. Seo on Jul 24, 2011
Droits d'auteur :Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/31/2014

pdf

text

original

Rapport du mini projet

:

Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera

Réalisé par : S. J. M. E. H. S. EL O. Encadrées par : Pr. M. C.

Sommaire
INTRODUCTION …………………………………………………………………………page 4

1. ANALYSE FONCTIONNELLE .......................................................................................................... page 5 1.1. Expression fonctionnelle du besoin (LE BETACORNE) .............................................................page 6 1.2. GRAFCET ............................................................................................................................page 7 2. DEMARCHE, OUTILS ET MATERIELS UTILISES ............................................................................ page 8 2.1. Démarche de mise au point du programme ............................................................................page 9 2.2. Outils et matériels utilisés .................................................................................................... page 10 2.2.1 La carte FPGA ............................................................................................................. page 10 2.2.2 Langage utilisé : VHDL ............................................................................................... page 11 2.2.3 Logiciel : Xilinx. .......................................................................................................... page 11 3. REALISATION DU PROJET : ...................................................................................................... page 12 3.1. Le Programme .................................................................................................................... page 13 3.2. Test Bench et simulation ................................................................................................... page 16 3.4. Implémentation et essais ................................................................................................... page 18 CONCLUSION ............................................................................................................................... page 19 BIBLIOGRAPHIE ........................................................................................................................... page 20 PROGRAMMES
COMPLETS

......................................................................................................... Annexes

Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. Institut National des Postes et Télécommunications

2

débutant par une étude fonctionnelle et aboutissant aux essais pratiques tout en passant par des processus de programmation et de simulation. Ce rapport présentera les étapes et démarches suivies tout au long de la réalisation de notre projet. dans le sens où il permet aux élèves de développer leurs connaissances en apprenant de nouvelles techniques dans un contexte inspiré de celui existant en milieu professionnel. est sensé suivre cette ligne sans dérailler et s’arrêter à son extrémité. Notre mini projet consiste à commander un robot suiveur de ligne à l’aide d’une carte DE2 avec FPGA Altera programmée en VHDL. Ce projet nous a permit d’acquérir des connaissances relatives au monde de la robotique et à la conception d’un système autonome que nous prévoyons d’exploiter en réalisant d’autres projets aussi ambitieux et innovants. Institut National des Postes et Télécommunications 3 . Le robot. ayant 4 capteurs (photodiodes) détectant les limites du chemin préétabli. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.Introduction : Un mini projet en première année est très important.

Analyse Fonctionnelle Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. Institut National des Postes et Télécommunications 4 .

. Institut National des Postes et Télécommunications 5 . il répond à trois questions : .1.Sur quoi agit le produit ? Le produit agit sur le trajet qu’il doit parcourir en suivant la ligne jaune bordée en noir. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.1 Expression fonctionnelle du besoin : Diagramme Betacorne : Utilisateur Trajet Robot Suiveur de ligne Suivre un parcours préétabli de façon autonome Voici une manière simple de lire ce diagramme . .Dans quel but ? Dans le but de suivre un parcours préétabli de façon autonome.A qui le produit rend-il service ? Le produit rend service à l’utilisateur.

Dg : capteur devant gauche. nous avons essayé d’établir le GRAFCET suivant afin de prévoir tous les états possibles du fonctionnement du robot. Dd : capteur devant droit. Vd : vitesse de la roue droite. Vg : vitesse de la roue gauche.1. Ad : capteur arrière droit. Vd=0 Vg=0 0 Vd=1 Vg=1 1 Vd=1 Vg=0 2 Vd=0 Vg=1 3 Légende : Ag : capteur arrière gauche. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.2 GRAFCET : Pour faciliter l’écriture de notre programme. Institut National des Postes et Télécommunications 6 .

Outils Et Matériels utilisés Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. Institut National des Postes et Télécommunications 7 .Démarche.

Vérification réelle du fonctionnement. Implémentation Implémentation du programme validé en simulation sur l’FPGA De la carte DE2. Essai Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.1 Démarche de mise au point du programme : Afin d’écrire le programme qui rendra le robot autonome nous avons suivi la démarche suivante : Saisie du programme en langage VHDL grâce à Xilinx. Edition Compilation Traduction du langage VHDL en code machine (fait par le compilateur de Xilinx) Simulation Vérification du fonctionnement du programme: .établissement du test bench . Institut National des Postes et Télécommunications 8 .2.simulation avec le simulateur de Xilinx.

2. 240 kbits de RAM et 315 ports d'entrée sortie. d'une horloge à 50 MHz. Nous utilisons le kit de développement DE2 d'Altera . de connecteurs d'entrées et sorties logiques. présenté à l’image suivante : Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.1 La carte DE2 avec FPGA Altera: Le robot est commandé par une carte DE2 décrite comme suit : Le processeur et son environnement sont intégrés dans un circuit logique programmable (FPGA) Cyclone II 2C20 d'Altera qui comprend 18000 cellules d'éléments logiques (LE). Outils et matériels utilisés : 2. qui dispose d'afficheurs 7 segments à LED.2. de boutons poussoirs.2. Institut National des Postes et Télécommunications 9 .

2 XILINX : L'outil xilinx project navigator permet la synthèse du code vhdl (avec XST) et son implémentation (PAR).2. avant que la conception détaillée ne soit terminée. 2. Institut National des Postes et Télécommunications 10 .2. ASIC ou FPGA. En outre.2Langage adopté : VHDL : VHDL est un langage de description matériel destiné à représenter le comportement ainsi que l'architecture d’un système électronique numérique. Logiciel utilisé : ISE 9. les outils de conception assistée par ordinateur permettant de passer directement d'une description fonctionnelle en VHDL à un schéma en porte logique ont révolutionné les méthodes de conception des circuits numériques. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. Son nom complet est VHSIC Hardware Description Language. XST génère une netlist au format edif (ou similaire ngo) qui n'est autre que la structure au niveau composants (vue RTL).Cette netlist ainsi que le fichier de contrainte sert de base à l'outil de placement & routage (PAR).2.2. L'intérêt d'une telle description réside dans son caractère exécutable : une spécification décrite en VHDL peut être vérifiée par simulation.

Institut National des Postes et Télécommunications 11 .Réalisation du Projet Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.

Les entrées sorties du robot sont : Entrées : . L’architecture est composée de 3 « process » : Le premier sert à affecter à l’état actuel l’état final à chaque front montant de l’horloge.Ad.Vd. les 4 étapes du grafcet. . Vg : vitesses des roues du robot. Dg : capteurs devant et arrières du robot. . Institut National des Postes et Télécommunications 12 . Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. autrement dit. nous avons adopté lors de notre programmation une machine Mealy à quatre états.3.1 Le programme en VHDL : D’après le Grafcet déjà présenté. Sorties : . ou à lui affecter l’étape initiale s’il y a une remise à zéro.reset : entrée de remise à zéro.clk : entrée d'horloge. Ag. Dd.

Le second sert à affecter l’étape future selon l’état des capteurs. Institut National des Postes et Télécommunications 13 . Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.

Et le troisième sert à définir les actions à effectuer par le robot selon l’état définie. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. Institut National des Postes et Télécommunications 14 .

Institut National des Postes et Télécommunications 15 .2 Test Bench et Simulation : Après avoir synthétisé le programme nous sommes passées à la simulation en générant un test bench avec les séquences suivantes : Ci-dessous une capture de la simulation réalisée: Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.3.

Institut National des Postes et Télécommunications 16 . Cette image montre que le robot tourne à gauche avec sucès. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.3. et a été suivie par plusieurs essais pratiques.3 Implémentation et essais : La tâche d’implémentation est bien plus conséquente que la phase de synthèse. Elle a effectivement prit un temps important. C’est pourquoi nous avons veillé à valider le fonctionnement du système en simulation avant de lancer cette tâche.

Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.Ci-dessus le robot tourne à droite. Institut National des Postes et Télécommunications 17 . Le robot s’arrête effectivement au bout du chemin comme prévu.

en s’entrainant à la gestion des conflits de l’équipe et du stress des difficultés rencontrées. et ce grâce a l’encadrement précieux de notre professeur et à nos efforts et engagement.Conclusion : Commençant par l’analyse puis la conception et finissant par la réalisation notre projet a abouti au bon fonctionnement du robot. Institut National des Postes et Télécommunications 18 . Aussi nous avons développés des compétences qui nous serons utiles tout au long de notre cursus. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. La réalisation de ce mini-projet nous a beaucoup appris que ce soit sur le plan professionnel. ou sur le plan personnel. et même dans toute notre vie. par de nouveaux acquis en matière de programmation et conception.

. M. publié dans « Le 8e colloque CETSIS » Grenoble : France (2010). Institut National des Postes et Télécommunications 19 . Khallaayoune.com http://www.Manuscrit auteur. Webographie: www. .Bibliographie: .rennes. M.fr Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.Manuel des Tps en VHDL 2011. Khallaayoune. INPT.scribd.com www.Polycopié du cours de VHDL 2011.supelec.robotek. INPT.

Institut National des Postes et Télécommunications 20 .Annexes Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.

Ad. Vd.etape1. entity robot is Port ( Dg. elsif rising_edge(CLK) then etape_actu elle<=etape_finale.etape2. else etape_finale<= etape2.ALL. signal etape_finale.Ag. use IEEE.Ad: in STD_LOGIC. elsif ((Dd and Dg) ='1') then etape_finale<= etape0. end if. use IEEE.Dd.Programme VHDL : library IEEE. Institut National des Postes et Télécommunications 21 . clk. else etape_finale<= etape1.ALL. end if.reset : in STD_LOGIC. when etape2 => if (Dg='0' and Dd='0' and Ag='0' and Ad='0') then etape_finale<= etape1.Vg : out STD_LOGIC).all.etape_actuelle : etape. end if. end process. ---.RESET. use IEEE. else case etape_actuelle is when etape0 => if (Dg= '0'and Dd= '0' and Ag='0' and Ad= '0') then etape_finale<= etape1. elsif ((Dd and Dg) ='1') then etape_finale<= etape0.Ag.Dd.STD_LOGIC_UNSIGNED.any Xilinx primitives in this code. --library UNISIM.STD_LOGIC_1164. else etape_finale<= etape0. elsif (Dg='0' and Dd='0' and Ag='0' and Ad='1') then etape_finale<= etape3.etape_actuelle) begin if reset='1' then etape_finale<=etape0. when etape1 => if (Dg= '0' and Dd='0' and Ag='1' and Ad ='0') then etape_finale<= etape2. process (Dg. end robot.VComponents. end if.Uncomment the following library declaration if instantiating ---. --use UNISIM.etape3). Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. begin process(reset.STD_LOGIC_ARITH. clk) begin if RESET='1' then etape_actuelle<=etape0. architecture Behavioral of robot is type etape is (etape0.ALL.

numeric_std. Test Bench : LIBRARY ieee.all. USE ieee. Institut National des Postes et Télécommunications 22 .when etape3 => if (Dd='0' and Dg='0' and Ag='0' and Ad='0') then etape_finale<= etape1. end process. USE ieee. end Behavioral.VG<='0'. END COMPONENT.Component Declaration for the Unit Under Test (UUT) COMPONENT robot PORT( Dg : IN std_logic. Dd : IN std_logic.ALL.std_logic_1164. else etape_finale<= etape3. Ag : IN std_logic. when etape2=> Vd<='1'. elsif ((Dd and Dg) ='1') then etape_finale<= etape0.std_logic_unsigned. end if. Ad : IN std_logic.ALL. when etape1=> Vd<='1'.Vg<='0'. clk : IN std_logic. reset : IN std_logic. --Inputs SIGNAL Dg : std_logic := '0'. ENTITY tb_robot_vhd IS END tb_robot_vhd. process (etape_actuelle) begin case etape_actuelle is when etape0=> Vd<='0'. end case.Vg<='1'.VG<='1'. end case. Vd : OUT std_logic. USE ieee. when etape3=> VD<='0'. Vg : OUT std_logic ). end if. ARCHITECTURE behavior OF tb_robot_vhd IS -. when others => etape_finale<=etape0. end process. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera.

'1' after 50 ns. -. Ag => Ag. Vg => Vg ).Place stimulus here -.Wait 100 ns for global reset to finish -. -. Vd => Vd. Dd => Dd. Mini projet : Commande d’un Robot à l’aide d’une carte DE2 avec FPGA Altera. clk => clk.'0' after 100 ns. BEGIN -. wait for 20 ns. SIGNAL Ag : std_logic := '0'. --Outputs SIGNAL Vd : std_logic.wait for 10000 ns. Ad <='0'. Dg <= '0'. clk<='1'. Institut National des Postes et Télécommunications 23 . end process. SIGNAL clk : std_logic := '0'. wait for 20 ns. Ag <= '0'. reset => reset. Dd <= '0'. -. SIGNAL Ad : std_logic := '0'.'0' after 100ns. Ad => Ad.will wait forever END. SIGNAL Vg : std_logic. tb : PROCESS BEGIN clk<='0'.wait.'0' after 300 ns.SIGNAL Dd : std_logic := '0'. '1' after 250 ns.Instantiate the Unit Under Test (UUT) uut: robot PORT MAP( Dg => Dg. SIGNAL reset : std_logic := '0'. reset <='1' .

You're Reading a Free Preview

Télécharger
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->