Kossel – The Ratio

Preamble

I came across this problem, when looking into building and sourcing the parts for a Kossel printer in Bangkok.

The correct length of the push arms of a Kossel 3D printer is a bit of an enigma. The length is related to the length of the Horizontal frame lengths, that form the triangle. The ratio between the length of the push arms, from eye to eye, and the length of the horizontal lengths, is apparently 80%, or 0.8.

However, not all designers stick to this ratio, and often go higher, up to 92%.

I wondered why this is. Surely it is simple enough to cut a length of aluminium extrusion to the correct length? Certainly it is easier to cut aluminium than a carbon fibre rod to the correct length, although the latter is still certainly possible.

There are constraints, the most likely of which is the sizes of borosilicate glass discs (commonly 170/180/220/260 mm), and custom heated beds, but there may be others, such as a minimum horizontal length (in order to accommodate the steppers), the carbon rods come in pre-cut lengths (seems unlikely?).

Stack Exchange Question

I posted a question on Stack Exchange in order to determine the length of the carbon rods required to build the diminutive Travelling Kossel, which is listed on RepRapWiki: Kossel. See How long are the carbon fibre rods for a Travelling Kossel? This then lead me to check the ratios used by other manufacturers and suppliers.

I have started to wonder whether the horizontal length should actually be the total horizontal side of the triangle, that is to say, to include the length of the Kossel frame corners (usually a printed part or cast in aluminium). However, I doubt it – further investigation is required, to be sure.

This is the answer, provided by tjb1, to my question:

Most information I was able to find was the arms are 80% the length of the horizontal structure. I did find a copy of the original Google Sheets that everyone used a few years ago here. The source of that link did mention that there may have been some issues with it but all of those links were dead ends.

Some things to note:

The height doesn’t matter, it has no relationship with the arms other than you are losing approximately the arm length from the height when figuring print area as some arms will approach vertical when reaching the outsides of your print area.

The arm length isn’t terribly important from what I could find. Longer arms = less travel of the carriages and possibly lower resolution. Shorter arms = more travel of the carriages and possibly lower print speed due to required movement.

This answer then led me to a google search Kossel frame size calculator, which, in turn, led me to…

The Spreadsheet

The link seems to go to a spreadsheet that doesn’t have any formulae in it. However, I managed to find a copy, from Google groups: How to calculate Delta Dimensions for new build.

I have enhanced the spreadsheet so that allows additional parameters to be modified, see Github: Greenonline/Kossel/Spreadsheets.

Other calculators

There are, obviously, other spreadsheets and calculators available, to which the google search leads:

I have not had time to check all of these out, but Johann’s frame size calculator would seem to be the most promising, as he is the designer.

Take away points

From Kossel frame calculator (delt…@googlegroups.com) – Google Groups:

  • If the diagonal push rods are too long, then
    • unnecessary loss of print height
    • is that resolution and build height is needlessly degraded
  • If the diagonal push rods are too short, then
    • unnecessary loss of print width, meaning that the build area is limited,
    • the carriage speeds and accelerations start to get very wonky when one arm is nearly horizontal, since very large carriage speeds are requested.
  • The size of the effector (effector horizontal offset) and especially the carriage offset both end up playing a critical role in the rod length calculations, and any formula that actually works accurately will need to account for these parameters.

Interesting thread(s)

From Large Kossel – Welcome to the SeeMeCNC Forum:

Hey all! After being very happy with my rostock max v1, I decided to try building a scaled up mini kossel for a friend of mine, and I’ve run into an issue. I used Johann’s frame size calculator to choose my aluminum extrusions length, ending up with 500mm horizontals (and 400mm arms) to give me about a 14 inch diameter build area. Once I put it all together though, I found that the range of motion only allowed for an 11 in build area…so right now it’s a huge printer with only a largish build size.

While trying to figure out how this could’ve happened, since the calculator should’ve been correct, I started to wonder if it’s because the size of the effector doesn’t scale up with the overall machine. As in, if I redesigned the effector to be significantly larger, would that have the effect I’m looking for of increasing the build area? Or should I just go buy some longer carbon fiber rods for the arms?

Answers:

you need longer arms. the build area is a function of the geometry of the arms. and it will need to be tall enough to allow the longer arms to get to the areas directly under the carriages in all 3 axis.

