projet plotter GRBL

J

jmb47

Apprenti
Bonjour à tous
Difficile de trouver le bon endroit pour poster mon projet, je tente ma chance ici.

Voici ci dessous une première version d'un Plotter de type table traçante.
Matériel : Grbl et Arduino Uno, driver Pololu A4988, moteur Nema 17 (400 pas - 3V - 1,7A/phase - couple 48N.cm)
Création du Gcode avec Processing et envoi du Gcode avec Universal Gcode sender.
dimension papier 80 x 120 cm

J'ai encore quelques petits soucis de calage, je ne sais pas encore si c'est lier à un pb mécanique (galet entrainement) ou à l'envoi du Gcode.
Mon intention est de pouvoir dessiner plus vite mais si j'augmente la vitesse, les moteurs sautent des pas surtout en diagonale. Ensuite travailler avec plusieurs couleurs....
L'idée de faire une machine comme le principe d'une imprimante n'est peut être pas la meilleur solution non plus, je vais peut être envisager par la suite un plotter sur table.

Quoi qu'il en soit, je cherche une solution pour travailler plus vite? est ce que c'est une question de moteur, de logiciel? d'interface?
merci à ceux que cela intéresse et bravo pour ce forum.
Jean marie

une vidéo sur you tube

IMG_5506.JPG

première version sans Z.

IMG_6052.JPG
 
M

moissan

Compagnon
très bonne idée de faire un plotter avec le Gcode comme une CNC !

mais comme une cnc , il faut des moteur suffisant pour ne pas sauter de pas

l'eternelle question c'est est ce parce que le moteur est trop faible qu'il saute des pas , ou est ce le systeme de commande qui fait des connerie

une solution : envoyer le signal step dir d'un moteur simultanement a une deuxieme carte et un 2 eme moteur de meme nombre de pas et tournant a vide , sans charge : ce moteur suplementaire doit avoir son arbre toujours paralele au moteur qui fait tourner la machine ... si le moteur a vide se decalle du moteur qui entraine la machine , c'est que celui qui entraine la machine saute des pas ... si la machine fait des erreur mais que les 2 moteur reste exactement synchronisé c'est que le systeme qui commande fait des erreur

autre façon de lever le doute sur les saut de pas : changer le courant des moteur : si c'est un moteur trop faible les erreur doivent augmenté si on diminue le courant ... si les erreur restent constante quand on change le courant , c'est le systeme de commande qui fait des erreur

l'arduino est il suffisament puissant pour commander les pas a pas rapidement ?

ne serait il pas plus sûr d'utiliser un vieux pc avec linuxCNC ou mach3
 
S

stanloc

Compagnon
J'avais commencé un plotter en format A2 sur les mêmes bases c'est à dire celles qu'avait choisies Hewlett Packard.
Déjà dis nous si c'est sur l'entrainement du papier qu'ont lieu les sautes de pas. Je ne serais pas étonné qu'il en soit ainsi car mine de rien une feuille de papier de ce format a une inertie certaine et en plus le système d'entrainement ne souffre pas l'à peu près. Sur les plotters HP et sur le mien il y a un galet façonné dans une meule abrasive sous le papier et sur le dessus les rouleaux presseurs en caoutchouc sont bien plus larges que les tiens.
Autre détail de fabrication pour la longévité des pointes feutres (à fortiori si on utilise des stylos à encre de chine ROTRING) il faut qu'à l'endroit où circulent les pointes feutre il y ait dessous une rigole dans le support du papier. De cette façon le papier fait un pont suffisamment résistant pour recevoir la pression de la plume mais il offre une dureté très inférieure qu'une partie en métal ou en plastique. Plus tu voudras aller vite et plus il te faudra avoir un mouvement de plume (haut/bas) très nerveux.
Stan
 
M

moissan

Compagnon
il est facile de voir si c'est le papier qui patine : faire un dessin avec retour exact au point de depart a la fin : si la poulie revient exactement a la même position , c'est le papier qui patine ... si la poulie revient a un angle different et que ça corespond a l'erreur de position du papier , c'est des perte de pas ... et il reste a voir si c'est un manque de couple ou une erreur du systeme

merci de l'idée de l'entrainement du papier par des meule : le probleme d'un entrainement par roue en caoutchouc c'est que la souplesse du caoutchouc rend la precision aleatoire : avec une roue rigide comme une meule la circonference ne change pas
 
