[tutoriel]Presentation et installation de LinuxCNC
2 participants
Page 1 sur 1
[tutoriel]Presentation et installation de LinuxCNC
Je vais tenter ici de démystifier un peu Linux/LinuxCNC en expliquant simplement les choses de base à connaître. Par conséquent, je vais employer des raccourcis que les puristes pourront me reprocher, mais il sera toujours temps d'apporter des précisions par la suite une fois que les idées de bases auront été intégrées.
Je ne vais parler que de ce que je connais, le fraisage en CNC, n'ayant jamais fait de tournage numérique.
Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici:http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc
1- Présentation de Linux
Linux (on devrait dire GNU/Linux, mais pas commodité, je ne dirais que « Linux » ici) est un système alternatif à Microsoft pour faire l'interface entre l'utilisateur et l'ordinateur.
Il est développé par une communauté d'utilisateurs, mais aussi par de grands groupes (en particulier HP et Google) qui utilisent Linux sur leurs systèmes.
Il n'existe pas UN Linux, mais une multitude. D'ailleurs, une fois que vous aurez personnalisé votre ordinateur sous Linux, vous aurez VOTRE Linux.
Son rôle est exactement le même que Windows : il sert d’intermédiaire entre vous (et votre manière de penser) et l'ordinateur (et sa logique). C'est un outil qui répond à un besoin, et par conséquent, il n'est pas si différent de Windows, puisque le besoin est le même. Par contre, il a une philosophie différente, et c'est ce qui peut perturber l'utilisateur habitué à Windows.
Comme Linux n'appartient à personne (pas de société commerciale), il n'y a pas d'impératifs de vente ; par conséquent, l'idée est de fournir le meilleur logiciel (seul ou à plusieurs) en apportant la meilleure réponse possible au besoin de l'utilisateur. Une des idées est aussi celle ci : ne faire qu'une chose, mais la faire bien.
Par contre, pour les mêmes raisons, et parce que beaucoup de développeurs travaillent sur leur temps libre (et vous savez que c'est une denrée rare), l'avancée des logiciels ou la correction de bugs peut parfois prendre un peu de temps. Par contre, une faille de sécurité mobilise l'ensemble de la communauté et le correctif apparaît dans les jours qui suivent l'apparition du programme. C'est aussi une des raisons de la solidité de Linux.
2-Les distributions Linux
Une distribution est une « base Linux » sur laquelle l'éditeur (au sens large du terme) va faire des choix à votre place pour proposer un ensemble complet et cohérent de logiciels. Un peu comme un fabriquant de voiture va choisir un châssis, un moteur, une carrosserie et des accessoires pour proposer un modèle de voiture. Beaucoup d'éléments sont commun à d'autres modèles, mais l'ensemble des choix en fait un modèle à part. Le plus grand choix, en tout cas le plus visible étant le gestionnaire de l'interface (KDE, Gnome, Mate, XFCE, OpenBox, …), ayant chacun ses avantages et ses inconvénients.
Les distributions vont intégrer tel ou tel logiciel, interface, thème, choix de fonctionnement pour être une distribution différente des autres. Parfois, on prend une distribution existante, on modifie certaines choses, on apporte d'autres choix et logiciels, et cela devient une autre distribution.
Par exemple, Ubuntu, Mint, LinuxCnc, et bien d'autres, sont basées sur Debian qui est reconnue pour sa stabilité.
Suse, slackware, Handylinux, RedHat, … sont aussi des distributions linux. Je ne parle pas des distributions basées sur BSD pour rester dans la simplicité,
Comme on peu tout personnaliser sur Linux, on trouve des distributions spécialisées pour une fonction : le développement, le hacking, les firewall, les serveurs de fichiers, les routeurs, l'automatisme, l'embarqué, …. La liste est infinie puisqu'il suffit de personnaliser Linux avec les outils désirés.
À la maison, j'utilise plusieurs distributions, adaptées au rôle que j'en attend :Debian sur mes serveur, Ubuntu sur le poste de ma femme, XBMC (maintenant kido) sur le media center, SLAX sur le poste des mes enfants, Ipcop sur le firewall, … C'est déjà adapté au besoin, il suffit de faire confiance aux choix des développeurs. Et sinon, je fais mes propres choix (et modifications).
Sur Linux, tout est personnalisable et modifiable.Tellement qu'on peut aussi lui donner l'aspect strictement identique à XP, W7 ou MacOs !
L'important est de choisir l'outil adapté au besoin. Vous n'iriez pas utiliser un couteau à la place d'un tournevis, n'est ce pas ? De même, on n'utilise pas une distribution bureautique pour commander une machine numérique, même si c'est faisable.
Sachez aussi que la ligne de commande n'est plus obligatoire avec les distributions modernes de Linux, mais c'est un outil extrêmement puissant même s'il n'est pas toujours simple à maîtriser. Prenons l'exemple d'un ciseau à bois et d'une défonceuse. Il peut paraître plus simple d'utiliser la défonceuse (force, rapidité) et que le ciseau paraisse plus simpliste. Mais si le ciseau est bien affûté (angle, finesse) et bien utilisé (angle, force appliquée, sensations) on obtient le même résultat, voire mieux qu'avec la défonceuse. La ligne de commande est un outil (parmi d'autres) qui offre un large éventail de possibilités quasiment sans limite, une rapidité et une précision terrible. Mais il n'est pas obligatoire de savoir l'utiliser, d'autres outils sont présents pour l'utilisateur.
Vous trouverez plein d'informations sur le site des cousins de QuebecOS concernant toutes les distributions existantes : quebecos.com
3-LinuxCNC
LinuxCNC est un logiciel de commande de machine numérique. Pour fonctionner, il a besoin d'une chose particulière : un noyau en temps réel.
Il en existe plusieurs, mais ils intègrent toujours les lettres RT (pour Real Time) dans leur nom.
Sur un ordinateur, même si vous avez l'impression que plusieurs chose fonctionnement en même temps (le navigateur sur youtube, le son qui sort des enceintes, l'affichage, les frappes clavier, la commande de la CNC, …) sachez qu'en fait un ordonnanceur se charge d'effectuer les tâches les unes après les autres quitte à en mettre parfois en pause un temps, certes court, mais pouvant poser problème aux machines numériques. Si l'ordinateur est occupé à traiter l'arrivée d'un nouveau mail et ne voit pas le signal de fin de course de votre machine, que pensez vous qu'il va arriver ? Pensez vous que le système d'un 747 puisse mettre en attente une commande du pilote pour actualiser le plan de vol ? Ou que les freins de votre voiture soient en pause le temps de mettre à jour les stations de radio ? Même une micro seconde ?
C'est à ça que sert le noyau en temps réel, ne pas mettre d'opération en pause et les traiter quand elle arrivent. C'est pour ça aussi que la machine qui sert à la commande ne devrait pas faire autre chose pendant le fonctionnement, voire même servir à autre chose.
Windows n'intègre pas de noyau en temps réel, il faut donc un paramétrage très fin pour éviter les problèmes (désactiver les tâches planifiées, les mises à jour, les programmes en arrière plan, les services inutiles, …). Et même avec ça, le système lui même peut décider d'autres priorités que la commande de la CNC.
Si vous installez LinuxCNC sur un Linux qui ne tourne pas sur un noyau en temps réel, le logiciel ne fonctionnera qu'en mode démo, pour éviter qu'on vienne dire que ça ne fonctionne pas et qu'un accident ne se produise. C'est la raison pour laquelle il faut faire attention lors des mises à jour afin que le noyau ne soit pas remplacé par un autre plus récent mais pas en temps réel. Mais même si ça se produit, ce n'est pas insoluble, il suffit d'être guidé une fois pour résoudre le problème seul si ça vous arrive à nouveau.
LinuxCNC est le logiciel de commande, mais ce n'est pas lui que vous voyez, c'est AXIS qui lui sert d'interface. Il en existe d'autres, mais Axis est simple et paramétrable (bon, j’admets, personnaliser l'interface d'Axis n'est pas aussi simple que ça, mais de base elle est suffisante pour tout).
LinuxCNC est accompagné d'un assistant qui vous permet de paramétrer le logiciel en fonction de votre machine (vitesse d'avance maximale, accélération, limites, …) et une fois ceci réalisé, c'est fonctionnel. Il faudra certainement affiner certaines choses, mais ça fonctionne quasiment tout de suite !
Auparavant, LinuxCNC était basé sur Ubuntu puisque c'était la distribution montante que les gens connaissaient. Mais Ubuntu s'est mis à choisir d'installer de plus en plus de choses de base pour répondre aux besoins des utilisateurs et être universelle. Par conséquent, elle s'est éloignée des besoins en commande numérique. Ce n'est pas une critique, elle est destinée aux Linuxiens débutants ou ne voulant pas mettre les mains dans le système, donc moins destinée à une spécialisation telle que la commande CNC.
La dernière version de LinuxCNC est revenue à la base de Ubuntu, à savoir Debian dont la stabilité n'est plus à démonter. Une nouvelle version de Debian sort quand elle est prête, pas à une date définie. Il se passe parfois du temps, certains logiciels ne sont pas les plus récents, mais c'est éprouvé et donc stable. Et c'est ce qu'on recherche sur une commande numérique, pas d'avoir la dernière version de flash.
Comme l'ordinateur qui va commander la CNC doit être dédié à cet usage, il est encore plus simple d'installer LinuxCNC en même temps que le système. L'image basée sur Debian wheezy installe le système (Debian) sur un noyau temps réel, LinuxCNC et Axis, soit un système de commande complet.
4-Installation de Linux
Si vous désirez installer Linux sur votre poste de travail, je pourrai éventuellement vous assister sur un autre post, mais je vous renvoie aussi sur le site de Ubuntu et son forum où vous trouverez toute la documentation et l'assistance nécessaire, J'y suis aussi sous un autre pseudo, mais moins souvent, le temps manque pour tout faire…
5-Essayer LinuxCNC
Téléchargez l'image iso d'installation à cette adresse :http://www.linuxcnc.org/binary.hybrid.iso
Gravez l'image sur un disque ou avec une clef usb bootable (demandez à google) et démarrez votre ordinateur sur ce support.
Une fois l'ordinateur démarré, vous obtenez l'image suivante qui vous demande quel système démarrer. C'est le premier qui nous intéresse pour tester si votre ordinateur pourra faire tourner le système,
Appuyez sur Entrée, le système se lance, plein de choses blanches s'écrivent sur l'écran noir, n'en tenez pas compte en temps normal. Sachez que si le système ne peut pas démarrer, toutes ces choses écrites permettent de savoir ce qui se passe, et donc de dépanner pour arriver à l'interface. Je trouve ça beaucoup plus pratique que Windows qui cache tout ce qui se passe.
Le système se lance dans la mémoire de l'ordinateur et tout ce que vous ferez (sauf écritures sur les disques) disparaîtra lorsque vous éteindrez l'ordinateur.
Vous arrivez sur le bureau du système LiveCD. Cela vous permet aussi de tester le système (pas pour la commande de la CNC, hein, ça reste risqué même si c'est faisable tant que l'on ne profite pas de toute la mémoire en ayant installé le système).
Ne vous inquiétez pas, lorsque le système sera installé, tout sera en français de chez nous.
Testez ce que vous désirez, mais si vous arrivez sur le bureau, vous pouvez donc installer LinuxCNC.
6-Installation de LinuxCNC
ATTENTION : si c'est votre première installation, je vous conseille de le faire sur un ordinateur dédié n'ayant aucune donnée importante sur le disque, on va tout remplacer, y compris si un windows est installé sur l'ordinateur !
Il est parfaitement possible d'installer Linux en dual boot sur l'ordinateur, mais je vais rester dans le cas général, sur une machine dédiée.
Vous pouvez vous faire la main en l'installant dans une machine virtuelle, mais vous ne pourrez pas commander de CNC depuis celle ci.
Redémarrez l'ordinateur en cliquant sur la porte de sortie en haut à gauche et cliquez sur restart. Refaites ensuite un démarrage comme précédemment, puis sélectionnez Install(Graphical) avec les flèches et validez par entrée.
Un assistant d'installation va se lancer. Utilisez la souris et cliquez sur continuer à chaque fois.
- Choisissez la langue qui vous intéresse, la région et le clavier que vous utilisez.
- Donnez le nom que vous voulez à la machine (il vous propose debian par défaut)
- Indiquez le domaine ou laissez vide
- Donnez un login qui sera l'utilisateur de la machine (obligatoire), puis l'identifiant.
- Indiquez son mot de passe (obligatoire). Il servira pour l'administration par la suite.
- Indiquez le type de partitionnement. A moins de savoir ce que vous faites, choisissez la première option (assisté – utiliser un disque entier). Attention, tout ce qui est sur le disque sera perdu !
- Validez l'application des changements sur le disque.
- Laissez le système s'installer (environ 10 minutes). Redémarrez, et c'est tout !
Redémarrez, ne touchez à rien, et vous arriverez sur l'écran de connexion suivant :
Indiquez l'identifiant et le mot de passe choisi pour l'installation en validant à chaque fois.
Lorsque le système vous demande le paramétrage du premier tableau de bord, choisissez d'utiliser les paramètres par défaut.
7-Mises à jour
Dès la connexion, le système vous informe qu'il y a des mises à jour par une petite bulle en haut à droite, et par une icône de point d'exclamation dans un triangle rouge au même endroit.
Il faut bien sûr les faire, et nous allons voir comment.
Cliquez sur l'icone triangulaire. Il vous demande votre mot de passe, puisque nous allons modifier des choses sur le système lui même. Ça évite que n'importe qui fasse n'importe quoi, même si Rémi Gaillard vient rarement dans mon atelier.
Debian vous indique les mises à jour disponibles que vous allez pouvoir installer. Utilisez l’ascenseur pour les parcourir et vérifier qu'il ne va pas remplacer le noyau, cherchez donc linux-image ou linux-kernel. Normalement, cette version basée sur Debian ne vous proposera pas de changer le noyau par une version non RT, au contraire de la version sur Ubuntu.
S'il vous propose un noyau qui ne contient pas RT dans son nom, décochez la case correspondante. Ensuite, cliquez sur Install Updates pour installer les mises à jour. Le temps dépend du nombre de mises à jour, mais cela prend en général une quinzaine de minutes, c'est très rapide comparé à d'autres systèmes.
Quand des mises à jour seront disponibles, vous serez prévenu de la même manière.
L'interface graphique que vous voyez est basée sur Xfce qui a l'avantage d'être très légère en occupation mémoire tout en restant intuitive. D'autres interfaces sont plus légères encore, mais il faut prendre le temps de les découvrir pour les apprécier. La légèreté de l'interface laisse plus de mémoire disponible pour le système et la commande de la CNC, ce qui est le but recherché. Si vous voulez encore plus léger, renseignez vous sur OpenBox.
Vous avez désormais un ordinateur tournant sous Debian Linux qui vous donnera un aperçu de ce qu'on peut faire sous linux. Gardez en tête que cette version est destinée à faire fonctionner une CNC et que si vous n'arrivez pas à faire quelque chose (genre installer un jeu), c'est que vous n'êtes pas sur un système destiné à être un poste de travail. Tournez vous vers l'installation d'une Debian ou Ubuntu classique avant de décider que Linux ne fonctionne pas ou que c'est compliqué.
8-Paramétrage de LinuxCNC
Le paramétrage dépendra de la machine que vous avez à commander, c'est à vous de connaître les paramètres à appliquer. Je vais vous montrer celui correspondant à MA machine.
Allez dans le menu des applications en haut à gauche, placez vous sur le menu CNC et lancez le programme Latency Test permettant de connaître la latence de votre ordinateur. Celle ci dépendant de beaucoup de paramtètres, elle est propre à chaque ordinateur.
Cette valeur permettra à LinuxCNC de savoir à quel moment envoyer les commandes avant le moment voulu pour qu'elle arrive exactement quand il faut.
Commencez par faire un reset des statistiques puis utilisez abusivement l'ordinateur, déplacez des fenêtres à travers l'écran, surfez sur le web, faites tourner plein de programmes pour occuper votre PC. Notez ensuite la valeur la plus élevée de Max Jitter qui nous servira pour la configuration de LinuxCNC.
Si vous souhaitez commander un tour numérique, vous devrez ensuite utiliser LinuxCNC Pncconf Wizard, mais je m'arrêterai là pour l'aide à vous apporter n'ayant pas de tour.
Si vous avez une fraiseuse numérique, vous utiliserez LinuxCNC Stepconf Wizard. Il est en anglais, mais c'est assez simple à configurer.
Cliquez sur start à la première fenêtre pour commencer la configuration.
A partir d'ici, vous pouvez créer une nouvelle configuration (Create new configuration) ou modifier une configuration déjà existante (Modify a configuration).
Laissez les cases du bas cochées, cela vous créera une icône directement sur le bureau, ce qui sera plus pratique pour lancer Axis avec votre configuration. Cliquez sur Forward (suivant).
- Donnez un nom à votre machine (par exemple fraiseuse1)
- Sélectionnez le nombre d'axes que vous avez sur cette machine. Dans mon cas XYZ.
- Indiquez votre unité de mesure (inch ou mm)
- Indiquez vos drivers de moteur pas à pas. S'ils ne sont pas présents, choisissez Autre et renseignez - les champs nécessaires, les infos étant disponibles avec vos drivers.
- Dans base period maximum jitter, indiquez la valeur relevée précédemment, ou relancez le test en cliquant sur le bouton Test base period jitter.
Paramétrez les sorties du port parallèle. Les choix de droite permettent de paramétrer les entrées depuis la CNC vers le port parallèle, souvent utilisées pour les fin de courses, les origines ou l'arrêt d'urgence (pin 10 dans mon cas)
Laissez tel quel pour l'instant, cochez la case du bas pour qu'il vous informe à l'écran quand un changement d'outils est nécessaire.
Ici nous allons régler chaque axe de la machine. Indiquez le nombre de pas par tour de votre moteur (200 pour moi), les micropas du driver (16 dans mon cas), le rapport des poulies (1:1 s'il s'agit d'une vis), l'avance par tour de moteur (1,5mm dans mon cas).
La vitesse et l'accélération maximum sont à définir en cliquant sur le bouton Test Axis
Vitesse et accélération pourront (dans une certaine variation) être changées pendant le test. Utilisez les flèches du jog pour déplacer votre axe a mi-course.
Modifiez la valeur de test Area pour faire la moitié de la course de votre axe puis cliquez sur Run. L'axe va faire des aller retour sur la longueur que vous avez indiqué. Vous pouvez modifier la vitesse et l'accélération jusqu'au maximum où vous perdez des pas. Diminuez ensuite et gardez une marge de sécurité puis cliquez sur Valider. Les valeurs retenues sont copiées dans les champs correspondants.
Affinez les réglages sur toute la course de la machine pour vous assurer que tout va bien.
Si l'augmentation ou la diminution des valeurs pendant le test n'est pas assez importante (il bloque et on ne peut plus aller au-delà), validez et recommencez le test, la butée précédente devient la valeur de départ à faire varier. C'est difficile à expliquer, mais vous comprendrez en le faisant.
Entrez les dimensions de votre axe, l'emplacement des fin de courses si vous en avez défini à l'étape précédente et passez à l'axe suivant.
Effectuez la même chose pour tous les axes.
Sur la dernière fenêtre, vous pouvez régler la commande de broche. Je ne l'utilise pas et je ne serai pas d'une grande aide sur ce point. Rabattez vous vers google.
Validez la dernière étape et vous avez sur le bureau une icône qui s’appelle lancer le_nom_de_machine_choisi. Double cliquez dessus pour lancer Axis.
9-Utilisation d'Axis
Il se peut que vous ayez des messages d'erreur au démarrage. Comme c'est le premier lancement, n'en tenez pas compte et fermez les.
- Au lancement, la machine est en arrêt d'urgence (icône rouge en haut à gauche). Cliquez sur l'icone pour débloquer l'AU ou appuyez sur F1.
- La machine est arrêtée (deuxième icône en haut à gauche). Cliquez dessus pour activer la communication ou appuyez sur F2.
- Allez chercher votre fichier Gcode en faisant fichier/ouvrir ou directement la lettre O (comme Ouvrir). Un premier fichier gcode d'exemple est chargé au démarrage pour que vous puissiez faire des essais.
Placez votre nez de broche à l'endroit voulu en utilisant les flèches du clavier (gauche droite pour X, haut bas pour Y, page up/ page down pour Z). Une fois à la position désirée, cliquez sur le bouton POM des axes, en cochant l'axe à chaque fois. Pour vous déplacer en vitesse rapide, appuyez sur SHIFT(majuscule) avant d'utiliser les flèches de direction.
Vous pouvez vous déplacer dans la vue en cliquant dessus avec les boutons gauche, clic molette et droite de la souris, je vous laisse trouver comment ça fonctionne.
Naviguez dans les menus, si vous avez déjà utilisé une CNC, vous comprendrez à quoi ils servent. Si c'est votre première fois, faites des tests, mais soyez prudent.
Cliquez sur le bouton Play (la flèche bleue) pour lancer l'usinage.
Toute la doc de LinuxCNC en français se trouve ici :http://www.linuxcnc.org/docs/html/index_fr.html
Elle n'est pas forcément à jour mais elle est complète et répondra à toutes vos questions. Si ce n'est pas le cas, demandez de l'aide sur les forums ou utilisez google, c'est ainsi que j'ai démarré avec LinuxCNC et la CNC.
Votre machine est désormais une Debian wheezy faisant tourner le gestionnaire de fenêtres Xfce4. Utilisez ces mots clefs lors de votre recherche.
Dans un autre tutoriel, nous verrons comment installer cambam sur cette même machine
Je ne vais parler que de ce que je connais, le fraisage en CNC, n'ayant jamais fait de tournage numérique.
Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici:http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc
1- Présentation de Linux
Linux (on devrait dire GNU/Linux, mais pas commodité, je ne dirais que « Linux » ici) est un système alternatif à Microsoft pour faire l'interface entre l'utilisateur et l'ordinateur.
Il est développé par une communauté d'utilisateurs, mais aussi par de grands groupes (en particulier HP et Google) qui utilisent Linux sur leurs systèmes.
Il n'existe pas UN Linux, mais une multitude. D'ailleurs, une fois que vous aurez personnalisé votre ordinateur sous Linux, vous aurez VOTRE Linux.
Son rôle est exactement le même que Windows : il sert d’intermédiaire entre vous (et votre manière de penser) et l'ordinateur (et sa logique). C'est un outil qui répond à un besoin, et par conséquent, il n'est pas si différent de Windows, puisque le besoin est le même. Par contre, il a une philosophie différente, et c'est ce qui peut perturber l'utilisateur habitué à Windows.
Comme Linux n'appartient à personne (pas de société commerciale), il n'y a pas d'impératifs de vente ; par conséquent, l'idée est de fournir le meilleur logiciel (seul ou à plusieurs) en apportant la meilleure réponse possible au besoin de l'utilisateur. Une des idées est aussi celle ci : ne faire qu'une chose, mais la faire bien.
Par contre, pour les mêmes raisons, et parce que beaucoup de développeurs travaillent sur leur temps libre (et vous savez que c'est une denrée rare), l'avancée des logiciels ou la correction de bugs peut parfois prendre un peu de temps. Par contre, une faille de sécurité mobilise l'ensemble de la communauté et le correctif apparaît dans les jours qui suivent l'apparition du programme. C'est aussi une des raisons de la solidité de Linux.
2-Les distributions Linux
Une distribution est une « base Linux » sur laquelle l'éditeur (au sens large du terme) va faire des choix à votre place pour proposer un ensemble complet et cohérent de logiciels. Un peu comme un fabriquant de voiture va choisir un châssis, un moteur, une carrosserie et des accessoires pour proposer un modèle de voiture. Beaucoup d'éléments sont commun à d'autres modèles, mais l'ensemble des choix en fait un modèle à part. Le plus grand choix, en tout cas le plus visible étant le gestionnaire de l'interface (KDE, Gnome, Mate, XFCE, OpenBox, …), ayant chacun ses avantages et ses inconvénients.
Les distributions vont intégrer tel ou tel logiciel, interface, thème, choix de fonctionnement pour être une distribution différente des autres. Parfois, on prend une distribution existante, on modifie certaines choses, on apporte d'autres choix et logiciels, et cela devient une autre distribution.
Par exemple, Ubuntu, Mint, LinuxCnc, et bien d'autres, sont basées sur Debian qui est reconnue pour sa stabilité.
Suse, slackware, Handylinux, RedHat, … sont aussi des distributions linux. Je ne parle pas des distributions basées sur BSD pour rester dans la simplicité,
Comme on peu tout personnaliser sur Linux, on trouve des distributions spécialisées pour une fonction : le développement, le hacking, les firewall, les serveurs de fichiers, les routeurs, l'automatisme, l'embarqué, …. La liste est infinie puisqu'il suffit de personnaliser Linux avec les outils désirés.
À la maison, j'utilise plusieurs distributions, adaptées au rôle que j'en attend :Debian sur mes serveur, Ubuntu sur le poste de ma femme, XBMC (maintenant kido) sur le media center, SLAX sur le poste des mes enfants, Ipcop sur le firewall, … C'est déjà adapté au besoin, il suffit de faire confiance aux choix des développeurs. Et sinon, je fais mes propres choix (et modifications).
Sur Linux, tout est personnalisable et modifiable.Tellement qu'on peut aussi lui donner l'aspect strictement identique à XP, W7 ou MacOs !
L'important est de choisir l'outil adapté au besoin. Vous n'iriez pas utiliser un couteau à la place d'un tournevis, n'est ce pas ? De même, on n'utilise pas une distribution bureautique pour commander une machine numérique, même si c'est faisable.
Sachez aussi que la ligne de commande n'est plus obligatoire avec les distributions modernes de Linux, mais c'est un outil extrêmement puissant même s'il n'est pas toujours simple à maîtriser. Prenons l'exemple d'un ciseau à bois et d'une défonceuse. Il peut paraître plus simple d'utiliser la défonceuse (force, rapidité) et que le ciseau paraisse plus simpliste. Mais si le ciseau est bien affûté (angle, finesse) et bien utilisé (angle, force appliquée, sensations) on obtient le même résultat, voire mieux qu'avec la défonceuse. La ligne de commande est un outil (parmi d'autres) qui offre un large éventail de possibilités quasiment sans limite, une rapidité et une précision terrible. Mais il n'est pas obligatoire de savoir l'utiliser, d'autres outils sont présents pour l'utilisateur.
Vous trouverez plein d'informations sur le site des cousins de QuebecOS concernant toutes les distributions existantes : quebecos.com
3-LinuxCNC
LinuxCNC est un logiciel de commande de machine numérique. Pour fonctionner, il a besoin d'une chose particulière : un noyau en temps réel.
Il en existe plusieurs, mais ils intègrent toujours les lettres RT (pour Real Time) dans leur nom.
Sur un ordinateur, même si vous avez l'impression que plusieurs chose fonctionnement en même temps (le navigateur sur youtube, le son qui sort des enceintes, l'affichage, les frappes clavier, la commande de la CNC, …) sachez qu'en fait un ordonnanceur se charge d'effectuer les tâches les unes après les autres quitte à en mettre parfois en pause un temps, certes court, mais pouvant poser problème aux machines numériques. Si l'ordinateur est occupé à traiter l'arrivée d'un nouveau mail et ne voit pas le signal de fin de course de votre machine, que pensez vous qu'il va arriver ? Pensez vous que le système d'un 747 puisse mettre en attente une commande du pilote pour actualiser le plan de vol ? Ou que les freins de votre voiture soient en pause le temps de mettre à jour les stations de radio ? Même une micro seconde ?
C'est à ça que sert le noyau en temps réel, ne pas mettre d'opération en pause et les traiter quand elle arrivent. C'est pour ça aussi que la machine qui sert à la commande ne devrait pas faire autre chose pendant le fonctionnement, voire même servir à autre chose.
Windows n'intègre pas de noyau en temps réel, il faut donc un paramétrage très fin pour éviter les problèmes (désactiver les tâches planifiées, les mises à jour, les programmes en arrière plan, les services inutiles, …). Et même avec ça, le système lui même peut décider d'autres priorités que la commande de la CNC.
Si vous installez LinuxCNC sur un Linux qui ne tourne pas sur un noyau en temps réel, le logiciel ne fonctionnera qu'en mode démo, pour éviter qu'on vienne dire que ça ne fonctionne pas et qu'un accident ne se produise. C'est la raison pour laquelle il faut faire attention lors des mises à jour afin que le noyau ne soit pas remplacé par un autre plus récent mais pas en temps réel. Mais même si ça se produit, ce n'est pas insoluble, il suffit d'être guidé une fois pour résoudre le problème seul si ça vous arrive à nouveau.
LinuxCNC est le logiciel de commande, mais ce n'est pas lui que vous voyez, c'est AXIS qui lui sert d'interface. Il en existe d'autres, mais Axis est simple et paramétrable (bon, j’admets, personnaliser l'interface d'Axis n'est pas aussi simple que ça, mais de base elle est suffisante pour tout).
LinuxCNC est accompagné d'un assistant qui vous permet de paramétrer le logiciel en fonction de votre machine (vitesse d'avance maximale, accélération, limites, …) et une fois ceci réalisé, c'est fonctionnel. Il faudra certainement affiner certaines choses, mais ça fonctionne quasiment tout de suite !
Auparavant, LinuxCNC était basé sur Ubuntu puisque c'était la distribution montante que les gens connaissaient. Mais Ubuntu s'est mis à choisir d'installer de plus en plus de choses de base pour répondre aux besoins des utilisateurs et être universelle. Par conséquent, elle s'est éloignée des besoins en commande numérique. Ce n'est pas une critique, elle est destinée aux Linuxiens débutants ou ne voulant pas mettre les mains dans le système, donc moins destinée à une spécialisation telle que la commande CNC.
La dernière version de LinuxCNC est revenue à la base de Ubuntu, à savoir Debian dont la stabilité n'est plus à démonter. Une nouvelle version de Debian sort quand elle est prête, pas à une date définie. Il se passe parfois du temps, certains logiciels ne sont pas les plus récents, mais c'est éprouvé et donc stable. Et c'est ce qu'on recherche sur une commande numérique, pas d'avoir la dernière version de flash.
Comme l'ordinateur qui va commander la CNC doit être dédié à cet usage, il est encore plus simple d'installer LinuxCNC en même temps que le système. L'image basée sur Debian wheezy installe le système (Debian) sur un noyau temps réel, LinuxCNC et Axis, soit un système de commande complet.
4-Installation de Linux
Si vous désirez installer Linux sur votre poste de travail, je pourrai éventuellement vous assister sur un autre post, mais je vous renvoie aussi sur le site de Ubuntu et son forum où vous trouverez toute la documentation et l'assistance nécessaire, J'y suis aussi sous un autre pseudo, mais moins souvent, le temps manque pour tout faire…
5-Essayer LinuxCNC
Téléchargez l'image iso d'installation à cette adresse :http://www.linuxcnc.org/binary.hybrid.iso
Gravez l'image sur un disque ou avec une clef usb bootable (demandez à google) et démarrez votre ordinateur sur ce support.
Une fois l'ordinateur démarré, vous obtenez l'image suivante qui vous demande quel système démarrer. C'est le premier qui nous intéresse pour tester si votre ordinateur pourra faire tourner le système,
Appuyez sur Entrée, le système se lance, plein de choses blanches s'écrivent sur l'écran noir, n'en tenez pas compte en temps normal. Sachez que si le système ne peut pas démarrer, toutes ces choses écrites permettent de savoir ce qui se passe, et donc de dépanner pour arriver à l'interface. Je trouve ça beaucoup plus pratique que Windows qui cache tout ce qui se passe.
Le système se lance dans la mémoire de l'ordinateur et tout ce que vous ferez (sauf écritures sur les disques) disparaîtra lorsque vous éteindrez l'ordinateur.
Vous arrivez sur le bureau du système LiveCD. Cela vous permet aussi de tester le système (pas pour la commande de la CNC, hein, ça reste risqué même si c'est faisable tant que l'on ne profite pas de toute la mémoire en ayant installé le système).
Ne vous inquiétez pas, lorsque le système sera installé, tout sera en français de chez nous.
Testez ce que vous désirez, mais si vous arrivez sur le bureau, vous pouvez donc installer LinuxCNC.
6-Installation de LinuxCNC
ATTENTION : si c'est votre première installation, je vous conseille de le faire sur un ordinateur dédié n'ayant aucune donnée importante sur le disque, on va tout remplacer, y compris si un windows est installé sur l'ordinateur !
Il est parfaitement possible d'installer Linux en dual boot sur l'ordinateur, mais je vais rester dans le cas général, sur une machine dédiée.
Vous pouvez vous faire la main en l'installant dans une machine virtuelle, mais vous ne pourrez pas commander de CNC depuis celle ci.
Redémarrez l'ordinateur en cliquant sur la porte de sortie en haut à gauche et cliquez sur restart. Refaites ensuite un démarrage comme précédemment, puis sélectionnez Install(Graphical) avec les flèches et validez par entrée.
Un assistant d'installation va se lancer. Utilisez la souris et cliquez sur continuer à chaque fois.
- Choisissez la langue qui vous intéresse, la région et le clavier que vous utilisez.
- Donnez le nom que vous voulez à la machine (il vous propose debian par défaut)
- Indiquez le domaine ou laissez vide
- Donnez un login qui sera l'utilisateur de la machine (obligatoire), puis l'identifiant.
- Indiquez son mot de passe (obligatoire). Il servira pour l'administration par la suite.
- Indiquez le type de partitionnement. A moins de savoir ce que vous faites, choisissez la première option (assisté – utiliser un disque entier). Attention, tout ce qui est sur le disque sera perdu !
- Validez l'application des changements sur le disque.
- Laissez le système s'installer (environ 10 minutes). Redémarrez, et c'est tout !
Redémarrez, ne touchez à rien, et vous arriverez sur l'écran de connexion suivant :
Indiquez l'identifiant et le mot de passe choisi pour l'installation en validant à chaque fois.
Lorsque le système vous demande le paramétrage du premier tableau de bord, choisissez d'utiliser les paramètres par défaut.
7-Mises à jour
Dès la connexion, le système vous informe qu'il y a des mises à jour par une petite bulle en haut à droite, et par une icône de point d'exclamation dans un triangle rouge au même endroit.
Il faut bien sûr les faire, et nous allons voir comment.
Cliquez sur l'icone triangulaire. Il vous demande votre mot de passe, puisque nous allons modifier des choses sur le système lui même. Ça évite que n'importe qui fasse n'importe quoi, même si Rémi Gaillard vient rarement dans mon atelier.
Debian vous indique les mises à jour disponibles que vous allez pouvoir installer. Utilisez l’ascenseur pour les parcourir et vérifier qu'il ne va pas remplacer le noyau, cherchez donc linux-image ou linux-kernel. Normalement, cette version basée sur Debian ne vous proposera pas de changer le noyau par une version non RT, au contraire de la version sur Ubuntu.
S'il vous propose un noyau qui ne contient pas RT dans son nom, décochez la case correspondante. Ensuite, cliquez sur Install Updates pour installer les mises à jour. Le temps dépend du nombre de mises à jour, mais cela prend en général une quinzaine de minutes, c'est très rapide comparé à d'autres systèmes.
Quand des mises à jour seront disponibles, vous serez prévenu de la même manière.
L'interface graphique que vous voyez est basée sur Xfce qui a l'avantage d'être très légère en occupation mémoire tout en restant intuitive. D'autres interfaces sont plus légères encore, mais il faut prendre le temps de les découvrir pour les apprécier. La légèreté de l'interface laisse plus de mémoire disponible pour le système et la commande de la CNC, ce qui est le but recherché. Si vous voulez encore plus léger, renseignez vous sur OpenBox.
Vous avez désormais un ordinateur tournant sous Debian Linux qui vous donnera un aperçu de ce qu'on peut faire sous linux. Gardez en tête que cette version est destinée à faire fonctionner une CNC et que si vous n'arrivez pas à faire quelque chose (genre installer un jeu), c'est que vous n'êtes pas sur un système destiné à être un poste de travail. Tournez vous vers l'installation d'une Debian ou Ubuntu classique avant de décider que Linux ne fonctionne pas ou que c'est compliqué.
8-Paramétrage de LinuxCNC
Le paramétrage dépendra de la machine que vous avez à commander, c'est à vous de connaître les paramètres à appliquer. Je vais vous montrer celui correspondant à MA machine.
Allez dans le menu des applications en haut à gauche, placez vous sur le menu CNC et lancez le programme Latency Test permettant de connaître la latence de votre ordinateur. Celle ci dépendant de beaucoup de paramtètres, elle est propre à chaque ordinateur.
Cette valeur permettra à LinuxCNC de savoir à quel moment envoyer les commandes avant le moment voulu pour qu'elle arrive exactement quand il faut.
Commencez par faire un reset des statistiques puis utilisez abusivement l'ordinateur, déplacez des fenêtres à travers l'écran, surfez sur le web, faites tourner plein de programmes pour occuper votre PC. Notez ensuite la valeur la plus élevée de Max Jitter qui nous servira pour la configuration de LinuxCNC.
Si vous souhaitez commander un tour numérique, vous devrez ensuite utiliser LinuxCNC Pncconf Wizard, mais je m'arrêterai là pour l'aide à vous apporter n'ayant pas de tour.
Si vous avez une fraiseuse numérique, vous utiliserez LinuxCNC Stepconf Wizard. Il est en anglais, mais c'est assez simple à configurer.
Cliquez sur start à la première fenêtre pour commencer la configuration.
A partir d'ici, vous pouvez créer une nouvelle configuration (Create new configuration) ou modifier une configuration déjà existante (Modify a configuration).
Laissez les cases du bas cochées, cela vous créera une icône directement sur le bureau, ce qui sera plus pratique pour lancer Axis avec votre configuration. Cliquez sur Forward (suivant).
- Donnez un nom à votre machine (par exemple fraiseuse1)
- Sélectionnez le nombre d'axes que vous avez sur cette machine. Dans mon cas XYZ.
- Indiquez votre unité de mesure (inch ou mm)
- Indiquez vos drivers de moteur pas à pas. S'ils ne sont pas présents, choisissez Autre et renseignez - les champs nécessaires, les infos étant disponibles avec vos drivers.
- Dans base period maximum jitter, indiquez la valeur relevée précédemment, ou relancez le test en cliquant sur le bouton Test base period jitter.
Paramétrez les sorties du port parallèle. Les choix de droite permettent de paramétrer les entrées depuis la CNC vers le port parallèle, souvent utilisées pour les fin de courses, les origines ou l'arrêt d'urgence (pin 10 dans mon cas)
Laissez tel quel pour l'instant, cochez la case du bas pour qu'il vous informe à l'écran quand un changement d'outils est nécessaire.
Ici nous allons régler chaque axe de la machine. Indiquez le nombre de pas par tour de votre moteur (200 pour moi), les micropas du driver (16 dans mon cas), le rapport des poulies (1:1 s'il s'agit d'une vis), l'avance par tour de moteur (1,5mm dans mon cas).
La vitesse et l'accélération maximum sont à définir en cliquant sur le bouton Test Axis
Vitesse et accélération pourront (dans une certaine variation) être changées pendant le test. Utilisez les flèches du jog pour déplacer votre axe a mi-course.
Modifiez la valeur de test Area pour faire la moitié de la course de votre axe puis cliquez sur Run. L'axe va faire des aller retour sur la longueur que vous avez indiqué. Vous pouvez modifier la vitesse et l'accélération jusqu'au maximum où vous perdez des pas. Diminuez ensuite et gardez une marge de sécurité puis cliquez sur Valider. Les valeurs retenues sont copiées dans les champs correspondants.
Affinez les réglages sur toute la course de la machine pour vous assurer que tout va bien.
Si l'augmentation ou la diminution des valeurs pendant le test n'est pas assez importante (il bloque et on ne peut plus aller au-delà), validez et recommencez le test, la butée précédente devient la valeur de départ à faire varier. C'est difficile à expliquer, mais vous comprendrez en le faisant.
Entrez les dimensions de votre axe, l'emplacement des fin de courses si vous en avez défini à l'étape précédente et passez à l'axe suivant.
Effectuez la même chose pour tous les axes.
Sur la dernière fenêtre, vous pouvez régler la commande de broche. Je ne l'utilise pas et je ne serai pas d'une grande aide sur ce point. Rabattez vous vers google.
Validez la dernière étape et vous avez sur le bureau une icône qui s’appelle lancer le_nom_de_machine_choisi. Double cliquez dessus pour lancer Axis.
9-Utilisation d'Axis
Il se peut que vous ayez des messages d'erreur au démarrage. Comme c'est le premier lancement, n'en tenez pas compte et fermez les.
- Au lancement, la machine est en arrêt d'urgence (icône rouge en haut à gauche). Cliquez sur l'icone pour débloquer l'AU ou appuyez sur F1.
- La machine est arrêtée (deuxième icône en haut à gauche). Cliquez dessus pour activer la communication ou appuyez sur F2.
- Allez chercher votre fichier Gcode en faisant fichier/ouvrir ou directement la lettre O (comme Ouvrir). Un premier fichier gcode d'exemple est chargé au démarrage pour que vous puissiez faire des essais.
Placez votre nez de broche à l'endroit voulu en utilisant les flèches du clavier (gauche droite pour X, haut bas pour Y, page up/ page down pour Z). Une fois à la position désirée, cliquez sur le bouton POM des axes, en cochant l'axe à chaque fois. Pour vous déplacer en vitesse rapide, appuyez sur SHIFT(majuscule) avant d'utiliser les flèches de direction.
Vous pouvez vous déplacer dans la vue en cliquant dessus avec les boutons gauche, clic molette et droite de la souris, je vous laisse trouver comment ça fonctionne.
Naviguez dans les menus, si vous avez déjà utilisé une CNC, vous comprendrez à quoi ils servent. Si c'est votre première fois, faites des tests, mais soyez prudent.
Cliquez sur le bouton Play (la flèche bleue) pour lancer l'usinage.
Toute la doc de LinuxCNC en français se trouve ici :http://www.linuxcnc.org/docs/html/index_fr.html
Elle n'est pas forcément à jour mais elle est complète et répondra à toutes vos questions. Si ce n'est pas le cas, demandez de l'aide sur les forums ou utilisez google, c'est ainsi que j'ai démarré avec LinuxCNC et la CNC.
Votre machine est désormais une Debian wheezy faisant tourner le gestionnaire de fenêtres Xfce4. Utilisez ces mots clefs lors de votre recherche.
Dans un autre tutoriel, nous verrons comment installer cambam sur cette même machine
Dernière édition par dh42 le Lun 3 Fév 2020 - 12:03, édité 3 fois (Raison : remettre les images manquantes)
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Re: [tutoriel]Presentation et installation de LinuxCNC
Quelques paramétrages pratiques
On peut dors et déjà apporter quelques modifications au fonctionnement pour le rendre plus agréable
Ajouter des logiciels
Nous allons ajouter un logiciel qui va nous servir par la suite et qui servira d'exemple pour ajouter ou supprimer des logiciels.
J'aime utiliser un éditeur de textes puissant plus évolué que le simple bloc note fourni par défaut. Sous Linux, on ne va pas chercher un logiciel sur le site de l'éditeur pour l'installer, on demande à Linux de le faire et d'installer la dernière version, point.
Allez dans le menu des applications/système/Gestionnaire de paquets Synaptic. Indiquez votre mot de passe et lisez l'explication.
Cliquez sur le bouton recharger pour mettre à jour la base des logiciels, sinon Synaptic ne saura pas où trouver les logiciels.
Cliquez sur le bouton avec une loupe pour rechercher le logiciel geany et validez.
Dans la liste qui apparait, faites un clic droit sur le premier (geany tout court) et sélectionnez Sélectionner pour installation . Descendez dans la liste et faites de même pour le paquet geany-plugins validez les logiciel associés (dépendances) qu'il est nécessaire d'installer.
Cliquez ensuite sur Le bouton Appliquer de la barre des boutons, validez le résumé avant installation et attendez. Vous venez d'installer un nouveau logiciel.
Promenez vous dans Synaptic, vous comprendrez rapidement ce qu'on peut faire pour installer des logiciels.
Pour désinstaller un logiciel, il faut faire les mêmes étapes mais Sélectionner pour désinstallation dans le clic droit.
Connexion automatique
Inutile de passer par l'écran de connexion si on est seul utilisateur de l'ordinateur. On va donc indiquer que l'on veut être connecté au démarrage. Nous allons modifier un fichier système important, une erreur peut empêcher le démarrage de votre ordinateur, faites attention.
Comme l'utilisateur n'a pas le droit d'agir sur les fichiers du système, nous allons lancer les actions en root (administrateur).
Lancez Applications/Accessoires/Terminal administrateur. Vous êtes administrateur dans ce terminal, toutes les co....eries que vous lui direz de faire, il les fera, faites attention.
Lancez le logiciel geany que nous venons d'installer en tapant geany puis entrée. Geany se lance. Ne fermez pas le terminal, cela fermerait aussi geany.
Ouvrez le fichier Système de fichier/etc/lightdm/lightdm.conf. C'est lui que nous allons modifier.
Ligne 82 ajoutez les lignes suivantes:
Bien sûr, si vous avez choisi un autre login que manu, modifiez le code en conséquence!
Enregistrez le fichier, fermez geany et le terminal, puis redémarrez. Vous serez automatiquement connecté au démarrage.
A suivre...
On peut dors et déjà apporter quelques modifications au fonctionnement pour le rendre plus agréable
Ajouter des logiciels
Nous allons ajouter un logiciel qui va nous servir par la suite et qui servira d'exemple pour ajouter ou supprimer des logiciels.
J'aime utiliser un éditeur de textes puissant plus évolué que le simple bloc note fourni par défaut. Sous Linux, on ne va pas chercher un logiciel sur le site de l'éditeur pour l'installer, on demande à Linux de le faire et d'installer la dernière version, point.
Allez dans le menu des applications/système/Gestionnaire de paquets Synaptic. Indiquez votre mot de passe et lisez l'explication.
Cliquez sur le bouton recharger pour mettre à jour la base des logiciels, sinon Synaptic ne saura pas où trouver les logiciels.
Cliquez sur le bouton avec une loupe pour rechercher le logiciel geany et validez.
Dans la liste qui apparait, faites un clic droit sur le premier (geany tout court) et sélectionnez Sélectionner pour installation . Descendez dans la liste et faites de même pour le paquet geany-plugins validez les logiciel associés (dépendances) qu'il est nécessaire d'installer.
Cliquez ensuite sur Le bouton Appliquer de la barre des boutons, validez le résumé avant installation et attendez. Vous venez d'installer un nouveau logiciel.
Promenez vous dans Synaptic, vous comprendrez rapidement ce qu'on peut faire pour installer des logiciels.
Pour désinstaller un logiciel, il faut faire les mêmes étapes mais Sélectionner pour désinstallation dans le clic droit.
Connexion automatique
Inutile de passer par l'écran de connexion si on est seul utilisateur de l'ordinateur. On va donc indiquer que l'on veut être connecté au démarrage. Nous allons modifier un fichier système important, une erreur peut empêcher le démarrage de votre ordinateur, faites attention.
Comme l'utilisateur n'a pas le droit d'agir sur les fichiers du système, nous allons lancer les actions en root (administrateur).
Lancez Applications/Accessoires/Terminal administrateur. Vous êtes administrateur dans ce terminal, toutes les co....eries que vous lui direz de faire, il les fera, faites attention.
Lancez le logiciel geany que nous venons d'installer en tapant geany puis entrée. Geany se lance. Ne fermez pas le terminal, cela fermerait aussi geany.
Ouvrez le fichier Système de fichier/etc/lightdm/lightdm.conf. C'est lui que nous allons modifier.
Ligne 82 ajoutez les lignes suivantes:
- Code:
autologin-user=manu
autologin-user-timeout=0
Bien sûr, si vous avez choisi un autre login que manu, modifiez le code en conséquence!
Enregistrez le fichier, fermez geany et le terminal, puis redémarrez. Vous serez automatiquement connecté au démarrage.
A suivre...
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Re: [tutoriel]Presentation et installation de LinuxCNC
manolo66 a écrit:Dans un autre tutoriel, nous verrons comment installer cambam sur cette même machine
Hello et merci pour cette intro, ça donne envie de s'y mettre (pas a linux, hein, j'y suis déjà) mais à la CNC (mais, pas de place).
Pour cambam, j'avais fait une vidéo en son temps, a voir s'il y a eu du changement:
@+
meles- Admin
- Messages : 14932
Points : 21889
Date d'inscription : 13/05/2011
Localisation : Aubagne
Re: [tutoriel]Presentation et installation de LinuxCNC
Salut,
c'est parfait, ça illustre et complète ce que j'ai dit au dessus. Pas de changement pour l'installation, c'est toujours valable.
Je ne ferai donc pas de tuto pour l'installation, mais je vais ajouter quelques petites choses que j'ai rassemblées au fur et à mesure de mes recherches et qui peuvent être utiles
Appli android pour controler linuxCNC
http://www.androidpit.fr/application/com.cncpendantforlinuxcnc.app (8.99€)
Cambam plus n'utilise pas toutes les fonctionnalités de EMC
Cambam est incapable de générer toutes les valeurs possibles des Gcodes G61/G64 pour le paramètre d'usinage global 'Velocity mode' et on n'atteint pas la vitesse maximale possible lors de l'usinage
Solution
Il faut ajouter un post-processeur “rapide” qui permettra d'utiliser les codes manquants.
Source: http://www.usinages.com/emc2/emc2-tuto-complet-t18768.html
Réduire le nombre de lignes du Gcode
Petite précision concernant les ralentissements de la machine.
La valeur d'accélération est effectivement importante, mais il y a un autre paramètre à prendre en compte si vous utilisez CamBam.
Solution
Il faudra relancer cambam pour que les modifications soient prises en compte.
Source: http://www.usinages.com/emc2/emc2-tuto-complet-t18768.html
Exporter directement en ngc
source: http://id-conception.fr/Forum/viewtopic.php?f=24&t=1067
Problème: Cambam crash avec l'utilisation de textes
Lors de l'utilisation d'options de texte, cambam se crashe. Soit lors de la demande d'utiliser du texte, soit à l'ouverture de fichier cb contenant du texte.
Le message d'erreur éventuel indique juste ./libcambam64.so
Explication
Ce problème survient quand on lance cambam par mono chemin/cambam.exe. Il ne trouve pas le fichier libcambam64.so dans son chemin. Il suffit de se rendre à l'emplacement d'installation de cambam AVANT de lancer cambam.
Solution
créer un fichier /usr/local/bin/cambam contenant le texte suivant (en admettant que cambam soit installé dans /home/manu/CamBam0.9.:
Rendre ce fichier exécutable par sudo chmod +x /usr/local/bin/cambam
Créer un lanceur dans /usr/share/applications/cambam.desktop contenant le texte suivant:
Attention à remplacer le nom de l'utilisateur (ici manu) par le votre dans les codes ci dessus
Revenir à la position 0 à la fin du cycle
http://www.metabricoleur.com/t1437p180-aide-cambam
Attention! Le retour de la broche à 0 peut faire des dégats à la pièce ET à la broche qui s'arrête de tourner!
Quelques notions sur la ligne de commande
On tape les lignes de commandes dans un terminal (CTRL+ALT+F1 à F6, CTRL+ALT+F7 pour revenir à l'interface graphique) ou un pseudo terminal (interface graphique). On dit terminal ou console, selon les cultures, mais c'est la même chose.
L'avantage étant qu'il n'est pas nécessaire d'avoir une interface graphique pour exécuter des actions, un terminal est toujours accessible au démarrage de Linux.
Il existe des centaines de commandes (et même plus) mais seule une petit dizaine est vitale à connaître par cœur. Pour les autres, on se renseigne dessus quand on en a le besoin. Mais il faut savoir quelques petites choses pour ne pas être apeuré par tout ça.
Une commande est toujours accompagnée de son manuel, et il est donc facile de savoir comment fonctionne cette commande.
Exemple, la commande ls qui permet de lister le contenu d'un dossier (équivalent de dir sous DOS) verra son manuel accessible en précédant la commande par la commande man
Ce qui fera apparaître ceci
On voit la liste des options disponibles, qu'il est possible de cumuler pour modifier le comportement de la commande. Ainsi, je peux taper la commande ls -ailh pour avoir tous les fichiers, y compris les fichiers cachés (a), les inodes des fichiers(i), le format long de liste (l), avec la taille dans un format lisible par les humains (h)
Les manpages sont en anglais chez moi pour des questions de goût, mais vous pouvez les avoir en français.
L'utilisateur que vous avez créé sur le système n'a pas le droit de modifier le système, seulement ses propres fichiers. Pour modifier des choses sur le système, il faut devenir administrateur, une notion que Windows a commencé à faire apparaître aux utilisateurs, donc vous devriez comprendre.
On devient administrateur en changeant d'utilisateur (Switch User et non pas Super Utilisateur) en tapant su ou sudo (selon les systèmes) suivi de la commande. Par exemple sudo firefox lancera firefox en tant qu'utilisateur root (après vous avoir demandé votre mot de passe) qui est l'administrateur sur les systèmes linux.
Bon, ne lancez pas firefox ainsi. On ne lance d'ailleurs jamais de logiciels graphiques en root. Le moindre bug du logiciel PEUT AGIR sur l'ENSEMBLE du système et tout planter. On vous aura prévenu.
C'était juste pour l'exemple et pour amener un autre concept.
Quand vous cliquez sur l'icone de firefox, le système ne fait rien d'autre que d'envoyer la commande firefox comme si vous l'aviez tapée dans un terminal.
Vous comprenez que l'interface graphique est une surcouche de la ligne de commande, et qu'en connaissant les commandes on peut se passer de l'interface graphique. Un peu comme le mécano qui sait faire des trucs avec un tournevis dans le moteurs là où vous devez utiliser les manettes du tableau de bord.
Il existe des dizaines d'interfaces graphiques, personnalisables à l'infini. Il est donc difficile de dépanner quelqu'un en lui disant "clique sur le bouton en bas à gauche, va sur l'avant dernier menu et sélectionne la première entrée" puisque ce qu'il voit est peut être complètement différent de votre bureau.
Par contre, si on lui dit "ouvre un terminal et tape la commande 'firefox'", ça ouvrira firefox (si firefox est installé sur son ordinateur, bien sûr!) quel que soit son environnement de bureau. Et quasiment quel que soit le linux installé.
Bon, pour des questions de licence, sur Debian installée par LinuxCNC, firefox s’appelle iceweasel...
Dans le terminal, il y a une option pratique: la complétion, mauvaise traduction de complément automatique.
Si vous appuyez sur la touche TAB (à gauche du A), le système va essayer de compléter la commande ou le nom que vous avez commencé à taper.
Essayez, dans un terminal, tapez icew (sur Debian) ou fire(sur Ubuntu) et appuyez sur TAB. Le système va compléter la commande, parce qu'il n'en existe qu'une seule qui commence par ces lettres.
Et s'il y en a plusieurs, il ne complétera pas, mais un second appui sur TAB fera apparaître toutes les commandes qui commencent par ces lettres. Essayez avec ice.
Il suffit de rajouter quelques lettres pour que la complétion fonctionne.
C'est LE truc super cool qui nous fait passer pour des hackers haut de gamme avec une vitesse de frappe digne d'un acteur de Matrix sous acid!
Quelques truc pratiques sur l'interface graphique de Linux
Vous pouvez cliquer avec la molette sur un ascenseur pour vous rendre immédiatement à cet endroit. Ne cliquez pas sur la partie à déplacer, mais bien à l'endroit où vous voulez vous rendre (en fait, ça place l'ascenseur mobile à cet endroit)
Lorsque vous sélectionnez du texte avec la souris, il est placé dans un presse papier spécial (différent du CTRL+C), vous collez à l'endroit où vous le voulez en cliquant avec la molette. Le presse papier du CTRL+C est toujours disponible, donc on en a 2.
Si votre navigateur est ouvert en arrière plan, et que vous avez une fenêtre au premier plan, mais que vous voyez toujours votre navigateur, vous pouvez faire défiler la page de votre navigateur en roulant la molette sur celui ci sans être obligé de le passer au premier plan. Très pratique pour suivre un tuto sans jongler entre les fenêtres!
De base, sur Debian ou Ubuntu, il y a 4 bureaux virtuels (ça sera dans W10), on peut séparer les activités sans être perturbé par toutes les fenêtres ouvertes. On change de bureau avec CTRL+ALT+flèche droite ou gauche, ou en cliquant sur la case du bureau concerné (en haut à droite dans Debian)
c'est parfait, ça illustre et complète ce que j'ai dit au dessus. Pas de changement pour l'installation, c'est toujours valable.
Je ne ferai donc pas de tuto pour l'installation, mais je vais ajouter quelques petites choses que j'ai rassemblées au fur et à mesure de mes recherches et qui peuvent être utiles
Appli android pour controler linuxCNC
http://www.androidpit.fr/application/com.cncpendantforlinuxcnc.app (8.99€)
Cambam plus n'utilise pas toutes les fonctionnalités de EMC
Cambam est incapable de générer toutes les valeurs possibles des Gcodes G61/G64 pour le paramètre d'usinage global 'Velocity mode' et on n'atteint pas la vitesse maximale possible lors de l'usinage
Solution
Il faut ajouter un post-processeur “rapide” qui permettra d'utiliser les codes manquants.
Les post processeurs sont dans c:\Documents dans Settings\all users\application data\cambam plus 0.9.8\post.
et dans /home/votre_utilisateur/.config/CamBam plus 0.9.8/post sous Linux
Dupliquer EMC2.cbpp en EMC2-speed.cbpp, et modifier la ligne:
{$units} {$distancemode} {$velocitymode} {$cuttercomp(off)}
Pour la transformer en :
{$units} {$distancemode} {$velocitymode} P0.05 {$cuttercomp(off)}\\
Ici, la précision a été fixée à 5 centièmes de mm, ce qui est très largement suffisant pour de la gravure, mais vous pourrez avoir à trouver votre valeur pour vos besoins.
Source: http://www.usinages.com/emc2/emc2-tuto-complet-t18768.html
Réduire le nombre de lignes du Gcode
Petite précision concernant les ralentissements de la machine.
La valeur d'accélération est effectivement importante, mais il y a un autre paramètre à prendre en compte si vous utilisez CamBam.
Solution
Lors de la conversion en Polyligne (Edit/convert to/polyline) CamBam transforme tout en lignes ou arc, et pour cela il utilise un paramètre définissant
la précision de suivie du tracé. Ce paramètre est malheureusement sans unité, autrement dit il ne change pas, que l'on travaille en pouce ou en mm.
Par défaut ce paramètre est réglé sur 0.001, autrement dit, lorsque l'on travaille en mm la précision du tracé n'autorise pas de déviation de
plus de 0.001mm ce qui produit une quirielle de traits très court = Gros fichier G-Code et ralentissement de l'usinage.
Pour info, la même pièce (un cœur) passe de 970 lignes avec 0.001, 250 lignes avec 0.05 et 100 lignes avec 0.1 (sans que je vois la
moindre différence sur l'aspect de la pièce) .... et les ralentissements on disparus :-D
le paramètre en question se trouve dans le menu: Tools/options ligne: SplineToPolylineTolerance. (Dessin - Tolérance conversion Splitline->Polyline en français) (je tourne avec 0.1 pour du bois)
N'oubliez pas de le remettre à 0.001 si vous travaillez en pouces, sinon vous n'aurez qu'une précision de 2.5mm :eek: (0.1 pouce)
Vous pouvez jouer sur ce paramètre si vous utiliser une version de Mach3 limité à 500 lignes afin de faire maigrir le G-code
ATTENTION: il faut modifier le paramètre AVANT de commencer à convertir vos traits/splines.
La modif de ce paramètre nécessitera également d'augmenter la valeur de jointure (EDIT/join) sinon les traits ne se raccorderont
pas (pour 0.1 en SplineToPolylineTolerance je tourne à 0.2/0.3 en jointure)
Il faudra relancer cambam pour que les modifications soient prises en compte.
Source: http://www.usinages.com/emc2/emc2-tuto-complet-t18768.html
Exporter directement en ngc
source: http://id-conception.fr/Forum/viewtopic.php?f=24&t=1067
Voici un petit modif, qui évite pas mal de manipulation durant l'utilisation de CamBam avec LinuxCNC EMC2 (qui veut du NGC).
Dans beaucoup (Peut-être bien tous) des Tutos, il est indiqué de sauvegarder le fichier Gcode dans CamBam (Extension nc) et ensuite de le renommer sous linux avec l'extension .ngc.
Alors qu'il suffit simplement dans CamBam de faire les manipulations suivante pour que votre fichier Gcode aie automatiquement la bonne extension :
- Aller dans le menus "Outils"
- Puis sélectionner "Options"
- Aller dans la Partie "Génération du Gcode" de la nouvelle fenêtre qui c'est ouverte.
- Modifier la ligne : "Extension Gcode par défaut" en remplaçant le .nc par .ngc
- Et enfin, quitter la fenêtre, et si tout c'est bien passé, vos fichier Gcode auront directement la bonne extension.
Problème: Cambam crash avec l'utilisation de textes
Lors de l'utilisation d'options de texte, cambam se crashe. Soit lors de la demande d'utiliser du texte, soit à l'ouverture de fichier cb contenant du texte.
Le message d'erreur éventuel indique juste ./libcambam64.so
Explication
Ce problème survient quand on lance cambam par mono chemin/cambam.exe. Il ne trouve pas le fichier libcambam64.so dans son chemin. Il suffit de se rendre à l'emplacement d'installation de cambam AVANT de lancer cambam.
Solution
créer un fichier /usr/local/bin/cambam contenant le texte suivant (en admettant que cambam soit installé dans /home/manu/CamBam0.9.:
- Code:
#!/bin/bash
cd /home/manu/CamBam0.9.8
mono CamBam.exe
Rendre ce fichier exécutable par sudo chmod +x /usr/local/bin/cambam
Créer un lanceur dans /usr/share/applications/cambam.desktop contenant le texte suivant:
- Code:
[Desktop Entry]
Name=Cambam
Comment=Dessiner en gcode
Exec=/usr/local/bin/cambam
Icon=/home/manu/CamBam0.9.8/cambam.png
Terminal=false
Type=Application
Categories=GTK;Graphics;
StartupNotify=true
X-Ubuntu-Gettext-Domain=CamBam
Attention à remplacer le nom de l'utilisateur (ici manu) par le votre dans les codes ci dessus
Revenir à la position 0 à la fin du cycle
http://www.metabricoleur.com/t1437p180-aide-cambam
Attention! Le retour de la broche à 0 peut faire des dégats à la pièce ET à la broche qui s'arrête de tourner!
Quelques notions sur la ligne de commande
On tape les lignes de commandes dans un terminal (CTRL+ALT+F1 à F6, CTRL+ALT+F7 pour revenir à l'interface graphique) ou un pseudo terminal (interface graphique). On dit terminal ou console, selon les cultures, mais c'est la même chose.
L'avantage étant qu'il n'est pas nécessaire d'avoir une interface graphique pour exécuter des actions, un terminal est toujours accessible au démarrage de Linux.
Il existe des centaines de commandes (et même plus) mais seule une petit dizaine est vitale à connaître par cœur. Pour les autres, on se renseigne dessus quand on en a le besoin. Mais il faut savoir quelques petites choses pour ne pas être apeuré par tout ça.
Une commande est toujours accompagnée de son manuel, et il est donc facile de savoir comment fonctionne cette commande.
Exemple, la commande ls qui permet de lister le contenu d'un dossier (équivalent de dir sous DOS) verra son manuel accessible en précédant la commande par la commande man
- Code:
man ls
Ce qui fera apparaître ceci
On voit la liste des options disponibles, qu'il est possible de cumuler pour modifier le comportement de la commande. Ainsi, je peux taper la commande ls -ailh pour avoir tous les fichiers, y compris les fichiers cachés (a), les inodes des fichiers(i), le format long de liste (l), avec la taille dans un format lisible par les humains (h)
Les manpages sont en anglais chez moi pour des questions de goût, mais vous pouvez les avoir en français.
L'utilisateur que vous avez créé sur le système n'a pas le droit de modifier le système, seulement ses propres fichiers. Pour modifier des choses sur le système, il faut devenir administrateur, une notion que Windows a commencé à faire apparaître aux utilisateurs, donc vous devriez comprendre.
On devient administrateur en changeant d'utilisateur (Switch User et non pas Super Utilisateur) en tapant su ou sudo (selon les systèmes) suivi de la commande. Par exemple sudo firefox lancera firefox en tant qu'utilisateur root (après vous avoir demandé votre mot de passe) qui est l'administrateur sur les systèmes linux.
Bon, ne lancez pas firefox ainsi. On ne lance d'ailleurs jamais de logiciels graphiques en root. Le moindre bug du logiciel PEUT AGIR sur l'ENSEMBLE du système et tout planter. On vous aura prévenu.
C'était juste pour l'exemple et pour amener un autre concept.
Quand vous cliquez sur l'icone de firefox, le système ne fait rien d'autre que d'envoyer la commande firefox comme si vous l'aviez tapée dans un terminal.
Vous comprenez que l'interface graphique est une surcouche de la ligne de commande, et qu'en connaissant les commandes on peut se passer de l'interface graphique. Un peu comme le mécano qui sait faire des trucs avec un tournevis dans le moteurs là où vous devez utiliser les manettes du tableau de bord.
Il existe des dizaines d'interfaces graphiques, personnalisables à l'infini. Il est donc difficile de dépanner quelqu'un en lui disant "clique sur le bouton en bas à gauche, va sur l'avant dernier menu et sélectionne la première entrée" puisque ce qu'il voit est peut être complètement différent de votre bureau.
Par contre, si on lui dit "ouvre un terminal et tape la commande 'firefox'", ça ouvrira firefox (si firefox est installé sur son ordinateur, bien sûr!) quel que soit son environnement de bureau. Et quasiment quel que soit le linux installé.
Bon, pour des questions de licence, sur Debian installée par LinuxCNC, firefox s’appelle iceweasel...
Dans le terminal, il y a une option pratique: la complétion, mauvaise traduction de complément automatique.
Si vous appuyez sur la touche TAB (à gauche du A), le système va essayer de compléter la commande ou le nom que vous avez commencé à taper.
Essayez, dans un terminal, tapez icew (sur Debian) ou fire(sur Ubuntu) et appuyez sur TAB. Le système va compléter la commande, parce qu'il n'en existe qu'une seule qui commence par ces lettres.
Et s'il y en a plusieurs, il ne complétera pas, mais un second appui sur TAB fera apparaître toutes les commandes qui commencent par ces lettres. Essayez avec ice.
Il suffit de rajouter quelques lettres pour que la complétion fonctionne.
C'est LE truc super cool qui nous fait passer pour des hackers haut de gamme avec une vitesse de frappe digne d'un acteur de Matrix sous acid!
Quelques truc pratiques sur l'interface graphique de Linux
Vous pouvez cliquer avec la molette sur un ascenseur pour vous rendre immédiatement à cet endroit. Ne cliquez pas sur la partie à déplacer, mais bien à l'endroit où vous voulez vous rendre (en fait, ça place l'ascenseur mobile à cet endroit)
Lorsque vous sélectionnez du texte avec la souris, il est placé dans un presse papier spécial (différent du CTRL+C), vous collez à l'endroit où vous le voulez en cliquant avec la molette. Le presse papier du CTRL+C est toujours disponible, donc on en a 2.
Si votre navigateur est ouvert en arrière plan, et que vous avez une fenêtre au premier plan, mais que vous voyez toujours votre navigateur, vous pouvez faire défiler la page de votre navigateur en roulant la molette sur celui ci sans être obligé de le passer au premier plan. Très pratique pour suivre un tuto sans jongler entre les fenêtres!
De base, sur Debian ou Ubuntu, il y a 4 bureaux virtuels (ça sera dans W10), on peut séparer les activités sans être perturbé par toutes les fenêtres ouvertes. On change de bureau avec CTRL+ALT+flèche droite ou gauche, ou en cliquant sur la case du bureau concerné (en haut à droite dans Debian)
Dernière édition par dh42 le Jeu 23 Aoû 2018 - 4:48, édité 2 fois (Raison : erreur chemin d'accès dans le lanceur)
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Re: [tutoriel]Presentation et installation de LinuxCNC
Ajouter un panneau pratique à Axis
De base, l'interface d'Axis suffit pour la plupart des opérations. Je vais vous montrer comment ajouter un panneau avec des boutons qui peuvent vous simplifier la vie.
Nous allons modifier les fichiers correspondant au paramétrage de votre machine mais si vous relancez stepconf par la suite, vos modifications seront perdues. Sachez que, en général, une fois la machine paramétrée, il est plus simple d'aller modifier directement le fichier de configuration que de passer toutes les étapes de l'assistant. Donc on ne relance plus stepconf après quelques semaines d'utilisation.
Nous allons le relancer une dernière fois pour lui dire que nous voulons ajouter un nouveau panneau. Sélectionnez la modification de machine, sélectionnez votre machine et cochez les cases tel que sur l'image suivante lorsque vous arrivez à la partie concernée:
Allez jusqu'au bout de l'assistant.
Ouvrez maintenant geany que nous avons installé précédemment (Applications/Developpement/Geany) . Ouvrez le fichier votre_utilisateur/linuxcnc/configd/nom_de_machine/custompanel.xml
Collez le texte suivant dedans:
Sauvegardez.
Le panneau est désormais présent dans l'interface, mais il n'est connecté à rien, donc les boutons ne fonctionneront pas. On va faire la liaison entre le programme et l'interface en modifiant le fichier custom_postgui.hal. Ouvrez le avec geany et copiez le code suivant dedans:
C'est presque fini. Il faut maintenant dire à Axis qu'on veut utiliser ce panneau. Ouvrez avec geany le fichier votre_machine.ini. Vous constaterez que tous les réglages effectués avec stepconf y sont notés de façon simple.
Nous allons ajouter certaines choses:
Dans le section DISPLAY ajoutez une ligne PYVCP = custompanel.xml (indique à Axis d'utiliser ce panneau)
Dans la section HAL assurez vous d'avoir POSTGUI_HALFILE = custom_postgui.hal et HALFILE = custom.hal, sinon, ajoutez les lignes (commandes à lancer après Axis)
Dans la section HALUI ajoutez les lignes MDI_COMMAND = G0 Z30 et MDI_COMMAND = G0 X0 Y0 Z30 (commandes qui seront effectuées par le retour au home: en premier lieu montée de la broche à 30, puis retour à X0 et Y0 et Z30. Modifiez la valeur de Z au besoin)
Enregistrez et relancez Linuxcnc, vous devriez avoir un beau panneau supplémentaire.
De base, l'interface d'Axis suffit pour la plupart des opérations. Je vais vous montrer comment ajouter un panneau avec des boutons qui peuvent vous simplifier la vie.
Nous allons modifier les fichiers correspondant au paramétrage de votre machine mais si vous relancez stepconf par la suite, vos modifications seront perdues. Sachez que, en général, une fois la machine paramétrée, il est plus simple d'aller modifier directement le fichier de configuration que de passer toutes les étapes de l'assistant. Donc on ne relance plus stepconf après quelques semaines d'utilisation.
Nous allons le relancer une dernière fois pour lui dire que nous voulons ajouter un nouveau panneau. Sélectionnez la modification de machine, sélectionnez votre machine et cochez les cases tel que sur l'image suivante lorsque vous arrivez à la partie concernée:
Allez jusqu'au bout de l'assistant.
Ouvrez maintenant geany que nous avons installé précédemment (Applications/Developpement/Geany) . Ouvrez le fichier votre_utilisateur/linuxcnc/configd/nom_de_machine/custompanel.xml
Collez le texte suivant dedans:
- Code:
<?xml version='1.0' encoding='UTF-8'?>
<pyvcp>
<!--
Include your PyVCP panel here.
The contents of this file will not be overwritten when you run stepconf again.
-->
<labelframe text="Boutons de Jog">
<font>("Helvetica",16)</font>
<!-- le bouton de jog de l'axe X -->
<hbox>
<relief>RAISED</relief>
<bd>3</bd>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"x-plus"</halpin>
<text>"X+"</text>
</button>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"x-moins"</halpin>
<text>"X-"</text>
</button>
</hbox>
<!-- le bouton de jog de l'axe Y -->
<hbox>
<relief>RAISED</relief>
<bd>3</bd>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"y-plus"</halpin>
<text>"Y+"</text>
</button>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"y-moins"</halpin>
<text>"Y-"</text>
</button>
</hbox>
<!-- le bouton de jog de l'axe Z -->
<hbox>
<relief>RAISED</relief>
<bd>3</bd>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"z-plus"</halpin>
<text>"Z+"</text>
</button>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"z-moins"</halpin>
<text>"Z-"</text>
</button>
</hbox>
<!-- le curseur de vitesse de jog -->
<vbox>
<relief>RAISED</relief>
<bd>3</bd>
<label>
<text>"Vitesse de Jog"</text>
<font>("Helvetica",16)</font>
</label>
<scale>
<font>("Helvetica",14)</font>
<halpin>"jog-speed"</halpin>
<resolution>1</resolution>
<orient>HORIZONTAL</orient>
<min_>0</min_>
<max_>80</max_>
</scale>
</vbox>
<vbox>
<relief>RAISED</relief>
<bd>3</bd>
<button>
<font>("Helvetica",20)</font>
<width>2</width>
<halpin>"rapid-to-home"</halpin>
<text>"Home"</text>
</button>
</vbox>
</labelframe>
<labelframe text="Temps écoulé">
<font>("Helvetica",10)</font>
<hbox>
<relief>RAISED</relief>
<bd>1</bd>
<label>
<text>"Time:"</text>
<font>("Helvetica",10)</font>
</label>
<u32>
<halpin>"elaps_hour"</halpin>
<font>("Helvetica",10)</font>
<format>"02d:"</format>
</u32>
<u32>
<halpin>"elaps_min"</halpin>
<font>("Helvetica",10)</font>
<format>"02d:"</format>
</u32>
<u32>
<halpin>"elaps_sec"</halpin>
<font>("Helvetica",10)</font>
<format>"02d"</format>
</u32>
</hbox>
</labelframe>
</pyvcp>
Sauvegardez.
Le panneau est désormais présent dans l'interface, mais il n'est connecté à rien, donc les boutons ne fonctionneront pas. On va faire la liaison entre le programme et l'interface en modifiant le fichier custom_postgui.hal. Ouvrez le avec geany et copiez le code suivant dedans:
- Code:
# Inclure vos commandes HAL personnalisées ici
# Les commandes contenues dans ce fichier seront lancées après quel'interface graphique AXIS (PyVCP inclus) aura démarré.
sets spindle-at-speed true
# connecte les boutons PyVCP pour X
net my-jogxmoins halui.jog.0.minus <= pyvcp.x-moins
net my-jogxplus halui.jog.0.plus <= pyvcp.x-plus
# connecte les boutons PyVCP pour Y
net my-jogymoins halui.jog.1.minus <= pyvcp.y-moins
net my-jogyplus halui.jog.1.plus <= pyvcp.y-plus
# connecte les boutons PyVCP pour Z
net my-jogzmoins halui.jog.2.minus <= pyvcp.z-moins
net my-jogzplus halui.jog.2.plus <= pyvcp.z-plus
# connecte le curseur de vitesse de jog PyVCP
net my-jogspeed halui.jog-speed <= pyvcp.jog-speed-f
net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home
net remote-rapid-to-home halui.mdi-command-01 <= pyvcp.rapid-to-home
# Elapsed time
# Charge le composant timer
loadrt time
# Ajoute le fil de servo
addf time.0 servo-thread
# Dès que le programme démarre, le timer se lance
net prog-is-running <= halui.program.is-running
net prog-is-running => time.0.start
# Affiche l'heure dans le paneau
net cycle-seconds time.0.seconds => pyvcp.elaps_sec
net cycle-minutes time.0.minutes => pyvcp.elaps_min
net cycle-hours time.0.hours => pyvcp.elaps_hour
C'est presque fini. Il faut maintenant dire à Axis qu'on veut utiliser ce panneau. Ouvrez avec geany le fichier votre_machine.ini. Vous constaterez que tous les réglages effectués avec stepconf y sont notés de façon simple.
Nous allons ajouter certaines choses:
Dans le section DISPLAY ajoutez une ligne PYVCP = custompanel.xml (indique à Axis d'utiliser ce panneau)
Dans la section HAL assurez vous d'avoir POSTGUI_HALFILE = custom_postgui.hal et HALFILE = custom.hal, sinon, ajoutez les lignes (commandes à lancer après Axis)
Dans la section HALUI ajoutez les lignes MDI_COMMAND = G0 Z30 et MDI_COMMAND = G0 X0 Y0 Z30 (commandes qui seront effectuées par le retour au home: en premier lieu montée de la broche à 30, puis retour à X0 et Y0 et Z30. Modifiez la valeur de Z au besoin)
Enregistrez et relancez Linuxcnc, vous devriez avoir un beau panneau supplémentaire.
Dernière édition par dh42 le Lun 3 Fév 2020 - 12:06, édité 1 fois (Raison : remettre les images manquantes)
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Contrôler linuxCnc avec VNC
L'ordinateur qui contrôle la CNC se trouve au garage, mais je ne reste pas toujours devant et mon bureau est au 2e étage. Si je veux voir l'avancement, il faut descendre 2 étages en traversant la maison, aller au garage, constater que tout va bien (ou mal) puis refaire le trajet en sens inverse.
Je vais donc vous apprendre à paramétrer votre ordinateur pour vous y connecter avec VNC
Les étapes sont:
- 1 Installation du serveur VNC sur l'ordinateur
- 2 Activation du serveur VNC
- 3 Paramétrage du serveur VNC
- 4 Lancement du serveur VNC
- 5 Lancement du serveur vnc avec la session
1-Installation du serveur
Suivez les instructions au dessus pour installer les paquets x11vnc et x11vnc-data. N'installez pas d'autre serveur vnc, il vous ouvrent une nouvelle session et vous ne verrez pas celle qui est en cours sur la machine CNC.
Vous pouvez aussi ouvrir un terminal (applications/Accessoires/Terminal) et taper la commande suivante, ce qui revient au même:
2-Activation du serveur
Il faut autoriser les connexions entrantes vers la session graphique. Nous allons modifier un fichier que nous avons déjà modifié pour la connexion automatique. Mais maintenant, nous allons le lancer en ligne de commande.
Dans le terminal, tapez (ou copiez collez avec la molette, voir au dessus) la commande suivante:
Ce qui demande d'ouvrir en root (le sudo) avec geany le fichier /etc/lightdm/lightdm.conf
En bas du fichier, décommentez et modifiez les lignes sous [VNCServer] pour obtenir ceci:
3-Paramétrage du serveur VNC
L'ordinateur qui contrôle ma CNC est sur mon réseau local, qui n'est pas accessible depuis l'extérieur par VNC, je pourrai donc me permettre de ne pas mettre de mot de passe. MAIS, je n'ai pas envie que quelqu'un, en local ou à distance, s'amuse à démarrer la broche pendant que je change une fraise! Donc, nous allons mettre un mot de passe au serveur VNC qui n'autorisera pas les connexions sans celui ci.
Ouvrez un terminal, ou réutilisez celui ouvert, et tapez la commande suivante (validez par entrée):
Il vous demande ensuite quel mot de passe vous désirez mettre. Il n'affiche pas les retours de frappe, c'est normal, alors concentrez vous sur le mot de passe. Validez à chaque fois, et les messages suivant. Le mot de passe sera stocké dans /home/votre_login/.vnc/passwd.
4-Lancement du serveur
Dès maintenant, nous allons pouvoir lancer le serveur, mais pour éviter d'avoir à retaper une longue ligne de commande à chaque fois, nous allons l'enregistrer dans un fichier.
Dans le terminal, entrez la commande suivante:
Remplacez votre_login par le login de l'utilisateur sur l'ordinateur.
Copiez le code suivant dans le fichier, puis enregistrez:
On demande de lancer le serveur vnc (x11vnc) avec les options d'authentification invité (-auth guess) qui tournera en permanence (-forever) en local (-loop) et ne plantera pas si une application graphique se crash (-noxdamage) et se ralancera (-repeat) en utilisant les mots de passe stockés dans le fichier (-rfbauth /home/manu/.vnc/passwd) sur le port donné (-rfbport 5900) en session partagée (-shared).
Vous voyez qu'on peut paramétrer finement le serveur...
Enregistrez et fermez geany.
On va donner l'autorisation à ce fichier d'être lancé comme un programme en tapant la commande suivante dans le terminal:
C'est fait, vous venez de créer votre premier script! Vous pouvez le lancer pour tester l'accès VNC depuis un autre ordinateur par la commande:
Plein de choses s'affichent dans la console: ce sont les logs du serveur VNC qui vous tient au courant de tout ce qui se passe. En cas de problème, il indique ce qui s'est passé et pourquoi.
Allez sur un autre ordinateur et lancez une visualisation VNC. Je vous laisse trouver tout seul un client VNC pour votre ordinateur. Comme on est en réseau local, montez la profondeur de couleur au maximum, ainsi que la qualité.
Notez que si vous lancez dans un terminal la commande x11vnc sans les options, vous aurez accès sans mot de passe au serveur VNC, mais dès que vous fermerez la connexion, le serveur s'arrêtera et vous ne pourrez plus vous y reconnecter.
Arrêtez le serveur VNC par CTRL+C ou en fermant le terminal dans lequel il est lancé.
5 - Lancement automatique du serveur VNC avec la session
Actuellement, il faut lancer le script manuellement pour pouvoir se connecter à l'ordinateur CNC. Pas très pratique quand on est déjà en haut et qu'on a oublié de le faire...
On va le faire graphiquement.
Allez dans le menu Applications/Paramètres/Session et démarrage. Dans l'onglet Démarrage automatique cliquez sur le bouton Ajouter.
Une fenêtre vous demande les détails:
- Le nom: vous mettez ce que vous voulez. Mettez un truc parlant comme "Serveur VNC"
- La description: Libre aussi, mais soyez précis, ça aide par la suite. "Lancement du serveur VNC au démarrage de la session"
- La commande: cliquez sur le petit dossier à droite du champ et naviguez jusqu'au script que vous avons créé. Vous le trouverez dans votre_login puisque c'est là qu'on l'a placé. Une fois le fichier validé, vous devriez avoir /home/votre_login/serveur_VNC.sh.
Validez la fenêtre, fermez tout et redémarrez. Vous pouvez désormais vous connecter au serveur, voir ce qui s'y passe et agir sur la session ouverte.
Je vais donc vous apprendre à paramétrer votre ordinateur pour vous y connecter avec VNC
Les étapes sont:
- 1 Installation du serveur VNC sur l'ordinateur
- 2 Activation du serveur VNC
- 3 Paramétrage du serveur VNC
- 4 Lancement du serveur VNC
- 5 Lancement du serveur vnc avec la session
1-Installation du serveur
Suivez les instructions au dessus pour installer les paquets x11vnc et x11vnc-data. N'installez pas d'autre serveur vnc, il vous ouvrent une nouvelle session et vous ne verrez pas celle qui est en cours sur la machine CNC.
Vous pouvez aussi ouvrir un terminal (applications/Accessoires/Terminal) et taper la commande suivante, ce qui revient au même:
- Code:
sudo aptitude install x11vnc x11vnc-data
2-Activation du serveur
Il faut autoriser les connexions entrantes vers la session graphique. Nous allons modifier un fichier que nous avons déjà modifié pour la connexion automatique. Mais maintenant, nous allons le lancer en ligne de commande.
Dans le terminal, tapez (ou copiez collez avec la molette, voir au dessus) la commande suivante:
- Code:
sudo geany /etc/lightdm/lightdm.conf
Ce qui demande d'ouvrir en root (le sudo) avec geany le fichier /etc/lightdm/lightdm.conf
En bas du fichier, décommentez et modifiez les lignes sous [VNCServer] pour obtenir ceci:
- Code:
[VNCServer]
enabled=true
port=5900
width=1024
height=768
depth=8
3-Paramétrage du serveur VNC
L'ordinateur qui contrôle ma CNC est sur mon réseau local, qui n'est pas accessible depuis l'extérieur par VNC, je pourrai donc me permettre de ne pas mettre de mot de passe. MAIS, je n'ai pas envie que quelqu'un, en local ou à distance, s'amuse à démarrer la broche pendant que je change une fraise! Donc, nous allons mettre un mot de passe au serveur VNC qui n'autorisera pas les connexions sans celui ci.
Ouvrez un terminal, ou réutilisez celui ouvert, et tapez la commande suivante (validez par entrée):
- Code:
x11vnx -storepasswd
Il vous demande ensuite quel mot de passe vous désirez mettre. Il n'affiche pas les retours de frappe, c'est normal, alors concentrez vous sur le mot de passe. Validez à chaque fois, et les messages suivant. Le mot de passe sera stocké dans /home/votre_login/.vnc/passwd.
4-Lancement du serveur
Dès maintenant, nous allons pouvoir lancer le serveur, mais pour éviter d'avoir à retaper une longue ligne de commande à chaque fois, nous allons l'enregistrer dans un fichier.
Dans le terminal, entrez la commande suivante:
- Code:
geany /home/votre_login/serveur_VNC.sh
Remplacez votre_login par le login de l'utilisateur sur l'ordinateur.
Copiez le code suivant dans le fichier, puis enregistrez:
- Code:
#!/bin/bash
x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/manu/.vnc/passwd -rfbport 5900 -shared
On demande de lancer le serveur vnc (x11vnc) avec les options d'authentification invité (-auth guess) qui tournera en permanence (-forever) en local (-loop) et ne plantera pas si une application graphique se crash (-noxdamage) et se ralancera (-repeat) en utilisant les mots de passe stockés dans le fichier (-rfbauth /home/manu/.vnc/passwd) sur le port donné (-rfbport 5900) en session partagée (-shared).
Vous voyez qu'on peut paramétrer finement le serveur...
Enregistrez et fermez geany.
On va donner l'autorisation à ce fichier d'être lancé comme un programme en tapant la commande suivante dans le terminal:
- Code:
chmod +x /home/votre_login/serveur_VNC.sh
C'est fait, vous venez de créer votre premier script! Vous pouvez le lancer pour tester l'accès VNC depuis un autre ordinateur par la commande:
- Code:
bash /home/votre_login/serveur_VNC.sh
Plein de choses s'affichent dans la console: ce sont les logs du serveur VNC qui vous tient au courant de tout ce qui se passe. En cas de problème, il indique ce qui s'est passé et pourquoi.
Allez sur un autre ordinateur et lancez une visualisation VNC. Je vous laisse trouver tout seul un client VNC pour votre ordinateur. Comme on est en réseau local, montez la profondeur de couleur au maximum, ainsi que la qualité.
Notez que si vous lancez dans un terminal la commande x11vnc sans les options, vous aurez accès sans mot de passe au serveur VNC, mais dès que vous fermerez la connexion, le serveur s'arrêtera et vous ne pourrez plus vous y reconnecter.
Arrêtez le serveur VNC par CTRL+C ou en fermant le terminal dans lequel il est lancé.
5 - Lancement automatique du serveur VNC avec la session
Actuellement, il faut lancer le script manuellement pour pouvoir se connecter à l'ordinateur CNC. Pas très pratique quand on est déjà en haut et qu'on a oublié de le faire...
On va le faire graphiquement.
Allez dans le menu Applications/Paramètres/Session et démarrage. Dans l'onglet Démarrage automatique cliquez sur le bouton Ajouter.
Une fenêtre vous demande les détails:
- Le nom: vous mettez ce que vous voulez. Mettez un truc parlant comme "Serveur VNC"
- La description: Libre aussi, mais soyez précis, ça aide par la suite. "Lancement du serveur VNC au démarrage de la session"
- La commande: cliquez sur le petit dossier à droite du champ et naviguez jusqu'au script que vous avons créé. Vous le trouverez dans votre_login puisque c'est là qu'on l'a placé. Une fois le fichier validé, vous devriez avoir /home/votre_login/serveur_VNC.sh.
Validez la fenêtre, fermez tout et redémarrez. Vous pouvez désormais vous connecter au serveur, voir ce qui s'y passe et agir sur la session ouverte.
Dernière édition par manolo66 le Mar 2 Juin 2015 - 14:24, édité 1 fois
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Utiliser une manette pour contrôler LinuxCNC
Utiliser une manette ou un joystick pour contrôler linuxcnc
[Rappel] Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici:http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc
On peut vraiment tout faire avec Linux, y compris détourner l'utilisation première de certains matériel. J'avoue que c'est un peu du gadget, mais c'est tellement pratique que ce serait dommage de s'en passer.
Dans l'atelier, le clavier n'est pas vraiment nécessaire, la plupart des actions se font à la souris. De plus, clavier et poussière ne font pas forcément bon ménage et le clavier prend de la place là où on en manque toujours...
L'idée est de remplacer (au moins de l'avoir en parallèle) le clavier par une commande moins imposante pour contrôler la CNC.
Et puis ça fait tellement geek et futuriste de piloter la machine avec un joystick que je vois l'admiration et le respect s'allumer dans les yeux des spectateurs qui me voient leur créer les pièces demandées, un peu comme si je pilotais la navette spatiale. Priceless!
Tout d'abord, il vous faudra une manette ou un joystick de jeu, de préférence USB. Cherchez dans les occasions si vous n'en avez pas, faites le tour des dépôts ventes ou sur le bon coin, mais on en trouve entre 2 et 10 €, selon l'état et le modèle. On trouve même des adaptateurs pour mettre en USB la plupart des manettes, cherchez sur la baie ou amazon.
J'utilise un joystick Microsoft SideWinder Precision 2 (acheté chez cashtruc pour 5 €) qui a un fil de 2m de long, ce qui est très bien pour déplacer le joystick à l'endroit voulu. En plus il a plein de boutons qui me permettent de paramétrer ce que je veux dessus.
Autant je suis très critique sur les logiciels estampillés Microsoft, autant je considère les matériels portant cette marque comme solides et fiables, mais c'est mon avis personnel.
On peut aussi utiliser des manettes sans fil, ce que je faisais au début, mais la baisse de puissance des piles ou des parasites amènent des problèmes dans la commande de la machine. C'est suffisamment risqué pour que je vous le déconseille, rien de tel que les fils.
Le joystick dans le bureau pour la rédaction de ce tuto.
==== Installation du logiciel de contrôle ====
Il va falloir installer auparavant une dépendance afin que le logiciel fonctionne correctement. Pour cela, il va falloir ajouter un dépôt au système.
- Ouvrez le gestionnaire de paquets Synaptic (Applications/Système/Gestionnaire de paquets synaptic)
- Allez dans le menu Configuration/Dépots
- Cliquez sur l'onglet Other Software
- Cliquez sur le bouton Add
- Entrez la ligne suivante: deb http://http.debian.net/debian wheezy-backports main
- Validez, fermez
- Cliquez sur le bouton Recharger
- Cliquez sur le bouton de recherche, tapez libsdl2 et installez libsdl2-2.0-0 (clic droit, sélectionner pour installation). Faites la même chose pour libqt4-network
- Cliquez sur appliquer
- Fermez synaptic
Le programme permettant de mapper les touches s’appelle Antimicro. Il est disponible à cette adresse:
https://github.com/Ryochan7/antimicro/releases
Téléchargez le paquet antimicro_2.14-1.jessie_i386.deb, c'est celui qui va bien pour wheezy (votre version de Debian), et enregistrez le paquet sur votre ordinateur.
On peut l'installer graphiquement, mais je vais vous apprendre comment installer un paquet deb téléchargé avec le terminal.
- Ouvrez un terminal (Applications/Emulateur de terminal)
- tapez la commande suivante en adaptant ce qui doit l'être: sudo dpkg -i /home/votre_utilisateur/Téléchargements/antimicro_2.14-1.jessie_i386.deb (pensez à la complétion (voir dans les posts précédents) pour vous aider à taper la commande)
- Validez, entrez votre mot de passe
- Le logiciel est installé!
==== Lancement du logiciel antimicro ====
On peut lancer le logiciel au démarrage de la session. Pour cela, il suffit de créer un script de démarrage comme on l'a fait précédemment pour le serveur VNC.Mais je préfère faire autrement, car je n'ai pas envie qu'un coup de coude dans le joystick déplace la broche par accident.
J'ouvre un terminal( Applications/Emulateur de Terminal ou clic droit sur le bureau Ouvrir un terminal ici) et je tape la commande antimicro que je valide par entrée. Si je ferme le terminal par la suite, le joystick est désactivé (et j'en suis certain). Si j'en ai besoin de nouveau, je recommence.
==== Paramétrage du joystick ====
Au lancement de antimicro, choisissez le français et validez tout par défaut; la fenêtre de configuration s'ouvre. Je ne vais pas entrer dans les détails, juste vous expliquer quelques petites choses, le reste est assez simple.* Lorsque vous aurez créé votre configuration, sauvegardez là. Si vous n'en avez qu'une, elle sera automatiquement rechargée au démarrage du logiciel
* Testez les boutons et axes de votre manette/joystick, vous les verrez s'éclairer
* La première fois que vous lancez le logiciel, mettez à jour les manettes (CTRL+U ou menu Options). C'est important sinon des choses peuvent ne pas fonctionner.
* cliquez sur le bouton que vous voulez modifier et réglez les options
* Si vous donnez un nom (Axe X, ou Arrêt d'urgence) vous pouvez afficher les noms à la place des boutons si vous cliquez sur le bouton Noms
* Il y a des options déjà prévues pour les axes (haut/bas, ou gauche/droite, etc) Utilisez les, même si on peut les modifier autrement.
* Enregistrez votre configuration en lui donnant le nom de votre contrôleur à la racine de votre home (votre dossier personnel)
* Enfin, cachez le logiciel (ne le fermez pas, sinon il n'agira pas sur LinuxCNC) par CTRL + H
* Le logiciel est placé en haut à droite, à côté de l'heure. Un clic sur l'icone le fait réapparaître.
Personnellement, j'ai paramétré les axes X et Y sur le joystick, l'axe Z est sur la rotation du joystick, la gâchette est la touche SHIFT (avance rapide sur linuxcnc), ce qui me permet de commander toute la broche avec le joystick. Les autres boutons me permettent d'arrêter l'AU (F1), démarrer/arrêter la machine (F2), ouvrir un fichier gcode (o) et de marquer la prise d'origine de l'axe en cours (orig). Je ne me sers pas des autres boutons et axes, mais rien ne dis que je n'en aurai pas besoin plus tard. Il suffit de laisser le curseur sur un bouton de linuxcnc pour connaître la touche correspondante et la paramétrer dans antimicro.
Je n'ai pas de quoi vous faire une vidéo, mais croyez moi sur parole, ça fonctionne très bien. Maintenant, le clavier est rangé et je ne le sors que lorsque j'en ai besoin, tout le reste se fait au joystick.
Dernière édition par dh42 le Lun 3 Fév 2020 - 12:09, édité 1 fois (Raison : remettre les images manquantes)
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Outils complémentaires à Axis
Axis (l'interface de linuxCNC) peut fonctionner en coordination avec d'autres logiciels. Je vais vous présenter deux outils sympas.
Ce programme permet de dessiner et usiner (en perçage) des grilles de ventilation ou de haut parleur, simplement en définissant la forme et quelques éléments. Il est très rapide à prendre en main même s'il est en anglais.
Si Axis est lancé, le bouton quit se transforme en Write to Axis qui permet d'avoir directement le gcode chargé. Ne reste plus qu'à lancer l'usinage.
Téléchargement: http://wiki.linuxcnc.org/uploads/grill-13.py
Source: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_LinuxCNC_G-Code_Generators#Grill_Drilling_Software
On peut régler plein de choses dans ce programme, le nombre de gravures, la hauteur, les angles, les diamètres, ...
Si Axis est lancé, le bouton quit se transforme en Write to Axis qui permet d'avoir directement le gcode chargé. Ne reste plus qu'à lancer l'usinage.
Téléchargement: http://wiki.linuxcnc.org/uploads/bezel-11.py
Source: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_LinuxCNC_G-Code_Generators#Bezel_Engraving_Software
Il en existe d'autres sur la page donnée en source, que cambam peut remplacer plus facilement, mais c'était pour montrer que des outils annexes existent gratuitement.
Grill Drilling Software (Dessinateur de grille)
Ce programme permet de dessiner et usiner (en perçage) des grilles de ventilation ou de haut parleur, simplement en définissant la forme et quelques éléments. Il est très rapide à prendre en main même s'il est en anglais.
Si Axis est lancé, le bouton quit se transforme en Write to Axis qui permet d'avoir directement le gcode chargé. Ne reste plus qu'à lancer l'usinage.
Téléchargement: http://wiki.linuxcnc.org/uploads/grill-13.py
Source: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_LinuxCNC_G-Code_Generators#Grill_Drilling_Software
Bezel engraving software (Gravure de vernier)
On peut régler plein de choses dans ce programme, le nombre de gravures, la hauteur, les angles, les diamètres, ...
Si Axis est lancé, le bouton quit se transforme en Write to Axis qui permet d'avoir directement le gcode chargé. Ne reste plus qu'à lancer l'usinage.
Téléchargement: http://wiki.linuxcnc.org/uploads/bezel-11.py
Source: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_LinuxCNC_G-Code_Generators#Bezel_Engraving_Software
Il en existe d'autres sur la page donnée en source, que cambam peut remplacer plus facilement, mais c'était pour montrer que des outils annexes existent gratuitement.
Dernière édition par manolo66 le Dim 2 Aoû 2020 - 21:39, édité 1 fois
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Linuxcnc-toolbox
Voici un autre outil, mais celui ci est un peu particulier car c'est moi qui l'ai fait pour répondre à un besoin.
En effet, il m'arrive souvent de sortir la pièce de la machine puis de m'apercevoir que j'aurai du faire un autre usinage, ou que les dimensions ne sont pas bonnes. Sans compter les fois où la pièce bouge à cause d'un bridage mal fait.
Bon, je pense qu'avec l'expérience ça m'arrivera de moins en moins, mais le problème dans ces cas là, c'est que l'origine du programme ne correspond plus à l'origine de la pièce...
J'ai pris l'habitude de marquer sur la pièce elle même le zéro, ce qui me permet de revenir dessus, mais parfois l'origine est sur le brut et plus sur la pièce.
D'autres fois, on veut pouvoir graver une pièce existante avec précision (j'ai gravé avec cette méthode et succès des coques de téléphone du commerce)
Du coup, j'ai sorti le python pour écrire un programme qui va me retrouver l'origine à partir d'une position connue.
Par exemple, dans l'image ci dessous, et donc sur ma pièce, je connais les coordonnées exacte du centre du cercle ou des angles du parallélogramme.
http://dldivers.absolacom.com/linuxcnc/origine_piece.png
Il suffit donc deplacer brider la pièce sur la table et de mettre la broche au dessus d'un point dont les coordonnées sont connues (par exemple un angle du rectangle) et de lancer linuxcnc-toolbox et de lui indiquer les coordonnées connues.
http://dldivers.absolacom.com/linuxcnc/linuxcnc-toolbox.png
Lorsqu'on appuie sur Apply, la broche monte à la position choisie pour le Z (position de sécurité parce que la broche va bouger au dessus de la pièce), et se déplace au zéro X et zéro Y de la pièce. Puis les prises d'origine sont faites pour X et Y. On peut alors lancer le programme.
Bien sûr, la précision se fait à l’œil, mais en montant une épingle sur la broche et en faisant attention, j'ai réussi à reprendre des usinages sans la moindre trace. Il faut cependant qu'un côté de la pièce soit bien positionné en parallèle d'un axe.
Voici quelques infos à connaître pour utiliser cet outil:
Téléchargement: http://dldivers.absolacom.com/linuxcnc-toolbox/linuxcnc-toolbox-0.6.tar.gz
Une fois téléchargé (sur votre bureau par exemple), faites un clic droit dessus et choisissez Extraire ici. Entrez dans le dossier linuxcnc-toolbox et double cliquez sur linuxcnc-toolbox (tout court). Si ça ne fonctionne pas, il faudra lancer le programme dans un terminal pour voir les messages d'erreur.
A l'origine, ce programme n'était pas destiné à être diffusé. J'ai supprimé des choses devenues inutiles et nettoyé un peut le code avant de vous le transmettre. Il fonctionne sur mes deux machines Debian et Ubuntu, mais si vous aviez des problèmes à le faire fonctionner, je suis là.
Au besoin, ouvrez un sujet + MP
En effet, il m'arrive souvent de sortir la pièce de la machine puis de m'apercevoir que j'aurai du faire un autre usinage, ou que les dimensions ne sont pas bonnes. Sans compter les fois où la pièce bouge à cause d'un bridage mal fait.
Bon, je pense qu'avec l'expérience ça m'arrivera de moins en moins, mais le problème dans ces cas là, c'est que l'origine du programme ne correspond plus à l'origine de la pièce...
J'ai pris l'habitude de marquer sur la pièce elle même le zéro, ce qui me permet de revenir dessus, mais parfois l'origine est sur le brut et plus sur la pièce.
D'autres fois, on veut pouvoir graver une pièce existante avec précision (j'ai gravé avec cette méthode et succès des coques de téléphone du commerce)
Du coup, j'ai sorti le python pour écrire un programme qui va me retrouver l'origine à partir d'une position connue.
Par exemple, dans l'image ci dessous, et donc sur ma pièce, je connais les coordonnées exacte du centre du cercle ou des angles du parallélogramme.
http://dldivers.absolacom.com/linuxcnc/origine_piece.png
Il suffit donc de
http://dldivers.absolacom.com/linuxcnc/linuxcnc-toolbox.png
Lorsqu'on appuie sur Apply, la broche monte à la position choisie pour le Z (position de sécurité parce que la broche va bouger au dessus de la pièce), et se déplace au zéro X et zéro Y de la pièce. Puis les prises d'origine sont faites pour X et Y. On peut alors lancer le programme.
Bien sûr, la précision se fait à l’œil, mais en montant une épingle sur la broche et en faisant attention, j'ai réussi à reprendre des usinages sans la moindre trace. Il faut cependant qu'un côté de la pièce soit bien positionné en parallèle d'un axe.
Voici quelques infos à connaître pour utiliser cet outil:
- Le paquet python-qt4 devra être installé (voir dans les postes précédent pour l'installer). C'est ce qui sert pour l'interface graphique.
- Le programme ne nécessite pas de droits particulier pour fonctionner. C'est une archive à décompresser que vous placez dans votre home où vous voulez.
- Axis doit être lancé avant de lancer linuxcnc-toolbox, sinon celui ci fonctionne en mode démo et ne fait rien.
- L'arrêt d'urgence doit être coupé et la machine doit être activée dans Axis (F1 et F2).
- Vous devez définir les POM des 3 axes X Y et Z avant de faire fonctionner linuxcnc-toolbox, sinon axis ne veut rien faire
- Vous devez définir les POM de préférence en ARRIERE du point d'origine pour X et Y, afin d'être sûr que le zéro final sera bien dans la plage accessible à la machine
- Le programme peut se mettre à jour seul lorsque vous cliquez sur le bouton adéquat dans le About
- Le programme est en anglais parce que j'ai l'habitude de travailler dans cette langue, et parce que les problèmes d'accent entre QT et Debian ne sont pas encore réglés. Mais le fonctionnement est facile à comprendre.
Téléchargement: http://dldivers.absolacom.com/linuxcnc-toolbox/linuxcnc-toolbox-0.6.tar.gz
Une fois téléchargé (sur votre bureau par exemple), faites un clic droit dessus et choisissez Extraire ici. Entrez dans le dossier linuxcnc-toolbox et double cliquez sur linuxcnc-toolbox (tout court). Si ça ne fonctionne pas, il faudra lancer le programme dans un terminal pour voir les messages d'erreur.
A l'origine, ce programme n'était pas destiné à être diffusé. J'ai supprimé des choses devenues inutiles et nettoyé un peut le code avant de vous le transmettre. Il fonctionne sur mes deux machines Debian et Ubuntu, mais si vous aviez des problèmes à le faire fonctionner, je suis là.
Au besoin, ouvrez un sujet + MP
Dernière édition par manolo66 le Lun 3 Aoû 2020 - 12:31, édité 4 fois
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Re: [tutoriel]Presentation et installation de LinuxCNC
[Rappel]Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici: http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc. Merci de ne pas poster à la suite pour garder ce tuto lisible.
Je me rends compte que je n'ai pas indiqué les manipulations nécessaires à faire sur linux pour pouvoir utiliser la touche ALT avec cambam.
Par défaut, sur linux, la touche ALT+clic gauche sert à déplacer une fenêtre sans utiliser la barre de titre. C'est utile parce qu'avec certains gestionnaires de bureau, on peut se passer de barre de titre pour gagner en hauteur d'affichage. Cambam utilise la même combinaison de touches pour faire tourner la vue mais ne permet pas de changer la touche utilisée, donc il faut modifier l'attribution de la touche ALT vers la touche windows du clavier (appelée Super sous linux).
Pour Ubuntu:
Pour LinuxCNC:
Linuxcnc utilise le gestionnaire de fenêtre xfce4 et permet de régler le fonctionnement recherché par l'intermédiaire d'une fenêtre
Je me rends compte que je n'ai pas indiqué les manipulations nécessaires à faire sur linux pour pouvoir utiliser la touche ALT avec cambam.
Par défaut, sur linux, la touche ALT+clic gauche sert à déplacer une fenêtre sans utiliser la barre de titre. C'est utile parce qu'avec certains gestionnaires de bureau, on peut se passer de barre de titre pour gagner en hauteur d'affichage. Cambam utilise la même combinaison de touches pour faire tourner la vue mais ne permet pas de changer la touche utilisée, donc il faut modifier l'attribution de la touche ALT vers la touche windows du clavier (appelée Super sous linux).
Pour Ubuntu:
- Il faut installer le paquet dconf-tools (voir dans les posts précédents au dessus pour installer un logiciel)
- Appuyer sur ALT+F2 (ou ouvrir un terminal) et taper dconf-editor puis valider
- Cela vous ouvre une sorte de "regedit". Déroulez org, gnome, desktop, vm, preferences
- Double cliquez sur la ligne mouse-button-modifier sur le 2eme colonne (là où est marqué < Alt>)
- Remplacez < Alt> par < Super> (sans espaces, c'est juste pour que le forum ne cherche pas à interpréter la basile)
- Validez par entrée, puis fermez la fenêtre. C'est terminé et actif immédiatement.
Pour LinuxCNC:
Linuxcnc utilise le gestionnaire de fenêtre xfce4 et permet de régler le fonctionnement recherché par l'intermédiaire d'une fenêtre
- Allez dans Menu des applications /Paramètres, Peaufinage des fenêtres
- Dans la fenêtre, allez sur l'onglet Accessibilité
- Déroulez le menu déroulant pour choisir Super à la place de Alt
- Cliquez sur le bouton Fermer pour valider
- C'est actif immédiatement.
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Importation des outils de cambam dans linuxcnc
[Rappel]Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici: http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc. Merci de ne pas poster à la suite pour garder ce tuto lisible.
Lorsque l'on utilise Cambam, on a réglé tous ses outils pour préparer ses usinages et créer le gcode. Mais si vous utilisez beaucoup d'outils (>4), vous risquez d'avoir une erreur de linuxcnc qui va vous dire qu'il ne connait pas l'outil indiqué.
Mais pourquoi linuxcnc a t-il besoin de connaitre les outils, vu que les parcours sont calculés par Cambam? Il n'a qu'à suivre les instructions vu qu'il ne sert qu'à piloter la machine!
Oui, mais linuxcnc va s'assurer de certains points afin que l'usinage puisse se faire correctement. Il va en particulier s'assurer que les parcours d'outils restent dans la surface d'usinage de la machine et que le tranchant de l'outil aussi. Si votre parcours d'outil passe à 3mm du bord mais que le diamètre de votre fraise fait 12mm, vous risquez d’usiner les montants de votre cnc...
Il est donc important qu'il connaisse le diamètre de l'outil utilisé.
De plus, linuxcnc sait utiliser un changeur d'outils DIY et a donc besoin de connaitre la longueur et le type d'outils.
Bon, pour le loisir, le changeur d'outils n'est pas forcément nécessaire, mais il faut quand même indiquer les diamètres d'outil.
Si vous utilisez Cambam:
J'ai écrit un petit programme en python qui vous permet de faire ceci automatiquement. Il doit fonctionner sur windows si python est installé mais comme il est prévu pour linuxcnc, il vaut mieux l'utiliser sur linux.
Vous devez maintenant pouvoir utiliser vos fichiers gcode sans avoir à changer les outils pour que ça fonctionne.
Si vous n'utilisez pas cambam
Rien ne vous empêche d'utiliser linuxcnc avec d'autres logiciels, mais il faudra quand même définir les outils. Il suffit de le faire manuellement.
Dans Linuxcnc aller dans le menu fichier / Editer la table d'outils
Ensuite, créer les outils avec les mêmes numéros que dans le logiciel de génération de gcode pour que linuxcnc sache quel est l'outil et comment il doit se comporter avec
Cliquer sur sur AddTool, remplir les champs nécessaires (prendre modèle sur les outils déjà en place). L'image ci dessus correspond à ma table d'outils.
Les données importantes à remplir sont:
Ne pas supprimer l'outil N°99999 qui sert de fin de fichier.
Cliquer sur SaveFile et Quit.
Ensuite, ne pas oublier de faire Fichier/Recharger la table d'outils
[Rappel]Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici: http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc. Merci de ne pas poster à la suite pour garder ce tuto lisible.
Lorsque l'on utilise Cambam, on a réglé tous ses outils pour préparer ses usinages et créer le gcode. Mais si vous utilisez beaucoup d'outils (>4), vous risquez d'avoir une erreur de linuxcnc qui va vous dire qu'il ne connait pas l'outil indiqué.
Mais pourquoi linuxcnc a t-il besoin de connaitre les outils, vu que les parcours sont calculés par Cambam? Il n'a qu'à suivre les instructions vu qu'il ne sert qu'à piloter la machine!
Oui, mais linuxcnc va s'assurer de certains points afin que l'usinage puisse se faire correctement. Il va en particulier s'assurer que les parcours d'outils restent dans la surface d'usinage de la machine et que le tranchant de l'outil aussi. Si votre parcours d'outil passe à 3mm du bord mais que le diamètre de votre fraise fait 12mm, vous risquez d’usiner les montants de votre cnc...
Il est donc important qu'il connaisse le diamètre de l'outil utilisé.
De plus, linuxcnc sait utiliser un changeur d'outils DIY et a donc besoin de connaitre la longueur et le type d'outils.
Bon, pour le loisir, le changeur d'outils n'est pas forcément nécessaire, mais il faut quand même indiquer les diamètres d'outil.
Si vous utilisez Cambam:
J'ai écrit un petit programme en python qui vous permet de faire ceci automatiquement. Il doit fonctionner sur windows si python est installé mais comme il est prévu pour linuxcnc, il vaut mieux l'utiliser sur linux.
- Téléchargez le programme cambam2linuxcnc.py sur votre linuxcnc. Mettez le dans le dossier que vous voulez mais il faudra savoir le retrouver.
- Dans le même dossier, placez le fichier de bibliothèque d'outils Default-mm.xml ou Default-in.xml (selon que vos outils sont en mm ou en pouces) de Cambam que vous trouverez dans /home/utilisateur/.config/CamBam plus 0.9.8/tools sur linux ou C:\ProgramData\CamBam plus 0.9.8\tools\ sur Windows.
- Allez, avec l'explorateur de fichiers, dans le dossier où vous avez téléchargé le programme python et faites un double clic dessus.
- Un nouveau fichier tool.tbl.c2l devrait apparaitre. C'est le fichier d'outils à fournir à linuxcnc.
- Renommez le en tool.tbl et copiez le à l'emplacement /home/utilisateur/linuxcnc/configs/nom_machine/ (où utilisateur est votre nom d'utilisateur sur linux et nom_machine est le nom que vous avez donné à la machine linuxcnc). Remplacez le fichier existant et relancez linuxcnc.
Vous devez maintenant pouvoir utiliser vos fichiers gcode sans avoir à changer les outils pour que ça fonctionne.
Si vous n'utilisez pas cambam
Rien ne vous empêche d'utiliser linuxcnc avec d'autres logiciels, mais il faudra quand même définir les outils. Il suffit de le faire manuellement.
Dans Linuxcnc aller dans le menu fichier / Editer la table d'outils
Ensuite, créer les outils avec les mêmes numéros que dans le logiciel de génération de gcode pour que linuxcnc sache quel est l'outil et comment il doit se comporter avec
Cliquer sur sur AddTool, remplir les champs nécessaires (prendre modèle sur les outils déjà en place). L'image ci dessus correspond à ma table d'outils.
Les données importantes à remplir sont:
- Le numéro d'outil (à faire correspondre à celui du logiciel de gcode)
- Le numéro POC (gardez le même que le numéro d'outil par simplicité)
- La colonne Z indique la longueur de la queue mais sans changeur d'outil, 0 va très bien (il faut mettre obligatoirement un nombre)
- La colonne diamètre
- Le commentaire, facultatif mais utile
Ne pas supprimer l'outil N°99999 qui sert de fin de fichier.
Cliquer sur SaveFile et Quit.
Ensuite, ne pas oublier de faire Fichier/Recharger la table d'outils
[Rappel]Ce sujet ne doit rester qu'un tutoriel, la discussion se fait ici: http://www.metabricoleur.com/t9420-annonce-tuto-linux-et-linuxcnc. Merci de ne pas poster à la suite pour garder ce tuto lisible.
manolo66- très actif
- Messages : 203
Points : 370
Date d'inscription : 09/02/2015
Age : 54
Localisation : Perpignan (66)
Sujets similaires
» Installation PV + support au sol en auto-installation
» Tutoriel tournage métaux
» [Annonce Tutoriel] Cambam - Travaux pratiques 2 - Usinage 3D
» Tutoriel Soudure à l'arc
» Tutoriel sur le rangement de l'atelier (5S)
» Tutoriel tournage métaux
» [Annonce Tutoriel] Cambam - Travaux pratiques 2 - Usinage 3D
» Tutoriel Soudure à l'arc
» Tutoriel sur le rangement de l'atelier (5S)
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum