Welcome! Log In Create A New Profile

Advanced

dual-axis rotary 3d printer code anywhere?

Posted by realthor 
dual-axis rotary 3d printer code anywhere?
July 28, 2015 07:31AM
Hi guys, was recently quite blown away by Polar3D until i noticed that it had linear rails under the turntable too, for which reason I stopped liking it. I found then another 3d printer that seems to go around that so it only has linear rods/lead screw for Z axis. We're slowly getting there with what can be a very rep-rappable design. This printer, Alta from Polarworks preceds Polar3D in terms of appearance on web but it is not yet on market. I've also seen similar concepts on youtube since 2013.

Because this printer uses rotational movement for 2 axes, I consider it a best candidate for a compact 3d printer -apart scara- that can print most of its parts. It goes even further than R-360, which still has linear movement in 2 axes. The advantage of R-360 is that it's code is available on github so I was wondering if there is any work currently for a 2axis rotary system like this Alta.

Also I know that the center of the turntable is an achile's heel with this polar approach so I was wondering if this is something that will complicate code at the firmware level. Or maybe the slicer has to be aware of this and provide some logic around this weakness.

Edited 1 time(s). Last edit at 07/28/2015 07:51AM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: dual-axis rotary 3d printer code anywhere?
July 29, 2015 05:06PM
Hi,

I believe the hardest part is dealing with the fact that the position of the stepper which rotates the bed (i.e. the angle of the bed relative to the stepper to which the bed is attached) needs to be treated in a modular manner. For example see that this stepper would often make repeated revolutions, when printing objects that contain the pole. It is this that makes the implementation not as easy as plugging the formulas into an existing firmware. Firmware would need to know that a move from 359deg to 1deg is of just +2 degrees, rather than moving -358 degrees. On the other hand, I wouldn't expect too many problems related to motion around the pole. The bed would just need to rotate a lot and the print would be appropriately slower around the pole.

Anyway I've done some quick math, the Python script below should implement implement inverse and forward kinematics (I've only tested that you get the same result back). The only parameter is R which is the distance between the two stepper axes. Angle alpha is of the stationary stepper, angle beta is of the moving stepper. I've made an assumption that the extruder is positioned such that its distance from the axis of the stationary stepper is equal to R (which is why there's only one parameter). Otherwise I think you would have a disk of unreachable points around the pole.

import math

class DoublePolarKinematics(object):
    def __init__(self, R):
        self._R = float(R)
    
    def inverse_kinematics(self, x, y):
        x = float(x)
        y = float(y)
        r = math.sqrt(x*x + y*y)
        fi = math.atan2(y, x)
        alpha = 2.0 * math.asin(r / (2.0 * self._R))
        beta = fi + math.pi/2.0 + alpha/2.0
        return (alpha, beta)
    
    def forward_kinematics(self, alpha, beta):
        alpha = float(alpha)
        beta = float(beta)
        fi = beta - math.pi/2.0 - alpha/2.0
        r = 2.0*self._R * math.sin(alpha/2.0)
        x = r * math.cos(fi)
        y = r * math.sin(fi)
        return (x, y)

k = DoublePolarKinematics(84.0)
x, y = 38.0, 23.0
print x, y
alpha, beta = k.inverse_kinematics(x, y)
print alpha, beta
x1, y1 = k.forward_kinematics(alpha, beta)
print x1, y1

Here's a hand-written picture showing my reasoning (sorry for the bad quality): [www.pasteall.org]

Edited 5 time(s). Last edit at 07/29/2015 05:53PM by ambrop7.
Re: dual-axis rotary 3d printer code anywhere?
July 29, 2015 07:07PM
Unfortunately I am not at all familiar with coding but I agree that open source firmware should be more modular and as a new printer style appears it should be easy for coders to implement its movement. There are far more smart coders than 3d printer styles out there.

Regarding this dual-axis polar concept, there should be enough ask around the community for the offer to be triggered. IMHO scara and polar (both having 2 rotational axes) are favorites and yet there is close to no interest in terms of mass (of people). That's why innovation is slow. Granted, mass adoption of the cartesian printers has helped with getting the costs down for linear rods,etc but that is still far away from the rep-rap dream.

