JAJSL46A August 2022 – December 2022 DRV8452
PRODUCTION DATA
ステッパ・モーター・システムでは、電源から供給される合計電力は負荷のトルク要件のために供給されます。また、モーターの巻線抵抗やドライバのオン抵抗による抵抗損失などの電力損失に使用されます。これは、Equation11 によって示されます:
ここで、τ は負荷トルク、ω はモーター速度です。
Equation11 から、負荷トルクが増加すると、電源から供給される電力も増加することがわかります。自動トルク・アルゴリズムは、電源から供給される電力を監視して、負荷トルクに関する情報を取得します。一定の損失は、ATQ_LRN パラメータで表され、ATQ_CNT パラメータは負荷トルクをサポートするために必要な電力を表します。
任意のモーターについて、ATQ_LRN はコイル電流に直接比例します。これは、Equation12 で表すことができます:
ここで、IM はモータ電流、VVM はドライバへの電源電圧、k は定数です。Equation12 に、ATQ_LRN とモーター電流の間の線形関係を示します。自動トルク学習ルーチンは、無負荷時に任意の 2 つの電流で ATQ_LRN の値を学習し、この関係を使用して他の電流での ATQ_LRN の値を補間します。
ATQ_CNT パラメータは、負荷トルクをサポートする、供給される電力の成分を表します。この関係は、Equation13 で表すことができます。
ここで、k1 は特定の動作条件における定数で、IFS はステッパ・ドライバのフルスケール電流 (正弦波電流の波形のピーク) です。
Equation13 に、自動トルク・アルゴリズムの基本的な動作原理を定義します。ATQ_CNT パラメータを使用すると、ステッパ・モーターに印加される負荷トルクに基づいて、モーター・コイルの電流レギュレーションを実行できます。
図 7-24 に、(ATQ_LRN + ATQ_CNT) を示します。これは、2.8A 定格のハイブリッド・バイポーラ NEMA 24 ステッパ・モーターの 2.5A フルスケール電流での負荷トルクの関数として測定されたものです。ATQ_LRN は負荷トルクに応じて変化しませんが、ATQ_CNT は負荷トルクに応じて線形的に変化します。
自動トルク・アルゴリズムをイネーブルにした後、学習ルーチンを実行して、ATQ_LRN パラメータを推定する必要があります。
この学習ルーチンは、Equation12 で説明されている 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 値を補間します。
表 7-23 に、自動トルク学習ルーチンに関連するレジスタを示します。
レジスタ名 |
説明 |
---|---|
ATQ_LRN_MIN_CURRENT[4:0] | 自動トルク学習ルーチンの初期電流レベルを表します。 |
ATQ_LRN_STEP[1:0] | 初期電流レベルまでのインクリメントを表します。4 つのオプションをサポートしています。
例:ATQ_LRN_STEP = 10b かつ ATQ_LRN_MIN_CURRENT = 11000b の場合
|
ATQ_LRN_CYCLE_SELECT[1:0] | 学習ルーチンにより電流が他のレベルになった後の電流レベルにおける電気的半周期の数を表します。4 つのオプションをサポートしています。
|
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% 変化した場合は、再学習を行う必要があります。
簡単にまとめると、自動学習をイネーブルにするには、次の一連のコマンドを適用する必要があります:
ATQ_EN に 1b を書き込みます
無負荷の状態でモーターを動作させます
ATQ_LRN_MIN_CURRENT をプログラムします
ATQ_LRN_STEP をプログラムします
ATQ_LRN_CYCLE_SELECT をプログラムします
ATQ_LRN_START に 1b を書き込みます
このアルゴリズムは、電気的な半周期の ATQ_LRN_CYCLE_SELECT 数の間、初期電流レベルでモーターを動作させます
次に、アルゴリズムは、電気的な半周期の 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 がプロトタイプ・テストにより、わかる場合は、学習ルーチンを再起動せずに量産で使用することができます。量産では、次のコマンド・シーケンスを適用します:
VREF は、プロトタイプ・テストの学習時と同じ値に設定されます
ATQ_LRN_MIN_CURRENT をプログラムします
ATQ_LRN_STEP をプログラムします
ATQ_LRN_CONST1 をプログラムします
ATQ_LRN_CONST2 をプログラムします
ATQ_EN に 1b を書き込みます
自動トルク学習ルーチンの要約のフローチャートを、図 7-25 に示します。
図 7-26 に、初期電流 (IFS1) 740mA と最終電流 (IFS2) 2.2A での自動学習プロセスを示しています。ATQ_LEARN_CYCLE_SELECT は、半周期 32 に対応します。