and

For the 3 inch difference from 11 to 14 you would need to make the effector platform larger about 3 inches in diameter which will make it massive. And as the effector platform is huge you would lose half the radius of it ( the platform will hit the towers before the nozzle can reach the end of the build surface).

So yeah, you need longer arms –> and therefore taller towers to meet your original design.

The Analysis

Inconsistencies in the Push Arm and Horizontal Frame Length ratio

There are inconsistencies with the ratio between push arm (as hence, carbon rod) length and horizontal frame length, between different designers/suppliers/manufacturers. THe ratio should be 80% (0.8), apparently.

Assumptions

Assuming the Traxxas rod length from end to center of joint is 17.3 mm

The distance from end of external end lip to center of ball joint is 17.3 mm, based on TriDPrinting BOM.

Given that,

Carbon rod length (180.4 mm) + 2 x Traxxas joint length = Total rod length (215 mm)

So,

Traxxas joint length = (Total rod length – Carbon Rod length) / 2

Traxxas joint length = (215 – 180.4)/2 = 34.6/2 = 17.3 mm

Analysis

Now, analysing the ratio for a number of cases:

Case 1: From RepRapWiki – Kossel

Given Horizontals length = 240 mm

which would result in a Push arm length = Horizontals length x Ratio = 240 x 0.8 = 192 mm

Remove the length of the Traxxas 5347 ends (17.3 mm), results in a theoretical Carbon rod length= 192 – (17.3 x 2) = 157.4 mm

However, the wiki suggests 180 mm, as a Carbon rod length.

So, adding the Traxxas rod ends (34.6 mm), Push arm length = 214.6 mm

Which would give an actual Ratio = Push arm length / Horizontals length = 214.6 / 240 = 0.894166

Case 2: From 3DBuildAPrinter (OpenBeam and Rods):

For the XL: The Carbon rod length = 300 mm The Horizontals length = 360 mm

With the Traxxas rod ends, the Push arm length = 334.6 mm

The Ratio = 334.6 / 360 = 0.92944

For the Mini: The Carbon rod length = 180 mm The Horizontals length = 240 mm

With the Traxxas rod ends, the Push arm length = 214.6 mm

The Ratio = 214.6 / 240 = 0.894166

Case 3: Using the data from TriDPrinting BOM:

For the XL: The Carbon rod length = 253.4 mm The Horizontals length = 360 mm

Push arm length = 288 mm

Ratio = 288 / 360 = 0.8

For the Mini: The Carbon rod length = 180.4 mm The Horizontals length = 240 mm

Push arm length = 215 mm

Ratio = 215 / 240 = 0.895833

Case 4: From Building a large Delta printer

The Carbon rod length = 315 mm The Horizontals length = 355 mm

Push arm length = 349.6 mm

Ratio = 349.6 / 355 = 0.98478873239437

Case 5: From Kossel XXL

The Carbon rod length = ?, ??, or ??? mm (n/a) The Horizontals length = 500 mm

Three options are available for thePush arm length = 410, 475, or 500 mm mm

Ratio = 410 / 500 = 0.82 Ratio = 475 / 500 = 0.95 Ratio = 500 / 500 = 1


Conclusion

The ideal Ratio is 0.8, but can, in practice, be higher and go up to 0.92 (or even up to 1, in some cases). However, this higher ratio, apparently, results in less vertical carriage movement and, possibly, a lower resolution.


Various examples

So, using the ideal Ratio of 0.8:

  • For a Push arm length = 217 mm, the ideal Horizontals length is 271.25 mm
  • For a Carbon rod length = 200 mm, resulting in Push arm length = 234.6 mm, the ideal Horizontals length is 293.25 mm
  • For a Carbon rod length = 300 mm, resulting in Push arm length = 334.6 mm, the ideal Horizontals length is 418.25 mm

A Design Process

After reading the excellent blog by David Crocker, More upgrades to the large Delta 3D printer, I saw, in the comments section, a design process:

The design process goes something like this:

