JAJA734 January   2023 DRV8452 , DRV8462

PRODUCTION DATA  

  1.   概要
  2.   商標
  3. 1ステッパ・モーター・ドライバの電力効率
  4. 2自動トルク
    1. 2.1 自動トルク:学習の原理
      1. 2.1.1 自動トルク学習ルーチンの設定
    2. 2.2 電流制御
      1. 2.2.1 電流制御パラメータの設定
    3. 2.3 PD 制御ループ
    4. 2.4 自動トルク調整パラメータの影響
      1. 2.4.1 学習パラメータが負荷過渡応答に及ぼす影響
      2. 2.4.2 ATQ_UL、ATQ_LL ヒステリシスの影響
      3. 2.4.3 負荷プロファイルが電力節減量に及ぼす影響
      4. 2.4.4 適応型 ATQ_UL、ATQ_LL
      5. 2.4.5 PD パラメータの依存性曲線
        1. 2.4.5.1 KP 依存性
        2. 2.4.5.2 KD および ATQ_D_THR 依存性
        3. 2.4.5.3 ATQ_FRZ および ATQ_AVG 依存性
        4. 2.4.5.4 ATQ_ERROR_TRUNCATE 依存性
      6. 2.4.6 各種モーター速度での ATQ_CNT
      7. 2.4.7 各種電源電圧での ATQ_CNT
      8. 2.4.8 モーター温度の推定
    5. 2.5 自動トルクによる効率向上
  5. 3ケース・スタディ
    1. 3.1 アプリケーション 1:現金自動預払機 (ATM)
      1. 3.1.1 ATM モーターの動作条件
      2. 3.1.2 自動トルク機能付き ATM モーター
    2. 3.2 アプリケーション 2:繊維機械
      1. 3.2.1 繊維機械モーターの動作条件
      2. 3.2.2 自動トルク機能付き繊維機械モーター
    3. 3.3 アプリケーション 3:プリンタ
      1. 3.3.1 自動トルク付きプリンタ・モーター
  6. 4まとめ
  7. 5関連資料

自動トルク学習ルーチンの設定

自動トルク・アルゴリズムをイネーブルにした後、学習ルーチンを実行して、ATQ_LRN パラメータを推定する必要があります。

この学習ルーチンは、GUID-C9787AA8-70D0-4E26-A422-8AD35CD3A767.html#GUID-03A54B9C-DFBC-4979-9E8A-6A170E3494B7 で説明されている ATQ_LRN とモーター電流の間の線形関係を使用します。ユーザーは、モーターに負荷トルクがかからない状態で、2 つの電流値を選択して学習を実行する必要があります。これら 2 つの電流値は、ATQ_LRN_MIN_CURRENT および ATQ_LRN_STEP レジスタによってプログラムされます。

  • 初期電流レベル = ATQ_LRN_MIN_CURRENT × 8
  • 最終電流レベル = 初期電流レベル + ATQ_LRN_STEP

これら 2 つの電流の ATQ_LRN 値は、ATQ_LRN_CONST1 および ATQ_LRN_CONST2 レジスタに保存されます。これら 2 つのレジスタを使用して、アプリケーションの動作範囲内にある他のすべての電流の ATQ_LRN 値を補間します。

表 2-1 に、自動トルク学習ルーチンに関連するレジスタを示します。

表 2-1 自動トルク学習ルーチン用のレジスタ
レジスタ名 説明
ATQ_LRN_MIN_CURRENT[4:0] 自動トルク学習ルーチンの初期電流レベルを表します。
ATQ_LRN_STEP[1:0] 初期電流レベルまでのインクリメントを表します。4 つのオプションをサポートしています。
  • 00b:ATQ_LRN_STEP = 128
  • 01b:ATQ_LRN_STEP = 16
  • 10b:ATQ_LRN_STEP = 32
  • 11b:ATQ_LRN_STEP = 64

例:ATQ_LRN_STEP = 10b かつ ATQ_LRN_MIN_CURRENT = 11000b の場合
  • 初期学習電流レベル = 24*8 = 192
  • 最終学習電流レベル= 192 + 32 = 224
ATQ_LRN_CYCLE_SELECT[1:0] 学習ルーチンにより電流が他のレベルになった後の電流レベルにおける電気的半周期の数を表します。4 つのオプションをサポートしています。
  • 00b:8 半周期
  • 01b:16 半周期
  • 10b:24 半周期
  • 11b:32 半周期
