64
Ministère de l’enseignement Supérieur et de la recherche Scientifique Département Génie Electrique-Automatique Université de Gabès Ecole Nationale d’Ingénieurs de Gabès Année universitaire : 2009 - 2010 Projet de fin d’études Présenté à L’Ecole Nationale d’Ingénieurs de Gabès Département de Génie Electrique Automatique Réalisé par Abdennaji Youssef Ahmadi Anouar CONCEPTION ET REALISATION D’UNE COMMANDE NUMERIQUE D’UNE MACHINE DE DECOUPE LASER Soutenu le 25/06/2010 devant le Jury : Président : M r DAHMAN Hassen Membre : M me Salah Brini Saoussen Encadrant academique: M r FARAH Mohamed Amine Encadrant industriel: M r BEN ABBES Rhaim

Rapport Pfe Gabes

Embed Size (px)

DESCRIPTION

Rapport Pfe Gabes

Citation preview

Page 1: Rapport Pfe Gabes

Ministère de l’enseignement Supérieur et de la recherche Scientifique Département Génie Electrique-Automatique Université de Gabès Ecole Nationale d’Ingénieurs de Gabès Année universitaire : 2009 - 2010

Projet de fin d’études

Présenté à

L’Ecole Nationale d’Ingénieurs de Gabès Département de Génie Electrique – Automatique

Réalisé par

Abdennaji Youssef Ahmadi Anouar

CONCEPTION ET REALISATION D’UNE COMMANDE NUMERIQUE D’UNE MACHINE

DE DECOUPE LASER

Soutenu le 25/06/2010 devant le Jury :

Président : Mr DAHMAN Hassen Membre : Mme Salah Brini Saoussen Encadrant academique: Mr FARAH Mohamed Amine Encadrant industriel: Mr BEN ABBES Rhaim

Page 2: Rapport Pfe Gabes

DEDICACES

اهللا هدانا أن ال لو لنهتدي كنا ما و لهذا هدانا الذي هللا الحمد

Je dédie ce travail spécialement à ma mère, toute ma famille et tous mes amis.

Abdennaji Youssef

Page 3: Rapport Pfe Gabes

DEDECACES

Ceux qui m’ont aidé par leurs patiences, encouragements et conseils, pour être ce que je suis

aujourd’hui, c’est grâce à eux que j’ai grandi dans la vie, je les remercie et les dédie ce travail.

Ahmadi Anouar

Page 4: Rapport Pfe Gabes

Remerciements

Nous tenons à remercier tous ceux qui nous ont aidés pour la réalisation de ce travail et en

premier lieu, notre encadrant Monsieur FARAH Mohammed Amine pour son aide, sa

disponibilité, et ses précieux conseils.

Notre gratitude s'adresse, aussi, à Monsieur DAHMAN Hassen pour nous avoir fait le grand

honneur d'accepter d'être le président de ce jury. Qu'il trouve ici l'expression de notre profond

respect.

Nous tenons à exprimer notre vive gratitude à Madame SALAH BRINI Saoussen qui a bien

voulu faire partie du jury de ce projet et pour l'intérêt qu'il a porté à ce travail. Qu'il soit

remercié.

Nos remerciements s'adressent également aux membres de société Ingénierie des Systèmes

Industriels ISI qui nous ont offert l'ambiance favorable pour le déroulement de notre projet et

qui par leur travaux et exposés nous ont suggérés et informés et spécialement Monsieur BEN

ABBES Rhaim notre encadrant qu'il trouve ici le témoignage de notre profonde

reconnaissance.

Nos remerciements s’adressent aussi à Monsieur SIALA Zied pour sa disponibilité et ses

conseils.

Nous tenons à remercier aussi Monsieur AYDI Walid et JBALI Najmeddine pour leurs aides,

leurs encouragements, et leurs précieux conseils.

Nous tenons également à exprimer nos gratitudes à nos familles, nos amis, pour leurs aides à

mener à terme ce travail

Finalement, nous tenons à remercier tous ceux qui, de près ou de loin, nous ont apporté un

soutient moral ou matériel.

Page 5: Rapport Pfe Gabes

TABLE DE MATIERES

Introduction générale .........................................................................................................................1

Chapitre 1: Etude bibliographique .................................................................................................2

1.1. Généralités sur la commande numérique et la machine de découpe laser ....................3

1.1.1. La machine de découpe Laser ...........................................................................................3

1.1.2. Principe de fonctionnement d’une machine numérique ...............................................3

1.1.3. La Commande Numérique par Calculateur(CNC) ........................................................4

1.1.4. La Conception Assisté par Ordinateur (CAO)................................................................5

1.1.5. La Fabrication Assisté par Ordinateur (FAO) ...............................................................5

1.1.6. Le post-processeur .............................................................................................................5

Synthèse .............................................................................................................................................6

1.2. Les moteurs pas à pas ..............................................................................................................6

1.2.1. Principe de fonctionnement des moteurs pas à pas ......................................................6

1.2.2. Différents types de moteurs pas à pas .............................................................................7

1.2.3. Alimentation du moteur pas à pas ................................................................................ 10

1.2.4. Conclusion ....................................................................................................................... 11

1.3. Les microcontrôleurs de Microchip ................................................................................... 12

1.3.1. Introduction ..................................................................................................................... 12 1.3.2. Les différentes familles des PICs ................................................................................... 12

1.3.3. Organisation d’un PIC .................................................................................................... 12

1.4. Les afficheurs ......................................................................................................................... 14

Conclusion ...................................................................................................................................... 15

Chapitre 2: Etude technique ......................................................................................................... 16

Introduction .................................................................................................................................. 17

2.1. L’alimentation ........................................................................................................................ 17

2.2. L’unité principale .................................................................................................................. 17

2.3. Commande des moteurs pas à pas ...................................................................................... 17

2.3.1. Commande avec des bascules J-K et des transistors ................................................. 18

2.3.2. Commande avec un microcontrôleur et un amplificateur ULN ............................... 18

2.3.3. Commande avec le couple L297 et L298 ...................................................................... 19

2.4. Le pupitre ................................................................................................................................ 20

Conclusion ..................................................................................................................................... 20

Chapitre 3: Réalisation pratique .................................................................................................. 21

Introduction .................................................................................................................................. 22

3.1. La carte alimentation ............................................................................................................ 22

3.2. La carte à microcontrôleur .................................................................................................. 23

3.2.1. Choix de PIC ................................................................................................................... 23

3.2.2. Les entrées et les sorties ................................................................................................ 24

Page 6: Rapport Pfe Gabes

3.3. Les cartes de commande des moteurs pas à pas ............................................................... 25

3.3.1. Choix de la carte ............................................................................................................. 25

3.3.2. Fonctionnement de la carte de commande .................................................................. 26

Conclusion ..................................................................................................................................... 26

