modelBrake

Brake based on Coulomb friction

Extends from Modelica.Mechanics.Translational.Interfaces.PartialElementaryTwoFlangesAndSupport2 (Partial model for a component with one translational 1-dim. shaft flange and a support used for textual modeling, i.e., for elementary models), Modelica.Thermal.HeatTransfer.Interfaces.PartialElementaryConditionalHeatPortWithoutT (Partial model to include a conditional HeatPort in order to dissipate losses, used for textual modeling, i.e., for elementary models), Translational.Interfaces.PartialFriction (Base model of Coulomb friction elements).

Information

This component models a brake, i.e., a component where a frictional force is acting between the housing and a flange and a controlled normal force presses the flange to the housing in order to increase friction. 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 brake is modelled in the following way:

When the absolute velocity "v" is not zero, the friction force is a function of the velocity dependent friction coefficient mu(v), 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_force = cgeo * mu(v) * fn

Typical values of coefficients of friction mu:

  • 0.2 … 0.4 for dry operation,
  • 0.05 … 0.1 when operating in oil.

The positive part of the friction characteristic mu(v), v >= 0, is defined via table mu_pos (first column = v, second column = mu).

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

frictional_force = peak * cgeo * mu(v=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 Wit 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., Åström 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.

Parameters

TypeNameDefaultDescription
BooleanuseSupport (from PartialElementaryTwoFlangesAndSupport2)false= true, if support flange enabled, otherwise implicitly grounded
BooleanuseHeatPort (from PartialElementaryConditionalHeatPortWithoutT)false= true, if heatPort is enabled
Real[:,2]mu_pos[0, 0.5]Positive sliding friction coefficient [-] as function of v [m/s] (v>=0)
SmoothnesssmoothnessSmoothness.LinearSegmentsSmoothness of interpolation in mu_pos table
Realpeak1Peak for maximum value of mu at v==0 (mu0_max = peak*mu_pos[1,2])
Realcgeo1Geometry constant containing friction distribution assumption
SI.Forcefn_maxMaximum normal force
IntegerUnknown (from PartialFriction)3Value of mode is not known
IntegerFree (from PartialFriction)2Element is not active
IntegerForward (from PartialFriction)1v_relfric > 0 (forward sliding)
IntegerStuck (from PartialFriction)0v_relfric = 0 (forward sliding, locked or backward sliding)
IntegerBackward (from PartialFriction)-1v_relfric < 0 (backward sliding)
Advanced
SI.Velocityv_small (from PartialFriction)1e-3Relative velocity near to zero (see model info text)

Connectors

TypeNameDefaultDescription
Flange_aflange_a (from PartialTwoFlanges)(left) driving flange (flange axis directed into cut plane, e. g. from left to right)
Flange_bflange_b (from PartialTwoFlanges)(right) driven flange (flange axis directed out of cut plane)
Supportsupport (from PartialElementaryTwoFlangesAndSupport2)Support/housing of component
HeatTransfer.Interfaces.HeatPort_aheatPort (from PartialElementaryConditionalHeatPortWithoutT)Optional port to which dissipated losses are transported in form of heat
Modelica.Blocks.Interfaces.RealInputf_normalizedNormalized force signal 0..1 (normal force = fn_max*f_normalized; brake is active if > 0)

Components

TypeNameDefaultDescription
SI.Lengths_a (from PartialElementaryTwoFlangesAndSupport2)Distance between left flange and support
SI.Lengths_b (from PartialElementaryTwoFlangesAndSupport2)Distance between right flange and support
SI.PowerlossPower (from PartialElementaryConditionalHeatPortWithoutT)Loss power leaving component via heatPort (> 0, if heat is flowing out of component)
SI.Velocityv_relfric (from PartialFriction)Relative velocity between frictional surfaces
SI.Accelerationa_relfric (from PartialFriction)Relative acceleration between frictional surfaces
SI.Forcef0 (from PartialFriction)Friction force for v_relfric=0 and forward sliding
SI.Forcef0_max (from PartialFriction)Maximum friction force for v_relfric=0 and locked
Booleanfree (from PartialFriction)= true, if frictional element is not active
Realsa (from PartialFriction)Path parameter of friction characteristic f = f(a_relfric)
BooleanstartForward (from PartialFriction)= true, if v_relfric=0 and start of forward sliding
BooleanstartBackward (from PartialFriction)= true, if v_relfric=0 and start of backward sliding
Booleanlocked (from PartialFriction)= true, if v_relfric=0 and not sliding
Integermode (from PartialFriction)Mode of friction (-1: backward sliding, 0: stuck, 1: forward sliding, 2: inactive, 3: unknown)
SI.PositionsAbsolute position of flange_a and of flange_b
SI.ForcefBrake friction force
SI.VelocityvAbsolute velocity of flange_a and flange_b
SI.AccelerationaAbsolute acceleration of flange_a and flange_b
RealmuFriction coefficient
SI.ForcefnNormal force (=fn_max*f_normalized)