Sunteți pe pagina 1din 104

Rpublique Algrienne Dmocratique et Populaire

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Abou bekr Belkaid Tlemcen
Facult de Technologie

Dpartement de Gnie Electrique et Electronique

Filire : Instrumentation Electronique

Projet de Fin dEtudes


Master : Master II
Option : Instrumentation Electronique

Intitul :

ETUDE ET REALISATION D'UNE CARTE DE COMMANDE


DE TROIS MOTEURS PAS A PAS POUR MACHINE
DE PROTOTYPAGE RAPIDE

Prsent par : Mr Taleb Bendiab Zakaria

Jury :
Prsident : Mr Benallal Mohamed (MAA) (Universit de Tlemcen)

Encadreur : Mr Nemiche Ahmed (MAA) (Universit de Tlemcen)


Examinateur : Mr Bechar Hassan (MAA) (Universit de Tlemcen)

Anne Universitaire : 2013 /2014


Je ddie ce modeste travail :
A ma femme et mes trois enfants :
Pour tous les sacrifices quils ont faits pour moi, pour leur
soutien continu durant mon travail. Que dieu vous protge.
A mes frres et surs :
Que Dieu vous garde, Je vous aime et je vous souhaite une vie
pleine de succs et de russite.
A la famille de ma femme :
Qui mont soutenue durant toute cette priode, dieu vous garde.
Ainsi qu mon gendre Sidi Mohamed, que dieu te protge et te
guide dans le droit chemin.
Et enfin a tout ce ceux qui mont aid de prs ou de loin dans
mon travail ainsi qu tous les membres de la promotion de
Master 2 en instrumentation lectronique 2013 /2014
Tout dabord,
Je tiens remercier et glorifier Dieu le tout puissant et misricordieux
davoir guid mes pas avec clairvoyance pour accomplir ce travail et de le
mener terme.
Je tiens remercier aussi mon promoteur,
Monsieur Ahmed NEMICHE
Davoir accept de mencadrer pour lexcution de ce Projet.
Je tiens remercier aussi,
Monsieur Boumdine BELARBI
Qui a bien voulu me guider tous le long de ce mmoire, Avec sa
grande disponibilit, sa rigueur scientifique et ses prcieux conseils qui
mont permis de travailler dans de meilleures conditions.
Par ailleurs, Mes remerciements, Monsieur Benallal Mohamed qui
ma fait lhonneur, de bien vouloir accepter de prsider le jury ainsi qu
Monsieur Bechar Hassan en tant quexaminateur.
Et enfin, je tiens remercier tous les membres du dpartement de
Gnie Electrique et Electronique et de la facult de Technologie de
Luniversit Abou Bekr Belkaid qui mont aid dans mon travail.
Sommaire 2014

Sommaire

Table des Figures ................................................................................................... 4


Table des Tableaux ................................................................................................ 6
Rsum .................................................................................................................. 7
Introduction Gnrale ........................................................................................... 8

Chapitre I : Les Moteurs Pas A Pas (Caractristiques et Mode de Commande)


Introduction ......................................................................................................... 10
1.1. Gnralits ....................................................................................................12
1.2. Technologie des moteurs pas pas .............................................................. 13
1.2.1. Moteurs pas pas rotatifs ..................................................................... 13
1.2.1.1. Moteur pas pas rotatif reluctance variable ............................... 13
1.2.1.2. Moteur pas pas rotatif aimant permanent ............................... 15
1.2.1.2.1. Les moteurs unipolaires .......................................................... 17
1.2.1.2.2. Les moteurs bipolaires ............................................................ 19
1.2.1.3. Moteur pas pas rotatif hybrides .................................................. 21
1.2.2. Moteurs pas pas linaires ................................................................... 23
1.2.2.1. Moteur pas pas linaire reluctance variable ............................ 24
1.2.2.2. Moteur pas pas linaire polarises ............................................... 24
1.2.2.2.1. Les moteurs aimant permanent ......................................... 24
1.2.2.2.2. Les moteurs hybrides ............................................................ 24
Conclusion ........................................................................................................... 25

Chapitre II : LInterface USB (Approche Thorique et Pratique)


Introduction ........................................................................................................ 26
2.1. Caractristiques gnrales ........................................................................... 28
2.2. Caractristiques mcaniques ....................................................................... 30

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 1
Sommaire 2014

2.3. Caractristiques lectriques ......................................................................... 32

2.4. Identification de la vitesse ............................................................................ 33


2.5. Lalimentation USB (Vbus) .............................................................................. 34
2.6. Courant de veille ........................................................................................... 36
2.7. Accs au mode veille .................................................................................... 36
2.8. Les protocoles USB ....................................................................................... 37
2.9. Les champs de paquet USB ordinaires ......................................................... 37
2.9.1. Le champs SYNC .................................................................................... 38
2.9.2. Le champs PID ....................................................................................... 38
2.9.3. Le champs ADDR ................................................................................... 39
2.9.4. Le champs ENDP ................................................................................... 39
2.9.5. Le champs CRC ...................................................................................... 39
2.9.6. Le champs EOP ...................................................................................... 40
2.10. Les types de paquet USB ............................................................................ 40
2.10.1. Les paquets jetons ............................................................................... 40
2.10.2. Les paquets de donnes ...................................................................... 40
2.10.3. Les paquets " poigne de mains " ....................................................... 40
2.10.4. Les paquets dbut de trame (SOF) ...................................................... 40
2.11. Les fonctions USB ....................................................................................... 41
2.12. Les terminaisons (Endpoint) ...................................................................... 43
2.13. Les canaux de communications (Pipes) ..................................................... 43
2.14. Les types de terminaisons (Endpoints) ...................................................... 43
2.14.1. Les transferts de commande .............................................................. 44
2.14.1.1. Ltape dinstallation (Setup Stage) ............................................. 44
2.14.1.2. Ltape de donnes (Data Stage) ................................................. 45
2.14.1.3. Ltape dtat (Status Stage) ........................................................ 46
2.14.2. Les transferts dinterruption ............................................................... 49
2.14.3. Les transferts Isochrones .................................................................... 51
2.14.4. Les transferts En Bloc (BULK) .............................................................. 52

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 2
Sommaire 2014

2.15. La gestion de la bande passante ................................................................ 54

2.16. Les descripteurs USB .................................................................................. 54


2.16.1. Le descripteur dappareil (Device Descriptor) ..................................... 57
2.16.2. Le descripteur de configuration (Configuration Descriptor) ............... 58
2.16.3. Le descripteur dinterface (Interface Descriptor) ................................ 60
2.16.4. Le descripteur de terminaison (Endpoint Descriptor) ......................... 61
2.16.5. Le descripteur de chaine de caractres (String Descriptor) ................ 63
2.17. Le paquet dinstallation .............................................................................. 64
2.17.1. Les requtes dappareil standard ........................................................ 66
2.17.2. Les requtes dinterface standard ....................................................... 68
2.17.3. Les requtes de terminaison standard ................................................ 69
2.18. Lnumration ............................................................................................ 70
Conclusion ........................................................................................................... 72

Chapitre III : La Carte dInterface (Thorie et Ralisation Pratique)


Introduction ........................................................................................................ 73
3.1. Structure gnrale de la carte ...................................................................... 74
3.2. Lunit de contrle ....................................................................................... 76
3.3. Lunit de commande de moteur pas pas ................................................. 77
3.3.1. Prsentation du circuit intgr L297 ..................................................... 78
3.3.2. Prsentation du circuit intgr L298 ..................................................... 80
3.4. Software et programmation avanc ............................................................ 81
3.4.1. Programmation du PIC18F4550 ............................................................ 82
3.4.2. Programmation VISUAL C++ .................................................................. 85
3.5. Ralisation du circuit imprim ...................................................................... 87
Conclusion ........................................................................................................... 88

Conclusion gnrale ............................................................................................ 89

Bibliographie ........................................................................................................ 90

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 3
Table Des Figures 2014

Table Des Figures


Figure 1.1 : Imprimante 3D-EXTRU3D ( gauche) et sa Carte dinterface
( droite) .......................................................................................... 10
Figure 1.2 : Vue densemble dun moteur pas pas .......................................... 12
Figure 1.3 : Structure classique dun moteur reluctance variable rotatif double
saillance ........................................................................................... 14
Figure 1.4 : Structure interne dun moteur aimant permanent ...................... 16
Figure 1.5 : Fonctionnement schmatique dun moteur pas pas ..................... 17
Figure 1.6 : Reprsentation schmatique dun moteur unipolaire ..................... 18
Figure 1.7 : Squence de rotation simple ............................................................ 18
Figure 1.8 : Reprsentation schmatique dun moteur bipolaire ....................... 19
Figure 1.9 : Squences de commande dun moteur bipolaire .............................21
Figure 1.10 : Moteur pas pas hybride ............................................................... 21
Figure 1.11 : Structure interne dun moteur hybride .......................................... 22
Figure 2.12 : Topologie du bus USB ..................................................................... 29
Figure 2.13 : Codage NRZI ................................................................................... 30
Figure 2.14 : Diffrents types de connecteurs USB ............................................. 31
Figure 2.15 : Cble USB ........................................................................................32
Figure 2.16 : Appareil pleine vitesse avec rsistance de rappel tat haut branch
sur D+ .............................................................................................. 33
Figure 2.17 : Appareil pleine vitesse avec rsistance de rappel tat haut branch
sur D- ............................................................................................... 34
Figure 2.18 : Structure du champ PID ..................................................................39
Figure 2.19 : Structure du champ ADDR .............................................................. 39
Figure 2.20 : Structure du champ ENDP .............................................................. 39
Figure 2.21 : Structure dun paquet jeton ........................................................... 40
Figure 2.22 : Structure dun paquet de donnes ................................................. 40
Figure 2.23 : Structure dun paquet poigne de mains ................................. 41
Figure 2.24 : Structure dun paquet dbut de trame .......................................... 41

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 4
Table Des Figures 2014

Figure 2.25 : Exemple de fonction USB ............................................................... 42


Figure 2.26 : Etape dinstallation ........................................................................ 45
Figure 2.27 : Etape de donnes ........................................................................... 46
Figure 2.28 : Etape dtat (entre) ...................................................................... 47
Figure 2.29 : Etape dtat (sortie) ....................................................................... 47
Figure 2.30 : Transaction dinterruption dente (IN) et de sortie (Out) ............ 50
Figure 2.31 : Transaction Isochrone dente (IN) et de sortie (Out) ................... 52
Figure 2.32 : Transaction en bloc dente (IN) et de sortie (Out) ....................... 53
Figure 2.33 : Hirarchie des diffrents descripteurs USB .................................... 55
Figure 2.34 : Diagramme dtat dun appareil USB ............................................. 71
Figure 3.35 : Schma synoptique de la carte de commande .............................. 75
Figure 3.36 : Brochage du PIC18F4550-TQFP44 .................................................. 76
Figure 3.37 : Brochage et structure interne du circuit L297 ............................... 79
Figure 3.38 : Brochage et structure interne du circuit L298 ............................... 81
Figure 3.39 : Structure des fichiers constituant le programme pour
le PIC18F4550 ................................................................................. 82
Figure 3.40 : Organigramme du programme pour le PIC18F4550 ......................84
Figure 3.41 : Simulation du Programme sur PROTEUS-ISIS ................................. 85
Figure 3.42 : Interface utilisateur pour le programme de commande ................ 86

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 5
Table Des Tableaux 2014

Table Des Tableaux


Tableau 1.1 : Ordre des diffrentes commandes pour moteur reluctance
variable ...................................................................................... 15
Tableau 1.2 : Ordre des diffrentes commandes pour moteur unipolaire ......... 19
Tableau 1.3 : Ordre des diffrentes commandes pour moteur bipolaire ........... 20
Tableau 2.4 : Brochage des diffrents connecteurs USB .................................... 32
Tableau 2.5 : Les diffrentes valeurs du PID ....................................................... 38
Tableau 2.6 : Format du descripteur dappareil ................................................. 57
Tableau 2.7 : Format du descripteur de configuration ....................................... 59
Tableau 2.8 : Format du descripteur dinterface ................................................ 60
Tableau 2.9 : Format du descripteur de terminaison ......................................... 62
Tableau 2.10 : Format du descripteur de chane Zro ........................................ 63
Tableau 2.11 : Format du descripteur de chane ................................................ 64
Tableau 2.12 : Format du paquet dinstallation .................................................. 65
Tableau 2.13 : Requtes dappareils standards .................................................. 67
Tableau 2.14 : Requtes dinterfaces standards ................................................. 68
Tableau 2.15 : Requtes de terminaisons standards .......................................... 69

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 6
Rsum 2014

Rsum
Le prototypage rapide est une technologie extrmement importante qui est devenu au
fil du temps une technologie grand public pour la production de modles pour valuer
l'ajustement et la forme de l'outillage pour la fabrication faible volume. Les diffrents
procds utiliss sont la Stro lithographie ou photopolymre, le Frittage laser ou mise
en forme, le dpt par fusion (FDM), lImpression jet d'encre et 3D, la lamination ou la
stratoconception.

Toutefois, les tendances cls de l'industrie RP sont des machines de a faible cout et des
applications ncessitant plus de prcision vue partir des systmes antrieurs. Plus
prcisment, il s'agit, notamment, de lamlioration de la qualit, de la rduction des
dlais, de lconomie de cots, de la rduction du personnel et de la possibilit d'ajouter
de nouvelles fonctionnalits. Cependant, pour illustrer limportance du travail, laxe de
notre intervention est dirig vers linterface de commande qui est la partie lectronique
de la machine Imprimante 3D . II serait intressant de chercher raliser de futures
tudes de plus grande envergure, en ce sens.

Mots cls : Prototypage rapide, Protocole USB, Moteur Pas pas, PIC 18F4550.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 7
Introduction Gnrale 2014

INTRODUCTION GENERALE :
Une machine-outil commande numrique (MOCN, ou simplement CN) est une
machine-outil dote d'une commande numrique. Lorsque la commande numrique est
assure par un ordinateur, on parle parfois de machine CNC pour computer numerical
command, francis en commande numrique par calculateur .

Dans notre tude, nous avons essay de rassembler les diffrents lments qui
constituent une machine commande numrique.

Nous avons la partie lectronique qui constitue linterface de commande entre


lutilisateur et la machine, elle permet lutilisateur de transmettre des commandes
simples a la machine et ceci via une interface (dans notre cas, nous avons utilis linterface
USB).

La partie lectronique, sur laquelle se base notre tude, transforme les commandes
envoyes par lutilisateur en impulsion lectrique dans le but de faire tourner des moteurs
(dans notre cas, des moteurs pas pas) qui produiront leurs tour des mouvements
mcanique de translation dans diffrentes directions.

Notre tude va se baser essentiellement sur la partie lectronique. Il y a tout dabord


linterface Homme-Machine, celle-ci permet lutilisateur deffectuer des commandes via
un logiciel que nous avons mis au point laide dun langage de programmation volu
(Visual C++). Ce logiciel transmet des donnes la carte de commande via linterface USB.
La carte lectronique est pilote par un microcontrleur (Microchip PIC18F4550) qui
assure la conversion des commandes envoyes par lutilisateur en signaux lectriques
permettant de faire tourner les moteurs pas pas des diffrents axes de la machine.

Pour la partie mcanique, nous avons essay de la mettre au point du mieux quon a pu,
et ceci afin de montrer le fonctionnement dune machine commande numrique mme
si elle ne rentre pas dans le domaine de notre spcialit et quelle relve du domaine des
applications mcaniques.

Les machines commandes numrique (CNC) sont utilises aujourdhui dans diffrents
domaines dapplication. Nous avons les machines-outils (fraiseuse, tours numriques etc..),
les imprimantes 3D utiliss pour faire du prototypage rapide ainsi que les machines de
perage automatique.

Assignes leur origine l'usinage dit 3 axes , de par les performances et possibilits
des matriels et logiciels associs sans cesse croissant, les commandes numriques sont de
plus en plus utilises dans les procds o il est requis de dplacer un ou des mobiles dont

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 8
Introduction Gnrale 2014

les mouvements sont interpols (vitesses des axes concourant au dplacement d'un point
Lies entre elles) avec des contraintes de vitesse trs faibles ou trs leves (de 0,001
m/min 130 m/min) et/ou de trs grande prcision de trajet ou de positionnement (<
0,001 mm). (A noter que ces performances dpendent des capacits de la machine les
atteindre). De plus, certains procds actuels requirent de mouvoir non pas trois, quatre,
cinq axes mais dix, vingt axes et mme plus. Il n'est pas donc pas rare de voir une
commande numrique piloter simultanment trente axes. Enfin, la puissance des
microprocesseurs actuels ou circuits ddis (FGPA, ASICS) permet d'excuter avec clrit
les algorithmes complexes de cinmatique que requirent par exemple les machines dites
"hexapode".

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 9
CHAPITRE I :

Les Caractristiques et
Les Modes de Commande
Des Moteurs Pas Pas
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

INTRODUCTION :

Les moteurs pas pas sont des transducteurs lectromcaniques qui assurent la
conversion des signaux lectriques digitaux ou impulsionnels en mouvement de rotation
ou de translation de type incrmental.

Les moteurs pas pas, utiliss pratiquement dans tous les composants dun systme
informatique, sont trs mal connus, surtout en ce qui concerne leur mode de commande.
Ils sont utiliss aussi bien dans les lecteurs de disquettes, les disques durs, que dans les
scanners et les imprimantes 3D conues pour le prototypage rapide1 (figure 1.1).

Figure 1.1. Imprimante 3D-EXTRU3D ( gauche) et sa Carte dinterface ( droite)

