Rapport Machine CNC
Rapport Machine CNC
Rapport Machine CNC
Introduction
Chaque partie décrit par un résumer de leur contenue. Chaque élément utilisé est décrit par
une description, référence, prix …etc. Nous avons utilisé seulement les logiciels de synthèse.
Dans tous les parties du projet, on a fait la meilleure conception et le désigne, moins
cher, pratique et plus efficace possible.
L’idée la plus essentiel dans ce projet est de faire le maximum pour chercher les pièces déjà
utilisée ailleurs qui sont sous un bon état et les pièces périmé qui sont retraité de son
fonctionnement et qui sont sous un état peut servir et occupé une fonction dans le projet.
On exerce le recyclage en même temps cela coute moins cher.
Page 1
Projet de Fin d'Etude
CHAPITRE I:
Étude bibliographies
Page 2
Projet de Fin d'Etude
I.1. Introduction
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.
Après une première génération de commandes numériques à logique câblée sont apparues
les commandes numériques par calculateur (CNC), ou par ordinateur, qui intègrent un ou
plusieurs ordinateurs spécifiques pour réaliser tout ou partie des fonctions de commande.
Tous les systèmes de commande numérique commercialisés actuellement contenant au moins
un microprocesseur, les termes CN et CNC peuvent être considérés comme des synonymes.
Une CNC c’est une machine pilotée par des moteurs pas à pas. Ces derniers permettent de
convertir directement un signal électrique numérique en un positionnement angulaire de
caractère incrémental, par exemple :
Impriment 3d.
La machine de découplage.
Mini traceur.
I.2.Historique
Les travaux menés par Falcon et Jacquard à la fin du XVIIIe siècle ont montré qu’il était
possible de commander les mouvements d’une machine à partir d’informations transmises
par un carton perforé. Leur métier à tisser de 1805 fut le premier équipement à être doté de
cette technique et, de ce point de vue, il peut être considéré comme l’ancêtre de la commande
numérique.
Page 3
Projet de Fin d'Etude
En 1947, à Traverse City dans l’État du Michigan, John Parsons fabrique pour le compte de
l’US Air Force des pales d’hélicoptère par reproduction. Pour façonner ses gabarits, il utilise
une méthode consistant à percer plusieurs centaines de trous faiblement espacés de manière à
approcher le profil théorique. L’emplacement et la profondeur de chaque trou sont calculés
Avec précision par un ordinateur IBM à cartes perforées. La finition de la surface est obtenue
par des opérations manuelles de polissage.
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
Page 4
Projet de Fin d'Etude
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 I.2):
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).
L’origine pièce (Op) qui peut être décalée par rapport à l’origine machine.
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
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.
Page 5
Projet de Fin d'Etude
Page 6
Projet de Fin d'Etude
I.4.3. 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. Chaque machine
possède donc son propre post-processeur (figure I.3)
Figure I.3 : Cycle d’une pièce fabriquée par une commande numérique (CFAO)
I.5.Conclusion:
Page 7
Projet de Fin d'Etude
Page 8
Projet de Fin d'Etude
CHAPITRE II:
Etude Fonctionnelle
Page 9
Projet de Fin d'Etude
I Etude Fonctionnelle:
L’objectif est de montrer que notre système provient d’un besoin industriel à satisfaire.
Dans ce cas, la phase analyse comporte les étapes suivantes (figure 1.1).
Conception
Saisir le
Idée besoin
Perception
Besoin non validé
d’un marché
Enoncer le
besoin
Valider le
besoin Besoin
Validé
Page 10
Projet de Fin d'Etude
Page 11
Projet de Fin d'Etude
Modélisation
machine cnc Conception de machine
Page 12
Projet de Fin d'Etude
A qui rend-il service ? Sur quoi (qui) agit-il ?
Technicien Plaque
electronique
Machine
cnc
Une fois le besoin est défini, nous avons procédé à vérifier sa stabilité dans le temps.
Pour cela, il est nécessaire de répondre aux questions suivantes :
→ Pourquoi ce système machine cnc existe-t-il ?
Pour remplacer la production manuelle des plaques electronique.
→ Pourquoi ce besoin existe-t-il ?
Dans quel but ?
Page 13
Projet de Fin d'Etude
Pour offrir à l'opérateur lors de conception des plaques électroniques la rapidité et moindre cout
de la production
→ Pour quelle raison ?
Pour produire des plaques electroniques plus perfermant et moins couteux en production.
→ Qu’est ce qui pourrait faire évoluer ou disparaître ce besoin ?
Mise sur le marché de modèles de machine cnc des plaques electoniques plus performants.
Une nouvelle technologie qui disparaitre les plaques electroniques
L'utilisateur desplaques electroniques n’est pas besoin de ce produit (nouvelle technologie)
1.4Conclusion
Ce besoin peut évoluer pour avoir une machine cnc des plaques electroniques d’une meilleure
congruence et une meilleure performance, en attendant que l'opérateur du machine soit dotée de techniques
d'utilisation faciles et mieux adaptées.
2.Étude de faisabilité:
Cette activité suit la démarche d’analyse descendante et correspond à la formulation
des fonctions de service. Elle est définie par le niveau A-2 présentée par le diagramme de la
figure1.2.
Caractérisation des
fonctions de
service
Hiérarchisation
A-22 des fonctions de
service
A-23
Page 14
Projet de Fin d'Etude
Milieu Milieu
humain technique
Machine cnc
d'imprimer les
plaques
electroniques
Milieu Milieu
physique économique
Page 15
Projet de Fin d'Etude
Energie Matériaux
ordinateur électrique
securité
FC3
FC1 FC2
opérateur
FP2
Coût
FC4
FP1 Machine cnc
d'imprimer les
Plaque plaques FC5
electronique electroniques
Taille
é
FC6
FC8
Environnement
FC7
Esthétique
Duré de vie
Fig6:Diagramme du pieuvre
Page 16
Projet de Fin d'Etude
Page 17
Projet de Fin d'Etude
Page 18
Projet de Fin d'Etude
Page 19
Projet de Fin d'Etude
Utilisation correcte et conforme de machine CNC qui doit être à la souhait de l'opérateur :
besoin valider
FC8 : Être esthétique.
→ Pourquoi cette fonction de service existe-t-elle ?
→ Dans quel but ?
Très belle vue.
→ Pour quelle raison ?
Pour Apporter merveilles du l'opérateur.
→ Qu’est ce qui pourrait faire évoluer ce besoin ?
Couleur et forme bien choisies : besoin validé.
F.S
caractériser Comparer les
fonctions de
services
Pondérer les
F.S F.S
Etablir hiérarchiser
l’histogramme
Page 20
Projet de Fin d'Etude
FP2 FC1 FC2 FC3 FC4 FC5 FC6 FC7 FC8 Points %
FP1 FP1 FP1 FC2 FC3 FC4 FP1 FC6 FP1 FP1 14 17.72
1 3 2 1 1 2 1 2 2
FP2 FP2 FP2 FP2 FC4 FP2 FC6 FP2 FC8 12 15.20
1 2 3 1 2 2 2 3
FC8 4 5.05
79 100
Total
Page 21
Projet de Fin d'Etude
Etude électronique.
Définition des étapes de fabrication.
Assemblage et configuration.
CdCF Rechercher
les idées et
Solutions
les solutions
antérieures
Etudier les
solutions
Page 22
Projet de Fin d'Etude
Quand ?
Quand ?
Dans ce qui suit, nous présentons le diagramme FAST, correspondant aux fonctions de service de la
machine CNC. Il est à noter qu’il existe un nombre élevé de solution. Il est ainsi, commode de se limiter aux
solutions technologiques les plus pratiques, moins coûteuses et plus faciles à mettre en œuvre.
Page 23
Projet de Fin d'Etude
Diagramme fast
Page 24
Projet de Fin d'Etude
S2 Machine delta
Machine cartésienne
S3
Page 25
Projet de Fin d'Etude
1 douteuse
2 moyenne
3 bien adapté
Cette opération s’effectue souvent en deux étapes, pour cela on construit les tableaux à double entré
suivants :
S1 S2
C1 2 3
C2 2 2
C3 1 3
C4 2 2
C5 1 3
C6 3 2
Page 26
Projet de Fin d'Etude
Valorisation globale
Les fonctions de service n’ont pas toutes la même importance aux yeux des utilisateurs, pour cette raison,
on associe à chacun des critères une pondération.
jP
K Importance de la fonction de service N Si = N j K j
1 Utile j 1
Les calculs que nous venons d’effectuer, permettent de conclure que la solution présentant le total
pondéré le plus élevé est globalement la plus intéressante, donc la solution à retenir pour lancer une
production en série d’une machine CNC.
solution
S1 S2
Critère K Note Total Note Total
C1 5 5 25 5 25
C2 4 1 4 3 12
C3 5 1 5 5 25
C4 4 4 16 3 12
C5 5 2 10 5 25
C6 4 1 4 3 12
Total 64 111
Pondération
% de 10.66 18.5
Pondération
Note 1 3
minimale
Page 27
Projet de Fin d'Etude
La solution S2 est globalement la plus intéressante avec un écart de supériorité par rapport aux autres
solutions égales à 18.5%
6. Conclusion
Après une recherche des solutions techniques qui devant satisfaire en principe les besoins de l’utilisateur de la
machine, et en utilisant des outils d’aide à la décision pour choisir la solution le mieux adapte, qui offre plus de
performance et qui respecte mieux les normes de sécurités; l’analyse rigoureuse et systématique (ISO.150.50)
nous conduit à choisir la solution S2. Pour la conception d’une machine CNC on doit avoir une approche à la
fois statique, qui vise à contrôler le niveau de stabilité et une approche technique, spécifiant la qualité
souhaitée par l’utilisateur. D’où la nécessité l’étude d’une théorie de mécanisme qui sera traité dans le
chapitre suivant à fin de justifier la non hyperstatique, d’un point de vue mécanique, la solution S2 retenue.
Page 28
Projet de Fin d'Etude
CHAPITRE III:
Etude Mécanique
Page 29
Projet de Fin d'Etude
Dans cette partie du rapport concerne la partie mécanique de la machine et détaille le cadre
de l’étude, les problématiques du sujet et leurs solutions, ainsi que toutes les étapes
essentielles de fabrication des éléments de la machine et les causes du choix du design
définitif.
C’est une machine qui se déplace sur trois axes, fait toutes les translations possibles dans
l’espace, avec une forme adaptée pour usiner les plaques électroniques.
2. Conception de la machine :
La machine à trois axes translate dans l’espace (Tx, Ty, Tz) selon les coordonnées cartésiennes (x, y, z)
Figure1.2. La translation dans chaque axe est occupée par un moteur pas à pas et le
système vis/écrou.
Page 30
Projet de Fin d'Etude
3. Design de la machine :
Selon la conception choisie précédemment (§2), nous avons proposé deux designs différents
Figure1.3.
1 moteur pas à pas, 1 tige filetée, 2 blocs de guidages, 2 alésages ce qui coûte 540 DT. Tableau 1.2.
Page 31
Projet de Fin d'Etude
Nous avons choisi le design 2 car il est plus pratique et a une grande surface de travail effectif.
4. Dimensions de la machine :
Pour choisir les dimensions d’une machine qui fabrique les cartes électroniques, il suffit de
choisir un course horizontale (x, y) de surface de travail effectif presque égale au format A4, avec un
déplacement vertical assez petit (millimétrique) pour désigner et percer les positions des
composantes électroniques. Ce déplacement peut être assez petit car l’épaisseur des cartes
électronique les plus utilisées est inférieure à 2mm. Dans la fabrication de la série, ce format ne peut
pas répondre. Pour cela, nous avons choisi une course des axes de mouvement horizontale (x, y)
assez importante et une course verticale suffisante. Tableau1.3.
X Y Z
Travail effectif des trois axes de la machine [mm] 210 350 100
Dimension du format A4 [mm] 210 297
Tableau1.3. La longueur de travail effectif des trois axes de la machine avec le format A4.
Page 32
Projet de Fin d'Etude
Page 33
Projet de Fin d'Etude
D- Plaque axe X:
Cette pièce va porter le support z et qui fait la translation sur
l'axe x
Page 34
Projet de Fin d'Etude
e-Plaque axe Z:
c'est la pièce qui va porter le support de l'outil(mini perceuse)
Page 35
Projet de Fin d'Etude
h- support moteur :
Il assure la fixation du moteur
i-support écrou:
Fixer les écrous de guidage
Page 36
Projet de Fin d'Etude
Page 37
Projet de Fin d'Etude
Page 38
Projet de Fin d'Etude
calcul de la flèche :
Le cas le plus défavorable est quand la charge est située au milieu de l’arbre.
Deux cas sont considérés :
- l’arbre est en appui à ses deux extrémités et f = PL3 / ( 48 E I )
Page 39
Projet de Fin d'Etude
où
- P = effort de flexion en daN ou kilos
- L = longueur en mm
- E = module d’élasticité = 20.000 daN/mm²
- I = moment quadratique en mm4 = p * D4 / 64 où D est le diamètre de l’arbre
Par exemple pour un arbre d’une longueur de 0.600 mètre, d’un diamètre de
20 mm et supportant en son milieu un effort de 1 daN on a :
f = 6* 6003 / 96 *20000 *981 = 0,68 mm
I= pi*d4/64
6. Fabrication de la machine :
La partie fabrication consiste à respecter les mises en plan de chaque pièce et d'accepter
les dimensions existant. On commence tous d'abord par couper les pièces à usiner
(paragraphe 5.1) et de réaliser tous les perçages.
Ensuite on a passé à l'assemblage des roulements linéaires à ces positions.
Page 40
Projet de Fin d'Etude
Dans la figure si dessous on fait l'assemblage de l'axe x qui contient les deux supports
latéral, support écrou et le système de transmission de mouvement (système vis -écrou)
Page 41
Projet de Fin d'Etude
Dans cette figure on couper les formes des supports moteur, on fait les perçages de
fixation de moteur et les perçages de fixation sur les plaque support enfin on utilise la
méthode de pliage pour atteindre le forme conçue a l'aide du machine plieuse
Page 42
Projet de Fin d'Etude
Page 43
Projet de Fin d'Etude
Page 44
Projet de Fin d'Etude
Chapitre IV :
Etude Electrique
Page 45
Projet de Fin d'Etude
1. introduction
Apres avoir décrit la partie mécanique, nous allons maintenant entamer la partie électronique qui va commander
tout le système. Commençons tout d’abord par une description théorique des différents composants qu’on a
utilisés pour pouvoir réaliser notre commande.
a) Introduction :
Les moteurs pas à pas sont très utilises dans toutes les applications mécaniques ou l’on doit contrôler
simplement la position ou la vitesse d’un système. Ces moteurs sont par exemple utilises dans les imprimantes
jet d’encre ou laser, pour positionner les têtes d’impression ou pour l’avancée du papier.
La commande des moteurs pas à pas est relativement simple car on n’a pas besoin d’accessoires tels que des
codeurs pour connaitre la position, chaque impulsion du système de commande les fait avancer d’un pas. Il
existe différents types de moteurs pas à pas (aimants permanents, à reluctance variable ou hybrides), pour notre
application on a travaillé avec moteur à aimant permanent bipolaire.
b) moteur a aimant permanent bipolaire :
i) Définition :
Dans la famille des moteurs pas à pas à aimants permanents, on distingue les moteurs pas à pas bipolaires qui
contiennent deux enroulements (bobines). Chaque enroulement est commande en courant positivement ou
négativement. Le rotor aimant possède plusieurs pôles Nord-Sud. Ces moteurs possèdent 4 fils (2 par bobine).
La photo de la structure interne du moteur pas à pas Nema 17 montre deux enroulements repartis en
croix ainsi qu'un rotor constitue de nombreux pôles.
Page 46
Projet de Fin d'Etude
Dans le mode pas complet (monophasé), le couple n'est pas important puisqu'un seul enroulement est alimente
pour effectuer un pas. La premiere consiste a alimenter les enroulements en suivant la sequence
A vers B/C vers D/B vers A/D vers C (BA est les memes enroulements que AB mais
alimente par un courant de polarite inverse). Par la suite nous simplifierons la notation pour
une meilleure correspondance avec les chronogrammes des phases en indiquant uniquement
la phase qui est alimentee par un courant"positif" Soit A B C D.
Cette sequence est connue sous le nom de " one phase on full step" (traduisez phase par phase
ou une phase a la fois en pas entier). A tout moment il n’y a qu’une seule phase d’alimentee
et nous travaillons en mode pas entier.
C'est dans le mode couple maximal ( biphase) que le moteur developpera la plus grande
puissance (couple eleve) car les deux phases seront alimentees en meme temps de fason a ce
que le rotor se positionne entre deux poles.
La sequence sera donc AC/CB/BD/DA.
Page 47
Projet de Fin d'Etude
Le fonctionnement à demi-pas est un mélange des deux premières puisque l’on alimente tour
à tour le moteur sur une phase puis deux puis une ... cette séquence connue sous le nom de
mode demi-pas procure affectivement une division par 2 de l’angle d’avance d’un pas, mais
aussi un couple moins régulier.
Pour obtenir une rotation dans la direction opposee les memes sequences sont utilisees en
Inversant l'ordre de defilement. Comme nous pouvons le constater sur les diagrammes, les
moteurs sont representes avec une avance de pas a 90°.
Dans les moteurs reels les nombres de poles ont ete multiplies pour reduire a quelques degres
seulement l'angle d'avance d'un pas. Le nombre d'enroulements et la sequence de commande
restant, quant a eux, inchanges.
Page 48
Projet de Fin d'Etude
La carte Arduino est une carte electronique basee autour d’un microcontroleur et de
composants minimum pour realiser des fonctions plus ou moins evoluees a bas cout. Elle
possede une interface USB pour la programmer. C’est une plateforme open-source qui est
basee sur une simple carte a microcontroleur (de la famille AVR), et un logiciel, veritable
environnement de developpement integre, pour ecrire, compiler et transferer le programme
vers la carte a microcontroleur.
Arduino est peut etre utilise pour developper des applications materielles industrielles legeres
ou des objets interactifs, et il peut recevoir en entrees une tres grande variete de capteurs. Les
projets Arduino peuvent etre autonomes, ou communiquer avec des logiciels sur un
ordinateur (Flash, Processing ou MaxMSP, Labview). Les cartes electroniques peuvent etre
fabriquees manuellement ou bien etre achetees pre assemblees, le logiciel de developpement
open-source est telecharge gratuitement.
La programmation de la carte Arduino presente les principales fonctionnalites de l'interface
de l’application Arduino. L'application Arduino vous permet de creer et editer un programme
(appele sketch) qui sera compile puis televerse sur la carte Arduino. Ainsi, lorsque vous
apportez des changements sur le code, ces changements ne seront effectifs qu'une fois le
programme televerse sur la carte.
b) presentation et caracteristiques du module Arduino Uno :
La carte Arduino Uno, pretee est une carte a microcontroleur basee sur un Atmega328p.
Cette carte dispose :
-I- Broches numeriques d’entrees/sorties,
-I- Entrees analogiques,
-I- Quatre UART (port serie materiel),
-I- Quartz 16Mhz,
-I- Connexion USB,
-I- Connecteur d’alimentation jack,
-I- Connecteur ICSP,
-I- Bouton de reinitialisation.
Page 49
Projet de Fin d'Etude
Elle contient tout ce qui est necessaire pour le fonctionnement du microcontroleur. Pour
pouvoir l’utiliser et se lancer, il suffit simplement de la connecter a un ordinateur a l’aide
d’un cable USB (ou de l’alimenter avec un adaptateur secteur ou une pile, mais ceci n’est pas
indispensable, l’alimentation est fournie par le port USB).
La carte Arduino Uno dispose de toute une serie de facilites pour communiquer avec un
ordinateur, une autre carte Arduino, ou avec d’autres microcontroleurs. L’Arduino Uno se
dispose de quatre UARTs (Universal Asynchrones Receiver Transmitter ou emetteur-
recepteur asynchrone universel en franqais) pour une communication en serie de niveau TTL
(5V) et qui est disponible sur les broches 0 (RX) et 1 (TX). Un circuit integre Atmega16U2
sur la carte assure la connexion entre cette communication serie de l’un des ports serie de
l’Atmega Uno vers le port USB de l’ordinateur qui apparait comme un port COM virtuel
pour les logiciels de l’ordinateur. Le code utilise pour programmer l’Atmega8U2 utilise le
driver standard USB COM, et aucun autre driver externe n’est p as necessaire.
Page 50
Projet de Fin d'Etude
a) Definition :
Le A4988 est un circuit electronique permettant de controler un moteur pas a pas avec
differents modes. Son interface de puissance est assuree par des pentes en H realise par des
MosFets N-channel.
b) Fonctionnement :
le driver l'A4988 permet non seulement de fournir la puissance necessaire a la commande des
bobines (hacheur integre) mais egalement de simplifier le pilotage et choisir facilement le
mode de pas a pas. Il offre ainsi non seulement la possibilite de travailler en pas complet et
demi-pas mais egalement deux autres modes : 1/4 de pas et 1 /8e de pas en autorisant des
positions intermediates dans un pas. Cela est rendu possible en modulant intelligemment la
quantite de courant dans les bobines du moteur pas-a-pas. Par exemple, piloter un moteur en
mode « 1/4 de pas » permet d'obtenir 800 microsteps (micro-pas) sur un moteur prevu pour
200 pas par revolution et cela en imposant 4 niveau de courants differents pour chacun des
micro-pas. Le driver est donc equipe d'un asservissement de courant pour gerer correctement
celui-ci dans les bobines. Un potentiometre permet de definir la limite de courant (ou
consigne de courant maximale) qui doit etre choisie en fonction de la charge entrainee par le
moteur et de la vitesse souhaitee.
Page 51
Projet de Fin d'Etude
Page 52
Projet de Fin d'Etude
a) Defintion :
Le shield CNC s’imbrique directement sur l’Arduino Uno. Il y a un emplacement prévu pour 4
contrôleurs moteurs du même type que le driver Motors stepper A4988.
Il suffit donc de clipser le contrôleur moteur et de connecter le moteur grâce aux pins situés à côté
du contrôleur pour simplifier le câblage est d’utiliser un shield CNC . Il est très pratique car il se
fixe directement sur l’Arduino.
Page 53
Projet de Fin d'Etude
6. Conclusion
Ce chapitre est un portail pour notre réalisation et conception matérielle. Ce travail nous a
permis de maitriser les options de notre carte arduino Uno avec circuit de commande et ses
caractéristiques afin de les exploiter d’une manière correcte... Une brève description, ainsi
qu'une figure montrant l’interconnexion des autres composants qui permettent de mener et
apprendre plus traiter de multiples techniques et périphériques entrées numériques et
analogiques. Nous avons sélectionné la carte Arduino Uno pour son aspect économique, sa
popularité et sa puissance de traitement. Ensuite nous avons présente aussi une étude sur les
circuits intègres de commande des moteurs pas à pas utilisées dans notre carte électronique.
Ce chapitre relevé ainsi une utilité majeure pour ce qui suit puisqu’il détaille des notions
exploitées au sein de la partie réalisation de notre projet
Page 54
Projet de Fin d'Etude
Chapitre V :
Programmation
Et Interface
Graphique
Page 55
Projet de Fin d'Etude
III.1. Introduction
Pour que la machine comprenne les instructions données par l’ordinateur de contrôle, il faut
que ces instructions soient transmises dans un langage de programmation spécial, qui est le
G-code, ou code-G. Les outils informatiques actuels de la chaine soft CAO permettent de se
passer de la connaissance pratique du langage, mais pour ceux qui voudraient éventuellement
faire des programmes simples directement avec un éditeur pour les envoyer dans le
contrôleur ARDUINO, il est important de connaitre quelques bases de ce langage. Inkscape
est un logiciel de dessin vectoriel qui offre une interface graphique de gestion des images
vectorielles.
III.2. Langue de contrôleurs numériques « G-code »
III.2.1. Description
Le G-code est le langage de programmation des machines numériques est basé sur des
lignes de code. Chaque ligne (également appelée un bloc) peut inclure des commandes pour
faire produire diverses actions à la machine. Plusieurs lignes de code peuvent être regroupées
dans un fichier pour créer un programme G-code.
Une ligne de code typique commence par un numéro de ligne optionnel suivi par un ou
plusieurs mots. Un mot commence par une lettre suivie d’un nombre (ou quelque chose qui
permet d'évaluer un nombre). Un mot peut, soit donner une commande, soit fournir un
argument à une commande. Par exemple, G1 X3 est une ligne de code valide avec deux mots.
G1 est une commande qui signifie déplaces toi en ligne droite à la vitesse programmée et X3
fournit la valeur d’argument (la valeur de X doit être 3 à la fin du mouvement). La plupart
des commandes G-code commencent avec une lettre G ou M. Les termes pour ces
commandes sont G-codes ou M-codes.
Page 56
Projet de Fin d'Etude
éventuellement encadré d’espaces blancs, ensuite, à la fin du fichier on doit trouver une ligne
similaire. Délimiter un fichier avec des % est facultatif si le fichier comporte un M2 où
un M30, mais est requis sinon. Une erreur sera signalée si un fichier a une ligne pour-cent au
début, mais pas à la fin. Le contenu utile d’un fichier délimité par pour-cent s’arrête après la
seconde ligne pour-cent. Tout le reste est ignoré.
Le langage G-code prévoit les deux commandes (M2 ou M30) pour finir un programme.
Le programme peut se terminer avant la fin du fichier. Les lignes placées après la fin d’un
programme ne seront pas exécutées. L’interpréteur ne les lit pas.
Une ligne de G-code typique est construite de la façon suivante, dans l’ordre avec la
restriction à un maximum de 256 caractères sur la même ligne.
L’éditeur de texte est une interface graphique sur l’ordinateur où l’opérateur peut traiter le
Page 57
Projet de Fin d'Etude
G-code à exécuter s’appelé « Inkscape ». Ensuite, ce texte doit être compilé, s’il y a des
erreurs ; l’opérateur est prévu afin de les corriger. Une fois compilé, le code est prêt à
envoyer a la carte Arduino Uno ou à simuler sur l’ordinateur
Inkscape est un puissant logiciel de dessin vectoriel à vocation "artistique", le dessin y est
enregistré sous forme d'équations de courbes (chemins) et non par des pixels comme les
images bitmap. Ce programme est vaste (mais très bien fait), les fonctions qui nous intéresse
dans le cadre de ce tutoriel c'est qu'il permet d'ouvrir un nombre très important de type
d'image (PS, DXF, PDF, SVG, PNG, JPG, BMP, XCF,...) et qu'il est capable de transformer
des images bitmap en image vectorielle [14].
"G-code tools" est une extension d'Inkscape permettant (entre autre) de générer du G-code à
partir des chemins d'une image vectorielle.
Page 58
Projet de Fin d'Etude
La solution la plus fonctionnelle que j'ai trouvée est une évolution de Universal Gcode
Sender (développé initialement par l'auteur de GRBL), qui est cours de développement par
Winder.
Il y’a deux mode utilise dans ce programme soit mode manuel ou mode automatique pour
commande le machine CNC, Le programme fournit spéciale boutons dans l'interface de base
qui contrôle chaque moteur séparément, Ce qui fonctionne ces boutons après choisi le mode
manuel.
Page 59
Projet de Fin d'Etude
Pour l’utilisation graphique : le mode automatique, Charge notre fichier G-code: dans
l'onglet "file mode" faites "browse" et sélectionnez fichier G-code précédemment créé. En
faisant "visualize" nous pourrons vérifier notre tracé et le chemin emprunté par l'outil: en
rouge les zone de travail (Z<0); en bleu les déplacements (Z>0).
Faire le zéro (le "home"): dans l'onglet "machine control" déplacez l'outil avec les
boutons X, Y et Z. Nous pouvons modifier le pas de déplacement en modifiant le "step size".
Une fois l'outil positionner là où vous souhaitez établir le zéro (en contact avec notre support)
Page 60
Projet de Fin d'Etude
cliquez sur "reset zéro". Pour lancer le travail: retournez dans l'onglet file mode et cliquez sur
"Send".
En mode manuel, l’opérateur peut commander les moteurs directement par les
boutons
Page 61
Projet de Fin d'Etude
Page 62
Projet de Fin d'Etude
En mode automatique, la carte Arduino Uno reçoit les instructions en G-code et les
exécute l’une après l’autre. Il y a plusieurs étapes pour achever cette tâche. Commençant par
la réception de l’instruction jusqu’à la commande des moteurs et de la tête. Si l’opérateur
clique sur le bouton « send » après le chargement de fichier G-code (soit texte ou image) dans
le programme de transfert, l’arduino fonctionne en mode automatique, le arduino entre dans
une boucle et prêt pour recevoir les données.
Page 63
Projet de Fin d'Etude
L’arduino fait l’enregistrement dans la mémoire RAM, Puis fait la compilation 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…. Enfin, le arduino envoi le mot ‘ »’ pour indiquer au PC qu’il est prêt à
recevoir l’instruction suivante. L’appui sur le bouton ‘cancel’ termine le dialogue.
III.5. Langage de programmation la machine CNC
Grbl est un micrologiciel libre développé sur Arduino pour contrôler des graveuses CNC
(Computer Numerical Control), i.e. des fraiseuses munis d'une tête mobile contrôlée en X, Y
et Z par un ordinateur. Grbl interprète du G-code (cf. plus bas) et déplace en conséquence
un outil sur 3 axes (X, Y et Z). Il comprend de multiples optimisations sur l'usage et le
déplacement des moteurs afin de gérer correctement les accélérations, les trajectoires...
Page 64
Projet de Fin d'Etude
La communication série est indispensable pour dialoguer avec Arduino puisque c'est le
mode de transmission utilisé pour communiquer avec la carte.
Page 65
Projet de Fin d'Etude
Cette partie est le cœur du programme, qui définit les actions à effectuer à partir le
traitement de code-G, qui contient plusieurs fonctions. L’arduino fait l’enregistrement dans la
mémoire RAM, Apres la compilation nous obtenons l’opcode (code de l’opération) et
évidement ses paramètres s’ils existent. Chaque opcode du code-G a une fonction spécifique.
void processCommand() {
int cmd = parsenumber('G',-
1); switch(cmd) {
case 0:
case 1: { // line
feedrate(parsenumber('F',fr);
line( parsenumber('X',(mode_abs?px:0))
+ (mode_abs?0:px),
parsenumber('Y',(mode_abs?py:0)) + (mode_abs?0:py),
parsenumber('Z',(mode_abs?pz:0)) +
(mode_abs?0:pz),
break;
}
Page 66
Projet de Fin d'Etude
case 2:
case 4: pause(parsenumber('P',0)*1000); break; // dwell
case 90: mode_abs=1; break; // absolute mode
case 91: mode_abs=0; break; // relative mode
case 92: // set logical position
position(
parsenumber('X',0),
parsenumber('Y',0),
parsenumber('Z',0));
break;
default: break;
}
cmd = parsenumber('M',1);
switch(cmd) {
case 17: motor_enable(); break;
case 18: motor_disable(); break;
case 100: help(); break;
case 114: where(); break;
default: break;
}
}
Conclusion
Page 67