22
TURBOCNC V3.1A VERSION FRANÇAISE 1.0 - MAI, 2004 LOGICIEL DE CONTROLE DE MACHINE CNC © 2004 DAK Engineering. All Rights Reserved

TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Embed Size (px)

Citation preview

Page 1: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

TURBOCNC V3.1A VERSION FRANÇAISE 1.0 - MAI, 2004

LOGICIEL DE CONTROLE DE MACHINE CNC

© 2004 DAK Engineering. All Rights Reserved

Page 2: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Sommaire:

0. Notice légale 1. Vue d'ensemble 2. Spécifications

1. Système requis et limitation 3. Configuration de votre machine 4. Format des fichiers G-codes 5. Usinage de pièces 6. Comment cela fonctionne 7. Améliorations futures 8. Syntaxe des G-Codes et M-code supportés 9. Système requis 10. Dépannage 11. Ressources et Lien 12. Fichier TURBOCNC.INI 13. Contacter l'auteur

Voir le fichier "CHANGES.TXT" pour connaître les nouveautés et autres corrections de bogues. Fichier en anglais. ------------------------------------------------------ 0. Notice légale: ------------------------------------------------------ Récapitulatif: 1- Quoi qu'il advienne ce sera toujours de votre faute 2- je n'ai pas d'argent 3- Pirater c'est voler 4- Et évidement, vous êtes d'accord! **ATTENTION** apparaît partout dans ce manuel. Cela ne signifie pas forcément que ce soit applicable dans toutes les situations voire que cela décrit complètement les risques possibles. Les machines CNC fournissent la possibilité d'être plus efficace dans votre travail. Vous êtes seul juge face aux risques encourus et je fais de mon mieux pour faire évoluer ce soft mais en aucune manière je pourrai être reconnu comme responsable des dommages matériels ou corporels liés directement ou indirectement à l'utilisation de TURBOCNC.

Page 3: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 1. Vue d'ensemble ------------------------------------------------------ Ce programme permet à un ordinateur standard de PC d'agir en tant que contrôleur de commande numérique par ordinateur en utilisant les ports parallèles comme E/S et le standard EIA G-code (RS-274). Je l'ai initialement écrit pour contrôler mon mini-tour 7x10 parce que à l'époque les logiciels commerciaux étaient à un prix prohibitifs (1997). Depuis lors j'ai ajouté des fonctionnalités pour le rendre plus flexible et facile à utiliser suite aux demandes de plus en plus grandes des utilisateurs. J'espère que les amateurs et professionnels le trouveront utile. TurboCNC est un shareware « open source ». Avec des frais d'enregistrement de $20, le code source vous sera envoyé par email et vous pourrez en faire ce que vous voulez excepter le redistribuer, vous pourrez même devenir une multinationale du CNC si vous le souhaitez. L'enregistrement vous place également en priorité sur la liste du support technique. Cependant le programme est opérationnel à 100% même s'il n'est pas enregistré car nous considérons que cela ne correspond pas à notre éthique. Envoyez le paiement à [email protected] via PayPal (www.paypal.com) ou mettez un chèque dans le courrier à l'adresse dans la section 11. Paypal vous permet de payer par carte bancaire en toute sécurité (serveur sécurisé). Si vous avez besoin d'aide n'hésitez pas à m'envoyer un email ou à nous rejoindre sur le forum de TurboCNC. L'information pour me contacter est dans la dernière section. Nous partons du principe que vous connaissez le fonctionnement d'une CNC. Le programme fonctionne sous DOS. Ceci signifie soit dans une fenêtre de compatibilité DOS (mais je doute que ce soit satisfaisant) soit en redémarrant votre PC en mode MS-DOS.

Page 4: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 2. Spécifications ------------------------------------------------------ Fonctionne sous DOS et utilise le port parallèle du PC Supporte 8 axes simultanés, angulaires ou linéaires Fréquence d'impulsions de 28 kHz sur un 486-66 PC (pour le déplacement d'un axe) Support de l'interpolation linéaire, circulaire et hélicoïdale, et le filetage sur un axe Modes de signaux pas/dir ou signal de phases (compatible avec les cartes Drigotti et MaxNC).

Support des contacts externes: Butées d'origine, arrêt d’urgence, fins de course Compensation du jeu par un rattrapage de jeu paramétrable Support de périphériques divers comme:

palpeur de détection ou entrée encodeurs, sortie pour deux pompes d'arrosage de liquide de coupe, Marche /Arrêt du moteur de broche, Auxiliaire PLC

Possibilité de régler la vitesse d'avance pendant l'usinage Gestion des cycles de tournage, perçages multiples et surfaçage Spécifications de 20 outils Mode incrémental/absolu en pouce ou millimètre, et sous-programmes Utilisation des commandes standard G-Code EIA-274D compatible avec les programmes CAM tel que DeskEngrave, VectorCAM et autres Fichier programme de taille illimitée grâce à une lecture ligne par ligne à partir du disque. Programmation "vieille école" ;) Code très compact (le logiciel au complet fait moins de 200K). ------------------------------------------------------ 2.1 Système requis et limitation ------------------------------------------------------ Les versions 3.0g et suivantes requièrent un 80386 ou mieux avec un co-processeur arithmétique. Les sous-programmes M60 et M62 peuvent avoir un maximum de 20 couches. La longueur des lignes de code ne doit pas excéder 179 caractères. 16 configurations binaires de phase maximum par axe. La précision ne peut pas être garantie en cas d’utilisation d’une distance par pas inférieure 0.000000001 unités. Aucun mouvement ne peut exiger plus de 2 milliards de pas sur n'importe quel axe. Les mouvements rapides ne peuvent dépasser 2000 pouces/min ou 30°/s. Bogues connus: Si la pièce prend plus de 24 heures à être usinée, le temps d'exécution affiché sera probablement incorrect. Pour contourner ceci, notez bien la date et l'heure qu'il est lorsque vous vous absenté pour longue pose café… Certains ordinateurs n'aiment pas ce logiciel…dans ce cas allez à la section résolution d'erreurs mais si cela ne résout pas le problème essayez sur une autre machine. Et si j'arrive un jour à mettre la main sur un de ces ordinateurs réfractaires je pourrai enfin comprendre d'ou vient le problème. Les symptômes sont souvent un fonctionnement très aléatoire de votre machine ou les moteurs ne fonctionnent pas ou encore des lignes de code ne sont pas interprétées.