Dans le domaine de la robotique, ils sont la clef de vote du systme. Ils permettent
dobtenir une prcision extraordinaire grce leur conception lectrique et mcanique.

Le moteur pas pas a t conu partir de deux dmarches logiques trs diffrentes :

- d'une part, on a cherch un moteur capable de dvelopper un couple important


faible vitesse, voire mme l'arrt ;

- d'autre part, on a tudi un dispositif capable de convertir des informations de


caractre discret.

Le convertisseur d'nergie basse vitesse et le transmetteur de l'information sont


devenu un moteur pas pas moderne vers les annes 1970, grce au dveloppement
conjugu de l'lectronique de puissance et, surtout, grce l'apparition de llectronique
numrique forte intgration.

1
Obtention de prototype de forme complexe en un temps trs court.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 10
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Le moteur pas pas est actuellement le principal lment intermdiaire entre les
dispositifs de traitement d'information et le monde lectromcanique extrieur. Par
ailleurs, ses capacits contrler la position et la vitesse, par un train dimpulsions de
commande, assurent ce convertisseur des applications comme :

- la traction des robots mobiles,

- le fonctionnement en moteur couple de grande puissance,

- lindexage rotatif ou linaire.

Dans sa version classique, le moteur pas pas est aliment partir d'une source (de
courant ou de tension) continue et le contrle de la vitesse ou/et de la position s'effectue
en boucle ouverte.

Le pilotage en boucle ouverte, qui constitue un des principaux avantages du moteur pas
pas, aussi bien du point de vue conomique (cot et fiabilit d'installation) que
fonctionnel (commande naturelle par "tout ou rien" partir d'une horloge spare ou
intgre dans un microprocesseur), prsente un certain nombre d'inconvnients comme :

- la limitation du couple de dmarrage,

- des instabilits de fonctionnement certaines frquences,

- des acclrations relativement modestes,

Maintenant, ce type de moteurs est utilis de plus en plus dans les machines
commande numrique (CNC), leurs tailles ainsi que leur puissance ont augment.

Dans ce chapitre nous aborderons les diffrents types de moteurs pas pas, ainsi que
leur mode de commande.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 11
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

1.1. GENERALITES :

Ils existent trois types de moteurs pas pas : les moteurs aimant permanent, les
moteurs rluctance variable ainsi que les moteurs hybrides. Nous verrons plus tard que
les moteurs aimants permanents se subdivisent en deux catgories.

Malgr les diffrences existant entre les moteurs, le rsultat recherch est lavance dun
seul pas, cest--dire la rotation de leur axe suivant un angle dtermin chaque impulsion
que lune ou lautre de leurs bobines recevra. Cet angle qui varie selon la constitution
interne du moteur, est en gnral compris entre 0.9 et 90.

Les moteurs les plus couramment rencontrs prsentent des pas de :

0.9 soit 400 pas par tour.


1.8 soit 200 pas par tour.
3.6 soit 100 pas par tour.
7.5 soit 46 pas par tour.
15 soit 24 pas par tour.

Il est vident que les moteurs pas pas, de par leurs technologies, prsentent une trs
grande prcision et une dure de vie quasi illimite, lusure mcanique tant pratiquement
inexistante (absence de frottement). La figure 1.2 en reprsente laspect externe. Leur
domaine de prdilection sera donc ceux ou la prcision est de rigueur : les constituants
mcaniques de linformatique et la robotique.

Figure 1.2. Vue densemble dun moteur pas pas

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 12
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Les moteurs pas pas existent entre diffrentes tailles qui varient entre 1 cm et plus
dune dizaine de centimtres. Tout dpendra des applications dans lesquelles ils seront
utiliss. Le plus petit moteur, par exemple, sera destin au dplacement des ttes de
lectures dans les disques durs ou un couple trs faible est requis. Par contre le
dplacement du bras dun robot ou un chariot (machine CNC) demandera un couple
nettement plus important, donc un moteur de diamtre lev.

Signalons que le couple est exprim en kilogramme par centimtre (kg.cm-1), ce qui
dfinit le poids en kilogrammes que pourra soulever laxe dun moteur pourvu dun bras de
longueur exprime en centimtre.

La valeur de leur tension dalimentation varie dans de grandes proportions, elle peut
tre comprise entre 3V et plusieurs dizaine de volts. De mme, selon la rsistance ohmique
de leurs bobinages, le courant consomm stendra dans une gamme allant de quelques
dizaines de milliampres a plusieurs ampres.

En simplifiant, nous pourrons dire que plus le courant sera lev, plus le couple sera
important.

1.2. TECHNOLOGIE DES MOTEURS PAS A PAS :


Un actionneur lectrique peut crer deux types de mouvements : un mouvement de
rotation ou un mouvement de translation.

1.2.1. Moteurs pas pas rotatifs :


Les moteurs pas pas peuvent tre classs en fonction du phnomne physique qui est
lorigine de leur mouvement. On distingue principalement, deux catgories de moteurs
pas pas : les moteurs reluctance variable et les moteurs polariss.

1.2.1.1. Moteur pas pas rotatif reluctance variable :

La rotation dun moteur reluctance est engendre par la raction, entre un champ
magntique statorique et un rotor saillant, qui conduit une disposition aligne de la
partie saillante avec le pole cr par le champ magntique. Dans ces conditions le flux est
maximum et la rluctance du circuit magntique est minimum.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 13
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Ce type de moteur est caractris par une structure dente au niveau du rotor et du
stator. Le rotor est fabriqu en acier doux non magntique. Le nombre de bobines dans le
stator et le type de connexion dterminent le nombre de phases du moteur.

Figure 1.3. Structure classique dun moteur reluctance variable rotatif double saillance

La figure 1.3 prsente un moteur pas pas rluctant comportant huit plots au stator et
six dents au rotor ce qui donne un moteur a quatre phases.

Chaque couple de deux bobines statoriques diamtralement opposes et connectes en


srie, constitue une des quatre phases de la machine considre. Lalimentation dune
phase cre un couple permettant le dplacement du rotor vers une position dquilibre
quil garde tant que lalimentation est maintenue. Cet tat dquilibre correspond une
position aligne entre les dents statoriques porteuses de la phase alimente et les dents
rotoriques. Chaque nouvelle squence dalimentation tablit un nouvel quilibre. Le
moteur se dplace donc avec un pas angulaire de 15.

Le mode de commande peut dans ce cas, de la mme faon que pour les autres
moteurs, tre monophas, biphas ou demi-pas. Les squences de commandes sont
prsentes dans le tableau 1.1.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 14
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Mode monophas Mode biphas Mode demi-pas


A AC A
B CB AC
C BD C
D DA BC
B
BD
D
DA

Tableau 1.1. Ordre des diffrentes commandes pour moteur reluctance variable

Pour augmenter la rsolution angulaire de ces moteurs, des constructions a circuits


magntiques multiples, dites multistack, peuvent tre envisages. Ces moteurs se
prsentent principalement sous deux formes :

Un empilage de plusieurs machines monophases identiques assembles


mcaniquement sur le mme arbre.
Un stator unique, possdant plusieurs rotors magntiquement indpendants,
mais coupls mcaniquement.
Dans toutes ces machines, le rotor et les stators prsentent le mme nombre de dents,
le mouvement tant obtenu par le dcalage mcanique des rotors ou des stators, les
uns par rapport aux autres.

1.2.1.2. Moteur pas pas rotatif aimant permanent :

Les moteurs aimant permanent sont constitus dun stator supportant les bobinages
et dun rotor magntique (aimant bipolaire). Cette catgorie de moteurs se subdivise en
deux types : le moteur unipolaire et le moteur bipolaire.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 15
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Figure 1.4. Structure interne dun moteur aimant permanent

La figure 1.5 reprsente le schma simplifi dun moteur aimant. Le premier dessin de
la figure le reprsente dans sa position de repos, lorsque les bobinages ne sont traverss
par aucun courant. Chacun des ples du rotor se place devant une paire des plots du
stator.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 16
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Figure 1.5. Fonctionnement schmatique dun moteur pas pas

Les quatre dessins du bas de la figure illustrent ce qui se passe lorsque les bobinages
sont aliments tour de rle : dabord A, puis B, puis C et enfin D. Le ple nord du rotor
sera attir par le ple sud du stator, pole cre par la circulation dun courant dans le
bobinage.

Cet exemple permet de comprendre la progression pas par pas du moteur. Ici, il
effectuera quatre pas par tours.

1.2.1.2.1. Les moteurs unipolaires :

Une reprsentation schmatise dun moteur dun moteur unipolaire est donne en
figure 1.6. Afin dinverser le sens du courant, les enroulements sont raliss au moyen de
deux fils dont lune des extrmits est relie au + ou au de lalimentation. La commande
de ce type moteur est la plus simple de tous les moteurs pas pas puisquil suffira
dalimenter les bobinages tour de rle pour faire tourner laxe dun pas. Le schma de la
figure 1.7 rsume la squence la plus simple.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 17
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Figure 1.6. Reprsentation schmatique dun moteur unipolaire

Figure 1.7. Squence de rotation simple

Comme pour chaque type de moteur, le modle unipolaire peut tre command en
mode monophas, biphas ou demi-pas. Le tableau 1.2 donne lordre des diffrentes
commandes.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 18
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Mode monophas Mode biphas Mode demi-pas


0001 0101 0001
0100 0110 0101
0010 1010 0100
1000 1001 0110
0010
1010
1000
1001

Tableau 1.2. Ordre des diffrentes commandes pour moteur unipolaire

Signalons que le moteur unipolaire prsentera, volume gal, un couple moins


important que le moteur bipolaire.

1.2.1.2.2. Les moteurs bipolaires :

La figure 1.8 reprsente la constitution interne dun moteur de type bipolaire. Ce type
de moteur ncessite une commande plus complexe que celle du moteur unipolaire, le
courant devant changer de sens dans les enroulements chaque pas effectu.

Figure 1.8. Reprsentation schmatique dun moteur bipolaire

Comme pour le modle prcdent, ce moteur peut tre aliment sous trois squences
diffrentes (tableau 1.3), reprsentes par ailleurs sur la figure 1.9.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 19
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Mode monophas Mode biphas Mode demi-pas


AB AB-CD AB
CD BA-CD AB-CD
BA BA-DC CD
DC AB-DC BA-CD
AB AB-CD BA
etc.. etc.. BA-DC
DC
AB-DC
AB
etc..

Tableau 1.3. Ordre des diffrentes commandes pour moteur bipolaire

Dans le mode monophas, le couple nest pas trs important puisquun seul
enroulement est aliment pour effectuer un pas.

Mode monophas

Mode biphas

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 20
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Mode demi-pas

Figure 1.9. Squences de commande dun moteur bipolaire

Cest dans le mode biphas que le moteur dveloppera la plus grande puissance (couple
lev) car les deux phases seront alimentes en mme temps.

Le mode demi-pas permet de doubler le nombre de pas quun moteur peut effectuer
par tour, mais cette prcision supplmentaire engendre un couple irrgulier. En effet, dans
ce mode, la commande du moteur est un mlange de mode biphas et monophas. Dans
ce cas, si la charge est importante, des pas risquent de sauter , ce qui nest pas le but
recherch.

1.2.1.3. Moteur pas pas rotatif hybrides :

Les moteurs pas pas hybrides sont gnralement constitus dun rotor dent muni
daimants permanents. Le rotor possde gnralement deux disques polaires dcals dun
angle lectrique .

Figure 1.10. Moteur pas pas hybride

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 21
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Ce type de moteur prsente la fois les avantages du moteur a aimant permanent qui
possde un couple lev et ceux du moteur a rluctance variable qui permet dobtenir un
nombre importants de pas par tour. Toutefois linertie dun tel rotor ainsi que les pertes
fer sont relativement importantes et pnalisent donc cette structure.

Figure 1.11. Structure interne dun moteur hybride

Les moteurs pas pas hybrides runissent, au moins en partie, les avantages des
moteurs pas pas reluctance variable et a aimants permanents, savoir :

Un grand nombre de pas par tour.


Une frquence propre mcanique importante.
Un couple massique lev.
Un amortissement interne important.
Une mmoire de position.
Dans sa configuration de base le moteur pas pas hybride comporte un stator en fer
feuillet plots saillants et deux couronnes rotoriques dentes en matriau
ferromagntique, gomtriquement identiques et runies par un aimant permanent
cylindrique magntis axialement. Les lignes de champs de laimant se ferment travers
les dents du rotor. Vu du stator, le rotor prsente autant de ples magntiques actifs quil
possde de dents. Les dents sur une des couronnes sont dcales par rapport aux dents de
lautre dun demi-pas dentaire 1/2 .
dr

Le nombre de ples vu au stator est li au nombre de dents dune couronne rotorique


par la relation

= 1.1

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 22
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

Le nombre de pas par tour prend donc la forme

2 . =2 1.2

Avec

: Nombre de ples magntiques vu par le stator.


: Nombre de dents sur une couronne rotorique.
: Nombre de phases (doit tre pair).

Laugmentation du nombre de plots statoriques aliments simultanment permet


daugmenter le nombre de dents du rotor, et donc de diminuer le pas angulaire du rotor.
Le mme rsultat sobtient par la subdivision des plots en plusieurs dents.

Les moteurs pas pas hybrides comptent parmi les moteurs pas pas les plus fabriqus.
Ils existent aussi bien en structure circuits simples (single stack), quen structure multiple
(multi stack) Dans presque tous les cas, les plots dents du stator prsentent le mme pas
que les dents aimantes du rotor.

Le couple est constitu par la variation des permances mutuelles bobinages dents
aimantes du rotor (couple lectromagntique) et par un couple rluctant cre
principalement par la variation de la permance propre vu par les aimants (couple de
dtente) Les dents aimantes de chaque couronne rotorique sont perues par le stator
comme autant daimants permanents, linteraction de ces aimants avec les courants
statoriques engendre un couple lectromagntique identique celui du moteur pas pas
aimants permanents.

1.2.2. Moteurs pas pas linaires :


Tout comme pour les versions rotatives, les moteurs pas pas linaires se composent
dun stator portant les bobinages et dune partie mobile se dplaant cette fois-ci
linairement.

Cette partie mobile peut tre ralise partir dune pice ferromagntique dente,
dans ce cas la structure est dite a reluctance ou passive ; ou alors la partie mobile est
munie daimants permanents et dans ce cas la structure est dite polarise ou active.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 23
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

1.2.2.1. Moteur pas pas linaire reluctance variable :

Ce type de moteurs est caractris par une structure dente au niveau du stator et de la
partie mobile. Le circuit magntique est gnralement assembl a partie de tles
magntiques de forte permabilit. Toutefois, les machines destines au positionnement
ou une translation lente, peuvent tre ralises avec des pices massives. Les
enroulements du circuit lectrique sont gnralement concentrs autour des plots du
stator et donc faciles raliser.

1.2.2.2. Moteur pas pas linaire polarises :

1.2.2.2.1. Les moteurs aimant permanent :

Ce sont des moteurs dont la partie mobile est gnralement lisse et forme dune
succession daimants permanents monts en surface.

1.2.2.2.2. Les moteurs hybrides:

Le mouvement des moteurs hybrides rsulte de la superposition de la force dvelopp


par leffet rluctant des dents et de la force cre par laimant. La contribution des
amplitudes et des priodes gomtrique de ces forces permet de raliser des
caractristiques statiques trs diversifies. En effet, laimant, plac dans la structure
hybride, assure une certaine distribution des lignes de champ. Lalimentation des bobines
produit un phnomne daiguillage des lignes de champs plus au moins important suivant
lintensit du courant dalimentation. En jouant sur lorientation des lignes de champs, il
est possible de maitriser la variation de la force rsultante.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 24
Chapitre I : Les Caractristiques et Les Modes de Commande Des Moteurs Pas Pas 2014

CONCLUSION :
Dans ce chapitre, nous avons donn un aperu gnral sur les diffrents types de
moteurs pas pas, ainsi que leur mode de fonctionnement.

Voici leurs avantages :

Rotation constante pour chaque commande (prcision meilleure que 5% dun


pas).
Existence de couple a larrt.
Contrle de la position, de la vitesse et synchronisation de plusieurs moteurs (pas
besoin de contre-raction).
Moteur sans balai.

Et les inconvnients :

Plus difficile faire fonctionner quun moteur courant continu.


Vitesse et couple relativement faible.
Couple dcroissant rapidement lorsque la vitesse augmente.
Rsonance mcanique.

En ce qui concerne notre projet, nous avons utiliss des moteurs pas pas de type
bipolaires a aimant permanent, leurs rsolution est de 1,8 par pas (200 pas), ainsi quun
couple de maintien de 4kg/cm avec une alimentation lectrique de 12v.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 25
CHAPITRE II :

Approche Thorique et Pratique


Sur Linterface USB
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

INTRODUCTION :
Le Universal Serial Bus (USB, en franais Bus universel en srie, dont le sigle, inusit, est
BUS) est une norme relative un bus informatique en transmission srie qui sert
connecter des priphriques informatiques un ordinateur. Le bus USB permet de
connecter des priphriques chaud (quand l'ordinateur est en marche) et en bnficiant
du Plug and Play (le systme reconnat automatiquement le priphrique). Il peut
alimenter les priphriques peu gourmands en nergie (disques SSD en particulier).

Apparu en 1996, ce connecteur s'est gnralis dans les annes 2000 pour connecter
souris, clavier d'ordinateur, imprimantes, cls USB et autres priphriques bon march sur
les ordinateurs personnels.

L'USB s'est depuis dcline en version 2 (0,48 Gb/s) et version 3 (5 Gb/s) puis en aot
2013 est annonc le standard 3.1 10 Gb/s.

LUSB a t conu au milieu des annes 1990 afin de remplacer les nombreux ports
externes dordinateurs lents et incompatibles. Diffrentes versions de la norme ont t
dveloppes au fur et mesure des avances technologiques.

En 1996, la premire version de la norme, l'USB 1.0, est spcifie par sept
partenaires industriels (Compaq, DEC, IBM, Intel, Microsoft, NEC et Northern
Telecom).

En 1998, la version USB 1.1 apporte des corrections et deux vitesses de


communications : 1,5 Mbit/s (faible vitesse, ou Low Speed), et 12 Mbit/s (soit
1,5 Mo/s) (pleine vitesse ou Full Speed). En aot 1998, Apple est le premier
constructeur uniquement proposer les ports USB (en remplacement des ports
d'ancienne gnration), avec la sortie de l'iMac G3, ce qui a fait dcoller le march
des priphriques USB.

En 2000, la version USB 2.0 ajoute des communications 480 Mbit/s (haute vitesse
ou High Speed) (soit 60 Mo/s).

En 2005, le Wireless USB, une version sans-fil de l'USB, est spcifie par le Wireless
USB Promoter Group. Elle promet 480 Mbit/s une distance de 3 m et 110 Mbit/s
10 m.

En 2008, l'USB 3.0 transmet 5 Gbit/s (soit 600 Mo/s) (vitesse suprieure ou
SuperSpeed) et 4,5 Watts. Les nouveaux priphriques disposent de connexions
6 contacts au lieu de 4, mais la compatibilit ascendante des prises et cbles avec
les versions prcdentes est assure. La compatibilit descendante est impossible,

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 26
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

les cbles USB 3.0 de type B n'tant pas compatibles avec les prises USB 1.1/2.0,
mais il existe des adaptateurs.

Dbut 2010 introduction de l'USB 3 dans des produits grand public. Les prises
femelles correspondantes sont signales par une couleur bleue. Apparition aussi
des prises femelles USB rouges, signalant une puissance lectrique disponible
suprieure, et approprie au chargement rapide de petits appareils y compris (
condition de le paramtrer dans le BIOS ou l'EFI) lorsque l'ordinateur est teint.

Aot 2013, lUSB 3.1 est officialis et promet des dbits doubles de ceux de l'USB
3.0, soit 10 Gbits/s (1,2 Go/s). Le nouveau standard (cbles, interface) sera rtro
compatible avec lUSB 3.0 et l'USB 2.0. Toutefois la connectique change, elle sera
plus fine et n'imposera pas de sens de branchement. Pour tout de mme permettre
la connexion vers des connecteurs USB 2.0 et 3.0, le standard devra prendre en
compte la possibilit d'avoir des adaptateurs passifs ( l'inverse des adaptateurs
Lightning, le connecteur rversible qu'Apple a lanc avec l'iPhone 5 en 2012), pour
garder une taille rduite et un cot de fabrication mesur. Cette nouvelle
connectique se nommera Type C.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 27
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.1. CARACTERISTIQUES GENERALES :


LUniversal Serial Bus est une connexion haute vitesse qui permet de connecter des
priphriques externes un ordinateur (hte dans la terminologie USB). Il permet le
branchement simultan de 127 priphriques par contrleur (hte). Le bus autorise les
branchements et dbranchements chaud ( Hot-Plug , sans avoir besoin de redmarrer
lordinateur) et fournit lalimentation lectrique des priphriques sous 5 V, dans la limite
de 0,5 A, soit 2,5 W.

D'un point de vue logiciel, le bus possde une topologie arborescente (dite galement
en toile) : les feuilles de cet arbre sont les priphriques ; les nuds internes sont des
hubs qui permettent de greffer des sous-arborescences dans l'arborescence principale. On
trouve dans le commerce ces hubs sous forme de petits botiers aliments soit sur le bus,
soit sur le secteur, et qui s'utilisent comme des multiprises. Certains priphriques
intgrent galement un hub (moniteurs, claviers). Cependant, tout bus USB possde au
moins un hub situ sur le contrleur : le hub racine, qui peut grer les prises USB de
l'ordinateur. Le nombre de hubs connects en cascade est limit : hub racine compris, il ne
doit pas exister plus de sept couches dans l'arborescence (figure 2.12).

plus bas niveau, il s'agit d'un anneau jeton (ou Token Ring) : chaque nud dispose
successivement du bus. Il n'y a pas de collision de paquets comme en Ethernet, mais le
nombre maximal de nuds est prdfini. Pour cette raison, l'USB n'est pas adapt aux
communications rseau : l'apparition des "modems" ADSL USB tait un moyen de diffuser
l'ADSL une poque o la plupart des PC bas de gamme disposaient du port USB mais pas
d'Ethernet.

La version 1.x du bus peut communiquer dans deux modes : lent (1,5 Mbit/s) ou rapide
(12 Mbit/s, soit 1,5 Mo/s) :

le mode lent ( Low Speed ) permet de connecter des priphriques qui ont besoin
de transfrer peu de donnes, comme les claviers et souris ;

le mode rapide ( Full Speed ) est utilis pour connecter des imprimantes,
scanners, disques durs, graveurs de CD et autres priphriques ayant besoin de plus
de rapidit. Nanmoins il est insuffisant pour beaucoup de priphriques de
stockage de masse (ce mode permet la vitesse 10 X des CD).

USB 2.0 introduit un troisime mode permettant de communiquer 480 Mbit/s. Ce mode
est appel High Speed . Il est utilis par les priphriques rapides : disques durs,
graveurs Mais en 2009, la plupart des priphriques ont une vitesse infrieure ce que
permet l'USB 2.0.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 28
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

La dernire version, lUSB 3.0, comporte un quatrime mode ( Super Speed )


permettant de communiquer 5 Gbit/s. Ce nouveau mode utilisant un codage des
donnes de type 8b/10b, la vitesse de transfert effective des donnes est de seulement
4 Gbit/s (500 Mo/s).

Lorsque lon parle dun quipement USB, il est ncessaire de prciser la version de la
norme (1.1, 2.0 ou 3.0) mais galement la vitesse (Low, Full ou High Speed). Une clef USB
spcifie en USB 2.0 nest pas forcment High Speed si cela nest pas prcis par un logo
High Speed .

Le bus USB reste plus lent que des interfaces internes comme PCI ou AGP ou SATA /e-
Sata (dans sa version 1.x et 2.0).

Figure 2.12. Topologie du bus USB

L'USB, comme son nom l'indique est un Bus Srie. Il utilise quatre fils isols dont deux
sont l'alimentation (+5V et GND). Les deux restants forment une paire torsade qui
vhiculent les signaux de donnes diffrentiels. Il utilise un schma d'encodage NRZI (Pas
de retour Zro invers figure 2.13) pour envoyer des donnes avec un champ sync de
manire synchroniser les horloges de l'Hte et du rcepteur.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 29
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.13. Codage NRZI

