70
UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR POLYTECHNIQUE DEPARTEMENT ELECTRONIQUE Mémoire en vue de l’obtention du diplôme de licence Rédigé et présente par : Andile Saïd Ibroihim Kenfack Teufack Frank Pavel Numéro d’ordre: Soutenue le: 23/03/2017 THEME : Etude et Réalisation d’un oscilloscope numérique Année universitaire 2015-2016

UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

  • Upload
    others

  • View
    48

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

UNIVERSITE D’ANTANANARIVO

ECOLE SUPERIEUR POLYTECHNIQUE

DEPARTEMENT ELECTRONIQUE

Mémoire en vue de l’obtention du diplôme de licence

Rédigé et présente par :

Andile Saïd Ibroihim

Kenfack Teufack Frank Pavel

Numéro d’ordre:

Soutenue le: 23/03/2017

THEME :

Etude et Réalisation d’un oscilloscope numérique

Année universitaire 2015-2016

Page 2: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

UNIVERSITE D’ANTANANARIVO

ECOLE SUPERIEUR POLYTECHNIQUE

DEPARTEMENT ELECTRONIQUE

Mémoire en vue de l’obtention du diplôme de licence

THEME :

Etude et Réalisation d’un oscilloscope numérique

Rédigé et présente par :

Andile Said Ibroihim

Kenfack Teufack Frank Pavel

Devant les membres de jury composes par:

Monsieur HERINANTENAINA Edmond Fils………………………..Président

Monsieur ZOARITSIHOARANA Fitiavana Avo Tongalafatra…….Examinateur

Et du directeur de mémoire Monsieur RASTEFANO Elisée

Numéro d’ordre :

Soutenue le: 23/03/2017

Année universitaire 2015-2016

Page 3: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Remerciements

La rédaction du mémoire présent est l’aboutissement d’un travail effectué sous la

direction, le contrôle et le soutient d’un certains nombres de personnes à qui nous ne saurons

manquer de témoigner notre profonde gratitude.

Nous tenons d’abord à remercier le corps enseignant du département électronique et

particulièrement le chef du département Mr ANDRIAMANANTSOA Guy Danielson pour

nous avoir encadrés durant notre parcours.

Ensuite nous remercions également Mr .RASTEFANO Elisée qui nous a encadrées

pendant la réalisation de ce projet et aussi à Mr HERINANTENAINA Edmond Fils président

du Jury et à Mr ZOARITSIHOARANA Fitiavana Avo Tongalafatra, qui a bien voulu

examiner ce mémoire.

Enfin nous n’allons pas oublier d’adresser notre gratitude à nos parents pour leur

soutien moral et financier durant tous nos études, nos différentes familles pour leurs soutiens

inconditionnels et tous nos amis et collègues qui nous ont toujours été fidèle et nous ont

apportés leur aide pour avoir des idées dans divers aspects du projet.

Page 4: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

RESUME

L’oscilloscope est un appareil de mesure indispensable dans tous les laboratoires.

Actuellement l’oscilloscope numérique remplace presque complètement l’oscilloscope

analogique. Pour cela on a pensé à la réalisation d’un oscilloscope numérique portatif.

L’oscilloscope réalisé dans ce projet est connectable au PC à l’aide du Bus universel en

série(USB). L’interface utilisateur, réalisé sous l’environnement java, contrôle la

communication entre la carte Arduino (dont le cœur est le microcontrôleur ATMega 328) et

l’ordinateur. Cette interface qui gère l’affichage de notre oscilloscope est réalisée grâce au

logiciel processing. La fréquence du signal acquit est limité par le temps de conversion du

microcontrôleur.

Mot clés: Oscilloscope, USB, carte Arduino, processing, Microcontrôleur.

ABSTRACT

The oscilloscope is an essential measurement apparatus in all labs. Nowadays the analogic

oscilloscope is almost replaced by the numeric oscilloscope. That’s why in this project we

have thought to carry out a Universal Serial Bus (USB) connectable handheld numeric

oscilloscope. The user interface is implemented in the java environment, controls the

communication between the Arduino card (he is based on the ATMega 328) and computer.

This interface who manages displays our oscilloscope is implemented by the software

processing. The frequency of the acquired signal is limited by the conversion time of the

microcontroller.

Keywords: Oscilloscope, USB, Arduino card, processing, Microcontroller.

Page 5: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Sommaire

REMERCIEMENTS …………………………………………………………………………..I

RESUME ……………………………………………………………………………………...II

SOMMAIRE………………………………………………………………………………….III

LISTE DES FIGURES………………..……………………………………………………...VI

LISTE DES ABREVIATION………………………………………………………………..VII

INTRODUCTION GENERALE………………………………………………………………1

Chapitre I : L’oscilloscope………………………………………………………………………3

I.1 Introduction……………………………………………………………………………….....4

I.2 L’oscilloscope……………………………………………………………………………......4

I.3 Les différents types d’oscilloscope……………………………………………………….....6

I.3.1 L’oscilloscope analogique………………………………………………………………….6

a) Principe de fonctionnement b) Fonction de base

I.3.2 L’oscilloscope numérique…………………………………………………………………8

a) Principe de fonctionnement b) Fonction de base

I.4 Quelques définitions…………………………………………………………………….....10

Chapitre II : Outils nécessaire pour la réalisation d’un oscilloscope…………………………..13

II.1 L’Arduino………………………………………………………………………………….14

II.1.1 Introduction……………………………………………………………………………..14

II.1.2 Matériel………………………………………………………………………………......14

II.1.3 Schéma simplifie de la carte Arduino…………………………………………………...16

II.1.4 Microcontrôleur ATMEL ATMega328………………………………………………….16

II.2 Le microcontrôleur pic…………………………………………………………………......19

Page 6: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

II.2.1 Introduction……………………………………………………………………………...19

II.2.2 Caractéristiques des Pics…………………………………………………………………19

II.2.3 Classification des Pics de Microchip…………………………………………………….20

II.2.4 Identification d’un pic……………………………………………………………………20

II.2.5 Choix d’un pic…………………………………………………………………………...20

II.2.6. Exemple : Architecture du pic 16F84…………………………………………………..21

II.2.7 Brochage et fonction des pattes………………………………………………………....21

II.2.8 Architecture générale…………………………………………………………………....22

II.3 Bus universel en série……………………………………………………………………...23

II.3.1 Introduction………………………………………………………………………………23

II.3.2 Les différents bus de périphériques externes………………………………………….....24

II.3.3 Normes USB……………………………………………………………………………..25

a) USB 1 (fullou low speed) b) USB 2.0 (High speed) c) USB 3.0 (Super Speed)

II.3.4 Connectique……………………………………………………………………………...26

a) Description du Câble USB b) Composition du câble USB c) Connecteurs USB

II.3.5 Les descripteurs……………………………………………………………………….....28

a) Définition d’un descripteur

b) Rôle des descripteurs

II.3.6 différents mode de transfert des données………………………………………………..29

II.4 différents logiciel utilisé…………………………………………………………………...30

II.4.1 logiciel Arduino………………………………………………………………………….30

II.4.2 logiciel processing…………………………………………………………………….....32

II.4.3 Logiciel Proteus……………………………………………………………………….....33

Page 7: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

CHAPITRE III : REALISATION DU PROJET……………………………………………….34

III.1 Présentation du montage………………………………………………………………......35

III.1.1 Circuit d’entrée………………………………………………………………………….35

a) L’atténuateur BF

b) Circuits d’offset

III.2 Programmation de l ARDUINO………………………………………………………......37

III.3 Interface graphique……………………………………………………………………......41

III.4 Simulation sur Proteus………………………………………………………………….....44

CONCLUSION GENERALE…………………………………………………………………46

ANNEXE I: Datasheet Arduino ATMEGA328…………..……………………………………47

ANNEXE II: Datasheet pic16F84...……………………………………………………………49

ANNEXE III: Datasheet LM324………………………………………………………………50

ANNEXE IV: Proteus ISIS…………………………………………………………………….51

ANNEXE V: Descripteur USB………………………………………………………………...55

REFFERENCES……………………………………………………………………………….59

Page 8: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Liste des figures

Figure I.1: Composantes X, Y et Z d’un signal……………………………………………….4

Figure I.2: panneau avant d’un oscilloscope analogique à droite et à gauche celui d’un

…………oscilloscope numérique……………………………………………………………..5

Figure I.3: schéma générale d’un oscilloscope analogique……………………………………7

Figure I.4: Le déclenchement stabilise d’un signal répétitif………………………………….7

Figure I.5: schéma général d’un l’oscilloscope numérique…………………………...………9

Figure II.1: modèle d’une carte Arduino « Uno »…………………………………………...15

Figure II.2: schéma d’une carte Arduino……………………………………………………16

Figure II.3: brochage du microcontrôleur ATMega328……………………………………..18

Figure II.4: brochage du Pic 16F84………………………………………………………….22

Figure II.5: structure interne du Pic 16F84………………………………………………….23

Figure II.6: logo norme USB 1………………………………………………………………26

Figure II.7: logo norme USB 2………………………………………………………………26

Figure II.8: logo norme USB 3………………………………………………………………26

Figure II.9: structure d’un câble USB……………………………………………………….27

Figure II.10: connecteurs USB………………………………………………………………28

Figure II.11: présentation logiciel Arduino………………………………………………….31

Figure II.12: présentation logiciel processing………….……………………………………33

Figure II.13: aperçu d’un schéma sur Proteus……………………………………………….33

Figure III.1: circuit d’entrée de l’oscilloscope………………………………………………36

Page 9: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Figure III.2: éditeur des programmes en Arduino…………………………………………...37

Figure III.3:Communication Arduino – Processing…………………………………………40

Figure III.4: Affichage de la courbe sur processing…………………………………………43