Page 5: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 3. Configuration de votre machine ------------------------------------------------------ Ce programme supporte des signaux de sortie «pas/direction» ou «de phase» pour commander les moteurs pas à pas par les ports parallèles. Quand vous exécutez le programme pour la première fois, allez dans le menu de configuration de la machine à l'option 6 «Configuration de la machine». Cet écran vous permettra de configurer votre machine. Vous pouvez appuyez sur F1 dans la plupart des écrans pour obtenir une aide contextuelle. Entrez d'abord le nombre d'axes. Les configurations typiques sont 2 axes pour un tour, 3 axes pour de l'usinage. Si vous avez des «gadgets» supplémentaires, tels qu'un diviseur, une avance de barres ou autre, alors ajoutez ces derniers dans le nombre d'axes. Le nombre maximum d'axes dans cette version est 8, dans n'importe type d'usinage que ce soit angulaire ou linéaire. Alors sous l'option «Configuration des Axes», ajustez les paramètres pour la configuration du port parallèle. N'importe quelle lettre peut être utilisée comme indicateur d'axe excepté les suivantes (M,F,G,I,J,K,#,N,T,R,S). Les désignations standard pour le matériel de commande numérique par ordinateur sont X Y Z U V W pour les axes linéaires et A B C pour les axes angulaires. La résolution est la distance, en mm, pouces ou degrés, parcourue par l'axe à chaque pas. Choisissez un port pour contrôler l'axe. Tous les signaux de commande d’un axe doivent être sur le même port physique. LPT1 est habituellement à l'adresse $0378 et LPT2 est $0278, bien que les configurations puissent changer. En décrivant la carte des pas (l'option 6 sous «Configuration des Axes» si l'option 5 est réglée sur «Phase Drive», écrivez la de sorte que l'axe se déplace dans la direction positive à chaque étape suivante. Jusqu'à 12 configurations peuvent être entrées via ce menu, 16 si vous éditez manuellement le fichier ini. Exemple de carte des pas: 1) 1000XXXXXXXX 2) 0100XXXXXXXX 3) 0010XXXXXXXX 4) 0001XXXXXXXX Pour un moteur unipolaire de 4 phases en pas entiers sur les bornes 2-5 du port choisi. A chaque étape, un 1 envoie du courant sur la borne correspondante du port, un 0 n’enverra rien, et un X n’aura aucune incidence sur l’état de la borne. Différents circuits de commande directe des phases peuvent être contrôlés avec ce mode, on peut faire un peu de tout mais faites attention quand même. L’ordre des bornes pour un port est le suivant :

2 3 4 5 6 7 8 9 1 14 16 17 1 0 0 0 X X X X X X X X

Les bornes 1 14 16 et 17 sont commandées séparément des 8 autres donc il faut garder toutes les phases d’un même moteur sur un de ces 2 groupes de bornes. Les signaux «Pas/Direction» ne subissent pas ces restrictions.

Page 6: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Le menu «Configuration des vitesses» permet d'ajuster les paramètres de mouvement pour chaque moteur. Vitesse de démarrage est la plus grande fréquence de pas qui peut être appliquée à vos moteurs à l’arrêt. C’est aussi la vitesse à laquelle le moteur s’arrêtera en fin de décélération Vitesse Max est la cadence maximum de pas par seconde Accélération est en Pas/sec par seconde. Pour un moteur NEMA 34 bipolaire les valeurs initiales sont : Min: 500 Hz Maximum 7000 Hz Accel 3500 Hz/s La compensation de jeu utilise un algorithme non cumulatif et est appliquée au début d'un mouvement, pas à la fin. Voici un exemple qui commande un mouvement de la position 1 à 2 et retour à la position 1 et ce qui se produit exactement sur la machine. L’axe X commence à la position 0.000

Charge initiale ---| * |---

G00 X1 Charge initiale, déplace X à 1.0

déplacement à 1.0 ---|* |---

G00 X2 Départ X à 1.0 et déplacement à 2.0

déplacement à 2.0 ---|* |---

G00 X1 Retour X à 1.0

Compensation de jeu Retour à 1.0

---| *|--- ---| *|---

Le jeu mécanique ou "backlash" est aussi pris aux points d'inflexion des arcs et des cercles, et sur les axes angulaires. Les unités du jeu mécanique sont en mm, pouces ou degrés selon le type d'axe. La vitesse de compensation est égale à la vitesse de démarrage de l'axe compensé. Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu (choix 5). Une flèche vers le haut indique que le dernier déplacement était positif, une flèche vers le bas indique que le dernier déplacement était négatif et un tiret (-) indique que le rattrapage de jeu n’a pas été activé ou que l’axe n’a subi aucun déplacement depuis le démarrage. Le paramètre de largeur d'impulsion change la durée de l'impulsion du pas en mode pas/direction en utilisant une boucle de délais. Ceci permet le fonctionnement sur des ordinateurs très rapides, qui peuvent parfois sortir une impulsion si rapide que le circuit de commande des moteurs ne peut pas l'identifier. Les systèmes basés sur 486 et autres plus lent fonctionnent avec 0, mais les Pentiums fonctionnent mieux avec 5 ou plus. A vous d'expérimenter. Les E/S (entrées/sorties) supplémentaires sont facultatives. Si vous activez une d'elles, vous devez indiquer le port et la pin qui servira à cette fonction. Elles sont principalement utilisées pour la configuration des relais pour le liquide réfrigérant, torche à plasma, fil chaud pour découpe de mousse, etc. Pratique aussi pour le gros bouton rouge d’arrêt d’urgence. **ATTENTION** Dans certains pays, la loi oblige à avoir un arrêt d’urgence matériel. Ce bouton doit stopper tout déplacement en coupant l’alimentation des moteurs ou par tout autre moyen non logiciel. Vous pouvez améliorer le système en couplant ce contact à l’arrêt d’urgence logicielle de sorte que le programme s’arrête en même temps que la machine.

Page 7: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Un encodeur à quadrature peut être utilisé pour déplacer les axes en mode déplacement manuel Un palpeur peut aussi être utilisé, réglez le de manière à ce que l’état HAUT indique un contact Pour l’instant, le mode filetage n’accepte qu’une impulsion par tour de mandrin. Les expérimentations ont montré que c’était suffisant dans la plupart des cas. Le signal doit être le plus «propre» possible et actif pendant 10° par tour environ. Mettre à la masse la pin pour obtenir un état BAS, +5V pour obtenir un état HAUT. Si vous n'êtes pas certain des fonctions des pins vous pouvez utiliser le logiciel FKEYBIT.EXE, qui est inclus. Soyez sur d'utiliser cette version seulement, car elle a été compilée pour lire le port de la même manière que le programme de commande numérique par ordinateur. **ATTENTION** Il n'y a aucune sécurité logicielle qui contrôle que vous n'avez pas assigné deux bornes à la même fonction, ou avez nommé deux axes avec la même lettre, etc. Ceci permet d’établir quelques configurations créatrices, mais faites attention! Si vous voulez conserver les changements, sauver le fichier "ini" avec l'option 9. L'option 8 Recharger éliminera tous les changements que vous avez faits. Aucun changement ne sera pris en compte si vous ne sauvegardez pas avec l’option 9 Si vous avez plusieurs machines avec des configurations différentes, je suggère de mettre une copie de TURBO CNC dans un répertoire différent pour chaque machine. Tous les paramètres de configuration se trouvent dans le fichier TURBOCNC.INI. Lorsque la configuration est terminée, retournez au menu principal en pressant la touche <ESC>, puis la touche 4. Cela vous amène au menu de commande manuelle. Vous pouvez essayer le déplacement des axes pour vérifier les performances. Typiquement cela prend quelques essais pour obtenir les bons paramètres de mouvements.

Page 8: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

--------------------------------------------------------------------- 4. 4. Format des fichiers, Codes G et particularités --------------------------------------------------------------------- Le format d'un fichier de commande *.cnc doit être comme suit: {dakcnc3.0} - mettez les notes aléatoires ici {program start} G/M code ; commentaires ... M02 ; dernière ligne du programme Tout ce qui se trouve entre " {program start} " et la dernière ligne est exécuté par l'interpréteur de commande. Au-dessus et au-dessous de ceux-ci vous pouvez écrire vos propres commentaires. Des commentaires peuvent également être placés sur chaque ligne après un point-virgule comme ci-dessus. L'entête "{dakcnc3.0}" doit être présente à la première ligne du fichier. Ceci vous protège contre des fichiers CNC d'autres versions de contrôleur étant utilisées sans être vérifiés et adaptés. Voyez le fichier inclus SAMPLE.CNC. NOTES: - Utilisez seulement un code G ou M par la ligne. Ex : G17 G00 X0 Y0 Z0 = Le code G17 ne sera pas interprété - Les codes N (numéros de lignes) ne sont pas nécessaires excepté en utilisant des sous- programmes. Lors de l'utilisation des sous-programmes, mettez un numéro de ligne sur chacune des lignes d'appel et de cible. - Le branchement à un sous-programme perd le code G modal, mais pas les vitesses d’avance ni toute autre chose. - Les codes G et les vitesses (mots de F) sont modaux. - Les interpolations circulaires et hélicoïdales s'appellent en utilisant la notation de I et J, ou de R, pour n'importe quelle combinaison d'axes. (voir la section 8: Syntaxe). - Placez des commentaires après un point-virgule, par exemple: N010 G00 X0.000 ; commentaires ici La mise d'un point-virgule au début d'une ligne réalise une négation de la ligne. **ATTENTION** Tous les mouvements impliquant plus d'un axe sont interpolés simultanément. Même ceux impliquant l'axe Z. Sur quelques logiciels CNC, l'axe Z se rétractera toujours d'abord avant de déplacer X et Y. Pas ici! - il n'y a aucun sélecteur de plan, ni aucune limitation sur le nombre de cadrans de cercle dans l'interpolation circulaire ou hélicoïdale comprenant un plein cercle. - Parfois une petite erreur d'arrondissement sera présente à la fin d'une interpolation hélicoïdale ou circulaire. Si vous vous trompez en calculant I et J pour le mouvement, le problème sera aggravé.

Page 9: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

- Des axes angulaires sont toujours commandés de 0 à 360 degrés. Par exemple, si une table est à 10 degrés et que vous commandez un déplacement à 350 degrés, elle prendra le «long chemin». Si vous le commandiez à -10 degrés à la place, elle tournera à de -10 degrés par le «chemin court» et enregistrera alors la position actuelle comme 350 degrés. La commande d'un mouvement de +720deg fera tourner la table de deux tours pleins, mais la coordonnée finale demeurera sans changement puisqu'elle est toujours placée à quelque part entre 0° et 360° seulement. -Si vous utilisez les vitesses en mode IPR avec un code G95, utilisez le mot S pour ajuster la vitesse d'axe en RPM à partir duquel la vitesse de déplacement sera d'abord calculée. - Les distances métriques, vitesses, etc. sont en millimètre et mm/min ou mm/rev selon le cas. - Les délais (dwell) sont programmés en secondes de 1 sec. (G04 #1) à plusieurs heures. - La vitesse d’avance dans un mouvement interpolé (déplacement de plus d'un axe en même temps) est basé sur la distance réelle a couvrir par chacun des axes linéaires impliqués. S'il n'y en a aucun, alors la vitesse de déplacement est assignée au premier axe angulaire sur la liste (degrés/sec). - Les mouvements rapides avec de faibles accélérations peuvent perturber le contrôleur et donner des résultats bizarres, car une table d'accélération est produite pour chaque axe lors des mouvements multiaxes. Maintenez les accélérations aussi hautes que votre matériel peut supporter. - Utilisez une méthode matérielle pour remettre à l'état normal les interrupteurs de fin de course, car vous ne pourrez pas déplacer les axes avec le logiciel tant que ces interrupteurs ne donnent pas un contact normal. Leur but est d'empêcher d'atteindre les limites mécaniques de déplacement des axes. - Les mouvements interpolés très rapides peuvent produire des erreurs selon la vitesse de votre machine. Un symptôme typique est qu'un axe arrivera à destination au peu avant l'autre. Si ceci se produit, ralentissez un peu la vitesse avec les paramètres de mouvement.

Page 10: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 5. Usinage de pièces ------------------------------------------------------ Sous les menus d'usinage manuel et automatique, il y a une foule d'options pour usiner. Après chargement d'un fichier CNC (1, 1 à partir du menu Gestion des fichiers), utilisez le mode manuel pour placer l'outil sur la position (0) pour chaque axe par rapport à l'origine de la pièce à travailler. Voici comment vous pourriez employer les descriptions d'outil pour usiner une pièce à l'aide des plusieurs fraises: Mettez votre premier outil dans la machine, par exemple, celui que vous utilisez pour pointer la position initiale. Quelques machinistes avec qui je travaille utilisent un foret de petite dimension ou une tige à pointe conique. Soyez sûr que "OUTIL 0" apparaît sur la fenêtre d'état (deuxième ligne du bas). Employez les touches R et T pour changer la sélection d'outil au besoin. Déplacez maintenant l'outil vers le bas jusqu'à un point de référence sur votre pièce par exemple le coin de l'objet en utilisant le menu de commande manuelle (l'origine de la pièce). Mettez les coordonnées à zéro lorsque la position est atteinte en appuyant "0" pour chaque axe. Maintenant l'outil maître est placé. Si vous utilisez souvent une seul fraise vous pouvez usiner vos bruts à l'aide de cet outil (OUTIL 0) seulement. Beaucoup de gens travail ainsi. Pour le deuxième outil, tapez "T" pour passer au prochain décalage d'outil. La fenêtre d'état devrait maintenant afficher "OUTIL 1". Vous êtes maintenant dans un nouveau système de coordonnées pour l'outil n°1. Placez l'outil dans le mandrin et ajustez de nouveau la position 0 pour cet outil. Les décalages de position de cet outil sont automatiquement enregistrés par rapport à l'outil principal. Utilisez les touches R et T en mode manuel et déplacez-vous ici et là pour vous en convaincre. Maintenant, supposons que vous utilisez un foret de départ comme outil principal et un foret régulier de 9,5mm comme outil #1. Voici comment vous utiliseriez cela dans le fichier CNC: ... T0 Sélection de l'outil 0 ... Déplacer à la position requise et percer un trou de départ ... ... Retrait du trou M00 ; Pause pour permettre de poser l'outil #1 T1 ... Déplacer à la même position et percer ... etc Cette fonction est puissante, parce que vous n'avez pas à vous inquiéter qu'un outil soit 12mm plus long que l'autre quand vous écrivez le programme. Une fois que tous vos outils sont configurés, je recommande que vous sauvegardiez les décalages (Menu descriptions d'outil) en utilisant l'option 6 dans le menu de gestion des fichiers puisqu'il faut du temps pour tous les ajuster à zéro. Typiquement, sur une fraiseuse vous ajusterez seulement l'axe Z d'un outil à l'autre, mais sur un tour vous devez vous occuper de Z et de X. Par conséquent, les décalages d'outil fonctionnent sur chaque axe pour une plus grande flexibilité. Note : Ne jamais entrer le code de changement d’outil sans avoir entré une code M00 ou M06 devant au cas ou un G code précédent serait encore actif.

Page 11: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Vous pouvez manuellement exécuter du G/M code à partir du menu Ligne par ligne (MDI), qui est automatiquement associée au fichier MDI.CNC et horodatée. Tous les codes sont supportés an mode MDI excepté les sous-programmes. Sélectionnez l'option Usinage Automatique à partir du menu principal. L'option "Mode pas à pas" sert à tester un nouveau programme une ligne à la fois. Vous pouvez interrompre l'exécution de la commande à tout moment en pressant la touche <ESC>. L'option de vérification du parcours d'outils permet comme son nom l'indique de vérifier le fichier G-code. Il permet également de connaître une estimation de la durée d'usinage. L'option "Production avec opérateur" est celle couramment utilisée pour la fabrication pièce par pièce, et requiert un opérateur pour la fixation de chaque pièce, le lancement de l'usinage, etc. Un compteur de cycles d'exécution est activé et vous permet de connaître le nombre de pièces fabriquées, jusqu'à 2 milliards… L'option "Production autonome" exécute le fichier CNC sans interruption pour un certain nombre de cycles que vous déterminez au départ. C'est l'idéal, si vous avez le matériel adéquat pour faire le chargement et déchargement automatiques des bruts et le changement automatique de fraise. Les codes G pour commander les robots doivent êtres considérés (et configurés) comme des axes supplémentaires et doivent êtres inclus dans le même programme que le fichier d'usinage de la pièce. C'est la raison pour laquelle j'ai inclus autant d'axes de mouvement (jusqu'à 8 axes). Un bouton d'arrêt d'urgence et des interrupteurs de fin de course peuvent être raccordés aux ports parallèles en tant qu'entrées logiques afin de pouvoir arrêter immédiatement le déplacement des axes en cas de problèmes. Vous avez l'option, après un arrêt d'urgence, de continuer ou d'interrompre complètement le programme ou d'utiliser le Mini-Jog. Cela peut vous servir pour des choses simples, comme un outil desserré ou quelque chose que vous avez notés juste à temps. Dans le mode Mini-Jog seules les touches flèches, +, -, a, b, n, d, s, x, y, z, # sont actives. Elle servent respectivement au déplacement des axes (flèches, + et -), l'activation des pompes de liquide de coupe (a et b), activer les moteurs (n et d), marche/arrêt du moteur de broche (s), la mise à zéro de chaque axe (x, y et z), la mise à zéro de tous les axes (#). Appuyez sur G pour sortir du mode Mini-Jog. Vous pouvez également utiliser <ESC> comme touche d'arrêt d'urgence, et corriger la vitesse d'avance en utilisant les touches plus grand/plus petit (<,>). Soyez informé, que la correction de la vitesse d'avance pendant un déplacement est risquée. Ainsi il vaut mieux faire la correction en fin de mouvement voire pendant l'arrêt ou une pause. La fenêtre d'état à droite de l'écran montre les positions d'axes, l'activation des pompes A ou B d'arrosage de liquide de coupe, Marche / Arrêt du moteur de broche, l'outil courant et les modes de déplacement, corrections de vitesses d'avance en %, et ainsi de suite. Généralement, ce qui est important est affiché en blanc, tandis que les données de moindre importance ou par défaut apparaissent en brun pour maintenir la clarté des information utiles. Les positions des axes sont mises à jour SEULEMENT à la fin d'un mouvement afin d'optimiser la vitesse et la phrase "En mouvement" apparaît pendant les déplacements.

Page 12: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 6. Comment cela fonctionne ------------------------------------------------------ Au niveau logiciel, le contrôle des mouvements peut paraître assez simple mais pourtant très complexe si l'on veut bien le faire. Je vous invite à regarder le code source de TurboCNC (pour gens enregistrés seulement) si vous êtes intéressé par le fonctionnement en détail. Le code est écrit en TurboPascal7 et en assembleur x86 et contient actuellement environs 18 000 lignes de code. Ce que vous verrez est essentiellement les menus, les écrans d'aide, le code de gestion des entrées/sorties : 80%, et le code d'interprétation des commandes de mouvement : 20%. Déplacer un seul axe est facile. Une fois qu'il est établi à combien de pas vous allez et à quelle vitesse d'avance vous voulez allez, vous activez le premier pas. Activez le deuxième plus rapidement, et le troisième plus rapidement en suivant un algorithme d'accélération qui produit une vitesse linéairement croissante dans le temps (le mouvement trapézoïdal). Quand vous y êtes gardez une trace du nombre de pas qu'il faut effectuer pour revenir au point de départ à la vitesse initiale. Et commencer à ralentir de la même manière lorsque vous êtes proche du point d'arrivée. Simple n'est-ce pas? Le grand problème lors de l'exécution de ce simple déplacement est d'obtenir un temporisateur de précision pour effectuer des pas très rapides avec précision sans surcharger l'ordinateur. TurboCNC utilise le timer Tick de la carte mère 1.1193180 MHz pour calculer les impulsions par pas. Ce code utilise un temporisateur qui compte les impulsions de la puce 8253/8254 pour établir un temps écoulé en microsecondes. Je ne citerai pas de noms, mais j'ai trouvé que les mouvements de TurboCNC étaient plus fluides que certains programmes concurrents, essentiellement parce que cet algorithme a été écrit en assembleur. L'interpolation linéaire est peu une plus compliquée, mais puisqu'elle est linéaire, tous les axes vont accélérer et ralentir "en synchronisation". Un axe principal est désigné pour contrôler les accélérations. Déterminer exactement comment chaque axe peut accélérer et s'assurer que chaque axe peut suivre la cadence occasionne beaucoup de calcul, ainsi une table est construite d'avance pour définir toutes les cadences avant d'effectuer le mouvement. Lors du mouvement, après chaque pas, chaque axe consulte la table et trouve la cadence du prochain pas. Mon algorithme d'interpolation circulaire et hélicoïdal est assez spécial. Un point imaginaire est balayé dans l'espace par un vecteur constamment mis à jour. Toutes les fois où la position d'outil est à plus d'un pas de ce point pour n'importe quel axe, elle est déplacée d'un pas pour s'y rapprocher. La résolution du balayage est basée sur la résolution des axes impliqués de sorte que peu de temps de calcul est nécessaire. L'interpréteur de commandes G/M est simple également. Il analyse une ligne en petits morceaux selon les espaces qu'elle trouve dans la ligne, puis examine le premier caractère de chaque morceau. Si c'est une lettre identifiée, alors le reste du gros morceau devrait être un nombre et est assigné à une variable en conséquence. Une procédure est appelée selon la valeur de la variable G ou M. Dans la version 3.00f, j'ai ajouté quelques étapes de prétraitement pour recevoir les fichiers créés par d'autres programmes CAM qui corrigent un peu leur syntaxe pour ne pas bloquer mon interpréteur.

Page 13: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 7. Améliorations futures. ------------------------------------------------------ Aucun de mes projets n'est jamais fini! Voici une liste de quelques améliorations que je voudrais apporter dans version 4 de ce programme. Bon nombre d'entre elles sont des suggestions d'utilisateurs. - interface utilisateur avec menus et souris (spécialement pour la gestion de fichier) - Editeur de code intégré - Interactivité entre l'usinage et le G-code - Visualisation du parcours d'outil - Compensation de rayon - Améliorer l'aide contextuelle - Fonctions et générateur de courbes paraboliques f(x) - Ajout de la gestion des variables et boucles dans le code - Compatibilité avec d'autres types de fichier d'entrée (TurboCNC, Fanuc, NCCpro, HPGL, etc.) - Macros de gravure de lettre et gestion de polices de caractères - Système "Watch-dog" anti-crash intégré - Support des PET "PLC Emulator Thingy" - Détection automatique de surchauffe - Rappel des 5 dernières commandes - Affichage de plus de 3 lignes de code - Gestion des limites de travail de la machine par logiciel.

Page 14: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 8. Syntaxe des Codes G et M supportés ------------------------------------------------------ Liste des codes G et M supportés, des codes supplémentaires et de leurs significations:

• G00 Mouvement rapide Déplacement aux coordonnées indiquées aussi rapidement que possible en utilisant l'interpolation. Exemple: G00 X12 Y3 ;Déplacement rapide à (X=12 et Y=3)

• G01 Mouvement à vitesse contrôlée Déplacement aux coordonnées indiquées en utilisant le paramètre de vitesse d’avance programmé en utilisant l'interpolation. Exemple: G01 X12 Y3 F300 ;Déplacement à (X=12,Y=3) à 300 mm/min

• G02 Interpolation circulaire horaire Déplacement d'arc circulaire dans le sens des aiguilles d'une montre et dont le centre est défini par les coordonnées signées I et J. Exemple: G02 X1.0 Y1.0 I0.0 J0.0 F200.0 ;Arc à (1,1) avec le centre à l'origine Cela déplacera du point actuel à (X=1,Y=1) en suivant un arc avec son centre à (0.0) à 200 mm/min. I est le point central pour le premier axe sur la ligne (X dans ce cas-ci) et J est le point central pour la seconde (Y dans ce cas-ci). Si la destination est identique à l'origine, un plein cercle sera décrit par le mouvement d'outil. Il est aussi possible d'utiliser une autre syntaxe: Soit de définir le rayon de l'arc et les points de destination seulement: G02 X1.0 Y1.0 R25 ;Arc de rayon 25 à (X=1,Y=1) Ceci dirige l'outil à partir de la position actuelle à la position (X=1, Y=1) avec un rayon d'arc de 25 mm. L'utilisation d'un rayon négatif produit un arc de plus de 180 degrés entre les deux points, lorsque R est positif le rayon d'arc produit est de 180 degrés ou moins. Le programme stoppera avec un avertissement si vous avez un rayon qui est impossible.

• G03 Interpolation circulaire anti-horaire G03 est semblable à G02 à l'exception du sens de rotation de l'arc.

• G04 Pause Interrompt l'exécution pendant un nombre de nombre entier de secondes.

Page 15: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Exemple: G04 #6 ;pause de 6 secondes Attention!! N'utilisez pas G04 pour changer d'outil, Cela prend souvent plus de temps que vous ne le pensez... Utilisez M00 à la place.

• G70 Mode pouces Définit les unités de distance et de vitesse en pouces.

• G71 Mode millimètres Définit les unités de distance en millimètres.

• G72 Interpolation circulaire hélicoïdale horaire Comme G02, mais permet à un troisième axe de voyager linéairement en même temps. Exemple: G72 X1.0 Y1.0 Z125 I0.0 J0.0 F200.0 ; Mouvement hélicoïdal Cette ligne déplace du point actuel à (X=1,Y=1) dans un arc horaire avec son centre à (X=0,Y=0) à 200 mm/min. Pendant ce temps, l'axe Z se déplacera linéairement jusqu'à Z=125. La syntaxe alternative en utilisant R (rayon) est applicable aussi comme G02.

• G73 Interpolation circulaire hélicoïdale anti-horaire Semblable à G72 à l'exception du sens de rotation.

• G77 Cycle de fraisage linéaire Coupe à une profondeur définie en plusieurs passes d'épaisseur déterminée par la valeur de I. Exemple: G77 Z-12.50 X25.0 I-0.50 F30 ; Cycle de fraisage Cette commande coupe de la position de départ jusqu'à X=25 aller-retour à 30 mm/min en baissant Z de 0.50 mm à chaque passe jusqu'à atteindre la position Z finale de -12.50 mm Le signe de I est important, si I est positif, Z va augmenter à chaque passe. Pour un fraisage, normalement I est négatif pour faire descendre Z à chaque passe. Si la position finale de Z n'est pas un multiple parfait de I ce n'est pas grave, le logiciel va faire la dernière coupe plus mince.

• G78 Cycle de perçage par étape Déplacement à vitesse contrôlée par étapes d'un axe jusqu'à la position finale suivit du retour à la position d'origine en vitesse rapide. Exemple: G78 Z-20.00 I-1.0 F20 ; Cycle de perçage Cette ligne ordonne à l'axe Z de partir de sa position actuelle jusqu'à Z=-20 à une vitesse de 20 mm/min par étapes de -1 mm à la fois et de se rétracter à chaque fois. Le signe de I doit être le même que la direction de coupe.

Page 16: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

• G90 Mode de coordonnées absolues

Commande au programme d'interpréter les commandes de positions de manière absolues. (Toujours par rapport au point d'origine)

• G91 Mode de coordonnées relatives Commande au programme d'interpréter les commandes de positions de manière relative à la position de départ.

• G94 Sélection de vitesse IPM Sélectionne le mode de vitesse linéaire de déplacement en po/min ou mm/min selon G70/G71

• G95 Sélection de vitesse IPR Sélectionne le mode de vitesse angulaire de déplacement en po/tour ou mm/tour selon G70/G71 Soyez s˚r d'ajuster le paramètre "S" en appelant cette fonction!

• M00 Arrêt automatique Stoppe le programme jusqu'à ce que l'opérateur appuie sur une touche.

• M01 Arrêt optionnel Même fonction que M00, mais peut être désactivé par les menus du logiciel.

• M02 Fin du programme Arrête l'exécution du programme. Ce doit être la dernière ligne du programme

• M03 Mise en marche de la broche sens horaire Active une sortie (si définie) pour mise en marche horaire du mandrin.

• M04 Mise en marche de la broche sens anti-horaire Active une sortie (si définie) pour mise en marche anti-horaire du mandrin.

• M05 Arrêt du mandrin Désactive les sorties (si définies) de mise en marche du mandrin.

• M06 Changement d’outil Pause avec demande de changement d’outil : M06 T1 = changer pour l’outil 1

• M07 Liquide de refroidissement A à ON Active le relais A.

Page 17: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

• M08 Liquide de refroidissement B à ON Active le relais B.

• M09 Arrêt du liquide de refroidissement Désactive les relais A et B.

• M60 Appel d'un sous-programme Saute à un numéro de ligne du programme et lors du retour, continue à la ligne suivante. Exemple: N020 M60 #10 ;Saute à la ligne 10 Utilisez un code N (pour numéroter la ligne) lors de l'appel d'un sous-programme.

• M62 Retour d'un sous-programme Reprend l'exécution du programme à la ligne suivante du plus récent code M60 exécuté. (Voir le fichier SAMPLE.CNC pour un exemple de sous-programme).

• Caractères de paramètres de commande N Numéro de ligne F Vitesse d’avance I Paramètre d'interpolation, 1er axe J Paramètre d'interpolation, 2eme axe K Paramètre de pas de filet T Compensation de taille d'outil R Rayon d'arc S paramètre de vitesse du mandrin # Temporisation ou paramètre de sous-programme Voir le fichier sample.cnc pour des exemples de codes en action.

Page 18: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

-------------------------------------------------- 9. Suggestions de ressources et liens -------------------------------------------------- Les ressources sur la commande numérique par ordinateur abondent. Quelques-uns de mes liens favoris: Machinery's Handbook - Industrial Press. Un magazine indispensable couvrant beaucoup d'aspects de l'usinage, de la commande numérique par ordinateur, et de la métallurgie. http://www.yahoogroups.com/CAD_CAM_EDM_DRO Un forum de discussion consacré aux machines de commande numérique par ordinateur. http://www.geckodrive.com Source de moteurs pas à pas et de circuit de commande http://microsystemsgeorgia.com/cnc.htm Lexique des termes CNC http://www.dakeng.com Le site de TurboCNC La version française a été réalisée en mai 2004 par Harry All, JB Dubois et Aerobscure. Voici quelques liens intéressant en français: Télécharger TURBOCNC version française 3.1a FR: http://turbocnc.fr.free.fr/turbocnc_fr.zip Contact pour les corrections:[email protected] Groupe de discussion de Turbo Cnc version française: Pour s'inscrire: [email protected] Pour vous désabonner: [email protected] Mailing List US de Turbocnc: Pour s'inscrire: [email protected] Pour vous désabonner: [email protected] Convertisseur DXF 2D vers GCODE (freeware - fourni avec le source en C++). http://www.dakeng.com/ace.zip Environnement de développement de TURBOCNC, lui aussi en freeware: Turbo Pascal V7 de Borland http://wapics.free.fr "cnc - fonderie - outillage - moteurs LRK " http://aerobscure.free.fr "les pionniers de l'aviation avant 1914" Le site pour créer sa machine CNC et des amateurs de modélisme: http://cnc25.free.fr http://jazial.free.fr/cnc/ La page de JB DUBOIS

Page 19: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------ 11. Dépannage -------------------------------------------------------- Si le programme tombe en panne quand vous essayez d'effectuer des déplacements, vérifiez ceci: - Avez-vous défini une vitesse de déplacement nulle par distraction? - Est-ce que les ports parallèles sont bien configurés? - L'accélération est-elle placée à zéro? - La syntaxe des commandes est-elle correcte? - Sautez-vous à un sous-programme qui n'existe pas dans votre fichier G-code? Si les moteurs pas à pas perdent des pas, ralentissez les paramètres de vitesse maximum (3500 par défaut), d'accélération (1500 par défaut) et démarrage (500 par défaut). S'ils vibrent de façon bizarre ou partent parfois à l'envers, augmenter la vitesse de départ afin de passer la bande de résonance. Vérifiez aussi la séquence des phases et essayez de varier le paramètre de largeur des impulsions. Si d'autres comportements bizarres se produisent et que vous pouvez les reproduire et les décrire, alors envoyez mois votre fichier INI et CNC avec les explications à [email protected] et je ferai ce que je peux... Certains de vous ont été très bons pour trouver des problèmes, et je vous en remercie.

Page 20: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

----------------------------------------------------- 12. TurboCNC.INI fichier par défaut ----------------------------------------------------- [General] NumberOfAxes=3 Metric=True Monochrome=False MDI_Filename=mdi.cnc EndSound=STANDARD ListDir=C:\CNC\ ListExt=.CNC ToolDir=C:\TOOL\ ToolExt=.TL ReverseDelay(ms)=0 TimerMode=STANDARD [AXIS1] Designator=X StepIncrement= 3.93700787401575E-0004 IsLinear=True IsStep/Dir=True PortAddress=$378 StepPin=4 IsActiveLow=True Pulsewidth=0 DirPin=5 LowIsPositive=True Acceleration= 1.50000000000000E+0003 StartSpeed= 5.00000000000000E+0002 MaxSpeed= 3.50000000000000E+0003 ABSPrescale= 1.00000000000000E+0000 HomePosition= 0.00000000000000E+0000 HomeInPositiveDir=False Motor Resolution= 200 Leadscrew Pitch= 4.0 Controller Microsteps= 2 Gear Reduction= 1.0000 [AXIS2] Designator=Y StepIncrement= 1.00000000000000E-0004 IsLinear=True IsStep/Dir=True PortAddress=$378 StepPin=2 IsActiveLow=True Pulsewidth=0 DirPin=3 LowIsPositive=True Acceleration= 1.50000000000000E+0003 StartSpeed= 5.00000000000000E+0002 MaxSpeed= 3.50000000000000E+0003 ABSPrescale= 1.00000000000000E+0000 HomePosition= 0.00000000000000E+0000 HomeInPositiveDir=False Motor Resolution= 200

Page 21: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

Leadscrew Pitch=20.0 Controller Microsteps= 1 Gear Reduction= 1.0000 [AXIS3] Designator=Z StepIncrement= 1.00000000000000E-0004 IsLinear=True IsStep/Dir=True PortAddress=$378 StepPin=6 IsActiveLow=True Pulsewidth=0 DirPin=7 LowIsPositive=True Acceleration= 1.50000000000000E+0003 StartSpeed= 5.00000000000000E+0002 MaxSpeed= 3.50000000000000E+0003 ABSPrescale= 1.00000000000000E+0000 HomePosition= 0.00000000000000E+0000 HomeInPositiveDir=False Motor Resolution= 200 Leadscrew Pitch=20.0 Controller Microsteps= 1 Gear Reduction= 1.0000 [JogIncInch] 0= 1.00000000000000E-0004 1= 5.00000000000000E-0004 2= 1.00000000000000E-0003 3= 5.00000000000000E-0003 4= 1.00000000000000E-0002 5= 5.00000000000000E-0002 6= 1.00000000000000E-0001 7= 5.00000000000000E-0001 8= 1.00000000000000E+0000 9= 5.00000000000000E+0000 [JogIncMM] 0= 1.00000000000000E-0003 1= 5.00000000000000E-0003 2= 2.00000000000000E-0002 3= 1.00000000000000E-0001 4= 1.00000000000000E+0000 5= 5.00000000000000E+0000 6= 1.00000000000000E+0001 7= 2.54000000000000E+0001 8= 5.00000000000000E+0001 9= 1.00000000000000E+0002 [POSITION] NumberOfAxes=3 1= 0.00000000000000E+0000 2= 0.00000000000000E+0000 3= 0.00000000000000E+0000 [LASTBACKLASH] 1=0 2=0 3=0

Page 22: TURBOCNC - jazial.free.frjazial.free.fr/cnc/Manuel de TurboCNC.pdf · Dans le menu d’usinage manuel, il est possible d’activer l’affichage de l’état du rattrapage de jeu

------------------------------------------------------- 13. Contacter l'auteur ------------------------------------------------------- J'essaie de répondre aux courriels rapidement la plupart du temps. Mon adresse courriel est : [email protected] Ou si vous préférez le courrier traditionnel : Dave Kowalczyk 4904 Glenwood Ave Everett WA 98203 USA Les paiements peuvent être adressés par PayPal à : [email protected] ou par chèque à l'adresse ci-dessus (Chèque en dollars) J'espère que vous apprécierez l'utilisation de ce programme! Si il y a des fonctionnalités que vous voudriez voir dans une version future de ce programme, n'hésitez pas à m'en faire part. Jusque ici j'ai intégré à peu près tout ce que les gens m'on demandé.