Is it possible to shift the origin from the center on a delta?



  • I want to troubleshoot some things with my machine, and I got to wondering if it were possible to shift the origin away from center, so that the coordinates never go negative in the slicer.

    I can't think of any way to achieve this without modifying the firmware source. Am I missing a method to achieve this? I wouldn't really request this as a feature, if not, as it's a fairly odd use-case.


  • administrators

    There is no facility to do this in RRF, or in any firmware AFAIK.



  • Thanks for the quick response.



  • @bot:

    I want to troubleshoot some things with my machine, and I got to wondering if it were possible to shift the origin away from center, so that the coordinates never go negative in the slicer.

    I can't think of any way to achieve this without modifying the firmware source. Am I missing a method to achieve this? I wouldn't really request this as a feature, if not, as it's a fairly odd use-case.

    Hi, sorry if I have missed something here but why not just move the model so that none of it overlaps the area where x < 0 or y < 0? If the model is too big to do that, scale it down.



  • Buddy if you're using simplify3d there is a way to do it I think it's under the gcode tab you can shift any of the three axes globally. Good luck!



  • Hmm. I want the model to be physically in the center of the bed, so that the delta kinematics are "even" for all the arms, but with the origin to the left and at the front (as with a typical cartesian, eg). I just wanted to test to see if there is any discernible difference in some artifacts which I suspect could be related to position rounding. In ruling out things, I thought ruling out the crossing into a different quadrant might be beneficial. I think I will try the print just manually shifted into a single quadrant, ignoring the fact that delta kinematics are slightly less ideal (for troubleshooting versus other prints that are always centered).

    Thanks for all the thoughts, though, everyone.



  • So, I just thought of something, but I'm not sure if it will work.

    Can I just move to, for example, x-150, y-150, z(anything, better to be >0) then g92 x0,z0?

    Then, if I slice something with the appropriate bed setup in the slicer, I could achieve a centered print with single-quadrant coordinates!?

    I'm going to try.



  • Well, the answer to that was a resounding no. The head immediately crashed into the bed. Hmmmmmm hahaha.



  • I'm on an old version of the firmware (1.15 beta3) and when I do g92 x100 y100 at the center, the resulting motion after that is non-planar to the bed. It seems to be setting the individual delta axes' positions, rather than for the cartesian coordinate axes. Is this the case for older versions, or newer versions for that matter? I have the slicer set up appropriately, so that the origin is at what would normally be -100, -100 and the print is "centered" at true +100, +100 in gcode. I thought G92 was supposed to work like this. No?


  • administrators

    By sending G92 X100 Y100 you are telling the firmware that the effector is 100mm in X and Y away from the symmetrical situation where all the rods are at the same angle to the horizontal.



  • Ah, yes, that would be why it doesn't work. I was hoping it was offsetting the cartesian coordinate system, while keeping the delta kinematics physically consistent. Is that even possible, or does the delta math require that the origin is at the center?



  • Well, anyway, it doesn't really matter. I tested the print in the positive quadrant, and there was no difference. I think I can safely rule out the origin center as contributing to the artifact I am seeing.

    When I think more about this G92 situation, it makes me think about the people who want to mill with their delta robots. How would they set their work origin? Usually this is done by touching off the sides of the work piece and setting the axes zero. Can you not set an arbitrary zero for X and Y on a delta?


  • administrators

    You can use the G10 command to offset axes. For example, if you send G10 P0 X100 Y100 and select tool 0 then it will subtract 100 from the X and Y coordinates you pass.



  • Ah yes, I see how that could work. Thanks.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.