GRBL Arduino Uno et CNC Shield

  • Auteur de la discussion Dious
  • Date de début
J

Jeanalvitre

Apprenti
Bonjour,

Merci à tous pour les docs, les pièces jointes, les adresses des cours, des fournisseurs et tous les renseignements technique...

Je pense que ça va bien servir aux débutants...

PR
 
L

lion10

Compagnon
Bonjour

J'ai parcouru votre sujet qui m' intéresse aussi j'ai quelques questions.

Vous utilisez des moteurs pap qui sont commandés par la carte Arduino équipée d'un "shield" et de 3 interfaces de puissance de moteur pas à pas ok.
Cette carte reçoit en entrée du gcode qu'elle transforme en commande unitaire des moteurs pas à pas et l'un après l'autre si on décompose en action unitaire je suppose.
1) Concernant l'entrée de ce gcode :
-Soit vous l'entrez manuellement.
-Soit c'est avec Universal G-code Sender qui semble plus pratique.
-Plus tard vous dessinerez des pièces 2d ou 3d avec un logiciel de dessin CAO puis un logiciel de génération de gcode lequel en gratuit :?: qui fait partie de l'univers de la FAO si j'ai bien compris.
-Dans l'état faire du gcode à la place de dessiner c'est un peu comme faire de l'assembleur plutôt que de coder en langage C évolué n'est ce pas ?

2) Le logiciel Grbl est une bibliothèque autrement dit
une librairie logiciel qui est compilée et embarqué sur la carte Arduino uno ok.
Mais l'envoi du gcode en manuel se fait en lançant un logiciel pc Windows lequel :?: qui envoie le gcode à la carte Arduino programmée via la liaison usb ?
ou
Se fait-il en tapant du gcode dans une fenêtre dans le logiciel de développement IDE de l'Arduino ?

Par Grbl faut il comprendre implicitement une partie embarqué dans l'Arduino et une autre partie Grbl_Pc qui fonctionne sur Windows :?:

En d'autre terme peut on quitter l'IDE Arduino ou faut il le garder actif pour faire fonctionner la cnc ?

3) Existe -t-il la possibilité de charger le gcode dans l'Arduino,
éteindre le pc et laisser la carte Arduino alimentée par ailleurs fonctionnant sans monopoliser un pc ?
ou
Faut il coder cette partie qui en quelque sorte devra :
-stocker du gcode dans une mémoire de masse sur la carte arduino (carte sd, ...),
-lire du gcode enregistré sur une mémoire de stockage sur la carte Arduino,
-s'interfacer avec la brique logiciel Grbl,
-envoyer de manière régulière au logiciel embarqué Grbl le gcode élémentaire en utilisant un timer et une interruption.
Car je suppose que Grbl attend en flux synchrone pour que l'usinage soir régulier
ou
Tout simplement indiquer à cette bibliothèque l'adresse mémoire ou l'on stocke ce gcode bien à l'abri d'une coupure de tension par exemple.

4) Pour en revenir à la génération du gcode qui fait partie de la FAO
L'interpolation du gcode est elle faite de manière transparente ou paramétrée dans le logiciel de FAO ou est ce une fonction qui est traitée dans la partie grbl embarqué ?

5) Limitation en fraisage cnc ou possibilité de tournage cnc :

Si on dessine en CAO une pièce compliquée, des impossibilités de FAO peuvent surgir à l'insu du dessinateur.
Qu'est ce qui averti de cette impossibilité dans le process, le générateur de gcode ?
Le nombre d'axe d'usinage est une donnée d'entrée je suppose ?

6) Grbl et ses limitations :

Grbl interprète et exécute du gcode mais est il limité qu'au fraisage ou peut il prendre en compte le tournage :lol: cnc également ?

Il semblerait qu'il y ait un 4ème axe possible dans le "shield" est ce pour commander un diviseur ?
Ou
Commander uniquement un second moteur en recopie d'un principale pour une cnc imposante qui aurait besoin de 2 moteurs synchrones sur un axe ?

