回生制動を使用したFMUベースの電動パワートレイン

車両パワートレインの性能とアーキテクチャが大幅に向上しました。一般的に、車両内では次のパワートレインレイアウトが見られます:
  • トランスミッション付きICエンジン
  • バッテリー電気自動車
  • ハイブリッド電気自動車

使用されるコンポーネントのタイプやパワートレインのアーキテクチャはさまざまですが、パワートレインの役割は同じです。燃料 / 電気エネルギーを運動エネルギーに変換することによって車両にトルクを供給する必要があります。

FMUパワートレインインターフェースは、FMU/FMIインターフェースを使用してMotionView/MotionSolveでパワートレインモデルのこのようなバリエーションをシミュレートすることを可能にします。

フルビークルモデルの電動パワートレインへのアクセス

MBD-Vehicle Dynamicsツールは、プリファレンスファイルとして読み込む必要があります。
  1. FileメニューからLoad > Preference File > MBD-Vehicle Dynamics Toolsを選択します。


    図 1.
  2. ModelメニューからAssembly Wizardを選択します。


    図 2.
  3. Powertrainオプションドロップダウンメニューから、Electric Powertrain (FMU)を選択します。


    図 3.
  4. 車両構築プロセスが終了したら、電動パワートレイン(FMU)を使用したフルビークルがMotionViewに読み込まれます。


    図 4.

インターフェース

FMUパワートレインは、FMU 1Dモーター、インバーター、およびバッテリーを含むMDLシステムでラップされます。MDLシステムには、モーターの定常質量と慣性、およびBEVの合計質量と慣性の大部分であるバッテリーの質量と慣性が含まれます。最後に、電気モーターのトルク速度特性が、Altair Driverのフィードフォワード速度と加速度の制御で使用するために外部ファイルから読み取られます。.pwrファイルは、モーターのトルク速度特性の表現です。


図 5.

概略

概略を以下に示します:


図 6.

理論と式

電動パワートレインは、Activate内でモデル化されてから、FMUとしてエクスポートされます。これには、次のコンポーネントが含まれます:
永久磁石同期モーター(PMSMモーター)
PMSMモーターのごく単純なモデルはモーターの速度トルク特性を使用して定義されます。このモデルは、下の図に示すように、2つの境界で構成されます。境界は、モーターが供給可能な最大正トルクと最大負トルクを示しています。PMSMモーターの特性は、定トルク領域と定出力領域で構成されます。モーターは定格速度まで最大トルクを提供し、その後は最大出力を提供できます。


図 7.
電圧 / 電流コントローラ
これは、モーターに加えられる電圧を制御します。制御電圧は、車両速度、モーター速度、アクセルペダル入力、およびバッテリー充電状態によって異なります。コントローラは、パルス幅変調(PWM)とトルクルックアップテーブルを使用して、モーターに加える適切な電圧を見つけます。電圧は、バッテリー充電状態(SOC)の制約も受けます。バッテリーSOCが80%を上回ると、コントローラはバッテリーセルの破損を引き起こしかねない回生制動を許可しません。バッテリーSOCが20%を下回ると、バッテリーは電流を供給しなくなり、これによってもバッテリーセルの破損が防がれます。

PWMルックアップテーブルは、車両速度とアクセルペダル入力からPWM値を計算するために使用されます。PWM値は0~250の範囲です。50の値は惰行に使用されます。つまり、この値では、モーターが出力するトルクは0です。PWM値が50を下回ると、モーターが発電機として機能し、回生モードに入ることを意味します。50を上回るPWM値は、モーターがトラクションに対して正のトルクを提供していることを意味します。惰行領域は、下の図に示すように、2つの境界で構成されます。



図 8.
pcuより上の領域はトラクション領域で、下の境界(pcl)より下の領域は回生領域です。これらの境界間の惰行帯は車両速度と共に増加します。これは、車両速度が速いときにアクセルペダルの感度を下げるために行われます。これらのPWM値は、電圧値または要求トルク値にマップすることができます。3D PWM特性を下の図に示します。


図 9.
トルクルックアップテーブルは、入力としてPWM値とモーター速度を取得して、モーターのトルク要求を生成します。パワートレイン内の回生トルクは、通常のトラフィック状態での車両を制動するために使用できます。モーターは、都市での運転で1つのペダルだけを使用して車両を操作するのに十分な負のトルクを提供します。車両速度が速い場合は、回生トルクだけでは車両を停止させるのに十分ではないため、摩擦制動を使用する必要があります。このモデル内の回生トルク値は、下の図に示すように、車両速度に伴って変化します。