Figure III.5: Simulation de l’oscilloscope sur Proteus ISIS…………………………………44

Page 10: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Liste des abréviations

AC: Alternating Current.

CRT : Cathode Ray Tube

CAN : Convertisseur Analogique Numérique.

CMOS : Complementary Metal–Oxide–Semiconductor

DC: Direct Current.

FOSC : Frequency of the Oscillator

GND :Ground

ICSP : In-Circuit Serial Programming

IT : Interruption

PC : Personal Computer

PIC : Peripheral Interface Controller

PLL : Phase-locked loop

SIE : Serial Interface Engine

TOSC : Time of the Oscillator

USB : Universal Serial Bus

Page 11: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Introduction générale

L’oscilloscope est un appareil de mesure électronique de représentation graphique sur

un écran d'une ou de plusieurs tensions variables en fonction du temps. Le traitement

analogique de ces tensions est compliqué et le traitement numérique utilisant les

convertisseurs analogique numérique est devenu l’alternative. Un convertisseur analogique-

numérique, est un montage électronique dont la fonction est de traduire une grandeur

analogique en une valeur numérique (codée sur plusieurs bits), proportionnelle au rapport

entre la grandeur analogique d'entrée et la valeur maximum du signal. Il existe plusieurs

techniques pour convertir un signal analogique en signal numérique. Le CAN est l’élément

principal de la chaine d’acquisition.

La chaîne d'acquisition de donnée est l'ensemble des éléments nécessaires à la

récupération des données (analogiques ou numériques) de leur transmission jusqu'au récepteur

et à l'utilisateur des données.

Pour faire communiquer un PC à une carte d’acquisition de données on utilise plusieurs

techniques : port parallèle, port série, port USB, etc.

Le bus USB est basé sur une architecture de type série. Il s'agit toutefois d'une interface

entrée-sortie beaucoup plus rapide que le port série standard. L'architecture qui a été retenue

pour ce type de port est en série pour deux raisons principales : l'architecture série permet

d'utiliser une cadence d'horloge beaucoup plus élevée qu'une interface parallèle, car celle-ci

ne supporte pas des fréquences trop élevées (dans une architecture à haut débit, les bits

circulant sur chaque fil arrivent avec des décalages, provoquant des erreurs) ; les câbles série

coûtent beaucoup moins cher que les câbles parallèles.

Classiquement, les microcontrôleurs communiquent avec les ordinateurs personnels par

le port série (RS232). Avec l’évolution de la technologie le port série (RS232) est voué à

disparaître car il est trop lent pour certaines applications.

À fin de réaliser ce projet et éclairer l'utilité de ce dispositif, nous nous sommes

interrogés sur certaines questions:

Qu’est-ce que l'oscilloscope? Les différents types? Quelles sont les avantages du bus USB?

Qu’est- ce qu'un ARDUINO.

Page 12: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Le travail que nous avons réalisé se résume autour de trois chapitres :

Nous allons voir dans un premier temps le chapitre 1 où nous parlerons l’oscilloscope des

différents types ainsi que leur principe de fonctionnement.

Ensuite nous passerons au chapitre 2 dans lequel nous verrons les Outils et langages utilisée

pour la réalisation du projet.

Enfin pour terminer nous verrons le chapitre 3 qui concerne la réalisation du projet

proprement dit, autrement dit à la programmation de la carte Arduino, le montage associe et la

programmation du logiciel processing pour l’interface graphique.

Page 13: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

CHAPITRE I

L’OSCILLOSCOPE

Page 14: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

I.1 Introduction

Un oscilloscope est un instrument de mesure destiné à visualiser un signal électrique, le plus

souvent variable au cours du temps. Il est utilisé par de nombreux scientifiques afin de

visualiser soit des tensions électriques, soit diverses autres grandeurs physiques préalablement

transformées en tension au moyen d'un convertisseur adapté. On distingue généralement les

oscilloscopes analogiques qui utilisent directement un multiple de la tension d'entrée pour

produire la déviation du spot et les oscilloscopes numériques qui transforment préalablement

la tension d'entrée en nombre (bits), L'affichage est reconstruit après un moment. Il devient

alors une fonction annexe de l'appareil qui peut même en être dépourvu, la visualisation du

signal étant effectuée par un ordinateur extérieur relié à l'oscilloscope. [1]

I.2 L’oscilloscope

L’oscilloscope est un appareil fournissant une représentation graphique d’un signal

électrique. Dans la plupart des applications, ce graphique montre comment les signaux

évoluent en fonction du temps : l’axe vertical (Y) représente la tension (ou l’amplitude d’une

autre grandeur traduite en tension électrique) et l’axe horizontal (X) représente le temps.

L’intensité ou luminosité de l’écran est appelée quelquefois axe Z (fig I.1) . [2]

FigureI.1: Composantes X, Y et Z d’un signal. [2]

Page 15: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

La représentation graphique sur l’écran de l’oscilloscope fournit beaucoup d’informations au

sujet de ce signal, comme :

la détermination des paramètres temporels et des paramètres d’amplitude du signal

le calcul de la fréquence du signal

la visualisation des « variations » du signal électrique

la visualisation de la composante continue du signal (DC) et de sa composante

alternative(AC)

la mise en évidence du bruit dans le signal et de son évolution dans le temps.

Les Panneaux avant des oscilloscopes sont très similaires quel que soit le type d’instrument

Mais l’oscilloscope numérique dispose de fonctions supplémentaires pour l’acquisition et le

traitement de l’information (fig I.2). [3]

Figure I.2: panneau avant d’un oscilloscope analogique à droite et à gauche celui d’un oscilloscope numérique.

L’utilité d’un oscilloscope n’est pas limitée au monde de l’électronique. Un oscilloscope peut

mesurer tout genre de grandeurs physiques à condition qu’on puisse la convertir

préalablement en un signal électrique en utilisant le capteur adéquat.

Page 16: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

I.3 Les différents types d’oscilloscopes

Il existe deux types d’oscilloscopes : analogique et numérique. Un oscilloscope analogique

fonctionne par déflexion électrique d’un faisceau d’électrons en fonction de la tension

mesurée. La tension dévie le faisceau d’électrons de haut en bas proportionnellement et trace

une courbe sur l’écran qui donne une image instantanée du signal. Par contre un oscilloscope

numérique échantillonne le signal et utilise un convertisseur analogique-numérique (CAN)

pour convertir la tension à mesurer en une information numérique. Il utilise ensuite cette

information numérique pour reconstruire la courbe sur l’écran.

Pour beaucoup d’applications, l’un et l’autre type peuvent être utilises. Cependant, chaque

type possède des caractéristiques spécifiques plus ou moins adaptées aux signaux à mesurer.

L’oscilloscope analogique est souvent préfère à un oscilloscope numérique lorsqu’il est

important de visualiser des signaux variables très rapidement dans le temps. Les oscilloscopes

numériques capturent des événements uniques. Ils peuvent traiter les données numériques et

les transmettre à un ordinateur pour traitement. Ils peuvent également stocker les données

numériques en mémoire pour examen ultérieur ou permettre leur impression sur une

imprimante.

I.3.1 L’oscilloscope analogique

a) Principe de fonctionnement

Lorsqu’un oscilloscope est connecte à un circuit, la tension transite de la sonde à travers le

système vertical de l’oscilloscope. La figure I.4représente le bloc diagramme simple d’un

oscilloscope analogique. En fonction de l’échelle verticale (commande volts/division), un

atténuateur réduit la tension du signal ou un amplificateur augmente la tension du signal.

Ensuite le signal est appliqué directement aux plaques de déflexion verticales du tube à rayons

cathodiques.

La tension appliquée à ces plaques de déflexion provoque le déplacement du spot sur l’écran

(le faisceau électronique frappant le phosphore crée le spot lumineux sur l’écran). Une tension

Positive produit un déplacement vers le haut et une tension négative produit un déplacement

vers le bas (fig I.3).

Page 17: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Le signal est transmis au système de déclenchement pour initier un « balayage Horizontal ».

Le déclenchement du système horizontal provoque le démarrage de la base de temps

horizontale qui déplace le spot au travers de l’écran de la gauche vers la droite dans un

intervalle de temps spécifique. Aux vitesses de balayage élevées, le point peut balayer l’écran

jusqu’à 500 000 fois chaque seconde. La répétition du balayage, liée à la persistance

rétinienne et à la déflexion verticale, permet la visualisation de la courbe sur l’écran. Le

déclenchement est nécessaire pour assurer la stabilité du signal répétitif. Il s’assure que le

balayage commence toujours au même point d’un signal répétitif et il en résulte donc une

image plus stable. Le déclenchement permet d’obtenir une image stable d’un signal, même si

sa fréquence de répétition n’est pas constante. [2] [3]

Figure I.3 : schéma générale d’un oscilloscope analogique.

Figure I.4 : Le déclenchement stabilise d’un signal répétitif

Page 18: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

b) Fonctions de base

En conclusion, avec un oscilloscope analogique, il est nécessaire d’ajuster trois fonctions de

base pour visualiser un signal :

1) La base de temps : qui permet d’ajuster le temps par division souvent notée(temps/div

ou sec/div) représente horizontalement à l’écran. Le contrôle de l’échelle horizontale sur

l’oscilloscope permet d’ajuster la base de temps.

2) L’atténuation (diminution) ou l’amplification (augmentation) du signal. Le contrôle

de l’échelle verticale permet d’ajuster le signal avant qu’il ne soit applique au système de

déflexion verticale.

3) Le déclenchement de l’oscilloscope ; ce contrôle permet de stabiliser un signal

répétitif, aussi bien qu’un signal unique.

La mise au point de l’intensité et du focus permet de créer sur l’écran un signal plus net.

I.3.2 L’oscilloscope numérique

a) Principe de fonctionnement

