Interpolateur de Gcode... ou piloter sa CNC avec une arduino

  • Auteur de la discussion ewidance
  • Date de début
E

ewidance

Ouvrier
Bonjour,

A la recherche d'une solution simple permettant de déplacer l'interpolateur de Gcode sur la carte de commande, j'ai testé GRBL, un logiciel d'interpolation qui tient sur une Arduino sur une fraiseuse Proxxon KT150 en cours de conversion. C'est assez impressionnant, et permet du coup de commander une cnc aussi bien avec Linux, Windows ou un Mac.

Electronique minimum et performances sympa pour monter une petite machine.

Une petite vidéo pour voir à quoi cela ressemble... Il vaut mieux double cliquer dessus pour l'ouvrir dans une nouvelle fenêtre, car c'est du 16/9 en HD...


Et la suite sur mon blog avec un long article avec tout le mode opératoire :
http://www.civade.com/post/2011/06/15/p ... -pas-a-pas


J'espère que cela sera utile.
 
D

Doctor_itchy

Compagnon
wow interessant :)

donc si on prend une arduino que on lui envoie le programme GRBL ( que l'on trouve ou ? ) on peu controler une cnc avec , mais au niveaux de la configuration machine elle se fait donc dans la carte ? c'est façile a paramétré ?

pense tu que c'est controlable avec un soft tel que mach3 ou EMC² ?? ou il faut dévelopé une dll spécifique ??

jusque a combien d'axe en simultané on peu gerer ??

thx :)
 
E

ewidance

Ouvrier
Pour les questions techniques sur le fonctionnement, tout est dans blog dont le lien est dans l'article....

On ne peut piloter que 3 axes max. La beauté par contre, c'est que l'on a pas besoin de Mach3 ou d'EMC2, puisque tout est géré dans l'Arduino et que le fichier est directement envoyé de la liaison série.. Du reste, Mach 3 ou EMC2 ne serviraient à rien puisque justement ce sont des interpolateurs... mais beaucoup plus puissants.

Je projette avec une autre arduino, de mettre un afficheur avec quelques boutons, un lecteur de carte SD de façon à en faire un streamer autonome : on met la carte SD, on choisit le fichier et on lance.... Fastoche :)
 
H

horsot

Compagnon
Bonsoir,

Intéressant en effet! Tu comptes l'utiliser pourquoi? Pourquoi ne pas utiliser un soft standard?

Merci du l'info

Xavier
 
E

ewidance

Ouvrier
C'est une bonne question... Il y a plusieurs raisons à cela :

1/ Le "challenge du dyier": J'avais envie :). Je voulais également voir les vitesses max atteignables par ce genre de solution. C'est en effet rigolo de voir qu'un micro contrôleur à 16Mhz, peut faire aisément ce qui peut nécessiter pas mal d'investissement et de tuning sur PC : le temps réel...

2/ Le fait que ces solutions sont exploitées avec succès dans des imprimantes 3D par exemple, et que cela valait le coup de tester en CNC traditionnelle. Voir: http://www.youtube.com/user/jpcivade les 5 dernières vidéos montrent un Makerbot piloté par une arduino Mega, alimentée par une carte SD. C'est autodémerdant, fluide et rapide...;

3/ Des recherches dans un système à très faible cout, réalisable par et pour ses membres dans un fablab ou un hackspace.

4/ La compatibilité OSX. Il n'y a à ma connaissance aucune solution qui permette de faire de la CNC sur Mac... On s'arrête à la production de Gcode, mais on ne peut pas piloter la machine. Ici, le problème est réglé puisque le pilotage est fait par l'Arduino.

5/ .. il peut encore y avoir des milliers de raisons, mais la curiosité en est une assez bonne :)
 
E

ewidance

Ouvrier
Coredump :

1/ L'interpolateur de Dank est buggé... et il n'intègre pas les correctifs qui lui sont proposés sur son site car il vient d'acheter une nouvelle maison. Du coup il ne touche plus à son site pour le moment. L'URL que tu as donnée n'est donc pas à utiliser pour le moment....

