[GRBL] Galère avec mes fin de course

  • Auteur de la discussion lgjean
  • Date de début
L

lgjean

Apprenti
Bonjour, j'ai monté une CNC plus ou moins maison en architecture core XY avec Arduino UNO et son CNC Shield (V. 2 je crois) le tout sous GRBL 1.1 ('fin le plus récent que j'ai pu trouver). J'utilise UNIVERSAL GCODE SENDER pour la piloter.
La machine fonctionne mais j'aimerai installer une fin de course au niveau du Z.
Ben pas moyen ! J'ai beau suivre ce qui est indiqué sur le site officiel
https://github.com/gnea/grbl/wiki/Set-up-the-Homing-Cycle
Mais rien à faire. Si j'active $22 et que j’essaie un mouvement, UGC me dit qu'il attend que GRBL ai fini une commande. Je dois désactiver cette commande et faire un RAZ pour reprendre la main.
Avec $21 pas de fin de course détecté.
J'ai essayé de mettre une résistance de 10k en pull up mais c'est pareil.
J'ai essayé les deux premier type de montage indiqués ici :
https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

Je sais plus quoi faire, quelqu'un a une idée ?

Merci !
 
J

jpbbricole

Compagnon
Bonjour lgjean
La machine fonctionne mais j'aimerai installer une fin de course au niveau du Z.
Attention, depuis GRBL 0.9j (je crois!) et plus haut les pin 11 et 12 sont inversées. Donc le Limit Z-Axis est sur la pin 12 (avant sur la 11) et la commande Variable Spindle PWM sur la 11 (Avant sur 12)

Regardes ici.

Cordialement
jpbbricole
 
L

lgjean

Apprenti
Ah effectivement il se passe un truc si je connecte mon ES sur la pin Y+ j'ai bien un message d'erreur de fin de course !

Ca veut dire que mon shield est obsolète par rapport à la version de GRBL !

Merci l'ami j'ai ENFIN une piste sérieuse ! :prayer:
 
L

lgjean

Apprenti
Bon ben c'est ok, elle fait ses zéros sur les 3 axes ça marche nickel !
Encore merci :prayer:
 
L

lgjean

Apprenti
Ton système est excellent mais pas adapté à ma machine. Je fais un plotteur et plus tard je compte installer un laser.
Mais l'idée est purement diabolique ! :smt041
 
L

lgjean

Apprenti
J'ai encore un petit soucis !
En mode manuel si je lance la procédure de homing la machine s'exécute et fait ses 3 axes. Bien entendu aucune fonction de mouvement ne fonctionne tant que je n'ai pas lancé et terminée la procédure.

J'ai voulu tester une écriture pour de vrai avec un crayon. J'ai donc écris un texte sous Inkscape, puis objet en chemin. Ensuite j'ai rentré mes données dans jscut, tout se passe bien, mon GCODE sort bien.
Je lance UGS, charge ce dessin, et démarre la "production" mais la machine ne fait pas ses zéro et me fait presque n'importe quoi dans le sens ou elle démarre le projet n'importe où ! En tapant bien entendu dans mes butées !

Pourquoi en mode auto elle ne fait plus ses zéros la vilaine ?
Merciiiii ! :prayer:

EDIT j'ai bien activée la commande $22
 
J

jpbbricole

Compagnon
Bonjour lgjean

Mets-moi ton fichier Gcode en pièce jointe.

Cordialement
jpbbricole
 
L

lgjean

Apprenti
J'ai mis en extension zip pour le faire passer
 

Fichiers joints

  • gcode.zip
    107.8 KB · Affichages: 149
L

lgjean

Apprenti
Oh et puis ça aussi même si je ne pense pas que ça vienne de là :

