Core XYU Z Movement Issue
-
Hi DC42, following further tests, it seems to happen with both Y and Z instructions. So with the attached video, The active tool is Tool 1 (U) and I have sent a G1 Z25. The U Carriage moves back to Home and the Z Carriage moves down . If you then send a U-1 from the console. the U moves back to its original location and 1 left.IMG_3633.mp4
When Tool 0 is active (X) then all works properly.
-
What that homing move shown in the video?
Can you pot your homing files and any tool change files?
-
The homing move was not called, that just occurs when you do a Z or Y move, that's the whole issue. The tool files are empty.
If I make Tool 0 o r Tool 2 active (which does not exist I know), then Z and Y moves act as expected. This only occurs when Tool 1 is active
-
why do you have v axis defined ?
-
@hackinistrator Because I am using the same logic as worked out in https://forum.duet3d.com/topic/16375/core-xyu-or-xyuv/25?_=1615925048500
Which means (as far as I understand) you have 4 motors for a core XYU all of which need to move independently to achieve XY or UY movement.
As I've said above, All X Y U Z movement works absolutely fine when T0 is the active tool, than anomaly only happens when T1 is active.
-
@pcsentinel i think you are making a mess .
for dual carriage (coreXY) printer , if you have 2 motors for each carriage , then its XYUV .
if the second carriage connected to a single motor then its XYU .
your matrix defined as XYU , but drive mapping its XYUV .
how is the second carriage actually connected ? -
@hackinistrator Sorry, but I think you are wrong, please see: the link from above. Also the firmware code from the Duet is as follows:
case KinematicsType::coreXYU: // Core XYU is like CoreXY with an additional U axis controlled by the U and V motors inverseMatrix(0, 1) = 1.0; inverseMatrix(1, 0) = 1.0; inverseMatrix(1, 1) = -1.0; inverseMatrix(1, 3) = 1.0; inverseMatrix(1, 4) = -1.0; inverseMatrix(3, 4) = 1.0; inverseMatrix(4, 4) = 0.0; // V can't be commanded directly break; case KinematicsType::coreXYUV: // CoreXYUV is a dual CoreXY setup inverseMatrix(0, 1) = 1.0; inverseMatrix(1, 0) = 1.0; inverseMatrix(1, 1) = -1.0; inverseMatrix(3, 4) = 1.0; inverseMatrix(4, 3) = 1.0; inverseMatrix(4, 4) = -1.0; break;
i.e. a core XYUV effectively has two XY carriages whereas a Core XYU has 2 heads mounted on a single Y carriage.
I am guessing I have 1 setting wrong somewhere that is causing this issue. Do you have a Core XYU machine, if so maybe you could post the config.g so that I can do a comparison.
-
Can you post some pictures of your machine?
-
@pcsentinel please tell hoy many motors connected to your second carriage .
its possible to make coreXYUV with single gantry , if 2 motors control second carriage . -
@hackinistrator There are4 motors controlling the XYU carriage. please see my post above which shows you that the firmware defines that as being core XYU
-
then its core XYUV , your m669 is wrong .
-
@hackinistrator 4 motors:
case KinematicsType::coreXYU:
// Core XYU is like CoreXY with an additional U axis controlled by the U and V motors
inverseMatrix(0, 1) = 1.0;
inverseMatrix(1, 0) = 1.0;
inverseMatrix(1, 1) = -1.0;
inverseMatrix(1, 3) = 1.0;
inverseMatrix(1, 4) = -1.0;
inverseMatrix(3, 4) = 1.0;
inverseMatrix(4, 4) = 0.0; // V can't be commanded directly
break; -
@Rushmere3D Hi, please see the video linked above and below.
-
you defined custom matrix , not just K5 or K8 . your m669 is wrong .
if you have 4 motors for XYUV
matrix should be something like that :M669 X1:1:0:0:0 Y1:-1:0:1:-1 Z0:0:1:0:0 U0:0:0:1:1 V1:-1:0:1:-1
-
I will look at the matrix, but I am failing to understand the relationship to the actual issue, which is that when Tool 0 is active then everything works fine, but when Tool 1 is active then the U is parked for any Y or Z moves.
To prove it, here is a video taken with Tool 0 active.x1.mp4
-
Well, I am now even more confused, I have tried various options including changing the matrix to
M669 X1:1:0:0:0 Y1: -1:0:1:-1 Z0:0:1:0:0 U0:0:0:1:1 V0:0:0:0:1moving M584 to above M669
But I have now discovered that the issue is intermittent, so when Tool 0 is active then everything always works fine, but when Tool 1 is active, sometimes a G1 Z5 will move the U carriage to its home position (without being told to) whilst at the same time Z moves as instructed, other times just the Z carriage moves as expected.
And its not after a config change. Sometimes its as if some internal variable is set or cleared. So everything works, and then you give an instruction and following that the aberration occurs again.
The other thing I have noticed is in the pics, If X is homed to -94 (pic1) and then I make Tool 1 active the X location is shown as the U location in the interface.
-
-
@hackinistrator Same result, no change.
-
@pcsentinel can you send m669 in console and paste the resuly here?
-
@hackinistrator
Kinematics is modified Cartesian, matrix:
1.00 1.00 0 0 0
1.00 -1.00 0 1.00 -1.00
0 0 1.00 0 0
0 0 0 1.00 1.00