modelClutch

Clutch based on Coulomb friction

Extends from Interfaces.OnePort (OnePort partial model of rotational library).

Information

This component models a clutch, i.e., a component with two flanges where friction is present between the two flanges and these flanges are pressed together via a normal force. The normal force fn has to be provided as input signal f_normalized in a normalized form (0 ≤ f_normalized ≤ 1), fn = fn_max*f_normalized, where fn_max has to be provided as parameter. Friction in the clutch is modelled in the following way:

When the relative angular velocity is not zero, the friction torque is a function of the velocity dependent friction coefficient mue(w_rel) , of the normal force "fn", and of a geometry constant "cgeo" which takes into account the geometry of the device and the assumptions on the friction distributions:

        frictional_torque = cgeo * mue(w_rel) * fn

Typical values of coefficients of friction:

      dry operation   :  mue = 0.2 .. 0.4
      operating in oil:  mue = 0.05 .. 0.1

When plates are pressed together, where ri is the inner radius, ro is the outer radius and N is the number of friction interfaces, the geometry constant is calculated in the following way under the assumption of a uniform rate of wear at the interfaces:

         cgeo = N*(r0 + ri)/2

The positive part of the friction characteristic mue(w_rel), w_rel >= 0, is defined via table mue_pos (first column = w_rel, second column = mue). Currently, only linear interpolation in the table is supported.

When the relative angular velocity becomes zero, the elements connected by the friction element become stuck, i.e., the relative angle remains constant. In this phase the friction torque is calculated from a torque balance due to the requirement, that the relative acceleration shall be zero. The elements begin to slide when the friction torque exceeds a threshold value, called the maximum static friction torque, computed via:

       frictional_torque = peak * cgeo * mue(w_rel=0) * fn   (peak >= 1)

This procedure is implemented in a "clean" way by state events and leads to continuous/discrete systems of equations if friction elements are dynamically coupled. The method is described in:

Otter M., Elmqvist H., and Mattsson S.E. (1999):
Hybrid Modeling in Modelica based on the Synchronous Data Flow Principle. CACSD'99, Aug. 22.-26, Hawaii.

More precise friction models take into account the elasticity of the material when the two elements are "stuck", as well as other effects, like hysteresis. This has the advantage that the friction element can be completely described by a differential equation without events. The drawback is that the system becomes stiff (about 10-20 times slower simulation) and that more material constants have to be supplied which requires more sophisticated identification. For more details, see the following references, especially (Armstrong and Canudas de Witt 1996):

Armstrong B. (1991):
Control of Machines with Friction. Kluwer Academic Press, Boston MA.

Armstrong B., and Canudas de Wit C. (1996):
Friction Modeling and Compensation. The Control Handbook, edited by W.S.Levine, CRC Press, pp. 1369-1382.

Canudas de Wit C., Olsson H., Astroem K.J., and Lischinsky P. (1995):
A new model for control of systems with friction. IEEE Transactions on Automatic Control, Vol. 40, No. 3, pp. 419-425.


Release Notes:

Parameters

TypeNameDefaultDescription
Real[:,:]mue_pos[0, 0.5][w,mue] positive sliding friction coefficient (w_rel>=0)
Realpeak1peak*mue_pos[1,2] = maximum value of mue for w_rel==0
Modelica.SIunits.Positioncgeo1Geometry constant containing friction distribution assumption
Modelica.SIunits.Forcefn_max1Maximum normal force

Connectors

TypeNameDefaultDescription
Flange_aflange_a (from OnePort)Left rotational connector
Flange_bflange_b (from OnePort)Right rotational connector
Modelica.Blocks.Interfaces.RealInputf_normalizedNormalized force signal 0..1 (normal force = fn_max*f_normalized; clutch is engaged if > 0)

Components

TypeNameDefaultDescription
Modelica.SIunits.Anglephi_relRelative rotation angle (= flange_b.phi - flange_a.phi)
Modelica.SIunits.AngularVelocityw_relRelative angular velocity (flange_b.w - flange_a.w)
Modelica.SIunits.AngularAccelerationa_relRelative angular acceleration (flange_b.a - flange_a.a)
Modelica.SIunits.TorquetauFriction torque (positive, if directed in opposite direction of w_rel)
BondLib.Mechanical.Rotational.Utilities.R_FricR