Quelques-unes des parties constituant l’oscilloscope numérique sont les mêmes que celles des

oscilloscopes analogiques, cependant les oscilloscopes numériques contiennent des systèmes

de traitement de données additionnels. Avec les systèmes additionnels, l’oscilloscope

numérique rassemble les données numériques pour représenter la courbe entière sur l’écran.

Quand un oscilloscope numérique est connecté à un circuit, le système vertical ajuste

l’amplitude du signal de la même façon que dans un oscilloscope analogique. Ensuite, le

convertisseur analogique-numérique (CAN) échantillonne le signal à des intervalles de temps

discrets et convertit la tension du signal à ces instants en valeurs numériques appelées

échantillons. L’horloge du système horizontal détermine l’instant pendant lequel

l’échantillonneur du CAN prélevé un échantillon. Le rythme auquel l’horloge déclenche

la numérisation est appelé fréquence d’échantillonnage et est exprimé en échantillons par

seconde.

Page 19: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Les échantillons du CAN sont stockés dans la mémoire comme points de la courbe. Le

nombre de points nécessaires pour représenter une courbe complète est appelé la longueur

d’enregistrement. Le système de déclenchement détermine le début et l’arrêt de

l’enregistrement. L’écran permet la visualisation des points de la courbe représentant le signal

entrepose dans la mémoire. En fonction des capacités de l’oscilloscope, des traitements

additionnels sur les échantillons permettent d’accroitre la résolution de la visualisation à

l’écran. Le pré déclenchement peut être disponible, permettant de voir des événements

précédant le point de déclenchement (fig I.5). [2]

Figure I.5 : schéma général d’un l’oscilloscope numérique.

b) Fonctions de base

Avec un oscilloscope numérique, les réglages suivants sont à ajuster pour effectuer une

mesure :

1) la base de temps. Ce réglage permet de sélectionner la fenêtre de temps

représentée par la largeur de l’écran, Le contrôle de l’échelle horizontale sur

l’oscilloscope permet d’ajuster la base de temps.

Page 20: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

2) l’atténuation (diminution) ou amplification (augmentation) du signal. Le contrôle

de L’échelle verticale permet d’ajuster l’amplitude du signal avant de l’envoyer au

CAN.

3) le déclenchement de l’oscilloscope. Ce contrôle permet de stabiliser un signal

répétitif, de capturer un signal mono coup, et de fixer le pré-déclenchement.

4) le mode d’acquisition et le mode d’échantillonnage. Ces réglages dépendent de la

fréquence et de la complexité du signal qui doit être mesuré. Les réglages du

panneau avant permettent d’ajuster ces paramètres.

I.4 quelques définitions

a) Fréquence et période

Un signal répétitif a une fréquence. La fréquence est mesurée en hertz (Hz) et est égale au

nombre de fois que le signal se répète lui-même en une seconde (cycles par seconde).La

période est le temps nécessaire pour effectuer un cycle complet. Période et fréquence sont

inverses l’un de l’autre. [2]

b) Bande passante

La spécification de la bande passante indique la fréquence maximale à laquelle l’oscilloscope

mesure correctement un signal avec le minimum d’aberration. Par convention, la bande

passante indique la fréquence pour laquelle le signal affiché est réduit à 70,7 % de l’amplitude

crête-à-crête appliquée a l’entrée de l’oscilloscope (cette atténuation de 70,7 % est appelée la

atténuation à - 3 dB (basé sur une échelle logarithmique). [2]

c) Sensibilité verticale

La sensibilité verticale indique de combien l’amplificateur vertical peut amplifier un signal

faible. La sensibilité verticale s’exprime habituellement en millivolts (mV) par division. La

plus petite tension qu’un oscilloscope d’usage général peut détecter est typiquement d’environ

2 mV par division. Les facteurs d’atténuation sont généralement en séquence 1-2-5. Une

possibilité d’ajustage de la sensibilité continument variable existe sur les instruments. [2]

Page 21: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

d) Résolution verticale

La résolution verticale est limitée d’une part par l’épaisseur de la trace et d’autre part parla

sensibilité de l’amplificateur sur un oscilloscope analogique.

Exemple : pour une sensibilité de 1 mV/div, chaque division principale étant subdivisée en 5

petites divisions, l’utilisateur peut apprécier 1/2 division soit : 0,1 mV. Pour les oscilloscopes

numériques, la résolution est liée au nombre de bits du CAN.

Exemple : soit un CAN de 8 bits. La spécification s’exprime pour 8 bits sur la hauteur de

l’écran, soit 256 niveaux pleine échelle (10 divisions verticales), donc 25 niveaux par division

verticale. Pour 10 mV/div, la résolution est de : 10 mV/25 = 400 mV.[2]

e) Couplage

L’utilisateur a le choix de filtrer ou non le signal entrant. Il existe trois types de couplage

d’entrée : AC, DC, GND.

En AC (alternatif), la composante continue du signal, bloquée par une capacité, n’est

pas transmise.

En DC (continu), toutes les composantes du signal sont transmises.

En GND (masse), l’entrée est reliée a la masse de l’instrument pour servir de référence

aux mesures d’amplitude. [2]

f) Vitesse de balayage

Elle indique la vitesse à laquelle le spot se déplace en travers de l’écran pour les oscilloscopes

analogiques. Elle indique la fenêtre temporelle d’acquisition pour les oscilloscopes

numériques. La vitesse de balayage la plus rapide d’un oscilloscope est habituellement de 1

nanoseconde/div. [2]

g) Base de temps

Les oscilloscopes disposent en général de deux bases de temps : la principale (A) et la

retardée (B). Le but de cette technique est de permettre de sélectionner un détail dans le signal

visualise (a une vitesse A) pour ensuite le dilater sur tout l’écran a une vitesse B>A. La

fonctionnalité reste identique sur les oscilloscopes numériques, bien que le procédé employé

soit différent. La mémorisation du signal apporte en outre de nombreuses possibilités, telles

que pré et post déclenchement, retards en événement. [2]

Page 22: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

h) Fréquence d’échantillonnage

La fréquence d’échantillonnage sur les oscilloscopes numériques indique le nombre

d’échantillons par seconde que le CAN (et par conséquent l’oscilloscope) peut acquérir. Cette

fréquence est exprimée habituellement en méga échantillons par seconde (Me/s soit 106

échantillons par seconde). Plus elle est rapide, plus l’oscilloscope peut représenter

correctement les détails dans un signal haute fréquence. La fréquence d’échantillonnage

minimum peut être aussi primordiale pour regarder des signaux changeant lentement sur de

longues périodes de temps. Typiquement, la fréquence d’échantillonnage se modifie avec la

commande sec/div de la base de temps et est choisie de telle sorte qu’il y ait un nombre

constant de points pour une longueur d’enregistrement donnée. [2]

Page 23: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

CHAPITRE II :

Outils nécessaire pour la réalisation

d’un oscilloscope numérique

Page 24: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

II.1 L’ARDUINO

II.1.1 Introduction

Arduino est une plate-forme de prototypage d'objets interactifs à usage créatif constituée d'une

carte électronique et d'un environnement de programmation.

Sans tout connaître ni tout comprendre de l'électronique, cet environnement matériel et

logiciel permet à l'utilisateur de formuler ses projets par l'expérimentation directe avec l'aide

de nombreuses ressources disponibles en ligne.

Arduino permet d'étendre les capacités de relations humain/machine ou environnement/

machine. Arduino est un projet en source ouverte : la communauté importante d'utilisateurs et

de concepteurs permet à chacun de trouver les réponses à ses questions.

Le projet Arduino est issu d'une équipe d'enseignants et d'étudiants de l'école de Design

d'Interaction d'Ivrea 1 (Italie). L’objectif était d'arriver à un dispositif simple à utiliser, dont

les coûts seraient peu élevés, les codes et les plans « libres » (c'est-à-dire dont les sources sont

ouvertes et peuvent être modifiées, améliorées, distribuées par les utilisateurs eux-mêmes) et,