Chapitre 4: Programmation et interface graphique ................................................................ 27

4.1. Le microcontrôleur PIC 18F4620 ...................................................................................... 28

4.1.1. Rôle de PIC en mode manuel ........................................................................................ 28

4.1.2. Rôle de PIC en mode automatique ............................................................................... 30

4.1.3. Configuration de la plate forme .................................................................................... 31

4.2. L’éditeur de texte : compilateur de langage CNC ............................................................ 31

4.3. Simulation de trajectoire à suivre ....................................................................................... 32

4.4. Langage de programmation ................................................................................................. 32

4.5. Interpolation de Bressenham .............................................................................................. 32

Conclusion ...................................................................................................................................... 37

Conclusion générale ......................................................................................................................... 38

Page 7: Rapport Pfe Gabes

ABREVIATIONS

DSP Digital Signal Processor

UAL Unité Arithmétique et Logique

CNC Commande Numérique par Calculateur

Om Origine machine

Xm abscisse outil machine

Ym ordonnée outil machine

Zm hauteur outil machine

Op Origine pièce

OP Origine Programme

CAO Conception Assisté par Ordinateur

FAO Fabrication Assisté par Ordinateur

DFN Définition de Formes Numérisées

CFAO Conception, Fabrication Assisté par Ordinateur

MOCN Machine-Outil à Commande Numérique

RAM Mémoire vive ou Mémoire PC (Random Access Memory)

ROM Mémoire morte (Read Only Memory)

EEPROM Mémoire morte effaçable électriquement et programmable (Electrically

Erasable Read Only Memory)

USART Emetteur-récepteur synchrone/asynchrone universel (Universal

Synchronous/Asynchronous Receiver Transmitter)

SCI Interface de communication série (serial communication interface)

LCD Afficheurs à cristaux liquides (Liquid Crystal Display)

ASCII Code américain normalisé pour l'échange d'information (American

Standard Code for Information Interchange

PWM Modulation de largeur d'impulsions (Pulse Width Modulation)

STEP Standard pour l'échange de données de produit (STandard for the

Exchange of Product model data en anglais)

ISO Organisation internationale de normalisation (International

Organization for Standardization)

IGES Initial Graphics Exchange Specification

DXF Drawing eXchange Format

Page 8: Rapport Pfe Gabes

LISTE DES FIGURES

Figure 1. Décomposition d’une machine numérique

Figure 2. Machine à trois axes

Figure 3. Cycle d’une pièce fabriquée par une commande numérique (CFAO)

Figure 4. Moteur pas à pas

Figure 5. Principe de fonctionnement du moteur pas à pas

Figure 6. Moteur pas à pas à aimant permanent

Figure 7. Moteur pas à pas à reluctance variable

Figure 8. Schéma de principe de fonctionnement du moteur pas à pas à reluctance variable

Figure 9. Moteur pas à pas hybride

Figure 10. Alimentation unipolaire

Figure 11. Alimentation bipolaire

Figure 12. Architecture d’un microcontrôleur

Figure 13. Schéma bloc d’un PIC (exemple 16F877)

Figure 14. Commande des moteurs pas à pas à base des bascules J-K et des transistors

Figure 15. Commande des moteurs pas à pas avec un microcontrôleur et un amplificateur

Figure 16. Commande des moteurs pas à pas avec le couple L297 et L298

Figure 17. Circuit d’alimentation stabilisée

Figure 18. Branchement du LM317

Figure 19. Configuration des ports du PIC

Figure 20. Adaptation de tension PC ↔ PIC

Figure21. Signal du circuit L297en mode biphasé

Figure 22. Signal généré par le circuit de commande

Figure 23. Droite à tracer

Figure 24. Droite discrétisée

Figure 25. Tracée d’une ligne avec l’interpolation de Bressenham

Figure 26. Interpolation linéaire de Bressenham

Figure 27. Adaptation de l’interpolation de Bressenham

Page 9: Rapport Pfe Gabes

LISTE DES ORGANIGRAMMES

Organigramme 1. Programme principal

Organigramme 2. Le mode manuel

Page 10: Rapport Pfe Gabes

LISTE DES TABLEAUX

Tableau 1. Classification des moteurs pas à pas en fonction du nombre de pas

Tableau 2. Avantages et inconvénients des moteurs pas à pas

Page 11: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

1

Introduction Générale

ISI est un bureau d’étude en électrique et automatique industriel. Leur dernier projet est une

machine de découpe laser avec la norme ISO de commande numérique (code G). Concevoir la

partie commande de cette machine fait appel à des algorithmes d’interpolation, commande des

moteurs pas à pas, asservissement, interfaçage Homme-Machine…

En effet, actuellement, les systèmes à commande numérique représentent le moyen de

production le plus important.

Notre objectif est d’avoir l’initiative de proposer une conception ainsi que la réalisation d’un

prototype.

Nous nous intéressons dans la première partie de notre mémoire à l’étude des systèmes

numériques, les moteurs pas à pas et les microcontrôleurs. Dans la seconde partie, nous allons

élaborer l’étude technique de notre commande numérique puis nous allons expliquer le choix

des différents éléments utilisés (microcontrôleur et carte de commande des moteurs pas à

pas…). Ensuite, nous allons expliquer le fonctionnement de la machine en expliquant le

programme implémenté dans le PIC et la partie de supervision sur l’ordinateur.

Page 12: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

2

Chapitre 1:

Etude

bibliographique

Page 13: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

3

Chapitre 1 : Etude bibliographique

1.1. Généralités sur la commande numérique et la machine de découpe laser

Durant ces dernières années, la commande des machines électriques a subi des progrès

significatifs. Ces progrès sont essentiellement dus à la révolution technologique en

informatique industriel, ce qui a permis le développement de solutions numériques efficaces

avec une possibilité d'implanter des algorithmes plus complexes. Ces commandes sont en

majorité basées sur les microprocesseurs, les DSP (Digital Signal Processor) et les

microcontrôleurs PIC. Ces processeurs sont équipés d'unité arithmétique et logique (UAL)

dédiée à la réalisation des calculs arithmétiques. Ils intègrent également des périphériques tels

que les convertisseurs analogiques/numériques et les « timers » bien adaptés aux besoins de

commande de machines électriques.

1.1.1. La machine de découpe laser

La machine de découpe laser est une machine qui est très précise : sa précision est de l’ordre

de micromètre. Il s’agit d’une tète commandée par des moteurs pour assurer son déplacement

sur deux axes. Cette technique est la plus moderne et elle n’est commandée que

numériquement. Notez qu’une machine à tète laser peut faire une découpe comme elle peut

graver sur quelques matériaux.

1.1.2. Principe de fonctionnement d’une machine numérique

Les machines à commande numérique sont devenues des moyens de production