図 10.

アクセルペダルを完全に解放した場合に停止状態を実現するには、車両速度が0で回生トルクを0に設定します。これは、PWMルックアップテーブルの1つ目のセルの値を惰行を意味する50に設定することによって行われます。

下の図は、モーター速度とPWM値に基づくパワートレインの3Dトルク特性を示しています。


図 11.
インバーター / コンバーター
インバーター / コンバーターは完全にモデル化されず、代わりに、それらの電力損失が考慮されます。
バッテリー
バッテリーモデルは、バッテリー容量を計算するための、セル電圧、セルの数、直列と並列のモジュールなどのパラメータで構成されます。このモデルは、バッテリーの充電の状態を推定するために使用されます。

電動パワートレインのActivateモデル

Activateのパワートレインモデルの図は、以下からアクセスできます:<install_dir>\hwdesktop\hw\mdl\mdllib\Common\FMU_Library\Motor\FMU_source\Activate_Models

パワートレインMDLシステム

MotionView内のパワートレインシステムは、次のエンティティで構成されます:
モーター(FMU)
非動作状態のモーターの集中質量と慣性を表します。モーターの出力シャフトは、変速機入力シャフトと固く連結されていると見なされるため、それらの速度は同じになります。モーターのシャフトとその回転はモデル化されません。回転シャフトの慣性はモデル化されないため、この慣性は駆動系の他の回転要素に追加できます。
モーター / エンジンマウント
モーターは、ブッシュによってシャーシに取り付けられます。ユーザーは、マウントの座標値を指定することにより、アタッチメントボディ上のマウントの位置を与える必要があります。ブッシュの向きは、各マウントに対応したベクトルを使って指定しなければなりません。
Inputs
Entities タイプ 説明 コメント
Driver Throttle Output アタッチメントソルバー変数 ドライバからのスロットル信号。 0-1
Motor Mount Body アタッチメント本体 車両の本体 / フレーム。  
参照マーカー アタッチメントマーカー パワートレイン方向の参照マーカー。  
Transmission Speed アタッチメントソルバー変数 変速機入力シャフト速度。  
FMU Torque ソルバー変数 エンジン / モーターからトランスミッションへのトルク。 N-m
FMU Omega ソルバー変数 エンジン / モーターの回転速度。変速機入力シャフト速度と等しくなります。 ラジアン/秒
Get Torque Given Throttle ソルバー変数 Altair Driverによる要求スロットル値の予測を支援するパワートレインの省自由度モデルを作成するユーザーサブルーチン。  
FMU FMU FMUにラップされたパワートレインモデルを含めます。FMUには、バッテリー、インバーター、モーター、およびその内部のモーターコントローラモデルが含まれています。  
Transmission/Gear Box システム 定減速機または手動変速機をモデル化するために必要なエンティティが含まれています。  
Engine/Motor Characteristics システム このシステムは、エンジン / モーターを使用して、フィードフォワードドライバイベントの場合のモデル状態を推定します。  
Get Torque Given Throttle
このソルバー変数は、モデルにAltair Driverが含まれている場合に必要です。.pwrファイルを使用して、MotionSolve内部のパワートレインの省自由度モデルを作成します。フィードフォワードイベントで、Altair Driverが要求トルク値に基づいて要求スロットルを探すために使用されます。関数呼び出しには、スロットル値を伴うパワートレインプロパティデータセットと、モーター出力シャフトに固く連結されていると見なされる変換機入力シャフトの回転速度が必要です。関数呼び出しのシグネチャは次のとおりです:
Varsub DLL名 Function Name シグネチャ
Get Torque Given Throttle msautoutils POWERTRAIN_VARSUB `USER(6, {sa_powertrain_properties.idstring}, {arg_sv_driver_throttle_output.idstring}, {arg_gb_input_shaft_speed.idstring})`
パワートレインプロパティデータセット
Inputs 説明 コメント
Max Voltage   未使用
Motor Engine Efficiency   未使用
Rotor Inertia 値は、車両の他の回転パートに追加できます。 未使用
FMU Motor/Engine Property パワートレインの速度トルク特性が含まれています。ファイル拡張子は“.pwr”です。  
.pwrファイルは、TeimOrbitフォーマットに基づきます。スロットルとモーター速度に基づくトルク値が含まれています。サンプルファイルを以下に示します:

FMUの入力と出力
FMUパワートレインの入力はカスタマイズしてシステムを自由に変更できますが、ドライバイベントを正しくシミュレートするには、いくつかの入力と出力が存在する必要があります。図は、FMUパワートレインブロックの必要な入力と出力を示しています。パワートレインは、スロットル、トランスミッション入力シャフト速度、車両速度、および出力トルクを取得します。


図 12.
結合 タイプ 説明 Units
Desired Motor Speed FMUへの入力 変速機入力シャフト速度。 rad/s
Vehicle Speed FMUへの入力 車両の縦速度。 mm/s
Throttle from Driver FMUへの入力 ドライバからのアクセルペダルの入力。 0-1
Torque from Motor FMUからの出力 モーターからの出力トルク。 N-mm
Motor Speed Output FMUからの出力 モーターシャフト速度。 rad/s
Traction Coast Regen State FMUからの出力

パワートレインの動作モードを示す整数値。

-1はパワートレインが回生制動モードにあることを示し、0はパワートレインが惰行帯にあることを示し、1はモーターがトラクション領域で動作していることを示します。
-1, 0, 1
PWM Value FMUからの出力 モーターに適用される電圧に変換可能なパルス幅変調値に相当します。 0-250
Battery SOC FMUからの出力 バッテリーの充電の状態。 0 -1
Battery Power Demand FMUからの出力 バッテリーへの電力要求。補助電力要求も含まれます。 W
Ancillary Power Demand FMUからの出力 補助サービスによる電力要求。 W

Engine/Motor Characteristics

このシステムは、FMUベースのパワートレインとAltair Driver間の橋渡しとして機能します。Altair Driverは、フィードフォワードイベントで要求トルク値を計算し、従う要求スロットル値を必要とします。要求スロットル値は、Driverに提供することも、パワートレインのトルク速度特性が格納されたPWRファイルで逆引きを実行することによって要求スロットル値をDriverに計算させることもできます。

このシステムでは、使用可能な予測機能タイプが2つあります:
Internal
この予測機能は、Altair Driverを使用して要求トルク値を計算します。Altair Driverは、ドライバイベント情報に基づいてトルク要求を計算します。このトルク要求値は、Varsub呼び出しを使用して‘Get Demand Torque’ソルバー変数に格納されます。トルク要求に基づいて、Altair Driverは、パワートレインのトルク速度特性を使用してスロットル要求も計算します。このスロットル要求値は、Varsub呼び出しを使用して‘Get Demand Throttle’ソルバー変数に格納されます。
内部予測機能で使用されるVarsubのシグネチャは次のとおりです:
Varsub DLL名 Function Name シグネチャ
Get Demand Torque msautoutils POWERTRAIN_VARSUB 'USER(7)'
Get Demand Throttle msautoutils POWERTRAIN_VARSUB 'USER(4)'
External
この予測機能は、外部情報を使用して、パワートレインのスロットル要求の計算を行います。この場合、要求トルクは、ドライバイベント情報に基づいてAltair Driverによって計算されます。このトルク要求は、Varsub呼び出しを使用して‘Get Demand Torque’ソルバー変数に格納されます。このトルク要求値を使用することも、数学モデルを使用して要求スロットル値を計算することもできます。スロットル要求が計算されたら、Varsub呼び出しを使用して‘Set Demand Throttle’ソルバー変数に渡す必要があります。このシステムには、計算された要求スロットル値を格納するために使用可能な‘Throttle Demand’という名前の特別な変数が含まれています。このソルバー変数は、‘Set Demand Throttle’への入力です。
外部予測機能でVarsubに使用されるシグネチャは次のとおりです:
Varsub DLL名 Function Name シグネチャ
Get Demand Torque msautoutils POWERTRAIN_VARSUB 'USER(7)'
Get Demand Throttle msautoutils POWERTRAIN_VARSUB 'USER(5, {sv_throttle_demand.idstring} )'
Throttle Demand - - 実数値を含む必要があり、ユーザー定義入力が必要です。

制限事項

  • 単位の情報は.pwrファイルから抽出されません。現時点では、トルクはNm単位、エンジンスピードはRPM単位、スロットルは0と1の間にする必要があります。
  • モーターのシャフトの回転慣性は、駆動系の回転体に追加する必要があります。

参考資料

Design and realization of a One-Pedal-Driving algorithm for the TU/e Lupo EL

J.J.P. van Boekel1、I.J.M Besselink1、H. Nijmeijer1