1. Estimate the size of effector you will need.
2. Given that effector size, work out how close to the towers the nozzle will be able to get. From that and the desired printing radius, work out what radius the towers are on.
3. That fixes the lengths of the horizontal extrusions. Choose the diagonal rod length so that when at the edge of the bed opposite a tower, the rods to that tower are at 20 degrees or a little more to the horizontal.
4. Given that diagonal rod length, choose the rod separation. I suggest about 1/6 of the rod length (this is larger than on my delta).
5. If that rod separation means you need a larger effector, repeat from step 1.
6. Choose the tower height to give the required print height at the edges of the bed, when one pair of rods may be more or less vertical.

This detailed practical iterative process disregards the ratio completely.

It should be possible to develop a spreadsheet that does the above calculations for you.

Opinion of David Crocker

From Building a large delta 3D printer, prior to reading about David’s design process, I had asked David why he didn’t use the ratio of 0.8 in his designs:

David,
A very interesting (series of) blog(s). However, I have one question…

Why are you using a diagonal push rod length of 350 mm, with a 355 mm horizontal extrusion length of 355 mm – such that the push rod length : horizontal length ratio is 0.985?

I have heard that a ratio of 0.8 is preferable. This is because, apparently, any higher results in reduced vertical carriage movement, and possibly, a lower resolution. Any lower, and the vertical carriage movement is excessive and results in slower prints. The ratio of 0.8 is what Johann came up with in his original design. Unfortunately, I don’t have any links to back this up with theory.

Therefore for a horizontal extrusion length of 355 mm, the ideal diagonal push rod length would be 355 x 0.8 = 284 mm.

Is is possible to disregard what I have heard about the ratio, or would using it actually result in better prints? I have checked a number of designs and very many, if not most, use a ratio, or end up having a ratio, of 0.9 and above. So, maybe what I have understood about the ideal ratio of 0.8, could be wrong.

For more details and an analysis of various designs, and their resulting ratio, please see https://gr33nonline.wordpress.com/2017/05/14/kossel-the-ratio/

Thanks.

His reply was thus:

The notion that there is a single ratio of diagonal rod to horizontal extrusion length that is right for all delta printers is misguided. It depends on the geometry of the corners that join the horizontals to the towers, the size of the effector, and the carriage design. What matters is that the rods are at no less than 20 degrees (preferably 25 or more) to the horizontal when the nozzle is at the edge of the bed opposite a tower.

Opinions of a designer of the Kossel XXL

A reply, to an emailed set of questions, from the supplier of the Kossel XXL:

“I see that there are three different lengths of diagonal push rod (410/475/500 mm) to choose from?”
This are rod lengths that I use. It is a compromise. Shorter rods give a higher print height. Longer rods give a wider print diameter.
I can give more info on this later if you need it. You can buy two sets of rods if you want/need. Or you can order custom length.

“Is the shortest the best, as that seems to be closest to the (ideal?) 0.8 ratio of the diagonal push rod length to horizontal frame length?”
I would not say it is ideal. Some people like/need height and some need width.

“The other two lengths that you offer are much closer to the 1:1 ratio, which I understand can result in less vertical movement, and possibly a lower resolution? Is that true?”
I print for two years now on many printers and many rod lengths and did not notice problems with that. And I print technical parts.
I don’t know. If we go in to details maybe somebody could prove that is an issue buy for this price range and this is not a problem.

“The lower the ratio, would mean more vertical movement, and possibly slower prints, is that also true?”
For me not. Personally I don’t print “crazy spreads” I always go for quality prints.

“Why do you offer the three various lengths?”
For me it is same amount of work to do different length so I give customer a choice. Default is 500 mm because usually want width.
But I always ask after purchase.

Danijel (Kossel support)

as a follow up

I collected some data today: KOSSEL DELTA manual calibration in Repetier (last update 01-01-2017).

Look under “print size”. I hope it will be clear. If not tell me.

A query to Johann

I sent an email to Johann, to get his take on the matter:

Hi Johann,

From your spreadsheet (Kossel frame calculator (delt…@googlegroups.com)) there is a ratio of 0.8 used to calculate the length of the diagonal push arms from the length of the horizontal aluminium extrusions. However, a lot of designs that I have looked at, whilst never going below 0.8, often range between 0.8 and 0.92, sometimes even going up to 0.98 or even 1. I really would like to know if 0.8 is a golden number, or even if it is all that important. How did you come to arrive at 0.8? I have really been looking into this the past few days, and have written a blog, Kossel – The ratio, containing links and analysis and some third parties opinions.
I contacted David Crocker, from Building a large delta 3D printer, who told me:
“The notion that there is a single ratio of diagonal rod to horizontal extrusion length that is right for all delta printers is misguided. It depends on the geometry of the corners that join the horizontals to the towers, the size of the effector, and the carriage design. What matters is that the rods are at no less than 20 degrees (preferably 25 or more) to the horizontal when the nozzle is at the edge of the bed opposite a tower.”

