1 Introduction

Eccentric rotary machines are a widespread source of vibration in industry. Such vibrations can be easily reduced by placing a correction mass at an appropriate location on the rotor. However, eccentricity is subject to frequent changes in many cases, and there is a need to reduce the effects of imbalance automatically during operation. There are active and passive systems that are meant to reduce the vibration of rotary machines. The active systems are divided into two major categories: the first is the direct active vibration control (DAVC) technique that imposes a direct controlled force on the rotor [1]; and the second one is an active balancing technique that redistributes the mass of the rotor to an appropriate location [2]. Both techniques are well-described in [3]. The passive methods of reducing vibrations do not require the control and measurement system nor an external energy source. This group includes automatic ball balancers (ABB), which were presented for the first time by Therle in 1932 [4]. This is a device that is mounted on an eccentric rotor (ER) to automatically compensate for the unknown and changing eccentricity of the rotor. It is usually made of a circular raceway that is partially filled with the same rolling elements (e.g., balls). An example of the ABB construction that is used in optical disc drives is shown in Fig. 1.

Fig. 1
figure 1

Automatic ball balancer with ring race: a 3D model; b picture of ABB in CD drive [5]

The balls inside an ABB move along the raceway, changing the positions of their mass centers relative to the rotor. The balls arrange positions in the correct place due to the self-synchronization phenomenon (first observed by Christiaan Huygens in the seventeenth century in his experiment with pendulum clocks and described theoretically in Blekhman’s article [6]). This phenomenon is also commonly used to synchronize vibrating systems; e.g., with the use of two [7,8,9], three [10], or even more vibrators [11]. The example of self-synchronization effect considering ABB system is well described in [12]. The rotating balls that are located inside an ABB generate inertial forces that reduce the inertia forces of an unbalanced rotor. The vibrations that are caused by an ER can be eliminated by one (static unbalance) or two (dynamic unbalance) ABBs when it is mounted on the rotor axis. Such system of reducing vibration was widely investigated in many theoretical and experimental works. Among the theoretical ones, there are papers considering nonlinear suspension [13], rotor balancing in two planes [14], stability of ABB [15] or transient resonance [12]. Some of the theoretical investigations were validated in experimental works like paper [16] where author investigated the self-synchronization phenomena or [17] which involved a nonplanar model of ABB. There are no publication considering ABBs mounted out of the rotor axis. Many difficulties appear during mounting an ABB on the rotor axis, as rotary machines are usually integrated devices. When an ABB is mounted outside the rotor axis and powered by an external additional motor, the inertial forces ABB and rotor generate a variable moment that causes torsional vibrations. Hence, balance cannot be achieved. However, the use of several ABBs mounted outside the rotor axis may generate such a force field that will reduce the resultant moment at each instant of the rotation cycle. Thanks to ABB’s ability of automatic adjusting eccentricity radius, the dynamic equilibrium of the system with ER can be achieved by the use of only two ABBs.

The following sections present the model of unbalanced rotor machine together with a set of ABBs and describe the dynamic equilibrium conditions (Sect. 2), indicate optimal parameters for two (Sect. 3) and more ABBs (Sect. 4) based on analytical investigation and numerical optimization, respectively. The goal of the optimization was to reduce the size of the balancers in order to extend the ranges of any possible applications.

2 Dynamic equilibrium

The subject of this research is a system that consists of a rotary machine with a vertical axis of rotation and n identical automatic ball balancers that are placed on the machine body. The system is supported by a set of springs. A diagram of such a system is shown in Fig. 2.

Wherexi, yi– coordinates of axis, ei–eccentricity vector, Fi–inertia force, mi–mass, ri–distance vector of axis, i = 0 for rotor, i = 1,2 , …, n for i-th ABB, and φ–rotor angle, φi–phase angle of i-th ABB, n–number of ABBs.

Fig. 2
figure 2

Top view of the eccentric rotary machine model with four ABB

All coordinates are expressed in an inertial coordinate system (x,y) whose origin is on the rotor axis during static equilibrium. ABBs can be placed arbitrarily on the mounting plate outside the rotor area. The ABB balls can move freely in the ring raceway; this provides the ability to set the phase angle φi from -π to π and eccentricity ei from 0 to emax for each ABB. The φi phase angles express the angles between the eccentricity vectors (radius) of the rotor (e0) and i-th ABB (ei), where vectors ei and e0 points the center mass of the balls inside the ABB and rotor relative to their rotation axis, respectively. The direction of rotor eccentricity vector e0 is determined by angle φ measured from horizontal axis x. The following assumptions were made in the model:

  • The centers of mass of the rotor and ABBs are placed in the same xy plane;

  • The angular velocity vectors of the rotor and ABBs have the same value (\(\dot{\varphi } = \dot{\varphi }_{1} = \ldots = \dot{\varphi }_{n} = \omega\)) and are perpendicular to the xy plane;

  • The dynamic equilibrium exists in the steady state; thus, machine vibrations do not appear.