incontournables dans l’industrie. Elles permettent des cadences de production importantes et

facilitent l’obtention de surfaces complexes (formes arrondies …).

Ce type de machine se compose ainsi de deux parties complémentaires (figure 1):

v La partie opérative

v La partie commande

La partie opérative comporte les axes de déplacement et la tète. La partie commande permet

de piloter la partie opérative. Elle est composée d’un calculateur (CNC) et d’éléments

électroniques capables de piloter les moteurs : les cartes d’axes.

Page 14: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

4

Figure 1. Décomposition d’une machine numérique

Des ordres vont être générés vers la commande par le biais d’un code machine ou par action

manuelle de l’opérateur. La commande va traiter ces informations et générer des consignes

afin d’obtenir les déplacements voulus par le biais des moteurs d’axes. Des contrôles de

vitesse et de position seront alors effectués de manière continue par la machine. Il existe 3

principaux types de référentiels à prendre en compte (figure 2):

v L’origine machine (Om) qui correspond à la position de référence de la machine où

Xm=0, Ym=0 et Zm=0 (s’il y en a).

v L’origine pièce (Op) qui peut être décalée par rapport à l’origine machine.

v L’origine Programme (OP) qui est généralement confondu avec Op pour faciliter

l’usinage.

Figure 2. Machine à trois axes

1.1.3. La commande numérique par calculateur(CNC)

C’est en 1942 aux États-Unis que la CN a commencé à être exploitée, pour permettre

l’usinage de pompes à injection pour moteurs d’avions. Il s’agissait en fait de cames, dont le

profil complexe était irréalisable au moyen d’une machine traditionnelle. La commande

numérique a pour tâche de générer des mouvements d’axes. Ces instructions qui viennent du

programme pièce ou de l’opérateur machine consisteront en une position et une vitesse de

Page 15: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

5

déplacement. Le processeur de la commande numérique va alors générer une consigne afin

qu’on puisse commander les moteurs d’axes. Elle aura également pour tâche, lors du

déplacement des axes, de vérifier la position de ces derniers et dans certain cas, la vitesse de

déplacement. Les commandes numériques actuelles sont capables d’effectuer des

mouvements en combinant simultanément les positions sur les axes X, Y et Z. Elles

s’appellent commande numérique par calculateur. De plus, elles sont capables de gérer

plusieurs axes simultanément. On parle alors d’interpolation. Cette dernière peut être linéaire

ou circulaire selon la consigne générée par le microcontrôleur de la partie commande. Le rôle

de ce processeur est d’interpréter un code machine que l’on appelle un code G, puis de

générer les signaux de commande des axes et de la broche.

1.1.4. La Conception Assistée par Ordinateur (CAO)

« La CAO permet de concevoir des systèmes dont la complexité dépasse la capacité de l'être

humain comme par exemple en micro-électronique ». Dans notre cas, on s’intéresse à la

conception des formes de deux dimensions. Un progiciel tel que Autocad et SolidWorks

génère un fichier qui simule la surface, et qui est compréhensible par d’autre progiciel de

fabrication assisté par ordinateur.

1.1.5. La Fabrication Assisté par Ordinateur (FAO)

La conception de la surface à obtenir est donc réalisée à l'aide d'un progiciel de conception

assistée par ordinateur (CAO): on nomme le fichier ainsi obtenu "DFN" pour Définition de

Formes Numérisées. Cette modélisation est ensuite « exportée » dans un fichier intermédiaire

en utilisant un standard d'échange comme IGES, STEP, DXF ou autre. Certains outils de FAO

sont capables de relire directement les fichiers des grands fournisseurs de CAO. Dans d'autres

cas, la CAO et la FAO sont complètement intégrées et ne nécessitent pas de transfert. Pour

ces progiciels, on parle de CFAO.

1.1.6. Le post-processeur

C’est un petit programme utilitaire qui transforme des trajectoires en format neutre en

trajectoires en repère MOCN (machine-outil à commande numérique). Ce traducteur tien

compte de la cinématique de la machine, de ses courses et de ses capacités. Il signale les

erreurs et exprime les trajectoires dans le langage spécifique à la machine [1]. Chaque

machine possède donc son propre post-processeur (figure 3).

Page 16: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

6

Synthèse

Figure 3. Cycle d’une pièce fabriquée par une commande numérique (CFAO)

1.2. Les moteurs pas à pas

1.2.1. Principe de fonctionnement des moteurs pas à pas

Ces moteurs comme tous les autres moteurs comportent un rotor et un stator. Le schéma de la

figure 4 ci dessous est une représentation simple d'un moteur pas à pas. Plus le nombre

d'aimants et de bobines augmente, plus le nombre de pas sera plus grand, et plus la précision

augmente [2].

Figure 4. Moteur pas à pas

Page 17: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

7

Un moteur pas à pas transforme une impulsion électrique en une énergie mécanique

permettant le déplacement angulaire du rotor, appelé « pas ». La figure 5 présente le principe

de fonctionnement du moteur pas à pas [3].

Figure 5. Principe de fonctionnement du moteur pas à pas

Nous trouvons sur le marché, des moteurs possédant un nombre de pas différents les uns des

autres qui assure la précision désirée dans le positionnement. Ce nombre de pas est

standardisé et il est le critère le plus important pour le choix d’un moteur. Le tableau 1 résume

les valeurs les plus utilisées.

Tableau 1. Classification des moteurs pas à pas en fonction du nombre de pas

Nombre de pas par

tour

20 24 48 100 200 400

Rotation de l’axe 18 degrés 15 degrés 7.5 degrés 3.6 degrés 1.8 degrés 0.9 Degrés

1.2.2. Différents types de moteurs pas à pas

Il y a trois principaux types de moteurs pas à pas :

v Les moteurs à aimants permanents

v Les moteurs à réluctance variable

v Les moteurs hybrides

Page 18: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

8

1.2.2.1. Moteurs à aimant permanent

Les moteurs à aimants permanents sont constitués par le rotor qui possède des pôles NORD et

SUD. À cause des aimants permanents, le rotor reste freiné à sa dernière position lorsque le

bloc d'alimentation cesse de fournir des impulsions. Une façon simple de voir le système, est

de placer une boussole entre deux aimants. Suivant la bobine qui est alimentée et le sens du

courant, l'aimant va s'aligner avec le champ (figure 6).

Figure 6. Moteur pas à pas à aimant permanent

1.2.2.2. Moteur à réluctance variable

Le moteur à réluctance variable possède un rotor en acier doux non magnétique. Ce rotor est

constitué d’un nombre de pôles supérieurs à celui du stator (figure 7).

Figure 7. Moteur pas à pas à reluctance variable

A chaque impulsion de la commande, la phase suivante du stator est alimentée. On constate

que les pôles du rotor les plus proches des bobines alimentées se positionnent en face de ces