Comment est commandée la vitesse de broche, comment donc est exécuté un ordre gcode qui commande le ralentissement de la broche ?

Supposons que tout est possible avec grbl, en amont trouve -t-on une suite CAO et une FAO gratuite qui permettront de réaliser des pièces à tourner ou à fraiser avec des cannelures ou des anneaux donc avec 4 axes ?

7) CAO, FAO 2D ou 3D

Graver du texte à part quand il faut passer d'une lettre à l'autre si l'on suppose des lettres majuscules non attachées c'est de la 3d ou de la 2D ?

Quels ensemble de logiciel gratuits fonctionnant sous Windows avec Grbl préconisez vous par exemple pour avoir toute la chaîne logiciel indispensable ?
Sketchup peut il en faire partie ?

cdlt lion10
 
A

ArtoFlex

Nouveau
Salut @lion10, utilisant un Arduino Uno avec un CNC Shield propulsant GRBL 0.9j, je vais tenter de répondre à quelques questions que tu te pose avec mes quelques connaissances.

-Dans l'état faire du gcode à la place de dessiner c'est un peu comme faire de l'assembleur plutôt que de coder en langage C évolué n'est ce pas ?

Je laisse cette question à d'autres plus doué que moi pour coder en gcode, personnellement j'utilise un process qui est : illustrator (export en .dxf) ---> import dans Cambam ou Makercam (suivant la complexité de ma pièce) ---> export en gocde (.nc) ---> Chilipeppr.com


Mais l'envoi du gcode en manuel se fait en lançant un logiciel pc Windows lequel :?: qui envoie le gcode à la carte Arduino programmée via la liaison usb ?
ou
Se fait-il en tapant du gcode dans une fenêtre dans le logiciel de développement IDE de l'Arduino ?

La tu as deux solutions :
- La première (qui est mon cas), tu utilise l'IDE Arduino pour envoyer la librairie compilée dans ton Arduino. Librairie que tu auras préalablement télécharger sur le github officiel. Cette façon de faire est je trouve une des plus simple.

- La seconde consiste à télécharger le fichier .hex de la librairie GRBL dans la version que tu souhaite pour ensuite utiliser un logiciel spécifique appeler "HexUploader" avec lequel tu va ensuite envoyer le tout dans ton Arduino.

Tu aura plus d'informations concernant tous ca ici --> GRBL Wiki


En d'autre terme peut on quitter l'IDE Arduino ou faut il le garder actif pour faire fonctionner la cnc ?

Non, une fois que la librairie compilée est uploader sur ton Arduino, il est autonome, plus besoin de l'interface Arduino. Il te faudra juste passer par un soft comme UGCS ou Chilipeppr.com pour envoyer le gcode de tes usinages ou pour modifier certains réglages de GRBL.

Existe -t-il la possibilité de charger le gcode dans l'Arduino, éteindre le pc et laisser la carte Arduino alimentée par ailleurs fonctionnant sans monopoliser un pc ?
ou
Faut il coder cette partie qui en quelque sorte devra :
-stocker du gcode dans une mémoire de masse sur la carte arduino (carte sd, ...),
-lire du gcode enregistré sur une mémoire de stockage sur la carte Arduino,
-s'interfacer avec la brique logiciel Grbl,
-envoyer de manière régulière au logiciel embarqué Grbl le gcode élémentaire en utilisant un timer et une interruption.
Car je suppose que Grbl attend en flux synchrone pour que l'usinage soir régulier
ou
Tout simplement indiquer à cette bibliothèque l'adresse mémoire ou l'on stocke ce gcode bien à l'abri d'une coupure de tension par exemple.

La j'aurais tendance à te dire, non il faut absolument avoir un PC (voir un Raspberry Pi = environ 40€) pour lancer soit UGCS, ou pour le lancer le "serial port server" nécéssaire pour Chilipeppr.com.

Il existe des solutions alternative mais je ne les connait pas bien et je ne suis pas expert avec donc je m'abstient plutôt que dire des bêtises.

