CNC Arduino

Bonjour,
Je construis actuellement une graveuse laser donc guidée sur deux axes. J'utilise GRBL controller pour envoyer le G-Code à l'arduino.
Cependant, GRBL controller ne prend en charge que les fichiers .nc et pas les .ngc, d'ù ma premiere question: quelle est la différence entre les deux et comment passer de l'un à l'autre?
J'utilise pour l'instant inkscape pour faire les dessins et une extenstion laser engraver pour controller le laser. Inkscape me génere des fichier .ngc mais l'extension permet elle de générer des fichier .nc.
Je n'ai actuellement pas le laser adéquat, donc ma machine étant montée je voudrais pouvoir l'utilisé pour dessiner avec un stylo. Il me faut donc rajouter un axe, ce que je pensais faie avec un servomoteur (j'ai juste besoin de lever et baisser le stylo).
D'où ma deuxieme question: Pensez vous que cela est possible? Si oui comment gérer le servo avec GRBL et quel logiciel utiliser ou quelle extesion de INKSCAPE utiliser pour gérer les déplacement en Z?

Je vous mets en PJ une photo du monstre.

J'ai effectué de nombreuses recherches sur le net et je n'ai pas reussi à trouver réponse à mes questions. Je ne trouve que des videos de réalisations finies de machine à dessiner avec un feutre/stylo.
Merci beaucoup,
Benjamin.

GRBL peut gérer 3 (ou 4) axes X,Y,Z, mais avec des moteurs pas à pas (commandes Step / Dir).

Si tu utilises un servomoteur de modélisme pour lever le crayon, il y a une broche de l'Arduino qui sert à la mise en route de la broche par relais. (axe X = pin 23/23, axe Y = pin 24/25, et Relais = pin 6 sur la carte Mega).
Le plus simple serait d'utiliser ça pour lever ton crayon.

Dans le Gcode, mise en rotation broche = M3

Ben33:
Bonjour,
Je construis actuellement une graveuse laser donc guidée sur deux axes. J'utilise GRBL controller pour envoyer le G-Code à l'arduino.
Cependant, GRBL controller ne prend en charge que les fichiers .nc et pas les .ngc, d'ù ma premiere question: quelle est la différence entre les deux et comment passer de l'un à l'autre?
J'utilise pour l'instant inkscape pour faire les dessins et une extenstion laser engraver pour controller le laser. Inkscape me génere des fichier .ngc mais l'extension permet elle de générer des fichier .nc.
Je n'ai actuellement pas le laser adéquat, donc ma machine étant montée je voudrais pouvoir l'utilisé pour dessiner avec un stylo. Il me faut donc rajouter un axe, ce que je pensais faie avec un servomoteur (j'ai juste besoin de lever et baisser le stylo).
D'où ma deuxieme question: Pensez vous que cela est possible? Si oui comment gérer le servo avec GRBL et quel logiciel utiliser ou quelle extesion de INKSCAPE utiliser pour gérer les déplacement en Z?

Je vous mets en PJ une photo du monstre.

J'ai effectué de nombreuses recherches sur le net et je n'ai pas reussi à trouver réponse à mes questions. Je ne trouve que des videos de réalisations finies de machine à dessiner avec un feutre/stylo.
Merci beaucoup,
Benjamin.

Bonjour
Plusieurs personnes sur le forum "tripote" de la CNC :grin:
concernant ta realisation , infobarquee a realisé quelque chose ressemble à la tienne
en attendant qu'il passe , lire ce topic , il y peut etre déjà des reponses à tes question.
http://forum.arduino.cc/index.php?topic=229163.0

Ok ok Je vais voir ca dans les réglages de grbl je vous tiens au jus.

Et pour la différence entre .nc et .ngc?
J'ai essayé de générer un dxf avec catia et de le convertir avec dxt2gcode mais ce dernier me donne aussi des fichiers .ngc pas pris en charge par grbl. Je trouve ca bizarre car je ne trouve rien à ce sujte, personne n'a l'air d'avoir de problème avec ca ^^

bonjour,
quelle version grbl utilises tu?
je vois pas trop comment tu envoies un fichier dans grbl, via quel prog?
regardes tes fichiers, ca devrait avoir des trucs comme ca

$H; home all axes
G21; Set units to millimeters
G90; Use absolute coordinates
G92; Coordinate Offset
G00 X15.0 Y0.0
M03; Laser ON
G01 X18.0 Y0.0 F200
M04; Laser OFF
G00 X22.0 Y0.0
M03; Laser ON
G01 X25.0 Y0.0 F200
M04; Laser OFF
G00 X27.0 Y0.0
M03; Laser ON
G01 X31.0 Y0.0 F200
M04; Laser OFF

le gcode est un fichier txt en fait, donc si ca ressemble à ce qu'il y a plus haut, tu le renomme.
le ngc est du gcode si je ne me trompe pas.

J'utilise GRBL controller et si j'envoie un fichier .ngc des messages d'erreur s'affiche (il ne comprends pas).

J'ai ouvert un fichier en .ngc et un autre en .nc et la différence n'est pas énorme.
Dans le .ngc il y a des sortes de "commentaires" entre parenthese. Le problème est que je ne sais pas si il sont utiles (interprété par le logiciel) ou si ce sont simplement des indications. Lorsque je les enlèves GRBL controller accepte le fichier .ngc et se lance.

Le problème est que je ne peut pas controller si le programme se déroule bien puisque je n'ai rien sur le mobile.

Merci de vos réponses en tout cas.

les commentaires sont la comme ca, pour faire joli on va dire.

Le problème est que je ne peut pas controller si le programme se déroule bien puisque je n'ai rien sur le mobile.

sur le mobile?
dans grbl controler, tu as les lignes qui s'affichent lorsquelles sont envoyées et un ok est renvoyé.
et entre nous, tu vas savoir à quoi correspond une ligne style?
G01 X100 Y25 Z10 E120
quand tu as un fichier de plus de 1Mo, tu vas savoir ? :slight_smile:

M3 et M4 on sait ce que c'est et à quoi ca correspond

jete un oeil sur ce topic des fous furieux :wink: , au fait, on t'attend Artouste, héhéhéhé
j'attend u laser de plusieurs Watts, héhéhéhé

http://forum.arduino.cc/index.php?topic=231068.0

Quand je dis mobile c'est la partie où viendra sa fixer le laser (partie mobile du portique).

J'utilise le Grbl que LETARTARE a mis à disposition, c'est le plus simple à utiliser. Mais il n'ouvre toujours pas les .ngc à moins que j'enleve les commentaires dans les codes.

Sinon pour le servo t'as une idée?

infobarquee:
...
jete un oeil sur ce topic des fous furieux :wink: , au fait, on t'attend Artouste, héhéhéhé
j'attend u laser de plusieurs Watts, héhéhéhé

bonjour infobarquee
j'ai pour l'instant repoussé le cadeau d'anniversaire prevu pour juillet , à un cadeau prevu pour Noël. 8)
j'avais déjà des doutes il y a 2 mois sur pouvoir tenir le delai de juillet, et je n'ai finalement pas avançé d'un poil. :grin:
Sauf que comme je me projete déjà dans l'avenir, j'ai recupéré en province du materiel de dentiste (pieces à mains, contre-angle, compresseur, etc = autrement dit en langage courant "des roulettes" :grin: )
Je verrais comment adapter ça sur la CNC le moment venu , mais ça peut surement faire du bon outillage dans certains cas d'usinage.

Bonjour,
GRBL attend les commandes sur le port série sous la forme évoquée par infobarquee. Normalement les numéros de lignes et les commentaires "()" sont filtrés par GRBL.
Les fichiers Gcode sont des fichiers au format texte. Les extensions sont souvent imposées par le logiciel générateur de Gcode. Dans ce cas, comme évoqué ci-dessous, il suffit de le renommer.
Le vrai problème ne se situe pas à ce niveau, car GRBL ne reconnait pas tous les gcodes générés par les logiciels, il est important de vérifier ce point (je ferais un complément dans mon topic : initiation CNC Initiation CNC - Tutoriels et cours - Arduino Forum).
Quel logiciel de transfert du gcode vers la carte arduino utilises-tu ?
@+

Re,

Ben33:
J'utilise le Grbl que LETARTARE a mis à disposition, c'est le plus simple à utiliser. Mais il n'ouvre toujours pas les .ngc à moins que j'enleve les commentaires dans les codes.

Le Grbl de notre ami LETARTARE d'utilise pas de fichier, il attends les ordres sur le port série.
J'ai l'impression qu'il y a une confusion entre Grbl et le logiciel de pilotage :wink:

icare:
Bonjour,
GRBL attend les commandes sur le port série sous la forme évoquée par infobarquee. Normalement les numéros de lignes et les commentaires "()" sont filtrés par GRBL.
Les fichiers Gcode sont des fichiers au format texte. Les extensions sont souvent imposées par le logiciel générateur de Gcode. Dans ce cas, comme évoqué ci-dessous, il suffit de le renommer.
Le vrai problème ne se situe pas à ce niveau, car GRBL ne reconnait pas tous les gcodes générés par les logiciels, il est important de vérifier ce point (je ferais un complément dans mon topic : initiation CNC).
Quel logiciel de transfert du gcode vers la carte arduino utilises-tu ?
@+

Disons que j'ai rien trouvé de vraiment clair concernant les logiciels à utiliser, les explications....Il y a beaucoup de projet, quelques un où certains points sont détaillés et vraiment très peu où tout est vraiment bien expliqué. Ou alors on trouve des trucs infame du genre: Arduino et GRBL - l'incontournable solution pour piloter une petite CNC - Civade.com
où il faut faire mille étape pour installer grbl...

Du coup en cherchant je suis tombé sur un sujet sur ce forum où un mec utilisait les logiciels de LETARTARE. On charge dans l'arduino le sketch adéquat fournit (pas besoin de modifier de fichier sur le pc), on lance grbl controller et ca fonctionne. Je pense que le GCode Sender est déjà inclut dans grbl controller puisque en lancant ce dernier on se connecte directement à la carte, on peut bouger manuelement ou envoyer un fichier .nc.

icare:
Re,

Ben33:
J'utilise le Grbl que LETARTARE a mis à disposition, c'est le plus simple à utiliser. Mais il n'ouvre toujours pas les .ngc à moins que j'enleve les commentaires dans les codes.

Le Grbl de notre ami LETARTARE d'utilise pas de fichier, il attends les ordres sur le port série.
J'ai l'impression qu'il y a une confusion entre Grbl et le logiciel de pilotage :wink:

Du coup j'aimerai bien une petite explication pour y voir plus clair

Re,
Je vais essayer de clarifier un peu les choses.
1)
Le projet GRBL( GitHub - grbl/grbl: An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino) est un logiciel de pilotage de CNC 3 axes sur hardware Arduino. Le projet d'origine était prévu pour une carte UNO et adapté depuis pour la MEGA (j'ai également une version expérimentale pour ATMega1284P).
Ce soft fait l'interprétation du gcode et commande les différents actionneurs de la CNC (moteurs PAP, commande broche, arrosage, etc...).
La version LETARTARE correspond à une adaptation de la version stable de GRBL vers une version 4 axes.
2)
Il faut un logiciel pour transmettre vers grbl (carte Arduino) les différentes lignes de gcode. Il existe une multitude de logiciels qui font ce transfert.
LETARTARE utilise un logiciel développé par zapmaker et adapté par lui (GitHub - zapmaker/GrblHoming: QT-based gcode user interface for grbl on arduino) pour cette fonstion.
Tu peux aussi faire une petit script Python qui fait la même chose via pyPhyton en mode console (sans la partie graphique)
J'espère que c'est plus clair :wink:
@+