It was assumed that there are such phase angles (φi) and an eccentricity radius (ei) of n arbitrarily distributed ABBs in the plane of the ER, so that the dynamic equilibrium exists in the steady state. In this state, the free vibrations of the machine body will vanish due to the resistance forces (i.e., x0 = y0 = 0). Thus, the rotor axis is at the origin of the coordinate system in the steady state. The off-axis system of ABBs will effectively reduce the machine vibration that is caused by the ER if dynamic equilibrium Eq. (1) will be satisfied:

$$ \begin{aligned} \Sigma \vec{F}_{i} & = 0 \Rightarrow \vec{F}_{0} + \sum\limits_{i = 1}^{n} {\vec{F}_{i} } = 0 \\ \Sigma \vec{M}_{i} & = 0 \Rightarrow \vec{r}_{0} \times \vec{F}_{0} + \sum\limits_{i = 1}^{n} {\vec{r}_{i} \times \vec{F}_{i} } = 0, \\ \end{aligned} $$
(1)

where

$$ \vec{F}_{i} = - m_{i} \left( {\vec{\omega } \times \left( {\vec{\omega } \times \vec{e}_{i} } \right)} \right), $$
$$ \vec{e}_{i} = \left[ {e_{i} \cos \left( {\varphi + \varphi_{i} } \right),e_{i} \sin \left( {\varphi + \varphi_{i} } \right),0} \right], $$
$$ \vec{r}_{i} = \left[ {x_{i} ,y_{i} ,0} \right]. $$

While the axis rotor in the steady state is at the origin of the coordinate system (i.e., r0 = [0,0,0]), the first component of the second equation from (1) is equal to 0. As a planar force system is considered, the vector form of the equations from (1) can be written in scalar ones (2):

$$ \begin{gathered} \Sigma P_{ix} = 0 \Rightarrow \Sigma m_{i} \omega^{2} e_{i} \cos \left( {\varphi + \varphi_{i} } \right) + m_{0} \omega^{2} e_{0} \cos \left( {\varphi + \varphi_{i} } \right) = 0 \\ \Sigma P_{iy} = 0 \Rightarrow \Sigma m_{i} \omega^{2} e_{i} \sin \left( {\varphi + \varphi_{i} } \right) + m_{0} \omega^{2} e_{0} \sin \left( {\varphi + \varphi_{i} } \right) = 0 \\ \Sigma M_{iz} = 0 \Rightarrow \Sigma \left( {m_{i} \omega^{2} e_{i} \sin \left( {\varphi + \varphi_{i} } \right) \cdot x_{i} - m_{i} \omega^{2} e_{i} \cos \left( {\varphi + \varphi_{i} } \right) \cdot y_{i} } \right) = 0. \\ \end{gathered} $$
(2)

This paper considers identical ABBs, each containing the same balance mass (m1 = m2 =  = mn = m). Moreover, the first two equations from System (2) are described in a rotated coordinate system (ξ,η) for convenience. Finally, the set of equilibrium equations can be expressed in a simplified form (3):

