Réalisé par
Abdennaji Youssef
Ahmadi Anouar
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
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
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.
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.
3
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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.
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
« 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.
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)
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].
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].
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.
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
7
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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).
8
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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).
9
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
10
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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
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…
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
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.
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.
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.
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
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
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.
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).
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
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
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
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
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.
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):
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.
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 ?
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.
La figure 19 présente un shéma qui donne une idée sur la configuration des ports de 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.
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.
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).
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.
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
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).
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
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).
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
29
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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.
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
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.
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.
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.
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.
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.
32
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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).
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.
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
35
Commande numérique d’une machine de découpe laser Abdennaji Youssef et Ahmadi Anouar
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
Caractéristique du moteur
Annexe -2- : Circuit de commande
Circuit L297
Fonctionnement des broches
Mode monophasé
Mode biphasé
Mode demi-pas
Circuit L298
Brochage de PIC
Architecture interne du PIC 18F4620
Annexe -4- : LM317
Caractéristique de LM317
Annexe -5- : 2N3055
Caractéristique de LM7805
Annexe -7- : optocoupleur 4N25
Caractéristique de 4N25
Annexe -8- : ULN2004
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
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