comme le dit icare, tu confonds pas mal de chose.
grbl est le "programme" que tu installe sur le nono ou atmega.
celui de LETARTARE, on est 3-4 a le développer et tester (developpeur LETARTARE, debugger icare, un autre et moi)
ca, c'est la partie hard on va dire (nono ou atmega plus programme)

après tu as la partie soft, celle qui va envoyer les ordres au hard pour déplacer les axes et tête.
zapmaker avec grblhoming, va interpréter le fichier gcode (texte) puis l'envoyer en mode machine vers le hard.

donc pour résumer, ca donne ceci
fichier gcode =>grblhoming=>machine

dans le lien qu'a donné artouste, si tu es sous nunux, tu peux tester la ligne de code que j'avais mis.
sous windaub, j'ai plus ca en tête.
après sous, tu utilise pyhon, sous php, soit grblhoming pour envoyer automatiquement les données.

certains soft, sont pénibles et rebutent pas mal de monde, car il faut virer les commentaires, etc...

tu vas te reconvertir en fraiseur Artouste, ca tombe bien, j'ai quelques réparations de ratiches a faire :slight_smile:
ces bécanes tournent super vite en plus, si t'en as une de trop :slight_smile:

Ok ok merci ca aide à comprendre comment ca marche.
Du coup le logiciel que j'utilise sur le pc grbl controller c'est la partie soft (grblhoming) et le sketch téléversé dans l'arduino la partie hard?