L'USB supporte le systme " plug'n play " branchement chaud avec des drivers qui
sont directement chargeable et dchargeable. L'utilisateur branche simplement l'appareil
sur le Bus. L'Hte dtectera cet ajout, interrogera l'appareil nouvellement insr et
chargera le driver appropri pendant le temps qu'il faut au sablier pour clignoter sur votre
cran assurant qu'un driver est install pour votre appareil. L'utilisateur final n'a pas besoin
de se soucier des terminaisons, des termes tels que IRQs et adresses de ports, ou de la
rinitialisation de l'ordinateur. Une fois que l'utilisateur a termin, on peut simplement
retirer le cble, l'Hte dtectera cette absence et dchargera automatiquement le driver.

Le chargement du driver appropri sera ralis en utilisant une combinaison PID / VID
(Interface Produit Machine / Vendeur Machine). On peut se procurer le VID au forum des
fournisseurs USB en payant, ce qui est considr comme un autre point de blocage par
USB. On peut trouver le catalogue des tarifs ractualiss sur le site web des fournisseurs
USB.

Une autre caractristique intressante de l'USB rside dans ces modes de transferts.
L'USB soutient des transferts de contrles, d'interruptions, en Bloc et Isochrone. Lorsque
nous examinerons les autres modes de transferts ultrieurement, nous nous rendrons
compte que l'Isochrone permet un appareil de rserver une approximation dfinie de la
bande passante avec un temps d'attente garanti. Ce systme se rvle idal dans les
applications Audio et Vido ou l'encombrement peut susciter une perte de donnes ou
une chute de trames. Chaque mode de transfert fourni au concepteur des compromis dans
les domaines de la dtection d'erreur et de la reprise, du temps d'attente garanti et de la
bande passante.

2.2. CARACTERISTIQUES MECANIQUES :


Tous les appareils ont une connexion amont vers l'hte et tous les htes ont une
connexion aval vers l'appareil. Les connecteurs amont et aval ne sont pas interchangeables

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 30
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

mcaniquement, liminant ainsi les connexions de rebouclage interdite aux Hubs comme
pour un port aval connect un port aval. Il y a gnralement 2 types de connecteurs,
appel type A et type B prsent ci-dessous.

Figure 2.14. Diffrents types de connecteurs USB

Les prises mles de type A sont toujours tourns vers l'Amont. Les prises femelles de
type A se trouveront gnralement sur les htes et les Hubs. Par exemple, les prises
femelles de type A sont courantes sur les cartes mres des ordinateurs et les Hubs. Les
prises mles de type B sont toujours connect vers l'aval et par consquent les prises
femelles de type B se trouvent sur les appareils.

Il vient de paratre une spcificit On-the-Go qui ajoute la fonctionnalit paire paire
(peer to peer) l'USB. D'o l'introduction des htes USB dans les tlphones mobiles et les
agendas lectroniques, de mme qu'une particularit pour les prises mles mini A, les
prises femelles mini A et les prises femelles mini A-B. Tout porte croire que nous devrions
tre inonds de cbles mini USB et d'une gamme de cbles convertisseurs de la taille mini
standard.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 31
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Numro de broche pour Numro de broche pour


Fonction Couleur
les types A et B le type mini B
Alimentation +5 V (VBUS) Rouge 1 1
Donnes (D-) Blanc 2 2
Donnes (D+) Vert 3 3
Masse (GND) Noir 4 5

Tableau 2.4. Brochage des diffrents connecteurs USB

On utilise des couleurs standards pour les fils intrieurs des cbles USB de faon
faciliter l'identification des fils d'un constructeur un autre (tableau 2.4). La normalisation
prcise les diffrents paramtres lectriques pour les cbles.

2.3. CARACTERISTIQUES ELECTRIQUES :


Comme nous en avons dj discut, l'USB utilise une paire de transmission diffrentielle
pour les donnes. Celle-ci tant cod en utilisant le NRZI et est garni de bits pour assurer
les transitions adquates dans le flot de donnes. Sur les appareils vitesse basse et pleine
un '1' diffrentiel est transmis en mettant D+ au-dessus de 2,8V grce une rsistance de
15k ohms reli la masse et D- en dessous de 0,3V avec une rsistance de 1,5k ohms reli
3,6V. D'autre part un diffrentiel '0' correspond D- plus grand que 2,8V et D+ infrieur
0,3V avec les mmes rsistances de rappel tat haut/bas adquates.

Figure 2.15. Cble USB

Le rcepteur dfini un diffrentiel '1' avec D+ plus grand de 200 mV que D- et un


diffrentiel '0' avec D+ plus petit de 200 mV que D-. La polarit du signal est inverse en
fonction de la vitesse du BUS. En consquence les tats rfrencs par les termes 'J' et 'K'

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 32
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

sont utiliss pour signifier les niveaux logiques. En vitesse basse, un tat 'J' est un
diffrentiel '0'. En vitesse haute, un tat 'J' est un diffrentiel '1'.

Les metteurs / rcepteurs USB comprendront la fois des sorties diffrentiels et


uniques (non complmentaires). Certains tats de BUS USB sont indiqus par des signaux
sorties uniques (single ended zero) sur D+, D- ou les deux. Par exemple un zro sorties
uniques ou SE0 peut tre utilis pour signifier la rinitialisation d'un appareil s'il est
maintenu plus de 10 ms. On gnre un SE0 en maintenant D+ et D- en position basse
(infrieur 0,3V). Les sorties uniques et diffrentielles sont importantes d'tre notes si
vous utilisez un metteurs / rcepteurs et un FPGA comme appareil USB. Vous ne pouvez
pas vous contenter simplement d'chantillonner la sortie diffrentielle.

Le BUS basse et pleine vitesse a une impdance caractristique de 90 Ohms +/-15%. Il


est donc important d'observer la documentation technique lorsque vous slectionnez les
rsistances des caractristiques lectriques sries pour D+ et D- afin d'quilibrer
l'impdance. Toute documentation technique devrait spcifier ces valeurs et tolrances.

2.4. IDENTIFICATION DE LA VITESSE :


Un appareil USB doit indiquer sa vitesse en mettant soit D+ ou D- 3,3V. Un appareil
pleine vitesse, reprsent plus bas utilisera une rsistance de rappel rattach D+ pour se
signaler comme tel. Ces rsistances de rappel l'extrmit de l'appareil seraient aussi
utilises par l'hte ou Hub pour dtecter la prsence d'un appareil connect son port.
Sans rsistance de rappel, l'USB suppose qu'il n'y a rien de connect au BUS. Certains
appareils possdent cette rsistance intgre sur le silicium, pouvant tre connect ou non
sous commande micro programme, d'autres exigent une rsistance externe.

Figure 2.16. Appareil pleine vitesse avec rsistance de rappel tat haut branch sur D+

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 33
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.17. Appareil pleine vitesse avec rsistance de rappel tat haut branch sur D-

Vous noterez que nous n'avons pas inclus d'identification de vitesse pour le mode haute
vitesse Les appareils haute vitesse dmarreront ds qu'ils seront connects en tant
qu'appareils pleine vitesse (1,5 kOhms 3,3V). Une fois qu'il sera attach il mettra un
Chirp haute vitesse pendant la rinitialisation et tablira une connexion grande vitesse
si le Hub le supporte. Si l'appareil fonctionne en mode haute vitesse, alors la rsistance de
rappel est retire pour quilibrer la ligne.

Toutefois un appareil haute vitesse ne peut pas supporter le mode basse vitesse. Il
devrait seulement supporter le mode pleine vitesse ncessaire en dbut de connexion,
ensuite le mode haute vitesse s'il russit par tre ngoci. Un appareil face aval dtection
d'anomalies pour l'USB 2.0 (Hub ou Hte) doit supporter les 3 modes, Haute, pleine et
basse vitesse.

2.5. LALIMENTATION USB (VBUS) :


Un des avantages de l'USB rside dans ces appareils aliments par le Bus. Ceux-ci
obtiennent leur alimentation partir du Bus et ne demande aucune prise externe et cble
additionnel. Cependant beaucoup de gens se focalisent sur cette option sans prendre en
compte au pralable tous les critres ncessaires.

Un appareil USB prcise sa consommation lectrique exprime en unit de 2mA dans le


descripteur de la configuration que nous examinerons plus tard. Un appareil ne peut pas
augmenter sa consommation lectrique plus qu'il n'est prcis pendant l'numration,
mme s'il perd de la puissance externe. Il existe 3 classes de fonctions USB :

Les fonctions alimentes par le Bus basse puissance (Low-Power)


Les fonctions alimentes par le Bus haute puissance (High-Power)
Les fonctions auto alimentes (Self-powered)

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 34
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Les fonctions alimentes par le Bus basse puissance tirent toute leur puissance de VBus
et ne peuvent en tirer que la charge d'une unit. La spcification USB dfini une charge
d'unit 100mA. Les fonctions alimentes par le Bus basse puissance peuvent aussi tre
conues pour travailler une tension de VBUS tombant 4,4V et montant un maximum de
5,25V mesur la prise amont de l'appareil. Pour beaucoup d'appareil 3,3V, des
rgulateurs LDO sont obligatoires.

Les fonctions alimentes par le Bus haute puissance tireront toute leur puissance du
Bus et ne pourront tirer plus d'une unit de charge jusqu' ce qu'elles aient t
configures, aprs quoi elles pourront tirer cinq units de charge (500mA max) pourvu que
cela soit demand dans son descripteur. Les fonctions du Bus Haute puissance doivent
tre capables d'tre dtectes et numres un minimum de 4,40V. Lorsqu'elles
fonctionnent pleine charge, un VBUS minimum de 4,75V est prcis avec un maximum de
5,25V. Une fois de plus, ces mesures sont prises la prise mle amont.

Les fonctions auto alimentes peuvent tirer jusqu' une unit et faire driver le reste de
leur alimentation d'une source extrieure. Si cette source extrieure venait manquer, il
doit y avoir des rserves en place de manire ne pas tirer plus d'une unit de charge du
Bus. Les fonctions auto alimentes sont plus faciles concevoir au niveau de la
spcification car il ne peut gure y avoir de problmes en ce qui concerne l'alimentation
lectrique. La charge alimente par le Bus une seule unit permet la dtection de
l'numration d'appareil sans avoir besoin d'une alimentation principale/secondaire du
secteur.

Aucun appareil USB, qu'il soit aliment par le Bus ou bien auto alimente ne peut piloter
VBus sur son port face amont. Si VBus est perdu, l'appareil a une dure de 10 secondes pour
retirer l'alimentation des rsistances de rappel de D+/D- utilises pour l'identification de la
vitesse.

Les autres considrations de VBUS sont l'appel de courant qui doit tre limit. Ceci est
soulign dans le paragraphe 7.2.4.1 des spcifications USB et est souvent laiss de ct.
L'appel de courant est soutenu au niveau de la capacit de tte de votre appareil entre
VBUS et la masse. Les spcifications prcisent par consquent que la capacit de dcouplage
maximum que vous pouvez avoir sur votre appareil est de 10F. Quand vous dconnectez
l'appareil aprs que le courant soit pass par le cble USB inductif, une grande tension de
retour peut se produire sur l'extrmit ouverte du cble. Pour viter ceci, on recommande
une capacit de dcouplage VBUS minimum de 1F.