LRN_START このビットに「1b」を書き込むと、自動トルク学習ルーチンがイネーブルされます。学習が完了すると、このビットは自動的に「0b」になります。
LRN_DONE 学習が完了すると、このビットは「1b」になります。
ATQ_LRN_CONST1[10:0] 初期学習電流レベルにおける ATQ_LRN パラメータを示します。
ATQ_LRN_CONST2[10:0] 最終学習電流レベルにおける ATQ_LRN パラメータを示します。
VM_SCALE このビットが「1b」のとき、自動トルク・アルゴリズムは電源電圧の変動に応じて、ATQ_UL、ATQ_LL、および ATQ_LRN パラメータを自動的に調整します。

学習ルーチンのパラメータを設定する際に考慮すべき点はいくつかあります:

  • 初期電流レベルは、最大動作電流の 30%~50% の範囲で選択することを推奨します。
  • 最終的な電流レベルは 255 を超えないようにする必要があり、最大動作電流の 80%~100% の範囲で選択できます。
  • 電流波形の歪み (高速または低い電源電圧のため) により、ATQ_LRN パラメータの読み取りが不正確になる可能性があります。学習電流レベルは、波形の歪みが見られる電流から離して選択する必要があります。
  • ATQ_LRN_CYCLE_SELECT の値が小さいと、学習が速くなります。ただし、ノイズが発生しやすいシステムでは、より高い ATQ_LRN_CYCLE_SELECT を使用すると、より安定した ATQ_LRN パラメータ値が得られます。
  • 学習は、モーターが定常状態の速度に達した後に実施する必要があります。
  • モーターを変更した場合、またはモーター速度が ±10% 変化した場合は、再学習を行う必要があります。

簡単にまとめると、自動学習をイネーブルにするには、次の一連のコマンドを適用する必要があります:

  1. ATQ_EN に 1b を書き込みます。
  2. 無負荷の状態でモーターを動作させます。
  3. ATQ_LRN_MIN_CURRENT をプログラムします。
  4. ATQ_LRN_STEP をプログラムします。
  5. ATQ_LRN_CYCLE_SELECT をプログラムします。
  6. ATQ_LRN_START に 1b を書き込みます。
  7. このアルゴリズムは、電気的な半周期の ATQ_LRN_CYCLE_SELECT 数の間、初期電流レベルでモーターを動作させます。
  8. 次に、アルゴリズムは、電気的な半周期の ATQ_LRN_CYCLE_SELECT 数の間、最終電流レベルでモーターを動作させます。
  • 学習が完了すると、
    • ATQ_LRN_START ビットは「0b」に自動的にクリアされます。
    • ATQ_LRN_DONE ビットは「1b」になります、
  • ATQ_LRN_CONST1 および ATQ_LRN_CONST2 は、各レジスタに入力されます。
  • モーター電流は、ATQ_TRQ_MAX になります。

ATQ_LRN_CONST1 と ATQ_LRN_CONST2 がプロトタイプ・テストにより、わかる場合は、学習ルーチンを再起動せずに量産で使用することができます。量産では、次のコマンド・シーケンスを適用します:

  1. VREF は、プロトタイプ・テストの学習時と同じ値に設定されます。
  2. ATQ_LRN_MIN_CURRENT をプログラムします。
  3. ATQ_LRN_STEP をプログラムします。
  4. ATQ_LRN_CONST1 をプログラムします。
  5. ATQ_LRN_CONST2 をプログラムします。
  6. ATQ_EN に 1b を書き込みます。

#GUID-F7DF536A-AA6A-470A-A165-6C387D7F9AD6 に、自動トルク学習ルーチンについてまとめたフローチャートを示します。

図 2-3 自動トルク学習のフローチャート
GUID-20221117-SS0I-QNDX-MZNF-MJ9ZRCN86GBM-low.png図 2-4 自動トルク学習

各波形は上から順に負荷トルク、コイル電流、電源電流、nSCS です。

#GUID-116CD8BD-5689-4E12-B7B0-013CCF0454A4 に、初期電流 (IFS1) 740mA と最終電流 (IFS2) 2.2A での自動学習プロセスを示しています。ATQ_LEARN_CYCLE_SELECT は、半周期 32 に対応します。