# Could a Delta Printer Like This Work?

I've been 3D printing for a few years now with a standard XYZ printer, but I've always loved the Delta/Rostock look, and the mechanics of them.  The company I work for has done a small amount of work with some delta style industrial robots, but unlike the rostock printers, they don't operate on verticle slides.  They operate much like the image below.  I would love to build a 3D printer in this style!  However, since the up/down motion of each arm is not linear (like a regular Rostock would be), some math to calculate position correctly would obviously have to change.

I don't know for sure, but I believe the firmware would be responsible for determining position (not Repetier, Slic3r, etc.).  Does anyone know this stuff well enough to say how this could be done?  Would it be a major undertaking where the entire firmware needs to be written from scratch, or would it just be a matter of changing a few things here and there to make it work?   Thanks!

• In general this is a possible way to make a delta, but it has a completely different math so you would need to replace the homing and coordinate transformation part in our firmware. If you have normal programming skills in C++ and know what you are doing this should not be the biggest problem.

Main problem is speed I guess. Original design only requires 3-4 sqrt operations to solve the transformation. Here I fear you are requiring the even slower sin/cos/tan math.

Next problem is resolution. This design changes resolution over height and the top angle drive needs a really high precision to get good prints and not to forget a very stiff top to not put vibrations into the print.

So while delta design is already demanding that notches it one more level in complexity.
• When you say C++, you are talking about re-writing some of the firmware on the Arduino, right?  If so, my experience with is quite minimal, but this would be a great excuse to learn

I have looked a tiny bit into the kinematics for these types of delta robots, and I believe you are 100% correct, it requires sin/cos vs the basic sqrt.  Because I have minimal Arduino experience, I have no idea how much slower this would be.

Definitely right again on the precision.  I would intend to have steppers driving the arms via a gear connection.  Probably around a 4:1 ratio, maybe higher if required.  I have not looked into any design constraints yet, but ideally none of the upper arms would be working too close to their extremes.  Stiff mount would absolutely be required.  Much stiffer than what is in that example picture.
• Yes I meant the firmware. sin/cos is around 10 times slower then sqrt. You can definitely forget the 8 bit arduinos. The due might be able to do it if you do not get as fast as with original delta. But the 32 bit due is around 10 times faster then the 8 bit avr processor.

Regarding resolution you want around 100 steps per mm at the worst position, so 4:1 is not enough I think. Maybe 16:1 for a small delta. But that is without any calculations.
• It might be even worse than that.  I threw together a quick model in solidworks capable of a little over 200mm of vertical travel.  At the center near the bottom (where I assume resolution is at it's worst), a 1mm horizontal travel in a random direction resulted in the following upper arm angle changes: 0.01°, 0.15°, and 0.17°.  A ratio of 50:1 would only give you 0.002° per step, but I feel like that would probably be sufficient.
• And then in higher regions you get the problem that motors need to turn faster to achieve same extruder move speed so that is another limit. Fastest motor move area determines max. speed allowed even if you could print much faster at the bottom. And also consider the printing area at bottom. With normal deltas at the top the printable radius is 0mm. I assume with your design the bottom has a similar constraint.

But I guess you see where the problem is. Ratio 50:1 without any backlash and precise positioning is the main problem for quality you will face here.
• At a higher point where resolution is approximately at it's highest, a 1mm horizontal movement is 780 steps (at 0.002°/step).  At that point, 100mm/sec would be 78,000 steps/sec...  It's not impossible, but i feel like it's pushing the limits of everything
• 78000 steps per second is in deed possible with a due. Have it even at 200k and more for cartesiens. Here you would have to see how much time the computations take away.