dernières. Suivant l’ordre d’alimentation des phases du stator, on peut choisir le sens de

rotation (figure 8).

Page 19: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

9

Figure 8. Schéma de principe de fonctionnement du moteur pas à pas à reluctance variable

1.2.2.3. Moteurs hybrides

Les moteurs hybrides sont à haute résolution. Le nombre de pas par tour est très important. Ce

moteur utilise les deux principes précédents, ce qui permet d’exploiter les caractéristiques

intéressantes de chacun des deux. Le rotor comporte en périphérie des dentures en matériau

perméable, polarisées par aimant (figure 9).

Figure 9. Moteur pas à pas hybride

Page 20: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

10

1.2.3. Alimentation du moteur pas à pas

1.2.3.1. Alimentation unipolaire du moteur pas à pas

Pour simplifier l’électronique de commande, on construit des moteurs pas à pas à

alimentation unipolaire, constitués de deux bobinages à point milieu (figure 10), soit quatre

demi-phases, dont cinq fils sont sortis si les points milieux sont réunis.

Figure 10. Alimentation unipolaire

Les commutateurs K1-2 et K3-4 permettent l’alimentation des bobines en régime

impulsionnel individuel (état 1 ou 0). Fermons K1-2 sur la position 1, un courant positif

circule dans la phase A, le rotor tourne d’un pas de 90° pour adopter une position d’équilibre

statique stable dans la direction du flux maximal. Fermons ensuite K 3-4 sur la position 3, un

courant positif circule dans la phase C provoquant une nouvelle rotation du rotor d’un pas de

90°. Fermons maintenant K 1-2 sur la position 2, un courant positif circule dans la phase B

entraînant le rotor d’un autre pas de 90°. Fermons, enfin, K-3-4 sur la position 4, un courant

positif circule dans la phase D positionnant le rotor à sa position initiale. Ici aussi, nous avons

effectué un tour complet. Ce système de commande est plus intéressant parce qu'il ne dépend

pas de l'ordre d'alimentation des phases. Mais les performances sont nettement plus médiocres

en ce qui concerne le couple et la puissance pour un même encombrement.

Page 21: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

11

1.2.3.2. Alimentation bipolaire du moteur pas à pas

Le courant est de signe alterné grâce à l’interrupteur /commutateur. Le principe

d’alimentation des phases est simple, on alimente d’abord B1 (figure 10) avec un courant

positif, le rotor tourne alors de 90° pour se positionner en position d’équilibre en direction du

flux maximal. Ensuite on alimente B2 par un courant positif également, le rotor tourne de

nouveau de 90°. Alimentons maintenant B1 avec un courant négatif, une fois encore le rotor

fait un pas de 90°. Enfin, alimentons B2 avec un courant négatif, le rotor reprend sa position

initiale. Ainsi nous avons effectué un cycle complet.

Figure 11. Alimentation bipolaire

1.2.4. Conclusion

Les moteurs pas à pas ne peuvent pas dépasser une vitesse de rotation assez haute, au-delà de

