Corexy Printing different distance on x than in y



  • I have a Hypercube that is a corexy machine. I just finished installing and configuring firmware today for a Duetwifi. I calibrated everything the best I know how from reading a lot here and in the wiki. I printed a 20mm cube and initially it came out oversize by 1.5 mm average on all three axis. So I adjusted the steps per mm in the config file and printed another 20mm cube. Now y is 19.96mm, z is 19.96mm and x is 20.35mm. What setting do I need to adjust to get x to print the same size? I am OK with an axis being .04mm too small, but not being .35mm too large. I adds up to a lop sided part.


  • administrators

    There is a gcode you can use for this, see https://duet3d.com/wiki/G-code#M579:_Scale_Cartesian_axes, but you shouldn't need to use it if your printer is built accurately. Are your X and Y movement axes accurately at right angles to each other? Are the parts of the belt path that vary in length parallel to the movement direction?



  • Everything is square. X and Y are 90 degrees to each other and the belt paths are parallel to movement direction. I could print a perfect cube when I was running the Ramps 1.4. Don't know why that would be different here.


  • administrators

    You should be able to calculate the proper steps/mm from your motor steps, belt pitch and pulley teeth number. If the belts are properly tight then you should get an accurate movement from the calculated values.

    A common example is 80 steps/mm for 16 microsteps with 1.8 degree motors, gt2 belts and 20tooth pulleys



  • as far as I know you also need to make sure the belt tensions are exactly the same for both paths else that can thro it off as well



  • Thank you for pointing out the list of g codes. I have been through the wiki many times and seem to have missed it. I try to research things so I don't ask un needed questions.



  • Except that nothing changed but the controller board. I was using a Ramps 1.4 and everything was fine. I wanted this controller board and I get different measurements from x than y.



  • To get the x and y axes orthogonal you need exactly equal belt tension on A and B belts. I found a quick method to check it and documented it here: http://forums.reprap.org/read.php?344,705441

    The axis compensation gcode M579 will not square up a skewed (in x/y) print on a corexy as it would a pure cartesian machine, you might end up with parallelogram shaped cubes (although if your cubes are cubic, but x is longer than y for example then it might help.

    Make sure to print test cubes rotated 45 degrees so you measure the A side motor and B side motor working independently, rather than arranged square to x and y as then you cant separate the contribution of each motor from the movements.

    Ensure the belts from and to the y-carriages and from/to the z carriage are all exactly 90 degrees to one another etc.. although any other belt paths can be angled. You can print a largish empty cube outline at each corner of the bed and the centre to test this, if they are all square then you're good, if the ones at the corners are skewed its a belt angle issue.

    Hope this helps.

    Seems you already have all this sorted, but maybe others do not.



  • @DjDemonD:

    To get the x and y axes orthogonal you need exactly equal belt tension on A and B belts. I found a quick method to check it and documented it here: http://forums.reprap.org/read.php?344,705441

    The axis compensation gcode M579 will not square up a skewed (in x/y) print on a corexy as it would a pure cartesian machine, you might end up with parallelogram shaped cubes (although if your cubes are cubic, but x is longer than y for example then it might help.

    Make sure to print test cubes rotated 45 degrees so you measure the A side motor and B side motor working independently, rather than arranged square to x and y as then you cant separate the contribution of each motor from the movements.

    Ensure the belts from and to the y-carriages and from/to the z carriage are all exactly 90 degrees to one another etc.. although any other belt paths can be angled. You can print a largish empty cube outline at each corner of the bed and the centre to test this, if they are all square then you're good, if the ones at the corners are skewed its a belt angle issue.

    Hope this helps.

    Seems you already have all this sorted, but maybe others do not.

    I read through all your strikeouts and all are good points. Just to be sure, I have gone through the whole machine and verified it is square and the belts are equally tensioned and they are all parallel to movement.

    http://www.thingiverse.com/thing:1752766

    There is the Thingiverse page for the Hypercube. It has plenty of pictures to see how it is laid out.



  • Yeah the hypercube works by all accounts. If x and y are close enough, and its only z thats out can you change your steps/mm for z to correct it?

    Also if you print a 40mm tall cube and an 80mm tall cube (or a 20mm tall cube to save time/filament) does the 0.35mm error remain constant or double (or halve)?



  • When I measure the y axis of the cube, it is 20.35. the x axis measures 19.98 and z measures 19.98. So the y axis is off. I am in the process of printing anothe 20mm cube after doing a M579 for the y axis. I will see if that works.



  • Sorry yes you said it's y that's out I didn't read it properly.

    However to totally rule out it being a corexy mechanism issue, if you print a 45 degree rotated cube do you get differing A and B lengths?



  • Didn't try that. But the M579 for the y axis worked. Now I get a cube that is 19.98 on x, 20.02 on y, and 19.98 on z. I can live with that.


Log in to reply