BrakeBrake based on Coulomb friction |
This information is part of the Modelica Standard Library maintained by the Modelica Association.
This component models a brake, i.e., a component where a frictional torque 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 angular velocity "w" is not zero, the friction torque is a function of the velocity dependent friction coefficient mu(w), 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 * mu(w) * fn
Typical values of coefficients of friction mu:
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 mu(w), w >= 0, is defined via table mu_pos (first column = w, second column = mu). Currently, only linear interpolation in the table is supported.
When the absolute angular velocity becomes zero, the elements connected by the friction element become stuck, i.e., the absolute angle remains constant. In this phase the friction torque is calculated from a torque balance due to the requirement, that the absolute 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 * mu(w=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 (see also a short sketch in UsersGuide.ModelingOfFriction):
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):
See also the discussion State Selection in the User's Guide of the Rotational library.
useSupport |
Value: false Type: Boolean Description: = true, if support flange enabled, otherwise implicitly grounded |
---|---|
w_small |
Value: 1.0e10 Type: AngularVelocity (rad/s) Description: Relative angular velocity near to zero if jumps due to a reinit(..) of the velocity can occur (set to low value only if such impulses can occur) |
useHeatPort |
Value: false Type: Boolean Description: = true, if heatPort is enabled |
mu_pos |
Value: [0, 0.5] Type: Real[:,2] Description: Positive sliding friction coefficient [-] as function of w_rel [rad/s] (w_rel>=0) |
peak |
Value: 1 Type: Real Description: Peak for maximum value of mu at w==0 (mu0_max = peak*mu_pos[1,2]) |
cgeo |
Value: 1 Type: Real Description: Geometry constant containing friction distribution assumption |
fn_max |
Value: Type: Force (N) Description: Maximum normal force |
flange_a |
Type: Flange_a Description: Flange of left shaft |
|
---|---|---|
flange_b |
Type: Flange_b Description: Flange of right shaft |
|
support |
Type: Support Description: Support/housing of component |
|
heatPort |
Type: HeatPort_a Description: Optional port to which dissipated losses are transported in form of heat |
|
f_normalized |
Type: RealInput Description: Normalized force signal 0..1 (normal force = fn_max*f_normalized; brake is active if > 0) |
Modelica.Mechanics.Rotational.Examples Drive train with clutch and brake |
|
Modelica.Mechanics.Rotational.Examples Demonstrate the modeling of heat losses |
|
Modelica.Mechanics.Rotational.Examples Simple Gearshift |