Solved How to derive leadscrew / motor positions
-
This is related to a thread I started on https://forum.duet3d.com/topic/28055/4-independent-z-axis-tilt?_=1649773992041
I've seen in various configurations for my printer ( voron 2.4 but that does not really matter here ) different values for my printer:
M671 X-60:-10:360:370 Y0:395:395:0 S20 ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right)
; Position of the bed leadscrews.. 4 CoordinatesWhat I want to know is HOW do I come up with those points? What are the measurements referenced against? ( the doc does not help me - maybe I'm just too dense! )
do I reference the values for the stepper positions by reference from 0,0 front left of the frame?
For what its worth the homing, after I tweaked the order and values from a config, got a LOT closer
-
@bilsch for the v2.4 its the location of the pivot point between the gantry and the z rail in relation to 0,0
-
@jay_s_uk Not sure what you mean by pivot point. Is this like mid point between the belts and the pulley or something?
-
@bilsch this bit
-
@jay_s_uk ah got it ok!
So I would just want to use my caliper or whatever to measure from each corner to that center point of the screw right? Is it a straight angle or squared?
Or is it from 0,0 the distance between?
-
@bilsch it the X and Y offset from 0,0
So if the first one is 10mm to the left and 10mm in front it would be X-10 Y-10 and so on.
You can use calipers or the model to measure it (to the centre of the screw).
The measurements don't need to be exact, within a few mm is fine -
@jay_s_uk Awesome thanks so much!
-
I've added a bit extra to the M671 documentation in the GCode dictionary:
- The X and Y coordinates in M671 are measured from the origin X0,Y0 set by M208. Measure to the pivot point of the bed where it connects to the Z axis. This is often each leadscrew, but may also be offset from the leadscrew if the bed rests on a carriage extending out from the leadscrew.
- The order of the X and Y coordinates is important; they relate to the order the motor drivers are defined in the M584 command. The first defined motor in M584 should be the first defined coordinates for X and Y in M671, and so on. For example, if you have M584 Z3:4:5 and M671 X[a]:[b]:[c] Y[a]:[b]:[c], the positions of X and Y for the motor on Z3 are defined by X[a],Y[a], Z4 by X[b],Y[b], and Z5 by X[c],Y[c].
Ian
-
-