OneWayClutch

Parallel connection of freewheel and clutch

    OneWayClutch

Library

Modelica/Mechanics/Rotational/Components

Description

This component models a one-way 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. These flanges may be sliding with respect to each other.

A one-way-clutch is an element where a clutch is connected in parallel to a free wheel. This special element is provided, because such a parallel connection introduces an ambiguity into the model (the constraint torques are not uniquely defined when both elements are stuck) and this element resolves it by introducing one constraint torque only instead of two constraints.

Note, initial values have to be chosen for the model such that the relative speed of the one-way-clutch ≥ 0. Otherwise, the configuration is physically not possible and an error occurs.

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.

The friction in the clutch is modeled in the following way. When the relative angular velocity is positive, 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

The geometry constant is calculated - under the assumption of a uniform rate of wear at the friction surfaces - in the following way:

cgeo = N*(r0 + ri)/2

where ri is the inner radius, ro is the outer radius and N is the number of friction interfaces,

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 w_rel 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 (see also a short sketch in UsersGuide.ModelingOfFriction):

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.

See also the discussion State Selection in the User's Guide of the Rotational library.

Parameters

OneWayClutch_0

NameLabelDescriptionData TypeValid Values

mo_mue_pos

mue_pos

[w,mue] positive sliding friction coefficient (w_rel>=0)

Matrix of size Mx2

mo_peak

peak

Peak for maximum value of mue at w==0 (mue0_max = peak*mue_pos[1,2])

Scalar

mo_cgeo

cgeo

Geometry constant containing friction distribution assumption

Scalar

mo_fn_max

fn_max

Maximum normal force

Scalar

mo_useHeatPort

useHeatPort

=true, if heatPort is enabled

Number

0
1

mo_eps0

eps0

Relative hysteresis epsilon

Scalar

mo_peak2

peak2

Scalar

mo_unitAngularAcceleration

unitAngularAcceleration

Scalar

mo_unitTorque

unitTorque

Scalar

OneWayClutch_1

NameLabelDescriptionData TypeValid Values

mo_phi_nominal

phi_nominal

Nominal value of phi_rel (used for scaling)

Scalar

mo_stateSelect

stateSelect

Priority to use phi_rel and w_rel as states

Structure

mo_stateSelect/choice1

StateSelect.never

Number

0
1

mo_stateSelect/choice2

StateSelect.avoid

Number

0
1

mo_stateSelect/choice3

StateSelect.default

Number

0
1

mo_stateSelect/choice4

StateSelect.prefer

Number

0
1

mo_stateSelect/choice5

StateSelect.always

Number

0
1

mo_w_small

w_small

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)

Scalar

OneWayClutch_2

NameLabelDescriptionData TypeValid Values

mo_phi_rel

phi_rel

phi_rel

Structure

mo_phi_rel/fixed

fixed

Cell of scalars

true
false

mo_phi_rel/start

start

Cell of scalars

mo_w_rel

w_rel

w_rel

Structure

mo_w_rel/fixed

fixed

Cell of scalars

true
false

mo_w_rel/start

start

Cell of scalars

mo_a_rel

a_rel

a_rel

Structure

mo_a_rel/fixed

fixed

Cell of scalars

true
false

mo_a_rel/start

start

Cell of scalars

mo_tau

tau

tau

Structure

mo_tau/fixed

fixed

Cell of scalars

true
false

mo_tau/start

start

Cell of scalars

mo_lossPower

lossPower

lossPower

Structure

mo_lossPower/fixed

fixed

Cell of scalars

true
false

mo_lossPower/start

start

Cell of scalars

mo_u

u

u

Structure

mo_u/fixed

fixed

Cell of scalars

true
false

mo_u/start

start

Cell of scalars

mo_fn

fn

fn

Structure

mo_fn/fixed

fixed

Cell of scalars

true
false

mo_fn/start

start

Cell of scalars

mo_startForward

startForward

startForward

Structure

mo_startForward/fixed

fixed

Cell of scalars

true
false

mo_startForward/start

start

Cell of scalars

mo_locked

locked

locked

Structure

mo_locked/fixed

fixed

Cell of scalars

true
false

mo_locked/start

start

Cell of scalars

mo_stuck

stuck

stuck

Structure

mo_stuck/fixed

fixed

Cell of scalars

true
false

mo_stuck/start

start

Cell of scalars

mo_f_normalized

f_normalized

f_normalized

Structure

mo_f_normalized/fixed

fixed

Cell of scalars

true
false

mo_f_normalized/start

start

Cell of scalars

Ports

NameTypeDescriptionIO TypeNumber

flange_a

implicit

Left flange of compliant 1-dim. rotational component

input

1

flange_b

implicit

Right flange of compliant 1-dim. rotational component

output

1

f_normalized

implicit

Normalized force signal 0..1 (normal force = fn_max*f_normalized; clutch is engaged if > 0)

input

2

Port 4

implicit

Optional port to which dissipated losses are transported in form of heat

input

mo_useHeatPort