nouveau pour migration vers Linux CNC

  • Auteur de la discussion veyrine
  • Date de début
V

veyrine

Apprenti
Bonjour à tous,

Ma CNC "fabrication maison" tourne actuellement sur Ninos sans trop de problème (quelques plantages assez rares, mais impossible de dire si c'est à cause du soft ou de parasites). En tout cas, je n'ai qu'une confiance moyenne dans la liaison Usb.
J'aimerais migrer vers Linux CNC avec un PC dédié à l'usinage mais les liens trouvés datent de 2010, les liens de téléchargement ne fonctionnent plus, et puis le matériel a pas mal évolué depuis.
Je me suis formé récemment à Fusion 360 (sur mon PC de bureau) et je pense que ça ferait bon ménage avec Linux CNC (via un transfert du Gcode avec clé usb ou carte Sd).
Je n'y connais riens en Gcode car Ninos intégrait tout depuis le dessin jusqu'à l'usinage (ce qui est super pour un débutant, mais qui n'existe pas ailleur.
Je n'y connais rien non plus en Linux

Je vais donc sûrement avoir besoin d'aide dans les semaines qui viennent, mais tout d'abord quelques questions :

- Que me conseillez-vous comme PC récent ?
- existe-t-il des tuto récents en français ?
- l'interface parallèle (qu'on ne trouve plus sur aucun PC) est elle indispensable ou une RJ45 est suffisante ?
- quelle carte récente faut-il acheter entre le PC et la machine ?
 
L

Lezard

Ouvrier
Bonjour,

Je suis loin d'être un spécialiste, mais j'ai récemment mis en route une CN pilotée avec LinuxCNC.

Pour ma part, j'ai choisi de démarrer avec un vieux PC de bureau équipé d'une sortie parallèle, et une carte chinoise de base '5 axes' à qq dollars. C'est je crois la configuration la plus simple, et j'ai été assez surpris par le résultat, dans le bon sens. La mise en route s'est bien passée, il faut passer un peu de temps à comprendre l'architecture du système pour s'y retrouver, mais ça se fait. Attention toutefois : une grosse part des ressources est en anglais, il y a notamment un excellent forum. Tu trouveras aussi des gens ici qui sont pointus sur le sujet, et de bonne volonté, j'en profite au passage pour les remercier pour leur aide sur mon projet.

Comme je n'avais _jamais_ fait ce genre de travail, j'ai commencé à tout installer sur mon bureau, brancher la BOB sur le port // et mis des diodes en sortie de la carte, qq inters à poussoir en entrée, pour simuler le fonctionnement sans aucun risque. Cela permet de 'jouer' en étant totalement décontracté :wink:

Pour le choix de la carte, je pense qu'il te faut commencer par voir quel mode de pilotage tu peux avoir sur tes moteurs (pas à pas, 0-10v en couple ou vitesse ...), calculer le nombre d'entrée/sortie dont tu auras besoin (fins de course, ARU, M/A de la broche etc..) et choisir une carte en fonction de tout ça. La solution port parallèle est très simple de mise en oeuvre.

A propos de la liaison Fusion 360 / LinuxCNC, cela marche bien, j'utilise ça tous les jours.

Juste une remarque : fais bien attention de configurer la course de ton axe Z avec le 0 en bout de course vers le haut, c'est à dire que toute la course est en négatif quand tu travailles en coordonnées machine. C'est apparemment la norme, et en tous cas le post-processeur LinuxCNC de base dans Fusion 360 ajoute au parcours outil un dégagement Z0 en _coordonnées machines_ (G53) au début et à la fin de chaque programme... Si tu fais comme moi, et positionnes le 0 au bas de la course Z, tu auras la surprise de voir la broche descendre en rapide vers le 0 absolu, ce qui peut poser de gros problèmes (aka accident !). Il y a bien sûr des solution de contournement, tu peux éditer le GCode à la main pour supprimer les lignes en G53 (mais il faut être sûr de ne jamais oublier de le faire), tu peux aussi modifier le post-processeur pour qu'il n'ajoute plus ces 2 lignes (pas encore vraiment réussi pour ma part), le plus simple et le plus sûr est de configurer ta machine correctement avec le Z0 en haut de la course.