$0 = 10 (Step pulse time, microseconds)
$1 = 25 (Step idle delay, milliseconds)
$2 = 0 (Step pulse invert, mask)
$3 = 0 (Step direction invert, mask)
$4 = 0 (Invert step enable pin, boolean)
$5 = 0 (Invert limit pins, boolean)
$6 = 0 (Invert probe pin, boolean)
$10 = 1 (Status report options, mask)
$11 = 0.010 (Junction deviation, millimeters)
$12 = 0.002 (Arc tolerance, millimeters)
$13 = 0 (Report in inches, boolean)
$20 = 0 (Soft limits enable, boolean)
$21 = 0 (Hard limits enable, boolean)
$22 = 1 (Homing cycle enable, boolean)
$23 = 0 (Homing direction invert, mask)
$24 = 200.000 (Homing locate feed rate, mm/min)
$25 = 2000.000 (Homing search seek rate, mm/min)
$26 = 250 (Homing switch debounce delay, milliseconds)
$27 = 1.000 (Homing switch pull-off distance, millimeters)
$30 = 1000 (Maximum spindle speed, RPM)
$31 = 0 (Minimum spindle speed, RPM)
$32 = 0 (Laser-mode enable, boolean)
$100 = 20.000 (X-axis travel resolution, step/mm)
$101 = 20.000 (Y-axis travel resolution, step/mm)
$102 = 100.000 (Z-axis travel resolution, step/mm)
$110 = 10000.000 (X-axis maximum rate, mm/min)
$111 = 10000.000 (Y-axis maximum rate, mm/min)
$112 = 500.000 (Z-axis maximum rate, mm/min)
$120 = 100.000 (X-axis acceleration, mm/sec^2)
$121 = 100.000 (Y-axis acceleration, mm/sec^2)
$122 = 1000.000 (Z-axis acceleration, mm/sec^2)
$130 = 160.000 (X-axis maximum travel, millimeters)
$131 = 160.000 (Y-axis maximum travel, millimeters)
$132 = 15.000 (Z-axis maximum travel, millimeters)
 
J

jpbbricole

Compagnon
Salut Jean

Pourquoi en mode auto elle ne fait plus ses zéros la vilaine ?
Pas sûre que ce soit elle la vilaine :7grat:

Le dessin se fait bien, par contre je n'ai pas vu l'ordre G-code G28 pour lancer les zéros.

A+
jpbbricole
 

Fichiers joints

  • Gcode_lgjean.mp4
    328.3 KB · Affichages: 136
S

speedjf37

Compagnon
Je lance UGS, charge ce dessin, et démarre la "production" mais la machine ne fait pas ses zéro et me fait presque n'importe quoi dans le sens ou elle démarre le projet n'importe où ! En tapant bien entendu dans mes butées !

Bonjour,

Le (POM)( Homing) zéro machine est à faire manuellement à chaque mise sous tension de la machine. (Z Y X)

Le 0 pièce à faire avant de lancer un usinage.(X Y) (au moins au premier )
Le 0 du Z à chaque changement d'outil et avant de lancer l'usinage.(Z)

Le fichier d'usinage peut intégrer automatiquement des commandes supplémentaires (POSTPRO) comme du Homing.(pas recommandé)

Si on fait une série d'usinage en plaçant une pièce brute au même endroit on peut relancer un usinage sans refaire les 0 .

JF
 
L

lgjean

Apprenti
Merci pour ces précisions.

Sinon sur une coreXY vous mettriez le point d'origine où ?
J'ai mis le miens plus ou moins arbitrairement en haut à droite :???: mais j'ai dans l'idée que ce n'est pas bon. :smt064
 
S

speedjf37

Compagnon
Sinon sur une coreXY vous mettriez le point d'origine où ?
J'ai mis le miens plus ou moins arbitrairement en haut à droite :???: mais j'ai dans l'idée que ce n'est pas bon. :smt064

Quelque soit la machine la représentation d'un repère Orthonormé est du type:
frame.jpg

Le homing pour X et Y correspond au déplacement le plus négatif possible (le coin X 0 , Y 0).
Le homing pour Z correspond au déplacement le plus positif possible (Z max).

JF
 
L

lgjean

Apprenti
Comme Openscad que j'utilise maintenant depuis quelques semaines. Pourquoi j'ai pas fais pareil, mystère...
 
J

jpbbricole

Compagnon
Bonsoir

Sur ma machine, une petite chinoise, je n'utilise pas les FDC pour la mise à 0 mais la méthode évoquée dans le post #7.
Ainsi, je positionne ma pièce n'importe où.