$$ \left\{ \begin{gathered} m\omega^{2} \Sigma e_{i} \cos \left( {\varphi_{i} } \right) + m_{0} \omega^{2} e_{0} = 0 \hfill \\ m\omega^{2} \Sigma e_{i} \sin \left( {\varphi_{i} } \right) = 0 \hfill \\ m\omega^{2} \Sigma \left( {e_{i} \sin \left( {\varphi + \varphi_{i} } \right) \cdot x_{i} - e_{i} \cos \left( {\varphi + \varphi_{i} } \right) \cdot y_{i} } \right) = 0 \hfill \\ \end{gathered} \right.. $$
(3)

3 Vibration-elimination system with two ABBs

The aim of this chapter is to prove that a dynamic equilibrium exists when using only two ABBs that are arbitrarily placed outside an eccentric rotor. As the coordinates of the ABB axes are determined, the number of unknown parameters for each ABB is 2n: eccentric radius ei, and phase angle φi. While only two ABBs are present in the system, the three-force principle must be satisfied to achieve a dynamic equilibrium. This is depicted in Fig. 3.

Fig. 3
figure 3

Diagram of ABBs and rotor layout combination that meets three-force rule

According to this principle, the three force lines must intersect at the same point C during the whole rotating cycle of the rotor and ABBs. In the steady state, phase angles φ1 and φ2 are stable, and intersecting point C moves in a circle. While rotor inertia force line F0 intersects the axis of the first ABB (i.e., C = O1), then the force line of the second one (F2) must be directed toward point C as well. Similarly, when a force line F0 crosses point O2, then force F1 is also directed toward point O2 (C = O2). For the same reason, point C must also pass through the ER axis (x0,y0); thus, point C moves along the circumscribed circle of the triangle with vertices O0, O1, and O2. The circumcenter is the intersection point of the perpendicular bisectors of the triangle sides and it is denoted by point S in Fig. 3. In the first step, the slopes of a straight line of each side of the triangle were determined according to (4)

$$ a_{ij} = \frac{{y_{j} - y_{i} }}{{x_{j} - x_{i} }}\quad {\text{for}}\quad i \ne j, $$
(4)

where aij is the slope of a straight line passing through points Oi and Oj. The slopes of a straight line of the bisectors were determined using the perpendicularity relationship with aij, which is expressed by (5):

$$ a_{ij}^{S} = - \frac{1}{{a_{ij} }} = - \frac{{x_{j} - x_{i} }}{{y_{j} - y_{i} }}. $$
(5)

Thus, the equation for a bisector straight line of the OiOj side is as follows:

$$ l_{ij} :\quad y = a_{ij}^{S} x + b_{ij} . $$
(6)

Constant bij was determined knowing that the bisector intersects the middle point of the triangle side:

$$ b_{ij} = \frac{1}{2} \cdot \frac{{\left( {x_{j} - x_{i} } \right)^{2} + \left( {y_{j} - y_{i} } \right)^{2} }}{{y_{j} - y_{i} }}. $$
(7)

Finally, Eq. (6) can be written as follows using (5) and (7):

\(y = - \frac{{x_{j} - x_{i} }}{{y_{j} - y_{i} }}x + \frac{1}{2} \cdot \frac{{\left( {x_{j} - x_{i} } \right)^{2} + \left( {y_{j} - y_{i} } \right)^{2} }}{{y_{j} - y_{i} }}\).

To determine the coordinates of circumcenter S, it is enough to determine the coordinates of the intersection of any two of the three bisectors. By equating bisector line equations l01 and l02, the coordinates of S are expressed according to (8):

$$ \begin{aligned} x_{s} & = \frac{1}{2} \cdot \frac{{y_{1} \left( {x_{2}^{2} + y_{2}^{2} } \right) - y_{2} \left( {x_{1}^{2} + y_{1}^{2} } \right)}}{{x_{2} y_{1} - x_{1} y_{2} }} \\ y_{s} & = \frac{1}{2} \cdot \frac{{ - x_{1} \left( {x_{2}^{2} + y_{2}^{2} } \right) + x_{2} \left( {x_{1}^{2} + y_{1}^{2} } \right)}}{{x_{2} y_{1} - x_{1} y_{2} }}. \\ \end{aligned} $$
(8)

This geometry is a basis for unambiguously determining the values of phase angle φi and the eccentricity ei of each ABB. These stay constant during the whole rotor revolution cycle; thus, the calculations can be done at any rotor angle φ. In a further concern, an angle of φ = 0 is used; this corresponds to a rotor that faces along the x-axis direction (as shown in Fig. 4).

Fig. 4
figure 4

Determination of ABB parameters

The intersection of the inertia force line of rotor F0 with a circle (point C in Fig. 4) has the following coordinates:

$$ \begin{gathered} x_{c} = 2x_{s} . \hfill \\ y_{c} = y_{0} = 0 \hfill \\ \end{gathered} $$
(9)

It can be noticed that the coordinate of xs is equal to the bisector x-coordinate of the O0C segment. Let us determine the slope of the force F1 and F2 lines (shown in Fig. 4 as lC1 and lC2, respectively). These are calculated from formula (4) and represent the tangent functions of phase angles φ1 and φ2. Together with dependencies (8), the phase angles can be expressed according to formula (10):

$$ \begin{array}{*{20}l} {{\text{when}}y_{{\text{i}}} \ne \, 0,} \hfill & {{\text{when}}y_{{\text{i}}} = 0,} \hfill \\ {\varphi_{i} = \arctan \left( {\frac{{y_{i} }}{{x_{i} - 2x_{s} }}} \right)} \hfill & {\varphi_{i} = \arctan \left( {\frac{{x_{i} }}{{2y_{s} - y_{i} }}} \right)} \hfill \\ \end{array} . $$
(10)

When the phase angles are ultimately known, the values of balancing forces F1 and F2 can be calculated from the two first equilibrium equations from (3). Next, the eccentricity radius of each ABB is expressed in Eq. (11):

$$ \begin{array}{*{20}l} {e_{1} = \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}} \hfill & {e_{0} \frac{{{\text{sin}}\left( {\varphi_{2} } \right)}}{{{\text{sin}}\left( {\varphi_{1} - \varphi_{2} } \right)}}} \hfill \\ {e_{2} = - \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}} \hfill & {e_{0} \frac{{{\text{sin}}\left( {\varphi_{1} } \right)}}{{{\text{sin}}\left( {\varphi_{1} - \varphi_{2} } \right)}}} \hfill \\ \end{array} \quad {\text{where}}\;\varphi_{1} \ne \varphi_{2} $$
(11)