Pour l'appareil habituel aliment sur un Bus, celui-ci ne peut drainer plus de 500 mA, ce qui
est fort raisonnable.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 35
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.6. COURANT DE VEILLE :


Le mode Veille est obligatoire sur tous les appareils. Pendant son temps d'action,
d'autres contraintes surviennent. Le courant maximum de veille est proportionnel l'unit
de charge. Pour un appareil d'une unit de charge (par dfaut) le courant de veille
maximum est de 500A. Ceci comprend le courant d aux rsistances de rappel sur le Bus.
Au niveau du Hub, D- et D+ possdent des rsistances de rappel niveau bas de 15 kOhms.
Pour des raisons de consommation lectrique, la rsistance de rappel niveau bas de
l'appareil est monte en srie avec la rsistance de rappel niveau haut de 1,5 kOhm,
totalisant ainsi une charge de 16,5 kOhms sur VTERM habituel de 3,3V. Par consquent
cette rsistance draine un courant de 200 A avant mme que l'on commence.

Beaucoup de dveloppeur demande au forum des fournisseurs USB, quelles sont les
complications si l'on dpasse cette limite? On comprend bien, que la plupart des Htes et
des Hubs n'ont pas la possibilit de dtecter de surcharge de cette importance et ainsi si
vous drainez peut-tre 5 mA ou mme 10 mA cela devrait aller, tout en gardant l'esprit
qu' la fin de la journe, votre appareil a enfreint la spcification USB. Toutefois en
fonctionnement normal, si vous essayez de dpasser les 100 mA ou la charge permise qui
vous est indiqu, alors attendez-vous ce que le Hub ou Hte le dtecte et dconnecte
votre appareil, dans l'intrt de l'intgrit du Bus.

Bien sr, ces problmes de conception peuvent tre vits si vous choisissez de
concevoir un appareil auto aliment. Les courants de veille peuvent ne pas tre d'un grand
intrt pour les ordinateurs de bureau mais avec l'introduction de la spcification On-The-
Go, nous allons commencer voir des Htes USB construit dans les tlphones mobiles et
agendas lectroniques. La consommation lectrique utilise partir de ces appareils
affectera dfavorablement la dure de vie de la batterie.

2.7. ACCES AU MODE VEILLE :


Un appareil USB entrera en veille lorsqu'il n'y a aucune activit sur le Bus pendant plus
de 3ms. Il dispose ensuite de 7ms de plus pour teindre l'appareil et ne prendre que le
courant de veille dsign, ne prenant ainsi que le courant de veille nominal partir du Bus
10ms aprs que l'activit du Bus ce soit arrt. Afin de le maintenir connect un Hub ou
un Hte mis en veille, l'appareil doit encore fournir de l'alimentation ces rsistances de
rappel de slection de vitesse pendant le mode veille.

L'USB possde un dmarrage de trames de bits (frame packet) ou bien d'entretien qui
sont envoys priodiquement sur le Bus. Ceci empche un Bus inutilis d'entrer dans le
mode veille en l'absence de donnes.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 36
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Un Bus haute vitesse enverra une trame toutes les 125.0 s 62.5 ns.
Un Bus pleine vitesse enverra une trame toutes les 1.000 ms 500 ns.
Un Bus basse vitesse aura un dispositif d'entretien qui est un EOP (End Of Packet
ou Fin De Paquet) toutes les 1ms simplement en l'absence de donnes basse
vitesse.
Le terme veille Global (Global Suspend) est utilis lorsque le Bus USB entier entre
collectivement dans le mode veille. Cependant les appareils slectionns peuvent tre mis
en veille en ordonnant au Hub sur lequel l'appareil est aussi connect. On fait rfrence
cette opration comme mode "veille slective".

L'appareil reprendra son fonctionnement quand il recevra tout signal qui n'est pas en
attente. Si un appareil possde une mise en service de rveil retard, alors il devra signaler
l'Hte de reprendre partir du mode veille.

2.8. LES PROTOCOLES USB :


Contrairement la RS232 et des interfaces srielles similaires o le format des donnes
envoyes n'est pas dfini, l'USB est compos de plusieurs couches de protocoles. En fait la
plupart des Circuits Intgrs contrleur d'USB s'occuperont de la couche infrieure, la
rendant ainsi presque invisible au regard du concepteur final.

Chaque transaction USB consiste d'un :