Re,

Ben33:
Ok ok merci ca aide à comprendre comment ca marche.
Du coup le logiciel que j'utilise sur le pc grbl controller c'est la partie soft (grblhoming) et le sketch téléversé dans l'arduino la partie hard?

Exact.
Le sketch téléversé c'est grbl qui regroupe la multitude de fichiers que tu peux voir dans le lien que j'ai donné.
Attention : ce n'est pas possible de les téléverser sans modification mais c'est juste pour l'exemple.

Ok cool. Oui j'avais déja modifié certaines valeurs comme le nombre de pas par mm...

Donc Grbl est surtout destiné à des machines 3 axes genre fraiseuse. Est ce qu'il existe autre chose comme soft pour des machines 2 axes? Et du coup pour mon 3eme axe il me faut obligatoirement un un moteur pas a pas ou je peux y mettre un servo? Christian_R m'a parlé d'utilisé les pins destinés à mettre en rotation la broche, est ce que ca peut marcher?

Ben33:
Ok cool. Oui j'avais déja modifié certaines valeurs comme le nombre de pas par mm...

Donc Grbl est surtout destiné à des machines 3 axes genre fraiseuse. Est ce qu'il existe autre chose comme soft pour des machines 2 axes? Et du coup pour mon 3eme axe il me faut obligatoirement un un moteur pas a pas ou je peux y mettre un servo? Christian_R m'a parlé d'utilisé les pins destinés à mettre en rotation la broche, est ce que ca peut marcher?

