Skip to content

Configurer le ZProbe

Contenu de niveau intermédiaire

Ce que l'on va faire ici

Nous allons voir comment configurer le ZProbe avec le firmware Smoothieware.

Pour comprendre : c'est quoi le ZProbe ?

Tout le monde connaît les Endstops : c'est les capteurs de fin de course des axes. Leur position est fixe et permettent au lancement de la machine de détecter l'origine des axes.

Le ZProbe, c'est comme un endstop mais pour un outil. En clair, çà permet de détecter une hauteur ou de caler le zéro du Z sur un contact avec un dessus de plaque ou autre référence utile avant de lancer un usinage. .

A la différence du endstop, le ZProbe se déclenche indépendamment du home, via un GCode dédié.

Info

Pour info : Personnellement, dans le cadre d'une utilisation d'une CNC depuis plusieurs années, je n'utilise quasiment pas le Zprobe mais je fais cale le 0 du Z manuellement, broche en rotation. Ceci a plusieurs avantages intéressants, notamment celui de pouvoir entrer un peu dans la matière pour obtenir une découpe propre des 2 côtés. Donc en clair, le zprobe n'a rien d'obligatoire.

Liens utiles

  • La référence est la doc smoothieware dédiée au sujet et qui doit vous servir de référence en complément de cette page : http://smoothieware.org/zprobe

Quel capteur utiliser ?

N'importe quel capteur qui a une sortie ON/OFF mécanique ou numérique. Donc, çà peut être :

  • un endstop,
  • un capteur inductif, etc.

Pour un essai, le plus simple est d'utiliser un endstop.

Quelle broche utiliser ?

Sur la smoothieboard

Voir : http://smoothieware.org/zprobe

Sur la emotronic

Une solution simple sur la emotronic dans le cas d'une utilisation avec une CNC est d'utiliser :

  • le bornier du endstop non utilisé de l'extrudeur nommé E soit la broche 1.25
  • voire le bornier de l'extrudeur du endstop du Z si non utilisé.

ATTENTION !!!

Faîtes très attention à ne pas inverser le sens de connexion du endstop sur la carte emotronic : sinon au premier contact, vous allez mettre un court-circuit entre GND et Vcc et çà la carte, elle n'aime pas du tout +++ ! La emotronic, c'est pas une carte Arduino... c'est une petite nature, un rien la déglingue, vous êtes prévenu ! ;-)

Sur Simple CNC Mill Board

Sur notre carte SCMB, la broche à utiliser pour le Z-Probe est déjà prévue, c'est la 1.28

Configuration

Vue d'ensemble

Comme à chaque fois avec smoothieware, le principe consiste à activer le module et à fixer les paramètres utiles :

zprobe.enable                true               # set to true to enable a zprobe
zprobe.probe_pin             1.28!^             # pin probe is attached to if NC remove the !
zprobe.slow_feedrate         5                  # mm/sec probe feed rate
#zprobe.debounce_ms          1                  # set if noisy
zprobe.fast_feedrate         100                # move feedrate
zprobe.probe_height          5                  # how much above bed to start probe NB only needed for G32 on delta
zprobe.return_feedrate       0                  # feedrate after a probe, default 0 is double of slow_feedrate (mm/s)
zprobe.max_z                 20                # maximum default travel for the probe command, will use gamma_max if not defined

Quelques remarques :

  • attention, les vitesses sont en mm/sec alors que sur la CNC on raisonne plutôt en mm/min... Donc, par exemple, pour 120mm/min en slow et 500mm/min en fast, mettre 100/60~2mm/sec et 500/60~8mm/sec

Exemple de config avec l'OMM PLUS + emotronic

Dans ce cas, on utilise un endstop sur la broche 1.25 et la config est à la suivante :

zprobe.enable                true               # set to true to enable a zprobe
zprobe.probe_pin             1.25!^             # pin probe is attached to if NC remove the !
zprobe.slow_feedrate         2                  # mm/sec probe feed rate
#zprobe.debounce_ms          1                  # set if noisy
zprobe.fast_feedrate         8                # move feedrate
zprobe.probe_height          5                  # how much above bed to start probe NB only needed for G32 on delta
zprobe.return_feedrate       0                  # feedrate after a probe, default 0 is double of slow_feedrate (mm/s)
zprobe.max_z                 200                # maximum default travel for the probe command, will use gamma_max if not defined

Tester la bonne détection du ZProbe

Une fois la config faîte, faire un reset sur la carte pour bonne prise en compte et envoyer le GCode M119 ce qui donne :

X_min:0 Y_min:0 Z_min:0 pins- (X)P1.22:0 (Y)P1.23:0  Probe: 0
ok

Ensuite, renvoyer à nouveau M119 mais cette fois en maintenant appuyé le endstop de ZProbe ce qui doit donner :

X_min:0 Y_min:0 Z_min:0 pins- (X)P1.22:0 (Y)P1.23:0  Probe: 1
ok

Remarquer que la valeur Probe est passé de 0 à 1 preuve que tout est OK.

Utilisation du ZProbe

Le GCode fondamental pour le ZProbe, c'est G30 : ce GCode déclenche le mouvement de recherche dans le sens négatif en Z et à la détection renvoie la valeur de la distance avant de revenir à la position de départ. Soit par exemple :

Z:4.3773
ok

Si on souhaite que la détection entraîne une remise à zéro du Z par exemple, on fera G30 Z0 ce qui correspond à G30 suivi d'un G92 Z0 (=RAZ origine machine).

L'essentiel est dit. Pour plus de détails ou d'infos voir : http://smoothieware.org/zprobe