Vous êtes sur la page 1sur 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 : Mr DAHMAN Hassen


Membre : Mme Salah Brini Saoussen
Encadrant academique: Mr FARAH Mohamed Amine
Encadrant industriel: Mr BEN ABBES Rhaim
DEDICACES

‫اﻟﺤﻤﺪ ﷲ اﻟﺬي ﻫﺪاﻧﺎ ﻟﻬﺬا و ﻣﺎ ﻛﻨﺎ ﻟﻨﻬﺘﺪي ﻟﻮ ﻻ أن ﻫﺪاﻧﺎ اﷲ‬

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

Abdennaji Youssef
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
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.
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
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
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
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
LISTE DES ORGANIGRAMMES

Organigramme 1. Programme principal


Organigramme 2. Le mode manuel
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


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

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.

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

Chapitre 1:

Etude
bibliographique

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

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.

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

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

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

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).

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

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

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

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 20 24 48 100 200 400
tour

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

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

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).

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

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

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

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.

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

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.

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

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


Avantages Inconvénients
v Asservissement de position ou de v Positionnement discret
vitesse en boucle ouverte v Faible vitesse maximale
v Fort couple à basse vitesse v Bruyant, source d’oscillations
v Simplicité de mise en œuvre v Faible puissance
v Positionnement statique v Faible rendement
v Fiabilité
v Faible prix

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) :

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

Figure 12. Architecture d’un microcontrôleur

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

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

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.

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

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.

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

Chapitre 2:

Etude technique

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

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

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

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.

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

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

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

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.

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

Chapitre 3:

Réalisation pratique

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

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

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

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

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

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

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

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.

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

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.

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

Chapitre 4:
Programmation et
interface graphique

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

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) :

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

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.

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

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.

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

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

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

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

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

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)

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

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).

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

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

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

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

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

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.

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

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.

38
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
ANNEXE

Annexe -1- : Moteur PM55L-048

Moteur pas à pas PM55L-048

Caractéristique du moteur
Annexe -2- : Circuit de commande
Circuit L297
Fonctionnement des broches

Mode monophasé
Mode biphasé

Mode demi-pas
Circuit L298

Fonctionnement des broches


Branchement de L297 avec L298

Architecture interne du L298


Annexe -3- : PIC 18f4620

Brochage de PIC
Architecture interne du PIC 18F4620
Annexe -4- : LM317

Caractéristique de LM317
Annexe -5- : 2N3055

Caractéristique de transistor 2N3055


Annexe -6- : LM7805

Caractéristique de LM7805
Annexe -7- : optocoupleur 4N25

Caractéristique de 4N25
Annexe -8- : ULN2004

Architecture interne du ULN2004


Annexe -9- : G code
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