J

jmb47

Apprenti
bonjour à tous
merci pour vos réponses, j'ai pu aujourd'hui faire différents tests pour comprendre d'où viennent les problèmes.
J'ai écrits plusieurs petits fichiers en Gcode pour tester.
Voici le résultat de mes expériences :

1/
Effectivement sur l'axe X, il y a un décalage du à l'entrainement (la poulie reviens exactement à la même position). J'ai réussi à la réduire en collant les galet en caoutchouc sur l'axe, Sur une longueur de 900 mm, j'ai un décalage d'environ 5mm.
J'ai fait réaliser ces galets avec une découpe au jet d'eau mais ils sont légèrement conique et je les ai mis en quinconces.(il y a deux galets qui pincent la feuille à chaque extrémité et 5 galets repartis sur la longueur de l'axe du dessous. Ils pincent assez fortement le papier mais visiblement ce n'est pas suffisant, peut être faut-il faire un système de serrage qui écrase le galet du dessus sur celui du dessous à chaque extémité?
Stanloc pourrais tu envoyer une image de ton système d'entrainement?

Sur l'axe X je n'ai pas de décalage de pas.

2/
Par ailleurs je confond - il me semble - saut de pas et décrochage.
Si j'augmente la vitesse, le moteur de l'axe X décroche ( voir vidéo sur Youtube ). Par contre le moteur de l'axe Y tiens bien la vitesse. Ceci est du au fait qu'il y a une réduction sur l'axe Y et pas sur l'axe X. (la réduction augmente le couple si j'ai bien compris, peut être que quelqu'un peut m'éclairer la dessus.)
pour info, sur GRBL V0.9 j'ai les paramètres suivant : $110=600 et $111=10000. Au dessus de 600 le moteur du X commence à décrocher et pour le Y je peux encore aller plus vite mais après le papier s'emballe...
Je suppose que si je fait une réduction sur le moteur du X je vais pouvoir augmenter la vitesse, faut t-il que la réduction soit équivalent à celle de l'axe Y?

3/
Ensuite j'ai une question lié au Gcode.
Il semblerai que j'ai trop de décimal aprés la virgule.
Je produit le fichier Gcode à l'aide d'un fichier SVG (Illustrator) et ensuite le Gcode avec Processing. (Je travaille avec un Mac et je n'arrive pas à faire fonctionner le plugin Gcode avec Inscape).
Universal Gcode Sender traduit cela en substituant une virgule à la place du point et donc une erreur "Expected command letter" (voir image ci dessous).
On vois bien en comparant le fichier Gcode et la console de UGS qu'il y a un pb.
De toute façon je n'ai pas besoin de cette résolution, une décimale me suffirait.
Est ce qu'il y a un paramètre à entrer quelque part pour éviter cela?

Capture d’écran 2015-09-01 à 16.30.23.png

Capture d’écran 2015-09-01 à 16.31.26.png


4 /

Enfin pour le Z j'ai utiliser une deuxième carte arduino pour piloter un servo moteur.
Le Z up et Z down correspond à M3 et M4, seulement j'ai l'impression que le papier est déjà entrainé avant que le Z soit totalement en bas.
Forcement puisque mon Z dépend d'une impulsion et que que ce n'est pas un moteur pas à pas (donc pas de retour de position)
Est ce qu'il y a un délai que je puisse placer quelque part pour que mon crayon soit bien appuyé avant le déplacement des moteurs?


voilà that's all,
merci pour votre attention , désolé pour cette réponse exhaustive mais je suis vraiment mordu par ce truc et j'espère que je vais réussir.
Jean-Marie
 
N

Nomadsoul

Apprenti
Bonjour,

D'après la vidéo :

Je pense qu'il pourrait s'agir d'un problème d'alimentation des drivers. Appartement tu n'a pas assez de puissance.
D'après ce que je sait, un voltage élever permet une grande vitesse au détriment du couple et une intensité élevé permet un couple important au détriment de la vitesse. Si x décroche à vitesse élever c'est que soit tu va trop vite et que le couple nécessaire pour déplacer l'axe est trop faible.(faut trouver le juste milieu) soit ton alimentation est trop faible pour permettre une vitesse élever et commander plusieurs axes à la fois à un couple donner.
Sinon tes moteur sont commander en pas complet ou micro pas ? Je croit qu'il vaut mieux privilégier les microsteps afin d'éviter des pas de sauter.(surtout si tu as des drivers pourrit comme moi) .

En espérant que sa pourra t'aider.
 
J

jmb47

Apprenti
Bonjour, merci pour ta réponse.

Les moteurs sont alimentés en 12v mais le courant est de toute façon limité par le driver(A4988)
Si je veux augmenter le courant je suppose que c'est au niveau du driver que je dois gérer, car si j'augmente le voltage il n'y a pas de différence.
J'ai une alimentation réglable ,pour le moment elle indique 12v et 1A mais je ne pourrai pas monter au dessus de 12V.

Sinon les moteurs sont en pas complet, je ferai un essai avec des micros pas dés que possible.

Jm
 
N

Nomadsoul

Apprenti
Oui le courant est limite par les driver mais l'alimentation doit fournir plus d'intensité . si par exemple tu a 3 moteurs de 2 ampère ton alimentation qui gère tous sa doit faire 3*2 ampère minimum le tout en 12v. Donc une alim de 12v 6 ampere minimum pour gérer tous ça !lLalimentation ne peut pas alimenter l'axe x et y en même temps si celle ci ne délivre que ce qu'à besoin un driver...
Les drivers ne prendrons que ce qu'ils ont besoin ( si c'est une alimentation réguler) . Si tu as peur tu peut toujours mettre un fusible rapide à l'entrée de chaque alimentation des drivers.
 
Dernière édition:
J

jmb47

Apprenti
Sur mon alim si j'augmente l'amperage, rien ne se passe....j'ai toujours le même amperage qui s'affiche.

Mes moteurs sont de 1,7A il me faudrait une alim 12v et entre 3 et 4 ampère, une alim de Pc pourrait convenir? Je crois qu'elle délivre du 5 A....
 
N

Nomadsoul

Apprenti
Faut être sur que l'alimentation pc délivre bien que 5ampere. Le mieux étant une alimentation à découpage acheter exprès...n'oublie pas de bien refroidir tes drivers ( un ventilateur de PC 12 volt fait bien l'affaire)

Si dans ton cas cela ne change rien au problème, test les micro pas !
 
M

moissan

Compagnon
c'est les drivers qui determinent les courant envoyé aux moteurs il est indispensable que l'alim puisse fournir le courant sans baisser la tension ... il n'y a aucun inconvenient a mettre une alim capable d'un courant plus fort que le courant utile

est ce qu'il existe des carte drivers avec alarme en cas de baisse de tension ?

si il n'y a pas de fonction detection de baisse de tension , surveiller un voltmetre pendant le fonctionement n'est pas suffisant : des baisse très courte peuvent suffir a sauter des pas ... un circuit R C et diode avec un voltmetre pourrait servir de detecteur de baisse de tension
 
J

jmb47

Apprenti
Merci
Si j'arrive à coder en revanche mes compétences en électricité sont trop juste.
Je ne sais pas ce que c'est un circuit RC.
Est ce que tu peux poster un schéma et comment le faire fonctionner ?
Merci
Jm
 
M

moissan

Compagnon
avant de chercher un moyen de mesurer une eventuelle baise de tension a cause d'une alimentation trop faible commence par dire quelle alimentation tu a

je vois dans un de tes message precedent que si tu change le courant de l'alim ça ne change pas le courant indiqué ... je vois venir que tu utilise une alim de labo ... dans ce cas tu doit mettre le courant au maximum pour etre sur qu'elle ne limite pas le courant
 
J

jmb47

Apprenti
Oui c'est ça. J'ai une alim de labo et j'ai mis le courant et l'amperage au max.
 
J

jmb47

Apprenti
Bon pas de réponse sur l'alimentation.
Je viens de tester en alimentant qu'un seul moteur sur les deux et il n'y a pas de différence.
J'ai toujours un pb de saut de pas sur l'axe X.
J'ai également fait des tests avec une accélération très grande et j'ai toujours le même problème.
Pourtant sur mon axe x j'ai peu de résistance, les paliers sont très fluide.
Ci dessous une vidéo avec mes vitesses max ( limite avant le décrochage) paramètre de Grbl :
X max rate : 2000 mm/min
Y max rate : 8000 mm/min

 
J

jmb47

Apprenti
Avec un Gcode écrit sans décimal ça va tout de suite plus vite
X max rate : 25000 mm/min
Y max rate : 25000 mm/min

 
H

Helen

Apprenti
Bsr,

Trouvé ce post via mon moteur de recherche favori.
C'est tout ce que je voulais.
Je fais remonter ce post et je vais faire un truc similaire pour des trucs comme ça et pas que. Je le rechercherai plus trop longtemps.
Merci à tous de vos contributions.
J'aime bien ce forum :heart:

Ln
 
G

greg_elec

Compagnon
Pour avoir les bonnes pièces à pas trop cher : récupération d'imprimantes jet d'encre , tu auras dedans les roues et les galets pour entrainer le papier ... et aussi les axes et les palliers
 
D

Doctor_itchy

Compagnon
bonne idée la récup , les imprimante se trouve en masse a la decheterie mais aussi sur le trottoir (enfin si y a encore le passage "encombrant" par chez toi ) , tu peu aussi allez voir dans un magasin informatique , parfois y a des sympa qui veulent bien te filer quelque truc :)

apres vis a vis du post original il te faut plus de tension au driver, une alim 24V est l'idéal et pour moi le minimum , pour le drivers il en existe des bien plus performant que ceux cité !(dont certain pouvant recevoir plus de 50volt mais il vaut mieux rester en 24V car cela pose d'autre soucis dans le reste de l'éléctronique donc il y a des astuce et il faut plusieurs alim séparée), coté courant ce n'est pas forçément utile de multiplier le courant par le nombre de moteur (bien que plus simple certe ) le courant moteur dans les pas a pas est "complexe" un moteur de 2A phase ne va pas spécialement consommé 2A , quand il est a l'arret et selon ou il est en fonction du microstepping et du courant réduit ça varie , en utilisation aussi , pour par exemple 2 moteur de 2A une alim de 3A sera suffisante , mais pour simplifier et ne pas faire des calcul complexe tu peu peu en effet compté 2A par moteur pour l'alim , il faut aussi veiller a avoir des fil d'une bonne section et section qui doit etre revue a la hausse si les cable sont plus long (28awg en général pour 1metre max avec moteur 1.5A phases ,donc valeur awg plus basse pour de plus grosse section , oui la norme awg est differente de la norme de section en mm² )

dans ton projet pense a crée un post la dessus , avec tes idée , un schéma de l'idée et les divers question qui en résulte si tu en a :wink:
 
H

Helen

Apprenti
Bonjour à tous les deux,

@greg_elec, @Doctor_itchy
Pas d'inquiétude sur la récupération des imprimantes et autres moteurs pàp. J'avais déjà tendu la main en me baissant en faisant le trottoir pour des imprimantes lâchement abandonnées la nuit ou en fin de brocante et de la récupération dans des épiceries d'électronique avant fermeture définitive.
Pour les drivers j'ai regretté la disparition du MC3479 de chez Motorola. Il est dépassé, mais j'en étais secrètement tombée amoureuse. : - )
Amha avis les contraintes mécaniques ne sont pas très exigeantes en X et Y (cf. Résistances a l'avancement) sauf peut être la force de maintien du crayon de manière réglable et constante sur Z. C'est pour moi la partie a travailler ou de trouver des astuces.
Mes feuilles sont sacrément grandes proches du A1.
Utilisation de courroies ou de cordes? Des essais seront à faire.
J'ai trouvé des profil 20 ou 40 en alu chez Reichelt dans les longueurs de 50 et 100 cm.
Je concentre mes idées de choses à faire dans ma tête puis sur le papier et sur mon pc pour savoir ce que j'aurai besoin. (Réparer mon imprimante 3d actuel, faire cette cette table traçante de grand format, développer une première ébauche pour un télescope homemade motorisé avec gps/rtc et cartographie des astres, cinq ou six petites bidouilles qui sont en sus à faire ou à réparer) Une seule commande sera faite chez eux. Je verrai ailleurs pour la suite chez digikey, mouser, farnell et radiospares. Je voudrai avoir terminé tout ça lors du second trimestre 2024. Sauf mon télescope ou le miroir à polir ça va être long et assez casse gueule pour les bénéfices et les sacrifices à faire.

Cdt

Ln
 
D

Doctor_itchy

Compagnon
pour les drivers j'utilise du TMC5160 pour des "gros" moteur (+ de 1.5A) et du tmc2209 pour des moteur jusque 2A

il ont bcp d'avantage , déja le courant important , puis il sont en 256eme de pas , et surtout il sont configurable en uart (mais ça passe pas sur grbl ça :( ,enfin pas encore ^^ )

pour grbl je te conseil au moins un mega2560 avec une ramps (oui pour imprimante 3d ) il existe un firmware grbl pour 2560 il est un peu plus délicat a faire tourné mais une fois ok ça fonctionne mieux que du arduino nano , avec plus d'axe et de possibliter

l'idéal etant un stm32 avec grbl32 , il y a une carte mere 32bit spécifique a grbl , avec un ecran tactile , ça ne coute pas grand chose et c'est tres performant :)

coté mécanique , les courroie c'est plus simple a installer et a configuré , j'ai tenté le cable , ça fonctionne mais c'est plus simple a courroie :wink:

tu doit aussi faire une mécanique pas trop lourde (la partie en mouvement ) mais tu ne doit pas négligé la rigidité et limité les jeu mécanique et les flexion au maximum

tu peu aussi partir sur un grand plotter A0 hs , on en trouve parfois et ça simplifie grandement le boulot forcément :wink:

j'en ai un en piece détachée , pas complet ! c’était un gros hp 750C , chassis et quelque guidage ,alim , peu etre les moteur si je les retrouve il faut que je fouille pour voir si je retrouve tout (mais c'est du servo dc ! ), si ça peu te servir je te le donne mais vu la taille il faudras venir le chercher ça ne passe pas en mr :/
 
