Connexion   Nom d'utilisateur :    Mot de passe : 
Se connecter automatiquement à chaque visite    
S'enregistrer
S'enregistrer
Se connecter pour vérifier ses messages privés
Se connecter pour vérifier ses messages privés
CNC@NET Index du Forum » Divers

Poster un nouveau sujet   Répondre au sujet
Utilisation de LinuxCNC pour Machine Fil Chaud XYUV [long]
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
SkippyLechat



Inscrit le: 29 Sep 2013
Messages: 3
Localisation: Nantes

MessagePosté le: Lun Sep 30, 2013 11:59 am    Sujet du message: Utilisation de LinuxCNC pour Machine Fil Chaud XYUV [long] Répondre en citant

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 Rolling Eyes
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
pierre dradin
Site Admin


Inscrit le: 02 Jan 2006
Messages: 1636
Localisation: belgique baillonville

MessagePosté le: Lun Sep 30, 2013 3:08 pm    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
pierre dradin
Site Admin


Inscrit le: 02 Jan 2006
Messages: 1636
Localisation: belgique baillonville

MessagePosté le: Lun Sep 30, 2013 4:02 pm    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
xavtronic



Inscrit le: 04 Jan 2006
Messages: 8

MessagePosté le: Mer Déc 03, 2014 8:35 am    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    CNC@NET Index du Forum » Divers Toutes les heures sont au format GMT
Page 1 sur 1

 
Sauter vers:  
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


Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloqués / messages: 5423 / 0
Powered by phpBB © 2001, 2005 phpBB Group
iCGstation v1.0.1 Template By Ray © 2003, 2005 iOptional
Traduction par : phpBB-fr.com