The main aim is to reduce the ER using the lowest values of the ABB eccentricities; thus, the minimal sum of the absolute values of e1 and e2 expressed by f2ABB (12) are to be sought:

$$ f_{2opt} = \left| {e_{1} } \right| + \left| {e_{2} } \right| $$
(12)

This is the function of phase angles φ1 and φ2; it is depicted in Fig. 5.

Fig. 5
figure 5

Relative sum of ABB eccentricities vs. phase angles of ABBs in a 3D view and b planar view with curves of optimal parameters

The minimal value of function f2ABB is equal m0e0/m. First, lets consider the particular case where both phase angles are equal to 0 or ± π (φ1 = φ2). This refers to the distribution of the ABBs and rotor axes along a straight line. It makes the force system parallel and Eq. (11) cannot be used. Thus, ABB eccentricities e1 and e2 are determined according to Eq. (13) instead:

$$ \begin{array}{*{20}l} {{\text{when}}\;x_{{1}} \ne x_{{2}} \ne \, 0,} \hfill & {{\text{when}}y_{{1}} \ne y_{{2}} \ne \, 0,} \hfill \\ {e_{1} = \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}e_{0} \frac{{x_{2} }}{{x_{2} - x_{1} }}} \hfill & {e_{2} = - \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}e_{0} \frac{{x_{1} }}{{x_{2} - x_{1} }}\quad } \hfill \\ {e_{1} = \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}e_{0} \frac{{y_{2} }}{{y_{2} - y_{1} }}} \hfill & {e_{2} = - \frac{{m_{0} {\mkern 1mu} }}{{m{\mkern 1mu} }}e_{0} \frac{{y_{1} }}{{y_{2} - y_{1} }}} \hfill \\ \end{array} $$
(13)

A negative value of any ei means that phase angle φi = 0; otherwise, φi =  ± π. Excluding these particular positions of the ABBs, the eccentricity radius depends on the phase angles of both ABBs as is presented in Eq. (11). The function f2ABB gets minimum value for the phase angles φ1 = 0 and φ2 =  ± π/2 or vice versa. This is the case where the first ABB is mounted on the rotor axis and the second one is balanced (i.e., e2 = 0). It is not an off-axis elimination vibration system and it isn't further investigated in this article. In Fig. 5b, two significant areas of desirable parameter values are marked in Fig. 5b with the two black lines and the bisecting red line. The first lines are valid within the whole range of the phase angle values < −π,π > , while the red one is limited to a range of < −π⁄4,π⁄4 > . The relationships of the phase angles are φ1 = φ2 ± 0.5π for the black lines and φ1 = −φ2 for red one. The “red” configuration of phase angles is more efficient (within its range—especially for low values of φi) and can be achieved by placing the ABB in such a manner that the rotor axis is near the line segment between the ABB axes. The closer a line segment is to the rotor axis, the better the efficiency of a two-ABB system. In other words, when a segment line gets closer to the rotor axis, the circumradius of a triangle from Fig. 3 approaches infinity, and then the phase angles approach 0 or ± π (e.g., the optimal configuration of the phase angles). Additionally, the values of φi can slightly decrease when ABBs are placed closer to the rotor. Finally, both ABBs should operate in a similar fashion in order to extend the life-period of the elimination system. Thus, the ABBs should have the same eccentricity radius. To make the ABB eccentricities equal, they should be placed symmetrically to the rotor axis.

The next section is devoted to a numerical investigation of the optimal parameters of off-axial systems with more than two ABBs.

4 Optimization of multi-ABB system

Since a dynamic equilibrium exists with the use of two randomly placed ABBs (as proven in Sect. 3), such a balance also exists for more than two ABBs. In the particular case of an n-ABB system, two of them carry out the dynamic equilibrium (as can be seen in Sect. 3), while the remaining n-2 ABBs are balanced and do not take part in the balancing (i.e., e3 = … = en = 0) due to the balls being arranged symmetrically inside the raceway. Providing additional ABBs into a system provides more opportunities to gain a dynamic equilibrium state. The best-possible configuration of the parameters of a multi-ABB system was determined during the optimization parameter process.

4.1 Optimization problem

The main goal of optimization is to achieve a dynamic equilibrium according to the system of equations from (3) using the smallest-possible dimensions of ABBs. There are k = 4n ABB parameters involved in the dynamical equations from (3): the coordinates of each X and Y ABB, eccentricity radiuses e, and phase angles φ. All of these are put together in vector q as shown in (14):