Cordialement
jpbbricole
 
L

lgjean

Apprenti
Encore un truc étrange que j'avais pas remarqué tout à l'heure : elle fait son zéro correctement pour le Z, mais elle s'arrête au premier fin de course qu'elle trouve !
Par exemple si elle trouve le Y en premier elle s'arrête sans avoir touchée le switch du X ! Et inversement si elle trouve le X en premier ! :eek:
 
L

lgjean

Apprenti
J'ai monté mon point d'origine en haut à gauche et mis $23=1
Elle refuse de me faire le homing sur X ET Y. C'est l'un ou l'autre mais pas les deux :smt017
J'ai remis des pull up mais rien n'y fait. :smt108
 
L

lgjean

Apprenti
Dans config.h en commentant cette ligne :

//#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.

le homing ne se fait plus que sur le Z.
En attendant de trouver une solution pour les deux autres axes je met x et y à l'origine à la main.
:partyman:
 
L

lgjean

Apprenti
Je suis en train de me torturer car je crois que j'ai un souci dans mes coordonnées :smt108

Voilà ma machine en position zéro (enfin j'espère...) $23=1

Clipboard02rrrrr.jpg




IMG_20190128_111222deeeee.jpg


Si j'ai bien compris speedjf37, si je clique sur X+, elle doit se déplacer vers le bas.
Si je clique sur Y+, elle doit se déplacer à droite.


Est-ce que c'est bien ça ou j'ai encore compris de travers ?

Merci ! :prayer:
 
S

speedjf37

Compagnon
Si j'ai bien compris @speedjf37, si je clique sur X+, elle doit se déplacer vers le bas.
Si je clique sur Y+, elle doit se déplacer à droite.


Est-ce que c'est bien ça ou j'ai encore compris de travers ?

Par rapport à la photo c'est ça pour la machine , pas pour le clavier (il faudrait une rotation horaire de 90°)

JF
 
L

lgjean

Apprenti
J'ai modifié les câbles de mes moteurs pour avoir l'origine comme il faut (voir plus haut)
Mais maintenant quand j'envoie un texte, la machine écris du haut vers le bas et non plus de gauche à droite comme avant !
En plus j'ai dû bidouiller les paramètres de jscut pour qu'il daigne me sortir un gcode avec des coordonnées en positif pour qu'elle parte à droite et vers le bas au lieu de monter.
Truc de malade :smt017 :smt104:smt108
 
L

lgjean

Apprenti
Encore un truc que je pige pas !
Quand j'actionne le jog, par exemple X+, le bras s'avance bien de 10mm vers moi, ça c'est ok.
La commande que UGS envoi est

$J=G21G91X10F1000
Ce qui veut dire :
G21 = on est en mm
G91 = Toutes les coordonnées à partir de maintenant sont liés à la dernière position
X10F1000 = bouge de 10mm en X+ à la vitesse 1000


Par contre si je tape en manuel

G1 X10 F1000

il part de l'autre coté (X-), et pas de 10mm mais beaucoup plus jusqu'à taper la butée !

:confused:
 
S

speedjf37

Compagnon
Par contre si je tape en manuel

G1 X10 F1000

il part de l'autre coté (X-), et pas de 10mm mais beaucoup plus jusqu'à taper la butée !

Bonjour,

cela laisse supposer que c'est du positionnement absolu et pas relatif comme le G21G91X10F1000

JF
 
L

lgjean

Apprenti
J'ai essayé avec la commande G90 et retenté G1 et il se passe exactement la même chose, à savoir

g1 x10 f1000 donne un trait de 14,1cm au lieu de 10mm
 
Dernière édition:

Sujets similaires

L
Réponses
5
Affichages
26 035
speedjf37
S
S
Réponses
13
Affichages
25 221
Tristan l'apprenti
T
01power
Réponses
3
Affichages
13 745
01power
01power
shodan47
Réponses
1
Affichages
19 696
benny1964
B
M
Réponses
7
Affichages
3 483
Michuko
M
J
Réponses
1
Affichages
2 400
jibé49
J
Haut