Main Content

Coulomb and Viscous Friction

零点で不連続、それ以外では線形ゲインのモデル作成

  • Coulomb and Viscous Friction block

ライブラリ:
Simulink / Discontinuities
HDL Coder / Discontinuities

説明

Coulomb and Viscous Friction ブロックは、クーロン (静的) 摩擦と粘性 (動的) 摩擦のモデルを作成します。ブロックは、零点では不連続、それ以外では線形ゲインのモデルを作成します。

ブロック出力は、以下に対する MATLAB® の結果に一致します。

y = sign(x) .* (Gain .* abs(x) + Offset)

ここで、y は出力、x は入力、Gain は非ゼロの入力値の信号ゲインであり、Offset はクーロン摩擦です。

ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。入力は、要素に実数および複素数をもつスカラー、ベクトルまたは行列にできます。

  • スカラー入力の場合、GainOffset は入力とは異なる次元にすることができます。出力は、GainOffset の次元に応じて、スカラー、ベクトルまたは行列になります。

  • ベクトルまたは行列の入力の場合、GainOffset はスカラーか、入力と同じ次元でなければなりません。出力は、入力と同じ次元のベクトルまたは行列です。

すべて展開する

この例では、スカラー拡張を使用してベクトルを出力する Coulomb & Viscous Friction ブロックへのスカラー入力をもつモデルを説明します。

摩擦ブロックをダブルクリックしてパラメーターを表示します。[粘性摩擦係数 (Gain)] はスカラー値 2 ですが、[クーロン摩擦値 (Offset)] はベクトル値 [1 3 2 0] です。したがって、ブロックは要素単位のスカラー拡張を使用して、出力を計算します。

各出力は次の式を使用して計算されます。

$y = sign(x) .* (Gain .* abs(x) + Offset)$

たとえば、最初のオフセット 1 は次のように計算されます。

$y = - * ((2 * 5) + 1)$

$y = -11$

入力および Offset の次元が同じ場合、例外は不要です。

端子

入力

すべて展開する

クーロンと粘性摩擦のモデルへの入力信号。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

出力

すべて展開する

摩擦モデルを入力へ適用することで計算される出力信号。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

パラメーター

すべて展開する

Coulomb and Viscous Friction ブロックのパラメーターを編集するには、ブロック アイコンをダブルクリックします。

すべての入力値に適用するオフセットを指定します。

プログラムでの使用

ブロック パラメーター: offset
: 文字ベクトル
: 実数値
既定の設定: '[1 3 2 0]'

非ゼロの入力値の信号ゲインを指定します。

プログラムでの使用

ブロック パラメーター: gain
: 文字ベクトル
: 実数値
既定の設定: '1'

ブロックの特性

データ型

double | fixed point | integer | single

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入