$$ {\mathbf{q}} = \left\{ {{\mathbf{X,Y,e, }}}\varvec{\upvarphi} \right\} = \left\{ {x_{1} ,x_{2} , \ldots ,x_{n} ,y_{1} ,y_{2} , \ldots ,y_{n} ,e_{1} ,e_{2} , \ldots ,e_{n} ,\varphi_{1} ,\varphi_{2} , \ldots ,\varphi_{n} } \right\}, $$
(14)

where \({\mathbf{X}} = \left[ {x_{1} ,x_{2} ,...,x_{n} } \right],{\mathbf{Y}} = \left[ {y_{1} ,y_{2} ,...,y_{n} } \right],{\mathbf{e}} = \left[ {e_{1} ,e_{2} ,...,e_{n} } \right],\varvec{\upvarphi} = \left[ {\varphi_{1} ,\varphi_{2} , \ldots ,\varphi_{n} } \right].\)

The parameter that describes the size of the ith ABB is eccentricity radius ei; thus, the objective function is defined as the normalized sum of the squares of the eccentricities of all of the ABBs as is presented in Eq. (15):

$$ f\left( {\mathbf{q}} \right) = \left( {\frac{m}{{m_{0} e_{0} }}} \right)^{2} {\mathbf{e}} \cdot {\mathbf{e}}^{T} . $$
(15)

The sum of the squared eccentricities in the function f(q) ensures that the optimization algorithm will try to reduce the maximal value of the eccentricity of one of the ABBs at the cost of increasing the lowest eccentricity values of the remaining ABBs. In this way, each ABB should have similar value of eccentricity radius and, thus, a similar contribution to the rotor balancing.

Of course, the optimization should be done while keeping the equations of dynamic equilibrium from (3). The first two equations from (3) constitute the component values of the resultant force, while the last one represents the resultant moment. These are written in vector form and are presented in Equations (16) and (17), respectively, and are the bases for defining the constraint functions in the optimization process.

$$ {\mathbf{F}}\left( {\mathbf{q}} \right) = \left[ {m \cdot \cos \left( \varvec{\upvarphi} \right) \cdot {\mathbf{e}}^{T} + m_{0} e_{0} ,m \cdot \sin \left( \varvec{\upvarphi} \right) \cdot {\mathbf{e}}^{T} } \right]\omega^{2} , $$
(16)
$$ M\left( {\mathbf{q}} \right) = m\omega^{2} \left[ {\sin \left( {{\varvec{\upvarphi }} + \varphi } \right) \cdot {\text{diag}}({\mathbf{X}}) - \cos \left( {{\varvec{\upvarphi }} + \varphi } \right) \cdot {\text{diag}}\left( {\mathbf{Y}} \right)} \right] \cdot {\mathbf{e}}^{T} , $$
(17)

where

$$ \begin{gathered} {\varvec{\upvarphi }} = \left[ {\varphi_{1} ,\varphi_{2} , \ldots ,\varphi_{n} } \right], \\ \cos \left( \varvec{\upvarphi} \right) = \left[ {\cos \varphi_{1} ,\cos \varphi_{2} ,...,\cos \varphi_{n} } \right], \\ \sin \left( \varvec{\upvarphi} \right) = \left[ {\sin \varphi_{1} ,\sin \varphi_{2} ,...,sin\varphi_{n} } \right], \\ \end{gathered} $$

diag(X), diag(Y)—diagonal n-sized matrixes of vectors X and Y, respectively.

The value of the resultant force F does not depend on rotor revolution angle φ [unlike the value of the resultant moment). The resultant moment M must be zero at any time of the rotor rotation cycle; thus, the mean square value of M (denoted as a function g(q) in Eq. (18)] should also be zero:

$$ g\left( {\mathbf{q}} \right) = \frac{1}{2\pi }\int\limits_{0}^{2\pi } {M^{2} d\varphi } . $$
(18)

Instead of function g(q), the RMS function of the resultant moment could be applied as well. However, the Hessian function of the constraints is involved in the optimization process. Function g(q) has a simpler form than does RMS; therefore, its Hessian function is easier to calculate. The form of function g(q) depends on the number of ABBs (n). An example function g(q) with two ABBs is presented in Eq. (19):

