rappt
-
Upload
amine-ougaddoum -
Category
Documents
-
view
216 -
download
0
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.