cette vitesse, le moteur ne tourne plus, il vibre (mais cela n'endommage pas le moteur). Ils

sont cependant assez puissants, et dans la plupart des applications il n'est pas nécessaire de

démultiplier leur couple.

Page 22: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

12

Tableau 2. Avantages et inconvénients des moteurs pas à pas

Avantages Inconvénients

v Asservissement de position ou de

vitesse en boucle ouverte

v Fort couple à basse vitesse

v Simplicité de mise en œuvre

v Positionnement statique

v Fiabilité

v Faible prix

v Positionnement discret

v Faible vitesse maximale

v Bruyant, source d’oscillations

v Faible puissance

v Faible rendement

1.3. Les microcontrôleurs de Microchip

1.3.1. Introduction

Les microcontrôleurs intègrent en un seul circuit toutes les ressources propres à un système

minimum contrairement à un microprocesseur qui lui nécessite des fonctionnalités extérieur.

Donc un PIC n’est rien d’autre qu’un microprocesseur, c’est à dire une unité de traitement de

l’information à laquelle on a ajouté des périphériques internes permettant de réaliser des

montages sans nécessiter l’ajout de composants externes. A savoir, une RAM, une ROM, une

EEPROM, des ports d’entrée/sortie et pour quelque PIC il y a un convertisseur analogique-

numérique…

1.3.2. Les différentes familles des PICs

Il existe trois familles de PIC :

v Base-Line : Les instructions sont codées sur 12 bits

v Mid-rang : Les instructions sont codées sur 14 bits

v High-End : Les instructions sont codées sur 16 bits

1.3.3. Organisation d’un PIC

Nous avons indiqué précédemment qu’un microcontrôleur intègre toutes les ressources

propres à un système minimum, en effet, la structure d’un PIC est résumée en général au

schéma suivant (figures 12 et 13) :

Page 23: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

13

Figure 12. Architecture d’un microcontrôleur

Figure 13. Schéma bloc d’un PIC (exemple 16F877)

Page 24: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

14

1.3.3.1. Le processeur

C’est le cœur du PIC car c’est ici que se font les calculs et le traitement des instructions, de

plus, le processeur du PIC contient une Unité Arithmétique et Logique(UAL) qui exécute une

seule instruction à la fois.

1.3.3.2. La mémoire RAM

Lorsqu’un programme "tourne" il fait souvent des calculs intermédiaires par exemple un

décomptage pour une temporisation, pour stocker ces calculs temporaires les

microcontrôleurs possèdent de la mémoire RAM interne.

1.3.3.3. La mémoire EEPROM

L’EEPROM est une mémoire qu’on peut lire et écrire depuis le programme. Les données

stockées dans cette mémoire sont conservées après une coupure de courant et sont très utiles

pour conserver des paramètres semi-permanents.

1.3.3.4. Les ports d'Entrée/Sortie

Un microcontrôleur PIC possède des entrées/sorties configurables individuellement(TRIS).

L’intérêt d’un microcontrôleur réside tout à la fois dans le nombre d’entrée/sortie disponible

mais aussi dans leur souplesse de programmation.

1.3.3.6. La liaison série USART

La liaison USART (Universal Synchronous/Asynchronous Receiver Transmitter) ou SCI

(serial communication interface) du PIC peut fonctionner soit en mode synchrone ou

asynchrone.

1.4. Les afficheurs

Les afficheurs sont un moyen très efficace pour communiquer avec un opérateur. Ils servent à

décrire l’état de la machine (menu, liste des erreurs, niveau de progression…)

On trouve plusieurs types d’afficheurs, le plus simple est l’afficheur sept segments. On trouve

aussi les afficheurs LCDs qui servent à afficher des caractères alphanumériques et les

symboles. Et enfin les afficheurs graphiques que affichent des courbes et des images en

pixels.

Page 25: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

15

Conclusion

L’étude bibliographique faite durant ce premier chapitre, s’appuie essentiellement sur

quelques notions de la commande numérique, des moteurs pas à pas et des microcontrôleurs

PIC, elles sont nécessaires pour tenir compte des contraintes que toute réalisation se rapporte

à ces études qui devraient être respectées.

Page 26: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

16

Chapitre 2:

Etude technique

Page 27: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

17

Chapitre 2: Etude technique

Introduction

Afin de réaliser une commande numérique de deux moteurs pas à pas et une tête laser, nous

avons divisé ce projet en divers unités :

v Une alimentation

v Une unité principale

v Un interfaçage entre l’unité principale et la partie opérative

v Une interface graphique et un pupitre qui assurent la communication entre l’opérateur

et la machine.

2.1. L’alimentation

Pour assurer le fonctionnement des nos cartes électroniques, nous avons besoin d’une

alimentation continue de 5VDC et 24VDC :

v 5VDC 200mA: alimentation pour la partie commande.

v 24VDC 2,5A: alimentation pour la partie puissance.

2.2. L’unité principale

Le rôle de cette unité est de traiter les informations envoyées par l’ordinateur (mode

automatique), ainsi que demandées par l’opérateur via une autre interface de communication

(mode manuel).

2.3. Commande des moteurs pas à pas

Plusieurs types de commande peuvent être envisagés quand il s’agit d’un moteur pas à pas

[4]. Parmi ces commandes nous citons :

v La commande avec des bascules J-K et transistors.

v La commande avec un microcontrôleur et un amplificateur de la famille ULN.

v La commande avec le couple L297 et L298

Page 28: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

18

2.3.1. Commande avec des bascules J-K et des transistors

Dans ce montage (figure 14) la bascule est utilisée suivant le mode J-K et non en mode

bascule. Le principe est de mettre les entrées S et R à la masse, la fréquence de moteur désirée

est appliquée à l'entrée T. les sorties Q et s'inversent en fonction de l'état des entrées J-K.

Si J et K sont à 0, l'état des sorties Q et ne bouge pas, par contre si J et K sont à 1, alors à

ce moment là, l'état de la sortie Q devient celle de la sortie et l'état de la sortie prend

celle de la valeur de Q juste avant l'impulsion envoyée sur l'entrée T.

Figure 14. Commande des moteurs pas à pas à base des bascules J-K et des transistors

2.3.2. Commande avec un microcontrôleur et un amplificateur ULN

La technique de commande dans cette carte est basée sur un microcontrôleur en configurant

pour chaque moteur quatre broches en sortie afin d’envoyer les séquences des impulsions

générées par le PIC sur les bornes du moteur pas à pas (figure 15). Chaque moteur reçoit une

séquence indépendamment de l’autre à travers un amplificateur ULN pouvant fournir un

courant de sortie de 0,5A.

T

Page 29: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

19

Figure 15. Commande des moteurs pas à pas avec un microcontrôleur et un amplificateur

ULN

2.3.3. Commande avec le couple L297 et L298

L297 est un circuit qui contient toute la circuiterie de commande et de contrôle de moteurs

pas à pas unipolaire et bipolaire. Ce circuit est utilisé conjointement avec un driver double

pont tel que le L298 (figure 16). L'ensemble forme une interface idéale pour le contrôle d'un

moteur pas à pas par microprocesseur ou microcontrôleur.

Figure 16. Commande des moteurs pas à pas avec le couple L297 et L298

Page 30: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

20

2.4. Le pupitre

Pour faciliter la communication entre l’opérateur et la machine nous avons choisi deux

moyens de dialogue qui sont :

v Un afficheur LCD qui permet de guider l’opérateur à mettre en œuvre la machine

(vitesse manuelle, origine pièce…).

v Une manette pour manipuler le menu présenté sur l’afficheur et commander les

moteurs pas à pas en mode manuel.

Conclusion

Nos études théoriques nous permettent d’aborder la partie pratique de notre projet à fin de

réaliser les cartes électroniques.

Le principe de fonctionnement, les fonctionnalités des différentes parties du système conçu et

tout ce qui a un rapport avec la conception du système seront étudié en détail dans le chapitre

suivant.

Page 31: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

21

Chapitre 3:

Réalisation pratique

Page 32: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

22

Chapitre 3: Réalisation pratique

Introduction

Dans ce chapitre nous allons décrire les solutions adoptées par détail pour répondre aux

spécifications de notre cahier de charge et ce en abordant la conception détaillée de chaque

partie du système afin d’obtenir une schématisation complète et précise du système.

3.1. La carte alimentation

Comme indiqué précédemment nous devons réaliser deux tensions continues 5VDC 200mA

et 24VDC 2,5A. Pour cela, nous avons pensé au circuit suivant (figure 17):

Figure 17. Circuit d’alimentation stabilisée

Page 33: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

23

Pour obtenir une tension de 5V, nous avons utilisé une tension 12VAC de la source. Après le

redressement et le filtrage, un régulateur de tension LM7805 permet la stabilisation d’une

tension fixe de valeur 5VDC. Pour obtenir une tension de 24V, nous avons ajouté un

régulateur LM317 après le redressement et le filtrage (figure 18). Nous avons branché la patte

de référence du LM317 (ADJ) à un potentiomètre (P) permettant d’obtenir une tension V2 de

valeur 24,6 volts. Cette tension sera reliée à la base du transistor de puissance 2N3055 pour

obtenir une tension V3 égale à 24 volts sur son émetteur. Le transistor 2N3055 permet de

fournir un courant suffisant pour alimenter les blocs de puissance. La figure suivante

représente un "zoom" du branchement du régulateur LM317.

Figure 18. Branchement du LM317

3.2. La carte à microcontrôleur

Le PIC est le cœur de la commande, c’est lui que toutes les périphériques sont reliés, et c’est

lui qui traite les données envoyées par l’ordinateur ou demandées par l’opérateur via le

pupitre. Comment ces périphériques sont-ils reliés ? Comment est-il protégé contre les

parasites et les bruits du signal ? Et comment assure-t-il la communication avec le PC ?

3.2.1. Choix du PIC

Microchip offre une vaste gamme de microcontrôleurs, et afin de choisir un PIC adéquat à

notre projet, nous avons pensé à l’utilisation du PIC16F877, qui a un nombre de ports

d’entrée/sortie suffisant et possède l’interface USART. Nous l’avons testé au début de notre

stage, mais le problème que nous avons rencontré c’est au niveau de sa capacité de mémoire

limitée, pour cela nous avons cherché un autre PIC qui répond à nos besoins. Le choix final

était le PIC18F4620 qui à une mémoire programme 64Ko et qui est largement suffisante. Le

Page 34: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

24

PIC18F4620 et le PIC16F877 ont tous les deux 40 broches et ont la même architecture

d’entrée-sortie, donc nous n’avons eu aucun problème pour passer au nouveau PIC ni au

niveau programmation ni au niveau matériel.

3.2.2. Les entrées/sorties du PIC18F4620

La figure 19 présente un shéma qui donne une idée sur la configuration des ports de PIC :

Figure 19. Configuration des ports de PIC

3.2.2.1. Les entrées du PIC

Parmi les entrées du PIC on trouve l’oscillateur externe qui est un quartz de 20 MHz, il est à

noter que le PIC 18F4620 peut fonctionner même avec un quartz 40 MHz, mais une

oscillation de 20MHz suffit pour que le PIC fait tout les calculs nécessaires à moins que nous

changeons l’algorithme d’interpolation par un autre qui prend plus de temps. Afin d’isoler le

PIC du monde externe, nous avons utilisé des optocoupleurs qui garantissent une isolation

galvanique pour la protection du PIC.

3.2.2.2. Les sorties du PIC

En sortie, nous trouvons l’afficheur LCD, le buzzer pour l’alarme et la commande des

moteurs et de la tète.

L’afficheur LCD a deux modes de fonctionnement : mode huit bits et mode quatre bits.

L’avantage de la commande par huit bits est la possibilité de contrôler l’affichage par pixel,

c’est-à-dire d’afficher des caractères spéciaux personnalisés (chaque caractère peut être

Page 35: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

25

affiché sur une matrice huit*cinq pixels). Vu que le code ASCII répond à nos besoins

d’affichage, nous avons choisi le mode quatre bits.

3.2.2.3. La connexion série

En mode automatique, le PIC est commandé par l’ordinateur. Les instructions en code G sont

envoyées par le PC sous forme de trame et le PIC les exécute. Cette connexion est assurée par

le port série de l’ordinateur (RS232) (figure 20).

Figure 20. Adaptation de tension PC ↔ PIC

La vitesse de transmission est fixée à 115200 bauds. Une instruction de 19 caractères telle que

« G00 X123.43 Y218.65 » occupe moins que 4 millisecondes lors de l’envoi vers le PIC.

C’est une vitesse très satisfaisante pour notre application.

3.3. La carte de commande des moteurs pas à pas

3.3.1. Choix de la carte

D’après les études préalables nous avons choisi les circuits de commandes L297 et L298 pour

les raisons suivantes :

v Le circuit L297 est simple, robuste, disponible, et tout est intégré: half/full step,

réglage intensité par PWM, etc.

v Le L297 se branche directement sur un pont en H, pour cela on a utilisé le circuit L298

qui permet de fournir de couple désiré pour notre système.

v Cela ne nécessite que deux pattes par moteur: vitesse et sens.

Page 36: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

26

3.3.2. Fonctionnement de la carte de commande

3.3.2.1. Le circuit de commande L297

Le circuit L297 est un circuit d’interfaçage qui s’intègre entre le pic et le circuit de puissance

L298 [4]. Il sert à générer le signal PWM suite à des commandes reçues de la part du pic

(figure 21).

Figure 21. Signal du circuit L297en mode biphasé

3.3.2.2. Le circuit de puissance L298

Le circuit intégré L298 contient deux étages de puissance configurés en pont H, chacun

commandé par deux entrées logiques (A, B, C et D) ainsi que deux entrées de validation

(INH1 et INH2). De plus, deux broches sont connectées en interne aux émetteurs des

transistors qui permettent la connexion de résistances de contre réaction pour l’asservissement

du courant.

Conclusion

Dans ce chapitre nous avons pu réaliser avec succès nos cartes électroniques selon notre

choix étudié. En plus le coût global de la réalisation de cette carte est nettement inférieur au

prix d’achat des cartes originales auprès du constructeur.

Page 37: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

27

Chapitre 4:

Programmation et

interface graphique

Page 38: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

28

Chapitre 4: Programmation et interface graphique

4.1. Le microcontrôleur PIC 18F4620

Le PIC joue un rôle principal dans la carte : c’est lui qui traite les données reçues par

l’ordinateur, les capteurs et les boutons, qui pilote les moteurs et la tète et c’est lui qui

communique avec l’opérateur en mode manuel grâce à l’afficheur et la manette. Notre

commande présente deux modes de fonctionnement: mode manuel et mode automatique

(organigramme 1).

Organigramme 1. Programme principal

4.1.1. Rôle du PIC en mode manuel

En mode manuel, l’opérateur peut commander les moteurs directement par la manette. Pour

achever cette tâche, nous avons proposé plusieurs choix à l’aide de l’afficheur LCD

(organigramme 2) :

Page 39: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

29

v Mouvement continue : lors de déplacement des moteurs, si l’opérateur appui sur un

bouton de déplacement, la tête se déplace d’une manière continue avec une vitesse

réglable.

v Incrémentation par pas : pour un réglage fin, plusieurs distances de déplacement sont

proposées. Dans ce mode, un seul appui génère un déplacement d’une seule unité

choisie par l’opérateur.

v Réglage de la vitesse : la vitesse de la tête en mode manuel est réglable. Le choix de

cette vitesse est limité par la vitesse minimale et maximale indiquées au manuel des

moteurs (Vmin ,Vmax).

v Prise d’origine : la prise d’origine est essentielle pour que le PIC configure l’origine

absolue du déplacement. Cette origine est indiquée par deux butées de fin de course.

Un lancement de prise d’origine déplace la tête dans le sens X- jusqu’à atteindre la

butée de fin de course X- puis il s’éloigne quelques pas de cette butée vers le sens X+,

et de même pour l’axe Y.

v Retour à zéro : il s’agit de déplacer la tête à l’origine absolue. Ce qui diffère de la prise

d’origine décrite précédemment c’est que la tête retourne à l’origine sans passer par

les butées, donc il est basé sur l’estimation de la position calculé par le PIC.

v Retour à l’origine programme : l’origine programme est par défaut l’origine absolue

de la table, en fait, c’est l’origine de la pièce. Cette origine peut être changée par le

code en G en mode automatique ou même manuellement. Une fois changé, le PIC le

mémorise dans son EEPROM.

v Mémoriser l’origine programme : si l’opérateur veut changer cette origine, il doit

déplacer la tête manuellement à l’aide du déplacement continu et l’incrémentation par

pas, puis il exécute la mémorisation.

Page 40: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

30

Organigramme 2. Le mode manuel

4.1.2. Rôle du PIC en mode automatique

En mode automatique, le PIC reçoit les instructions en code G et les exécute l’une après

l’autre. Il y a plusieurs étapes pour achever cette tache. Commençant par la réception de

l’instruction jusqu’à la commande des moteurs et de la tète.

4.1.2.1. Protocole de communication entre l’ordinateur et le PIC:

Si l’opérateur choisi le fonctionnement en mode automatique, le PIC entre dans une boucle

qui envoi le mot ‘CNC-2010’ qui est le mot clé pour se connecter avec l’ordinateur. Ce mot

signifie qui le PIC est prêt pour recevoir les données. Une fois l’opérateur ouvre le port série

et reçoit ce mot, il annonce qu’il a reconnu la machine. Ensuite, il envoi au PIC « PFE-2010 »

pour qu’il sorte de cette boucle et qu’il passe à une boucle pour attendre les instructions. Il

faut noter qu’il y a deux conditions pour que le PIC sorte de ces boucles, soit il reçoit une

réponse de l’ordinateur, soit l’opérateur appui sur la touche ECHAP de la manette.

Page 41: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

31

4.1.2.2. Réception et traitement des données

Une fois la carte de commande est reconnue par l’ordinateur, s’il y a une liste des instructions

en code G à exécuter, l’ordinateur les envoie, comme indiqué précédemment, l’un après

l’autre, pour chaque instruction, le PIC la mémorise en mémoire RAM, la compile pour savoir

l’opcode (code de l’opération) et évidement ses paramètres s’ils existent. Chaque opcode de

code G a une fonction spécifique, s’il s’agit d’un paramétrage, l’instruction affecte une

variable en EEPROM tels que l’origine programme, origine pièce, vitesse de déplacement…

et s’il s’agit d’un déplacement, le PIC fait appel à l’interpolation de BRESSENHAM liée à ce

déplacement (interpolation linéaire et interpolation circulaire). Enfin, le PIC envoi le mot

‘PRET’ pour indiquer au PC qu’il est prêt à recevoir l’instruction suivante. Le code ‘M02’ ou

l’appui sur le bouton ECHAP termine le dialogue.

4.1.2.3. Affichage sur LCD

Dans ce mode (mode automatique), le PIC affiche le message ‘Connexion en cours…’ avant

de recevoir le mot ‘PFE-2010’. Après la connexion, il affiche ‘Connexion établie’ 3 secondes

puis affiche ‘PRET’ jusqu’à la réception d’une instruction. Si le PIC est en cours d’exécuter

une instruction, il l’affiche.

4.1.3. Configuration de la plateforme

Autre que le mode manuel et le mode automatique, il y a le mode configuration. Dans ce

mode, nous pouvons configurer les dimensions de la table. Afin de configurer les dimensions,

l’opérateur est appelé à mettre la tête aux coins inverses de l’origine table après le lancement

d’une prise d’origine. Cela est nécessaire pour mémoriser les distances maximales des axes X

et Y. Ainsi, ces paramètres sont enregistrés dans la mémoire EEPROM. Enfin, pour faciliter

la maintenance du programme du PIC, chaque version est notée par son numéro, ensuite un

numéro qui indique la progression de la version en passant par les versions Beta (la version

finale a le numéro 99), puis la date de compilation du programme et son programmateur. Pour

notre cas, c’est la version « 1.99.062010 Abdenneji.Ahmadi ».

4.2. L’éditeur du texte : compilateur de langage CNC

L’éditeur de texte est une interface graphique sur l’ordinateur où l’opérateur peut traiter le

code G à exécuter. Ensuite, ce texte doit être compilé, s’il y a des erreurs ; l’opérateur est

Page 42: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

32

prévu afin de les corriger. Une fois compilé, le code est prêt à envoyer au PIC ou à simuler

sur l’ordinateur.

4.3. Simulation de trajectoire à suivre

Donc comme nous avons indiqué, l’opérateur peut simuler son code grâce à une interface

graphique. Comme le compilateur à la tache d’éviter les erreurs de compilation, cette

simulation a le but d’éviter les erreurs de programmation et de calcul des coordonnées.

4.4. Langage de programmation

Pour la programmation du PIC, nous avons testé, durant notre stage, plusieurs langages de

programmation. A savoir : PIC C, MicroPascal, MicroC et MicroBasic. Nous avons choisi

finalement le langage Basic parce qu’il est le plus simple, et son manuel est très complet. Pour

la programmation de l’interface graphique sur l’ordinateur, nous avons choisi le Visual Basic

sur le système d’exploitation Windows et Gambas sur Linux.

4.5. Interpolation de Bressenham

L’interpolation de Bressenham [5] est un algorithme de base pour beaucoup de traitements de

l'Informatique Graphique: dessin en fil de fer, remplissage, élimination des parties cachées…

Nous désirons tracer un segment entre deux points (Xi, Yi) et (Xf, Yf). Ce tracé est effectué

sur un écran bitmap (composé d'une matrice de n x m pixels carrés) qui représente notre

plateforme commandée par les deux moteurs pas à pas. Donc, le segment doit être discrétisé

de la manière suivante (figures 23 et 24):

Figure 23. Droite à tracer

Page 43: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

33

Figure 24. Droite discrétisée

Notre but est de tracer le moins de pixels possible. Pour cela nous traçons un nombre de

pixels égal à :

N=1+max (abs (Xi-Xf), abs (Yi-Yf))

Si abs(Xi-Xf) < abs(Yi-Yf), nous traçons un pixel et un seul par ligne interceptant le segment,

sinon nous traçons un pixel et un seul par colonne interceptant le segment (figure 25).

Figure 25. Tracée d’une ligne avec l’interpolation de Bressenham

Nous posons comme hypothèse simplificatrice:

Xf > Xi

Yf > Yi

et (Xf-Xi) ≥ (Yf-Yi)

Page 44: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

34

Tous les autres cas peuvent s'y rapporter. Le coefficient directeur de la droite passant par les

deux sommets il est positif et inférieur ou égal à 1. Au cours de l'exécution, nous quantifions,

pour chaque pixel allumé, la différence entre ses cordonnées entières (utilisées pour

l’affichage raster) et réelles telles qu'elles sont calculées sur le segment continu. Nous

allumons un pixel en chaque abscisse entière x de Xi à Xf et nous utilisons une variable

cumul pour stocker une estimation de la différence entre l'ordonnée entière et l'ordonnée

réelle.

Le dernier pixel allumé a pour coordonnées (Xf, Yf) car dx/2+dy*dx est la valeur totale de ce

qui a été accumulé dans cumul au cours de l'exécution (figure 26).

v est le nombre de fois où y a été incrémenté de 1.

v l’ordonnée du dernier pixel allumé est Yi + dy = Yf.

Figure 26. Interpolation linéaire de Bressenham

Caractéristiques

v Plus grande complexité algorithmique.

v Rapidité due à l'utilisation exclusive d'entiers courts (valeurs maximales de l'ordre de

la résolution de l'écran -> petites valeurs) et d'opérations arithmétiques simples sur ces

entiers (additions, soustractions et comparaisons).

Page 45: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

35

Algorithme adapté pour le tracé de tout segment

Utilisation de deux variables Xinc et Yinc pour gérer des incréments de 1 ou -1 pour x variant

de Xi à Xf et y variant de Yi à Yf (figure 27).

Figure 27. Adaptation de l’interpolation de Bressenham

Deux parties alternatives dans l'algorithme:

· une pour l'incrémentation en x

· l'autre pour l'incrémentation en y, en fonction de la pente du segment.

procédure Tracer_Ligne 'procédure d'interpolation Linéaire

erreur=0

Si px>maxx alors erreur=1 'contrôle dépassement course maxi

sinon si py>maxy alors erreur=2

sinon si px<0 alors erreur=3 'contrôle de dépassement course mini

sinon si py<0 then fail=4 end if

fin si

fin si

fin si

dx = px – ax dy = py - ay 'déterminer le mouvement des axes

Cx = ax Cy = ay

Tdx = dx * 2 Tdy = dy * 2

Xinc = 1 Yinc = 1

mx=0 my=0

si dx < 0 alors Sens_M1 = 0 dirx = 0 Xinc = -1 Tdx = - Tdx dx = -dx 'déterminer la

‘direction du mouvement

Page 46: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

36

sinon Sens_M1 = 1 dirx = 1 fin si

si dy < 0 alors Sens_M2 = 0 diry = 0 Yinc = -1 Tdy = - Tdy dy = -dy

sinon Sens_M2 = 1 diry = 1 fin si

si (erreur=0) et ((Dx<>0) ou (Dy<>0)) alors

si dy <= dx alors

ErrX = 0

Tant que (Cx <> px) et (Arret_Urg=1) et (pause=0) et (butee_X=1) et

(butee_Y=1)

Cx = Cx + Xinc

mx = mx + 1

Incrémenter(M1)

ErrX = ErrX + Tdy

Si ErrX > dx alors

Cy = Cy + Yinc

my = my + 1

Incrémenter(M2)

ErrX = ErrX - Tdx

Fin si

Fin tant que

sinon

ErrY = 0

tant que (Cy <> py)

Cy = Cy + Yinc

my = my + 1

Incrémenter(M2)

ErrY = ErrY + Tdx

si ErrY > dy alors

Cx = Cx + Xinc

mx = mx + 1

Incrémenter(M1)

ErrY = ErrY - Tdy

Page 47: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

37

Fin si

Fin tant que

Fin si

Fin si

si dirx = 1 alors ax = ax + mx 'mise à jour des compteurs

sinon ax = ax - mx fin si

si diry = 1 alors ay = ay + my

sinon ay = ay - my fin si

fin procédure 'fin procédure d'interpolation Linéaire

Algorithme 1. Procédure d’interpolation linéaire adoptée après modification

Conclusion

Après des tests pratiques sur notre plateforme nous avons constaté que l’algorithme de

BRESSENHAM que nous avons présenté est suffisamment précis pour tracer une trajectoire

linéaire. Mais, pour bien exploiter cet algorithme, il existe des améliorations pour l’appliquer

à des machines telle que la nôtre [6]. Ces améliorations touchent l’accélération et

l’optimisation du code.

Page 48: Rapport Pfe Gabes

Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar

38

Conclusion Générale

Après la réalisation pratique, et le test des différentes cartes assemblées, nous affirmons que

nous avons achevé notre tâche demandée : la commande d’un prototype d’une machine de

découpe laser. L’avantage de notre commande est qu’elle est à la norme ISO de la commande

numérique des machines à deux axes. Toutefois, elle peut être facilement exploitée pour

ajouter un troisième et même un quatrième axe. Nous avons rencontré plusieurs problèmes

durant la conception de la commande et la réalisation pratique (protocole de communication,

couple des moteurs et leurs vitesses…), mais grâce à ce que nous avons appris durant nos

études académiques et l’assistance de nos encadrants, nous pouvions confronter ces

difficultés.

Page 49: Rapport Pfe Gabes

Bibliographie

Ouvrages

[2] Electronique et loisir, Février 2000, numéro 9

[1] Frédéric Charpentier, Comprendre le fonctionnement d’une machine à

commande numérique. » Application à la MOCN, Technologies et formations N° 124

et N° 125, 2005

[3] G. Pinso, Physique Appliquée Moteur pas à pas - C35 / 1

[5] John Kennedy, Bresenham's Integer Only Line Drawing Algorithm

[6] John Kennedy, A Fast Bresenham Type Algorithm For Drawing Circles

[4] Patrice Oguic, Moteurs pas-à-pas et PC, France, édition Dunod, deuxième

édition

Sites web

http://fr.wikipedia.org

http://www.cncloisirs.com

Page 50: Rapport Pfe Gabes

ANNEXE

Annexe -1- : Moteur PM55L-048

Moteur pas à pas PM55L-048

Caractéristique du moteur

Page 51: Rapport Pfe Gabes

Annexe -2- : Circuit de commande

Circuit L297

Page 52: Rapport Pfe Gabes

Fonctionnement des broches

Mode monophasé

Page 53: Rapport Pfe Gabes

Mode biphasé

Mode demi-pas

Page 54: Rapport Pfe Gabes

Circuit L298

Fonctionnement des broches

Page 55: Rapport Pfe Gabes

Branchement de L297 avec L298

Architecture interne du L298

Page 56: Rapport Pfe Gabes

Annexe -3- : PIC 18f4620

Brochage de PIC

Page 57: Rapport Pfe Gabes

Architecture interne du PIC 18F4620

Page 58: Rapport Pfe Gabes

Annexe -4- : LM317

Caractéristique de LM317

Page 59: Rapport Pfe Gabes

Annexe -5- : 2N3055

Caractéristique de transistor 2N3055

Page 60: Rapport Pfe Gabes

Annexe -6- : LM7805

Caractéristique de LM7805

Page 61: Rapport Pfe Gabes

Annexe -7- : optocoupleur 4N25

Caractéristique de 4N25

Page 62: Rapport Pfe Gabes

Annexe -8- : ULN2004

Architecture interne du ULN2004

Page 63: Rapport Pfe Gabes

Annexe -9- : G code

Page 64: Rapport Pfe Gabes

Résumé

Notre projet est la conception d'une commande numérique d'une machine de découpe

laser avec la norme ISO (code G). Concevoir la partie commande de cette machine

fait appel à des algorithmes d’interpolation, commande des moteurs pas à pas,

asservissement, interfaçage Homme-Machine…

Mots Clés

CFAO, CNC, moteurs pas à pas, PIC, algorithme de Bressenham

Abstract

Our project is the design of digital control of a laser cutting machine with the ISO

standard (Code G). Designing the control part of this machine uses interpolation,

control stepper motors, servo control, man-machine interface...

Key words

CFAO, CNC, stepper motor, PIC, Bressenham algorithm