$$ \begin{gathered} \left. {g\left( {\mathbf{q}} \right)} \right|_{n = 2} = \frac{{m^{2} \omega^{4} }}{2\pi }\left( {\frac{{e_{1}^{2} {\mkern 1mu} x_{1}^{2} }}{2} + \frac{{e_{1}^{2} {\mkern 1mu} y_{1}^{2} }}{2} + {\text{cos}}\left( {\varphi_{1} - \varphi_{2} } \right){\mkern 1mu} e_{1} {\mkern 1mu} e_{2} {\mkern 1mu} x_{1} {\mkern 1mu} x_{2} - {\text{sin}}\left( {\varphi_{1} - \varphi_{2} } \right){\mkern 1mu} e_{1} {\mkern 1mu} e_{2} {\mkern 1mu} x_{1} {\mkern 1mu} y_{2} } \right. \hfill \\ \left. {\quad \quad \quad \quad {\text{ + sin}}\left( {\varphi_{1} - \varphi_{2} } \right){\mkern 1mu} e_{1} {\mkern 1mu} e_{2} {\mkern 1mu} x_{2} {\mkern 1mu} y_{1} + {\text{cos}}\left( {\varphi_{1} - \varphi_{2} } \right){\mkern 1mu} e_{1} {\mkern 1mu} e_{2} {\mkern 1mu} y_{1} {\mkern 1mu} y_{2} + \frac{{e_{2}^{2} {\mkern 1mu} x_{2}^{2} }}{2} + \frac{{e_{2}^{2} {\mkern 1mu} y_{2}^{2} }}{2}} \right). \hfill \\ \end{gathered} $$
(19)

Equation (16) together with Eq. (18) constitute the nonlinear constraint equations in the optimization process that was conducted in Matlab. Equations (16) and (18) are expressed in different units and should be normalized before using them in the optimization process. Therefore, the resultant force in Eq. (16) is divided by rotor unbalance value m0e0, while Eq. (18) is divided by the mean square value of the moment of rotor inertia force (Mrot) in respect to the top point of the machine body that is at a distance of ymax/2 from the rotor axis, which is calculated according to Eq. (20):

$$ M_{rot} = \frac{1}{2\pi }\int\limits_{0}^{2\pi } {\left( {m_{0} e_{0} \omega^{2} \frac{1}{2}y_{\max } \cos \left( \varphi \right)} \right)^{2} d\varphi = } \frac{{m_{0}^{2} e_{0}^{2} \omega^{4} y_{\max }^{2} }}{8\pi } \cdot \pi = \frac{{m_{0}^{2} e_{0}^{2} \omega^{4} y_{\max }^{2} }}{8}. $$
(20)

Finally, a set of nonlinear constraint equations is presented in (21):