Grbl interprète et exécute du gcode mais est il limité qu'au fraisage ou peut il prendre en compte le tournage :lol: cnc également ?
J'ai cru voir une version modifiée de GRBL quelque part sur le net qui permettais de gérer cela mais je n'en suis pas sur. Si je retrouve le lien je te le poste ici.

Il semblerait qu'il y ait un 4ème axe possible dans le "shield" est ce pour commander un diviseur ?
Ou
Commander uniquement un second moteur en recopie d'un principale pour une cnc imposante qui aurait besoin de 2 moteurs synchrones sur un axe ?

Moi perso je l'utilise pour un autre moteur qui est la recopie de l'axe Y mais la ca reste suivant ton choix, c'est toi qui décide. A condition biensur que tu ai le contrôleur qui va avec.

Comment est commandée la vitesse de broche, comment donc est exécuté un ordre gcode qui commande le ralentissement de la broche ?
La vitesse de la broche peut effectivement être contrôlée avec la commande S dans ton gcode.
Si tu veut pouvoir contrôler ta broche avec GRBL, il te faudra préalablement faire quelques ajustement au niveau des réglages de la librairie GRBL avant de l'uploader sur ton Arduino (tout est expliquer dans le lien ci-dessous).

Par exemple cette suite de commandes, indique qu'il faut démarrer la broche a la vitesse maxi dans le sens "clockwise":


Plus d'informations à ce sujet sur le site du créateur du CNC Shield.


J'espère t'avoir éclairer avec mes petites connaissances en la matière.

@+
 
L

lion10

Compagnon
Bonjour

Merci pour ces précisions.
J'ai vu également le site suivant qui est pas mal.
https://www.equinoxefr.org/post/201...ion-de-fichiers-gcode-avec-des-outils-libres/

Qu'en est il de la commande des moteurs en micro-pas éventuellement pour que la cnc soit moins bruyante ?
Elle se configure dans Grbl sans doute, mais faut il l'anticiper lors de l'achat des drivers des moteurs pas à pas ?
Autrement dit cela ne dépend il que du logiciel ou faut il aussi prendre un driver spécifique ?
cdlt lion10
 
F

fabrice c

Compagnon
concernant la partie cao et fao , autodesk fusion 360 est ce qu'il y a de mieux en gratuit

le réglage des micros pas se fait en déplaçant des switchs sur le driver
 
C

carteman

Apprenti
Bonjour,
Voilà un petit temps que je suis avec intérêt ce post.
Je suis aussi partis sur un Arduino Uno + cnc shield + drivers A4988.
Je viens de recevoir mes moteurs NEMA 23 aujourd'hui (de chez StepperOnline, que je recommande par ailleurs :) ), mais avant de les brancher, j'ai quelques questions pour éviter de la cramer:
- Ce sont des moteurs de 1.8A et 5.3V. Or le shield cnc est alimenté en 12V (alim de pc). Donc comment limiter la tension? Par le petit potentiomètre? Et comment s'assurer que la tension et le courant soit correct (mesure au multimètre?)?

A vrai dire, c'est la seule question que j'ai pour le moment... :wink:
Beau post en tout cas!
 
F

fabrice c

Compagnon
Un nema 23 peut encaisser plus de 50v
Aucune chance de le griller avec des A4988
C'est l'amperage qui compte et pas le voltage
 
F

fabrice c

Compagnon
En fait le voltage compte aussi et 12v pour des nema 23 c'est un peu bas
Il te faut des drivers plus puissant (m542)
 
A

ArtoFlex

Nouveau
Salut, le voltage max pour DRV8825 est de 45V et pour un A4988 il est de 35V. Et à la base le CNC Shield est capable d'aller jusqu'à max 36V.

Moi perso, je tourne avec une alim de 24V et ça fonctionne nickel avec mes NEMA17.

Par contre la ou ça se corse c'est pour le réglages de l'ampérage des drivers (comme le dit @fabrice c), c'est assez délicat pour bien le régler sur des A4988 et des DRV8825.