enfin, « multi-plates-formes » (indépendant du système d'exploitation utilisé).

L'environnement Arduino est particulièrement adapté à la production artistique ainsi qu'au

développement de conceptions qui peuvent trouver leurs réalisations dans la production

industrielle. [4]

Le nom Arduino trouve son origine dans le nom du bar dans lequel l’équipe avait l'habitude

de se retrouver. Arduino est aussi le nom d'un roi italien, personnage historique de la ville «

Arduin d’Ivrée », ou encore un prénom italien masculin qui signifie « l'ami fort ».

II.1.2 Matériel

La carte Arduino repose sur un circuit intégré (fig II.1 ) associée à des entrées et sorties qui permettent à l'utilisateur de brancher différents types d'éléments externes :

Côté entrées, des capteurs qui collectent des informations sur leur environnement comme la variation de température via une sonde thermique, le mouvement via un détecteur de présence ou un accéléromètre, le contact via un bouton-poussoir, etc.

Côté sorties, des actionneurs qui agissent sur le monde physique telle une petite

lampe qui produit de la lumière, un moteur qui actionne un bras articulé, etc.

Page 25: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Comme le logiciel Arduino, le circuit électronique de cette plaquette est libre et ses plans sont

disponibles sur internet. On peut donc les étudier et créer des dérivés. Plusieurs constructeurs

proposent ainsi différents modèles de circuits électroniques programmables et utilisables avec

le logiciel Arduino. [1]

Il existe plusieurs variétés de cartes Arduino. La figure ci-dessous montre par exemple, la

version d’une carte Arduino : la « Uno », sortie en 2010.

Le modèle UNO est une carte électronique dont le cœur est un microcontrôleur ATMEL de

référence ATMega328. Le microcontrôleur ATMega328 est un microcontrôleur 8bits de la

famille AVR dont la programmation peut être réalisée en langage C.

L'intérêt principal des cartes ARDUINO est leur facilité de mise en œuvre. ARDUINO fournit

un environnement de développement s'appuyant sur des outils open-source. Le chargement du

programme dans la mémoire du microcontrôleur se fait de façon très simple par port USB. En

outre, des bibliothèques de fonctions "clé en main" sont également fournies pour l'exploitation

d'entrées-sorties courantes : gestion des E/S TOR, gestion des convertisseurs ADC, génération

de signaux PWM, exploitation du bus TWI/I 2 C, exploitation de servomoteurs ect. [4]

Figure II.1 : modèle d’une carte Arduino « Uno ». [4]

Page 26: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

II.1.3 Schéma simplifié de la carte Arduino UNO

Les signaux d'entrée-sortie du microcontrôleur sont reliés à des connecteurs selon le schéma de la figure II.2.

FIGURE II.2: schéma d’une carte Arduino. [4]

II.1.4 Microcontrôleur ATMEL ATMega328

Le microcontrôleur utilisé sur la carte Arduino UNO est un microcontrôleur ATMega328 (figII.3). C'est un microcontrôleur ATMEL de la famille AVR 8bits.

Les principales caractéristiques sont :

FLASH = mémoire programme de 32Ko

SRAM = données (volatiles) 2Ko

EEPROM = données (non volatiles) 1Ko

Digital I/O (entrées-sorties Tout Ou Rien) = 14

Page 27: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

3 ports PortB, PortC, PortD (soit 23 broches en tout I/O).

Timers/Counters : Timer0 et Timer2 (Comptage 8 bits), Timer1 (comptage 16bits).

Chaque timer peut être utilisé0 pour générer deux signaux PWM. (6 broches OCxA/OCxB).

Plusieurs broches multifonctions : certaines broches peuvent avoir plusieurs fonctions différentes

choisies par programmation.

PWM = 6 brochesOC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3), OC2A(PB3),

OC2B(PD3)

Analog to Digital Converter (résolution 10bits) = 6 entrées multiplexées ADC0(PC0) à

ADC5(PC5)

Gestion bus I2C (TWI TwoWire Interface) = le bus est exploité via les broches

SDA(PC5)/SCL(PC4).

Port série (USART) = émission/réception série via les broches TXD(PD1)/RXD(PD0)

Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7) peut déclencher interruption

WatchdogTimer programmable.

Gestion d'interruptions (24 sources possibles ) : en résumé

– Interruptions liées aux entrées INT0 (PD2) et INT1 (PD3)

– Interruptions sur changement d'état des broches PCINT0 à PCINT23

– Interruptions liées aux Timers 0, 1 et 2 (plusieurs causes configurables)

– Interruption liée au comparateur analogique

– Interruption de fin de conversion ADC

– Interruptions du port série USART

Page 28: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

– Interruption du bus TWI (I2C). [4]

Figure II.3 : brochage du microcontrôleur ATMega328. [4]

Choix de l Arduino pour notre projet

Pour mettre en pratique notre projet on a choisis ARDIUNO pour réaliser notre oscilloscope

numérique pour la simple raison qu’arduino est plus facile à manœuvrer. En vue des

performances qu’elles offrent, les cartes Arduino sont relativement peu couteuses, ce qui est

un critère majeur. Celle que nous utiliserons pour la suite du cours a un prix qui tourne aux

environs de 25 € TTC ce qui est un bon rapport qualité/prix.

C'est un bien grand mot, mais elle définit de façon assez concise l'esprit de l'Arduino. Elle

constitue en elle-même deux choses :

Le logiciel : gratuit et open source, développé en Java, dont la simplicité d'utilisation

relève du savoir cliquer sur la souris.

Le matériel : cartes électroniques dont les schémas sont en libre circulation sur

internet.

Page 29: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

NB: il est à préciser que nous pouvons également réaliser ce projet avec d autre module comme le microcontrôleur PIC. Nous détaillerons dans les paragraphes qui suivent de quoi il est question.

II.2 Le microcontrôleur (PIC)

II.2.1 Introduction

Les microcontrôleurs Pics sont des unités de traitement de l’information de type

microprocesseur à laquelle on a ajouté des périphériques internes permettant de réaliser des

montages sans nécessiter l’ajout des composants externes. Aujourd’hui implantés dans la

plupart des applications grand public ou professionnelles, il en existe plusieurs familles. Le

PIC (Peripheral Interface Controller) Est un composant encore très utilisé à l’heure actuelle,

c’est un compromis entre simplicité d’emploi, rapidité et prix de revient. Les PIC existent

dans plusieurs versions : [5]

les UVPROM qui sont effaçable par une source de rayonnements ultraviolets

les OTPROM programmable une seule fois

les EEPROM et flash EPROM qui sont effaçables électriquement.

II.2.2 Caractéristique d’un PIC

Le PIC est un microcontrôleur de chez Microchip. Ses caractéristiques principales sont :

Séparation des mémoires de programme et des données (architecture Harvard) :

On obtient ainsi une meilleure bande passante, des instructions et des données

pas forcément codées sur le même nombre de bits.

Communication avec l'extérieur seulement par des ports : il ne possède pas de bus

d'adresses, de bus de données et de bus de contrôle comme la plupart des

microprocesseurs.

Utilisation d'un jeu d'instructions réduit, d'où le nom de son architecture : RISC

(Reduced Instructions Set Construction). Les instructions sont ainsi codées sur un

nombre réduit de bits, ce qui accélère l'exécution (1 cycle machine par instruction sauf

Page 30: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

pour les sauts qui requirent 2 cycles). En revanche, leur nombre limité oblige à se

restreindre à des instructions basiques, contrairement aux systèmes d'architecture

CISC (Complex Instructions Set Construction) qui proposent plus d'instructions donc

codées sur plus de bits mais réalisant des traitements plus complexes. [5]

II.2.3 Classification des Pics de Microchip

Actuellement les modèles Microchip, sont classés en 3 grandes familles, comportant

chacune plusieurs références. Ces familles sont :

Base-line : les instructions sont codées sur 12 bits.

mid-line : les instructions sont codées sur 14 bits.

High-End : les instructions sont codées sur 16 bits.

II.2.4.Identification d’un Pic

Un PIC est identifié par un numéro de la forme suivant : xx(L)XXyy –zz:

xx : famille du composant, actuellement « 12, 14, 16, 17 et 18 ».

L : tolérance plus importante de la plage de tension.

XX : type de mémoire programme : type C( EPROM ou EEPROM CR) ,type

CR(PROM) et le type F (flash).

yy : constitue la référence du PIC.

zz : indiquant la fréquence d’horloge maximale que le PIC peut recevoir

(Vitesse maximum du quartz)

II.2.5 Le choix d’un PIC

Le choix d’un PIC est directement lié à l’application envisagée :

Il faut dans un premier temps déterminer le nombre d’entrées/sorties nécessaires

pour l’application. Ce nombre d’entrées/sorties nous donne une idée sur la

famille du PIC.

Il faut ensuite déterminer si l’application nécessite un convertisseur

Analogique/Numérique ce qui va orienter un peu plus vers le choix du PIC.

Page 31: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

La rapidité d’exécution est un élément important, il faut consulter les DATA-

BOOK pour vérifier la compatibilité entre la vitesse maximale du PIC choisi et la

vitesse max nécessaire au montage.

La taille de la RAM interne et la présence ou nom d’une EEPROM pour

mémoriser des données sont également importantes pour l’application souhaitée.

La longueur du programme de l’application détermine la taille de la mémoire

programme du PIC recherche [5]

II.2.6 Exemple : L’architecture du pic 16F84

Pour montrer l’exemple d’un microcontrôleur Pic, on a choisis le pic16F84 car il est

facilement manipulable. Il s'agit d'un microcontrôleur 8 bits à 18 pattes. Ses Principales

caractéristiques sont :

- jeu d’instruction (35 instructions)

- Instructions codées sur 14 bits, Données sur 8 bits

- 1 cycle machine par instruction, sauf pour les sauts (2 cycles machine)