Si je me suis fendu d'un article, plutôt que de donner d'adresse du site de Dank, c'est justement pour expliquer tout cela et ou l'on peut trouver grbl débuggé... au moins temporairement tant que Dank ne corrige pas ses bugs..

2/ Tu serais surpris de voir que les limites d'accélération ne sont pas celles de GRBL, mais celles des moteurs ou de la machine.

3/ Effectivement, cela ne remplace pas un bon interpolateur. Ce n'est pas nécessairement le même usage non plus. Pour faire une petite cnc pour faire des circuits imprimés ou des faces avant (ex: Mantis http://makeyourbot.org/mantis9-1 ou http://mtm.cba.mit.edu/machines/mtm_snap-lock/ ), c'est suffisant et très peu cher.

Ceci dit, sur un teensy++, il devrait être possible d'étendre l'interpolateur et de faire tourner une grosse partie du langage Gcode d'EMC2. Ce n'est pas réellement la puissance qu'il manque pour faire cela (moteurs gérés sous interruptions, etc..), mais bien la Ram et la flash programme... Et d'une bonne volonté pour faire le portage.
 
3

3ours

Nouveau
Bonjour ewidance,

Je suis très intéressé par ton sujet, pour résumer, après avoir fabriqué une petite cnc en alu sous EMC2, je suis passé sur une fraiseuse traditionnelle chinoise beaucoup plus lourde pour pouvoir m'attaquer aux aciers.
J'avais repéré cet interpolateur et mon plan est le suivant :
j'aimerai utiliser ce système ( j'ai déja l'arduino et je monte actuellement des VAB sur les axes X et Y de ma fraiseuse )
l'idée c'est de pouvoir piloter ma table en x et y pour pouvoir faire des positionnements précis avant perçage par exemple avec un clavier et un écran lcd pour avoir un " semblant " de DRO.
ma question est la suivante : sur EMC2, quand on demande un déplacement du point A au point B à une vitesse V, on peut gérer l'accélération pour atteindre la vitesse V et la décélération avant de s’arrêter au point B. est ce toujours possible avec ce système ?
et l'idée d'utiliser ce système pour " émuler " une DRO te semble t'elle jouable ?
Merci
 
E

ewidance

Ouvrier
Pas vraiment. En effet, lorsque la carte reçoit un ordre, elle ne rend la main qu'après la fin de l’exécution. Cela équivaudrait de gérer le positionnement sur EMC2 qu'avec du Gcode, pas pratique et pas fonctionnel... Désolé!
 
L

LETARTARE

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

bonjour,
un contrôleur sur Win32 pour gérer Grbl (0.8.c ou 0.9.a) :
https://github.com/zapmaker/GrblHoming
et une extension avec une détection automatique 3 ou 4 axes, plus une traduction possible :
https://github.com/zapmaker/GrblHoming/issues/29
https://github.com/zapmaker/GrblHoming/issues/34
https://github.com/LETARTARE/GrblHoming
Cette extension est en phase de test.
Pour le 4ème axe, j'ai utilisé une carte Mega2560 avec grbl 0.81 fourni par :
https://github.com/EliteEng/grbl : ce site a disparu !!
sans aucune modification.
https://github.com/LETARTARE/Mega2560-grbl-0.81
avec quelques modifications.
Les tests réels sont en cours.

"Zapmaker" prépare l'intégration de cette extension dans la prochaine version.
A bientôt.
 
P

PsyKo

Ouvrier
Dernière édition par un modérateur:
A

ATV325

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

tout à fait passionnant.
 
V

vax

Modérateur
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Coucou Jean Philippe,

Encore à tester de nouvelles solutions et nous en proposer le résultat, un grand merci à toi.

Le petit ensemble que tu m'avais vendu il y a presque deux mans maintenant m'a été plus que très utile pour m'initier à EMC2.

Que penses-tu des raspberry pi face aux arduino ?

Encore merci pour ton partage.
 
M

moissan

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