Paquet Jeton (Token) (en tte dfinissant ce qu'il attend par la suite)
Paquet DATA optionnel (contenant la " charge utile " (payload))
Paquet d'Etat (utilis pour valider les transactions et pour fournir des moyens de
corrections d'erreurs).
Comme nous en avons dj discut, l'USB est un Bus gr par l'hte. L'hte initie toutes
les transactions. Le premier paquet, aussi appel Jeton est produit par l'hte pour dcrire
ce qui va suivre et si la transaction de donnes sera en lecture ou criture et ce que sera
l'adresse de l'appareil et la terminaison dsigne. Le paquet suivant est gnralement un
paquet de donnes transportant la " charge utile " et est suivi par un paquet " poigne de
mains " (handShaking), signalant si les donnes ou le jeton ont t reus correctement ou
si la terminaison est bloque, ou n'est pas disponible pour accepter de donnes.

2.9. LES CHAMPS DE PAQUET USB ORDINAIRES :


Les donnes sur le BUS USB sont transmises avec le bit LSB en premier. Les paquets USB
se composent des champs suivants :

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 37
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.9.1. Le champs SYNC :


Tous les paquets doivent commencer avec un champ Sync. Le champ Sync fait de 8 bits
de long pour la basse et pleine vitesse ou 32 bits pour la haute vitesse est utilis pour
synchroniser l'horloge du rcepteur avec celle de l'metteur. Les 2 derniers bits indiquent
l'endroit o le champ PID commence.

2.9.2. Le champs PID :


PID signifie Paquet ID (identificateur de paquet). Ce champ est utilis pour identifier le
type de paquet qui est envoy. Le tableau 2.5 montre les valeurs possibles.

Groupe Valeur PID Identificateur Paquet


Token 0001 OUT Token
Jeton 1001 IN Token
0101 SOF Token
1101 SETUP Token
Data 0011 DATA0
Donnes 1011 DATA1
0111 DATA2
1111 MDATA
Handshake 0010 ACK Handshake
Poigne 1010 NAK Handshake
De mains 1110 STALL Handshake
0110 NYET(No Response Yet)
Special 1100 PREamble
1100 ERR
1000 Split
0100 Ping

Tableau 2.5. Les diffrentes valeurs du PID

SOF = Start of Frame; Dbut de Trame


SETUP = Installation, configuration
ACK = Acknowledge; Validation
NAK = No Acknowledge; Pas de validation
STALL = Bloqu
PREamble = Synchroniseur initial

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 38
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Split = Partager, Fractionner


Ping = S'assurer d'une bonne connexion
Il y a 4 bits pour le PID, toutefois pour s'assurer qu'il a t reu correctement, les 4 bits
sont complments et rpts faisant un PID de 8 bits au total. Le format rsultant figure
ci-dessous.

PID0 PID1 PID2 PID3 nPID0 nPID1 nPID2 nPID3

Figure 2.18. Structure du champ PID

2.9.3. Le champs ADDR :


Le champ adresse dtermine quel appareil le paquet est destin. Sa longueur de 7 bits,
lui permet de supporter 127 appareils. L'adresse 0 n'est pas valide, tant qu'un appareil qui
n'a pas encore d'adresse attribue, doit rpondre aux paquets envoys d'adresse 0.

Addr0 Addr1 Addr2 Addr3 Addr4 Addr5 Addr6

Figure 2.19. Structure du champ ADDR

2.9.4. Le champs ENDP :


Le champ de terminaison est compos de 4 bits, autorisant 16 terminaisons possibles.
Les appareils basse vitesse, toutefois peuvent seulement avoir 2 terminaisons
additionnelles au-dessus du canal de communication par dfaut (4 terminaisons
maximales).

Endp0 Endp1 Endp2 Endp3

Figure 2.20. Structure du champ ENDP

2.9.5. Le champs CRC :


Les Contrles Redondance Cyclique sont excuts sur les donnes l'intrieur du
paquet de charge utile. Tous les paquets jetons ont un CRC de 5 bits tandis que les paquets
de donnes ont un CRC de 16 bits.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 39
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.9.6. Le champs EOP :


Fin de Paquet. Signal par une sortie unique zro (SE0) pendant une dure
approximative de 2 bits suivie par un " J " d'une dure de 1 bit.

2.10. LES TYPES DE PAQUET USB :


L'USB a quatre types diffrents de paquet. Les paquets jetons indiquent le type de la
transaction qui va suivre, les paquets de donnes contiennent la charge utile, les paquets "
poigne de mains " sont utiliss pour valider les donnes ou rapporter les erreurs et les
paquets dbut de trame (SOF) indiquent le commencement d'une nouvelle trame.

2.10.1. Les paquets jetons :


Il y a 3 sortes de paquets Jetons :

In : Informe l'appareil USB que l'hte veut lire des informations.


Out : Informe l'appareil USB que l'hte veut envoyer des informations.
Setup : Utilis pour commencer les transferts de commande.
Les paquets jetons doivent se conformer au format suivant :

Sync PID ADDR ENDP CRC5 EOP

Figure 2.21. Structure dun paquet jeton

2.10.2. Les paquets de donnes :


Il y a 2 sortes de paquets de donnes, chacun tant capable de transmettre plus de 1024
octets de donnes :

Data0
Data1
Le mode haute vitesse dfinit 2 autres PIDs de donnes, DATA2 et MDATA. Les paquets
de donnes ont le format suivant :

Sync PID DATA CRC16 EOP

Figure 2.22. Structure dun paquet de donnes

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 40
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

La taille maximale de donnes " charge utile " pour les appareils basse vitesse est de 8
octets. La taille maximale de donnes " charge utile " pour les appareils pleine vitesse est
de 1023 octets. La taille maximale de donnes " charge utile " pour les appareils haute
vitesse est de 1024 octets. Les donnes doivent tre envoyes en multiple d'octets.

2.10.3. Les paquets " poigne de mains " :


Il y a 3 sortes de paquets " poigne de mains " qui font simplement partie du PID :

ACK : validant que le paquet a t reu correctement.


NAK : rapporte que temporairement l'appareil ne peut ni envoyer ou recevoir des
donnes. Aussi utilis pendant les transactions d'interruptions pour avertir l'hte
qu'il n'a pas de donnes envoyer.
STALL (Bloqu) : L'appareil se retrouve dans un tat qui va exiger l'intervention de
l'hte.
Les paquets " poigne de mains " ont le format suivant :

Sync PID EOP

Figure 2.23. Structure dun paquet poigne de mains

2.10.4. Les paquets dbut de trame (SOF) :


Le paquet SOF compos d'une trame de 11 bits est envoy par l'hte toutes les 1ms
500ns sur un bus pleine vitesse ou bien toutes les 125s 0,0625s sur un bus haute
vitesse.

Sync PID Frame Number CRC5 EOP

Figure 2.24. Structure dun paquet dbut de trame

2.11. LES FONCTIONS USB :


Quand nous pensons un appareil USB, nous pensons un priphrique USB, mais un
appareil USB peut signifier un appareil metteur / rcepteur USB sur l'hte ou
priphrique, un HUB USB ou un circuit intgr contrleur d'hte ou un appareil
priphrique USB. Par consquent le standard fait rfrences aux fonctions USB qui
peuvent tre considres comme appareil USB qui fournissent une possibilit ou une

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 41
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

fonction comme une imprimante, un lecteur Zip, un scanner, un modem ou un autre


priphrique.

La plupart des fonctions USB manipulent les protocoles USB bas niveau jusqu' la
couche transaction dans le silicium.

Figure 2.25. Exemple de fonction USB

La plupart des fonctions auront des sries de tampons (buffers), gnralement de 8


octets de long. Chaque tampon appartiendra une terminaison EP0 IN, EP0 OUT etc...
Supposons par exemple, que l'hte envoie une demande de descripteur d'appareil. La
fonction matrielle lira le paquet d'installation et dterminera partir du champ adresse si
le paquet est pour lui-mme, et si c'est le cas, il copiera la " charge utile " du paquet de
donnes suivant au tampon de la terminaison approprie, dicte par la valeur dans le
champ de la terminaison du jeton d'installation. Il enverra ensuite un paquet " poigne de
mains " pour valider la rception de l'octet et gnrera une interruption interne
l'intrieur du semi-conducteur / microcontrleur pour la terminaison approprie signalant
qu'il a reu un paquet. C'est un principe dj intgr dans la matire (silicium).

Le logiciel a maintenant une interruption, et doit lire le contenu du tampon de


terminaison et analyser la demande de descripteur d'appareil.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 42
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.12. LES TERMINAISONS (ENDPOINT) :


Les terminaisons peuvent tre dcrites comme metteurs ou rcepteurs de donnes. Du
fait que le bus est rgi par l'hte, les terminaisons se prsentent la fin de la chane de
communications sur la fonction USB. Au niveau de la couche logicielle, le pilote (driver)
logiciel de votre appareil va envoyer, par exemple, un paquet vos appareils EP1. A la
sortie de l'hte, la donne aboutira au tampon EP1 OUT. Votre microprogramme pourra
alors lire loisir cette donne. S'il veut retourner la donne, la fonction ne peut pas
simplement crire sur le BUS comme celui-ci est contrl par l'hte. Par consquent il crit
la donne dans EP1 IN qui s'installe dans le tampon jusqu' ce que l'hte envoie un paquet
IN cette terminaison demandant la donne. Les terminaisons peuvent tre aussi
considres comme l'interface entre le matriel de l'appareil de fonction et le
microprogramme s'excutant sur ce mme appareil.

Tous les appareils doivent prendre en charge la terminaison zro. C'est la terminaison
qui reoit la totalit de la commande des appareils et des demandes d'tats pendant
l'numration et tant que l'appareil est oprationnel sur le bus.

2.13. LES CANAUX DE COMMUNICATIONS (PIPES) :


Tandis que l'appareil envoie et reoit des donnes sur une succession de terminaisons,
le logiciel client transfre des donnes travers des canaux de communications. Un canal
de communication (Pipe) est une connexion logique entre l'hte et les terminaisons. Les
canaux de communications auront aussi un ensemble de paramtres qui leur seront
associs tels que : combien de bande passante leur est alloue, quel type de transfert
(Commande, Bloc, Iso ou Interruption) ils utilisent, la direction du flux de donnes et les
tailles maximales du paquet / tampons. Par exemple le canal de communication par dfaut
est un canal bidirectionnel compos d'une terminaison zro IN et d'une terminaison zro
OUT avec un type de transfert de commande.

L'USB dfinit 2 types de canaux de communications :

Les flux de donnes (Stream Pipes) n'ont pas de format USB dfini. Cela veut dire
que vous pouvez envoyer n'importe quelle sorte de donnes par un flux de donnes
et que vous pouvez rapporter les donnes de sorties l'autre extrmit. Les
donnes circulent squentiellement et ont une direction prdfinie, soit en entre
soit en sortie. Les flux de donnes supporteront les types de transferts en Bloc,
Isochrone et d'Interruptions. Les flux de donnes peuvent soit tre contrls par
l'hte ou l'appareil.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 43
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Les canaux de messages (Message Pipes) ont un format USB dfini. Ils sont
contrls par l'hte et sont initis par une demande manant de l'hte. Les donnes
sont ensuite transfres dans la direction voulue, dictes par la demande. Par
consquent les canaux de messages permettent aux donnes de circuler dans les
deux directions mais ne prendront seulement en charge que les transferts de
commande.
2.14. LES TYPES DE TERMINAISONS (ENDPOINTS) :
La spcification du Bus Srie Universel dfinit 4 types de transferts ou de terminaisons :

Transferts de commande
Transferts d'interruption
Transferts Isochrone
Transferts en Bloc (BULK)

2.14.1. Les transferts de commande :


Les Transferts de commande sont rgulirement utiliss pour les oprations de
commande et d'tat. Ils sont essentiels pour installer un appareil USB avec toutes les
fonctions d'numration qui seront excuts en utilisant les Transferts de commande. Ils
surviennent gnralement en paquets directs et par rafales qui sont initis par l'hte et
utilisent le meilleur rendement de livraison. La longueur du paquet du Transfert de
commande pour appareil basse vitesse doit tre de 8 octets, les appareils pleine vitesse
autorise une taille de paquet de 8, 16, 32 ou 64 octets et les appareils haute vitesse
doivent avoir une taille de paquet de 64 octets.

Un Transfert de commande peut avoir plus de 3 tapes.

2.14.1.1. Ltape dinstallation (Setup Stage) :

Elle se passe lorsqu'une demande est envoye. Elle est compose de 3 paquets. Le jeton
(token) d'installation envoy le premier est celui qui contient l'adresse et le numro de la
terminaison. Le paquet de donnes est envoy aprs et a toujours un type PID de Data0 et
inclut un paquet d'installation qui dtaille le type de la demande. Nous dtaillerons le
paquet d'installation plus tard. Le dernier paquet est une poigne de mains utilis pour
valider la bonne rception ou pour indiquer une erreur. Si la fonction reoit correctement
la donne d'installation (CRC et PID etc...Ok) elle rpond avec ACK, sinon elle ignore la
donne et n'envoie pas un paquet de poigne de mains. Les fonctions ne peuvent pas
mettre un paquet STALL ou NAK en rponse un paquet d'installation.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 44
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.26. Etape dinstallation

2.14.1.2. Ltape de donnes (Data Stage) :

Elle est facultative consiste en un ou plusieurs transferts IN (Entre) ou OUT (sorties). La


demande d'installation indique la quantit de donnes qui doit tre envoye dans cette
tape. Si elle dpasse la taille maximale du paquet, les donnes seront envoyes en
plusieurs transferts, chacune ayant la longueur maximale du paquet l'exception du
dernier paquet.

L'tape de donnes comporte 2 scnarios diffrents selon la direction du transfert de


donnes :

IN (Entre): Quand l'hte est prt recevoir les donnes de commande, il met un
jeton (token) IN. Si la fonction reoit le jeton IN avec une erreur, cest--dire que le
PID ne correspond pas avec les bits inverss du PID, il ignore donc le paquet. Si le
jeton est reu correctement, l'appareil peut soit rpondre avec un paquet de
donnes contenant les donnes de commande envoyer, soit un paquet "d'arrt"
signalant que la terminaison a eu une erreur soit un paquet NAK signalant l'hte
que la terminaison fonctionne, mais provisoirement n'a pas de donnes envoyer.
OUT (Sortie): Quand l'hte a besoin d'envoyer l'appareil un paquet de donnes de
commande, il met un jeton OUT suivi par un paquet de donnes contenant les
donnes de commande comme "charge utile" (payload). Si une partie du jeton OUT
ou du paquet de donnes est altr alors la fonction ignore le paquet. Si le buffer de
terminaison de la fonction tait vide et qu'il a cadenc les donnes dans le buffer de
terminaison, il produit un ACK avisant l'hte qu'il a bien reu les donnes. Si le
buffer de terminaison n'est pas vide cause du traitement du paquet prcdent,
alors la fonction retourne un NAK. Toutefois si la terminaison comporte une erreur
et que son bit "halt" ai t positionn, elle retourne un STALL (Bloqu).

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 45
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.27. Etape de donnes

2.14.1.3. Ltape dtat (Status Stage) :

Elle rend compte des tats de l'ensemble des demandes et cette fois encore selon la
direction du transfert. Le rapport d'tat est toujours ralis par la fonction.

IN (Entre): Si l'hte envoie un (ou des) jeton(s) IN pendant l'tape de donnes pour
recevoir des donnes, alors l'hte doit valider la bonne rception de ces donnes.
Ceci est ralis par l'hte qui envoie un jeton OUT suivi par un paquet de donnes
de longueur nul. La fonction peut maintenant rendre compte de son tat dans
l'tape poigne de mains. Un ACK indique que la fonction a achev la commande et
qu'elle est maintenant prte accepter une autre commande. Si une erreur s'est
produite pendant l'excution de cette commande, alors la fonction mettra un
STALL (Bloqu). Toutefois si la fonction continue l'excution, elle retourne un NAK
indiquant l'hte la ncessit de rpter l'tape d'tat ultrieurement.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 46
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.28. Etape dtat (entre)

OUT (Sortie):Si l'hte envoie un (ou des) jeton(s) OUT pendant l'tape de donnes
pour transmettre des donnes, la fonction validera la bonne rception des donnes
en envoyant un paquet de longueur nul en rponse un jeton IN. Toutefois si une
erreur intervenait, cela dboucherait sur un STALL ou si la fonction tait encore
occupe traiter les donnes, cela dboucherait sur un NAK demandant l'hte de
retenter l'tape d'tat ultrieurement.

Figure 2.29. Etape dtat (sortie)

Pour illustrer ce que nous venons de voir concernant les diffrentes tapes qui
composent le transfert de commande, nous allons expliquer ceci par un exemple.

Supposons que l'hte veuille demander un descripteur d'appareil pendant


l'numration. Les paquets qui sont envoys sont les suivants:

L'hte enverra un jeton d'installation disant la fonction que le paquet suivant est un
paquet d'installation. Le champ adresse fixera l'adresse de l'appareil qui l'hte a
demand le descripteur. Le numro de la terminaison devrait tre un zro, indiquant une
ligne dfectueuse. L'hte enverra alors un paquet DATA0. Celui-ci aura 8 octets de "charge
utile" (payload) correspondant la Demande de Descripteur d'Appareil comme soulign au
chapitre 9 de la spcification USB. La fonction USB annoncera alors que le paquet
d'installation a t lu correctement et sans aucune erreur. Si le paquet tait reu altr,

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 47
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

l'appareil ignorerait tout simplement ce paquet. L'hte renverra alors le paquet aprs un
court dlai.

Les 3 paquets ci-dessus reprsentent la premire transaction USB. L'appareil USB


dcodera maintenant les 8 octets reus, et dterminera que c'tait une demande de
Descripteur d'Appareil. L'Appareil tentera d'envoyer le Descripteur d'Appareil, qui sera la
transaction USB suivante :

Dans ce cas nous assumons que la taille maximale de "charge utile" (payload) est de 8
octets. L'hte envoie le jeton IN, disant l'Appareil qu'il peut maintenant envoyer des
donnes pour cette terminaison. Comme la taille maximale du paquet est de 8 octets, nous
devons scinder les 12 octets du Descripteur d'Appareil en morceaux avant de pouvoir les
envoyer. Chaque morceau doit tre de 8 octets except la dernire transaction. L'hte
validera chaque paquet de donnes que nous lui enverrons.

Une fois que le Descripteur d'Appareil est envoy, il s'ensuit une transaction d'tat. Pour le
cas o les transactions seraient russies, l'hte enverra un paquet de longueur Nul
indiquant que l'ensemble de transactions tait correct. La fonction rpond alors ce
paquet de longueur Nul indiquant son tat.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 48
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.14.2. Les transferts dinterruption :


Celui qui eut une exprience de demandes d'interruption sur microcontrleurs saura
que les interruptions sont gnres par l'appareil. Toutefois sous USB, si un appareil
demande l'attention de l'hte, il doit attendre que l'hte l'interroge avant de signaler qu'il
a besoin d'une attention urgente.

Les transferts dinterruption sont caractriss par :

Temps de retard (ou Latence) garanti


Ligne de flux - Unidirectionnel
Dtection d'erreur et nouvel essai sur priode suivante

Les transferts d'interruptions sont communment non priodiques, les petits appareils
qui ont initi la communication ont besoin de temps de retard limit.

La taille maximale de "charge utile" (payload) pour des appareils basse vitesse est
de 8 octets
La taille maximale de "charge utile" (payload) pour des appareils pleine vitesse est
de 64 octets
La taille maximale de "charge utile" (payload) pour des appareils haute vitesse est
de 1024 octets

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 49
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.30. Transaction dinterruption dente (IN) et de sortie (Out)

IN: L'hte interrogera priodiquement la terminaison d'interruption. Le taux


d'interrogation est spcifi dans le descripteur de terminaison qui sera examin plus
tard. Chaque interrogation obligera l'hte envoyer un jeton IN. Si le jeton IN est
altr, la fonction ignore le paquet et continue la surveillance du Bus pour de
nouveaux jetons.
Si une interruption a t mise en attente par l'appareil, la fonction enverra un
paquet Data contenant des donnes ayant rapport l'interruption quand il recevra
le jeton IN. Sur des rceptions au niveau de l'hte, celui-ci retournera un ACK.
Toutefois si les donnes sont altres, l'hte ne mentionnera aucun tat. Si, d'autre
part, une condition d'interruption n'tait pas prsente quand l'hte interrogeait la
terminaison d'interruption avec un jeton IN, alors la fonction signale cet tat en
envoyant un NAK. Si une erreur se produisait sur cette terminaison, un STALL
(Bloqu) serait envoy en rponse un jeton IN.

OUT: Quand l'hte veut envoyer l'appareil les donnes d'interruptions, il met un
jeton OUT suivi par un paquet Data contenant les donnes d'interruption. Si une
partie du jeton OUT ou du paquet Data est altr alors la fonction ignore le paquet.
Si le tampon de terminaison de la fonction tait vide et qu'il ait cadenc les donnes

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 50
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

dans le tampon de terminaison il mettrait un ACK prvenant l'hte qu'il a reu


correctement les donnes. Si le tampon de terminaison n'est pas vide cause du
traitement d'un paquet prcdent, alors la fonction retourne un NAK.
Toutefois si une erreur se produisait cause de la terminaison et que son bit d'arrt
(Halt) ait t positionn, elle renverrait un STALL (Bloqu).

2.14.3. Les transferts Isochrones :


Les Transferts Isochrones se produisent continuellement et priodiquement. Ils
contiennent gnralement des informations dure de vie critique, tel des trains de
donnes audio ou vido. S'il y avait un retard ou une reprise de donnes dans un flot de
donnes audio, alors on pourrait s'attendre de l'audio par intermittence contenant des
signaux transitoires.

Les transferts isochrones sont caractriss par :

Un accs garanti la bande passante USB.


Un temps d'attente limit.
Des flux de donnes - Unidirectionnel.
La dtection d'erreur via le CRC, mais sans reprise ou garantie de livraison.
Seulement les modes pleines et haute vitesse.
Pas de donnes de basculement (basculage, caches, de commutation).

La taille maximale de donnes en " charge utile " (payload) est spcifie dans le
descripteur de terminaison d'une terminaison Isochrone. Cela peut tre un maximum de
1023 octets pour un appareil pleine vitesse et 1024 octets pour un appareil haute vitesse.
Comme la taille maximale de donnes en " charge utile " va effectuer des exigences de
bande passante du Bus, il est prudent de spcifier une taille de " charge utile " modre. Si
vous utilisez de grandes " charges utiles " il peut tre aussi plus intressant de spcifier une
srie d'interfaces alternatives avec des tailles de charges utiles Isochrones variables. Si
pendant l'numration l'hte ne peut pas valider votre terminaison Isochrone nomme
cause des restrictions de bande passante, il reste une solution de repli prfrable un
chec complet. Les donnes qui ont t envoyes sur une terminaison Isochrone peuvent
tre infrieures la taille pr ngocie et peuvent varier en longueur de transaction en
transaction.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 51
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Figure 2.31. Transaction Isochrone dente (IN) et de sortie (Out)

Les transactions Isochrones n'ont pas d'tape de poigne de mains et ne peuvent pas
rendre compte des erreurs ou des conditions STALL / HALT ((Bloqu) / Arrt).

2.14.4. Les transferts En Bloc (BULK) :


Les Transferts en Bloc peuvent tre utiliss pour de grandes quantits de donnes
sporadiques. De tels exemples pourraient inclure un travail d'impression envoy une
imprimante ou une image provenant d'un scanner. Les Transferts en Bloc se prmunissent
de correction d'erreurs sous la forme d'un champ CRC16 sur les donnes " charge utile " et
sur les mcanismes de dtection et de retransmission d'erreurs qui assure la transmission
et la rception de donnes de manire infaillible.

Les Transferts en Bloc utiliseront une bande passante de rserve non attribue sur le
Bus aprs que toutes les autres transactions aient t alloues. Si le Bus est occup avec
de l'Isochrone et/ou de l'interruption, les donnes en bloc peuvent alors s'couler
doucement sur le Bus. En consquence, les transferts en bloc devraient seulement tre
utiliss pour des communications insensibles au temps du fait de la non garantie du temps
d'attente.

Les transferts en bloc sont caractriss par :

Utiliss pour de grandes quantits de donnes sporadiques.


Dtection d'erreurs via le CRC, avec la garantie de livraison.
Pas de garantie de bande passante ou du temps d'attente minimum.
Des flux de donnes - Unidirectionnel.
Seulement les modes pleines et haute vitesse.
Les Transferts en Bloc sont seulement supports par des appareils pleine et haute
vitesse. Pour des terminaisons pleine vitesse, la longueur maximale du paquet en Bloc est
soit 8, 16, 32 ou 64 octets. Pour des terminaisons haute vitesse, la longueur maximale du

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 52
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

paquet peut aller jusqu' 512 octets. Si la charge utile des donnes est infrieure la taille
maximale du paquet, elle n'a pas besoin d'tre remplie avec des zros. Un transfert en Bloc
est considr comme complet quand il a transfr la quantit exacte de donnes
demandes, ou un paquet infrieur la taille maximale de la terminaison, ou un paquet de
longueur zro.

Figure 2.32. Transaction en bloc dente (IN) et de sortie (Out)

IN: Quand l'hte est prt recevoir des donnes en Bloc, il met un jeton IN. Si la
fonction reoit le jeton IN avec une erreur, il ignore le paquet. Si le jeton est reu
correctement, la fonction peut soit rpondre avec un paquet DATA contenant les
donnes en Bloc envoyer ou bien un paquet Stall signalant que la terminaison a eu
une erreur ou un paquet NACK signalant l'hte que la terminaison travaille, mais
provisoirement n'a pas de donnes envoyer.
OUT: Quand l'hte veut envoyer la fonction un paquet de donnes en Bloc, il met
un jeton OUT suivi par un paquet DATA contenant les donnes en Bloc. Si une partie
du jeton OUT ou du paquet DATA est altre, alors la fonction ignore le paquet. Si le
tampon de terminaison de la fonction est vide et qu'il a cadenc les donnes dans le
tampon de terminaison, il met un ACK prvenant l'hte qu'il a reu correctement
les donnes. Si le tampon de terminaison n'est pas vide cause du traitement d'un

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 53
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

paquet prcdent, alors la fonction retourne un NAK. Toutefois si la terminaison a


eu une erreur et que son bit d'arrt a t positionn, elle retourne un Stall (Bloqu).

2.15. LA GESTION DE LA BANDE PASSANTE :


L'hte est responsable de la bande passante du Bus. Elle est fate par l'numration
(dnombrement) lors de la configuration des terminaisons Isochrones et d'interruptions et
durant le fonctionnement du Bus. La spcification place des limites sur le Bus, l'autorisant
allouer plus de 90% pour des transferts priodiques (Interruption et Isochrone) sur un
Bus pleine vitesse. Sur des Bus hautes vitesses, cette limitation se rduit moins de 80%
d'une micro-trame qui peut tre alloue pour des transferts priodiques.

Aussi vous pouvez assez rapidement voir que si vous avez un Bus hautement satur avec
des transferts priodiques, les 10% restants sont laisss pour les transferts de contrle et
une fois qu'ils ont t attribus, les transferts en Bloc prendront ce qui reste.

2.16. LES DESCRIPTEURS USB :


Tous les appareils USB ont une hirarchie de descripteurs qui dtaillent pour le compte
de l'hte des informations l'instruisant sur la nature de l'appareil, qui l'a ralis, quelle
version USB il supporte, de combien de manires il peut tre configur, le nombre de
terminaisons et leurs types etc

Les descripteurs les plus courants sont :

Les Descripteurs d'Appareils.


Les Descripteurs de Configurations.
Les Descripteurs d'Interfaces.
Les Descripteurs de Terminaisons.
Les Descripteurs de Chanes.
Les appareils USB ne peuvent avoir qu'un seul descripteur d'appareil. Le descripteur
d'appareil inclut des informations qui prcisent la rvision USB laquelle l'appareil se
soumet, les Identificateurs d'Appareils du produit et du constructeur utiliss pour charger
les pilotes logiciels appropris et le nombre possible de configurations que l'appareil peut
avoir. Le nombre de configurations indique combien de ramifications de descripteurs de
configurations sont appeles suivre.

Le descripteur de configuration prcise des valeurs comme la quantit de puissance


qu'utilise cette configuration particulire, si l'appareil est auto-aliment ou aliment par le
bus et le nombre d'interfaces qu'il possde. Quand un appareil est numr, l'hte lit les

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 54
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

descripteurs d'appareils et peut dcider de la configuration valider. Il peut seulement


valider une configuration la fois.

Par exemple, il est possible d'avoir une configuration d'alimentation de bus de grande
puissance et une configuration auto-alimente. Si l'appareil est branch un hte
possdant une alimentation lectrique secteur, le pilote logiciel de l'appareil choisira peut-
tre de permettre la configuration d'alimentation du bus de grande puissance tolrant
ainsi que l'appareil soit alimente sans tre reli au secteur, cependant s'il est connect
un laptop (ordinateur portatif) ou un organiseur personnel, il pourra valider la seconde
configuration (auto-alimente) exigeant de l'utilisateur de brancher son appareil sur un
point d'alimentation (secteur).

Les paramtres de configurations ne sont pas limits aux diffrences d'alimentations.


Chaque configuration pourrait tre alimente de la mme faon et drainer le mme
courant, et avoir cependant des combinaisons de terminaisons et d'interfaces diffrentes.
Toutefois il faut tenir compte que la modification de la configuration exige l'arrt de toute
activit sur chaque terminaison. Tandis que l'USB propose cette flexibilit, trs peu
d'appareils possdent plus d'une configuration.

Figure 2.33. Hirarchie des diffrents descripteurs USB

Le descripteur d'interface peut tre vu comme un "en tte" ou un regroupement de


terminaison l'intrieur d'un groupe fonctionnel accomplissant une seule fonctionnalit
de l'appareil. Par exemple, vous pouvez avoir un appareil multifonctions : fax / scanner /
imprimante. Le descripteur d'interface 1 pourra dcrire les terminaisons de la fonction fax,

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 55
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

le descripteur d'interface 2, la fonction scanner et le descripteur d'interface 3 la fonction


imprimante. Contrairement au descripteur de configuration, il n'y a pas de limitations
avoir une seule interface valide la fois. Un appareil peut avoir un ou plusieurs
descripteurs d'interfaces valides en mme temps.

Les descripteurs d'interfaces ont un champ bInterfaceNumber prcisant le numro de


l'interface et un bAlternateSetting qui autorise l'interface modifier ses paramtres au
vol. Par exemple on peut avoir un appareil avec 2 interfaces, interface 1 et interface 2.
Interface 1 bInterfaceNumber mis 0 indiquant qu'il est le premier descripteur
d'interface et un bAlternativeSetting de 0.

L'interface 2 aura un bInterfaceNumber mis 1 indiquant qu'il est la seconde interface


et un bAlternativeSetting de 0 (par dfaut). On pourra donc y faire entrer un autre
descripteur, comprenant lui aussi un bInterfaceNumber mis 1 indiquant qu'il est la
seconde interface, mais cette fois le bAlternativeSetting mis 1, indiquant que ce
descripteur d'interface peut reprsenter un paramtre alternatif celui de l'autre
descripteur d'interface 2.

Quand cette configuration est valide, les 2 premiers descripteurs d'interfaces avec
bAlternativeSettings gal 0 sont utiliss. Toutefois pendant le fonctionnement, l'hte
peut envoyer une demande impose SetInterface (Slection d'Interface) l'interface 1
avec un alternative setting (paramtre alternatif) 1 pour valider l'autre descripteur
d'interface.

Cela est plus avantageux que d'avoir 2 configurations, dans le sens o l'on peut
transmettre des donnes via l'interface 0 tandis que l'on change les paramtres de
terminaisons associs l'interface 1 sans affecter l'interface 0.

Chaque descripteur de terminaison est utilis pour spcifier le type de transfert, la


direction, l'intervalle d'interrogation et la taille maximale de paquet pour chaque
terminaison. La terminaison 0, la terminaison de commandes par dfaut est toujours
suppose tre une terminaison de commandes et en tant que tel ne possde jamais de
descripteur.

Tous les descripteurs relvent d'un schma commun. Le premier octet prcise la
longueur du descripteur, tandis que le second octet indique le type de descripteur. Si la
longueur du descripteur est plus petite que ce que dfinit la spcification, alors l'hte doit
l'ignorer. Toutefois si la taille est plus grande que prvue, l'hte ignorera les octets
supplmentaires et ne commencera rechercher le prochain descripteur qu' la fin de
celui-ci.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 56
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

2.16.1. Le descripteur dappareil (Device Descriptor) :


Le descripteur d'appareil d'un appareil USB reprsente l'appareil en entier. En
consquence un appareil USB ne peut avoir qu'un seul descripteur d'appareil. Il donne des
informations lmentaires et pourtant fondamentales sur l'appareil telles la version USB
support, la taille maximale de paquet, les identificateurs du constructeur et produits et le
nombre de configurations possibles que peut avoir l'appareil.

Dcalage Champ Taille Valeur Description


Taille du descripteur en octets (12
0 bLength 1 Nombre
octets)
1 bDescriptorType 1 Constante Descripteur dappareil (0x01)
Numro de spcification USB
2 bcdUSB 2 BCD auquel lappareil doit aussi se
soumettre.
Code classe (class) (assign par
USB org)
Si gal 0, chaque interface
prcise son propre code classe
4 bDeviceClass 1 Classe
Si gal 0xFF, le code classe est
prcis par le constructeur.
Autrement le champ est un code
classe valable.
Code sous classe (assign par USB
5 bDeviceSubClass 1 Sous Classe
org)
Code protocole (assign par USB
6 bDeviceProtocol 1 Protocole
org)
Taille maximale de paquet pour la
7 bMaxPacketSize 1 Nombre terminaison Zro. Les tailles
conformes sont 8, 16, 32, 64
IDentification du fournisseur
8 idVendor 2 ID
(assign par USB org)
IDentification du produit (assign
10 idProduct 2 ID
par USB org)
12 bcdDevice 2 BCD Numro de version de lappareil

Index de descripteur de chane du


14 iManufacturer 1 Index
fabricant
Index de descripteur de chane du
15 iProduct 1 Index
produit
Index de descripteur de chane du
16 iSerialNumber 1 Index
numro de srie

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 57
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

17 bNumConfigurations 1 Entier Nombre de configurations possible

Tableau 2.6. Format du descripteur dappareil

Le champ bcdUSB rapporte la version USB la plus haute que peut supporter l'appareil.
La valeur est en binaire cod dcimal avec un format de 0xJJMM ou JJ est le numro de
version de poids fort, M le numro de version de poids faible et N correspond au numro
de sous-version c'est dire USB 2.0 est inscrit comme 0x0200, USB 1.1 comme 0x0110 et
USB 1.0 comme 0x0100.

Les champs bDeviceClass, bDeviceSubClass et bDeviceProtocol sont utiliss par le


systme d'exploitation pour trouver un pilote logiciel de classe pour votre appareil.
Habituellement seul le bdeviceclass est positionn au niveau de l'appareil. La plupart des
spcifications de classe choisissent de s'identifier au niveau de l'interface et en
consquence positionnent le bdeviceclass 0x00. Cela permet un appareil de supporter
plusieurs classes.

Le champ bMaxPacketSize rapporte la taille maximale pour la terminaison zro. Tous les
appareils doivent supporter la terminaison zro.

Le champ idVendor et idProduct sont utiliss par le systme d'exploitation pour trouver
un pilote logiciel pour votre appareil. L'identification constructeur (vendor ID) est assigne
par USB-IF.

Le champ bcdDevice a le mme format que bcdUSB et est utilis pour fournir un
numro de version d'appareil. Cette valeur est assigne par le dveloppeur.

Trois descripteurs de chaines de caractres existent pour fournir des dtails du


fabriquant, du produit et du numro de srie. Il n'y a pas d'obligation avoir des
descripteurs de chaines de caractres. Si aucun descripteur de chaines de caractres n'est
prsent, il faudrait utiliser un index de zro.

Le champ bNumConfigurations dfinit le nombre de configuration que l'appareil peut


supporter et sa vitesse normale d'excution.

2.16.2. Le descripteur de configuration (Configuration Descriptor) :


Un appareil USB peut avoir plusieurs configurations diffrentes alors que la majorit des
appareils sont simples et n'en ont qu'une. Le Descripteur de Configuration prcise la faon
dont l'appareil est aliment, quelle est sa consommation lectrique maximale, le nombre
d'interfaces qu'il possde. Il est donc possible d'avoir 2 configurations, quand il est

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 58
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

aliment par le bus et une autre quand il est aliment par le secteur. Comme ceci est un
"en tte " de descripteur d'interface, il est aussi possible d'avoir une configuration utilisant
un mode de transfert diffrent de celui d'une autre configuration.

Une fois que toutes les configurations ont t examines par l'hte, celui-ci enverra une
instruction SetConfiguration avec une valeur diffrente de Zro qui correspondra la
valeur bConfiguration de l'une des configurations. Elle est utilise pour slectionner la
configuration voulue.

Dcalage Champ Taille Valeur Description


Taille du descripteur en octets (9
0 bLength 1 Nombre
octets)
Descripteur de configuration
1 bDescriptorType 1 Constante
(0x02)
Longueur totale en octets de
2 wTotalLength 2 Nombre
donnes renvoyes.
4 bNumInterfaces 1 Nombre Nombre dinterfaces
Valeur utiliser comme argument
5 bConfigurationValue 1 Nombre pour slectionner cette
configuration
Index de descripteur de chaines de
6 iConfiguration 1 Index caractres dcrivant cette
configuration.
D7 Rserv, mis 1 (USB 1.0
aliment par le bus)
D6 Auto aliment
7 bmAttributes 1 Bitmap
D5 Activation dune station a
distance
D4..0 Rserv. Mis 0
Consommation lectrique
8 bMaxPower 1 mA
maximale en units de 2 mA.

Tableau 2.7. Format du descripteur de configuration

Lors de la lecture du descripteur de configuration, il renvoie la hirarchie ou


l'arborescence complte de configuration qui inclut toute interface apparente et les
descripteurs de terminaisons. Le champ wTotalLength indique le nombre d'octets dans la
hirarchie.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 59
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Le champ bNumInterfaces indique le nombre d'interface prsent pour cette


configuration.

Le champ bConfigurationValue est utilis par la demande SetConfiguration pour


slectionner cette configuration.

Le champ iConfiguration est un index de descripteur de chaine de caractre dcrivant la


configuration dans un format lisible par l'homme.

Le champ bmAttributes prcise les paramtres d'alimentation pour la configuration. Si


un appareil est auto-aliment, il positionne D6. Le bit D7 tait autrefois utilis par l'USB 1.0
pour indiquer un appareil aliment par le bus, ceci est maintenant ralis par le champ
bMaxPower. Si un appareil utilise l'nergie du bus, que ce soit un appareil aliment par le
bus ou un appareil auto-aliment, il doit rapporter sa consommation lectrique dans le
champ bMaxPower. Les appareils peuvent aussi prendre en charge l'activation d'une
station distance qui permettra l'appareil de rveiller l'hte quand celui-ci est en mode
veille.

Le champ bMaxPower dfinit la consommation lectrique maximale que l'appareil peut


prendre du bus. Elle est donne en units de 2 mA, jusqu'au chiffre maximum de 500 mA
environ. La spcification permet un appareil aliment par un bus de forte puissance de
ponctionner jusqu' 500 mA partir de Vbus. Dans le cas o un appareil perd son
alimentation externe, il ne doit pas ponctionner plus que ce qui est indiqu dans
bMaxPower. Il devrait chouer sur toutes oprations ncessitant l'alimentation externe.

2.16.3. Le descripteur dinterface (Interface Descriptor) :


Le Descripteur d'Interface peut tre vu comme un " en tte " ou un regroupement de
Terminaisons dans un groupe fonctionnel excutant une simple fonction pour l'appareil.

Dcalage Champ Taille Valeur Description


Taille du descripteur en octets (9
0 bLength 1 Nombre
octets)
Descripteur de configuration
1 bDescriptorType 1 Constante
(0x04)
2 bInterfaceNumber 1 Nombre Numro dinterface
Valeur utilise pour slectionner
3 bAlternateSetting 1 Nombre une configuration de
remplacement
Nombre de terminaisons utilises
4 bNumEndpoints 1 Nombre
pour cette interface.
5 bInterfaceClass 1 Class Code Classe (assign par USB org)

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 60
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Code Sous Classe (assign par USB


6 bInterfaceSubClass 1 SubClass
org)
Code du Protocole (assign par
7 bInterfaceProtocol 1 Protocol
USB org)
Index du descripteur de chaine
8 iInterface 1 Index
dcrivant cette interface.

Tableau 2.8. Format du descripteur dinterface

Le champ bInterfaceNumber indique l'index du descripteur d'interface. Il devait tre


point Zro, et incrment une fois pour chaque nouveau descripteur d'interface.

Le champ bAlternativeSetting peut tre utilis pour prciser les interfaces de


remplacement. Ces interfaces alternatives peuvent tre slectionnes par la demande
SetInterface.

Le champ bNumEndpoints indique le nombre de terminaisons utilis par l'interface.


Cette valeur devrait exclure la terminaison Zro et est utilise pour indiquer le nombre de
Descripteurs de terminaisons suivre.

Les champs bInterfaceClass, bInterfaceSubClass et bInterfaceProtocol peuvent tre


utiliss pour prciser les classes prises en compte (par exemple : HID, Communications,
mmoire de masse etc). Ceci permet plusieurs appareils d'utiliser des " drivers " (pilote
logiciel) de classe vitant le besoin d'crire des " drivers " spcifiques pour votre appareil.

Le champ iInterface permet d'avoir une description textuelle de l'interface.

2.16.4. Le descripteur de terminaison (Endpoint Descriptor) :


Les Descripteurs de Terminaison sont utiliss pour dcrire les terminaisons autres que la
terminaison zro. La terminaison zro est toujours cense tre une terminaison de
commande et est configur avant que n'importe quel autre descripteur ne soit sollicit.
L'Hte utilisera l'information renvoye par ces descripteurs pour dterminer les besoins de
bande passante du bus.

Dcalage Champ Taille Valeur Description


Taille du descripteur en octets (7
0 bLength 1 Nombre
octets)
Descripteur de terminaison (0x05)
1 bDescriptorType 1 Constante
Adresse de terminaison
2 bEndpointAdress 1 Terminaison
Bits 0..3b Numro de terminaison

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 61
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Bits 4..6b Rservs. Mis 0.


Bit 7 Direction ; 0 = Sortie, 1 =
Entre (ignor pour les
terminaisons de commande).
Bits 0..1 Type de transfert
00 = Commande
01 = Isochrone
10 = par Bloc
11 = Interruption
Bits 2..7 sont rservs
Si terminaison Isochrone :
Bits 3..2 = Type de synchronisation
(mode Iso)
00 = Pas de synchronisation
3 bmAttributes 1 Bitmap 01 = Asynchrone
10 = Adaptif
11 = Synchrone
Bits 5..6 = Type dutilisation (mode
iso)
00 = Terminaison de donnes
01 = Terminaison de retour
(Feedback)
10 = Renvoi explicite de
terminaison de donnes
11 = Rserv
Taille maximale du paquet que
4 wMaxPacketSize 2 Nombre cette terminaison est capable
d'envoyer ou de recevoir
Intervalle de temps pour
interroger les transferts de
donnes de la terminaison.
Valeur en nombre de trames.
Ignor pour les terminaisons par
6 bIntervale 1 Nombre
Bloc et de commande. Pour le
mode Isochrone il doit tre gal
1 et le champ peut valoir de 1
255 pour des terminaisons
d'interruptions.

Tableau 2.9. Format du descripteur de terminaison

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 62
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Le champ bEndpointAddress indique quelle terminaison ce descripteur dcrit.

Le champ bmAttributes prcise le type de transfert. Cela peut tre soit des transferts
de type Commande, Interruption, Isochrone ou par Blocs. Si une terminaison Isochrone est
prcise, des attributs supplmentaires peuvent tre slectionns tel que la
synchronisation et les types d'utilisations.

Le champ wMaxPacketSize indique la taille maximale de charge utile pour cette


terminaison.

Le champ bInterval est utilis pour prciser cet intervalle d'interrogation de certains
transferts. L'unit est exprim en trames quivalent ainsi 1 ms pour des appareils basse /
pleine vitesse et 125 s pour des appareils haute vitesse.

2.16.5. Le descripteur de chaine de caractres (String Descriptor) :


Les Descripteurs de chanes fournissent une information lisible pour l'homme et sont
optionnels. S'ils ne sont pas utiliss, tout champ d'index de descripteurs de chanes doit
tre mis zro indiquant qu'il n'y a pas de descripteur de chane disponible.

Les chanes de caractres sont codes au format Unicode et les produits peuvent tre
prvus pour comprendre les diverses langues. L'index de chane zro devra retourner une
liste de langues accepte. On peut trouver une liste USB d'identification de langue dans
Universal Serial Bus Language Identifiers (LANGIDs) version 1.0 (Identificateurs de langue
sur BUS Srie Universel version 1.0).

Dcalage Champ Taille Valeur Description


0 bLength 1 Nombre Taille du descripteur en octets
1 bDescriptorType 1 Constante Descripteur de chane (0x03)
Langue accepte code zro (par
2 wLANGID[0] 2 Nombre
exemple 0x0409 Anglais, U.S.)
Langue accepte code Un (par
4 wLANGID[1] 2 Nombre exemple 0x0C09 Anglais,
Australien)
Langue accepte code x (par
n wLANGID[n] 2 Nombre exemple 0x0407 Allemand -
Standard)

Tableau 2.10. Format du descripteur de chane Zro

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 63
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Le descripteur de chanes ci-dessus montre le format du descripteur de chane zro.


L'Hte devra lire ce descripteur pour dterminer quelles langues sont disponibles. Si une
langue est accepte, elle peut tre rfrence en envoyant l'Identification de la langue
dans le champ wIndex la demande de Get Descriptor(String).

Toutes les chanes de caractres venir tiennent dans le format ci-dessous.

Dcalage Champ Taille Valeur Description


0 bLength 1 Nombre Taille du descripteur en octets
1 bDescriptorType 1 Constante Descripteur de chane (0x03)
2 bString n Unicode Textes cods unicode

Tableau 2.11. Format du descripteur de chane

2.17. LE PAQUET DINSTALLATION :


Tout appareil USB doit rpondre aux paquets d'installation sur le canal de
communication par dfaut. Les paquets d'installation sont utiliss pour la dtection et
configuration de l'appareil et vhiculent des fonctions courantes telles que la mise en place
de l'adresse de l'appareil USB, la demande d'un descripteur d'appareil ou la vrification de
l'tat d'une terminaison.

Un hte USB conforme s'attend ce que toutes les requtes soient traites dans une
priode maximale de 5 secondes. Il prcise aussi des temps plus stricts pour des requtes
particulires.

Les requtes standards d'appareils sans tage de donnes doivent tre accomplies en
50 ms.

Les requtes standards d'appareils avec un tage de donnes doivent commencer


renvoyer les donnes 500 ms aprs la requte.

Chaque paquet de donnes doit tre envoy dans les 500 ms de la transmission
russie du paquet prcdent.
L'tage d'tat doit tre accompli dans les 50 ms aprs la transmission du dernier
paquet de donnes.
L'instruction SetAdress (qui contient une phase de donnes) doit traiter l'instruction et
retourner l'tat dans ces 50 ms. L'appareil a donc 2 ms pour changer d'adresse avant que
la prochaine requte ne soit envoye.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 64
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Chaque requte commence avec un paquet d'installation de 8 octets qui a le format


suivant :

Dcalage Champ Taille Valeur Description


D7 Direction de transfert de phase
de donnes :
0 = Hte vers lappareil
1 = Appareil vers hte
D6..5 Type :
00 = Standard
01 = Classe
0 bmRequestType 1 Bitmap 10 = Constructeur
11 = Rserv
D4..0 Destinataire
0 = Appareil
1 = Interface
2 = Terminaison
3 = Autre
4 ..31 Rservs
1 bRequest 1 Valeur Requte
2 wValue 2 Valeur Valeur
Index ou
4 wIndex 2 Index
Dcalage
Nombres d'octets transfrer s'il y
6 wLength 2 Compteur
a une phase de donnes

Tableau 2.12. Format du paquet dinstallation

Le champ bmRequestType dterminera le sens de la requte, le type de la requte et le


destinataire dsign. Le champ bRequest indique la requte formule. Le champ
bmRequestType est gnralement analys et l'excution est raccorde un numro
d'identificateurs comme un gestionnaire de requte d'un appareil standard, un
gestionnaire de requte d'une interface standard, un gestionnaire de requte de
terminaison standard, un gestionnaire de requte d'un appareil de classe, etc. La faon
d'excuter le paquet d'installation vous appartient. D'autres pourraient choisir d'excuter
en premier bRequest puis de dterminer le type et le destinataire bas sur chaque
requte.

Les requtes standards sont communes tous les appareils USB. Les requtes de classe
sont communes aux classes de drivers (pilote logiciel). Par exemple, tout appareil tant
conforme la classe HID aura un ensemble commun de requtes spcifiques de classe. Ils

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 65
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

diffreront d'un appareil conforme la classe communication et diffreront encore d'un


appareil conforme la mmoire de masse (de grande capacit de stockage).

Et pour finir, les requtes dfinies par le constructeur. Ce sont des requtes que vous
pouvez attribuer en tant que concepteur d'appareil USB. Elles sont normalement
diffrentes d'un appareil un autre, mais dpendent de votre ralisation et de votre
imagination.

Une requte commune peut tre dirig vers des destinataires diffrents et base sur les
fonctions diffrentes excute par le destinataire. Par exemple une requte standard
GetStatus peut tre dirige sur l'appareil, l'interface ou la terminaison. Quand elle est
dirige sur un appareil, cette dernire retourne des drapeaux (flags) indiquant l'tat de la
station d'activation et si l'appareil est auto-aliment.

Toutefois si la mme requte est dirige sur l'interface il renvoie toujours Zro, ou bien
si elle tait dirige sur une terminaison, l'appareil retournerait le drapeau Halt pour la
terminaison.

Les champs wValue et wIndex permettent le passage de paramtres avec la requte. Le


champ wLength est utilis pour prciser le nombre d'octets transfrer au cas o il
existerait une phase de donne.

La section 9.4 de la spcification USB dtaille les requtes " d'appareils standard "
exiges qui doivent tre appliques pour chaque appareil USB. Le standard fournit un
tableau unique regroupant des articles par requte. Considrant que la plupart des
microprogrammes analyseront le paquet d'installation par destinataire, nous choisirons de
sparer les requtes en fonction du destinataire pour une tude et une application plus
simple.

2.17.1. Les requtes dappareil standard :


Il y a actuellement 8 requtes d'appareil standard, chacune tant dtaille dans le
tableau 2.13.

bmRequestType bRequest wValue wIndex wLength Donnes


Etat de
1000 0000b GET_STATUS (0x00) Zro Zro Deux
lappareil
CLEAR_FEATURE Slecteur de
0000 0000b Zro Zro Aucune
(0x01) fonction
Slecteur de
0000 0000b SET_FEATURE (0x03) Zro Zro Aucune
fonction

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 66
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Adresse de
0000 0000b SET_ADDRESS (0x05) Zro Zro Aucune
l'appareil
Type de Zro ou Longueur
GET_DESCRIPTOR
1000 0000b Descripteur ID de du Descripteur
(0x06)
& Index Langues Descripteur
Type de Zro ou Longueur
SET_DESCRIPTOR
0000 0000b Descripteur ID de du Descripteur
(0x07)
& Index Langues Descripteur
GET_CONFIGURATION Valeur de
1000 0000b Zro Zro 1
(0x08) Configuration
SET_CONFIGURATION Valeur de
0000 0000b Zro Zro Aucune
(0x09) Configuration

Tableau 2.13. Requtes dappareils standards

La requte GetStatus dirige vers l'appareil retournera 2 octets pendant l'tage de


donnes suivant le format :

Si D0 est 1, ceci indique que l'appareil est auto aliment. S'il est 0, l'appareil est
aliment par le bus. Si D1 est 1, l'activation distance de l'appareil est valide et ce
dernier peut rveiller l'hte pendant le mode veille. Le bit d'activation distance peut tre
positionn par les requtes SetFeature et ClearFeature.

Set Address est utilis pendant l'numration pour attribuer une adresse unique
l'appareil USB. L'adresse est prcise dans wValue et peut valoir au maximum 127. Cette
requte est unique dans le sens ou l'appareil ne positionnera pas son adresse tant que la
phase d'tat ne sera pas acheve. Toutes les autres requtes doivent tre termines avant
la phase d'tat.

Set Descriptor/Get Descriptor est utilis pour renvoyer le descripteur indiqu dans
wValue. Une requte pour le descripteur de configuration retournera le descripteur
d'appareil et, tous les descripteurs d'interfaces et de terminaisons dans la mme requte.

Les descripteurs de terminaisons ne peuvent pas tre accessibles directement par


une requte de GetDescriptor / SetDescriptor.
Les descripteurs d'interfaces ne peuvent pas tre accessibles directement par une
requte de GetDescriptor / SetDescriptor.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 67
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Les descripteurs de chanes incluent une Identification de langues dans wIndex pour
autoriser le support de plusieurs langues.

GetConfiguration/SetConfiguration est utilis pour demander ou positionner la


configuration de l'appareil actuel. Dans le cas d'une requte GetConfiguration, un octet
sera renvoy pendant la phase de donne indiquant l'tat de l'appareil. Une valeur zro
signifie que l'appareil n'est pas configur et une valeur diffrente de zro indique que
l'appareil est configur. SetConfiguration est utilis pour valider un appareil. Il doit
contenir la valeur de bConfigurationValue du descripteur de configuration voulu dans
l'octet de poids faible de wValue pour slectionner quelle configuration valider.

2.17.2. Les requtes dinterface standard :


La spcification actuelle dfinit 5 requtes d'interface standard qui sont dtailles dans
tableau 2.14. Il est intressant de noter que, seules 2 requtes donnent quelque chose de
comprhensible.

bmRequestType bRequest wValue wIndex wLength Donnes


GET_STATUS Etat de
1000 0000b Zro Interface Deux
(0x00) lappareil
CLEAR_FEATURE Slecteur de
0000 0001b Interface Zro Aucune
(0x01) fonction
SET_FEATURE Slecteur de
0000 0001b Interface Zro Aucune
(0x03) fonction
GET_INTERFACE Interface de
1000 0001b Zro Interface Un
(0x0A) remplacement
SET_INTERFACE Positionnement
0000 0001b Interface Zro Aucune
(0x11) alternatif

Tableau 2.14. Requtes dinterfaces standards

Le champ wIndex est normalement utilis pour prciser l'interface de rfrence pour
des requtes lies l'interface. Voir son format dans le schma ci-dessous.

GetStatus est utilis pour retourner l'tat de l'interface. Une telle requte l'interface
doit renvoyer 2 octets de valeur 0x00, 0x00. (Les 2 octets sont rservs pour une utilisation
future).

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 68
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Les requtes ClearFeature et SetFeature peuvent tre utilises pour positionner des
fonctions boolennes. Quand le destinataire dsign est l'interface, la spcification USB
actuelle rvision 2 prcise qu'il n'y a pas de fonctions d'interface.

GetInterface et SetInterface rgle le positionnement de l'interface de remplacement.

2.17.3. Les requtes de terminaison standard :


Les requtes de terminaisons standard sont au nombre de 4, listes dans le tableau
2.15.

bmRequestType bRequest wValue wIndex wLength Donnes


Etat de
1000 0010b GET_STATUS (0x00) Zro Terminaison Deux
lappareil
CLEAR_FEATURE Slecteur de
0000 0010b Terminaison Zro Aucune
(0x01) fonction
Slecteur de
0000 0010b SET_FEATURE (0x03) Terminaison Zro Aucune
fonction
SYNCH_FRAME Numro de
1000 0010b Zro Terminaison Deux
(0x12) Trame

Tableau 2.15. Requtes de terminaisons standards

Le champ wIndex est normalement utilis pour prciser la terminaison de rfrence et


la direction pour les requtes lies la terminaison. Voir son format dans le schma ci-
dessous.

GetStatus renvoie 2 octets indiquant l'tat (Arrt/Bloqu) d'une terminaison. Le


format des 2 octets renvoys est illustr ci-dessous.

ClearFeature et SetFeature sont utiliss pour positionner les fonctions de la


terminaison. Le standard dfini actuellement un slecteur de fonction de terminaison :
ENDPOINT_HALT (0x00) qui permet l'hte de bloquer et d'effacer une terminaison.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 69
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

Seules les terminaisons autres que la terminaison par dfaut sont conseilles pour avoir
cette fonctionnalit.

Une requte SynchFrame est utilise pour rapporter une trame de synchronisation de
terminaison.

2.18. LENUMERATION :
L'numration est la manire de dterminer l'appareil qui vient juste d'tre branch au
bus et les paramtres dont il a besoin, comme la consommation lectrique, le nombre et le
type de terminaison, la classe du produit, etc. L'hte attribuera donc l'appareil une
adresse et validera une configuration lui permettant de transfrer des donnes sur le bus.
Toutefois lorsque l'on crit un microprogramme USB pour la premire fois, il est plus
pratique de connatre la manire dont l'hte rpond pendant l'numration, plutt que le
processus d'numration gnral dtaill dans la spcification.

Une numration sous Windows ordinaire implique les tapes suivantes :

L'hte ou Hub dtecte la connexion d'un nouvel appareil via les rsistances de
rappel de l'appareil relies sur les 2 fils de donnes. L'hte attend au moins 100ms,
le temps que la prise soit insre compltement et que l'alimentation de l'appareil
soit stabilise.
L'hte met un " reset " mettant l'appareil dans l'tat par dfaut. L'appareil peut
maintenant rpondre l'adresse zro par dfaut.
L'hte (sous MS Windows) demande les 64 premiers octets du descripteur
d'appareil.
Aprs avoir reu les 8 premiers octets du descripteur d'appareil, l'hte met
immdiatement un autre reset sur le bus.
L'hte met maintenant une commande SetAdress, mettant l'appareil dans l'tat
adressable.
L'hte demande la totalit des 18 octets du descripteur d'appareil.
Puis il demande les 9 octets du descripteur de configuration pour dterminer la
taille totale.
L'hte demande les 255 octets du descripteur de configuration.
L'hte demande l'un des descripteurs de chanes s'ils taient indiqus.

A la fin de ltape 9, " Windows " demandera un driver (pilote logiciel) pour votre
appareil. Il est alors courant de le voir redemander tous les descripteurs avant d'mettre
une requte SetConfiguration.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 70
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

L'tape 4 embarrasse souvent les gens qui crivent des microprogrammes pour la
premire fois. L'hte demande les 64 premiers octets du descripteur d'appareil, aussi
lorsque l'hte met zro votre appareil aprs avoir reu les 8 premiers octets, il est tout
fait naturel de penser qu'il y a un problme soit au niveau du descripteur d'appareil soit
dans la faon dont votre microprogramme manipule la requte. Cependant, comme vous
le diront beaucoup de gens, si vous insistez sur la mise en uvre de la commande
SetAdress, elle sera rcompense par la demande suivante de 18 octets pleins du
descripteur d'appareil.

Gnralement quand il y a un problme avec le descripteur ou sur la faon dont il est


envoy, l'hte tentera de le lire 3 fois avec de longues pauses entre les requtes. Aprs la
troisime tentative, l'hte abandonne signalant une erreur au niveau de l'appareil.

Figure 2.34. Diagramme dtat dun appareil USB

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 71
Chapitre II : Approche Thorique et Pratique Sur Linterface USB 2014

CONCLUSION :
Dans ce chapitre, nous avons essay de donner un aperu gnral sur les spcifications
du bus USB. Tout ce qui a t dcrit dans ce chapitre a t pris de la spcification USB 2.0
qui est un document officiel dcrivant toutes les caractristiques du bus USB.

Nous avons utilises ces informations dans notre projet pour concevoir la liaison USB
entre la carte de commande et lordinateur, ce qui qui nous a permis dtablir une ligne de
communication rapide et sure.

En dfinitif, le bus USB reste le moyen de communication le plus utilis dans le monde
et en particulier dans lindustrie ou on trouve des liaisons USB dans la plupart des
machines et quipements industriels.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 72
CHAPITRE III :

Thorie et Ralisation Pratique


De La Carte Dinterface
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

INTRODUCTION :
Dans ce dernier chapitre, nous allons essayer de mettre en vidence laspect pratique
de ce que nous avons vu dans les chapitres prcdents.

Ltude va tre concentre autour de la carte de commande. Celle-ci a pour but de


recevoir des informations depuis un ordinateur via le bus USB, puis le processeur incorpor
dans la carte doit analyser ces informations et les transformer en impulsions lectriques
afin de faire tourner des moteurs pas pas.

Tous les composants utiliss dans cette carte ont une fonction bien prcise dans son
fonctionnement, on tudiera tout ceci le long de ce chapitre.

Enfin tout cet ensemble va fonctionner grce deux programmes informatiques, le


premier est implant dans le microcontrleur qui gre la carte de commande, ce
programme est crit en langage machine. Le deuxime est un programme fonctionnant sur
un ordinateur, il est crit en langage volu (dans notre cas cest le VISUAL C++). Ce
programme permet denvoyer les diffrentes commande a la cartes ainsi que de visualiser
lavancement des oprations.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 73
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

3.1. STRUCTURE GENERALE DE LA CARTE :


La structure gnrale de la carte de commande est reprsente dans le schma
synoptique de la figure 3.35. On remarquera que le noyau de cette carte est le
microcontrleur de la famille microchip PIC18F4550.

Autour de ce microcontrleur se trouvent les diffrents lments qui lui permettent


dacqurir des donnes ou denvoyer des commandes.

Nous avons lunit dentre qui est compos dun multiplexeur 8 lignes vers 1 ligne
SN74HC151. Cette unit sert identifier les diffrentes entres qui sont les contacts limites
pour les axes X, Y et Z ainsi que le bouton de la fonction ORIGINE.

Lunit daffichage est compose dun afficheur LCD de quatre lignes et 16 caractres
par ligne. Elle sert visualiser les diffrentes tapes dexcution.

Nous avons quatre units dinterfaces, chacune delles est associe un moteur. Elles
sont bases sur un SN74HC574 qui est un buffer trois tats compos de 8 bascules D. le
microcontrleur utilise ces interfaces pour multiplexer les donnes envoyes aux
diffrents moteurs.

Les units de commandes sont aux nombre de quatre, elles sont bases sur le tandem
L297 et L298 qui sont des circuits conus pour la commande des diffrents types de
moteurs pas pas.

Et enfin nous avons les units de communications, elles sont aux nombre de deux. Elles
permettent au microcontrleur de communiquer avec un ordinateur. On a linterface
RS232 quon nutilisera pas dans notre projet pour le moment, en revanche on a opt pour
linterface USB qui est plus intressante mettre en uvre.

Nous dtaillerons tous ces points dans ce qui suit.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 74
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 75
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

3.2. LUNITE DE CONTROLE :


Lunit de contrle est base sur le microcontrleur MICROCHIP PIC18F4550 qui un
contrleur huit bits dont lavantage est quil est quip dune interface USB compatible
avec le standard USB 2.0 (Annexe C).

La figure 3.36 illustre le type de composant utilis dans notre projet.

Figure 3.36. Brochage du PIC18F4550-TQFP44

Les pins de port RD0..RD5 sont relis aux circuits dinterface SN74HC574, ils permettent
au microcontrleur de commander les circuits de commande de moteur pas pas L297
(Annexe C). La slection des diffrents moteurs se fait grce aux pins de port RD6, RD7,
RE0 et RE1 qui sont relis respectivement aux entres horloge des circuits U3, U6, U9 et
U12.

La pin de port RE2 est reli la sortie slection du circuit U14 (SN74HC151), elle permet
au microcontrleur de lire ltat des diffrentes entres (limite X, Limite Y, Limite Z,
Origine). Pour ce faire le microcontrleur utilise les pins de port RA3, RA4 et RA5 pour
commander la slection dentre du circuit U14 (8 entres possibles).

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 76
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Les pins de port RB0..RB7 reprsentent le bus de donnes reliant le microcontrleur


lafficheur LCD. Les pins de port RA0, RA1 et RA2 reprsentent respectivement les
commandes RS, R/W et E relatives lafficheur LCD.

La pin de port RC0 est relie la led22, elle reprsente ltat du port USB. Si le port USB
est configur alors la led22 sallume et si le port USB est dtach alors la led22 steint
(voir figure 2.34).

Les pins de port RC4, RC5 sont relies respectivement aux broches D- et D+ du
connecteur USB. La pin de port RC1 est relie la broche VCC du connecteur USB, elle
permet au microcontrleur de savoir si le connecteur USB est reli lordinateur afin
denclencher le processus dnumration (voir chapitre 2).

Les pins de port RC6 et RC7 sont relies au circuit U15 (MAX232), t cela afin dutiliser
linterface RS232 du microcontrleur.

La pin de port RC1 est utilise par le microcontrleur pour commander deus relais. On
utilisera les sorties des deux relais pour commander une mini perceuse ou autre
mcanisme.

Les pins OSC1 et OSC2 sont relies un quartz pour former lhorloge du
microcontrleur. Dans notre cas on utilise un quartz de 20 Mhz, le microcontrleur est
configur pour fonctionner a 48 Mhz et ceci afin dobtenir la vitesse lhorloge permettant
dutiliser le bus USB en mode pleine vitesse (96 Mhz).

Enfin nous avons les pins de port ICPGC, ICPGD et ICRST qui sont utilises pour
programmer le microcontrleur par la mthode ICSP (In Circuit Serial Programming). Cette
mthode permet de programmer le microcontrleur sans avoir le retirer de la plaque de
circuit imprim.

Toutes ces informations sont illustres dans le schma lectrique de la carte de


commande en Annexe C.

3.3. LUNITE DE COMMADE DE MOTEUR PAS A PAS :


Les circuits intgrs L297 ET L298 sont les composants les plus utilises lorsquil sagit de
piloter des moteurs pas pas. Ils permettent en effet de commander nimporte quel
moteur, quil soit unipolaire ou bipolaire. Ils peuvent alimenter des organes consommant
un courant compris entre quelques dizaines de milliampres et plusieurs ampres. Ce sont
donc des composants standards par excellence car ils ont t conus afin dtre utilises
ensemble, mais ils peuvent galement tre inclus dans un quelconque montage, et ce,
sparment.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 77
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

3.3.1. Prsentation du circuit intgr L297 :


Le contrleur de moteur pas pas a t conu, comme nous venons de le dire, afin
dtre utilis avec le circuit L298.

Ses principales caractristiques sont :

Commande en mode monophas ou biphas.


Mode demi-pas ou pas entier.
Sens de rotation horaire ou anti-horaire.
Courant de charge programmable.
Peu de composants externes ncessaires.
Entre de remise zro (RAZ).
Sortie HOME (indique la position de dpart).
Entre de validation du circuit.

La figure 3.37 donne le brochage et la structure interne du circuit L297. Le L297 est
conue pour fonctionner avec un driver en double pont, un rseau de quatre
Darlington de puissance ou des composants discrets. Il lui suffit de recevoir des signaux
dhorloge (avance des pas), de direction et de mode afin de piloter le moteur pas pas.il
gnre ensuite, seul, la squence de commande de ltage de puissance.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 78
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Figure 3.37. Brochage et structure interne du circuit L297

Comme on peut lapercevoir sur la figure 3.37 reprsentant sa constitution interne, il


possde deux tages principaux : un translateur qui gnrales diffrentes squences de
commande et un doubleur hacheur PWM (Pulse Width Modulation) qui rgule le courant
traversant les bobinages du moteur.

Le translateur gnre trois squences diffrentes. Elles sont dtermines par le niveau
logique appliqu sur lentre HALF/FULL :

La commande en mode monophas : une seule phase alimente.


La commande en mode biphas : deux phases alimentes.
La commande en mode demi-pas : alternativement une phase puis deux phases
alimentes.

Deux signaux dinhibition (INH1 et INH2) sont galement gnrs par le L297 dans les
modes monophass et demi-pas. Ces signaux qui sont directement appliqus aux entres
de validation du L298, permettent dacclrer la dcroissance du courant dans les
bobinages du moteur lorsque ceux-ci ne sont plus aliments. Lorsque le L297 est utilis
pour la commande dun moteur unipolaire, les hacheurs agissent sur ces lignes.

Une entre nomme CONTROL dtermine le moment o le hacheur devra agir sur les
sorties A, B, C et D ou les entres INH1 et INH2.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 79
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Un oscillateur interne commande les hacheurs. Lorsque le courant traversant lun des
bobinages du moteur atteint la tension programme (valeur fixe par les rsistances
palpeuses connectes aux entres SENS1 et SENS2), le comparateur correspondant
interrompt lalimentation du moteur jusqu la prochaine impulsion de loscillateur. Une
tension de rfrence fixant la valeur du courant est dispense aux deux comparateurs par
un diviseur de tension connect sur la broche 15 (Vref) du L297. Ce diviseur peut tre
constitu dune rsistance fixe et dune rsistance ajustable afin de pouvoir rgler la valeur
du courant.

3.3.2. Prsentation du circuit intgr L298 :


Le circuit intgr L298 est le circuit complmentaire du L297. Il permet, ainsi que nous
lavons dj signal, la simplification extrme de la construction dune platine de
commande dun moteur pas pas. Ce circuit nest ni plus ni moins quun double pont de
commande de puissance possdant des sorties de mesure de courant consomm par le
moteur ainsi que des entres de validation. Il ne ncessite donc que trs peu de
composants externes et sa mise en uvre est trs simple.

Il se prsente sous la forme dun boitier a 15 broches de type multiwatt dont le dessin
est donn en figure 3.38.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 80
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Figure 3.38. Brochage et structure interne du circuit L298

Le L298 permet lutilisation dune tension dalimentation du moteur relativement


leve. Le courant quil peut dbiter permet lusage de moteurs pas pas possdant des
bobinages de valeur ohmique peu lev. Il peut tre utilis pour la commande de moteurs
pas pas, de relais lectromcaniques, de solnodes ou de moteurs a courant continu, et
ce, en mode commun ou diffrentiel.

Le schma interne du L298 est reprsent en figure 3.38. On y aperoit les deux ponts
de quatre transistors de puissance commands par les portes logiques, ainsi que la
connexion des rsistances de mesure du courant consomm par la charge relies aux
metteurs de chaque paire de transistors.

La configuration finale utilise pour les circuits L297 et L298 est reprsent dans le
schma lectrique illustr en Annexe C.

3.4. SOFTWARE ET PROGRAMMATION AVANC :


Dans cette partie de ce chapitre, nous allons voquer les diffrents types de
programmation quon a utilise dans notre tude. En premier lieu nous aborderons la
partie concernant le microcontrleur PIC18F4550 et ensuite nous verrons la partie
concernant le logiciel de commande fonctionnant sur un ordinateur.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 81
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

3.4.1. Programmation du PIC18F4550 :


La partie programme qui gre le PIC18F4550 a t faite en langage C. nous avons utilis
le logiciel de MICROCHIP MPLAB IDE v8.91 pour crire notre programme ainsi que le
compilateur MCC18 de MICROCHIP pour le compiler.

Figure 3.39. Structure des fichiers constituant le programme pour le PIC18F4550

Comme vous pouvez le constater sur la figure 3.39, nous avons utilis une multitude de
fichiers pour constituer le programme qui commande le PIC18F4550. Une partie de ces
fichiers ont t ramen du composants MICROCHIP_SOLUTION_v2013-06-15 qui est un
ensemble de procdures permettant dintgrer la fonction USB dans notre programme.

Dans lorganigramme de la Figure 3.40 nous allons essayer de mettre en vidence les
diffrentes parties de notre programme.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 82
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 83
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Figure 3.40. Organigramme du programme pour le PIC18F4550

La partie programmation du PIC18F4550 a t mise au point avec le logiciel de


simulation PROTEUS-ISIS v7.10.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 84
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Figure 3.41. Simulation du Programme sur PROTEUS-ISIS

3.4.2. Programmation VISUAL C++ :


Le programme permettant denvoyer les diffrentes commandes depuis lordinateur la
carte de commande a t ralis grce au logiciel VISUAL STUDIO 2008. Linterface
utilisateur de ce programme est illustre par la figure 3.42.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 85
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

Figure 3.42. Interface utilisateur pour le programme de commande

Linterface utilisateur permet denvoyer des commandes la carte ainsi que laffichage
des diffrentes tapes de fonctionnement de la carte.

Nous avons dabord les fonctions du mode Excution qui sont les boutons G-CODE (qui
permet de charger un fichier de format G-CODE et qui est un standard utilis dans les
machines commandes numriques), MARCHE (qui sert lancer lexcution du fichier G-
CODES), ARRET (qui sert stopper le processus) ainsi que PAUSE (qui sert stopper
momentanment le processus).

Les boutons X+, X- , Y+, Y-, Z+ et Z+ servent dplacer les diffrents moteurs dans
diffrentes directions et ceci en tant en mode ARRET.

Les boutons ZERO-X, ZERO-Y et ZERO-Z servent remettre zro les coordonne de la
carte.

Le bouton ORIGINE sert enclencher le mode ORIGINE (larrt de ce mode est obtenu
soit par la touche arrt soit par les switch limite-X et limite-Y).

Les indicateurs X, Y, Z et A affichent les coordonnes en temps rel des positions des
diffrents moteurs.

Les boutons glissire Vitesse X, Y et Vitesse Z permettent de varier la vitesse de rotation


des moteurs et ceci en mode EXECUTION.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 86
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

La fentre intitule Fichier G-Code affiche le programme en cours dexcution.

Dans notre tude nous nous sommes limits utiliser que quatre fonctions du format G-
CODES qui en contient plusieurs et qui sont G0, G1, G2 et G3 :

la fonction G0 permet un dplacement rapide aux coordonnes indiqu par X, Y


ou Z.
la fonction G1 permet dexcuter un mouvement de coupe suivant une ligne
droite.
La fonction G2 permet dexcuter un mouvement de coupe suivant une
trajectoire circulaire dans le sens horaire.
La fonction G3 permet dexcuter un mouvement de coupe suivant une
trajectoire circulaire dans le sens anti-horaire.

3.5. REALISATION DU CIRCUIT IMPRIM :


Le circuit imprim a t ralis en double face trou mtalliss grce au logiciel ALTIUM
DESIGNER V10, sont excution a t faite ltranger dans lentreprise EUROCIRCUITS
S.R.L, qui est une socit situ en Belgique et spcialis dans la fabrication de circuits
imprimes.

Les diffrents schmas du circuit imprim sont illustrs dans lAnnexe A.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 87
Chapitre III : Thorie et Ralisation Pratique De La Carte Dinterface 2014

CONCLUSION :
Dans ce chapitre, nous avons abord en dtail les diffrentes phases dlaboration de la
carte de commande. Nous avons tudi la partie matrielle et ceci en expliquant les
diffrentes parties qui composent la carte ainsi que leur fonctionnement respectif.

Ensuite nous avons abord la partie logicielle qui est compose de deux parties, une
partie servant faire fonctionner la carte de commande et une autre servant
communiquer avec un ordinateur pour pouvoir envoyer des commande la carte.

Pour le circuit imprim et le schma lectrique, ils sont mis en vidence dans la partie
Annexe de ce document.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 88
Conclusion Gnrale 2014

CONCLUSION GENERALE :
Durant tout le temps qui nous a t allou pour effectuer ce travail, nous avons essay,
du mieux quon pouvait, dexpliquer avec beaucoup de dtail le fonctionnement dune
machine commande numrique avec tout ce que ce nom englobe comme tapes
tudier.

Nous avons dabord entam la partie mouvement qui est base sur les moteurs pas
pas que nous avons tudi en dtail dans le chapitre 1. Cette partie est essentielle au
fonctionnement des machines commande numriques.

Ensuite nous avons entam une tude sur le processus de communication entre la carte
de commande et lordinateur. Ceci a t fait en dtail dans le chapitre 2. Aucune machine
commande numrique ne peut fonctionner sans un systme qui lui envoie les donnes
transformer en mouvements. Cest pour cela quon a opt pour le protocole USB, qui est
un mode de communication moderne et rapide.

Enfin, dans le dernier chapitre nous avons essay de rassembler ce qui a t tudi dans
les chapitres prcdent. Nous avons vu les diffrents type de programmation effectus au
niveau du microcontrleur ainsi quau niveau de lordinateur et ceci pour former un
ensemble homogne qui permettra le bon fonctionnement de notre machine.

Pour conclure, nous souhaiterions quil y ait une continuation pour cette tude par
dautres tudiants afin de concevoir dautre utilisations possibles pour cette carte.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 89
Bibliographie 2014

Bibliographie
[1] Ivor Horton. (2008). Visual C++ 2008. Wiley Publishing, Inc.

[2] John Paul Mueller. (2002). Visual C++ .NET Developers Guide. McGraw-
Hill/Osborne.

[3] Patrice Oguic. (2004). Moteurs Pas Pas et PC. Editions Technique et
Scientifiques Franaises (Dunod), pp. 3 88.

[4] Gerard Yvraut. (1999). Les Moteurs Pas Pas. Sminaire Bellegarde
Novembre 1999.

[5] Lilia El Amraoui. (2002). Conception Electromcanique Dune Gamme


Dactionneurs Linaires Tubulaires a Reluctance Variable. Universit des
Sciences et Technologies de lille, pp. 6 13.

[6] Claude Divoux. (1999). Moteurs Pas Pas.

[7] G Berthome., F Mandin. (2006). Synthse Sur Les moteurs Pas Pas.
Terminale STI Gnie Electronique.

[8] Compaq Computer Corporation., Hewlett-Packard Company., Intel


Corporation., Lucent Technologies Inc., Microsoft Corporation., NEC
Corporation., Koninklijke Philips Electronics N.V. (2000). Universal Serial
Bus Specification Revision 2.0.

[9] www.usb.org. (2001). Device Class Definitionfor Human Interface Devices


(HID). USB Implementers Forum.

[10] http://fr.wikipedia.org/wiki/Machineoutil_%C3%A0_commande_num%
C3%A9rique. (2014). Machine-outil Commande Numrique.

[11] http://fr.wikipedia.org/wiki/Universal_Serial_Bus. (2014). Universal


Serial Bus.

[12] http://fr.wikipedia.org/wiki/Codage_NRZI. (2014). Non Return to Zero


Inverted.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 90
Bibliographie 2014

[13] MICROCHIP. (2009). 28/40/44-Pin, High-Performance, Enhanced Flash,


USB Microcontrollers with nanoWatt Technology.

[14] SGS-THOMSON Microelectronics. (1991). L297 Stepper Motor


Controllers.

[15] ST Micrelectronics. (2000). L298 Dual Full-Bridge Driver.

[16] NXP Semiconductors. (2012). 74HC574 Octal D-type flip-flop; Positive


Edge-Trigger; 3-state.

[17] NXP Semiconductors. (2013). 74HC151-Q100 8-Input Multiplexer.

[18] MICROCHIP. (2005). MPLAB C18 C Compiler Users Guide.

Etude et Ralisation D'une Carte De Commande De Trois Moteurs Pas A Pas Pour Machine De Prototypage Rapide 91
ANNEXES
Annexe A 2014

Face composant du circuit imprim


Annexe A 2014

Face soudure du circuit imprim


Annexe A 2014

Face srigraphie du circuit imprim


Annexe B 2014

Liste Des Composants


N Dsignation Reference Quantit
01 U13 PIC18F4550TI/PT 1
02 U14 SN74HC151N 1
03 U3, U6, U9, U12 SN74HC574N 4
04 U2, U4, U7, U10 L298N 4
05 U1, U5, U8, U11 L297 4
06 U15 MAX232CPE 1
07 U16 MC33167D2T 1
08 XTAL1 Quartz 20Mhz 1
09 SW1, SW2 SW-DPST 2
10 SW-X, SW-Y, SW-Z, POWER+12V Bornier 2 Plots 4
11 AFF1 LCD 4x16 1
MOT_X, MOT_Y, MOT_Z, MOT_A,
12 Bornier 4 Plots 5
SPINDLE
13 SW3 SW-SPDT 1
14 C1, C6, C10, C14 470uF/25V 4
C2, C3, C7, C8, C11, C12, C15, C16,
15 100nF 14
C29, C30, C31, C32, C33, C34
C4, C9, C13, C17, C21, C22, C23, C24,
16 1uF/25V 9
C25
17 C18, C19 15pF 2
18 C26 1000uf/25V 1
19 C27 4700uF/25V 1
20 CON1 Connecteur 6 points 1
21 CON2 Connecteur 3 points 1
22 CON3 Connecteur SUB-D 9 1
23 CON5 Connecteur USB Type B 1
D1, D2, D3, D4, D5, D6, D7, D8, D9,
D10, D11, D12, D13, D14, D15, D16,
24 D17, D18, D19, D20, D21, D22, D23, 1N4937 32
D24, D25, D26, D27, D28, D29, D30,
D31, D32
25 D33, D35 1N4148 2
26 D34 SB340 1
27 F1 Fusible 60V/1,5A 1
28 K1, K2 Relais - SPDT 2
Annexe B 2014

29 L1 Inductance 180uH 1
LED1, LED2, LED3, LED4, LED6, LED7,
30 LED8, LED9, LED11, LED12, LED13, Led Rouge SMD 16
LED14, LED16, LED17, LED18, LED19
31 LED5, LED10, LED15, LED20 Led Bleu SMD 4
32 LED21 Led 3mm Orange 1
33 LED22 Led 3mm Bleu 1
34 LED23 Led 3mm Rouge 1
35 LED24 Led 3mm Vert 1
36 POT1, POT3, POT4, POT5 Potentiomtre 20K 4
37 POT2 Potentiomtre 220K 1
38 POT6 Potentiomtre 10K 1
39 Q1, Q2 Transistor 2N2222 2
R1, R2, R3, R4, R10, R11, R12, R13,
40 R18, R19, R20, R21, R26, R27, R28, Rsistance 470 17
R29, R47
41 R5, R6, R14, R15, R22, R23, R30, R31 Rsistance 0R5 8
42 R7, R16, R24, R32 Rsistance 22K 4
43 R9, R17, R25, R33 Rsistance 100 4
44 R8, R34, R35, R36, R37, R39, R42 Rsistance 10K 7
45 R38, R40, R41, R43, R48 Rsistance 220 5
46 R49 Rsistance 4K7 1
47 R45 Rsistance 68K 1
48 R44 Rsistance 6,8K 1
49 C20 0,47uF/25V 1
50 C5 10nF 1
51 C28 0,1uF/25V 1

S-ar putea să vă placă și