Indeed he has the following design process, from More upgrades to the large Delta 3D printer:

“The design process goes something like this:

1. Estimate the size of effector you will need.
2. Given that effector size, work out how close to the towers the nozzle will be able to get. From that and the desired printing radius, work out what radius the towers are on.
3. That fixes the lengths of the horizontal extrusions. Choose the diagonal rod length so that when at the edge of the bed opposite a tower, the rods to that tower are at 20 degrees or a little more to the horizontal.
4. Given that diagonal rod length, choose the rod separation. I suggest about 1/6 of the rod length (this is larger than on my delta).
5. If that rod separation means you need a larger effector, repeat from step 1.
6. Choose the tower height to give the required print height at the edges of the bed, when one pair of rods may be more or less vertical.”

Is his process the same as yours? If not, then in what way(s) does yours differ?
I have read these two threads (1 and 2) and whilst very interesting, do not definitively state how 0.8 was arrived at. Is the 0.8 a simple guideline, that you arrived at empirically, or is there some theory behind that number?
I would be very interested in any additional information that you have, your design process and any other links or documentation.
I thank you in advance for your kind consideration.
Best regards,

The reply:

<!– Still awaiting reply –>

Discussions from Threads

Thread #1

From Kossel frame calculator (delt…@googlegroups.com) – Google Groups there are some interesting points made, geometrically speaking:

I’ve been running some basic calculations for the arm length, and I get different results than 0.8*(horiz extrusion length).
Here is my basic geometry reasoning:

Let L be the length of the horizontal extrusions.  If you extend their interior faces, the intersect at point V, which is at +30mm (light green).  So the side of the equilateral triangle is L + 2*30.  The circumradius of that triangle is sqrt(3)*(L+60)/3.  Now, simply taking into account the offset of the center of the vertical extrusion channel from V (which I measured about 20mm; purple line), the half-width of the openbeam (black square; 7.5mm), the height of the MGN-12H carriage (13mm) and the height of the horn holes (6.5mm from SCAD), plus the radius of the horn midpoints on the effector (orange circle; 20mm from the SCAD file), the length of the red line is

Harm = sqrt(3)*(L+60)/3 – 20 – 7.5 – 13 – 6.5 -20 = 0.577*L – 32.36

That should be the horizontal ball-to-ball distance.  If the arm should have a 60-degree angle when the effector is at (x,y)=(0,0) (i.e., centered), then the total length of the arm should simply be Harm/cos(60), or

Larm = 1.15*L – 64.72

If I plug in L = 240 (standard Mini Kossel length), I get ~211mm (ball-to-ball center) which is right, but obviously for other configurations the results are wildly different than the 0.8*L number in the spreadsheet (which is, obviously, much smaller).

Working the other way around, the angle at home for a given length Larm would be

cos(angle) = Harm/Larm  ==>  angle = arccos((0.577*L-32.36)/Larm)

If I use Larm = 0.8*L and take the limit L –> \infty, that gives an angle of ~44deg (in other words, the 0.8*L rule gives 60 deg for L=240, but asymptotically converges to 44deg).

Did I miss anything?  The geometry is pretty basic and I’ve double-checked my calculations, but perhaps the assumptions I’m using are wrong?  If anyone could double-check or venture a guess, I’d appreciate.  Still can’t figure out how the 0.8*L was derived, though… or whether all this really makes a difference in practice. 🙂

In fact, if you place the center of the effector at the midpoint of the opposing triangle face (instead of it’s center), then the horizontal distance (which is now 3/2 of circumradius minus offset adjustments, so factor of sqrt(3)/2 instead of sqrt(3)/3) is

    Hmax = 0.866*L – 15.04
So with 0.8*L the arms won’t even extend all the way to the incircle of the triangle.  Hm…

A reply

A few random thoughts:

