Welcome! Log In Create A New Profile

Advanced

un problème avec M851

Posted by maximeh 
un problème avec M851
December 02, 2015 11:41AM
Quand je lance
M851 Z-19.4
M500
et ensuite
G28 Z0

il va a la même hauteur qu'avant mais pas celle demandée

Qu'est ce que j'ai pas compris.

merci d'avance

Edited 2 time(s). Last edit at 12/02/2015 01:05PM by maximeh.
Re: un problème avec M851
December 03, 2015 07:39AM
Bonjour

Je pense que tu confonds deux choses.

Quand tu fais un G28 ou un home Z tu arrete le mouvement sur la detection du plateau par ta sonde ( capa ou induc). cette valeur est toujous la même (heureusement).

Quand tu fais un G92 tu indiques à Merlin de positioner sont compteur de steps à zeo mais ne déplace pas ton axe Z.

Le M114 te permet de connaitre l'écart entre la position zéro de la sonde et le zéro que tu as indiqué à Marlin. Ce qui explique le M851 Z-XX.YY. tu indique à Merlin que le plateau est à XX.YY du zéro déclanché par la sonde.

G28 stop sur l'info des EndStop et pas sur la position zéro des compteurs de step.

Je n'ai pas ma i3 ici mais je pense qu'un G1 Z0 devrait te positionner à ton réglage initial.

Jean-Michel
Re: un problème avec M851
December 03, 2015 11:00AM
Bonjour Maximeh,

La commande M851 dont tu parles est une commande spécifique au firmware de la Smartrapcore (voir les bouts de code que j'ai mis en copie)

Sans cette information, je ne pense pas que les gens puissent t'aider beaucoup ...

D'après [github.com]
ligne 3547 de marlin_main.cpp
#ifdef CUSTOM_M_CODE_SET_Z_PROBE_OFFSET
case CUSTOM_M_CODE_SET_Z_PROBE_OFFSET:
{
float value;
if (code_seen('Z'))
{
value = code_value();
if ((Z_PROBE_OFFSET_RANGE_MIN <= value) && (value <= Z_PROBE_OFFSET_RANGE_MAX))
{
zprobe_zoffset = -value; // compare w/ line 278 of ConfigurationStore.cpp
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " " MSG_OK);
SERIAL_PROTOCOLLN("");
}
else
{
SERIAL_ECHO_START;
SERIAL_ECHOPGM(MSG_ZPROBE_ZOFFSET);
SERIAL_ECHOPGM(MSG_Z_MIN);
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN);
SERIAL_ECHOPGM(MSG_Z_MAX);
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX);
SERIAL_PROTOCOLLN("");
}
}
else
{
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " : ");
SERIAL_ECHO(-zprobe_zoffset);
SERIAL_PROTOCOLLN("");
}
break;
}
#endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET


ligne 528 de configuration.h
#define CUSTOM_M_CODES
#ifdef CUSTOM_M_CODES
#define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
#define Z_PROBE_OFFSET_RANGE_MIN -5
#define Z_PROBE_OFFSET_RANGE_MAX 0
#endif


la limite pour le M851 c'est -5 donc le -19.4 est ignorée
Re: un problème avec M851
December 03, 2015 11:23AM
Alors le M851 n'est pas spécifique a la smartrapcore, il est bien dans le marlin disponible sur le Github.
Par contre en effet 19.4 de décallage entre la tête et le capteur c'est enorme, je tourne personnellement entre 4 et 8mm, pas plus.

Ensuite, après ton M851 Z-NN.N et ton M500, essaye un M501 pour relire les valeurs depuis l'eeprom, et fait un G28 uniquement (donc X,Y et Z). Si tout est pris en compte, a la fin du G28 ton Z devrait être a ta valeur NN.N (en positif). Si ce n'est pas le cas, c'est que ton M851 n'est pas pris en compte (par ailleurs, un simple M851 t'indique la valeur en cours si tu veux vérifier)
Sorry, only registered users may post in this forum.

Click here to login