5 axis CoreXYAC Voron ( Robot kinematics) not homing Y axis
-
Hello Guys,
I am trying to implement robot kinematics firmware from @JoergS5, for my project 5-axis Corexyac 3d printer modification of voron trident 250.
The printer is mechanically aligned and calibrated and its designed for absolute zero, in the centre of the rotary bed. On the first SD card for the Duet6HC board, I have the printer running the standard Duet firmware 3.51, with all 5 axes homing with G92 gcodes to set the absolute zero for printing at the centre of the bed. As the A-axis rotates around the closest point to the bed surface, the printer also works with the application of tool work offsets G54, G55...
I would like to test full 5-axis kinematics and have compiled a new SD card with Duet firmware 3.51, installed the robot kinematics and set the config file to M669 for K13 B "CoreXY5AC".
I will attach my config file and also the printer's homing file. It seems to be working with the kinematics when I try to do small rotating steps and I can also test all 5 axes after partial homing.
Only I cannot get the Y-axis to home. I have checked the Corexy motor movements with the Duet documentation and all the stepper motor movements are OK. When homing the X and Y axes, the printer will first home the X axis and then move diagonally forward and right, then crash.
I would like to ask for help with homing the printer and setting the absolute zero position for a tool head with robot kinematics.I have documented the printer on Github
https://github.com/Buzzloopster/Voron-Trident-5-axis/tree/main -
@Mafco77 Same problem. It seems that the firmware does not seem to support G1 Hxxx, maybe... I'm not quite sure...
I have a trick which is to use M669 K1 first, then home all axes and use M669 K13 B "CoreXY5AC".
Not perfect but workable. -
Hello @Mafco77 your homeall is:
G91 ; relative positioning
G1 H1 X255 Y255 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 X-5 Y-5 F1800 ; go back a few mm
G1 H1 Y255 X255 F360 ; move slowly to X axis endstop once more (second pass)
G92 X120.94 ; set x position to the center of bed (you may want to adjust this)
G90and the documentation in https://docs.duet3d.com/User_manual/Machine_configuration/Configuration_coreXY says to home the X and Y separately.
In my understanding, your procedure will stop at X or Y, which is reached first, then ends. So one endstop will always be unhomed. If you starting position is near to the Y endstop, your X endstop will remain unhomed. If it's near X, the Y will stay unhomed.
The move back and fine home doesn't help, because it will trigger one endstop again and stop, the other endstop being unhomed.
The homeall in the documentation moves X and Y in two commands separately. This makes sure that both axes are homed.
Documentation:
G91 ; relative mode
G1 H1 X-240 Y-240 F3000 ; coarse home X or Y
G1 H1 X-240 ; coarse home X
G1 H1 Y-240 ; coarse home Y
G1 X4 Y4 F600 ; move away from the endstops
G1 H1 X-10 ; fine home X
G1 H1 Y-10 ; fine home YSo X will be homed first, then Y is moved until homed.
Your homall will move both X and Y, until one of the endstops is triggered, then stops.
@OttoJiang I have not added any special code to the kinematics regarding homing or interpretation of G1 H commands (G-Code handling is out of my reach).
-
Hi @JoergS5 and @OttoJiang, thank you for your replies. Joerg you are right, my homing of x and y was wrong in the homeall file, also I reflashed both firmware's on the printer and now the homing is taken from the homeRobot.g file as it should. Then I corrected the homing of X and Y.
G91 ; relative mode
G1 H1 X240 Y240 F3000 ; coarse homing X or Y
G1 H1 X240 ; coarse home X
G1 H1 Y240 ; coarse home Y
G1 X-4 Y-4 F600 ; move away from end stops
G1 H1 X10 ; fine home X
G1 H1 Y10 ; Fine home Y
G90(My homing sensors are at the back right of the printer)
But homing with M669 K13 B"CoreXY5AC" had the same results, the printer first homed X, then the Y went diagonally forward to the right and crashed. I then tried using M669 K1 as advised by @OttoJiang and the X and Y axis homing was fine without any problems. After a bit of testing homing the with both kinematics M669 K1 and M669 K13 B"CoreXY5AC" I made my homeRobot.g in a way that the printer will start homing first under M669 K1 and home all axis then follows M669 K13 B"CoreXY5AC" and home all axis again without any problems.
My G92 values are also working and the robot kinematics are working absolutely fantastic!!! with all axes moving as they should.
I will attach the homeRobot file.@JoergS5 big thanks for your robot kinematics, the printer works fabulously with it, and now I am going to measure the machine accuracy if there is any adjustment required to tune, but so far I need to mount indicator finger clock to check the accuracy.
I have got some good ideas from testing 5 axis cnc machine centres.
Thank you all very much for your help and support and for the fantastic robot kinematics firmware, there has definitely been a huge amount of work behind all of this!!!Homing:
https://youtube.com/shorts/ZaVPK-iH3sQ?si=MTcbL_gMd6V_0OqxShort kinematics test video:
https://youtube.com/shorts/k_G0fK1Lo9g?si=XwcDXoe3mVyjbMt2 -
@Mafco77 thank you for using the kinematics and nice to hear that you're using it successful.
I probably have implemented the homing of CoreXY wrong somewhere. I'll check it. But please be patient for solving this, it's not the highest priority and you have a workaround.