I didn't send "M105", why I will receive temperature information "T:20.25/0 B:14.56/0 ..."
Dear Engineer,
Normally, when host send "M105", the board will send temperature information like: "T:20.25/0 B:14.56/0 ...". But today I found the board will send this temperature information without been asked by the host, I mean, I didn't send command "M105", but I received temperature information sometimes.
Why I ask this is because once I received this temperature inforamtion, my Z_AXIS loose accuracy, and the Z position will change. Please check my below picture, why the board will send this temperature information "T:20.25/0 B:14.56/0 ..." randomly without send command"M105".
looking forward to your reply. Thanks in advance!
Tony
Comments
Of course it should not effect the z move at all. What is your z move speed and resolution and board type (processor) that this has an effect? If you have very high stepper frequencies that can be a problem when cpu is used 100%, but then I would expect the same problem with server asking every second for a temperature.
In dev version you can add
#define PREVENT_Z_DISABLE_ON_STEPPER_TIMEOUT
to prevent z axis from timeout. So xy could still time out and problem should not appear.
What I wonder is does this also happens before you do any move? I mean technically it is the same if motors are off from timeout or never enabled. Also M84 should go to same state.
when disabling the driver, the motor jumps to the next "full step position".
f.e. if you use 1/16th step and you stop the motor at microstep 12 , the motor will jump forward to next fullstep after disabling driver.
if you stop the motor at microstep 4 , the motor will jump backwards to next fullstep after disabling driver.
as rod driven mechanics need more force to move than belt driven so they mostly prevent the jump of motor
and keep position