JAJSPK0A December 2022 – October 2023 DRV8461
PRODUCTION DATA
ステッパ・モーター・システムでは、電源から供給される合計電力は負荷のトルク要件を満たすための電力と、モーターの巻線抵抗やドライバのオン抵抗による抵抗損失などの電力損失として消費されます。これは、次の 式 11 によって決定されます。
ここで、τ は負荷トルク、ω はモーター速度です。
式 11 から、負荷トルクが増加すると、電源から供給される電力も増加することがわかります。自動トルク・アルゴリズムは、電源から供給される電力を監視して、負荷トルクに関する情報を取得します。定数損失は、ATQ_LRN パラメータで表され、ATQ_CNT パラメータは負荷トルクをサポートするために必要な電力を表します。
任意のモーターについて、ATQ_LRN はコイル電流に正比例します。これは、式 12 のように表すことができます。
ここで、IM はモーター電流、VVM はドライバへの電源電圧、k は定数です。式 12 は、ATQ_LRN とモーター電流の線形関係を示しています。自動トルク学習ルーチンは、無負荷時における任意の 2 つの電流での ATQ_LRN の値を学習し、この関係を使用して、他の電流における ATQ_LRN の値を補間します。
ATQ_CNT パラメータは、負荷トルクに対応する供給電力の成分を表しています。この関係は 式 13 で表すことができます。
ここで、k1 は特定の動作条件における定数で、IFS はステッパ・ドライバのフルスケール電流 (正弦波電流波形のピーク) です。
式 13 は、自動トルク・アルゴリズムの基本的な動作原理を定義しています。ATQ_CNT パラメータを使用すると、ステッパ・モーターに印加される負荷トルクに基づいて、モーター・コイルの電流レギュレーションを実行できます。
図 7-24 に (ATQ_LRN + ATQ_CNT) を示します。これは、2.8A 定格のハイブリッド・バイポーラ NEMA 24 ステッパ・モーターの 2.5A フルスケール電流における負荷トルクの関数として測定されたものです。ATQ_LRN は負荷トルクに応じて変化しませんが、ATQ_CNT は負荷トルクに応じて線形的に変化します。
自動トルク・アルゴリズムをイネーブルにした後、学習ルーチンを実行して、ATQ_LRN パラメータを推定する必要があります。
この学習ルーチンは、式 12 で示される ATQ_LRN とモーター電流との線形関係を使用します。ユーザーは、学習を実行する 2 つの電流値を選択する必要があります。ここではモーターに負荷トルクは印加されません。これら 2 つの電流値は、ATQ_LRN_MIN_CURRENT レジスタおよび ATQ_LRN_STEP レジスタによってプログラムされます。
初期電流レベル=ATQ_LRN_MIN_CURRENT x 8
最終電流レベル=初期電流レベル + ATQ_LRN_STEP
これら 2 つの電流の ATQ_LRN 値は、ATQ_LRN_CONST1 レジスタおよび ATQ_LRN_CONST2 レジスタに保存されます。この 2 つのレジスタを使用して、アプリケーションの動作範囲内にある他のすべての電流の ATQ_LRN 値を補間します。
表 7-24 に、自動トルク学習ルーチンに関連するレジスタを示します。
レジスタ名 | 概要 |
---|---|
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 は、初期電流 740mA (IFS1) と最終電流 2.2A (IFS2) での自動学習プロセスを示しています。ATQ_LEARN_CYCLE_SELECT は、32 半周期に相当しています。