tu peux utiliser grbl sans soucis avec 2 axes.
la pin 6 est pour activer ton laser par exemple, pour un servo tu peux utiliser l'axe Z
la pin 6 correspond à M3-4-5 sur grbl

infobarquee:
...
tu vas te reconvertir en fraiseur Artouste, ca tombe bien, j'ai quelques réparations de ratiches a faire :slight_smile:
ces bécanes tournent super vite en plus, si t'en as une de trop :slight_smile:

Meme si c'etait dans le cadre obligé de mes déjà anciennes etudes, j'ai gardé un excellent souvenir de ce stage "MO" , j'etais tombé sur "un prof" passionné et passionnant qui savait rapidement transmettre les bases pour peu qu'on ne denigre pas son domaine.
A l'epoque "ce stage obligatoire, mais sans aucune consequence sur la suite du cursus" etait considéré avec dedain par beaucoup (pas tous) des mes petits "camarades" .
Ce stage avait comme surnom "les 2 semaines de chiffons gras qui puent" :grin:

pour les "roulettes" :grin: je regarderais en situation ce que j'ai , comment cela fonctionne et le cas echeant, selon inventaire et si j'ai du stock en rab...
pour l'instant c'est remisé/stocké en attente

Yop!
Bon j'ai reussi à réaliser ma graveuse ca marche plutot pas mal.
Par contre je suis toujours bloqué concernant le servo pour l'axe Z... Même si je peux modifier les pins sur grbl, un servo ne se pilote pas comme un moteur pas a pas (axe z) ni comme un MCC (broche). Il faut lui envoyer un signal PWM particulier en fonction de l'angle ou on veut aller. Du coup je sais toujours pas comment faire.