The issue with rods that are too short is that the build area is limited, and the carriage speeds and accelerations start to get very wonky when one arm is nearly horizontal, since very large carriage speeds are requested. The Smoothieboard/X5 may be the only board at this time that limits both the effector and the carriages velocities and accelerations.

The issue with rods that are too long is that resolution and build height is needlessly degraded.

The size of the effector (effector horizontal offset) and especially the carriage offset both end up playing a critical role in the rod length calculations, and any formula that actually works accurately will need to account for these parameters. Jay’s openscad model is definitely worth considering, although it apparently has set the values for a Mini Kossel parts using thick linear rails. The calculator may need to be updated to make it easier to use with other carriages and effectors, like the new cnc probe effector, or the sliding nylon screw rail created by Bill Plemmons.

A thread regarding the calculator: https://groups.google.com/forum/#!search/visual$20calculator$20delta/deltabot/nZSvO8_pIFg/Jk69IUhgrvMJ

The actual calculator: https://github.com/Jaydmdigital/mk_visual_calc

repost

Aha, I hadn’t thought of accelerations!  In retrospect… doh!  Makes sense

Since vert_accel / horiz_accel = tan(rod_angle) ==> vert_accel = horiz_accel / tan(rod_angle), as rod_angle -> 0, vert_accel -> infinity (and same holds for velocities).  So you’re saying that it’s that factor that primarily needs to be bounded, which makes sense.
So, by my calculations, for 240mm horizontals and 215mm rods (Kossel Mini), the minimum rod angle is about 25deg (when effector is at opposite edge of incircle), which gives 1/tan(25) ~ 2.1. Whereas, for example, for the original Kossel with 360mm and 288mm, that factor is about 10.5x at the edges of the build platform!
So, there really isn’t any correct answer, it’s the tradeoffs you described (plus, these factors only become relevant if you do reach the edges of the platform). I was originally thinking that it has to do with rod stiffness (i.e., something like vertical deflection = total_effector_weight * cos(angle) * K should be well below, say, 0.1mm), but probably not the major issue (rods should be stiff enough?).
The OpenSCAD calculator looks really nice!!  It should be easy to have it output max acceleration at edges factors (and perhaps rod deflection estimates at edges, if anyone knows the stiffness specs, and minimum x-y resolution at center?), since that is probably the limiting factor.
Great, this discussion has been very helpful, thanks!!
and finally, after quoting:

The “offsets” for the sliders are the same as the linear rails. Why? So the belts line up top to bottom.The calculator also allows you to change the carriage and effector offsets to suit. I prefer the Excel spreadsheet myself 🙂

it was added

to add to that, we want the arm joints pretty much at the belts or else their would be torsional forces on the guides/slides so the top corners would need to be changed to allow the belt position to move and therefore the arm mount location.

Thread #2

I found a thread relating to the very same issue, with the original poster (OP) being confused as to the correct arm length for a Kossel XL, when comparing the BuildA3DPrinter’s Kossel XL and Terence’s Kossel Pro (see The OpenBeam Kossel Family – Part ii – Kossel Pro and Mini Kossel Pro): Larger Kossel (Kossel Pro, Kossel XL) arm length. The highlights of this thread are:

OP’s original question,

Hi,

I’m planing a larger kossel printer. I stumbled upon the Kossel XL from Builda3Dprinter.eu and of course the Kossel Pro from Terence.
This is the kind of size I’m trying to achieve.
Both variants have identical frame size/lengths – 750mm verticals and 360mm sides.
What is not that clear to me is the carbon arm length. The website for the Kossel XL mentions 300mm carbon rods (pure length of the rods), the Kossel Pro says 235mm (center to center distance).
When I enter the frame dimensions into Johanns Kossel/Delta printer calculator/spreadsheet, it says 288mm for the rods (center to center).
For the kossel mini, the standard carbon rods were 180mm in pretty much all variants.
So the question is – how to get the right length? 🙂 Or is there even the “right” one? or will any of these work? What are the pros/cons of shorter/longer arms?

The angle between rods and base is 60°, when homed

I have a similar size kossel and my carbon rods are 300mm. I think the optimum size when the slope of arms homed make 60° with the base.

80% of the distance between towers

I made this mistake. Johann’s calculator sheet is for the original kossel not the mini. They are different. use jaymdigital’s calculator. It is more accurate and up to date. Longer Arms will increase your X and Y printing area, but you lose Z height. Shorter arms will decrease your X and Y printing area, but increase your Z height. You need to balance them. Also I believe loss of accuracy comes into play as well. The general rule of thumb for deltas is that the arms should be 80% of the distance between your towers.

