makerbase-motor / MKS-SERVO57D

Makerbase MKS SERVO57D NEMA23 closed loop stepper motor Driver FOC quiet and efficient RS485 / CAN
40 stars 5 forks source link

Stall error and motor status not working properly #3

Open vladimir-metralight opened 11 months ago

vladimir-metralight commented 11 months ago

I have Mks servo 57D 1.0.4. Microstepping is set 16. Lock protection is enabled. Mplyer option is disabled. CanRSP is disabled. Motor mode SR_VFOC.

Test case:

What happens: The motor is not able to fullfill the speed, is rotating on slower speed and the shaft angle error gradually increases. The stall indication error is not indicated and moreover, the motor is still moving even when the status returned is 1 = motor stop.

What should happen: I think that from very big shaft error for a long time, Stall Error should be set and the status should never return stopped state when the motor is in fact still moving.

With slower speed or higher current, when the motor is able to follow the speed, everything work as expected, but would be nice to have stall indication to be more strict when the speed is for example manually changed by holding the shaft for some time.

dcolcott commented 7 months ago

+1 I have found exactly the same problem. Please update.

I've found using higher current of 2800 and then the problem occurs at higher speeds starting around 2500 RPM. I think your assumption is correct from what I have seen the motor reduces to a fixed (low) speed if the shaft error increases past a fixed value when either the speed is high, is a heavy load on the motor or is a long movement with accumulative shaft error.

Also found that the motor returns a 1 - motor stop while running in this mode. As a poor workaround to this I monitor the motor RPM and encoder movements and overwrite the motor stop command if it is detected to be moving but introduces a lag for each step in a movement sequence.

davevengelen commented 6 months ago

+1, I think i've got the same error.

The Alarm output pin does not even change state. Which should change, because otherwise the whole function is useless.

flr09 commented 6 months ago

As i did not test for this specific Problem, id like to find more detailed Information about the Motor. If you could point me in direction of can-bus command list, useful software for testing etc i would be thankful.