Monday, April 2, 2012

Equation for determining belt size of a three-pulley system

April 3 Erratum: Thanks to rickets007 I spotted several egregious errors! I had used pulley diameter in some parts when clearly I was intending to use radius. Utter carelessness on my part. I have already corrected the blunders. The equations below are now (hopefully!) free of mistakes.

This is off-topic, but I've been googling and thus far haven't found any page that has the equation for computing the belt circumference given pulley diameters and distance between three pulleys. So I'm posting mine. I've tested my equation against an online 3-pulley calculator and while they don't give exactly the same numbers for some input values, they're close enough (there might be rounding errors in the webpage or my spreadsheet). You will note that the calculator necessitates the user inputting three angles. My equation below has no such requirements.

When I'm looking for formulas online I frequently just want a plug and play equation without any of the mathematical esoterica and history. So for those who couldn't give a rat's bleep about the derivation here's the formula up front.

For my sake (so I don't have to do it all over again!) and for skeptics who want to make sure I didn't make any booboos here's the derivation.

In Fig.1 we have three circles representing three pulleys. Pulley A has its center marked as point A. Pulley B has its center marked as point B. Pulley C has its center marked as point C.


DA = diameter of pulley A
DB = diameter of pulley B
DC = diameter of pulley C

b = distance between centers of pulleys C and A = segment CA
c = distance between centers of pulleys A and B = segment AB

L = belt length = segments HJ + DE + FG + arc lengths FE + GH + DJ

a' = segment HJ
b' = segment DE
c' = segment FG

α = ∠CAB
β = ∠ABC
γ = ∠BCA

α' = ∠FAE
β' = ∠GBH
γ' = ∠DCJ

lα' = arc length of the belt looping around pulley A = arc FE
lβ' = arc length of the belt looping around pulley B = arc GH
lγ' = arc length of the belt looping around pulley C = arc DJ

Note: All angles and arcs are less than π radians (180 degrees).

Rewriting the equation for belt length we have:

L = a' + b' +c' + lα' + lβ' + lγ'

In order to find the arc lengths we need to first determine the angles α', β',  and γ'. To achieve this we shall, for each pulley, find the values of all the other angles in the pulley and then subtract them from 2π radians (360 degrees).

For triangle ABC we are given the values of all the sides (a, b, c). Therefore, we can determine all three angles of the triangle using cosine law:

α = arccos[(b2+c2-a2)/(2bc)]
β = arccos[(c2+a2-b2)/(2ca)]
γ = arccos[(a2+b2-c2)/(2ab)]

As we know if a line is tangent to a circle then a radius of the circle drawn to the point of contact of the tangent line with the circle will be perpendicular to the tangent line. Thus, ∠AFG, ∠BGF, ∠BHJ, ∠CJH, ∠CDE, ∠AED are all right angles.

In Fig.2 we have segment BK drawn parallel to FG. Since ∠AFG is a right angle, therefore, ∠AKB is also a right angle. It follows that triangle AKB is a right triangle. Because BK is parallel to FG and FK is parallel to GB, segment AK = difference in the radii of pulleys A and B = DA/2 - DB/2.

Likewise, we draw segment CL parallel to DE and obtain right triangle ALC. LE = CD and so AL = DA/2 - DC/2.

Our objective is to find the value of ∠KAB and ∠LAC. Because we know the values of the hypotenuse and the adjacent side of both right triangles we can use the cosine function for right triangles:

∠KAB = arccos[(DA/2-DB/2)/c]
∠LAC = arccos[(DA/2-DC/2)/b]

We now have all the angles to compute for α'.

α' = 2π - arccos[(DA/2-DB/2)/c] - arccos[(DA/2-DC/2)/b] - α

We use the same method above for pulleys B and C to obtain:

β' = 2π - arccos[(DB/2-DC/2)/a] - arccos[(DB/2-DA/2)/c] - β
γ' = 2π - arccos[(DC/2-DA/2)/b] - arccos[(DC/2-DB/2)/a] - γ

Note that the fact that (DC/2 - DA/2) is negative is not an error. In fact it provides the correct answer--an obtuse angle which is the ∠ACD in this case. We don't need to know which pulleys are bigger and which are smaller. The equations will always give us the correct values.

We now turn to finding the arc lengths. The arc length of the belt looping around a pulley is the angle subtended by the belt divided by the angle measure of an entire circle (2π) multiplied by the circumference of the pulley:

lα' = (α'/2π)(πDA) = α'DA/2
lβ' = (β'/2π)(πDB) = β'DB/2
lγ' = (γ'/2π)(πDC) = γ'DC/2

Let's return to triangle AKB. Notice that segment FG and KB are not only parallel but also equal in length (because quadrilateral BKFG is a rectangle). Above we let c' = segment FG. It follows that c' is also = segment KB. We can get the value of KB using the sine or tangent function, but to minimize trigonometric functions we will apply the Pythagorean theorem, with c (segment AB) as the hypotenuse:

c' = √[c2-(DA/2-DB/2)2]

The same applies to the other two segments of the belt.

a' = √[a2-(DB/2-DC/2)2]
b' = √[b2-(DC/2-DA/2)2]

And at last we have all the values needed to compute for belt length.


  1. This is neat!
    I was working out this same problem today and came up with a nearly identical solution. The only real differences in what I came up with are that I use arcsin in some of my expressions and I subtract from pi instead of 2pi. I input my equations in Excel and then tested them by plopping random circles around in AutoCAD. The results of my equation matched the measurements in AutoCAD to all 4 decimal places. I also discovered that equation works when one of the pulleys is in between the other two and rests against the outside of the belt. Just take whatever that pulley's radius is and input it as a negative number.

  2. Got your emailed equation Nick. Thanks for sharing! "I also discovered that equation works when one of the pulleys is in between the other two and rests against the outside of the belt. Just take whatever that pulley's radius is and input it as a negative number." This is great! I'll play around with these negative radiuses or is that radii? :)

  3. [pi/3.(d1 +d2 + d3) ]+L1+L2+L3 where d is the pulley diameters and L is the lengths between the pulleys.
    You made a simple engineering problem unnescessary !

    1. And if you could spell "unnecessary" correctly I could possibly believe you. What makes it even funnier is this thing has a spell checker and you stupidly chose to ignore it! :rollseyes:

    2. Thanks for your productive comments, it is appreciated by all... Asshole.

    Liquid Level Switch

  5. Well done, very good article, helped me a lot. But do you have any insight or idea about how to generalize this formula to solve the belt calculation for "n pulley" system?