le rapsberry est beaucoup plus puissant que l'arduino uno , mais il manque de connecteur d'entré sortie : il ne peut rien commander sans passer par l'USB : donc retour a la case depart , le rapsberry est comme un PC moderne qui n'a pas de port paralele

l'arduino a de nombreux port d'entré sortie !

quand l'arduino uno est trop faible en puissance de calcul il y a l'arduino due beaucoup plus puissant , 32 bit arm
http://www.lextronic.fr/P19885-platine-arduino-due.html

il y a aussi des carte style arduino avec PIC 32 bit
http://www.lextronic.fr/R2941-modules-chipkit.html
c'est donné comme compatible avec les programmes arduino , mais je ne sais pas a quel point
 
Dernière édition par un modérateur:
N

nraynaud

Apprenti
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

il me semble qu'il y a quelques pattes de GPIO dispo sur les raspberry quand même :
https://www.modmypi.com/blog/raspberry-pi-gpio-en-franais
(bon c'est la pas la fête du GPIO je le concède)
J'ai aucune idée de comment on accède à ça depuis l'OS, j'imagine vaguement qu'il faut un module puis on a des fichiers dans /dev.


Perso j'utilise une STM32F4 où j'ai une tonne de GPIO disponibles (autour de 50 pattes "libres", plus certaines qui sont connectées en dur à des trucs utiles quand même genre leds, USB ou bouton).
 
Dernière édition par un modérateur:
Z

zaurak

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour,
Dans le style rasberry en plus puissant et avec pleind GPIO, on peut trouver les Olinuxino :
https://www.olimex.com/Products/OLinuXino/A10S/
Quand pensez-vous pour faire un Interpolateur Gcode ?
 
Dernière édition par un modérateur:
M

moissan

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

merci de ce coup de pub pour olimex ! on y trouve plein de chose

on y trouve mieux et moins cher que l'arduino uno classique
https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO-MX220/open-source-hardware

si l'arduino uno avec son 8bit arrive a faire marcher une cnc , le pic32 doit le faire plus facilement

autre remarque , les arduino ont tous un 2eme microcontroleur pour gerer l'usb : avec les pic c'est le pic qui fait entierement l'usb : est un signe que le PIC32 est meilleur pour gerer l'usb , ou est ce un signe que l'arduino classique est meilleur ?

en tout cas ce post me montrant olimex tombe a pic ! j'etait partis sur l'arduino uno a 19 euro
 
Dernière édition par un modérateur:
E

erolhc

Guest
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour
Il y a aussi la carte FRDM kl25z programmable via l'IDE Mbeb
 
C

carlos78

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour,

J'aimerais tenter l'expérience de commander des Nema23 à partir d'une carte FUNDUINO MEGA 2560 (clone de ARDUINO MEGA 2560) associée à des drivers TB6560.

J'ai l'impression que le programme GRBL (auquel je ne comprend rien pour l'instant) est indispensable pour y arriver. Une fois "chargé" ou "flashé" dans la carte ARDUINO, j'ai cru comprendre que celle-ci est ensuite uniquement dédiée au traitement des fichiers Gcode. Ce qui signifie qu'Il n'y aurait donc plus la possibilité de faire joujou avec cette carte pour utiliser les fichiers xxx.ino des exemples de programmation ARDUINO. Je me trompe ?
Quelles précautions faut-il prendre pour revenir si besoin à l'état initial de la carte Arduino ?
Je n'arrive pas à comprendre la procédure d'installation/flashage de GRBL. C'est pas évident pour un néophyte. Je suis sous Windows Vista. Ou trouve-t-on une procédure pas à pas pour cette carte (si possible en français) ?
Quels fichiers faut-il utiliser avec une ARDUINO MEGA 2560 ? (J'ai l'impression que les fichiers officiels de GRBL sont prévus pour fonctionner sur une ARDUINO UNO officielle, et qu'il faut ensuite adapter des fichiers de config pour d'autres cartes)
FUNDUINO MEGA 2560 recto.jpg
DRIVER TB6560.jpg

Merci pour votre aide

Carlos78
 
L

LETARTARE

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour,
@carlos78 : quelques éléments de réponse,

1-pour charger le code exécutable dans une Mega2560, vous devez utiliser l'outil de développement fourni par Arduino (Arduino 1.0.5) dans lequel vous pouvez éditer le source de vos programmes (en C++ adapté) puis télécharger le code binaire obtenu par la compilation car la carte possède un télé-chargeur (boot loader).

2- pour des explications en français :
http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.HomePage

3- il me semble que le dernier Grbl devrait être chargeable dans une Mega2560 (en fait l'assignation des broches est différente de la Uno) de la manière indiquée plus haut ( je vais vérifier ...).

Après, pour un pilotage plus facile je vous conseille Zapmaker qui a l'avantage de s'afficher en français.

Bien cordialement.
 
C

carlos78

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Merci LETARTARE,

J'avais déja repéré sur le net votre version Mega2560 RrblElite 0.81 que je pensais éventuellement utiliser. J'ai également visité le site Civade.com de EWIDANCE.
J'ai installé la dernière version de l'environnement Arduino (version 1.0.5 r2), et le port USB est devenu après installation du driver un port COM3. La carte FUNDUINO fonctionne comme étant une ARDUINO MEGA2560.
Par contre lorsque je lis l'installation de GRBL, j'ai l'impression qu'il y existe plusieurs versions sur le site, et que chacun y crée son répertoire spécifique avec ses fichiers modifiés. Très peu utilisent vraiment la Mega2560.
Le boat loader de la carte est-il changé après installation de GRBL ?
Autre question : Qu'est-ce qu'une carte comme la Mega apporte de plus avec 256KB que la version UNO puisque les fonctionnalités en CNC semblent être les même sur ces cartes et que GRBL tient pour le moment dans les 32KB de l'AT328 de la UNO ?
Avez-vous réalisé une CNC qui tourne avec une carte ARDUINO ?
NB : A tout hasard, j'ai commandé une carte UNO supplémentaire et un shield bornier pour faciliter le cablage des drivers.

Carlos78
 
L

LETARTARE

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

@carlos78

1- GrblElite 0.81 est une version (ancienne) que j'ai sauvée car l'original à disparu,
2- l'utilisation de la MEGA2560 n'aurait que l'intérêt de pouvoir étendre vers 4 axes ...,
3- actuellement Grbl semble bouger beaucoup mais la mise au point est délicate pour la synchronisation, le brochage de la Mega2560 est maintenant incorporé dans Grbl sous forme de fichier, il devrait être compilable ?
4- le "boot loader" existe en permanence dans la carte (sauf grosse erreur de manipulation ?),
5- j'avais commencé avec la Mega2560 et une version de GrbElite0.81 (compilée avec une version personnelle de Code::Block adaptée par des scripts internes aux compilations des cartes Arduino), mais d'autres priorités m'ont obligé à mettre ce projet en attente : cela étant je suis prêt à vous renseigner du mieux possible

Faire vos essais avec une "Uno" est la bonne solution, car vous trouverez plus de renseignements pour Grbl.

A vous lire.
 
H

HAOUAT

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour,

Tout d'abord merci pour vos informations.

Pour la realistion de ma cnc je travaille actuellemnt sur Arduino mega 2560 j'ai utilisé le grbl83Mega2560 que je j'ai installé dans ma carte arduino, j'ai utilisé le Grbl controller pour la transmission de gcode. mais le probleme c'est que mon arduino est reliée avec ULN2003 pour amplier le courant avant de le faire passer au moteur et je ne sais pas si les signaux qui sortent de arduino (en se basant sur le grbl qui est dedeans) sont convenables avec le ULN2003 qui est reliée par la suite avec mes moteurs pas à pas 6fils "unipolaire" ? si vous avez une proposition en ce qui concerne cette partie de controlle des moteurs mercii de me la signaler :)
 
N

nestaprod

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonsoir

Je possède une UNO et deux TB6560, j'aimerai piloter deux moteurs pas à pas mais je ne comprend pas comment modifier le firmware grbl pour ensuite l'envoyer vers ma UNO (éditer ? compiler ? Flasher ?).
Sur Civade il est question de modifier (éditer) le firmware grblshield puis de le balancer dans le micro contrôleur.
J'ai uniquement réussi après avoir télécharger un firmware grbl pré compilé et en utilisant XLoader à l'envoyer vers l'arduino,
J'ouvre ensuite grbl contrôleur mais mon moteur ne répond pas bien (vibrations, surchauffe et ne fonctionne que dans un sens).
Si quelqu'un peut m'expliquer comment faire... :oops:
Merci.
 
C

carlos78

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Le GRBL se téleverse dans la UNO. C'est la méthode la plus facile pour l'installer sur une carte arduino. Les explications sont données ICI.
Si je comprend bien, GRBL est déja téléchargé dans la UNO. Attention, toutes les versions ne sont pas compatibles avec la UNO. J'utilise les versions de LETARTARE
Quelle version de GRBL est installée sur la UNO ?
Pour le cablage des drivers TB6560, les infos sont sur le post cité plus haut.
GRBL CONTROLEUR fonctionne et les moteurs ne répondent pas bien : Les vibrations c'est probablement un mauvais paramétrage des pas dans GRBL et/ou sur les drivers. La surchauffe peut-être un mauvais paramétrage de l'intensité maxi sur les drivers. Il y a également le réglage du decay sur les drivers qui joue un rôle.

Carlos78
 
N

nestaprod

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour

Merci pour cette réponse rapide.
La version qui se trouve dans la UNO et la version 0.8c atmega328p 9600 (fichier .hex) de grblshield envoyée grace à Xloader
Comment récupérer l'archive TGZ sur github pour ensuite la modifier (si il le faut) et l'envoyer vers la carte arduino ?
Je souhaiterai ensuite utiliser Python pour streamer le Gcode.

Merci.
 
C

carlos78

Compagnon
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Je n'utilise pas Xloader, mais uniquement l'environnement standard ARDUINO. Les versions de GRBL de Letartare se présentent comme un répertoire GrblXXX qu'on recopie dans le répertoire d'installation arduino (C:/arduino/ libraries/GrblXXX). Le sketch associé à la librairie se retrouve ensuite dans l'environnement Arduino comme tous les sketchs de toutes les librairies : fichier / exemples / GrblXXX.

Pour modifier le contenu de la librairie, il faut s'y connaitre en programmation. Ce n'est pas mon cas, donc aucune modif pour moi.
Pour ma part sur la UNO j'ai testé uniquement la version Grbl9dUno Voir la pièce jointe Grbl9dUno-Letartare.zip Les versions de Grbl (chargement en librairies) se trouvent sur la page de telechargement de Letartare.
Pour UNO la dernière version est la Grbl9f.

Carlos78
 
N

nestaprod

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Apres avoir changé la version de grbl (grbl9dUno) et aussi mon moteur pas à pas il n'y a plus de vibration (j'utilise grbl controller pour les tests) mais le moteur ne tourne que dans un sens.
Je ne comprends pas pourquoi :oops:
En tout cas merci pour vos réponses rapides !!!
 
N

nestaprod

Nouveau
Re: Interpolateur de Gcode... ou piloter sa CNC avec une ard

Bonjour

Je ne comprend plus rien, grbl controller m'affiche "errer : undefined feed rate"
et rien ne tourne.
J'ai touché à rien et ça ne marche plus !
Comment faire ?
Merci.
 

Sujets similaires

M
Réponses
6
Affichages
1 116
MitchCanon
M
T
Réponses
2
Affichages
24 912
Tristan l'apprenti
T
T
Réponses
28
Affichages
3 043
Tristan l'apprenti
T
A
Réponses
5
Affichages
5 077
abdelkarimgr
A
U
Réponses
85
Affichages
7 224
Hubert86
H
C
Réponses
0
Affichages
32 090
Charles MONIOT
C
C
Réponses
1
Affichages
2 069
Charles MONIOT
C
Haut