[GRBL] Galère avec mes fin de course

  • Auteur de la discussion lgjean
  • Date de début
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #1
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 !
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #3
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:
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #6
Bon ben c'est ok, elle fait ses zéros sur les 3 axes ça marche nickel !
Encore merci :prayer:
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #8
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #9
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
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
Bonjour lgjean

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

Cordialement
jpbbricole
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #11
J'ai mis en extension zip pour le faire passer
 
Fichiers joints
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #12
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)
 
S
speedjf37
Compagnon
15 Oct 2009
2 275
indre et loire
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #15
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
15 Oct 2009
2 275
indre et loire
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #17
Comme Openscad que j'utilise maintenant depuis quelques semaines. Pourquoi j'ai pas fais pareil, mystère...
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #19
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:
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #21
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #22
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:
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #23
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
15 Oct 2009
2 275
indre et loire
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #25
Par rapport à la photo c'est ça pour la machine , pas pour le clavier (il faudrait une rotation horaire de 90°)

JF
Ouf me voilà rassuré ! C'est vrai que c'est perturbant le jog contrôle.
Encore merci :smt039
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #26
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #27
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
15 Oct 2009
2 275
indre et loire
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
 
lgjean
lgjean
Apprenti
14 Mar 2011
149
Vannes
  • Auteur de la discussion
  • #29
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:
S
speedjf37
Compagnon
15 Oct 2009
2 275
indre et loire
Quand j'actionne le jog, par exemple X+, le bras s'avance bien de 10mm vers moi, ça c'est ok.
Pour comparer des cde comparables

tester X+ X- Y+ Y- avec le jog

JF
 
Haut