- Vitesse maximum 10 MHz soit une instruction en 400 ns (1 cycle machine = 4 cycles

d'horloge)

- 4 sources d'interruption

- 1000 cycles d'effacement/écriture pour la mémoire flash, 10.000.000 pour la mémoire

de donnée EEPROM. [6]

II.2.7 Brochage et fonction des pattes

La figure II.4 représente le brochage du circuit. Les fonctions des pattes sont les

suivantes :

- VSS , VDD : Alimentation

- OSC1, 2 : Horloge

- RA0-4 : Port A

- RB0-7 : Port B

Page 32: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

- T0CKL : Entrée de comptage

- INT : Entrée d'interruption

- MCLR : Reset : 0V

Choix du mode programmation : 12V

Figure II.4: brochage du Pic 16F84

II.2.8 Architecture générale

La Figure II.5 suivante présente l'architecture générale du circui

éléments suivants :

- un système d'initialisation à la mise

- un système de génération d'horloge à partir

- une unité arithmétique et logique (ALU)

- une mémoire flash de programme de 1k "mots" de 14 b

- un compteur de programme (program counter) et une p

- un bus spécifique pour le programme (program bu

- un registre contenant le code de l'instruction à ex

- un bus spécifique pour les données (data bus)

Réalisation oscilloscope numérique

T0CKL : Entrée de comptage

INT : Entrée d'interruption

Choix du mode programmation : 12V - 14V exécution : 4.5V - 5.5V. [6]

brochage du Pic 16F84. [6]

Architecture générale

suivante présente l'architecture générale du circuit. Il est constitué des

un système d'initialisation à la mise sous tension (power-up timer, ect)

un système de génération d'horloge à partir du quartz externe (timing génération)

une unité arithmétique et logique (ALU)

une mémoire flash de programme de 1k "mots" de 14 bits

un compteur de programme (program counter) et une pile (stack)

un bus spécifique pour le programme (program bus)

un registre contenant le code de l'instruction à exécuter

un bus spécifique pour les données (data bus)

. [6]

t. Il est constitué des

du quartz externe (timing génération)

Page 33: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

- une mémoire RAM contenant

- les SFR

- 68 octets de données

- une mémoire EEPROM de 64 octets de données

- 2 ports d'entrées/sorties

- un compteur (timer)

- un chien de garde (watchdog)

Figure II.5: structure interne du Pic 16F84.

Réalisation oscilloscope numérique

une mémoire RAM contenant

une mémoire EEPROM de 64 octets de données

un chien de garde (watchdog)

structure interne du Pic 16F84. [6]

Page 34: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

II.3 Bus universel en série

II.3.1 Introduction

L'USB est un nouveau type de connectivité sur les machines informatiques, promu par les

principaux constructeurs informatiques et éditeurs de logiciels (Compaq, DEC, IBM,

Intel, Microsoft, NEC, Nortel). Il doit permettre le raccordement sur une prise unique

de plusieurs équipements divers (imprimante, téléphone, modem, fax, clavier, souris

scanners, écrans...). On désire ainsi éviter la multiplication actuelle des connecteurs sur

les PC. Ce BUS permet la transmission de données, de la voix et de l'image compressée.

Cette nouvelle technique se doit d'être rapide, bidirectionnelle, synchrone, de faible coût et l'attachement d'un nouveau périphérique doit être dynamique. De plus la télé alimentation des équipements est possible. [7]

II.3.2 Les différents bus de périphériques externes et ports d’E/S

Tout système informatique est constitué d’une carte mère. Sur ces cartes mères,

outre les composants principaux tels que le processeur, le BIOS, la RAM ou la mémoire

cache, il faut absolument que ceux-ci puissent communiquer entre eux. C’est le rôle des BUS.

Le bus de périphériques permet les échanges entre un système et les périphériques externes

par le biais de connecteurs (ports). Ces échanges peuvent prendre la forme d'une liaison par

câble avec connecteurs appropriés. Il existe aussi des liaisons sans câble (infrarouge,

protocole RC5)

Port parallèle (Centronics) : Conçu à l'origine pour liaisons en sortie vers une

imprimante, il est utilisé pour bien d’autres choses, aussi bien en sortie (usage

standard) qu'en entrée-sortie (les données d'entrée transitent via les lignes de contrôle).

Port Série (RS 232 et UART 8250-16550) : Utilisé pour

connecter une grande variété de périphériques (imprimante série, souris, appareils

industriels, etc). Il peut être configuré de différentes manières, tant en ce qui

concerne la rapidité des échanges, qu'en ce qui concerne le format des mots

transmis ou le contrôle de la parité. Ceci nécessite de la part de l'utilisateur une bonne

Page 35: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

connaissance des réglages de l'appareil connecté. Le Port RS 232 est destiné aux

liaisons entre 2 appareils. Ce n'est donc pas exactement un bus (bus sous-entend une

information distribuée à un port E/ S certain nombre d'hôtes).

USB 1.1 et 2.0 : Il est amené à remplacer toutes les différentes sortes de

connexions d'entrée-sortie sur les PC. On peut y connecter tous les périphériques

et en grand nombre (127) en utilisant un "hub". Il est même amené à transmettre

les signaux vidéo. Il possède un certain confort d'utilisation (branchement à chaud :

hot Plug & Play). Le système reconnaît le périphérique, adapte son mode de

transmission, lui attribue une adresse (énumération) et l'alimente si sa puissance

nécessaire est faible. La liaison repose essentiellement sur une paire différentielle

mode série (câble 4 fils). Deux vitesses permettent de concilier le nombre d'hôtes

et la rapidité de transfert pour les seuls périphériques qui en ont besoin (détection

comme lent ou rapide). L'USB 1.1 est limité (1.5 Mbits/s en lent, 12 Mbit/s en

rapide) tandis que l'USB 2 annonce un débit max de 480 Mbits/s. Simple

mécaniquement, il ne l'est pas du point de vue électronique et nécessite une

configuration précise. La communication se fait selon un protocole "token ring"

(principe de l'anneau à jeton) plus complexe. La tendance est fortement orienté réseau.

Pour la réalisation de notre projet nous allons utiliser le bus universel en série.

II.3.3 Normes USB

On va présenter les 3 normes USB utilisée depuis l’apparition de la norme USB 1, en 1995.

La différence entre ces dévires réside dans la vitesse qui augmente d’une norme à un autre,

tout en ajoutant d’autres fonctions comme la fonction Mass Storage. [8]

a) USB 1(Full ou Low speed)

La Norme USB 1 regroupe USB 1.0 et USB 1.1 (fig II.6) qui permettent d’obtenir le débit de

12 Mbits (c’est la plein vitesse ou Full speed) ou bien le débit de 1.5 Mbits (la basse vitesse

ou Low Speed). Pour identifier la vitesse, l’appareil relié au bus USB précise sa vitesse en

reliant le fil D+ à 3.3V à travers une résistance de 15K dans le cas de la pleine vitesse. Dans

le cas de la basse vitesse le fil D- a 3.3V à travers résistance 15K . [8]

Page 36: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Figure II.6: logo norme USB 1

b) USB 2.0 (High Speed)

Le standard USB 2.0 (1999) permet de monter le débi

Speed) et peut ainsi contrer la célérité du bus Firewire d’

avantages (fig II.7). [9]

Figure II.7: logo norme USB 2

c) USB 3.0 (Super Speed)

Le standard USB 3.0 prouvantatteindre des vitesses

Figure II.8: logo norme USB 3

Réalisation oscilloscope numérique

logo norme USB 1. [9]

USB 2.0 (High Speed)

Le standard USB 2.0 (1999) permet de monter le débit à 480 Mbits/s (haute vitesse ou High

r la célérité du bus Firewire d’Apple qui possède bien d’au

logo norme USB 2. [9]

USB 3.0 (Super Speed)

Le standard USB 3.0 prouvantatteindre des vitesses de 4,8 Gbits/s 9 (fig II.8)

logo norme USB 3. [9]

t à 480 Mbits/s (haute vitesse ou High

qui possède bien d’autres

II.8).

Page 37: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

II.3.4 Connectique

a) Description du Câble USB

Le câblage USB est relativement simple, il a la même structure

transmission. Le câble transporte deux paires de fi

de données D+ et D- et une seconde paire qui peut être utilisé pour la

et Vusb. La première paire est non blindée pour les

claviers, souris fonctionnant à 1.5Mbits/s tan

une paire de fils torsadée blindée

b) Composition du câble USB

Comme le montre la figure II.9 , c

(Vusb = 5V et GND) et deux fils destinés au transfert de

entre deux PC est aussi possible par l’adjonction d

vigilance du PC maître et transforme le second PC e

blindage n'est pas obligatoire (ce qui assure une p

particulier pour une liaison souris).

Figure II.9

Réalisation oscilloscope numérique

Description du Câble USB

USB est relativement simple, il a la même structure quelle que soit la vitesse de

transmission. Le câble transporte deux paires de fils : La paire de signal destinée au transfert

et une seconde paire qui peut être utilisé pour la télé a

et Vusb. La première paire est non blindée pour les périphériques lents tels que les

claviers, souris fonctionnant à 1.5Mbits/s tandis que caméras, micro et autres ont recours à

une paire de fils torsadée blindée pour atteindre les 12Mbits/s. [9]

Composition du câble USB

omme le montre la figure II.9 , chaque connecteur dispose de deux fils d’alimentatio

= 5V et GND) et deux fils destinés au transfert de données (D+ et D

entre deux PC est aussi possible par l’adjonction d’une interface spéciale qui déjoue la

vigilance du PC maître et transforme le second PC en «esclave». En version Low Spe

blindage n'est pas obligatoire (ce qui assure une plus grande souplesse de manipulation en

liaison souris). [10]

Figure II.9: structure d’un câble USB

quelle que soit la vitesse de

ls : La paire de signal destinée au transfert

télé alimentation GND

périphériques lents tels que les

dis que caméras, micro et autres ont recours à

haque connecteur dispose de deux fils d’alimentation

données (D+ et D-).Une connexion

’une interface spéciale qui déjoue la

En version Low Speed le

lus grande souplesse de manipulation en

Page 38: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Longueur maxi = 5 m (3m si 1.5Mbit/s).

Temps de propagation maxi = 30 ns (

Diamètre extérieur : 3,4..5,3 mm

Paire données : torsadée (6..8 cm) (non tors

(American Wire Gauge) mini, isolant polyéthylène, Z

dB/1000 pieds à 10MHz.

Paire alimentation : non

alim. = 5 V, 0.5A max.

5Ecran : nécessaire si 12Mbit/s ou plus (optionnel s

c) Connecteurs USB

Il existe deux séries de connecteurs pour le bus

Figure II.10: connecteurs USB

Connecteur série A est destiné au raccordement montant vers le « Hosest sortante sur le réceptacle femelle (châssis).courts). Tandis que le Connecteur série B

Réalisation oscilloscope numérique

Longueur maxi = 5 m (3m si 1.5Mbit/s).

Temps de propagation maxi = 30 ns (< 1/2 bit).

Diamètre extérieur : 3,4..5,3 mm - couleur = blanc.

Paire données : torsadée (6..8 cm) (non torsadée toléré si 1.5Mbit/s), 28 AWG

(American Wire Gauge) mini, isolant polyéthylène, Zc = 90 ±15%, att

torsadée possible, isolant PVC (Polyvinyle

Ecran : nécessaire si 12Mbit/s ou plus (optionnel si 1.5Mbit/s).

Connecteurs USB

Il existe deux séries de connecteurs pour le bus USB (fig II.10) :

connecteurs USB0. [10]

estiné au raccordement montant vers le « Hosest sortante sur le réceptacle femelle (châssis). 4 contacts à plat (D+ et D

Connecteur série B est destiné au raccordement descendant du « Host »

adée toléré si 1.5Mbit/s), 28 AWG

±15%, atténuation = 38

Polyvinylechloride ), pour

estiné au raccordement montant vers le « Host », l’alimentation 4 contacts à plat (D+ et D- au milieu et plus

estiné au raccordement descendant du « Host »

Page 39: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

sur les périphériques, lorsqu’il y a un connecteur entrant. L’alimentation est entrante sur le réceptacle. 4 contacts (+v et D- d'un côté, Gnd et D+ de l'autre).

II.3.5 Les descripteurs

a) Définition d’un descripteur

On peut définir les descripteurs comme étant des blocs d’informations pré formatés. Tous composants USB doit obligatoirement posséder les descripteurs standards. Tous les transferts d’informations durant cette phase d’énumération se font suivant le type Control. Il va de soi que tout composant USB doit pouvoir être capable de supporter ce type de transfert. Nous verrons par la suite que ce n’est pas le cas pour tous les autres types de transfert que nous définirons. [11]

b) Rôle des descripteurs

