|
|
CNC@NET - Tout sur la découpe numérique |
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
SkippyLechat
Inscrit le: 29 Sep 2013 Messages: 3 Localisation: Nantes
|
Posté le: Lun Sep 30, 2013 11:59 am Sujet du message: [b:876ec1ef61]1. Avantages et inconvénients[/b:876ec1 |
|
|
1. Avantages et inconvénients
L’interpréteur Gcode LinuxCNC est très performant et gratuit. Quand on y a goûté avec une fraiseuse CNC, il est tentant de vouloir s’en servir avec la machine fil chaud : je n’ai pas résisté. Il y a cependant des contraintes :
* pour la découpe de noyaux d’aile, je n’ai trouvé que Profili Pro qui génère des fichiers Gcode. Pour des fuselages, il y a DevFus, DevFoam and co mais je n’en ai pas l’usage. Honnêtement, je ne suis pas très séduit par certaines options de trajet de Profili, et je n’utilise donc pas les options longerons, clés et autres évidements.
* il faut un PC dédié (à moins d’être moine boudhiste, les doubles boots seraient rapidement chiants). A minima un PC linux peut être partagé par les machines CNC et le transfert de fichiers peut se faire par clé USB.
[Digression ON] Dans mon cas, l’atelier est dans le monde Linux avec un PC dédié par machine et le bureau d’étude (!) est dans le monde Windows. Tout ça et les PC du reste de la famille se partage un serveur NAS sur onduleur. Le problème n’est pas tant le prix du serveur que les câbles à passer un peu partout. Du coup, il y a un peu de Wifi, un zest de CPL et des câbles dans l’atelier. [Digression OFF]
* enfin, et c’est l’objet de ce message, des adaptations de LinuxCNC aux spécificités de la découpe en 4 axes linéaires sont nécessaires.
Malgré cela, ce que j’aime surtout avec LinuxCNC pour la découpe fil chaud, c’est :
* la possibilité de sortir des figures imposées des logiciels intégrés : quelques commandes Gcode dans un fichier texte pour débiter des blocs de PE ; une macro dans Autocad pour faire des bigoudis à la demande, etc.
* les accélérations et les déplacements rapides d’un point de découpe à l’autre… Mine de rien ça fait gagner pas mal de temps !
2. Réaliser une configuration LinuxCNC XYUV
(Pour l’installation de Linux Ubuntu, le plus pratique est l’utilisation du DVD téléchargé depuis LinuxCNC.org. Ne pas faire de mise à jour Ubuntu : LinuxCNC est précompilé avec une version LTS)
Pour découper au fil chaud, il faut 4 axes indépendants. Sauf utilisation très dégradée et inadaptée à nos usages, il n’y a pas d’autre solution que d’utiliser les axes normalisés XY et UV
Etape 1 : Avec StepConf
L'utilitaire StepConf permet de définir la configuration d'une fraiseuse utilisant les 3 axes linéaires XYZ et éventuellement l'axe rotatif A.
La configuration des axes B,C,D,U,V,W est possible, mais il faut alors modifier à la mano les fichiers .ini et .hal
Pour gagner du temps et ne pas partir de rien, On va créer dans un premier temps - avec StepConf - une nouvelle configuration XYZA et y définir les affectations de broches du port // et les informations de timing. Les informations concernant les axes U et V sont à renseigner dans les emplacements prévus pour Z et A.
Configurer en particulier soigneusement les valeurs de courses, les Fdc, la commande de chauffe et le palpeur de POM : on ne pourra plus y revenir (sauf à tout refaire)
Etape 2 : Modification des fichiers HAL et INI à la main
Les 2 fichiers .ini et .hal sont dans le répertoire <perso>. LinuxCNC.Configs et peuvent être modifiés avec la commande gedit. On va donc y remplacer les axes ZA par les axes linéaires UV :
a) Modifier le fichier INI :
Il faut définir 8 axes. Pour cela, copier et coller les sections [AXIS_0] à [AXIS_3] et de les renommez en [AXIS_4] à [AXIS_7],
Dans la section [TRAJ] :
-Modifier coordonnées de X Y Z A en X Y U V
-Modifier Axes = 8
b) Modifier le fichier HAL
-Changer toutes les occurrences axis.2 en axis.6 et axis.3 en axis.7
-Modifier les lignes "set stepgen.n.position.scale [AXIS_n]SCALE" de façon à ce que :
stepgen.2 soit affecté à [AXIS.6]
stepgen.3 soit affecté à [AXIS.7]
stepgen.0 reste affecté à [AXIS.0]
stepgen.1 reste affecté à [AXIS.1]
Au lancement LinuxCNC enverra une erreur : il n'arrive pas à interpréter une commande sur l'axe Z passée par le fichier GCode par défaut (Axis.gnc). Pas grave et facile à corriger en vidant ce fichier par défaut (sudo gedit etc.) Ne garder qu’une ligne contenant la commande "M2" pour éviter un message d’erreur.
Les pinailleurs me diront : oui, mais la visualisation de parcours n'affiche que XY ! Et alors, répondrais-je. J'ai la machine réelle sous les yeux. Bref, tant pis pour la visualisation.
Nous voilà avec une configuration - à peu près - propre, et qui supportera sans bug les mises à jour logicielles qui pourront intervenir. (Contrairement à certain bidouillage python proposé sur internet)
3. Problème de coordination des vitesses de XY et de UV
Avec le Gcode tel que l’interprète LinuxCNC, les commandes de vitesse (F) ne concernent que le déplacement sur les axes linéaires principaux XYZ. La vitesse sur les axes linéaires secondaires UVW est asservie à cette vitesse principale pour que les points d’arrivée XYZ et UVW soient synchro. Point… C’est là le problème !
En pratique, tout va bien quand la valeur de déplacement XY est plus grande que la valeur de déplacement UV. Tout va mal quand UV est plus long que XY : dans ce cas "UV va trop vite !". Mais il y a des solutions :
a) Inverser les axes XY et UV
Pour faire par exemple une aile gauche et une aile droite avec le même fichier GCode.
On oublie le croisement au niveau des câbles moteur. Par contre, l'inversion pourrait être faite physiquement au niveau du branchement des Pins du port parallèle.
Il y a beaucoup plus simple : on peut réaliser 2 configurations de machine comme décrit précédemment. C'est alors l'affectation les pins du port parallèle différente dans l'une et l'autre qui réalisera le croisement. Dans mon cas, J’utilise 2 configurations : « CNC-FilChaud » et « CNC-FilChaud Miroir» dont je peux me servir respectivement pour faire une aile droite ou une aile gauche. A l'usage, c'est beaucoup moins compliqué qu'il n'y parait.
b) Un pré-traitement du fichier "GCode"
Même avec le croisement XY et UV proposé ci-dessus, le problème n'est pas réglé dans le cas de distances XY et UV différentes dans un sens et dans l'autre dans le même fichier GCode. Cela n'arrivera pas souvent pour des découpes d'ailes, mais ceux qui réalisent des fuselages seront confrontés au problème.
J'ai écrit un utilitaire "GCodeFilChaud" (sous Windows, à disposition de qui veut, suffit de demander) qui effectue un pré-traitement du fichier GCode :
Dans le fichier résultat, les commandes G1 dans lesquelles les distances XY < UV vont être complétées par une commande F qui ralentira l'équipage XY et ajustera UV à la vitesse définie par la première commande F du fichier.
Pour rétablir la situation, la commande G1 suivante est complétée avec F 200.
Exemple :
Soit une vitesse de découpe Fdec définie en début de fichier par F 200
Arrive une commande :
G1 X 0,0356 Y 0,0866 U 0,3267 V -0,3213
Les distances sont Dxy = 0,0936 et Duv = 0,4582 (racine des carré)
La vitesse de XY doit alors être corrigée à Fcor = Fdec * Dxy / Duv
La commande G1 est donc complétée par Fcor = 200 * 0,0936 / 0,4582 = 41
G1 X 0,0356 Y 0,0866 U 0,3267 V -0,3213 F 41
Pour conclure
Ma "panoplie" aujourd’hui est constituée :
- Pour la fraiseuse CNC : CamBam + LinuxCNC
- Pour la découpe Fil chaud : Profili + pré-traitement + LinuxCNC
J’ai également des macros Autocad pour les 2 machines. Cela me permet de découper des blocs de PE à la demande ou de faire des petites platines en CTP 10 fois plus vite que si je sortais la scie à chantourner.
J’ajoute – puisque Noël approche - que si un jour, certain développeur pouvait ajouter dans leur logiciel de découpe une option "Exporter GCode", j’abandonnerai sans regret Profili
Amicalement,
Yvon
Ps : j'ai décrit cette méthode ailleurs... mais tout le monde s'en fout ! J'espère avoir plus de succès ici |
|
Revenir en haut de page |
|
pierre dradin Site Admin
Inscrit le: 02 Jan 2006 Messages: 1641 Localisation: belgique baillonville
|
Posté le: Lun Sep 30, 2013 3:08 pm Sujet du message: pffffffffffffffff ça c'est de l'explication |
|
|
pffffffffffffffff ça c'est de l'explication, merci pour les futures utilisateurs de linux _________________ L'égoïste, c'est une personne qui ne pense pas à moi NA !!
www.decoupecnc.be |
|
Revenir en haut de page |
|
pierre dradin Site Admin
Inscrit le: 02 Jan 2006 Messages: 1641 Localisation: belgique baillonville
|
Posté le: Lun Sep 30, 2013 4:02 pm Sujet du message: si vous voulez l'utilitaire de pré-traitement du |
|
|
si vous voulez l'utilitaire de pré-traitement du GCode le voici www.decoupecnc.be/mesprogramme/GCodeFilChaud.zip
il m'a été transmit par Yvon dit SkippyLechat merci à lui _________________ L'égoïste, c'est une personne qui ne pense pas à moi NA !!
www.decoupecnc.be |
|
Revenir en haut de page |
|
xavtronic
Inscrit le: 04 Jan 2006 Messages: 8
|
Posté le: Mer Déc 03, 2014 8:35 am Sujet du message: Bonjour,
J'arrive peut-être un peu tard apr&eg |
|
|
Bonjour,
J'arrive peut-être un peu tard après la bataille, mais utilisant LinuxCNC et Cambam en remplacement de Ninos pour le fraisage, je regarde aussi de se côté pour piloter une découpe fil chaud. J'ai testé une grande partie des logiciels pour la découpe de poly, il y a quelques années j'avais réalisé un adaptateur USB pour la MM2001 et Jedicut en collaboration avec Jérôme (développeur de Jedicut).
La raison est toujours la même, la difficulté de trouver un PC adéquat et par expérience l'USB n'est pas la solution pour nos machines finalement. L'arrivée de carte comme la Raspberry Pi ou Beaglebone Black ( http://www.usinages.com/emc2/linuxcnc-tourne-sur-carte-beaglebone-black-t59348.html ) me fait revoir mon approche et j'aimerais pouvoir à terme utiliser ceci pour les CNC.
@Skippy:
Est-ce que depuis ton poste tu as évolué dans le principe?
Je me pose pas mal des questions et si tu le permets j'aimerais profiter de ton expérience, car je n'ai plus de machine accessible / fonctionnelle pour tester.
Tu utilises quel logiciel pour générer le gcode (Profili selon ton post ici : http://osegouin.free.fr/forum/viewtopic.php?t=817 )? Car ton explication m'interpelle ici:
Citation: |
J'ai réalisé un utilitaire "GCode Fil Chaud" développé en VisualBasic (*) qui modifie le GCode avec un prétraitement : les commandes G1 dans lesquelles XY < UV sont complétées par une commande F qui ralentira l'équipage XY pour ajuster UV à une vitesse normale de découpe.
|
Ceci ne devrait-il pas être directement géré lors de la production de gcode? Ou encore LinuxCNC ne calcul pas lui-même justement les vitesses d'interpolation? Ou il se base sur les axes XY?
L'utilisation de XY UV à la place de XY AB est pour contourner l'interpolation rotatif de l'axe A ou il y a une autre subtilité?
Est-ce que pour la commande du fil chauffant tu utilises simplement un contacteur ON/OFF ou c'est régulé en PWM pour avoir une compensation dynamique comme dans d'autre software?
En complément voici quelques liens que j'ai en partie regardés.
Une explication sur l'utilisation de LinuxCNC pour le fils chaud ( https://code.google.com/p/emc2hotwinch/ )
Utilitaire de conversion de fichier *.cut (généré par GMFC) vers gcode ( http://www.sokoll.net/doku.php/pastimes:rc:projects:cnc_foam_cutter:cut2g )
Ici il y a eu un embryon de départ pour cambam ( http://www.cambam.co.uk/forum/index.php?topic=209.0 ).
Je me pose la question s'il n'est pas intéresant de demander au développeur de Jedicut (Jérôme) ou RC-FP (5xProject Roland P. sauf erreur) d'implémenter une sortie de fichier g-code. Il faudrait définir un cahier des charges pour savoir ce qu'il faut exactement (XYZA vs YXUV, vitesse constante ou parcourt précis "G61" vs "G64", control du fil en PWM avec "S", etc).
A+
Xavier
PS: J'ai posté à deux endroits car je ne sais pas ou Skippy suis le sujet
http://www.usinages.com/emc2/utilisation-linuxcnc-pour-machine-fil-chaud-xyuv-t52507.html
http://osegouin.free.fr/forum/viewtopic.php?t=817 |
|
Revenir en haut de page |
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pas joindre des fichiers Vous pouvez télécharger des fichiers
|
|
|
|
|