Reply, from the OP, metions traxxas rod end length, using Jay’s OpenSCAD calculator, and the relationship of the length of the rails.

When I use [Jay’s] calculator for my Mini Kossel (1515 profiles, 240/600 frame, stock stl printed parts) then the output says ECHO: “DELTA_DIAGONAL_ROD:”, 201.246, “mm” and ECHO: “Delta_rod_angle:”, 58.6988, “mm when homed”
The actual length of the MK arms is 180 tube + traxxas joints -> 214mm center to center.
When I enter the 360/750 frame, then the output says ECHO: “DELTA_DIAGONAL_ROD:”, 348.702, “mm” and ECHO: “Delta_rod_angle:”, 60.0976, “mm when homed”
JL you mentioned that the optimum arm length should be 80% of the distance between towers – is that 80% of 360mm? That would be 288mm then. Quite a big difference between the two values for the same frame.
One more thing which is linked to the arm length I guess is the length of the MGN rails, right? Is there a way to calculate how long the rails should be for a given arm length? Like is there a way to send the effector to a particular position in the SCAD file to see if it reaches the edge of the printbed before it hits the bottom of the rail?
From my point, it would be better to have longer arms and shorter rails and sacrifice the build height a little. Is there a way to calculate the arm length and build height if I say I want to use the 500mm rails? The printbed radius is already given by the frame size – the scad file says 119mm, so a 240mm diameter plate.

Not precise length, but the lengths must be the same,  mention of the Kossel Clear

I have some printers which are this size, and my arms are approximately 295mm, center to center (of the balls in the magnetic joints).
This is also about the same size as the Kossel Clear.
Plus or minus a few mm won’t make much of a difference, however all of the arms must be exactly the same length.

Mention of 60°, when homed,

I have the exact same dimensions for my kossel mini. the 80% is just a rule of thumb. It’s not optimum. 60 degrees for the delta rod angle is what you should aim for. I used Jay’s calculator and came used Tridprinting 12″ rods and traxxas joints for simplicity’s sake. My rods are 339.4 mm. It can reach past the bed itself. and has about 12 inches of Z height. I don’t use rails, but anything around 60-70% of the length of extrusion should be more than plenty. You can see this in Jay’s visual calculator. The carriages do not go down that low. I would have to guess since my printer isn’t with me right now, from the top of the bottom kossel frame, theres at least 150mm of extrusion not used because the hotend would go below the build plate at that point. To calculate something that large, Jay’s calculator is the best that we have and his follows the principle of having 60 angles. If you are going with the 750/360 build you can shorten your arms quite a bit. My arms can crash into the towers because the travel diameter is actually larger than printable diameter.

For example the Kossel Clear’s marketed printable dimensions with 295mm arms are 200x200x272. After actually building it and calibrating it, mine is quite larger than 200mm diameter and has 295mm build height with a raised glass mounts, cork,mdf, heated pcb and glass. If it was just glass, its closer to 311mm build height.

Speed of carriages,

One thing you should also consider is the speed of the carriages. When you have shorter arms the angle will be almost flat when printing on the edge. This means that the carriage will have to speed up consideratly to keep the platform speed. Most cases this is too much. If your arms are too short you can actually drive the carriage into the motor because it will overshoot (don’t ask how i know). That’s why we choose a bit longer rods (300mm) for the Kossel XL. Yes you loose a bit of height but you gain speed and precision. The lower the angle the more wobbly it gets. With a build height of 300mm it still is pretty big compared to the average 3d printer.

and leverage,

If the diagonal is too short, and your arm is out flat, you have no leverage on the effector to activate self leveling/calibration. If they are too short, you can put enough pressure to destroy your diagonals. Most than a few on here have cracked their carbon diagonals, and I myself have destroyed two sets of Griffin diagonals this way.

Which brings up a bit of advice…
If you do use auto-level/calibration, don’t calibrate near the edge of the build plate. I recommend never going further than 75-80% from the center. Beyond this point, the system has a lot less leverage, and deflection can actually lower your print accuracy, on top of destroying your diagonal rods.


 

Leave a comment