Il existe sur le marché de nombreux périphériques USB. Il a fallu, lors de la création de la

norme USB, trouver un dispositif pour reconnaître chaque composant USB. Cela était

indispensable puisque l’USB devait être un dispositif plug&Play. Lors du branchement

du périphérique, le « host » autrement dit plus communément le PC, doit reconnaître

tous les périphériques qui lui sont branché. Tout le processus d’énumération se fait

grâce aux descripteurs qui sont rassemblés dans un fichier texte (fichier assembleur par

exemple): en général, un fichier assembleur, qui est ensuite programmé dans le système USB.

Lorsque l’on connecte ou déconnecte un périphérique, celui-ci fournit à l’hôte toutes les

informations nécessaires à son identification, c’est à dire ces descripteurs. Ils sont très utiles

pour l’hôte puisqu’il peut, de ce fait, connaître les caractéristiques périphériques comme par

exemple la gestion … etc.

Généralement, dans la plupart des périphériques, toutes ces informations sont stockées

dans la ROM des composants, et lors de l’énumération, le périphérique envoi

simplement ce fichier pour se faire connaître. [11]

II.3.6 Différents mode de transfert des données

- Transfert en mode Contrôle : Ce mode de transfert est compatible avec le Low et Full Speed USB. Il est utilisé pour les opérations d’initialisations et de configurations. Il est éventuellement utilisable pour les transferts standards. Le

Page 40: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

mode contrôle est aussi utilisé pour tenter d’obtenir un débit Low Speed acceptable, ou pour utiliser le driver de classe HID (Human Interface Device) standard.

- Transfert en mode Interrupt : Ce mode de transfert est également compatible avec le Low et Full Speed USB. Il est destiné à des échanges limités et périodiques, il garantit la fréquence de scrutation ainsi que la reprise sur les erreurs. Il est utilisé pour des transferts à l’initiative du périphérique (asynchrones) et pour des transferts périodiques ou permanents comme les claviers.

- Transfert en mode Isochrone: Ce mode de transfert est uniquement compatible avec le Full USB. La bande passante est garantie (début, latence), par contre dans ce mode il n’y a pas de reprise sur erreur. Il est utilisé pour des transferts nécessitant un flux régulier de données comme par exemple les caméras ou les téléphones … La bande passante réclamée et non utilisée est perdue.

- Transfert en mode Bulk : Ce mode de transfert est uniquement compatible avec le Full USB. Ce mode est réservé pour les gros transferts de données (ex : imprimantes…) Le débit est variable et dépend de la disponibilité. Ce mode assure la reprise sur les erreurs. Les échanges isochrones sont les plus privilégiés dans le sens ou le host leur réserve une bande passante garantie. Celui-ci peut refuser l’accès au bus à un périphérique s’il juge que les ressources qu’il requiert ne sont pas disponibles. [8]

II.4 Différents logiciel utilisé

II.4.1 Logiciel ARDUINO

L'environnement de programmation Arduino (IDE en anglais) est une application écrite en

java libre inspirée du langage Processing et multiplateforme, servant d'éditeur de code et de

compilateur, et qui peut transférer le firmware et le programme au travers de la liaison série

(RS-232, Bluetooth ou USB selon le module). Il est également possible de se passer de

l'interface Arduino, de compiler et uploader les programmes via l'interface en ligne de

commande. L'environnement de programmation Arduino (IDE en anglais) est une application

écrite en Java inspirée du langage Processing 2. L'IDE permet d'écrire, de modifier un

programme et de le convertir en une série d'instructions compréhensibles pour la carte. Le

langage de programmation utilisé est le C++, compilé avec avr-g++ , et lié à la bibliothèque

de développement Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La

mise en place de ce langage standard rend aisé le développement de programmes sur les

plates-formes Arduino, à toute personne maîtrisant le C ou le C++. L’exécution d'un

Page 41: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

programme Arduino s'effectue de

exécutées les unes à la suite des

Un programme Arduino comporte trois parties

1. la partie déclaration des variables

2. la partie initialisation et configuration des entré

3. la partie principale qui s'exécute en boucle

Figure II.11: présentation logiciel Arduino.

Quelques outils fréquemment utilises

Lorsque l'Arduino est connecté à un ordinateur, il

applications, notamment :

Réalisation oscilloscope numérique

programme Arduino s'effectue de manière séquentielle, c'est-à-dire que les instructions sont

exécutées les unes à la suite des autres. [12]

Un programme Arduino comporte trois parties (fig II.11) :

la partie déclaration des variables (optionnelle)

la partie initialisation et configuration des entrées/sorties : la fonction

la partie principale qui s'exécute en boucle : la fonction loop ()

présentation logiciel Arduino. [12]

outils fréquemment utilises avec ardu

Lorsque l'Arduino est connecté à un ordinateur, il est capable de communiquer avec diverses

dire que les instructions sont

: la fonction setup ()

ino

est capable de communiquer avec diverses

Page 42: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Processing : est un environnement de création fréquemment utilisé pour générer des

œuvres multimédias à partir d'un code informatique sur ordinateur.

Pure Data : (souvent abrégé Pd) est un logiciel de création multimédia interactive

couramment utilisé dans les domaines artistique, scientifique et pédagogique. Supercollider : est un environnement et un langage de programmation pour la

synthèse audio en temps réel et la composition algorithmique. Il est disponible pour

toutes les plates-formes et distribué sous licence GPL. S4A (Scratch For Arduino) : Scratch For Arduino (S4A) est une modification de

l'application Scratch qui permet de programmer simplement, facilement et

intuitivement des instructions à téléverser sur la carte Arduino. [12]

II.4.2 Logiciel Processing

Conçu par des artistes, pour des artistes, Processing est un environnement de création

fréquemment utilisé pour générer des œuvres multimédias à partir d'un code informatique sur

ordinateur. L'attrait de ce logiciel réside dans sa simplicité d'utilisation et dans la diversité de

ses applications : image, son, applications sur Internet et sur téléphones mobiles, conception

d'objets électroniques interactifs. Processing fédère une forte communauté d'utilisateurs

professionnels et amateurs : artistes, graphistes, vidéastes, typographes, architectes, web

designers et designers en général. Il est également utilisé par des enseignants en arts qui

souhaitent familiariser leurs étudiants avec les potentialités artistiques de la programmation,

les concepteurs du logiciel l'ayant pensé dès l'origine comme un outil d'apprentissage.

Il permettra de gérer l’affichage de notre oscilloscope numérique grâce à un programme qu’on

aura écrit, compiler et exécuter dans son éditeur de programme. Un exemple de code

Processing est utilisé dans notre projet « Oscilloscope ». La figure II.12 présente la fenêtre

de l’éditeur processing; nous remarquons qu’il a presque la même présentation que celui du

logiciel Arduino. [12]

Page 43: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Figure II.12: présentation du

II.4.3 Logiciel Proteus

Le logiciel ISIS (Proteus) est un éditeur de schéma électronique qui intègre u

analogique, logique ou mixte. Toutes les opérations

bien la configuration des différentes sources que l

courbes. Il permet de faire l’étude pratique mais virtuelle

réalisation (fig II.13).

Figure II.13: aperçu de l’affichage du logiciel

Réalisation oscilloscope numérique

logiciel processing

Logiciel Proteus

est un éditeur de schéma électronique qui intègre u

analogique, logique ou mixte. Toutes les opérations se passent dans cet environnement aussi

bien la configuration des différentes sources que le placement de la sonde et

Il permet de faire l’étude pratique mais virtuelle des schémas électronique avant leur

aperçu de l’affichage du logiciel Proteus ISIS.

est un éditeur de schéma électronique qui intègre un simulateur

se passent dans cet environnement aussi

e placement de la sonde et le tracé des

des schémas électronique avant leur

Page 44: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

CHAPITRE III

REALISATION DU PROJET

Page 45: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

III.1 présentation du montage

Nous allons réaliser un oscilloscope multivoies qui permet de d afficher un ou plusieurs signaux sur l’écran.

Pour réaliser notre montage nous avons besoin de :

Matériels

- Une carte ARDUINO UNO

- 2 Amplificateur (LM 324)

- 5 résistances pour une seule entrée

- 2résistances variables (potentiomètre)

- Le connecteur USB (Arduino-pc)

- Fil de connexion pour relier notre oscilloscope au montage dont on veut connaitre les caractéristiques.

La liste de matériels cite n est utiliser que pour une seule entrée analogique sur l arduino, pour

n entrées il faudra prévoir n fois le matériels

Logiciel

- Logiciel de programmation en Arduino