Voilà, bon courage dans ton projet, c'est un peu ardu au début mais je crois que cela vaut le coup, car tu auras au bout du compte une solution que tu comprendras bien et avec laquelle tu seras en confiance.
 
S

speedjf37

Compagnon
Bonjour,

Pas tout à fait d'accord avec @Lezard

Téléchargement ici:

Pour créer une clé USB bootable Rufus :

Doc en français ici:

Mon Z est à 200mm en Haut.
Le Zéro pièce en général sur le dessus du brut (sauf si surfaçage et épaisseur à calibrer).

Il y moyen de gérer le Gcode pour ne pas avoir de problème avec la plongée du Z.

Pour moi le plus difficile c'est d'avoir un temps de latence correct dépend du PC et de la carte graphique.
Il y éventuellement des paramètres à adapter dans Grub
.
JF
 
L

Lezard

Ouvrier
Bonjour,

Le Zéro pièce en général sur le dessus du brut (sauf si surfaçage et épaisseur à calibrer).

On est d'accord pour le 0 pièce, je procède comme toi. Ce que j'essayais d'expliquer, c'est que le post-pro de Fusion 360 ajoute un dégagement à 0 en _coordonnées machines_ et non pas en coordonnées pièces. Je me suis fait avoir une fois, grosse frayeur, j'attirais donc juste l'attention de notre ami sur ce 'détail'...
 
S

speedjf37

Compagnon

Fichiers joints

  • nk-linuxcnc.zip
    10 KB · Affichages: 93
Dernière édition:
S

soulsurfer

Nouveau
Bonjour tout le monde,

Je suis le fils en question :wink:, du coup j'ai ajouté 2 options dans le post-processeur. Pour soit remplacer G53 par G28 soit complètement enlever la ligne G53.

Ces options sont sous forme de case à cocher dans les paramètres du post-processeur dans Fusion.
post-proc-inuxcnc.png


Edit:

Le code importante dans le post-processeur pour ces options est à partir de la ligne 1413

 
Dernière édition:
V

veyrine

Apprenti
Merci pour ces réponses, j'ai de quoi lire...
Je vais dans un premier temps m'acheter un mini PC, afin de pouvoir l'intégrer dans mon armoire électrique.
je suis prêt à mettre une centaine d'Euros, Il y a pas mal de choix, que me conseillez-vous ?
est ce que celui là irait au niveau latence ?
 
S

speedjf37

Compagnon
Bonsoir,

Choisir un PC sans connaitre l'interface avec le matériel c'est risqué.
Hormis le port // cela risque d'être compliqué.
voir:

Dans un mini PC pas de place pour une carte d'extension.

PS) pour l'instant c'est le port // que j'utilise et Pilotage VFD en RS485 ou moteur DC et relais
Sinon expérimentation en cours avec Raspberry PI 4 et carte PIC32 en SPI et pilotage VFD en RS485 (impossible sur le PI3)

JF
 
V

veyrine

Apprenti
C'est bien ce qui semblait, il faut absolument un port parallèle !
Ca va être compliqué de trouver ça sur un mini pc
Merci de ta réponse JF
 
S

speedjf37

Compagnon
Il y a des carte en PCI



exemple MESA
 
V

veyrine

Apprenti
Ca m'a l'air d'être bien compliqué : il faut un PC avec carte pour faire un port //, puis une autre carte pour transformer les signaux du port // en signaux dir/step pour chacun des moteurs.
Ah oui, c'est vrai que j'ai oublié de dire le principal sur ma machine :
3 moteurs pas à pas (nema 34) pilotés en dir/step, 3 capteurs de zéro machine, un capteur palpeur d'outil en Z, les capteurs de sur-course banchés en parallèle, une sortie pour aspirateur à copaux, une sortie pour lubrification, et un 0/10V pour le variateur de fréquence de la broche HF, futures extensions possible pour un quatrième axe, une caméra, une manivelle électronique ..
 
Dernière édition:
L

Lezard

Ouvrier
Bonjour,

Merci à @speedj37 et à @soulsurfer pour les infos, je vais regarder à nouveau ça avec un peu plus d'attention.