$$ {\mathbf{c}}\left( {\mathbf{q}} \right) = \left\{ \begin{gathered} \frac{m}{{m_{0} e_{0} }}\cos \left( \varvec{\upvarphi} \right) \cdot {\mathbf{e}}^{T} + 1 \hfill \\ \frac{m}{{m_{0} e_{0} }}\sin \left( \varvec{\upvarphi} \right) \cdot {\mathbf{e}}^{T} \hfill \\ \frac{{4m^{2} }}{{\pi m_{0}^{2} e_{0}^{2} y_{\max }^{2} }}\int\limits_{0}^{2\pi } {\left( {\left[ {\sin \left( {{\varvec{\upvarphi }} + \varphi } \right) \cdot diag({\mathbf{X}}) - \cos \left( {{\varvec{\upvarphi }} + \varphi } \right) \cdot diag\left( {\mathbf{Y}} \right)} \right] \cdot {\mathbf{e}}^{T} } \right)^{2} d\varphi = } 0 \hfill \\ \end{gathered} \right.. $$
(21)

4.2 Solver

Optimizing the objective function is achieved by the embedded Matlab fmincon function, which allows us to find a minimum value of the constrained nonlinear multivariable function. As an algorithm for finding the minimum, the default “interior-point” algorithm is used. While the objective and constraint functions are available in analytical form, the k-sized square Hessian matrices of such functions are calculated according to (22) and (23), respectively, and further used in the optimization process to decrease the time consumption of the calculation:

$$ {\mathbf{H}}_{f} = \nabla f\nabla^{T} , $$
(22)
$$ {\mathbf{H}}_{i} = \nabla c_{i} \nabla^{T} , $$
(23)

where: \(\nabla = \left[ {\frac{\partial }{{\partial q_{1} }},\frac{\partial }{{\partial q_{2} }}, \cdots ,\frac{\partial }{{\partial q_{k} }}} \right].\)

All of the calculations were made within the parameter limit band, which is expressed as the lower and upper band vectors as shown in (24):

$$ \begin{aligned} q_{{{\text{lb}}}} & = \left[ {\begin{array}{*{20}c} { - {\mathbf{x}}_{\max } } & { - {\mathbf{y}}_{\max } } & {{\mathbf{0}}_{1 \times n} } & {{\mathbf{0}}_{1 \times n} } \\ \end{array} } \right], \\ q_{{{\text{ub}}}} & = \left[ {\begin{array}{*{20}c} {{\mathbf{x}}_{\max } } & {{\mathbf{y}}_{\max } } & {{\mathbf{e}}_{\max } } & {{\varvec{\upvarphi }}_{\max } } \\ \end{array} } \right] \\ \end{aligned} $$
(24)

where xmax, ymax, emax,φmax are n-sized row matrices that are filled by the values of xmax = 0.15 m, ymax = 0.2 m, emax = 0.02 m, and φmax = 2π, respectively.

The next step of the optimization process is to check the results. Optimization succeeds when the equilibrium equations are satisfied in the steady state throughout the whole cycle of a rotation. Therefore, two new scalar parameters are defined as the resultant force value and the RMS of the resultant moment during one cycle of a rotation. These functions are related to the constraint functions according to Eqs. (25) and (26), respectively:

$$ F = \sqrt {{\mathbf{F}}\left( {\mathbf{q}} \right){\mathbf{F}}\left( {\mathbf{q}} \right)^{T} } $$
(25)
$$ M_{{{\text{RMS}}}} = \sqrt {g\left( {\mathbf{q}} \right)} . $$
(26)

The q parameters are defined as satisfactory when both the resultant force and the RMS function of the moment of force from one period of rotation are lower than the assumed error limit. These conditions are presented by the inequations from (27):

$$ \left\{ \begin{gathered} F \le 10^{ - 3} {\text{N}} \\ M_{{{\text{RMS}}}} \le 10^{ - 3} {\text{Nm}} \\ \end{gathered} \right.. $$
(27)

The following values of the constant parameters are used during the calculations of the value of functions (25) and (26): m0 = 4 kg; m = 0.8 kg; e0 = 0.001; ω = 157 s−1.

A very common problem in optimization algorithms is the finishing process when the local minimum is found. The value of the minimum strongly depends on the adopted initial parameters. The found q parameters may not meet the assumptions that are defined in (27); however, there other ones that may meet them. One of the techniques for searching for the global minimum is to repeat the optimization process with different random initial parameters that are within the appropriate range of the parameters specified by vectors qlb and qub (24). This technique is provided by the MultiStart Matlab function, which is a part of the Global Optimization Toolbox. The function completes the optimization process with different initial conditions until the condition that is specified by the inequality in (27) is met. The maximum number of repetitions is set to 100. If the conditions from (27) are still not met after the 100th repetition, the off-axis vibration elimination system is considered to be ineffective.

4.3 Optimization results

In many types of rotary machines, estimating the accurate position of the rotor axis is difficult or even impossible. Thus, it is difficult to place an ABB unit relative to an unknown rotor axis position. The practical use of an off-axis vibration-elimination system requires us to set the ABBs in an arbitrary manner. Typically, the position of a rotor axis can be more or less estimated. The results of the optimization process with randomly distributed ABBs show general clues on where to locate the ABBs relative to the expected rotor position. The locations of ABBs {x1,x2,…,xn,y1,y2,…,yn} were chosen arbitrarily. There are four scenarios of ABB distribution that were investigated (see Fig. 6).

Fig. 6
figure 6

Visualization of ABB distributions in four scenarios

Figure 6 contains four top views of a plate with an eccentric rotor in the middle and a set of arbitrarily distributed ABBs that are represented by the colored circles. The investigations were made for up to five ABBs. The lines placed from the axis indicate the inertia force vectors of the rotor (m0e0) and ABBs (miei), respectively. Their lengths are proportional to the imbalance value. The numbers next to the ABBs are significant, as optimization with a specific number of ABBs excludes the higher-numbered ABBs; i.e., the optimization in the first scenario for three ABBs is performed in the absence of the fourth (yellow) and fifth (purple) ABBs.

As the location of each ABB is fixed and known, there are 2n parameters to be investigated: the unbalance radius ei and phase angle φi for each ABB (where i = 1,..,n). To keep the fixed positions of the ABBs, additional linear constraints are provided. These are presented in matrix form in Eq. (28):

$$ {\mathbf{A}}_{{{\text{eq}}}} {\mathbf{q}} = {\mathbf{b}}_{{{\text{eq}}}} , $$
(28)

where Aeq is a sparse array size of 2n × 4n with values according to the Kronecker delta function (29):

$$ A_{ij} = \delta_{ij} \quad {\text{for}}\quad i = 1, \ldots ,2n\quad {\text{and}}\quad j = 1, \ldots ,4n; $$
(29)

beq is a 2n-sized column vector of the ABB coordinates (30):

$$ {\mathbf{b}}_{{{\text{eq}}}} = \left[ {{\mathbf{X}},{\mathbf{Y}}} \right]^{T} = \left[ {x_{1} ,x_{2} , \ldots ,x_{n} ,y_{1} ,y_{2} , \ldots ,y_{n} } \right]^{T} . $$
(30)

The results of the optimization process are those parameters that minimize the objective function that preserves the constraint equations. The graphs below show the maximum values of the eccentric radius emax (Fig. 7) and balance mass effectiveness coefficient λ (Fig. 8) that are defined by Eq. (31) versus the number of ABBs for different scenarios of their distribution:

$$ \lambda = \frac{{m_{0} e_{0} }}{{\sum {m_{i} e_{i} } }}. $$
(31)
Fig. 7
figure 7

Maximal eccentricity radius emax vs. number of ABBs

Fig. 8
figure 8

Coefficient of balance mass effectivness vs. number of ABBs

Figure 7 shows the maximum unbalance radius of ABBs depending on the number of ABBs for different distribution scenarios. The emax value determines the required minimum radius of an ABB chamber to effectively eliminate vibrations. According to the results presented in Fig. 7, ABBs of significant sizes can be replaced by a greater number of ABBs of smaller sizes. When two ABBs are used, the maximum unbalance radius emax significantly depends on their placement. For the worst distribution of two ABBs (Scenario 4), one of them requires at least a 10-mm eccentric radius. By adding another ABB, the chamber sizes can be reduced to about 4 mm. The smallest emax value with two ABBs was obtained for the first scenario, where the ABBs were set in a straight line that crossed the rotor at an equal distance. As for the other scenarios, the emax value decreases as the number of ABBs increases.Footnote 1

Figure 8 shows the coefficient of balance mass effectiveness λ, which indicates the share of the total ABB balancing mass that takes part in the process of balancing the rotor. For example, the value λ = 0.5 means that total balance capability of ABBs needs to be a least twice the rotor unbalance value to get dynamic equilibrium. The low value of λ indicate that ABB system does not work effectively and demands more balance mass. Otherwise, when the mass is insufficient, it only provides a partial reduction in vibrations. In most cases, λ increases with the number of ABBs. However, the best value (λ = 1) was achieved for the two ABBs in the first scenario, where are placed symmetrically respect to rotor axis.

The highest divergences of λ and emax were observed for two ABBs, which indicates the high sensitivity of these parameters to the locations of the ABBs. Thus, when the location of axis rotor is unknown, it is better to use more lighter ABBs. Otherwise it is recommended to place two ABBs symmetrically respect to the rotor axis.

5 Conclusion

This paper demonstrates the new technique to eliminate vibration comes from unbalanced rotor by application multiply ABBs mounted outside the rotor axis. A dynamic equilibrium in an eccentric rotary machine can be achieved by the use of only two arbitrarily located ABBs in the rotor plane. Considering a system with two ABBs, the system designer must ensure that the size of the ABB chambers is large enough, especially when placed arbitrarily with an unknown location of the rotor axis. These can lead to difficulties in the application of many types of rotary devices; therefore, the parameters of an off-axis vibration-elimination system were optimized by utilizing multiple ABBs (up to a maximum of five). The parameters obtained in the optimization process with two ABBs coincide with theoretical Formulas (10) and (11). As the number of ABBs increases, the requirement for the value of the eccentricity radius for each of them decreases. Therefore, a system could contain more smaller-dimension ABBs; this usually leads to an easier installation on the body of an eccentric rotary machine. Moreover, the greater the number of ABBs, the higher the coefficient of the balance mass effectiveness, which can furthermore lead to the extended life-cycle of a system. If the rotor axis location is well known, a designer should endeavor to install at least two of ABBs in such a manner that the line that connects their axes intersects the rotor axis. It is recommended to place them symmetrically in respect to the rotor if possible.

It needs to be noted that the presented off-axis vibration-elimination system does not eliminate the cause of any vibrations—only their effects. During the operation of an ER machine, significant inertial forces still affect the bearings of the rotor and the ABBs. However, by eliminating vibrations, the effects of an eccentric rotor significantly reduce the amplitude of machine body vibrations and, therefore, noise and forces that are transmitted to the foundation. Theoretically, it is possible to completely eliminate the vibrations of the body machine caused by ER; however, it may not be possible to achieve a complete dynamic equilibrium due to the resistance forces that accompany the rolling process of the balls inside an ABB chamber. Moreover, many of the works that are devoted to multi-rotor system synchronization show that rotor synchronization occurs under properly selected system parameters. The complete assessment of vibration-reduction effectiveness and self-synchronous capacity will be possible after experimental or simulation studies using the mathematical model of a dynamic system of a rotor machine and ABBs. The application of the off-axis ABB system are not limited to the rotary machine with vertical axis. The rotor axis direction can be arbitrary since inertial forces of balance masses are usually much greater than the gravitational ones. Hence, direction of the rotor axis should not significantly influence to the elimination vibration process.