- Logiciel processing qui permettra l’affichage de notre oscilloscope

- Plateforme de simulation électronique Isis (Proteus)

III.1.1 Circuit d’entrée

Il est compose de 2 parti : l atténuateur basse fréquence et le circuit d’offset de notre

oscilloscope.

a) L’atténuateur BF

Etant donné que notre carte ne peut supporter que des tensions allant de 0 à 5V nous devons

prévoir un circuit pour atténuer la tension à l’entrée au cas où celle-ci est très élevée.

C’est un potentiomètre que nous allons mettre en entrée qui va permettre de crée une chute

tension afin de diminuer l’amplitude de la tension.

Si nous avons plutôt un signal trop faible, nous pouvons utiliser un amplificateur pour

augmenter l’amplitude du signal à mesurer.

}

Page 46: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

b) Circuits d’offset de notre oscilloscope

Compte tenu du fait que notre carte Arduino ne peut supporter les tensions négatives le

circuit d’offset que nous avons réalisé a pour but de rendre la tension alternative en une

tension continue sinusoïdale. Elle représente la tension que nous devons afficher sur

l’oscilloscope et elle est comprise entre 0 et 5V (fig III.1).

Figure III.1: circuit d’entrée de l’oscilloscope.[15]

Page 47: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

III.2 Programmation de l ARDUINO

À l’ouverture de l’éditeur des programmes en Arduin

figure III.2

Figure III.2: éditeur des programmes en arduino

Le programme rédiger pour la programmation de notre

de mesurer une tension sur une des

connecté aupin « GND », qui correspond au 0 V. Le second sera conn

1 ou 2 en fonction du programme

circuit à mesurer.

// //////////////////// PRESENTATION DU

// --- Fonctionnalités utilisées ---

// Utilise la connexion série matérielle vers le PC

// Utilise / fonctionne avec une interface Processi

// Utilise la conversion analogique numérique 10 bits

// -------- Circuit à réaliser ---------

Réalisation oscilloscope numérique

Programmation de l ARDUINO

À l’ouverture de l’éditeur des programmes en Arduino nous avons la page d’accueil

éditeur des programmes en arduino. [12]

Le programme rédiger pour la programmation de notre arduino est assez simple

sur une des entrées analogiques de la carte Arduino.

« GND », qui correspond au 0 V. Le second sera connecté au pin Analogin 0

1 ou 2 en fonction du programme. Les extrémités libres vont servir à faire les contacts

// //////////////////// PRESENTATION DU PROGRAMME ////////////////////

---

// Utilise la connexion série matérielle vers le PC

// Utilise / fonctionne avec une interface Processing coté PC

on analogique numérique 10 bits

---------

page d’accueil de la

est assez simple car il s’agit

entrées analogiques de la carte Arduino. Un des fils sera

ecté au pin Analogin 0,

extrémités libres vont servir à faire les contacts avec le

Page 48: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

// La connexion série matérielle vers le PC utilise les broches 0 et 1 (via le câble USB)

// Broche 14 : La sortie d'une résistance variable connectée entre le 0V et le 5V

// /////////////////////////////// 1. Entête déclarative ///////////////////////

// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets //utiles

// --- Déclaration des constantes ---

// --- Inclusion des librairies ---

// --- Déclaration des constantes utiles ---

// --- Déclaration des constantes des broches E/S numériques ---

// --- Déclaration des constantes des broches analogiques ---

Constint Voie[6]={0,1,2,3,4,5}; //declaration constante de broche analogique

// --- Déclaration des variables globales ---

intmesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique

floatmesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique

// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---

// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation //////////////////////////

// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

voidsetup() { // debut de la fonction setup()

// --- ici instructions à exécuter 1 seule fois au démarrage du programme ---

// ------- Initialisation fonctionnalités utilisées -------

Serial.begin(115200); // initialise connexion série matérielle à 19200 bauds

// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission

// ------- Broches en sorties numériques -------

// ------- Broches en entrées numériques -------

// ------- Initialisation des variables utilisées -------

// ------- Codes d'initialisation utile -------

} // fin de la fonction setup()

Page 49: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

/////////////////3. FONCTION LOOP = Boucle sans fin =

// la fonction loop() s'exécute sans fin en boucle tension

voidloop(){ // debut de la fonction loop()

// --- ici instructions à exécuter

//---- envoie sur le port série les 6 mesures sous la formCAN=:val0:val1:val2:val3:val4:val5:=finCAN

//--- les : sont utilisés comme séparateur par

Serial.print("CAN=:"); // chaine de début

for (int i=0; i<6; i++) { // défile les vois analogiques

// acquisition conversion analogique

mesure_brute=analogRead(Voie[i]);

// affiche valeur numerique entière ou à virgule au

Serial.print(mesure_brute);

Serial.print(":"); // séparateur entre les valeurs

} // fin for i

Serial.println("=finCAN"); // f

delay(100); // fixe une pause entre 2 mesures

// plus le délai est court, plus la trace est rapide

} //fin de la fonction loop() - le programme recommence au début de la fonction loo[13]

Après avoir compilé nous devonsséquence suivante l’indique.

Compiler le programme

S effectue en cliquant sur

Cliquer sur outil// type de carte ’’ Arduino/Genuin

Permet de choisir le type de la carte à utiliser. N

Réalisation oscilloscope numérique

FONCTION LOOP = Boucle sans fin = cœur du programme //////////////////

// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous

// debut de la fonction loop()

ici instructions à exécuter par le programme principal ---

envoie sur le port série les 6 mesures sous la forme CAN=:val0:val1:val2:val3:val4:val5:=finCAN

les : sont utilisés comme séparateur par le programme Processingcté PC

nt("CAN=:"); // chaine de début

file les vois analogiques

// acquisition conversion analogique-numerique (CAN) sur la voie analogique

mesure_brute=analogRead(Voie[i]);

// affiche valeur numerique entière ou à virgule au format décimal

// séparateur entre les valeurs

Serial.println("=finCAN"); // fin de la chaine + saut de ligne

delay(100); // fixe une pause entre 2 mesures

court, plus la trace est rapide

le programme recommence au début de la fonction loo

Après avoir compilé nous devons télécharger ce programme dans la carte Arduino,

Compiler le programme :

iquant sur l’icône en haut du compilateur

Cliquer sur outil// type de carte ’’ Arduino/Genuinouno ’’

Permet de choisir le type de la carte à utiliser. Nous utiliserons l’Arduino/Genuinouno

du programme //////////////////

que l'Arduino est sous

le programme Processingcté PC

numerique (CAN) sur la voie analogique

le programme recommence au début de la fonction loop sans fin.

ce programme dans la carte Arduino, comme la

ous utiliserons l’Arduino/Genuinouno

Page 50: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Cliquer sur outil// port

Permet de choisir le port qui sera utilisé

Puis cliquer sur téléverser

En ouvrant le moniteur sériel, on pourra voir apparaître les mesures succe

valeurs varient entre 0 et1023 quand la tension aux

seconde parti de notre programme permettra de gérer l’affic

fera à l’aide du logiciel ’’ PROCESSING ’’

’’frère ’’ de celui de l`Arduino.

III.3 Interface graphique

L’interface graphique est réaliser grâce

logiciel processing. Ce dernier doit communiquer av

afin de reconstruire le signal (fig

Figure III.3:Communication A

Réalisation oscilloscope numérique

Permet de choisir le port qui sera utilisé, le nôtre est le ’’ COM1 ’’

Puis cliquer sur téléverser

sériel, on pourra voir apparaître les mesures succe

valeurs varient entre 0 et1023 quand la tension aux pointes de touches varie entre 0 et 5 V.

parti de notre programme permettra de gérer l’affichage de notre oscilloscope et il se

fera à l’aide du logiciel ’’ PROCESSING ’’ que nous pourrons dire est comme un logiciel

frère ’’ de celui de l`Arduino.

III.3 Interface graphique

graphique est réaliser grâce à un programme saisie, compiler et exécuter dans le

logiciel processing. Ce dernier doit communiquer avec le programme installé

(fig III.3).

ommunication Arduino–Processing. [14]

sériel, on pourra voir apparaître les mesures successives défilées. Les

pointes de touches varie entre 0 et 5 V. La

hage de notre oscilloscope et il se

s dire est comme un logiciel

un programme saisie, compiler et exécuter dans le

installé dans l’Arduino

Page 51: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

/////////Programme processing////////////////

*/oscilloscope minimaliste avec un arduinorécupère les valeurs via une liaison série*/

importprocessing.serial.*;

// i]mportation de la librairie de communication serie

//variables

Serial maConnection; // Crée un objet de communication série

int tension=0; // variable ou sera stockée la valeur de la tension

//affichage

intfenetreTemps=12000; // temps pour parcourir la largeur de l'écran en millisecondes

int x=0;

int y=0;

voidsetup() {

size(650, 400); // taille de l'ecran

String NomDuPort = Serial.list()[0]; // récupère la première interface serie trouvée

println("connection a "+NomDuPort);

maConnection = new Serial(this, NomDuPort, 19200); // création de la connexion série

background(255); // fond d'écran blanc

smooth(); // lisser les dessins

strokeWeight(2); // largeur de trait

stroke(40); // couleur du trait gris

}

voiddraw() { //boucle de dessin principale

Page 52: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

//rien ne s'y passe, tout est géré dans la fonction serialEvent

}

voidserialEvent (Serial maConnection) { // si des données arrivent par la connexion série

String retour=maConnection.readStringUntil('\n'); // lit la donnée jusqu'à la fin de ligne

if (retour != null) { //si le retour n'est pas vide

retour = trim(retour); // enlever les espaces

tension = int(retour); // converti le texte en nombre entier

}

//détermination du X actuel

intoldx=x;

x=(millis()% fenetreTemps)*width/fenetreTemps;

if (oldx>x) {

//reprise au debut de l'écran

oldx=0;

background(255); //fond d'écran blanc

}

//determination de la valeur de Y

intoldy=y;

y=int(map(tension, 0, 1023, 380, 20)); // mise à l'échelle de la tension pour entrer dans l'écran

line(oldx, oldy, x, y); // dessine le trait

}// fin du programme. [14]