Mais bon, étant moi même très nul, si j'y suis parvenu tout le monde peut y arriver [emoji3]

Seul truc que je juge important, ne le fait pas avec un tournevis en métal, utilise plutôt un tournevis en céramique ou comme moi un couteau en céramique (plus facile à trouver)

Pour la façon de procéder, voici deux lien très utile :

- pour DRV8825 http://wiki.mchobby.be/index.php?title=DRV8825

- pour A4988 http://wiki.mchobby.be/index.php?title=A4988#Limiter_le_courant

Et un dernier. http://www.makerslide-machines.com/france/co/page-regler-courant-limit.html

Bonne chance
 
C

carteman

Apprenti
Merci pour toute ces infos!
Alors je viens de faire un test avec un seul moteur. Mais quand je fait tourner le moteur de plusieurs tours, il saute (bcp) de pas. Même en règlant au mieux, et "à vue", le potentiomètre.
Pensez-vous que ça vienne de l'alim?? Avec une 24V, ça irait mieux? (J'espère d'ailleurs que ça irait mieux :) )
 
A

ArtoFlex

Nouveau
Oui ça c'est une certitude, 24V serait une bonne idée, de la à dire que ça ne vient que d'elle, j'hésite un peu !!!

Car le réglage de l'ampèrage de tes drivers est très très important car au mieux tu grille ton driver et au pire tu grille le moteur si c'est mal régler.

Moi j'ai observer un bruit anormal des moteurs dans un premier temps, ensuite les moteurs bougeait sans bruit mais avec très peu de force...etc autant de symptômes que tu peut observer par la suite.

Perso j'achèterais une alim de 48V / 10A à ta place et je placerais un Stepdown pour réduire à 36V
 
C

carteman

Apprenti
Voilà une petite vidéo de mon problème. Au bruit, on dirait que le moteur tourne mais en réalité il bloque au milieu de sa rotation...

Pour l'alim, j'aimerais éviter de faire des frais. Pensez-vous que 2 alim de pc en série pourrait suffire (ou à la limite, 3)?
merci!
 
A

ArtoFlex

Nouveau
Oui je pense que ça pourrait aller mais je préfère laisser la parole à des personnes plus expérimenté que moi là dedans, parce que l'électricité c'est quand même un peu dangereux !!! Perso j'opterai plus pour la sécurité mais ça c'est mon choix!

Pour ta vidéo je ne peut te dire avec certitude que le problème vient d'un mauvais réglage de l'ampèrage, mais moi je pense que oui !

Par contre, évite de connecter tes drivers sans avoir de moteurs connecter dessus, ils grillent très facilement!

A combien est-tu en microstep?
 
A

ArtoFlex

Nouveau
Oui je pense que ça pourrait aller mais je préfère laisser la parole à des personnes plus expérimenté que moi là dedans, parce que l'électricité c'est quand même un peu dangereux !!! Perso j'opterai plus pour la sécurité mais ça c'est mon choix!

Pour ta vidéo je ne peut te dire avec certitude que le problème vient d'un mauvais réglage de l'ampèrage, mais moi je pense que oui !

Par contre, évite de connecter tes drivers sans avoir de moteurs connecter dessus, ils grillent très facilement!

A combien est-tu en microstep?
 
C

carteman

Apprenti
Pour l'alim, je vais un peu me renseigner, voir ce qui existe, les prix, ...
J'avais vu qu'il ne fallait pas brancher/débrancher les moteurs quand les drivers sont alimentés, mais je ne savais pas que les drivers branchés "sans charge" pouvaient décéder :) C'est noter! :wink:

Pour le moment, je suis en pas complet
 
F

fabrice c

Compagnon
ton moteur qui bloque,ça peut aussi venir d'une consigne de vitesse trop élevé (couplé à une alimentation trop basse)
 
V

vres

Compagnon
Pour le moment, je suis en pas complet

Bonjour
le pas entier est assez ingèrable, si tu as, commence par du 1/4 de pas.
Je ne connais pas les caractéristiques de tes moteurs mais si ils sont inductifs, comme je le pense, ils ne tournerons pas très vite avec une tension d'alimentation aussi basse.
 