Pour @veyrine, si tu utilises le port //, tu n'as pas besoin de carte pour générer les signaux dir/step, le PC le fait et les envoie via le port //. Tu n'as besoin que d'une 'break out board' pour isoler/protéger le port // des interférences qui pourraient éventuellement (?) remonter de la CN vers le PC, et faciliter la connexion. Cette carte est très simple. Le seul bémol est que le nombre d'entrée/sortie est limité, et vite saturé.
 
M

MegaHertz

Compagnon
Bonjour,

Il me semble que LinuxCNC est fait pour être contrôlé par un écran tactile.
Jettes un oeil à Mach3.
 
M

MegaHertz

Compagnon
Oui, j'avais vu LinuxCNC couplé à un poste gmoccapi.

LinuxCNC fonctionne bien mais si tu es plus habitué à Windows regardes voir ce que Mach3 (ou Mach4) propose.
De toute façon quand tu utilises la CFAO les deux se valent, il suffit d'utiliser le bon postproc.
 
V

veyrine

Apprenti
Plus j'avance, et moins c'est clair.
Je vais donc me prendre un PC core I5, 3,3ghz, carte vidéo intégrée (j'ai peut-être trouvé un Dell Optiplex 7020)
je pensais acheter un couple de carte Mesa 5i25 et 7i76, mais apparemment, il n'y a pas de possibilité de piloter mon variateur de broche HF en 0/10V.
Quelqu'un peut-il m'aider, car il y a tellement de choix que je ne sais plus ou donner de la tête et puis mon Anglais est un peu rouillé ?
Merci
Jacques
 
G

gaston48

Compagnon
Plus j'avance, et moins c'est clair.
Bonsoir,
Si tu veux exploiter au plus vite ta CNC, il y a d'autres possibilités plus "plug and play"
par exemple sous Windows UCCNC et AXBB-E

le combo est à 200 Euros environ tout est très bine documenté sur le site
tu as un forum uccnc bien suivi sur cnczone.
Si vraiment tu as une vocation pour Linuxcnc pour déjà avoir le plaisir de mettre les mains sous le capot !
je peux t'aider aussi, le package le plus compétitif en ce moment en Mesa est la 7i96
mais le port ethernet exige une version de linux et un noyau temps réel différent du standard
voir la procédure d'installation sur le forum officiel, illustré aussi par ce tuto de talla83 :smt055


pour en revenir au PC avec port // il existe encore des CM moderne qu'il l'ont
une config sans problème, c'est plutôt un Intel 2 cœurs max, qui pédale car la fréquence d'horloge se répercute
directement sur le cadencement de linuxcnc et la graphie intégrée de l'intel, pas de carte graphique indépendante.

https://www.reichelt.de/carte-m-re-...355-asr-j3355b-itx-p188116.html?&trstct=pol_0
 
Dernière édition:
V

veyrine

Apprenti
Merci de ta réponse Gaston48,
Je ne suis pas particulièrement pressé que ma CNC fonctionne car elle marche bien sous NINOS actuellement, mais je prépare le futur car Ninos n'étant plus distribué ni maintenu, il me faudra une solution de dépannage un jour ou l'autre.
Linux me plaisait bien pour son insensibilité aux virus, ou autres problèmes de Windows, et puis ça me forçait à apprendre autre chose.
la vidéo est en Allemand, pas de bol...
La carte 7i96 semble pas mal faut voir...
A+
Jacques
 
V

veyrine

Apprenti
super la traduction automatique, je ne connaissais pas ! merci
La carte Mesa 7i96 gère-t-elle le 0/10V de mon variateur de broche ? (ce n'est pas très clair sur la doc)
pour cette carte, puisqu'elle travaille avec le port ethernet du PC, plus besoin de port parallèle.
Je voie qu'elle ne travaille qu'à 10Khz (step rate) alors que mon ancienne carte Ninos travaille à 150Khz : les trajectoires vont donc être moins fluides ?
je croie que je vais devoir investir dans une carte plus rapide, voire même une carte qui gère elle même les calculs de trajectoire.
As-tu quelque-chose d'autre à me proposer ?
 
G

gaston48

Compagnon
Je voie qu'elle ne travaille qu'à 10Khz
10 MEGA Hz ! ( page 44 du manuel )
Chez Mesa, les commandes de VDF ne sont pas intégrées
Mais chez eux il y a la Spinx1
mais qui revient très chère, 44 euros après importation .

Le principe du convertisseur est toujours le même, on intègre / filtre en passe bas un signal impulsionnel
modulé en largeur " MLI" ou " PWM" on peut très bien faire ça à partir d'une voie STEP/DIR pilotée en vitesse un "PDM"
"pulse densité modulation" et tu fais transiter cette voie à travers une break out board à quelques euros qui possède ce filtre passe bas.

A savoir aussi que cette carte intègre des entrées codeur rapide pour du vrais taraudage rigide sur fraiseuse
ou du vrai filetage sur tour ou même de l'asservissement sur codeur monté sur chaque axe et pas à pas classique
piloté en step/dir vitesse .

Edit:
En réalité, elle est encore beaucoup plus universelle, car elle comporte un port 25 broches qui permet de connecter une
carte fille db 25 mesa ou une même une break out board prévu pour un port // db 25
suivant ces options on choisit et on flash le firmware qui va bien dans la banque de software
7i96.zip
tu as les fichier.bit à flascher et les fichier.pin descriptif correspondant et les fichier.vhd
qui permettent de programmer le fpga et sortir le fichier .bit avec l'outil de développement ISE
(très amusant à faire).
 
Dernière édition:
M

MegaHertz

Compagnon
Linux me plaisait bien pour son insensibilité aux virus, ou autres problèmes de Windows, et puis ça me forçait à apprendre autre chose.

Bonjour,

Si tu veux être tranquille, tu mets le poste PC relié à la CNC et pas relié du tout au réseau.
 
V

veyrine

Apprenti
10 MEGA Hz ! ( page 44 du manuel )
Chez Mesa, les commandes de VDF ne sont pas intégrées
Mais chez eux il y a la Spinx1
mais qui revient très chère, 44 euros après importation .

Le principe du convertisseur est toujours le même, on intègre / filtre en passe bas un signal impulsionnel
modulé en largeur " MLI" ou " PWM" on peut très bien faire ça à partir d'une voie STEP/DIR pilotée en vitesse un "PDM"
"pulse densité modulation" et tu fais transiter cette voie à travers une break out board à quelques euros qui possède ce filtre passe bas.

A savoir aussi que cette carte intègre des entrées codeur rapide pour du vrais taraudage rigide sur fraiseuse
ou du vrai filetage sur tour ou même de l'asservissement sur codeur monté sur chaque axe et pas à pas classique
piloté en step/dir vitesse .

Edit:
En réalité, elle est encore beaucoup plus universelle, car elle comporte un port 25 broches qui permet de connecter une
carte fille db 25 mesa ou une même une break out board prévu pour un port // db 25
suivant ces options on choisit et on flash le firmware qui va bien dans la banque de software
7i96.zip
tu as les fichier.bit à flascher et les fichier.pin descriptif correspondant et les fichier.vhd
qui permettent de programmer le fpga et sortir le fichier .bit avec l'outil de développement ISE
(très amusant à faire).
Merci de t'intéresser à mon problème Gaston mai j'y comprend rien à ce que tu racontes, c'est sûrement amusant pour toi, mais je ne suis pas du tout informaticien. Pour moi, la CNC n'est qu'un moyen d'obtenir des pièces mécaniques de précision de ma conception.
Plus ça va moins ça va. Je croie que je vais jeter l'éponge avec Linux CNC
 
G

gaston48

Compagnon
Plus ça va moins ça va. Je croie que je vais jeter l'éponge avec Linux CNC
Pas de soucis, :-D c'est pour pas que tu ais de regret que je te mets tout de suite dans la "vraie vie de linuxcnc "
je te conseil alors d'examiner la première proposition Windows et UCCNC + AXBBE au message #17 attention je ne la pratique pas .

 
Dernière édition:
V

veyrine

Apprenti
Merci de ta mise en garde, je pense que j'aurais été au devant de problèmes très chronophages.
UCCNC parait pas mal mais entièrement en Anglais.
Je regarde aussi du côté de Galaad qui semble abouti (et surtout en Français)
Jacques
 
X

xi

Apprenti
Juste pour nuancer un peu les propos de gaston48, si tu as une CNC simple avec des drivers de moteur pas à pas standards, la mise en oeuvre de LinuxCNC reste quand même hyper simple et entièrement graphique (je l'ai encore fait ce WE pour mon tour). C'est quand tu veux faire des plus compliquées (comme asservir la vitesse de broche du tour à la consigne) que là il faut potentiellement rentrer dans le coeur du système.

Il faudrait que tu en dises plus sur ta fraiseuse, mais pour te donner une idée de ce que j'ai fait avec ma Charlyrobot :
  1. Trouver un PC avec un port parallèle (à peu près n'importe quel PC fait l'affaire, il faut juste qu'il ait un port parallèle. Ca sert absolument à rien de prendre une bête de course, un vieux pentium IV va très bien par exemple, et moi je tourne même avec un pentium III)
  2. Graver une clef USB avec LinuxCNC dessus
  3. Démarrer le PC avec cette clef USB et suivre les instructions pour l'installation (graphique)
  4. Lancer stepconf pour configurer ta machine (là encore, c'est graphique et ca te demande combien d'axes tu as, les caractéristiques de tes drivers, les pattes à utiliser au niveau du port parallèle).
  5. Relier les drivers au port parallèle : dans 90% des cas, tu peux relier le port parallèle directement aux drivers (avec des fils), et si c'est pas le cas, c'est l'histoire d'une résistance et d'un transistor à ajouter.
  6. Pour ta commande PWM, si elle peut marcher en 0-5V (au lieu de 0-10V), alors tu n'auras besoin que d'une résistance et un condensateur (il faut configurer la sortie en mode PDM dans stepconf)
Voilà, après ca tu as une machine qui fonctionne et tu peux jouer avec, difficile de faire plus simple, dans tous les cas il faudra que tu fasses des branchement électriques de toute facons.
 
S

speedjf37

Compagnon
Relier les drivers au port parallèle : dans 90% des cas, tu peux relier le port parallèle directement aux drivers (avec des fils), et si c'est pas le cas, c'est l'histoire d'une résistance et d'un transistor à ajouter.

Bonsoir,

Pas d'accord , c'est risqué en cas de problème le port // dégage.

Une BOB à 5€ a des drivers en sortie qui protègent le port //

JF
 
G

gaston48

Compagnon
C'est le "à peu près" qui pose, problème, un Dell a été évoqué, de mon coté un Dell était récalcitrant à un temps de latence
acceptable. J'ai donné une référence de carte mère moderne avec port // qui fonctionnerait, mais veyrine est parti sur
un couple 5i25 7i76. Compte tenu de ses moyens qui semblaient limité, je l'ai orienté vers une 7i96.
Veyrine a parfois des "ratés" avec sa config actuelle, il ne s'agit pas de l'orienter vers une config à port // qui serait
limite par sa latence, d'ou une config avec un "motion controleur " à base de FPGA solutions qui finissent toujours
par être adoptées que ce soit avec Mach3 ou autres
 
Dernière édition:
X

xi

Apprenti
Bonsoir,

Pas d'accord , c'est risqué en cas de problème le port // dégage.

Une BOB à 5€ a des drivers en sortie qui protègent le port //
Bonsoir,

C'est risqué de quelle manière ? Les drivers de moteur ont quasi toujours des opto-coupleurs en entrée (DM556T que j'utilise, à priori tous les drivers style TB6600 aussi), donc non ca sert à rien de rajouter encore une "protection" et ca peut même réduire la vitesse max.

Une imprimante parallèle n'a pas de d'opto-coupleur alors qu'elle a aussi des moteurs pas à pas et des tensions élevées à l'intérieur, ca ne pose pas plus de soucis que ca, il y a en vrai quasiment aucune chance que la tension des moteurs traverse toute la partie commande et remonte jusqu'au port parallèle.

Je me fais un peu l'avocat du diable ici, si tu trouves une Breakout Board à 5€, autant la mettre effectivement (d'autant qu'elle va potentiellement gérer le 0-10V), mais je lis souvent que brancher directement les drivers sur le port parallèle est dangereux : en vrai non, ca l'est si on fait vraiment n'importe quoi (genre brancher un fil du moteur sur le port parallèle), mais en branchant normalement le risque pour le port parallèle est à peu près nul.
Quand bien même ca flinguerait le port parallèle, on parle là d'un PC à 50€ ... moins cher que les cartes qu'on peut rajouter au PC ...

Pour info je fais tourner ma Charlyrobot depuis 2011 avec des L297-L298 branchés sans opto-coupleurs sur le port parallèle et ca ne pose aucun souci. Je ne dis pas que je ferais ca sur une carte pro, mais le ratio simplicité de la solution / risque pour le port parallèle est largement en faveur de la simplicité.

C'est le "à peu près" qui pose, problème, un Dell a été évoqué, de mon coté un Dell était récalcitrant à un temps de latence
acceptable. J'ai donné une référence de carte mère moderne avec port // qui fonctionnerait, mais veyrine est parti sur
un couple 5i25 7i76. Compte tenu de ses moyens qui semblaient limité, je l'ai orienté vers une 7i96.
Veyrine a parfois des "ratés" avec sa config actuelle, il ne s'agit pas de l'orienter vers une config à port // qui serait
limite par sa latence, d'ou une config avec un "motion controleur " à base de FPGA solutions qui finissent toujours
par être adoptées que ce soit avec Mach3 ou autres
Il peut y avoir des PC qui ont beaucoup de latence, mais ca reste quand même l'exception pour moi (6 install avec LinuxCNC dont deux chez moi).
L'implication d'une latence élevée c'est qu'on ne peut pas aller vite / pas acquérir vite (cas d'un encodeur de vitesse de broche par exemple). Il faudrait que Veyrine nous en dise plus sur sa machine, mais sur une CNC perso j'ai pas l'impression que le port parallèle soit un handicap : configuré en 1/4 de pas et une vis de 4mm par tour par exemple, avec une fréquence de sortie du port parallèle de 15kHz (supposition très basse, je suis à 40kHz sur mon PIII et 31kHz sur mon Pentium IV, oui le P IV a plus de latence ...), on arrive déjà à 4500mm/min, c'est bien assez rapide à mon avis.
(perso j'ai une machine que j'ai limité à 2400mm/min et l'autre à 4000mm/min pour éviter de rentrer à grande vitesse dans quelque chose et tout casser ...)

Coté précision, j'usine des engrenages avec des fraises de 0.5mm de diamètre, la moindre imprécision de trajectoire est fatale pour la fraise, et j'ai pas plus de soucis que ca en utilisant le port parallèle directement.

Mon propos est de dire qu'il va pouvoir faire fonctionner sa CNC correctement, de manière simple et à un prix imbattable avec LinuxCNC (la problèmatique de cout semblait importante) en utilisant directement le port parallèle. Les solutions à base de carte Mesa son top, mais à mon avis inutiles dans son cas (CNC perso et légère).

J'ai jeté un oeil aux PC par curiosité, voilà le genre de PC qu'on trouve et qui irait surement très bien : Pentium 4 à 35€ livré : https://www.ebay.fr/itm/PC-HP-COMPA...GO-HDD-80GO-windows-7-pro-active/223765544985 (j'ai aucune action chez le vendeur hein :wink:)
A ce prix là veyrine, tu peux faire un essai juste en reliant les fils du port parallèle comme je proposais, tu n'a pas grand chose à perdre, et je suis prêt à parier que tu seras super content du résultat et ca ne t'aura couté que 35€ et quelques bouts de fils ! (aller, 40€ tout compris si on rajoute la Breakout Board de speedjf37 pour pouvoir commander ta broche facilement :wink:).
 
M

MegaHertz

Compagnon
Pentium 4 ?
Sérieusement ?

Est ce que tu te rends compte du retard de l'engin ?
 

Sujets similaires

B
Réponses
13
Affichages
82 568
zorglub_1er
Z
M
Réponses
8
Affichages
4 238
Mandrak
M
V
Réponses
175
Affichages
14 399
sebastian
sebastian
PL50
Réponses
25
Affichages
5 268
Doctor_itchy
D
L
Réponses
87
Affichages
7 669
Lezard
L
R
Réponses
13
Affichages
3 742
rd35520
R
Haut