Pour exécuter le programme, il suffit de cliquer sur le bouton « Play ». Vérifiez auparavant

que le moniteur sériel du programme Arduino est bien fermé, sans quoi la communication

avec Processing ne voudra pas s'initialiser. En effet, la communication sérielle avec l'Arduino

Page 53: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

est exclusive, ce qui signifie qu'un seul programme à l

un port sériel avec l'Arduino. En fermant le moniteur

ainsi libre pour une autre application. Il es

différents(notamment avec les pin

avec différents logiciels. [14]

Le programme, en s'exécutant affic

et leur variation au cours du temps

Figure III.4 :Affichage de la courbe sur processing

III.4 Simulation sur Proteus

Maintenant voyons comment se comporte notre oscilloscope en temps

comment il fonctionne virtuellement.

comprendre son fonctionnement afin

conception (fig III.5).

TRIGGER :

Source sur voie A, c’est sur cette voie que

synchroniser mode sur AUTO

Réalisation oscilloscope numérique

exclusive, ce qui signifie qu'un seul programme à la fois peut ouvrir et communiquer sur

port sériel avec l'Arduino. En fermant le moniteur sériel, la connexion sérielle est fermée et

libre pour une autre application. Il est possible d'utiliser plusieurs ports sériels

différents(notamment avec les pins digitaux de l'Arduino) pour établir plusieurs connexions

Le programme, en s'exécutant affichera la fenêtre qui va permettre de voir l’allure d

ur variation au cours du temps (fig III.4).

Affichage de la courbe sur processing

Simulation sur Proteus

comment se comporte notre oscilloscope en temps

comment il fonctionne virtuellement. Cette simulation va nous permettre

comprendre son fonctionnement afin de mieux nous appliquer sur l’aspect pratique de la

Source sur voie A, c’est sur cette voie que l’oscilloscope essayera de tr

mode sur AUTO

a fois peut ouvrir et communiquer sur

sériel, la connexion sérielle est fermée et

t possible d'utiliser plusieurs ports sériels

de l'Arduino) pour établir plusieurs connexions

hera la fenêtre qui va permettre de voir l’allure des signaux

réel en regardant

Cette simulation va nous permettre de mieux

de mieux nous appliquer sur l’aspect pratique de la

l’oscilloscope essayera de trouver le signal à

Page 54: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Détection de front montant

Déclanchement sur DC

Level sur 0

Horizontal :

20 uS par carreau

Position de début de synchronisation sur 200

Source de balayage horizontale interne (sur le triangle orange)

Channel A :

Régler la position de manière à placer le niveau 0 vers la haut.

Affichage sur DC

0,2V par carreaux

Figure III.5 : simulation de l’oscilloscope sur proteus ISIS

Page 55: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Dans ce chapitre, nous avons mis en évidence le rôle des blocs d'oscilloscope que nous avons

réalisé, comme nous avons expliqué aussi le rôle de l'interface utilisateur sous

l’environnement C#.

Page 56: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Conclusion générale

Pour réaliser l’oscilloscope numérique on a eu besoin de revoir les notions théoriques sur le

fonctionnement de l’oscilloscope analogique pour en tenir compte dans sa conception

numérique.

Pour la mise en œuvre de notre projet, on a eu connaissance de l’utilisation de l’arduino

mais aussi sur le microcontrôleur pic 16F. Toute fois notre choix s’est surtout focalise sur

l’arduino pour la mise en pratique de notre oscilloscope numérique pour la simple raison de

son libre accès mais aussi de sa performance

La maitrise du fonctionnement de la carte Arduino et de son microprocesseur ATMega

328 a dû être nécessaire afin de mieux adapter notre montage.

La vitesse de transmission des données entre le PC et l’arduino utilisée est de 15 Mbps.

Cette dernière ne peut être atteinte qu’avec le bus USB et plus précisément la norme USB Full

Speed. Ainsi l’idée d’utiliser le port série est à rejeter à cause des valeurs de la vitesse qui sont

permises.

Tout au long de chemin , on a eu connaissance de l’utilisation des certains logiciels

comme l’arduino ,le processing et proteus qui nous ont permis de bien perfectionner notre

oscilloscope numérique en fin qu’il puisse répondre au besoin demander

Au bout du compte, la réalisation de ce projet nous permit aussi de mieux assimilée les

notions sur l’électronique embarquée notamment avec la programmation des logiciels comme

Arduino, processing aux quel nous n’étions pas habituer ce qui nous permis de bien assimiler

et mettre en pratique certains notions informatiques vues en cours . Il nous a également

permis d’accroitre nos notions sur la simulation virtuelle grâce aux logiciels ISIS Proteus.

Avec ces propositions, on pense présenter un produit compétitif sur le marché des

oscilloscopes numériques.

Page 57: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

ANNEXE I: Datasheet Arduino ATMEGA328

Page 58: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 59: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

ANNEXE II: Datasheet pic16F84

Page 60: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

ANNEXE III: Datasheet LM324

Page 61: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

ANNEXE IV: Proteus ISIS

Page 62: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 63: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Choisissez son orientation en activant les touches suivantes, en bas de l'écran à gauche:

Cliquez alors "gauche" dans la zone de travail où vous souhaitez le placer, puis sélectionnez-le (clic droit), il apparaît alors en surbrillance rouge, enfin éditez-le (clic gauche). Donnez une référence au composant placé, CI1:A, par exemple, CI1:B pour le suivant... Les propriétés de votre composants peuvent également apparaître sous forme de texte comme sur l'écran de droite ci-dessous.

REALISATION DES LIAISONS ENTRE COMPOSANTS:

Placez le curseur à l'extrémité de la borne concernée, une croix matérialise la possibilité de faire une liaison; cliquez alors "gauche" pour débuter la liaison, tracez-la en cliquant à chaque fois que vous voulez faire un angle, puis cliquez "gauche" de nouveau à l'endroit où elle se termine, c'est à dire lorsqu'une nouvelle croix matérialise la possibilité de terminer la liaison. On peut également cliquer une première fois "gauche" au point de départ, puis de nouveau au point d'arrivée, et laisser le logiciel chercher un tracé; mais cette solution oblige souvent à reprendre le tracé pour obtenir une solution satisfaisant le concepteur.

Page 64: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 65: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

ANNEXE V: Descripteur USB

Page 66: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 67: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 68: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Page 69: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

Réalisation oscilloscope numérique

Références

[1]: http://fr.wikipedia.org/wiki/Oscilloscope, «Oscilloscope», 24 Février 2017.

[2]: Patrick LESNE, «Mesures à l’aide de l’oscilloscope», Edition T.I , 10 Décembre 1998.

[3]: Ian Hickman, «Digital Storage Oscilloscopes», 1st Edition, 9 Janvier 1997.

[4]:http://spiffie.org/know/arduino_328/use.shtml, 7 mars 2017.

[5]:http:// ProPic.html 7 mars 2017.

[6]:http://oumnad.123.fr/Microcontroleurs/PIC16F84.pdf, «Les microcontrôleurs PIC de

microchip», 7 mars 2017.

[7]: http://www.usb.org/ «USB.org», 8 Mars 2017.

[8]: http://www.beyondlogic.org/usbnutshell/usb1.shtml, «USB in a NutShell», 12 Mars 2017.

[9]: http://reseaumaroccom/files/Le%2520bus%2520USB.pdf, «Le bus USB»,12 Mars 2017.

[10]: http://www.commentcamarche.net/contents/773-usb, «USB», 13 Mars 2017.

[11]: http://www.microtel.fr.eu.org/Clubs/CAEN.MTL/Mac/Tout_sur_USB2.pdf, «Tout sur l’USB», 13 mars 2017.

Mai 2013. 13 mars 2017.

[12]:http://wiki/Generation_chapter_%20Programmer-Arduino%20_%20Arduino.html, 15 mars 2017

[13]:http: www.francoistessier.info/blog/2011/07/06/programmation-arduino-en-ligne-de-commande, 15 mars 2017.

[14]:www.Mon-Club-Elec.fr /MAIN Arduino Expert, 15 mars 2017.

[15] : Technique de l’électronique discrète, cours semestre 5 , département électronique ,ESPA ,2015-2016

Page 70: UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEUR …

THEME: ETUDE ET REALISATION D’UN OSCILOSCOPE NUMERIQUE

AUTEUR: Andile Said Ibroihim *

Kenfack Teufack Frank Pavel **

NOMBRE DE PAGE: 66

NOMBRE DE FIGURE: 24

RESUME

L’oscilloscope est un appareil de mesure indispensable dans tous les laboratoires

.Actuellement l’oscilloscope numérique remplace presque complètement l’oscilloscope

analogique. Pour cela on a pensé à la réalisation d’un oscilloscope numérique portatif

.L’oscilloscope réalisé dans ce projet est connectable au PC à l’aide du Bus universel en

série(USB). L’interface utilisateur, réalisé sous l’environnement java, contrôle la

communication entre la carte Arduino (dont le cœur est le microcontrôleur ATMega 328) et

l’ordinateur. Cette interface qui gère l’affichage de notre oscilloscope est réalisée grâce au

logiciel processing. La fréquence du signal acquit est limité par le temps de conversion du

microcontrôleur.

Mot clés: Oscilloscope, USB, carte Arduino, processing, Microcontrôleur.

Directeur de mémoire : Monsieur Rastefano Elisée

Contacts des auteurs : [email protected] *

[email protected] **