C

carteman

Apprenti
Voici les spécifications de mes moteurs:
- 1.5A/phase
- 5.4v
- inductance: 13 mH/phase

Dans les paramètres de GRBL, je suis à 10 mm/sec^2 pour l'accélération, 250 mm/min pour "default speed" et 500 mm/min pour "default seek". Est-ce beaucoup? Je n'ai pourtant pas l'impression qu'il tourne excessivement vite pourtant.

Je vais tester avec des 1/4 de pas et des vitesses plus faibles, pour voir si ça s'améliore.
 
A

ArtoFlex

Nouveau
Sur mon CNC Shield avec des A4988 j'ai régler les microstep comme ceci :

- axe x & y sur 1/8 microstep
- axe z sur 1/2 microstep

Mais comme @fabrice_c je reste convaincu que tu n'as pas assez de jus et que ça ne sert à rien de faire tes réglages avec une config qui changera sûrement. Autant attendre d'avoir ton alimentation finale.

Si tu pouvais fournir la référence de tes moteurs ça serait bien, on pourrait déjà voir à combien d'ampèrage il tournent.
 
C

carteman

Apprenti
Je les ai achetés là:
http://eu.stepperonline.com/nema-23-stepper-motor-54v-15a-116nm1643ozin-23hs221504s-p-68.html

Je viens de faire quelques tests avec des 1/4 de pas et un "default seek" plus faible (350 mm/min) et c'est déjà plus concluant. Le moteur tourne et fait tout ses pas. Par contre, je sait l'arrêter à main nue en serrant le rotor (alors que pour un 116 N/cm, je devrais tourner avec...). Sûrement un manque de puissance de l'alim comme vous le dites.

En tout cas merci pour tout c'est conseils!
 
A

ArtoFlex

Nouveau
Tu vois sur les spécifications de ton moteur ils conseillent une alim entre 24 et 48V.

En plus tu as de la chance t'es moteurs font 1.5A donc n'aura aucun mal à régler et calculer l'ampèrage de tes A4988 vu qu'ils vont jusqu'à 2A.

Le calcul c'est :

- Vref = I_TripMax * 8 * Rs

Rs étant la valeur de la résistance présente sur tes A4988, généralement c'est soi R100 ou R200 (prend une loupe et regarde)

Et quasi 12Kg/cm de torque, balaise tes moteur et pas trop cher en plus!

EDIT : cette alim serait parfaite
https://bnc.lt/4Sug/ycb4bY5nbu
 
C

carteman

Apprenti
Bonsoir,
J'ai continué mes tests, avec les 3 axes et en 1/4 de pas et ça tourne pas mal (à faible vitesse en attendant une meilleure alim). Je reviens donc avec encore quelques questions.
- Comment peut-on régler la course max des différents axes? Car dans les paramètres de GRBL (sous Universal G-code Sender), je ne trouve pas.
- Pour le moment, je faisais bouger les axe en manuel. Mais quand j'essai avec un fichier G-code (un simple carré avec 3 passes), il n’exécute que l'axe Z (les 3 passes d’affilées). Il me dit "error" pour les lignes de code en X et Y.

Merci d'avance
 
C

carteman

Apprenti
J'avais en effet vu cette page, mais dans les paramètres, ça s’arrête à $22 :/
 
J

jpbbricole

Compagnon
Tu as quelle version du GRBL?
Quand tu fais la commande $$, ça s'arrête à 22?
Si tu essaies de passer la commande $130=5000, ça passe?
 

Sujets similaires

esloch
Réponses
52
Affichages
2 071
esloch
esloch
T
Réponses
2
Affichages
25 350
Tristan l'apprenti
T
P
Réponses
20
Affichages
3 167
speedjf37
S
L
Réponses
7
Affichages
1 891
ludo6601
L
part's-and-co
Réponses
19
Affichages
1 145
part's-and-co
part's-and-co
Haut