Basic Information:
Printer Model: Anycubic Vyper
MCU / Printerboard: STM32F103
klippy.log
and config: klippyLogs.zip (14.4 KB)
Describe your issue:
*I have a dual z axis with dual end stops (Vyper) and running klipper for quite a while yet. Recently I just noticed that Z homing makes noise when homing and the z-homing is not finish correctly. It could be seen that during homing one stepper stops first and the other stepper continues until end stop is reached. This is normal operation. Though when the retraction (10mm) happens, then the 2 steppers do not lift up parallel, but one gets a offset. And it makes some strange stepper noise".
It looks like the stepper difference while homing is added back again when retraction happens.
If I change the printer.cfg to one end stop (still dual z steppers) then homing works fine. No noise from the steppers. Though the missbalance between z and z1 are not compensated.
From the debug logging I could not find any indicators. Thus I added a print statement in the “stepper.py:note_homing_end” function to see where the mcu position of the stepper is located.
Here the print outs for multiple z-home operations (with one end stop, reaction_dist: 0.0 - just one endstop move each time)
Blockquote
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3752)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3752)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3752)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3752)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -3751)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3751)
The homing is pretty repeatable.
If I do the same with 2 end stops enabled, the picture looks quite different:
Blockquote
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4260)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -3056)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4298)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -2312)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4302)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -1589)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4305)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -872)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4305)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, -172)
(‘Stepper:’, ‘stepper_z’, ‘StepperCPUPos:’, -4308)
(‘Stepper:’, ‘stepper_z1’, ‘StepperCPUPos:’, 483)
It looks like the 2nd stepper is adding and error each time of homing. I feel that this is the difference between the 2 endstops that should be compensated.
I tried some time to find some hint in the code where the 2nd stepper is not served correctly. Though didn’t manage to find the right spot in the code.