G

greg_elec

Compagnon
pour l'axe Z préfere un electro aimant plutot qu'un moteur pas a pas c'est rapide pas besoin d'une grande course 2mm ca suffit
 
H

Helen

Apprenti
@Doctor_itchy,
Il me semble me souvenir de vous sur un forum audio.
J'adore la hi-fi, mais c'est des fois des rencontres avec des prêtres vodou, de la secte et du méchant plagiat. Des trucs prenant à faire valoir dans les règles de vie. Mais bon il y a aussi de l'humain charmant c'est là que j'arrivais à tirer mon épingle du jeu
Vous étiez dans le nord ou le pays juste en haut à droite il me semble.
Faut que 'normalement je retourne à Lille en début d'année (rdv médical).
Je connais un peu ce genre de matos de plotter.
Je pensais idéalement ne pas avoir de tambour mais un truc vraiment à plat pour éviter les contraintes mécaniques (feuilles à plat et non enroulée).
Moi cela va être simple pour le début microcontrôleur + portes logiques de commande + capteur de protection I et T°+ driver par tuto xfet et moteur pàp. Je rajouterai de la mémoire de xMo de l'USB en sus du rs232 initial en second lieu.
Voili voilou du classique de chez classique.

@greg_elec,
Oui c'était dans mon idee ou un truc à vis motorisée avec un ressort en dessous pour faciliter la remontée. A voir.

Cdt

Ln
 
D

Doctor_itchy

Compagnon
c'est possible oui , il y a longtemps :) (je suis ingé son de base )

je suis plutot tres au nord en Belgique !

ha ici c'est un plotter tambour , un gros tambour en caoutchouk sur toute la largeur de la feuilles , apres ça peu servir de base pour autre chose , enfin moi c'est cadeau mais ce n'est pas une obligation ^^

coté éléctronique il existe des carte toute faite et pour une 30ene d'euro avec drivers , ecran et firmware déja pré flasher :) a voir si ça vaut le coup de faire une éléctronique sois meme et peu etre moins performante :wink:

ce genre de carte

avec tout livrer et pret a fonctionner :)
 

Sujets similaires

cabaret
Réponses
1
Affichages
961
Bertitou
B
T
Réponses
28
Affichages
2 912
Tristan l'apprenti
T
F
Réponses
4
Affichages
38 788
francois23
F
N
Réponses
78
Affichages
9 399
nipil
N
D
Réponses
20
Affichages
14 835
demdandeinfos
D
L
Réponses
2
Affichages
1 530
ladolDéjeune
L
Haut