rappt

download rappt

of 59

Transcript of rappt

  • 7/31/2019 rappt

    1/59

    Lecteur code-barres

    Rapport Final

    prsent

    Dr. Youness Krouti

    par

    quipe 01 Les Polytechniciens 01

    matricule nom signature

    BENM 06798 BEN SAOUD Mouad

    HALT 08235 HALFI Toufik

    OUGA 07100 OUGADDOUM Amine

    SAIZ 08174 SAISSI EL HASSANI Zakaria

    SEFH 07945 SEFRAOUI hamzaSERA 08243 SERBOUT Amel

    Institut Polytechnique Priv de Casablanca10 Juin 2011

  • 7/31/2019 rappt

    2/59

    Historique des versions

    version date description 0.1 02 Mars 2011 Cration du fichier0.2 05 Mars 2011 Dveloppement du fichier0.3 07 Mars 2011 Finalisation du fichier

  • 7/31/2019 rappt

    3/59

    Table des matires

    Table des figures ii

    Liste des tableaux iii

    I Rapport dtape I : Dfinition 1

    1 Introduction 2

    2 Description 3

    3 Objectifs 5

    4 Cahier des charges 6

    II Rapport dtape II : Modlisation 9

    5 Conceptualisation 105.1 Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    5.1.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105.1.2 Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . 10

    5.2 Schma Fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.2.1 Le laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.2.2 Le module lectrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.2.3 Le module informatique . . . . . . . . . . . . . . . . . . . . . . . . . 115.2.4 La ralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    6 Modlisation 126.1 Alimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126.2 Le laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126.3 Le dtecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126.4 Convertisseur courant/tension . . . . . . . . . . . . . . . . . . . . . . . . . . 136.5 Le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    i

  • 7/31/2019 rappt

    4/59

    TABLE DES MATIRES ii

    6.6 Lacquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.7 Filtrage numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.8 Dcodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146.9 Analyse et affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    7 Identification 197.1 Les expriences effectues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    III Rapport dtape III :Simulation 24

    8 Simulateur 258.1 Linterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258.2 Schma en block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    9 Simulation 299.1 La fonction Gaussian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.2 Le signal dentre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.3 La convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339.4 Le signal avant le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349.5 Le signal aprs le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349.6 Le comparateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    10 Validation 38

    IV Rapport final : Realisation 41

    11 Optimisation 4211.1 Performances atteintes par le prototype . . . . . . . . . . . . . . . . . . . . 4211.2 Satisfaction du cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . 42

    12 Ralisation 4312.1 Description du prototype ralis . . . . . . . . . . . . . . . . . . . . . . . . 4312.2 Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    13 Tests 4413.1 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.2 Dcodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    14 Conclusion 52

  • 7/31/2019 rappt

    5/59

    Table des figures

    1.1 Code Barre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2.1 Schma Fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    3.1 Les objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    4.1 Schma des contraintes gometriques . . . . . . . . . . . . . . . . . . . . . . 8

    5.1 Schma Fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    6.1 Filtre 2me ordre passbas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136.2 Le dcodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    7.1 Schma de Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.2 Photo de Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.3 Tension du laser en fonction du courant . . . . . . . . . . . . . . . . . . . . . 217.4 Lamplificateur utilis pour la ralisation du circuit TL082 . . . . . . . . . 22

    8.1 Linterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.2 Schma en blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.3 Le signal final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    9.1 La fonction Gaussian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.2 Graphe de la Gaussian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.3 Signal dentre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.4 Graphe de signal dentre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339.5 La convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    9.6 Graphe de la convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359.7 Les blocks avant le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359.8 Le signal avant le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359.9 Le signal aprs le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369.10 Le graphe aprs le filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369.11 Les blocks de comparateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379.12 Le signal aprs la comparaison . . . . . . . . . . . . . . . . . . . . . . . . . 37

    iii

  • 7/31/2019 rappt

    6/59

    TABLE DES FIGURES iv

    10.1 Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3810.2 Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3910.3 Le signal sur loscilloscope du circuit . . . . . . . . . . . . . . . . . . . . . . 39

    13.1 circuit final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.2 Prototype 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4513.3 Prototype 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4613.4 Code bare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4713.5 Signal de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4813.6 Signal Obtenue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

  • 7/31/2019 rappt

    7/59

    Liste des tableaux

    4.1 Tableau des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.2 Contraintes gomtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.3 Tableau des Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    7.1 Tension du Laser en fonction du courant . . . . . . . . . . . . . . . . . . . . 207.2 Courant de la photodiode en fonction de la tension amplifie de la sortie . . 21

    v

  • 7/31/2019 rappt

    8/59

    Premire partie

    Rapport dtape I : Dfinition

    1

  • 7/31/2019 rappt

    9/59

    Chapitre 1

    Introduction

    Aujourdhui, la traabilit est plus quune obligation pour toute socit produisant ouvhiculant des produits. Afin dapporter un service au client, il est essentiel dobtenir unetrace sur la fabrication et les dplacements physiques dun produit.Le code barres est charg de renseigner des formulaires informatiques permettant de sto-cker, manipuler, communiquer et exploiter les informations collectes plus efficacement, sasouplesse permet daccepter des dimensions variables, des lectures par diffrents types delecteurs et une information utile quelque soit lorientation du code.

    Figure 1.1 Code Barre

    Le code barres ou code barre, est aussi la reprsentation numrique ou alphanumriquedune information sous forme dun symbole constitu de plusieurs barres et espaces dont lespaisseurs varient en fonction du type de code, cest la solution technique la plus utilisepour acqurir automatiquement une information, il reprsente la codification graphique decelle-ci.Daprs une tude sommaire, il apparat que chaque aspect de notre projet reprsente un reldfis tant donns les difficults observes.

    2

  • 7/31/2019 rappt

    10/59

    Chapitre 2

    Description

    La conception dun prototype de lecteur de code barres peut se faire de diffrentesmanires selon les moyens mis disposition. Certains choix soffrent nous quant au choixdes techniques et technologies compatibles avec le matriel. Daprs quelques recherches quiconcernent notre projet, nous prsentons quelque difficult que nous pourrions rencontrer :

    les problmes thoriques : Collecter les informations ncessaires lies au code-barres travers des diffrentes

    sources. Pour certaines applications, une technologie de collecte de donnes devrait suffire, mais

    pour la plupart dentre elles, une combinaison de plusieurs technologies est la meilleuresolution.

    Les problmes techniques savoir :

    Choix des composantes lectriques ncessaires et identifier les liens entre elles. Quelles sont les conditions de travail de ce lecteur le lecteur code-barres, convient il

    lenvironnement dutilisation (robustesse, solidit et longueur du cble, rsistance leau, la poussire et aux vibrations, lumire ambiante...).

    Modlisation du diamtre du faisceau (celui-ci doit tre infrieur la largeur de la pluspetite barre ainsi que du plus petit espace blanc ou noir entre deux barres successives.).

    Le lecteur, pourra-t-il rcuprer de linformation diffrentes distance Le danger du lutilisation du laser. Le type de balayage quivalent. les erreurs au niveau de lecture. les fonctions et logiciels utilis. Influence de lclairage ambiant. Puissance ncessaire.Le projet comporte un systme de commande charg de balayer le code barre et dali-

    menter le laser qui met un faisceau corrig par une lentille. Le balayage doit tre apte transmettre une bonne information, quelque soit lenvironnement ambiant. Linformation estdtecte partir de la photodiode qui est filtre, chantillonne et ensuite filtre une deuximefois puis dcode. Linformation numrique sera traite puis compare aux lments de notrebase de donnes et enfin affiche sous la forme (nom, prix).

    3

  • 7/31/2019 rappt

    11/59

    CHAPITRE 2. DESCRIPTION 4

    Figure 2.1 Schma Fonctionnel

    Ce traitement est schmatis dans la figure 2.1.

  • 7/31/2019 rappt

    12/59

    Chapitre 3

    Objectifs

    Lobjectif de ce projet est de dvelopper un simulateur de lecteur de codes-barres, conce-voir puis raliser un prototype oprationnel de ce lecteur, capable de lire 25 items dans undlai de 5min comportant le nom et le prix de larticle, et ce au moyen du matriel fournis cet effet.Pour raliser notre premier prototype on a essay de dterminer des objectifs atteindre etqui sont rpartis en trois parties : Communication, Systme et Utilisateur.Dans la partie communication on va essayer dattirer lattention du client par le design et laprcision de lecture.Pour le module de systme nous allons raliser un prototype qui doit tre efficace, et unsimulateur fiable et rapide afin de raliser notre projet.Et dans la dernire partie on doit rduire le cot de ce lecteur et le rendre simple manipuler.

    Figure 3.1 Les objectifs

    5

  • 7/31/2019 rappt

    13/59

    Chapitre 4

    Cahier des charges

    Notre cahier des charges est rparti sur quatre tableaux :Le prototype tudi, doit comporter quelques critres afin daboutir un fonctionnementfavorable. Ces critres sont mentionns et pondrs dans le tableau 4.1 .

    La ralisation de cet objet ncessite le matriel qui figure dans le tableau 4.2 disponiblesur le march. Le LEGO MINDSTORMES nous permettra dassembler le laser et les com-posantes du circuit utilises. Le miroir aura comme but de rflchir la lumire du laser sur laphotodiode. Le pointeur laser sera positionn de telle sorte quil nous permette de rcuprerle code barre.

    Le laser doit faire un balayage de plus ou moins 10 pour dlimiter la longueur de lecture.La position de la zone de lecture est aussi requise, celle-ci ne doit pas dpasser les 10 centi-mtres. Une ouverture de 20cmX20cm est ncessaire pour la lecture du code barre.

    Le laser doit commencer la lecture suivant une orientation bien prcise (de gauche droiteou de droite gauche).Tous ces indices sont disponibles dans le tableau des contraintes gomtriques.

    Matriels livrs -LEGO MINDSTORMES-Miroirs premire surface

    -Pointeur Laser

    -Photo-dtecteur BPW-34Matriels autoris -Ordinateur portable-ADC 2 canaux

    -Micro-contrleur-Plaquette de montage

    -Composantes lectroniques-2 hauts-parleurs

    Table 4.1 Tableau des ressources

    6

  • 7/31/2019 rappt

    14/59

    CHAPITRE 4. CAHIER DES CHARGES 7

    Contraintes gomtriques - Aucune lumire mise hors dunchamp de vue de 15.- Lecteur sous une table, dgage-ment 60cm.- Ouverture de 20cm x 20cm.- Code-barres :Plac une distance dau plus 10cm du lecteur.Dans le plan de la table + ou -

    10

    .Orientation du code dans leplan(arbitraire).

    Table 4.2 Contraintes gomtriques

    Dates Travaux realiserlundi 07 Mars Rapport dtape1lundi 21 mars Rapport dtape2lundi 11 avril Rapport dtape3Samedi 30 avril Dmonstration du simulateurSamedi 21 mai Dmonstration du prototypeLundi 23 mai Rapport finalSamedi 04 juin Prsentation orale

    Table 4.3 Tableau des Dates

    Ce tableau comporte les diffrentes dates essentielles marquant le cheminement dcisif denotre projet.

  • 7/31/2019 rappt

    15/59

    CHAPITRE 4. CAHIER DES CHARGES 8

    Figure 4.1 Schma des contraintes gometriquesLe lecteur doit tre en mesure de retransmettre linformation. Dans cette optique, nous

    avons tent dnumrer les diffrentes contraintes prendre en considration pour saralisation. Le champ de vue du lecteur variant entre -15 et 15degrs doit tre protg

    contre la lumire ambiente; pour cela nous allons dimmensionner une ouverture de20cmx20cm. Le code barres rcuprer doit tre plac une distance dau plus 10cm dulecteur, il doit galement respecter par rapport son plan une inclinaison de +ou- 10degrs.

    Lorientation du code sera trate numriquement. Les contraintes prcites sontconceptualises dans la figure 4.1

  • 7/31/2019 rappt

    16/59

    Deuxime partie

    Rapport dtape II : Modlisation

    9

  • 7/31/2019 rappt

    17/59

    Chapitre 5

    Conceptualisation

    5.1 Laser

    5.1.1 Dfinition

    Dispositif qui amplifie la lumire et la rassemble en un troit faisceau, dit cohrent, oondes et photons associs se propagent en phase, au lieu dtre arbitrairement distribus.Cette proprit rend la lumire laser extrmement directionnelle et dune grande puretspectrale. Le mot laser est lacronyme de langlais Light Amplification by Stimulated Emissionof Radiation (" amplification de la lumire par mission stimule de radiations ). Les laserscouvrent aujourdhui toute la gamme des rayonnements lectromagntiques, des rayons X etultraviolets aux ondes infrarouges et micromtriques.

    5.1.2 Principe de fonctionnement

    Le laser consiste en un milieu amplificateur plac dans une cavit rsonante qui fournitun rayonnement dondes cohrentes et monochromatiques par mission stimule. La cavitpermet, en effet, de rflchir au sein du milieu les photons mis, de manire ce quils pro-voquent leur tour une mission stimule (production de photons de mme frquence, demme phase et de mme direction de propagation que ceux du rayonnement stimulateur).La longueur donde dmission doit correspondre un mode propre de la cavit (rsonateur)pour que puisse sy installer un systme dondes stationnaires. Le gain de lensemble milieuamplificateur-cavit doit tre suprieur ses pertes (dues entre autres aux rflexions). Lex-citation ou pompage sobtient notamment grace des photons dnergie adquate (pompageoptique du Kastler), par des courants ou dcharges lectriques (cas entre autres des diodeslaser), ou par des ractions chimiques. Le rendement dun laser, rapport de la puissance op-tique dlivrable sur la puissance fournie lamplificateur est de lordre de 0,01 30% (50%dans le meilleur des cas). Les lasers impulsion font intervenir plusieurs modes qui interfrent(battements).

    10

  • 7/31/2019 rappt

    18/59

    CHAPITRE 5. CONCEPTUALISATION 11

    5.2 Schma Fonctionnel

    Figure 5.1 Schma Fonctionnel

    5.2.1 Le laser

    Dans un premier temps, un systme de commande sera charg de garantir lalimentationdu laser grce un gnrateur de courant continu, il derva galement tre programm poureffectuer un balayage prcis du code barres.

    5.2.2 Le module lectrique

    La dtection qui est une partie dterminante se fera laide dun miroir qui rflchira lerayon rflchi par le laser et le code barres sur la photodiode. La photodiode nous fournisun courant que lon transforme en tension ; le signal de la tension doit par la suite tre filtrde faon liminer les frquences (longueurs donde) non dsires.

    5.2.3 Le module informatique

    Le signal (analogique) sera inject dans la carte son de notre ordinateur qui nous servirade convertisseur analogique/numrique. Nous allons programm un chantillonneur puis desfiltres numriques selon les frquences dsires. Aprs la synchronisation du signal vient ledcodage, il sera effectu grce un programme informatique adquat transformant le signal

    numrique en code UPC-A.

    5.2.4 La ralisation

    Finalement, un programme sera amen comparer le code ceux des items prsents dansnotre base de donnes, une fois trouv il devra lafficher.

  • 7/31/2019 rappt

    19/59

  • 7/31/2019 rappt

    20/59

    CHAPITRE 6. MODLISATION 13

    6.4 Convertisseur courant/tension

    Le convertisseur joue un rle majeur dans un circuit parce quil permet de convertir uneintensit une tension laide dune rsistance dont la valeur est 33 kohm

    6.5 Le filtrage

    Afin damliorer la qualit du signal la sortie, lutilisation de filtres permettant llimi-

    nation de toutes perturbations extrieures et interfrences causes par la lumire ambianteou autre est ncessaire. On a choisi un filtre dordre 2 pour clarifier les signaux de hautesfrquences. On va dduire les valeurs des composantes de ce filtre (Figure6.1).

    Figure 6.1 Filtre 2me ordre passbas

    H(f) =vs

    ve=

    1

    1 +j[R2(C1 + C2) + R3C2] R2R3C1C2 2(Fonction de transfert)

    On prend R2=R3; C1=C2Pour un filtre de premier ordre :

    H(f) = vevs1

    = 11+jR1C1

    Fonction de transfertH(f) = ve

    vs1= 1

    1+j2.fR1C1= 1

    1+jf

    fc

    alors : f c = 12.R1C1

    cause des faibles frquences on

    a choisi une frquence de coupure fc=40Hzalors : f c = 1

    2.fR1C1= 1

    2.40.C1>= 84.7kohm alors : R2 = R3 = 100kohmetC1 = C2 = 47nF

  • 7/31/2019 rappt

    21/59

    CHAPITRE 6. MODLISATION 14

    6.6 Lacquisition

    Grce au signal analogique obtenu qui est Vs et quon a branch avec la carte son, onobtient un signal numrique laide dun logiciel tel que Matlab.

    6.7 Filtrage numrique

    Le logiciel Matlab permet de filtrer le signal numrique et donne la signification binaire, laide dun crteur qui contient deux comparateurs, dans le but davoir les amplitudesexactes.

    6.8 Dcodage

    Fait de dcomposer les instructions complexes en instructions lmentaires dans une puceCISC. Transcrire des informations codes de manire leur redonner leur forme dorigine.

    Code C++ .Le code C++ sera amener assurer les tches suivantes :

    1. Prendre comme argument un vecteur de taille 95.

    2. Eliminer les 3 premiers bits, les 5 bits du milieu et les 3 derniers bits.

    3. Correspondre a chaque 7 bits un chiffre dcimale.

    4. Confirmer si cest un code de type UPC-A ou pas.

  • 7/31/2019 rappt

    22/59

    CHAPITRE 6. MODLISATION 15

    Figure 6.2 Le dcodage

    5. Si le code et du type UPC-A, chercher dans la base de donnes larticle correspondant.

    6. Affichage des informations de larticle.

  • 7/31/2019 rappt

    23/59

    CHAPITRE 6. MODLISATION 16

    Code affect ces tches est :

    \\

    \#include \\\#include \\

    \#include \\

    \#include \\

    using namespace std;\\

    int main()\{\\

    string chaine;\\

    ifstream fichier("Lecture de code barre.txt",ios::in); \\

    if(fichier)\{ \\

    getline(fichier,chaine);\\

    \}else\\cerr

  • 7/31/2019 rappt

    24/59

    CHAPITRE 6. MODLISATION 17

    tableau2[i]=0;\\

    break;\\

    case 11001:\\

    tableau2[i]=1;\\

    break;\\

    case 10011:\\

    tableau2[i]=2;\\

    break;\\

    case 111101:\\

    tableau2[i]=3;\\

    break;\\

    case 100011:\\

    tableau2[i]=4;\\

    break;\\case 110001:\\

    tableau2[i]=5;\\

    break;\\

    case 101111:\\

    tableau2[i]=6;\\

    break;\\

    case 111011:\\

    tableau2[i]=7;\\

    break;\\

    case 110111:\\

    tableau2[i]=8;\\break;\\

    case 1011:\\

    tableau2[i]=9;\\

    break;\\

    \}\\

    \}\\

    //affichage du tableau et comparaison avec les nombres au dessous du code barre.\\

    for (int n=0; n

  • 7/31/2019 rappt

    25/59

    CHAPITRE 6. MODLISATION 18

    lastNum+=tableau2[r];\\

    //retrouver le dernier Num\\

    lastNum=10-(lastNum\%10);\\

    if (lastNum==tableau2[11])\\

    cout

  • 7/31/2019 rappt

    26/59

    Chapitre 7

    Identification

    7.1 Les expriences effectuesGrce la famille (ampremtre, voltmtre, gnrateur de tension et oscilloscope) on a

    fait le montage suivant :

    Figure 7.1 Schma de Circuit

    Voici une photo de circuit :Suivant le montage prcdent on a relev les mesures suivantes :

    19

  • 7/31/2019 rappt

    27/59

    CHAPITRE 7. IDENTIFICATION 20

    Figure 7.2 Photo de Circuit

    V(laser) en volt I(laser) en milliampre0.5 0.061 0.51.5 1.351.8 2.192 4.652.5 14.23

    2.7 14.623 15.243.5 16.25Table 7.1 Tension du Laser en fonction du courant

    Aprs avoir fait le montage qui se trouve dans la figure 7.1, nous avons relev les tensionsdu laser en fonction de son propre courant.

    Ces mesures nous ont permis davoir une ide sur le fonctionnement du laser.Ces valeurs sont symbolises et traes au niveau du tableau 7.1 et de la figure 7.3.

  • 7/31/2019 rappt

    28/59

    CHAPITRE 7. IDENTIFICATION 21

    Figure 7.3 Tension du laser en fonction du courant

    V tension de sortie en volt I(photodiode) en milliampre5.9 0.00211.8 0.3513.3 0.4213.33 0.43

    13.45 0.44Table 7.2 Courant de la photodiode en fonction de la tension amplifiede la sortie

    Le tableau ci-dessus dcrit le comportement de la tension de sortie amplifie par rapport aucourant de sortie de la photodiode. Les mesures de la tension de sortie ont t releves

    grce la transimpdence incluse dans le montage fait au niveau du laboratoire.

  • 7/31/2019 rappt

    29/59

    CHAPITRE 7. IDENTIFICATION 22

    I = 15mA pour V = 3v. A laide de la figure 7.3, nous avons relev Iseuil en prolongeantla tangente de la courbe jusqu lintersection avec laxe des abscisses, nous avons trouvIseuil = 9mA. La tension quivalente la lumire ambiante est V=12.5mV Daprs larelation P = K (I Iseuil), nous avons trouv le facteur K=0.67 La puissance de sortiede notre laser estP = 4mW. Pour une tension dlivre au laser de 3V nous avons mesur uncourant de sortie de la photodiode Is=15mA.

    Figure 7.4 Lamplificateur utilis pour la ralisation du circuit TL082

    Un amplificateur oprationnel est un amplificateur diffrentiel et lectronique qui amplifieune diffrence de potentiel lectrique prsente ses entres. Il a t initialement conu poureffectuer des oprations mathmatiques dans les calculateurs analogiques, il permettait demodliser les oprations mathmatiques de base comme laddition, la soustraction, lintgra-tion, la drivation et dautres. Par la suite, lamplificateur oprationnel est utilis dans biendautres applications comme la commande de moteurs, la rgulation de tension, les sources decourants ou encore les oscillateurs. Pour cette tude, on considrera que lamplificateur op-rationnel utilis est Parfait. La notion damplificateur oprationnel parfait ou idal permet deraisonner sur le fonctionnement thorique de lamplificateur oprationnel en saffranchissant

    des phnomnes parasites et des limitations inhrents la ralit technologique des compo-sants. Les progrs raliss depuis les premiers AOP tendent, par lamlioration constante desperformances, se rapprocher du modle de lAOP parfait. Lamplificateur oprationnel par-fait possde une impdance dentre, un gain en mode diffrentiel, une vitesse de balayage etune bande passante infinies alors que son gain de mode commun et sa rsistance de sortie sontnuls. De plus, il na pas de tension doffset ni de courant de polarisation. En ralit le gaindiffrentiel dun amplificateur oprationnel variant fortement en fonction de la frquence, ilest courant de le considrer comme infini afin de simplifier les calculs. Il est aussi possible deconsidrer le gain dun amplificateur oprationnel comme tant celui dun intgrateur pur afin

  • 7/31/2019 rappt

    30/59

    CHAPITRE 7. IDENTIFICATION 23

    de se rapprocher du comportement rel de lamplificateur. Ces caractristiques traduisent lefait que lamplificateur oprationnel parfait ne perturbe pas le signal quil va amplifier et quesa tension de sortie dpend uniquement de la diffrence de tension entre ses deux entres.

  • 7/31/2019 rappt

    31/59

    Troisime partie

    Rapport dtape III :Simulation

    24

  • 7/31/2019 rappt

    32/59

    Chapitre 8

    Simulateur

    8.1 LinterfacePour raliser notre interface graphique nous avons cr le code suivant :

    function varargout = interface(varargin)\\

    gui-Singleton = 1;\\

    gui-State = struct(gui-Name, mfilename, ...\\

    gui-Singleton, gui-Singleton, ...\\

    gui-OpeningFcn, @interface-OpeningFcn, ...\\

    gui-OutputFcn, @interface-OutputFcn, ...\\

    gui-LayoutFcn, [] , ...\\gui-Callback, []);\\

    if nargin \&\& ischar(varargin{1})\\

    gui-State.gui-Callback = str2func(varargin{1});\\

    end\\

    if nargout\\

    [varargout{1:nargout}] = gui-mainfcn(gui-State, varargin{:});\\

    else\\

    gui-mainfcn(gui-State, varargin{:});\\

    end\\

    function interface-OpeningFcn(hObject, eventdata, handles, varargin)\\

    handles.output = hObject;\\

    25

  • 7/31/2019 rappt

    33/59

    CHAPITRE 8. SIMULATEUR 26

    guidata(hObject, handles);\\

    function varargout = interface-OutputFcn(hObject, eventdata, handles)\\

    varargout{1} = handles.output;\\

    function edit1-Callback(hObject, eventdata, handles)\\

    global ma-variable\\

    ma-variable=str2double(get(handles.edit1,string));\\

    setappdata(0,ma-variable,ma-variable);\\

    ma-variable\\

    function edit1-CreateFcn(hObject, eventdata, handles)\\

    if ispc isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackground

    set(hObject,BackgroundColor,white);\\

    end\\

    function pushbutton2-Callback(hObject, eventdata, handles)\\

    global v\\global ai\\

    global O\\

    ai=str2double(get(handles.edit1,string))\\

    base=Codebarre(ai)\\

    open_system(zakaria.mdl)\\

    assignin(base,v,base);\\

    sim(zakaria.mdl)\\

    stairs(Out,DisplayName,Out);figure(gcf)\\

    Celle-ci nous permet deffectuer le passage de la base dcimale la base binaire tout en

    nous informant sur lallure du signal obtenu.La figure7.5 montre linterface graphique obtenu.

    8.2 Schma en block

    Grce loutil simulink, nous avons pu introduire tout les paramtres ncessaires lamodlisation de notre projet, la figure(7.6) nous montre les diffrents blocks utiliser ceteffet.

  • 7/31/2019 rappt

    34/59

    CHAPITRE 8. SIMULATEUR 27

    Figure 8.1 Linterface

    Figure 8.2 Schma en blocks

  • 7/31/2019 rappt

    35/59

    CHAPITRE 8. SIMULATEUR 28

    Le scope nous montre ainsi le signal final du code-barre gnrer lentrer de linter-face(figure 7.7).

    Figure 8.3 Le signal final

  • 7/31/2019 rappt

    36/59

    Chapitre 9

    Simulation

    Nous optons pour le simulateur Simulink du logiciel Matlab, celui-ci comporte toutes lescaractristiques simulables mathmatiquement, nous nous restreindrons aux fonctionnalitsutiles de ce simulateur telles que :Le Scope; il sagit dune fentre de visualisation de signal; cette dernire nous permet devrifier si les composantes du modle introduit correspondent celles obtenues par exprience.

    9.1 La fonction Gaussian

    La fonction gaussienne modlise le signal du faisceau rflchi, son entre est une rampede pente gale 1, sa variance de 60Hz et sa moyenne de 20Hz. Voici les blocks qui ralisent

    ces tches :

    Figure 9.1 La fonction Gaussian

    Le Scope7 nous montre lallure de la gaussienne choisie (figure8.2) :

    29

  • 7/31/2019 rappt

    37/59

    CHAPITRE 9. SIMULATION 30

    Figure 9.2 Graphe de la Gaussian

    9.2 Le signal dentre

    Nous visualisons laide du Scope6 le signal dentre; Il sagit l de la tension de sortiede notre montage lectrique, cette tension est au pralable traite laide dun code Matlabpermettant la conversion Decimale vers code UPC-A (figure8.3)

    Figure 9.3 Signal dentre

    Voici le code Matlab qui nous permet de convertir le code dcimal en code UPC-A :

    function resultat = Codebarre(data)\\

    vecteur = zeros(84,1) ;\\

  • 7/31/2019 rappt

    38/59

    CHAPITRE 9. SIMULATION 31

    decimal=zeros(7,1);\\

    resultat = zeros(95,1);\\

    k=1;\\

    dec0=[0 ;0 ;0 ;1 ;1 ;0 ;1] ;dec10=[1 ;1 ;1 ;0 ;0 ;1 ;0] ;\\

    dec1=[0 ;0 ;1 ;1 ;0 ;0 ;1] ;dec11=[1 ;1 ;0 ;0 ;1 ;1 ;0] ;\\

    dec2=[0 ;0 ;1 ;0 ;0 ;1 ;1] ;dec12=[1 ;1 ;0 ;1 ;1 ;0 ;0] ;\\

    dec3=[0 ;1 ;1 ;1 ;1 ;0 ;1] ;dec13=[1 ;0 ;0 ;0 ;0 ;1 ;0] ;\\

    dec4=[0 ;1 ;0 ;0 ;0 ;1 ;1] ;dec14=[1 ;0 ;1 ;1 ;1 ;0 ;0] ;\\

    dec5=[0 ;1 ;1 ;0 ;0 ;0 ;1] ;dec15=[1 ;0 ;0 ;1 ;1 ;1 ;0] ;\\

    dec6=[0 ;1 ;0 ;1 ;1 ;1 ;1] ;dec16=[1 ;0 ;1 ;0 ;0 ;0 ;0] ;\\

    dec7=[0 ;1 ;1 ;1 ;0 ;1 ;1] ;dec17=[1 ;0 ;0 ;0 ;1 ;0 ;0] ;\\

    dec8=[0 ;1 ;1 ;0 ;1 ;1 ;1] ;dec18=[1 ;0 ;0 ;1 ;0 ;0 ;0] ;\\dec9=[0 ;0 ;0 ;1 ;0 ;1 ;1] ;dec19=[1 ;1 ;1 ;0 ;1 ;0 ;0] ;\\

    div=100000000000;\\

    for i=1:12 \\

    septbits=fix(data/div);\\

    data=rem(data,div);\\

    div=div/10;\\

    if i

  • 7/31/2019 rappt

    39/59

    CHAPITRE 9. SIMULATION 32

    end\\

    if (i>6)\\

    if septbits ==0\\

    decimal=dec10 ;\\

    elseif septbits ==1\\

    decimal=dec11 ;\\

    elseif septbits ==2\\

    decimal=dec12 ;\\

    elseif septbits ==3\\

    decimal=dec13 ;\\

    elseif septbits ==4\\

    decimal=dec14 ;\\

    elseif septbits ==5\\

    decimal=dec15 ;\\

    elseif septbits ==6\\

    decimal=dec16 ;\\

    elseif septbits ==7\\

    decimal=dec17 ;\\

    elseif septbits ==8\\decimal=dec18 ;\\

    elseif septbits ==9\\

    decimal=dec19 ;\\

    end\\

    end\\

    for j=1:7\\

    vecteur(k,1)=decimal(j,1);\\

    k=k+1;\\end\\

    end\\

    resultat(1,1)= 1;\\

    resultat(2,1)= 0;\\

    resultat(3,1)= 1;\\

    resultat(93,1)= 1;\\

    resultat(94,1)= 0;\\

  • 7/31/2019 rappt

    40/59

    CHAPITRE 9. SIMULATION 33

    resultat(95,1)= 1;\\

    resultat(46,1)= 1;\\

    resultat(47,1)= 0;\\

    resultat(48,1)= 1;\\

    resultat(49,1)= 0;\\

    resultat(50,1)= 1;\\

    cpt=1;\\

    for p = 4:45\\

    resultat(p,1) = vecteur(cpt,1);\\

    cpt=cpt+1;\\

    end\\

    cpt = 43;\\

    for p = 51:92\\resultat(p,1) = vecteur(cpt,1);\\

    cpt=cpt+1;\\

    end\\

    end\\

    la figure 8.4 nous montre lallure du signal dentre.

    Figure 9.4 Graphe de signal dentre

    9.3 La convolution

    Le Scope3 nous informe sur le signal obtenu en convoluant notre signal dit dentre(Scope6) avec la gaussienne prcdemment observe (Scope7), cette tape est ncessaire au

  • 7/31/2019 rappt

    41/59

    CHAPITRE 9. SIMULATION 34

    traitement de notre signal, elle modlise en ralit le balayage du faisceau et permet la rcu-pration de la totalit du signal.(figure8.5)

    Figure 9.5 La convolution

    La figure 8.6 nous permet de visualiser le graphe de la convolution du signal dentre avecla Gaussian.

    9.4 Le signal avant le filtrageLe Scope8 nous renseigne sur lallure du signal avant filtrage numrique, il sagit du signal

    du Scope3 auquel nous ajoutons un bruit blanc de force 0.01 et de priode dchantillonnagegale 0.1s ; le tout est ensuite multipli par un gain valant 5.(figure8.7)

    9.5 Le signal aprs le filtrage

    Aprs le filtrage de sortie gnrer par le block complet et dont on peut distiguer une forteamlioration on comparaison avec le signal produit auparavant (figure8.9).

    La figure 8.10 nous montre lallure visualiser au scope6.

    9.6 Le comparateur

    Pour complter la partie Matlab nous avons utilis en dernier lieu un comparateur quisera charger dvaluer notre signal, ensuite nous avons dfini unevaleur de base qui servira la diffrenciation de la partie haute(1) de la partie basse(0) et ce pour rcuprer un signal

  • 7/31/2019 rappt

    42/59

    CHAPITRE 9. SIMULATION 35

    Figure 9.6 Graphe de la convolution

    Figure 9.7 Les blocks avant le filtrage

    La figure 8.8 permet de voir le signal aprs le gain :

    Figure 9.8 Le signal avant le filtrage

  • 7/31/2019 rappt

    43/59

    CHAPITRE 9. SIMULATION 36

    Figure 9.9 Le signal aprs le filtrage

    Figure 9.10 Le graphe aprs le filtrage

  • 7/31/2019 rappt

    44/59

    CHAPITRE 9. SIMULATION 37

    final binaire (figure8.11).

    Figure 9.11 Les blocks de comparateur

    A laide du scope(figure8.12), nous constatons la concordance entre le signal dentre et

    le signal la sortie du comparateur.

    Figure 9.12 Le signal aprs la comparaison

  • 7/31/2019 rappt

    45/59

    Chapitre 10

    Validation

    Aprs avoir tout modeler de telle sorte avoir un concept fonctionnel, voici une photo duprototype final comportant lensemble des composants utiliss.

    Figure 10.1 Prototype

    Voici le circuit lectrique utilis pour la rcupration, lamplification et le filtrage delinformation provenant de la photodiode, celui-ci comporte un convertisseur courant-tension,un amplificateur de tension avec un gain quivaut 200 fois la tension dentre et enfin unfiltre passe-bas dordre 2 qui nous permettra de mieux visualiser le signal rcupr par laphotodiode (figure9.2).

    En utilisant notre oscilloscope, nous avons pu rcuprer le signal de sortie gnr par

    38

  • 7/31/2019 rappt

    46/59

    CHAPITRE 10. VALIDATION 39

    Figure 10.2 Circuit

    Figure 10.3 Le signal sur loscilloscope du circuit

  • 7/31/2019 rappt

    47/59

    CHAPITRE 10. VALIDATION 40

    le circuit lectrique. Comme nous pouvons le remarquer ici, le signal de sortie nest pasparfaitement praticable, cela dit nous utiliserons un logiciel de traitement (Simulink) pourlamliorer afin de le comparer au signal dorigine.Nous remarquons aussi que la tension de sortie ne dpasse pas les 0,5 V munie dun courantIs= 0,001mA(figure9.3).

  • 7/31/2019 rappt

    48/59

    Quatrime partie

    Rapport final : Realisation

    41

  • 7/31/2019 rappt

    49/59

    Chapitre 11

    Optimisation

    11.1 Performances atteintes par le prototypeNous avons lors des diffrentes tapes davancement de notre projet procd divers

    modifications; au final, notre prototype est en mesure de reproduire un bon signal, celui-ciest parfaitement adapt aux caractristiques de la carte son. La partie acquisition se droulecorrectement, il arrive quune ou deux barres ne soient pas prises en considration.

    11.2 Satisfaction du cahier des charges

    Notre prototype rponds la majorit des normes spcifies dans le cahier des charges.

    En effet seule la partie traitement de donnes aprs acquisition bute.

    42

  • 7/31/2019 rappt

    50/59

    Chapitre 12

    Ralisation

    12.1 Description du prototype ralisLa version final de notre robot est assez robuste et nous permet une bonne qualit de

    rception de signal, pour ce faire, nous avons chang et diffrentes reprises les engrenagesafin de pouvoir ajuster la vitesse de balayage. La partie servant de support au laser et sa loupe a t revue, elle est dsormais assez stable quant aux vibrations provoques par lemoteur. Un capteur ultra son a t ajout au dispositif, il sert dinterrupteur pour le moteurservant au balayage.

    12.2 Acquisition

    La rcupration du signalest faite par le biais de la carte son.Loutil MATLAB nouspermet ceci via la Data Acquisition Toolbox. Il suffit justede choisir le nombre dchantillospar secondes (95 chantillons dans notre cas), et la dure de lacquisition en secondes. Lesdonnes obtenus sont enregistres sous forme dun vecteur de double. Aprs la rcuprationdu vecteur un code MATLAB soccupe de ngliger les trois premiers et derniers bits ainsique les 5 du milieu. Nous effectuons ensuite un traitement de conversion de la base binaire la base dcimale.Car en effet on rfre a chaque produit de la base de donnes par un codedcimal.

    43

  • 7/31/2019 rappt

    51/59

    Chapitre 13

    Tests

    13.1 TestsDurant toute la priode consacre au laboratoire, nous avons effectu plusieurs test de

    niveau afin damliorer tout les diffrents blocks qui constituent notre prototype. Nous avonsrencontr des difficults au niveau du circuit, de la vitesse de balayage et de la rcupra-tion des donnes. En dplaant le filtre passe-bas, nous avons conclu que les bruits de sortiesattnuaient. En modifiant les engrenages, la vitesse de balayage a clairement diminu. Lesmodifications ralises dans la partie rcupration des donnes nous ont permis damliorerla rception et le traitement de linformation, ainsi le code barres balay se manifeste sansfaute dans notre ordinateur.

    Figure 13.1 circuit final

    44

  • 7/31/2019 rappt

    52/59

    CHAPITRE 13. TESTS 45

    Figure 13.2 Prototype 1

  • 7/31/2019 rappt

    53/59

    CHAPITRE 13. TESTS 46

    Figure 13.3 Prototype 2

  • 7/31/2019 rappt

    54/59

    CHAPITRE 13. TESTS 47

    Figure 13.4 Code bare

  • 7/31/2019 rappt

    55/59

    CHAPITRE 13. TESTS 48

    Figure 13.5 Signal de sortie

  • 7/31/2019 rappt

    56/59

    CHAPITRE 13. TESTS 49

    13.2 Dcodage

    Voici le code daquisition :

    function code = aqui(duration, Fs)\\

    daqhardwareinfo = daqhwinfo;\\

    daqinstalledadaptors = daqhardwareinfo.InstalledAdaptors;\\

    daqwinsoundinfo = daqhwinfo(winsound);\\

    ai = analoginput(winsound);\\

    addchannel(ai,1);\\

    set(ai,SampleRate,Fs)\\set(ai,SamplesPerTrigger,duration*Fs)\\

    blocksize = get(ai,SamplesPerTrigger);\\

    start(ai)\\

    data = getdata(ai);\\

    plot(data)\\

    delete(ai)\\

    debut=1;\\

    s(1)=0;\\

    for i= 2:length(data)\\

    if(data(i)>0.05)\\s(i)=1;\\

    elseif(data(i)

  • 7/31/2019 rappt

    57/59

    CHAPITRE 13. TESTS 50

    end\\

    for i= debut:length(s)\\

    if(s(i:i+1500)==0)\_

    fin=i\\

    break\\

    end\\

    end\\

    d=fin-debut;\\

    pas = floor( d/95 )\\

    for i=1:95\\

    code(i)=s(debut + floor(pas/2)+(i-1)*pas);\\end\\

    %resultat = Codebarre(code);

    %Y=CSC(resultat)

    %A=num2str(Y)

    %aq(A)

    hold on\\

    plot(s(debut:fin),r)\\

    end\\

    Aprs le code quon a effectu voici le signal quon a obtenue :

  • 7/31/2019 rappt

    58/59

    CHAPITRE 13. TESTS 51

    Figure 13.6 Signal Obtenue

  • 7/31/2019 rappt

    59/59

    Chapitre 14

    Conclusion

    La ralisation de notre lecteur de code barres tait pour chacun de nous une expriencetrs enrichissante.Le travail en groupe requiert une certaine mthodologie de travail, nous nous sommes engagspersonnellement respecter certains critres de bonne gestion de nos ressources, cela nous apermis dobtenir des rsultats satisfaisants chaque tape davancement.Nous avons bien videmment rencontrs des diffucults et ce diffrents niveaux, mais nousavons fort heureusement pu y remdier.Nous tenons remercier notre Professeur encadrant Mr. KROUTI Younes ainsi que son as-sistant Mr. ARESMOUK Abdelhak pour leur prcieuse aide et support.