Outils d'utilisateurs

Outils du Site


machines:fraiseuses:proxxon_ff500_cnc

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

machines:fraiseuses:proxxon_ff500_cnc [2019/03/08 16:06]
leopold_poq Fausse alerte
machines:fraiseuses:proxxon_ff500_cnc [2019/12/24 18:29] (Version actuelle)
brnrd77
Ligne 1: Ligne 1:
 +====== Proxxon FF 500 CNC ======
 +{{ :machines:fraiseuses:ff500.jpg?300|}}
 +Manuel (en) : {{:machines:fraiseuses:proxxon_ff500_cnc:ff_500_cnc_commissioning_manual.pdf|commissioning manual}}
  
 +Manuel (fr) :[[https://github.com/M-BELLAHCENE/cnc-proxxon-milling/raw/master/G-Code.french.pdf|G-Code Proxxon FF500 CNC]]
 +
 +
 +
 +====== Utilisation ======
 +
 +  * Dimensions de la zone usinable ~ 280x100 mm
 +
 +Quand vous travaillez sur la machine commencez par exécuter ces 5 lignes :
 +
 +  * G01 F200 => Vitesse au maxi
 +  * G76 => Envoyer la machine sur ses capteurs d'origine
 +  * G54 => Définir le WNP (origine programme) sur l'origine machine
 +  * G01 F5 => Ramener l'avance de travail à (5*6=30) 30mm/min
 +  * G91 => Passer en mode relatif
 +
 +Prêtez une grande attention au mode de déplacement : 
 +En mode relatif (directive G91), quand vous tapez G00 X10 la machine déplacera l'outil de 10mm vers la droite (en fait la table de 10mm à gauche).
 +
 +En mode absolu, il arrive que vous ne sachiez pas du tout ou un G00 X10 vous amènera; ça peut très bien commander un déplacement bien plus important dans un sens inattendu.
 +
 +  * En mode relatif la machine part de là ou elle est.
 +  * En mode absolu elle part du WNP, l'origine programme définie par la directive G54.
 +
 +
 +
 +<note warning>Il est fortement conseillé de taper G91 pour passer en mode relatif avant d'ordonner le premier déplacement en mode manuel depuis la console de commande. </note>
 +
 +
 +==== Génération du gcode====
 +
 +Le langage supporté pas la machine n'est pas forcement exactement ce à quoi on a l'habitude avec grbl/EMC2 et Cie. il faut donc s'adapter un peu : 
 +  * :WARN: La vitesse d'avance //(commande ''F'' )// n'est pas définie en mm/min comme à l'habitude mais en 0.1mm/s: On divise la vitesse de coupe en m/min par 6 pour avoir des mm/s (6m/min => F1)
 +<note important> erreur dans la phrase précédente : ce n'est pas la "vitesse de coupe", c'est la "vitesse d'avance",... divisé en mm/min (F) pour avoir des 0,1 mm/s (6 mm/min)</note>
 +  * L’extension des fichier doit être ''.knc''
 +  * Un fichier .knc est un fichier texte ASCII sans BOM et les accents et autres caractères étendus sont fortement déconseillés.
 +  * La machine est limité à certain codes, ces codes ne s'utilisent pas toujours de la même façons qu'avec les autres logiciels de pilotage ([[#gcode|voir la liste des codes plus bas]])
 +
 +Pour calculer les vitesses d'usinage il est possible d'utiliser la [[http://carrefour-numerique.cite-sciences.fr/fablab/tools/calculatrice_vitesses_ff500/|calculatrice de vitesses de coupes]] //(**⚠️ Attention : ** ces vitesses restent indicatives)//
 +
 +Il y a plusieurs possibilités pour générer du GCode selon les besoin //(cf. section [[logiciels:index#fraiseuse_cnc|logiciels]] du wiki)//. Les logiciels suivants on déjà été utilisés avec cette CNC : 
 +  * Inkscape et l’extension "Programmation de commande numérique" : Découpe, gravure "2D" 
 +  * [[logiciels:heekscad|HeeksCNC]] : Découpe, gravure de formes/surfaces 3D. //Voir comment [[#heekscnc|personnaliser heekcnc pour géner du code compatible]].//
 +  * [[logiciels:jscut|jscut]] : Gravure découpe ou "pocket" sur la base de fichiers SVG Il suffit d'enregistrer le gcode dans un fichier avec l'extention '''.knc''', le gcode de jscut semble être directement compatible avec nccad.
 +
 +
 +
 +
 +=> Exemple concret d'utilisation de la machine : Fabrication d'un [[projets:ecrou_fixation_t]] : 
 +
 +
 +===== Outils =====
 +==== Pinces ====
 +Les pinces //(Type ER20 / DIN 6499-B)// disponibles sont de diamètres : ∅12 ∅10 ∅8 ∅6 (mm)
 +
 +
 +
 +===== HeeksCNC =====
 +Création d'un script custom permettant de génerer des fichier qui fonctionnent avec nccad//(le logiciel de pilotage de la proxxon)//.
 +  * Active la broche des le début du script.
 +  * Désactive un certain nombre de commandes non supportées par le logiciel (vitesse de broche, ...)
 +  * Désactive les changement d'outil car non supportés par le logiciel => :WARN: il faudra donc générer un fichier gcode par outil
 +    * La commande ''M05'' peut peut être donner la possibilité de mettre la machine en pause pour changer l'outil et refaire le Z. //A tester !//
 +
 +Ajouter cette ligne dans ''/usr/share/heekscnc/machines.xml''
 +<code xml>
 +<Machine post="knc" reader="iso_read" suffix=".knc" description="Proxxon/nccad KNC" output_tool_definitions="False" output_h_and_d_at_tool_change="False" output_g43_on_tool_change_line="False" output_internal_coolant_commands="False" />
 +</code>
 +
 +et créer ce fichier dans le répertoire ''/usr/lib/heekscnc/nc'' : 
 +<code python kcn.py>
 +
 +import nc
 +import emc2b
 +
 +class NoAddress():
 +    def __init__(self, *args, **kwargs):
 +    self.str = None
 +        
 +    def set(self, *args,**kwargs):
 +        pass
 +        
 +    def write(self, *args,**kwargs):
 +        return ''
 +        
 +class Creator(emc2b.Creator):
 +    def __init__(self):
 +        emc2b.Creator.__init__(self)
 +        self.s = NoAddress()
 +        self.can_do_helical_arcs = False
 +        self.output_tool_definitions = False
 +        
 +    def COOLANT_OFF(self): return('')
 +    def COOLANT_MIST(self): return('')
 +    def COOLANT_FLOOD(self): return('')
 +    
 +    def TOOL(self): return('')
 +    def TOOL_DEFINITION(self): return('')
 +    
 +
 +    def imperial(self):
 +        raise RuntimeError('Machine only support metric mode')
 +
 +    def metric(self):
 +        self.fmt.number_of_decimal_places = 3
 +    
 +    
 +    def set_plane(self, plane):
 +        if (plane != 0) : 
 +            raise RuntimeError('Machine only support XY plane mode')
 +            
 +    def polar(self, on=True):
 +        if (on) :
 +            raise RuntimeError('Machine does not support polar mode')
 +            
 +    def set_temporary_origin(self, x=None, y=None, z=None, a=None, b=None, c=None):
 +    raise RuntimeError('Machine does not support temporary origin')
 +   
 +   
 +    def PROGRAM_END(self): return( 'M02')
 +    
 +    def program_begin(self, id, comment):
 +        self.write( '(GCode adapted to .knc file for proxxon milling machine.)\n')
 +        emc2b.Creator.program_begin(self, id, comment)
 +        self.write( '\n(Starting Spindle)\n' )
 +        self.write('M10 O6.1\n')
 +        
 +    def tool_change(self, id):
 +        if self.output_comment_before_tool_change:
 +            self.comment('tool change to %s - %s' %( self.tool_defn_params[id]['name'], self.z_for_g53))
 +            
 +            self.write('M05\n')
 +            self.write('G54 Z0')
 +            
 +nc.creator = Creator()
 +</code>
 +
 +Puis,après avoir redémarré heekscad, sélectionner la machine ''Proxxon/nccad KNC'' //(clic droit sur "Programme CN" dans l'arbre de gauche, puis "Éditer")//
 +
 +
 +
 +===== LES AXES =====
 +
 +{{machines:fraiseuses:ff500-axes.jpg}}
 +
 +
 +Il n'y a aucune manette de contrôle.
 +
 +Que ce soit lors de la mise en place ou lors du nettoyage vous devrez passer par la console de commande pour ordonner un mouvement à la machine en G-Code.
 +
 +Déplacements machine en relatif :
 +
 +^ Axe ^ Positif ^ Négatif ^
 +| X | Table vers la gauche (Outil à droite) | Table vers la droite (Outil à gauche) |
 +| Y | Table vers vous (Outil vers le fond) | Table vers le fond (Outil vers vous) |
 +| Z | Outils vers le haut | Outil vers le bas |
 +
 +En absolu on part du WNP (G54), il n'y a donc aucune garantie quand au sens de déplacement.
 +
 +Vérifiez bien le mode (Absolu ou relatif) dans la console de commande quand vous êtes en mode manuel.
 +
 +
 +
 +===== GCODE =====
 +
 +
 +WNP : Werkstück NullPunkt : Point origine programme ou pièce.
 +
 +C'est le point d'origine des coordonnées en mode absolu.
 +
 +
 +
 +==== Codes GCODE supportés ====
 +
 +
 +
 +^ Code   ^ Explication   ^ Exemple   ^
 +| ''G00''   | Ligne droite à l'avance maximale. :WARN: le point d'arrivée dépend du mode relatif ou absolu (G90 ou G91)  | ''2D Position: G00 X20 Y-5 \\ 3D Position: G00 X100 Y200 Z-50''  |
 +| ''G01''   | Ligne droite à l'avance de travail actuelle F :WARN: le point d'arrivée dépend du mode relatif ou absolu (G90 ou G91)  | ''G01 X-345.02 Z-45 F30'' 30*6=180m/s  |
 +| ''G02''   | Mouvement circulaire dans le sens des aiguilles d'une montre   | ''G02 D50 I40 J-5 F5''   |   
 +| ''G03''   | Mouvement circulaire dans le sens inverse des aiguilles d'une montre   | ''G03 D20 I70 K25 F5''   |
 +| ''G20''   | GOTO => Saut vers le label indiqué   | Uniquement dans un fichier KNC |
 +| ''G22''   | GOSUB => Saut vers un sous-programme terminé par G99 | Uniquement dans un fichier KNC |
 +| ''G24''   | FOR-NEXT => Répéter les lignes jusqu'à G98 | Uniquement dans un fichier KNC |
 +| ''G54''   | UNIQUEMENT EN MODE COMMANDE : Définition du WNP | Ne fonctionne pas dans un fichier KNC |
 +| <del>''G60''</del>   | <del>Paramètres de gravure texte</del>   | ''G60 H5 B2 Z1 D90 S2 F100''  |
 +| <del>''G61''</del>   | <del>Transmission du texte à graver/ Le texte à graver est en minuscule ou majuscule</del>   | ''G61 KOSY-Essai de gravure''   |
 +| ''G74''   | Aller à la vitesse maxi (G00) et en ligne droite sur le WNP (Défini par G54) | ''G74''   |
 +| ''G76''   | Aller à la vitesse maxi (G00) et en ligne droite sur le point d'origine de la machine | ''G76'' Table au fond et à droite, tête au plus haut.  |
 +| ''G77''   | Position de dégagement : Facilite la mise en place d'une pièce | ''G77'' Table vers vous et à droite, tête au plus haut.   |
 +| <del>''G79''</del>   | <del>*Appel d'un cycle / Répétition d'un cycle de perçage et de fraisage</del>   | ''G79 X10 Y20 Z0 G79 X20 Z15''   |
 +| <del>''G81''</del>   | <del>*Définition du cycle de perçage / Profondeur Z, Distance de recul B, Vitesse F</del>   | ''G81 Z5 B2 F48''   |
 +| <del>''G87''</del>   | <del>*Définition d'un trou rectangulaire / Cycle de fraisage pour un trou rectangulaire</del>   | ''G87 X30 Y20 Z1 B2 J0 K0.7 T2 F48''   |
 +| <del>''G88''</del>   | <del>*Définition d'un trou oblong / Cycle de fraisage pour un trou oblong</del>   | ''G88 X40 Y20 Z2 B1 J0 K0.8 T3 F40''   |
 +| <del>''G89''</del>   | <del>*Définition d'un trou rond / Cycle de fraisage pour un trou rond</del>   | ''G89 Z2 B2 R25 J0 K0.9 T2.5 F40''   |
 +| ''G90''   | Mode de coordonnées absolues avec origine en WNP (défini par G54)  | ''G90''   |
 +| ''G91''   | Mode de coordonnées relatives. | ''G91''   |
 +| ''G98''   | Fin de boucle FOR-NEXT (G24) | Uniquement dans un fichier KNC |
 +| ''G99''   | Fin de programme ou fin de sous programme (G22)  | Uniquement dans un fichier KNC |
 +| ''M01''   | Interruption / Interruption du programme CN   | ''M01''   |
 +| <del>''M02''</del>   | <del>Axe U/C arrêt \\ //(Tour)// </del> |''M02'' ou ''M02 U0'' (axe U) \\ ''M02 C0'' (axe C)  |
 +| <del>''M03''</del>   | <del>Axe U/C marche/ sens des aiguilles d'une montre \\ //(Tour)//  </del> | M03 Snn o. M03 U0 Snn (axe U, n=tours) \\ M03 C0 Snn (axe C, n=tours)  |
 +| <del>''M04''</del>   | <del>Axe U/C marche / contre sens des aiguilles d. montre \\ //(Tour)// </del>  | M04 Snn o. M04 U0 Snn (axe U, n=tours) \\ M04 C0 Snn (axe C, n=tours)  |
 +| ''M05''   | Interruption / Avec possibilité d'intervention manuelle   | ''M05''   |
 +| ''M10''   | Commande des relais / Connexion de relais particuliers  \\ //(Le relais 6 commande la broche)//  | ''M10 O3.1'' ou: ''M10 O5.0''   |
 +| ''M15''   | Test des entrées digitales/ Interruption, jusqu'à ce que l'état souhaité soit atteint   | ''M15 I3.0'' ou: ''M15 I2.1''   |
 +| ''M20''   | *Mettre tous les relais au repos   | ''M20''   |
 +| ''M25''   | Tension réglable / Tension variant environ de 1 à 24 V   | ''M25 U12.5''   |
 +| ''M30''   | Temps d'attente en 1/18 sec. / La pause du programme se termine au temps donné   | ''M30 P9'' ; attendre 9/18=0,5 sek.   |
 +| ''M35''   | *Attente de l'heure / Démarrage du programme à l'heure     donnée   | ''M35 W13.15''   |
 +
 +
 +<note warning>
 +Les ordres suivants exécutent des lignes droites
 +   * G00 Avance rapide
 +   * G01 Avance travail
 +   * G74 Foncer au WNP
 +   * G76 Foncer en HOME
 +   * G77 Foncer en position dégagement.
 +
 +La machine n'a pas de cerveau, quand vous l'envoyez quelque-part elle obéira et décrira une parfaite ligne droite sans aucune considération pour votre pièce, votre système de fixation, voir vos mains.
 +
 +C'est à vous de lui taper par exemple un G91 suivi d'un G00 Z100 pour la sortir strictement à la verticale avant d'aller ailleurs si nécessaire.</note>
 +
 +
 +===== TUTORIELS =====
 +
 +
 +[[machines:fraiseuses:proxxon_ff500_cnc:demarrage|Et si nous commençions ?]]
 +
 +===== Utilitaires =====
 +
 +Pour calculer les vitesses de broche et d'avance (F)
 +{{:machines:fraiseuses:proxxon_ff500_cnc:vitesses_ff500.xls|}}
 +
 +
 +===== UTILISATION DE FUSION 360 =====
 +
 +Fusion 360 est un logiciel de CAD et CAM: vous réalisez la conception 3D de votre pièce, les stratégies d'usinage que vous allez utiliser ainsi que la génération de gcode dans un seul logiciel.
 +C'est un outil nécessitant une licence: elle est gratuite pour les étudiants, les bricoleurs et les entreprises qui font moins de 100.000$ de chiffre d’affaire par an, soit à peu près tout le monde.
 +
 +Je me concentre ici sur le l'export de gcode pour la machine ainsi que l'importation d'outils, mais Autodesk fournit d'excellents tutoriels pour le cad et le cam en ligne (en anglais malheureusement, mais les vidéos sont très compréhensibles).
 +
 +La première chose à faire est d'importer les outils utilisés: pour cela, aller sur l'onglet "tool library" 
 +{{machines:fraiseuses:fusion_tool_lib.png}}
 +Cliquer sur l'onglet Local: c'est votre répertoire d'outils.
 +
 +Comme vous le voyez, j'en ai déjà quelques uns mais vous n'aurez rien. Nous allons donc créer un nouvel outil. Pour cela, vous aurez besoin de votre outil et d'un pied à coulisse (ou de la fiche technique).
 +
 +Cliquer sur "new mill tool"
 +
 +{{machines:fraiseuses:fusion_add_tool.png}}
 +Dans le menu "General", donnez un petit nom à l'outil dans l'onglet "description"
 +Dans le menu "Cutter", commencez par sélectionner le type d'outil dans le menu déroulant puis rentrer les caractéristiques demandées. C'est ici qu'intervient le pied à coulisse.
 +Sautez directement dans l'onglet "feed and speed" et rentrez la vitesse de rotation que vous utilisez pour l'outil, ainsi que l'épaisseur du copeau. Le reste se calcule automatiquement.
 +Rentrez la même épaisseur de copeau (en plus léger) multiplié par le nombre de dents dans la partie "vertical feedrate" (j'ai dans l'image suivante 2 dents sur ma fraise)
 +<note warning> Pensez à recopier la valeur de "cutting feedrate qui a été calculé dans "leed-in feedrate" et "leed-out feedrate" (valeur utilisées quand l'outil s'approche et s'éloigne du bloc à usiner mais que l'outil ne le touche pas encore). Dans "ramp feedrate", divisez la valeur précédente par 3 </note>
 +
 +Note: toutes les valeurs que vous rentrez dans cet onglet pourront être modifiées facilement lors de la définition d'une stratégie d'usinage sans revenir dans ce menu selon le matériau utilisé: rentrez donc votre favori ici
 +
 +Ce que vous obtenez ressemble normalement à peu près à ça:
 +
 +{{machines:fraiseuses:speeds_and_feeds.png}}
 +
 +Vous voici donc paré pour pouvoir concevoir votre stratégie d'usinage!
 +
 +
 +Exporter son gcode:
 +
 +Pour ces étapes suivantes, il faut avoir fait une pièce et au moins une stratégie d'enlèvement de matière.
 +
 +Comme la machine mange du kosy, il va falloir la nourrir avec du kosy.
 +Heureusement, Autodesk fournit un post-processeur qui fait presque le travail. Comment ça "presque"? En effet, comme le feedrate F de la machine est en 0.1mm/s, ce qui n'est pas standard, il va falloir modifier le fichier de "règles" de Fusion. Pour cela cliquer sur "Post Process"
 +
 +{{machines:fraiseuses:post_proco1.png}}
 +
 +Dans la fenêtre qui s'ouvre, cherchez kosy
 +
 +<note warning>Le post processeur étant mis à jour de temps en temps par Autodesk, les numéros de lignes peuvent changer. J'essaye de garder à jour le wiki mais lisez bien ce que vous tapez et modifiez! Les captures d'écrans peuvent être d'une version précédente mais rien de majeur ne change</note>
 +
 +{{machines:fraiseuses:post_proco2.png}}
 +
 +Cliquez sur "open config" juste à coté et une magnifique fenêtre de code s'ouvre.
 +Allez ligne 60 et rajoutez "scale:1/6.0" comme sur l'image ci-dessous.
 +
 +{{machines:fraiseuses:post_proco3.png}}
 +
 +Ensuite, supprimez les lignes 133,134 et 135 (la machine aime pas) 
 +{{machines:fraiseuses:write_block.png}}
 +
 +Pour empêcher le post processeur d'écrire un G76 en début de code , enlevez la ligne 774
 +{{machines:fraiseuses:fichu_g76.png}}
 +
 +N'oubliez pas les virgules et d'enregistrer!
 +
 +
 +Pour exporter le gcode, deux solutions sont possibles: 
 +1) Exporter une seule stratégie: pour cela clic droit sur la stratégie et cliquer sur "Post Process"
 +2) Exporter toutes les stratégies: clic droit sur "Setup" et puis "Post Process"
 +
 +Dans les deux cas on se retrouve dans la même fenêtre que tout à l'heure.
 +
 +Rechoisissez kosy en tant que post processeur, puis le dossier d'export (ici dans Mes Documents de l'admin) et le nom (ici Op1)
 + 
 +{{machines:fraiseuses:post_proco4.png}}
 +
 +Laissez la case "open NC file in editor" cochée et cliquez sur Post
 +
 +Votre code s'affiche devant vos yeux (ébahis), vérifiez que le feedrate F est bien celui qui correspond: celui de Fusion est en mm/min et celui de la fraiseuse en 0.1mm/s Pour passer de Fusion à la fraiseuse, vous devriez avoir une division par 6. Si ce n'est pas le cas, c'est que vous avez sans doute mal enregistré la modification du post processeur: recommencez
 +
 +Mettez votre œuvre sur clé usb, et ouvrez le avec le logiciel de la fraiseuse nccad une fois prêt à usiner.
 +
 +Note: pour les anglophones: pour apprendre à utiliser cet outil, allez voir la chaîne youtube de John Saunders sur NYC CNC, il explique vraiment bien. Attention cependant à ne pas reproduire exactement la même chose: la pauvre proxxon n'a rien a voir avec ses machines. Les valeurs sont donc à adapter mais les stratégies et leur ordre restent les mêmes. [[https://www.youtube.com/channel/UCe0IyK4ntgdPTTjsxjvyHPg]]
machines/fraiseuses/proxxon_ff500_cnc.1552057609.txt.gz · Dernière modification: 2019/03/08 16:06 (modification externe)