It's far easier to make a perfect circle than a perfect linear rod and that's why scara/polar should spark more interest.

I don't know where I am going with this thread. I guess I needed to vent off smiling smiley.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: dual-axis rotary 3d printer code anywhere?
July 29, 2015 07:26PM
By "modular" I meant in the mathematical sense (modular arithmetic). But sure having a modular firmware helps smiling smiley

If you need I can try to adapt my APrinter firmware to support this configuration. My firmware allows easily adding new kinds of coordinate transforms, but just for this particular one I'd need to also make a more "core" change to support the wrap-around (modular) geometry of the bed-rotation axis.
Re: dual-axis rotary 3d printer code anywhere?
July 29, 2015 09:02PM
I don't need it right away I was just thinking of the possibility. I see it, as I said, as a great contender to a compact and easy to build reprap printer. I am in the process of designing a scara bot so not much time to also think about a rotary printer project. But as with the dual-rotary, there is little to no support for scara in mainstream firmwares (Marlin, teacup, smoothieware). Each has some branch that is said to support a certain type of scara, for example there is teacup-scara that is supposed to support Morgan printers but in reality never worked. Also Quentin's Marlin fork is quite old and unmaintained.

So would rather focus on getting this bot printing first and then maybe focus on dual-rotary printers.

Cheers.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: dual-axis rotary 3d printer code anywhere?
July 30, 2015 06:42AM
Quote
realthor
for example there is teacup-scara that is supposed to support Morgan printers but in reality never worked.

That's undoubtly resolvable. Doing nothing but waiting isn't sufficient, of course.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: dual-axis rotary 3d printer code anywhere?
July 30, 2015 10:50AM
Sorry to dissapoint but until I have more time or unless I can free up some brain resources I'm left waiting. I am myself quite disappointed as I started in such force. Well... one can't do all by himself, I guess that's where the power of the community should be seen doing its magic.

I have learned CAD in the meantime and amounts of engineering stuff (I am not an mechanical engineer nor a coder by trade) and plan to dive in OpenScad in the short future. Coding comes after that as it's very challenging and it will require some months to learn.

So yeah... so far coding the firmware isn't my strong point. I am waiting for you the smart guys to do what you do best.

Edited 1 time(s). Last edit at 07/30/2015 10:51AM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: dual-axis rotary 3d printer code anywhere?
September 03, 2015 08:35PM
You may be interested in this, and the accompanying firmware. Its an ancient fork of Marlin, though. So its not any better maintained than anything else you've found.
Re: dual-axis rotary 3d printer code anywhere?
May 13, 2016 12:16AM
Quote
ambrop7
By "modular" I meant in the mathematical sense (modular arithmetic). But sure having a modular firmware helps smiling smiley

If you need I can try to adapt my APrinter firmware to support this configuration. My firmware allows easily adding new kinds of coordinate transforms, but just for this particular one I'd need to also make a more "core" change to support the wrap-around (modular) geometry of the bed-rotation axis.

@ambrop7 Hello, I want to try the firmware, but you write Readme on github you can increase some more pictures or more detailed readme??? This will encourage and attract more people to use APrinter. Compatible support on the axis of rotation around the bed, where can I see detailed configuration guides?? Thank you for developing such a good firmware and update it ... A toast.
Re: dual-axis rotary 3d printer code anywhere?
May 15, 2016 04:27AM
Hi shellcode,
Sorry if some things are confusing to you. But I don't have unlimited time available to polish the documentation. The existing docs should cover the basics of setting up the software.
Currently there is no support for this rotary-bed system. It would have to be coded. If you seriously have intention to test Aprinter with a rotary machine, please let me know and I can try to put together a prototype implementation. And also please describe exactly the mechanics involved, is it the same as described in this topic?

Edited 1 time(s). Last edit at 05/15/2016 04:28AM by ambrop7.
Re: dual-axis rotary 3d printer code anywhere?
May 17, 2016 02:40AM
@ambrop7 Hello!! Spin machine description machine and this topic is the same ... You can modify or test your firmware for this question. I am preparing to build such a machine, are still looking for the appropriate firmware .... How? A toast to
Sorry, only registered users may post in this forum.

Click here to login