Information on the M425 Command
-
Good evening everyone, I kindly ask for clarification on the use of the M425 Code to use it on a small milling machine equipped with a Duet 3d 6HC v1.02 (Firmware version 3.5.0-rc.1)
I'm modifying the milling machine to be able to use it with CAM software.
The X and Y axes do not need a recovery with M425, while the Z axis does.
I tried to put a line with M425 Zxx Sxx in the config.g file but it doesn't change anything?
Can anyone tell me where I'm wrong?
-
@Italiano85 @dc42 Can you help me?
-
@Italiano85 What values did you specify in the M425 command? How are you checking to see if the command is working?
-
I have a centesimal comparator placed on the Z axis
M584 X0.0 Y0.1 Z0.2 ; set drive mapping M350 X16 Y16 Z16 I0 ; configure microstepping without interpolation M92 X8533.33 Y8533.33 Z3675 ; set steps per mm M425 Z2500 S5
(
-
@Italiano85 A setting of M425 Z2500 S5 seems very high to me. From the documentation:
X,Y,Z,A,B... Backlash in mm for the specified axis motor
So your command seems to be saying you have 25000mm of backlash on Z, which seems unlikely.
-
Honestly, I read it wrong, and I thought it was microstep.
Now I try to put like 2mm as a value.
-
@Italiano85 Even 2mm seems very high to me, what amount of backlash do you have?
-
I tried with M425 Z2 S10 and M425 Z5 S10 but it doesn't work.
I detected an error of approximately 0.45mm on the z axis with the comparator.
-
@Italiano85 So what exactly are you doing to test to see if it is working? What movement commands are you issuing? Again from the documentation:
This command tells RRF to insert additional steps when the specified motors reverse direction, to compensate for backlash. The additional steps are inserted over a distance of at least the distance multiplier times the amount of backlash. For example, a multiplier of 10 and a backlash of 0.5mm would mean that the backlash steps would be inserted over as many moves as needed to make up at least 5mm of movement. If the multipler is set too low then missed steps could result.
So with those settings you would need to move Z a distance of 50mm to get the full 5mm of correction. I'd suggest you enter the actual backlash amount you have measured (0.45) and use the default S value, with that you should see the correction be applied on moves over 4.5mm in length.
If that still does not work then you may need to wait for one of the duet folks to comment.
-
@gloomyandy I measured the distance with 0.45 using the movement buttons on the dashboard page +0.05 -0.05, when I reverse the direction of rotation I measure about 0.45mm before the dial indicator moves...
Thanks so much for the support.
-
@Italiano85 try sett9ngnthe distance multiplier to 1. Then if you command a move of at least 0.45mm, the backlash should be fully taken up. You may need to reduce the M203 Z speed limit, because with a multiplier of 1 the step rate while backlash is being taken up will be doubled.
-
@dc42 I think I understand the problem...
If I make a movement of 0.5mm from the dashboard the M425 code does its job very well, if I make movements of 0.05mm the machine does not make any corrections.
-
@Italiano85 if the distance multiplier is set to 1 and the backlash to 0.45, then a movement of 0.05mm in the opposite direction to a previous large move (so that 0.45mm of backlash needs to be taken up) should apply a correction of (0.45 * 0.05/(0.45 * 1)) mm in that move. If you command further 8 moves of 0.05mm then after those moves the backlash should be entirely taken up.
I appreciate that in a CNC application this isn't ideal, and that if no other motors are moving then it would be possible to take up all the backlash in one go, at the expense of the move taking longer than planned.