IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

<>
  • 特許-ステッパーモータ誤差低減 図1
  • 特許-ステッパーモータ誤差低減 図2
  • 特許-ステッパーモータ誤差低減 図3
  • 特許-ステッパーモータ誤差低減 図4
  • 特許-ステッパーモータ誤差低減 図5
  • 特許-ステッパーモータ誤差低減 図6
  • 特許-ステッパーモータ誤差低減 図7
  • 特許-ステッパーモータ誤差低減 図8
  • 特許-ステッパーモータ誤差低減 図9
  • 特許-ステッパーモータ誤差低減 図10
  • 特許-ステッパーモータ誤差低減 図11
  • 特許-ステッパーモータ誤差低減 図12
  • 特許-ステッパーモータ誤差低減 図13
  • 特許-ステッパーモータ誤差低減 図14
  • 特許-ステッパーモータ誤差低減 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】ステッパーモータ誤差低減
(51)【国際特許分類】
   H02P 8/12 20060101AFI20240111BHJP
【FI】
H02P8/12
【請求項の数】 15
(21)【出願番号】P 2022055362
(22)【出願日】2022-03-30
(62)【分割の表示】P 2019542348の分割
【原出願日】2017-10-17
(65)【公開番号】P2022084898
(43)【公開日】2022-06-07
【審査請求日】2022-05-02
(31)【優先権主張番号】15/296,031
(32)【優先日】2016-10-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】ソーピング ソー
(72)【発明者】
【氏名】アヌジュ ジェイン
(72)【発明者】
【氏名】ジェフェリー オキア
(72)【発明者】
【氏名】ウェン チャオ クー
【審査官】佐藤 彰洋
(56)【参考文献】
【文献】特開2008-118842(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 8/12
(57)【特許請求の範囲】
【請求項1】
装置であって、
出力を有する基準電流生成器と、
前記基準電流生成器の出力と接地端子との間に結合される第1のトランジスタであって、第制御端子を有する、前記第1のトランジスタと、
制御入力と、前記基準電流生成器の出力に結合される入力と、出力とを有するオフセット供給回路と、
電圧感知端子に結合される第1の入力と、前記オフセット供給回路の出力に結合される第2の入力と、比較器出力とを有する比較器と、
前記比較器出力に結合される制御入力と、前記第1の制御端子に結合されるパルス幅変調(PWM)出力とを有するパルス幅変調(PWM)回路と、
を含む、装置。
【請求項2】
請求項1に記載の装置であって、
前記基準電流生成器が前記出力に正弦波の電流を提供するように構成され、
前記第1のトランジスタが、前記正弦波の電流と前記第1の制御端子の状態とに応答して第1の電圧を提供するように構成され、
前記オフセット供給回路が、前記第1の電圧にオフセットを加算することによって基準電圧を提供するように構成され、前記オフセットが前記オフセット供給回路の制御入力における制御信号に基づいており、
前記比較器が、前記比較器の第1の入力における第2の電圧と前記比較器の第2の入力における前記基準電圧とに応答して決定信号を生成するように構成され、
前記PWM回路が、前記決定信号の状態に応答して前記PWM出力にPWM信号を提供し、前記PWM信号の状態が前記第1の制御端子の状態を設定する、装置。
【請求項3】
請求項2に記載の装置であって、
前記オフセット供給回路第1のデジタル・アナログ変換器(DAC)を含み、前記基準電流生成器が第2のDACを含む、装置。
【請求項4】
請求項2に記載の装置であって、
前記オフセット供給回路が、コードを表わす前記制御信号に応答して前記基準電圧を生成するように構成されるデジタル・アナログ変換器(DACを含む、装置。
【請求項5】
請求項に記載の装置であって、
前記電圧感知端子に結合される第1の入力と、前記PWM出力に結合される第2の入力と、前記オフセット供給回路の制御入力に結合される較正出力とを有する較正回路であって、
前記PWM信号が第1の状態から第2の状態に変化することに応答して前記第2の電圧の状態を決定し、
前記第2の電圧の状態に基づいてコード調整し、
前記調整されたコードを表わす前記制御信号を前記較正出力に提供する、
ように構成される、前記較正回路を更に含む、装置。
【請求項6】
請求項5に記載の装置であって、
前記較正回路が、前記PWM信号が前記第1の状態から前記第2の状態に変化する後に前記第2の電圧が正又は負になるかどうかに基づいて前記コードを調整するように更に構成される、装置。
【請求項7】
請求項6に記載の装置であって、
前記較正回路が、次第に増加又は減少することによって前記コードを調整するように更に構成される、装置。
【請求項8】
請求項5に記載の装置であって、
Hブリッジであって、
電源と前記電圧感知端子との間に結合される第2のトランジスタであって、前記PWM出力に結合される第2の制御端子を有する、前記第2のトランジスタと、
前記電圧感知端子と接地との間に結合される第3のトランジスタであって、前記PWM出力に結合される第3の制御端子を有する、前記第3のトランジスタと、
を含む、前記Hブリッジを更に含む、装置。
【請求項9】
請求項8に記載の装置であって、
前記較正回路が、前記第3のトランジスタが不活性状態にあるときに前記第2の電圧の状態を決定するように更に構成される、装置。
【請求項10】
請求項2に記載の装置であって、
前記第1の制御端子が前記PWM出力に結合され、前記第1の制御端子の状態が前記PWM信号の状態に基づいて設定される、装置。
【請求項11】
方法であって、
基準電流生成器から第1のトランジスタに基準電流を提供することと、
前記第1のトランジスタから第1の電圧を受信することと、
第1の状態を有する制御信号に基づいてHブリッジの第2のトランジスタを活性化することと、
前記Hブリッジから第2の電圧を受信することと、
前記第1の電圧に加算されるべきオフセットを決定することと、
前記第1の電圧に前記オフセットを加算することによって基準電圧を生成することと、
前期第2の電圧を前記基準電圧と比較することによって決定信号を生成することと、
前記決定信号の状態変化に応答して前記制御信号を第2の状態に設定することと、
前記第2の状態を有する前記制御信号に基づいて前記第1のトランジスタを非活性化することと、
を含む、方法。
【請求項12】
請求項11に記載の方法であって、
前記基準電圧がコードに基づいて生成される、方法。
【請求項13】
請求項12に記載の方法であって、
前記制御信号が第1の状態から第2の状態に変化することに応答して前記第2の電圧の状態を決定することと、
前記第2の電圧の状態に基づいて前記コードを調整することと、
前記調整されたコードに基づいて前記基準電圧を生成することと、
を更に含む、方法。
【請求項14】
請求項13に記載の方法であって、
前記制御信号が第1の状態から第2の状態に変化する後に前記第2の電圧が正又は負になるかどうかに基づいて前記コードが調整される、方法。
【請求項15】
請求項11に記載の方法であって、
前記制御信号の状態に基づいて前記第1のトランジスタを活性化して非活性化することを更に含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
コントローラ(プロセッサを含む)は、モータやロボットなどの物理デバイスの動きを制御するためにますます用いられている。コントローラは、ステッパーモータを制御することなどによって、そのような物理デバイスの動きを制御する。ステッパーモータの種々の応用例が、ステッパーモータの一層高い正確性及び制御をますます必要としている。ステッパーモータは、ステッパーモータに印加される電流の量をレギュレートして制御される。しかし、電流レギュレーションの不正確性の多くの要因が存在し、ステッパーモータを制御するために用いられる制御回路要素の製造時にこれらの要因の全てが補償され得るわけではない。
【発明の概要】
【0002】
説明される例において、ステッパーモータ誤差低減制御システムが、第1及び第2の電力スイッチを含み、それぞれ、第1及び第2の電力スイッチは、コイル電流をパルス幅変調(PWM)するための各サイクルの間、ステッパーモータコイルを励磁及び無励磁化する。ゼロ交差マイクロステップを含む或るサイクルの間、キャリブレータが、第2のスイッチがコイルの無励磁化を止めるとき、第2の電力スイッチにおいて生じるボディダイオード効果のタイプを検出する。選択されたオフセットが、第2の電力スイッチのボディダイオード効果の検出のタイプに応答して調節される。選択されたオフセットを調節することによって、キャリブレータは、オフセット基準電圧を、コイル電流に応答してつくられるモータ電圧と比較するためのトリガ時間を制御する。連続するサイクルにわたり、(オフセット基準電圧の電圧を調節する)選択されたオフセットを漸次調節することによって、キャリブレータは、PWM制御ループにおける構成要素の遅延を補償し、プロセス、電圧、及び温度変動に起因する誤差などの誤差を低減する。
【図面の簡単な説明】
【0003】
図1】例示の実施形態に従った、例示のコンピューティングデバイス100を示す。
【0004】
図2】例示の実施形態に従った、ステッパーモータ誤差低減におけるピーク電流レギュレーションのための回路の概略図である。
【0005】
図3】例示の実施形態に従った、ステッパーモータ誤差低減のためのステッパーモータ制御電流の波形図である。
【0006】
図4】従来のステッパーモータコントローラにおけるピーク電流毎のピーク電流誤差割合を例示する波形図400である。
【0007】
図5】例示の実施形態に従った、ステッパーモータ誤差低減のための比較的高いステッパーモータ制御電流の単一期間の波形図500である。
【0008】
図6】例示の実施形態に従った、ステッパーモータ誤差低減のための比較的低いステッパーモータ制御電流の単一期間の波形図600である。
【0009】
図7】例示の実施形態に従った、ステッパーモータ誤差低減のためのモータ制御電流のスルーレートに関する、ステッパーモータインダクタンス及び出力電圧変数の効果を例示する波形図700である。
【0010】
図8】例示の実施形態に従った、ステッパーモータ誤差低減のためのループ遅延タイミング情報抽出を例示する波形図800である。
【0011】
図9】例示の実施形態に従った、オーバーシュート状態のループ遅延タイミング情報を例示する波形図900である。
【0012】
図10】例示の実施形態に従った、アンダーシュート状態のループ遅延タイミング情報を例示する波形図1000である。
【0013】
図11】例示の実施形態に従った、ステッパーモータ誤差低減のためのループ遅延タイミング情報抽出を例示する波形図1100である。
【0014】
図12】例示の実施形態に従った、ステッパーモータ誤差低減のためのゼロ交差較正ルーチンの間の誤差の低減を例示する波形図1200である。
【0015】
図13】例示の実施形態に従った、較正のないステッパーモータのシミュレーションと、ステッパーモータ誤差低減を用いるステッパーモータのシミュレーションとの間の電流誤差の程度の比較を例示する波形図1300である。
【0016】
図14】コイルインダクタンスに関する種々のレベルでの、較正のないステッパーモータのシミュレーションにおける電圧誤差の相対的程度を例示する波形図1400である。
【0017】
図15】異なるコイルインダクタンスについて、例示の実施形態に従った、ステッパーモータ誤差低減を用いるステッパーモータのシミュレーションの電流誤差の程度の比較を例示する波形図1500である。
【発明を実施するための形態】
【0018】
本記載において、或るシステムが、さらに別のシステムのサブシステムであり得る。また、「に結合される」及び「と結合する」という用語(及び同様の用語)は、間接的或いは直接的な電気接続を説明する。そのため、第1のデバイスが第2のデバイスに結合する場合、そうした接続は、直接的な電気接続を介して、又は、その他のデバイス及び接続を介する間接的な電気接続を介して成され得る。「部分」という用語は、全体部分、又は全体部分より少ない一部分を意味し得る。
【0019】
図1は、例示の実施形態に従った例示のコンピューティングデバイス100を示す。例えば、コンピューティングデバイス100は、例えば、コンピュータ、電子機器制御「ボックス」又はモジュール、(固定又は携帯型を含む)ロボット装置、自動車、或いは、コンピュータが物理デバイスを制御する任意の他のタイプのシステムなどの、電子システム129であり、或いは、電子システム129に組み込まれる。
【0020】
幾つかの実施形態において、コンピューティングデバイス100は、メガセル又はシステムオンチップ(SoC)を含み、メガセル又はSoCは、CPU112(中央処理装置)、ストレージ114(例えば、ランダムアクセスメモリ(RAM))、及び電力供給110などの制御論理構成要素を含む。例えば、CPU112は、CISC(複雑命令セットコンピュータ)タイプCPU、RISC(縮小命令セットコンピュータ)タイプCPU、MCU(マイクロコントローラユニット)タイプ、又はデジタル信号プロセッサ(DSP)であり得る。CPU112は、ディスクリート論理構成要素によって提供される機能性を含み、及び/又は、特定用途向け命令(例えば、ソフトウェア又はファームウェア)を実行するように配置され、この特定用途向け命令は、CPU112によって実行されるとき、CPU112を特殊用途マシンに変える。ハードウェアとソフトウェアとの「区分」の概念的ラインは、コスト、電力消費、信頼性、製品化までの時間などを含む種々のトレードオフに依って(例えば、選択的に)変化する設計上の選択である。従って、コンピューティングシステム100の一つ又は複数のCPU112を制御するために用いられる任意のソフトウェアの機能性は、(例えば、設計及び製造のために充分な時間及びリソースが与えられる場合)専らハードウェアとして具現化され得る。
【0021】
CPU112は、ストレージ114から頻繁にアクセスされる(例えば、ストレージ114に書き込まれ及び/又はストレージ114から読み出される)情報を格納するメモリ及び論理を含む。コンピューティングデバイス100は、UI(ユーザインターフェース)116を用いるユーザによって制御されることがあり、UI 116は、ソフトウェアアプリケーション130の実行の間、ユーザへ出力を提供し、ユーザから入力を受け取る。出力はディスプレイ118を用いて提供され、ディスプレイ118は、アナンシエータ(例えば、表示灯、スピーカ、振動器など)及びコントローラを含む。入力は、(例えば、音声又は画像認識を用いる)オーディオ及び/又はビデオ入力、並びに、電気的及び/又は機械的デバイス(例えば、キーパッド、スイッチ、近接検出器、ジャイロスコープ、加速度計、リゾルバなど)を用いて受け取られる。
【0022】
CPU112はI/O(入力-出力)ポート128に結合され、I/Oポート128は、ネットワーク接続されたデバイス131から入力を受け取るように(及び/又はデバイス131に出力を提供するように)構成されるインターフェースを提供する。ネットワーク接続されたデバイス131は、コンピューティングデバイス100との、ポイントツーポイント及び/又はネットワーク接続された通信が可能な(コンピューティングデバイス100と電子的にペアを組む「Bluetooth」ユニットを含む)任意のデバイスを含み得る。コンピューティングデバイス100は、有形の非一時的媒体(フラッシュメモリなど)及び/又は有線もしくはワイヤレス媒体を含む、周辺装置及び/又はコンピューティングデバイスに任意選択で結合される。これら及びその他の入力及び出力デバイスは、ワイヤレス又は有線接続を用いる外部デバイスによってコンピューティングデバイス100に選択的に結合される。ストレージ114は、例えば、ネットワーク接続されたデバイス131などによってアクセス可能である。CPU112、ストレージ114、及び電力供給110は、外部電力供給(図示せず)に結合され得、又は、局所的電力源(例えば、バッテリ、太陽電池、オルタネータ、誘導磁界、燃料電池、コンデンサなど)に結合され得る。
【0023】
ストレージ114(これは、例えば、プロセッサに搭載のキャッシュ、プロセッサに非搭載のキャッシュ、RAM、フラッシュメモリ、データレジスタ、フリップフロップ、ディスクストレージなどのメモリであり得る)は、一つ又は複数のソフトウェアアプリケーション130(例えば、埋め込みアプリケーション)を格納し、ソフトウェアアプリケーション130は、CPU112によって実行されるとき、コンピューティングデバイス100を、ステッパーモータ誤差補正などの、一つ又は複数のターゲットとされる機能を行うのに適した特殊用途マシンに変える。
【0024】
コンピューティングシステム100は、ステッパーモータ(後述されるモータ204など)を制御するように配されるマイクロステッピングコントローラ(マイクロステッパー)138を含む。ステッパーモータの種々のアプリケーションが、ステッパーモータの一層高い正確性及び制御をますます必要とすることに応じて、マイクロステッパー138は、一層微細で一層正確なモータの動きを必要とするステッパーモータを制御するように配される。一層微細で一層正確なモータの動きを制御することは、一層高レベルのマイクロステッピングを要し、この場合、マイクロステップ(例えば、マイクロステップ間の偏位)が小さくなればなるほど、ステッパー位置決めの分解能が一層高くなる。本願において説明されるように、ゼロ交差キャリブレータ140は、例えば、マイクロステッパー138が、電流レギュレーション及び実空間におけるモータの位置決めの一層高い正確性を有する一層小さなマイクロステップを実現するためなど、選択された時間にマイクロステッパー138の一部を較正するように配される。
【0025】
ステッパーモータ駆動回路は、ステッパーモータを駆動及び/又は制御するために用いられる電流のピーク電流レギュレーショを行うことがある。しかし、ピーク電流レギュレーションを行うための駆動回路は、通常、回路デバイス変動を有して製造され、この場合、こうした変動は通常、ステッパーモータを制御する際の正確性の低下(例えば、誤差)となる。ピーク電流を行う際の誤差の、工場が「削減し得る」要因には、基準電圧及びこの基準電圧を比較するために用いられるコンパレータにおけるオフセット誤差、駆動FET(電界効果トランジスタ)と感知FETとの間のFET変動(例えば、ミスマッチ)、並びに、基準電圧及び基準電流を生成するための回路における誤差が含まれる。
【0026】
しかし、ピーク電流レギュレーション誤差は、エンドユーザによって供給される、及び/又は、顧客が選択する構成要素(集合的に、ユーザによって供給される構成要素)の電気的特性における違いからも生じる。ユーザによって供給される構成要素は、モータインダクタンスにおける変動、及び、モータ電圧出力の電圧の変動(これは、モータ駆動回路を製造する工場に既知でない場合がある)を有することがあり、従って、通常、工場によって削減されない。モータインダクタンス及び電圧出力の変動は、(例えば、式(2)を参照して後述される)駆動電流の正確性に影響を及ぼす。
【0027】
ピーク電流レギュレーション回路は、通常、フィードバックループとして配される。従って、エンドユーザシステムにおける(例えば、モータインダクタンス及びモータ電圧供給における)モータ関連の変動に起因する誤差は、実質的にレギュレーション誤差の一因となる。というのも、モータによって消費されるピーク電流が、フィードバックループにおいてモータ自体を制御するために用いられるからである。フィードバックループにおける遅延は、制御誤差が補正(及び/又はレギュレート)され得る速度を落とす。制御ループ遅延には、電流感知電圧増幅器及びコンパレータオフセット遅延、(例えば、電圧過渡事象がおさまるのを可能にするための時間を確保することを助けるための)デグリッチ(deglitch)期間、デジタル制御論理レイテンシ、並びにFET電力ドライバのスイッチング期間が含まれる。
【0028】
図2は、例示の実施形態に従った、ステッパーモータ誤差低減におけるピーク電流レギュレーションのための回路の概略図である。ゼロ交差較正されるマイクロステッパー200は、上記したマイクロステッパー138などのマイクロステッパーである。ゼロ交差較正されるマイクロステッパー200は、(例えば、その通常示される概略形状に従ってそのように呼ばれる)「Hブリッジ」210、第1の方向(例えば、順方向)マイクロステッパー制御回路220、及び第2の方向(例えば、逆方向)マイクロステッパー制御回路260を含む。Hブリッジ210は、スイッチコントローラ206の制御下で選択的に駆動される(スイッチコントローラ206は、マイクロステッパー制御回路220及び260に応答して制御される。)
【0029】
動作において、ゼロ交差較正されるマイクロステッパー200は、「Hブリッジ」210を介して(例えば、ステッパー)コイル202を制御可能に駆動するように配される。マイクロステッパー制御回路220は、NMOS(N型金属酸化物半導体)FET(電界効果トランジスタ)214及び218の第1のペアを交互に駆動することによって、コイル202(及び、モータ204)を第1の方向に制御可能に駆動するように配される。上側FET214のソースは、下側FET218のドレインに及び(例えば、モータ)コイル202の第1の端子に結合され、この場合、コイル202の第2の端子は、対向する(例えば、Hブリッジ210の反対側の)下側FET216を介して接地に切り替え可能に結合される。モータ204が第1の方向に駆動されるべきとき、対向する下側FET216は、コイル202の第2の端子を接地に結合するように(例えば、対向する下側FET216を切り替え可能に閉じるように)駆動される。コイル202は、第1の選択された時間の間、上側FET214を閉じることによって選択的に励磁される(この場合、選択される時間は、コイル202のインダクタンス、コイル202につくられる電圧、及びモータ204の回転の特定度に従って選択される)。第1の選択された時間の終わりに、上側FET214は、(例えば、上側FET214のゲート電圧を低下させることによって)開かれ、下側FET218は選択的に閉じられる(例えば、これにより、モータ204がもはや誘導的に駆動されないように、コイル202が無励磁化される)。下側FET218は、マイクロステッパー制御回路220によって生成される第1のPWM(パルス幅変調)信号に応答して選択的に閉じられる。
【0030】
従って、第1の電力スイッチ214は、第1の制御信号をアサートすることに応答してステッパーモータコイル202を励磁するためにコイル電流を選択的に結合するためのものであり、第2の電力スイッチ218は、第2の制御信号をアサートすることに応答してステッパーモータコイル202を無励磁化するためにコイル電流を選択的に結合するためのものであり、第2の制御信号は、オフセット基準電圧とモータ電圧との比較に応答して、アサート或いはディアサートされる。
【0031】
同様に、マイクロステッパー制御回路260は、FET212及び216の第2のペアを交互に駆動することによって、コイル202を(第1の方向とは反対の)第2の方向に制御可能に駆動するように配される。上側FET212のソースは、下側FET216のドレインに及び(例えば、モータ)コイル202の第2の端子に結合され、この場合、コイル202の第1の端子は、対向する(例えば、Hブリッジ210の反対側の)下側FET218を介して接地に切り替え可能に結合される。モータ204が第2の方向に駆動されるべきとき、対向する下側FET216は、コイル202の第1の端子を接地に結合するために閉じられる。コイル202は、選択された時間の間、上側FET212を閉じることによって選択的に励磁される。選択された時間の終わりに、上側FET212は開き、下側FET216は選択的に閉じられる(例えば、これにより、モータ204がもはや誘導的に駆動されないように、コイル202は無励磁化される)。下側FET216は、マイクロステッパー制御回路260によって生成される第2のPWM信号に応答して選択的に閉じられる。
【0032】
スイッチコントローラ206は、電流がコイル202を選択された方向に流れるように、Hブリッジのバッファを(例えば、論理レベルから駆動レベルに)選択的に駆動するように配される。例えば、マイクロステッパー制御回路220は、(例えば、コイル202の第2の端子を接地するために)バッファ278を駆動することによって、(例えば、コイル202を励磁するために)バッファ240を駆動することによって、及び、(例えば、FET218ゲートを駆動するための)第1のPWM信号に応答して(例えば、コイルを無励磁化するために)バッファ238を選択的に駆動することによって、コイル202を第1の方向に駆動する。同様に、マイクロステッパー制御回路260は、(例えば、コイル202の第2の端子を接地するために)バッファ238を駆動することによって、(例えば、コイル202を励磁するために)バッファ280を駆動することによって、及び(例えば、FET216のゲートを駆動するための)第2のPWM信号に応答して(例えば、コイルを無励磁化するために)バッファ278を選択的に駆動することによって、コイル202を(例えば、第1の方向とは反対の)第2の方向に駆動する。
【0033】
マイクロステッパー制御回路220は、(例えば、バッファ238に印加される)第1のPWM信号を生成及びアサートすることによって、コイル202を第1の方向に制御可能に駆動する。第1のPWM信号は、フィードバックループのフィードバック制御信号であり、そのため、マイクロステッパー制御回路220は、モータ204の出力(例えば、エミュレーションFET224のドレイン‐ソース電圧をつくる電圧に変換される、コイル202からの電流)を測定して、モータ204を制御するための第1のPWM信号を生成する。
【0034】
コンパレータ230は、例えば、コイル202出力電圧(例えば、感知電圧VSNS)を第1の選択されたエミュレーション電圧と比較することに応答して、第1のPWM信号を生成するように配される。例えば、感知電圧VSNS信号は、コイル202制御電流がFET218を介して流れることに応答してFET218のドレインにおいてつくられるドレイン‐ソース電圧である。第1の選択されたエミュレーション電圧は、例えば、プログラム可能に選択された出力電流を生成するために、正弦DAC(デジタル‐アナログコンバータ)電流生成器222を(例えば、ゼロ交差較正されるマイクロステッパー200のプログラム可能な構成要素を制御するように配される、CPU112などのプロセッサに応答して)プログラムすることによって、生成される。プログラム可能に選択された出力電流は、例えば、図8に関して後述されるマイクロステップ位置に関連する。プログラム可能に選択された出力電流に応答してエミュレーションFET224のドレイン‐ソース電圧(VDS)をつくることによって、プログラム可能に選択された出力電流は、第1の選択されたエミュレーション電圧に変換される。
【0035】
従って、(例えば、第1のPWM信号に応答して制御される)バッファ236が駆動されるとき第1のエミュレーション電圧がFET224のドレインにおいてつくられるように、第1の選択された基準電流は、基準トランジスタ224のドレインに印加される。FET224(これは、エミュレーション回路226を形成する)は、構造的及び化学的に、FET218と同様に形成され、そのため、FET224のPVT変動はFET218のPVT変動と類似し(そのため、PVTに起因する動作上の揺らぎが、コンパレータ230のコモンモード減算の演算によって取り除かれる)、FET218の機能性は、(例えば、測定を行うためにFET218自体の動作に影響を及ぼす必要なく)エミュレートされる。
【0036】
オフセットDAC228は、デジタルキャリブレータ(DIG CAL)234から受け取られる(例えば、オフセットの量を示す)コードに応答して、第1のエミュレーション電圧を選択的にオフセットするように配される。本願において説明されるように、デジタルキャリブレータ234は、例えば、一連の選択的に調節されるオフセットエミュレーション電圧に応答して、オーバーシュート及び/又はアンダーシュートが生じたかどうかを判定することによって、第1のエミュレーション電圧のための最適化オフセットを決定する。例えば、コイル202の制御電流ゼロ交差を判定するための探索(例えば、線形又はバイナリ)が、連続するコイル202サイクルの間、制御ループ遅延を漸次及び選択的に調節することによって(例えば、第1のエミュレーション電圧のオフセットの量をプログラムに基づいて調節することによって)行われ、そのため、コイル202制御電流ゼロ交差が生じる、徐々に一層狭くなる時間ウィンドウが決定される。アンダーシュート状態(例えば、アンダーシュート状態に最も近い状態)ではなくオーバーシュート状態となる特定のオフセットの使用によって、モータ204の連続するサイクル及び/又はステップ(例えば、マイクロステップ)において生じるアンダーシュート或いはオーバーシュートの時間の長さが最小化される。
【0037】
デジタルキャリブレータ234は、下側FET218のボディダイオード効果を調べることによって、特定のサイクルの間(例えば、ゼロ交差ポイントの辺りの狭いウィンドウを探索する間)、オーバーシュート又はアンダーシュートが生じたかどうかを判定するように配される。図9及び図10を参照して後述されるように、感知電圧VSNS信号は、コイル202制御電流オーバーシュートの事象において正のボディダイオード(218a又は216a)電圧を達成し、コイル202制御電流のアンダーシュートの事象において負のボディダイオード電圧を達成する(例えば、この場合、コイル202制御電流はゼロ
交差で方向を変える)。
【0038】
オーバーシュート又はアンダーシュートが生じているかどうかの判定に応答して(例えば、最適化オフセットを見つけるための較正ルーチンの間)、デジタルキャリブレータ234は、第1のPWM信号を生成するための制御ループの制御ループ遅延を補償するための電圧オフセットを示すためのコードを生成する。それに応答して、デジタルキャリブレータ234は、回路要素(プロセッサ、及び/又は、ゼロ交差較正されるマイクロステッパー200のその他のプログラム可能な構成要素など)を制御するように動作する。例えば、そのような制御下で、デジタルキャリブレータ234は、アンダーシュート/オーバーシュート判定に応答して、選択されたオフセットを連続的に調節することによって、(後述されるように)コンパレータ230の結果のタイミングを効率的に測定するために用いられ得る。アンダーシュート/オーバーシュート判定に応答して、オフセットDAC228は、制御ループ遅延を補償するために第1のPWM信号のタイミングを調節する、(例えば、選択的に調節される)オフセットエミュレーション電圧を生成する。従って、キャリブレータ234は、第2の電力スイッチ218をディアサートすることに応答して生じる第2の電力スイッチ218のボディダイオード(例えば、218a)効果を検出するため、及び、第2の電力スイッチ218のボディダイオード効果の検出に応答して、選択されたオフセット(例えば、図12の1202)を調節するためのものである。
【0039】
コンパレータ230は、PWM生成器232を制御するための「ITRIP」電流制御信号を生成するために、第1のオフセットエミュレーション(例えば、基準)電圧を、コイル電流に応答してつくられたモータ電圧VSNS(例えば、コイル202電流出力に応答して生成されたFET218VDS)と比較するように配される。本願において説明されるように、第1のオフセットエミュレーション電圧のオフセットの変化が、ITRIP信号のアサートのタイミングの対応する変化(例えば、一層早い又は遅い)を決める。デジタルキャリブレータ234は、ゼロ交差に応答して生成されるピーク電流の量に関するコイル202出力電流の挙動を(例えば、コンパレータ230を介して)測定するように配される。測定された挙動に応答して、デジタルキャリブレータ234は、ITRIPトリガレベルのタイミングを変更するためのオフセットコードを決定するように配される。例えば、オフセットコードは、通常は制御された(例えば、ステッパー)コイル202の不正確性となる、コイル202出力電流のアンダーシュート及びオーバーシュートの程度及び発生を最小化することを助けるために、ループ遅延を選択的に制御するように決められる(ループ遅延は、モータ位置決め誤差につながる電流のオーバーシュートとなることがある)。
【0040】
マイクロステッパー制御回路220と同様に、マイクロステッパー制御回路260は、コイル202を(例えば、第1の方向とは反対の)第2の方向に制御可能に駆動する。従って、マイクロステッパー制御回路260は、(例えば、バッファ278に印加される)第2のPWM信号を生成及びアサートするように配される。第2のPWM信号は、例えば、(コイル202出力電流に応答してつくられる)FET216のVDSを第2のオフセットエミュレーション電圧と比較することに応答して生成される。第2のオフセットエミュレーション電圧は、例えば、第2の選択された基準電流を出力するための正弦DAC基準電流生成器をプログラムすることによって、生成される。(例えば、第2のPWM信号によって制御される)バッファ276が駆動されるとき、第2のエミュレートされる電圧がFET264のドレインにおいてつくられるように、第2の選択された基準電流は、基準トランジスタ264のドレインに印加される。FET264は、構造的及び化学的にFET216と同様に形成され(例えば、そのため、FET264のPVT変動がFET216のPVT変動と類似し)、そのため、FET216の機能性がエミュレートされる。
【0041】
第2のオフセットエミュレーション電圧が、第2のエミュレーション電圧及び選択された(例えば、プログラム可能に調節可能な)オフセットに応答して生成されるように、第2のエミュレートされた電圧は、オフセットDAC268の入力に印加される。第2のオフセットエミュレートされた電圧は、例えば、選択されたマイクロステップ及びコイル202出力電流の測定される挙動などに応答して、選択的にオフセットされる。
【0042】
第2のオフセットエミュレートされた電圧は、PWM生成器272を制御するための「Itrip」電流制御信号を生成するために、(コイル202出力電流に応答してつくられる)FET216のVDSと比較される。デジタルキャリブレータ274は、コイル202出力電流の挙動(例えば、ゼロ交差に応答して生成されるピーク電流の量)を(例えば、コンパレータ270を介して)測定するように配される。測定された挙動に応答して、デジタルキャリブレータ274は、Itripレベルのタイミングを変化させるオフセット(例えば、補償トリガポイント)を決めるように配される。補償トリガポイントの電圧(及びタイミング)を制御することによって、デジタルキャリブレータ274は、コイル202出力電流のアンダーシュート及びオーバーシュートを避けることを助けるために、(例えば、マイクロステッパー制御回路260の)ループ遅延を制御する。
【0043】
図3は、例示の実施形態に従った、ステッパーモータ誤差低減のためのステッパーモータ制御電流の波形図である。電流波形300は、(例えば、コイル202を流れる)上昇するステッパーモータ制御電流の波形部310及び312を有して示される。波形部312が上昇する(及び、コイル202のコイルが第1の極性で励磁される)につれて、ステッパーモータ制御電流のレベルは、ターゲット閾値322(例えば、選択されたマイクロステップレベルに関連する電流の選択されたピークレベル)を上回って上昇する。理想的には、(例えば、順方向ステッパーモータ制御電流が低減されるように)、波形部312がターゲット閾値322に達するとき、FET駆動トランジスタ(例えば、下側FET218)が瞬時にオンにされ(例えば、導電状態にトグルされ)得る。
【0044】
しかし、(例えば、上記した)制御ループの遅延期間326は、下側FET(例えば、FET218)がアクティベートされる前の制御ループのレイテンシに起因する。例えば、遅延期間326の間、ステッパーモータ制御電流は、波形部310によって示されるように増加し続ける。遅延期間326の後(例えば、比較の結果が、下側FETを制御するために用いられる回路要素を介して伝搬される間)、下側FETは、(例えば、ピーク電流を表す)ポイント324でオンにされる。下側FETがオンにされると、ステッパーモータ制御電流は、波形部314によって示されるように、コイル202のコイルの無励磁化に応答して減少し始める(例えば、下がり始める)。ターゲット閾値322を上回るステッパーモータ制御電流のピーク電流オーバーシュートは、誤差338として示される大きさを有する、(例えば、オーバーシュートがコイル202の位置決めの不正確性をもたらすことに因る)誤差であると考えられる。
【0045】
波形部314が閾値(例えば、図5及び図8を参照して後述されるゼロ基準レベルなど)を下回って減少すると、コンパレータが、その交差を検出し、下側FETトランジスタをオフにする。下側FETトランジスタがオフにされることに応答して、波形部316(例えば、コイル202を流れるステッパーモータ制御電流)が上昇し、ステッパーモータ制御電流のレベルがターゲット閾値322を上回って上昇する。波形部316は、
に従って、傾斜328(例えば、瞬時レート、スルーレート、第1の導関数など)を有し、ここで、iはステッパーモータ制御電流であり、tは時間であり、Vはステッパーモータ制御電圧であり、Lはステッパーモータのインダクタンスである。従って、傾斜328は、顧客によって選択されるモータのインダクタンス及びその結果の電圧に応答して決定
される。
【0046】
また、制御ループの遅延期間326は、モータ制御電流のオーバーシュートの一因となる。本願において説明されるように、遅延326は、式(1)に従って短縮され得る。例えば、(例えば、電圧)オフセットを(オフセットDAC228を介して)コンパレータ(例えば、コンパレータ230)の反転入力における比較電圧に加えることによって、コンパレータは、その他の場合よりも早い時間にトグルさせられる(例えば、降下するセグメント318の要因となる)。図9を参照して後述されるように、モータ制御電流によってつくられる電圧は、例えば、波形部312、310、及び316の間、モータ制御電流に反比例し、そのため、一層高いオフセットがループ遅延を補償する(例えば、ループ遅延の低減を生じさせる)。短縮されたループ遅延の結果、誤差336によって示されるように(誤差338より少ない)一層小さなオーバーシュートとなる。式(1)から、ステッパーモータ制御電流のピーク電流オーバーシュート(Ierr)は、
に従って決定され得る。従って、ループ遅延を低減させると、電流誤差(例えば、ピーク電流オーバーシュート)も低減される。
【0047】
図4は、或る従来のステッパーモータコントローラにおけるピーク電流当りのピーク電流誤差割合を例示する波形図400である。例えば、1アンペア近辺のピーク電流が2パーセント近辺の関連するピーク電流誤差を有する。同様に、400ミリアンペア近辺のピーク電流が、5パーセント近辺の関連するピーク電流誤差を有する。しかし、150ミリアンペア近辺のピーク電流が、13パーセント以上の関連するピーク電流誤差を有する。従って、モータが、ますます小さくつくられ、ますます小さな駆動及び/又は制御電流を用いる傾向があると、従来の回路におけるその結果のピーク電流誤差は、更にますます高いレートで悪化する。
【0048】
図5は、例示の実施形態に従った、ステッパーモータ誤差低減のための比較的高いステッパーモータ制御電流の単一期間の波形図500である。波形図500は電流510を含み、この電流510は、例えば、ゼロ基準レベル502からピークレベル514(電流510がピーク電流レベルに達する時点)まで上昇する。
【0049】
電流510は、下側FETゲート電圧540の上昇に応答してピークレベル514から減少する(下側FETゲート電圧540は、ピークレベルセグメント514と実質的に同時にアサートされたものとして図示される)。下側FETゲート電圧540は、(例えば、FET216及びコンパレータ230に関して上記したように)コンパレータが、オフセットエミュレートされる電圧を、下側FETのドレインにおいてつくられた電圧と比較することなどに応答して、アサートされる。例えば、電流510は、ピークレベル514から減少し、ゼロ基準レベル502を交差し、そのため、領域516が、正のレギュレートされた電流の誤差の合計を表す。
【0050】
電流510がゼロ基準レベル502を下回って減少する(ポイント520において負の電流になる)と、コンパレータは、その交差を検出し、下側FETゲート電圧540のアサートを無効に(例えば、ディアサート)し、これにより、ポイント522において下側FETトランジスタがオフにされる。しかし、コンパレータ及びプリドライバ(例えば、PWM232及びバッファ238)における遅延が、下側FETゲート電圧540のディアサート(例えば、立ち下がりエッジ)を、遅延524だけ遅延させる。従って、こうした遅延は、ゼロ交差のタイミングの誤差の一因となる。
【0051】
下側FETトランジスタがオフにされると、電流510は、負のピークレベル522からゼロ基準502レベルへ上昇し始め、そのため、領域526が、負のレギュレートされた電流の誤差の合計を表す。(例えば、負の)電流510が再びゼロ基準502レベルに達すると、電流510は振動する(例えば、上側及び下側FETの両方がオフにされることに応答してリンギングする)。
【0052】
図6は、例示の実施形態に従った、ステッパーモータ誤差低減のための比較的低いステッパーモータ制御電流の単一期間の波形図600である。波形図600は電流610を含み、この電流610は、例えば、ゼロ基準レベル602からピークレベル614(電流610がピーク電流レベルに達する時点)まで上昇する。電流510とは対照的に、電流610は比較的低いピーク電流を有し、その結果、実質的に一層大きな誤差となる。
【0053】
電流610は、下側FETゲート電圧の上昇に応答してピークレベル614から減少する。電流610は、ピークレベル614から減少し、ゼロ基準レベル602を交差し、そのため、領域616が、正のレギュレートされた電流の誤差の合計を表す。例えば、一層低いピーク電流のため、領域616は、領域516より実質的に小さい。
【0054】
電流610がゼロ基準レベル602を下回って減少する(そしてポイント620において負の電流になる)と、コンパレータは、その交差を検出し、下側FETゲート電圧のアサートを無効に(例えばディアサート)し、これにより、ポイント622において下側FETトランジスタがオフにされる。下側FETトランジスタがオフにされると、電流610は、負のピークレベル622からゼロ基準602レベルへ上昇し始め、そのため、領域626が、負のレギュレートされた電流の誤差の合計を表す。(例えば、ポイント620を超えてポイント622への)電流610の負の偏位が、実質的に専らレギュレーションループに起因するので、領域626は、(例えば、領域616に対して)比例して一層大きい。従って、低電流レベルにおいて、ゼロ交差検出の不正確性は、ゼロ平均電流を、又は、負の平均電流でさえ実現する結果となることがある。(例えば、負の)電流610が再びゼロ基準602レベルに達するとき、電流610は振動する(例えば、リンギングする)。
【0055】
図7は、例示の実施形態に従った、ステッパーモータ誤差低減のためのモータ制御電流のスルーレートに関するステッパーモータインダクタンス及び出力電圧変数の効果を例示する波形図700である。波形図700は、(例えば、モータコイルの)第1のインダクタ電流720及び第2のインダクタ電流730を含む。第1のインダクタ電流720及び第2のインダクタ電流730は、第1のインダクタ電流720及び第2のインダクタ電流730が(例えば、ゼロ交差)基準点を交差する時間に関して第1のインダクタ電流720及び第2のインダクタ電流730が重畳されるように、正の傾斜を有するように図示される。
【0056】
例えば、第1のインダクタ電流720は、比較的高いモータ出力電圧(V)及び比較的低いモータインダクタンスを有するモータによって生成されるが、第2のインダクタ電流730は、比較的低いモータ出力電圧及び比較的高いモータインダクタンスを有するモータによって生成される。第1及び第2のインダクタ電流のスルーレートに関するステッパーモータインダクタンス及び出力電圧変数の効果には、第1及び第2のインダクタ電流が、異なる時間にピーク電流閾値Itripレベル714に達することが含まれる。
【0057】
例えば、第1のインダクタ電流720はポイント724においてItripレベル714に達し、一方、第2のインダクタ電流730は、ポイント734においてItripレベル714に達する。例示の実施形態に従って、異なるモータ電圧及びモータインダクタが、異なるトリガポイント補償を必要とする。トリガポイント補償は、(例えば、任意の)インダクタ電流がItripレベルに達する時点でFETが理想的にオフにされるように、Itripレベルより早い(及び低い)時間(及び電圧)のポイント(例えば、補償トリガポイント)においてFETのシャットダウンのタイミングを制御するように配される。従って、第1のインダクタ電流720は、第1の補償トリガポイント722に関連し、第1の補償トリガポイント722は、第2のインダクタ電流730に関連する第2の補償トリガポイント732とは異なる。補償トリガポイントは、PVT変動に従って変化し、本願において説明されるように、(例えば、ランタイム較正ルーチン)ゼロ交差タイミング測定に従って決定される。
【0058】
図8は、例示の実施形態に従った、ステッパーモータ誤差低減のためのループ遅延タイミング情報抽出を例示する波形図800である。波形図800は、(例えば、理想的な)ステッパーモータを一回転にわたり駆動するための理想電流を示すための(例えば、概念的な)正弦波形802を含む。一回転は種々のマイクロステップに分割され、各マイクロステップが、関連する時間デルタ812及び電流デルタ814を有する。ステッパーモータが一回転にわたり「ステップする」ので、ターゲットピーク電流(Ipeak)レベルは、回転の現在の特定度に従って、各そのようなマイクロステップに対して選択される。従って、ターゲットIpeakレベル波形810は、(例えば、概して包絡線の)正弦波形802に従って決定される個別のステップを含む。説明される誤差低減マイクロステッパー(例えば、マイクロステッパー138)は、ステッパーモータ電流を、実際のレギュレートされたレベル820まで制御し、実際のレギュレートされたレベル820は、隣接するステップ間の異なる電流レベルに関してレギュレートされる。
【0059】
説明される誤差低減マイクロステッパーは、ゼロ交差においてゼロ交差キャリブレータ140によって較正され、この較正は、例示の実施形態に従って、(マイクロステップを含む)連続するステップのための補償トリガポイントを調節(例えば、「微調整」)するために用いられる。従って、マイクロステッパー138は、電流レギュレーション及び実空間における位置決めの一層高い正確性を有する、一層小さなマイクロステップを実現する。
【0060】
例えば、コイル制御電流の実際のレギュレートされたレベル820は、電流のゼロ交差レベル(0ミリアンペア)に関連する或るステップに関連するIpeak電流レベル830を超える、(例えば、誤って高い)レベル824を達成する。実際のレギュレートされたレベル820がIpeak電流レベル830を超えるとき、比較の結果は、時間824近辺において実際のレギュレートされたレベル820を駆動する(例えば、下側)FETに伝わる。FETドライバをオフにすることに応答して、実際のレギュレートされたレベル820は、時間期間804近辺でゼロ交差レベルを下回って減少する。
【0061】
本願において説明されるように、ループ遅延タイミング情報は、FETドライバがゼロ交差ポイントにおいて遮断された後(例えば、図9及び図10を参照して後述される)、スイッチングノード電圧挙動に基づいて抽出され得る。補償トリガポイントが、測定されたループ遅延タイミングに応答して選択され、上記した式(2)に従って(例えば、比較電圧をオフセットするための)DAC電圧に変換される。DAC電圧は、(補償トリガポイント電圧を生成するため)基準電圧をオフセットするために用いられる。この基準電圧に対して、モータ電圧が、各後続ステップにおいて比較される(例えば、そのため、ループ遅延誤差の効果は、後続のIPEAK検出レベルにおいて最小化される)。
【0062】
例えば、(FETドライバをオフにすることに応答する)実際のレギュレートされたレベル820は、時間期間804近辺のゼロ交差レベルからレベル834まで上昇する。コンパレータを一層早く(例えば、Itripレベル及びモータ出力レベルVの補償されていない比較からトグルするより早く)トグルさせる補償トリガポイントによってループ遅延が効果的に短くされるので、レベル834はレベル824より低い。
【0063】
図9は、例示の実施形態に従った、或るオーバーシュート状態のループ遅延タイミング情報を例示する波形図900である。波形図900は、コイル電流(I_coil)910、下側ゲート電圧940、及び感知電圧(VSNS)信号950を含む。例えば、コイル電流910は、上側FET(例えば、214)がオンにされることに応答して、ゼロ基準レベル902からピークレベル914まで上昇する。それに応じて、電圧950(これは、コイル電流910に応答してつくられる)は時間期間952にわたって減少する。
【0064】
上側FETをいつオフにするか及び下側FET(例えば、218)をいつオンにするかを決定するため、時間期間952の間、第1の比較が行われる。電圧950は、第1の選択されたオフセットエミュレーション電圧と比較される(第1の選択されたオフセットエミュレーション電圧は、例えば、オフセットDAC228によって生成され、この場合、第1の選択された励磁オフセットは、コイル電流910が上昇することに伴う制御ループのループ遅延を補償するためのものである)。図8を参照して上記したように、第1の選択されたオフセットエミュレーション電圧は、較正探索ルーチンにおいて決定される。較正探索ルーチンの或る実施形態において、選択されたオフセットは、(アンダーシュート状態ではなく)オーバーシュート状態となる最も近い(例えば、最後の)励磁オフセットを決定するために、(例えば、コイル電流ゼロ交差を含む)連続するサイクルにわたって徐々に増大する。選択されたオフセットは、変調器、第2のスイッチ、及びコンパレータ回路の少なくとも一つにより生じる、制御ループにおけるレイテンシを補償するために予め選択されるオフセットを増分させることによって調節される。
【0065】
電圧950が、選択されたエミュレーション電圧のレベルを下回って減少するとき、上側FETはオフにされ、下側FETは、下側FETゲート電圧940に応答してオンにされる。それに応じて、コイル電流910はピークレベル914から減少し始め、電圧950は(例えば、急速に)負の電圧に切り替わり、時間期間954にわたって(例えば、徐々に)上昇し始める。
【0066】
下側FET(例えば、218)をいつオフにするかを決定するため、時間期間954にわたって第2の比較が行われる。電圧950は、(例えば、オフセットDAC228によって生成される)第2の選択されたオフセットエミュレーション電圧と比較される(この場合、第2の選択されたオフセットは、コイル電流910が減少することに伴う制御ループのループ遅延を補償するためのものである)。第2の選択されたオフセットエミュレーション電圧のための無励磁化オフセットは、(例えば、コイル励磁/無励磁のための同じサイクルの)較正探索ルーチンにより決定された第1の選択されたオフセットエミュレーション電圧の励磁オフセットに応答して決定される。或る実施形態において、第2の選択されたオフセットエミュレーション電圧のための無励磁化オフセットは、第1の選択されたオフセットエミュレーション電圧の励磁オフセットに関連する(ループ遅延をオフセットするための)時間期間に応答して、及び、時間期間954にわたるコイル電流910(及び/又は電圧950)の推定された傾斜に応答して決定される。或る実施形態において、単一コンパレータ(例えば、230)及びオフセットDAC(例えば、228)が、第1及び第2の比較を行うために用いられ、この場合、時間期間952及び954の有効部分の間比較が(例えば、比較のみが)行われるように、コンパレータの出力がゲート制御され、適切なオフセット(例えば、励磁および無励磁の一方)が、それぞれの第1及び第2の選択されたオフセットエミュレーション電圧を生成するためのオフセットDACにプログラムされている。
【0067】
電圧950が、第2の選択されたオフセットエミュレーション電圧のレベルを上回って上昇すると、下側ゲート電圧940はローに駆動され(例えば、ディアサートされ)、そのため下側FETがオフにされる。下側FETがオフにされるとき、コイル電流は、(上側FETのための第1の制御信号がディアサートされた状態にあるとき)第2の制御信号のディアサートに応答して遮断される。それに応じて、コイル電流910は負のレベル922から上昇し始め、そのため、コイル電流910がゼロ基準902レベルを上回って上昇した後、電流コイル910は、リンギング932のように振動する。また、下側FETがオフにされる(及び、上側FETがオフにされたままである)とき、下側FETのボディダイオード(例えば、218a)を介して逆回復電荷が流れて、電圧950を、急に上昇させ、オーバーシュートピーク電圧レベル956においてピークに到達させる。オーバーシュートピーク電圧レベル956は、VSNS信号の波形部952が前もって達した最高電圧を上回るV(ボディダイオードの降伏電圧)レベルに「固定」される(例えば、Vレベルに制限される)。従って、第2の制御信号がディアサートされるコイル電流サイクルの一部の間、ボディダイオード効果が生じ、第1の制御信号は、ディアサートされた状態にあり(例えば、ディアサートされた状態のままであり)、コイル電流のゼロ交差が、ステッパーモータコイルのモータの回転度を制御するための選択されたマイクロステップに応答して生じる。
【0068】
下側FETのボディダイオードが(例えば、下側ゲート電圧940が下がった直ぐ後及び/又は下がったことに応答して)導通するとき、VSNS信号の極性を判定するために、デジタルキャリブレータ234は、例えば、高速の低利得コンパレータ、極性検出器、ダイオードブリッジなどを用いることによって、比較的迅速にオーバーシュート及び/又はアンダーシュートの状態を検出する。例えば、オーバーシュート状態において、VSNS信号は正である(例えば、ボディダイオード効果を伴わずに、最大VSNSを上回る順方向降伏電圧の正のオーバーシュートピーク電圧レベル956に達する)。VSNS信号が負であるとき、VSNS信号は、-V(ボディダイオード効果を伴わずに、最小VSNSを下回る負の順方向ボディダイオード電圧)まで減少し、この場合、図10を参照して後述されるように、アンダーシュート状態の間に負電圧アンダーシュートピーク電圧レベル1056に到達する。従って、デジタルキャリブレータ234は、選択されたオフセット(及び/又は決定された時間遅延)に応答してオーバーシュート又はアンダーシュート状態が生じたかどうかを判定するように動作し得る。
【0069】
線形探索が(例えば、漸次、オフセットを一層大きくすること、及び/又は、関連する時間期間を一層長くすることにより)行われる或る実施形態において、アンダーシュートが検出されない場合、第1の選択されたオフセットエミュレーション電圧のための次の(例えば、テストされる)サイクルのためのオフセット(励磁および無励磁)は、直近の(例えば、前にテストされた)サイクルにわたって逐次増加する。従って、時間期間924は連続的にますます短くなり、オーバーシュートの程度は、各テストされるサイクルにおいて低減される。(ゼロ交差を含む)連続するサイクルは、アンダーシュートが検出されるまで連続的にテストされる。アンダーシュートが検出されるとき、アンダーシュート状態が検出された最も近い(例えば、最後の)励磁及び/又は無励磁化オフセット(及び/又はそれに関連する時間遅延)に応答して、連続的(例えば、非ゼロ交差)マイクロステップのための非一時的な励磁及び無励磁化オフセットが選択(及び/又は決定)される。
【0070】
図10は、例示の実施形態に従った、或るアンダーシュート状態のループ遅延タイミング情報を例示する波形図1000である。波形図1000は、コイル電流(I_coil)1010、下側ゲート電圧1040、及び感知電圧(VSNS)1050を含む。例えば、コイル電流1010は、上側FET(例えば、214)がオンにされることに応答して、ゼロ基準レベル1002からピークレベル1014まで上昇する。それに応じて、電圧1050(これはコイル電流1010に応答してつくられる)は、時間期間1052にわたって減少する。
【0071】
上側FETをいつオフにするか及び下側FET(例えば、218)をいつオンにするかを決定するため、時間期間1052の間、第1の比較が行われる。電圧1050は、(例えば、オフセットDAC228によって生成される)第1の選択されたオフセットエミュレーション電圧と比較される(この場合、第1の選択された励磁オフセットは、コイル電流1010が上昇することに伴う制御ループのループ遅延を補償するためのものである)。
【0072】
電圧1050が、選択されたエミュレーション電圧のレベルを下回って減少するとき、上側FETはオフにされ、下側FETは、下側FETゲート電圧1040に応答してオンにされる。それに応じて、コイル電流1010は、ピークレベル1014から減少し始め、電圧1050は、(例えば、急速に)負の電圧に切り替わり、時間期間1054にわたって(例えば、徐々に)上昇し始める。
【0073】
下側FET(例えば、218)をいつオフにするかを決定するため、時間期間1054にわたり、第2の比較が行われる。電圧1050は、第2の選択されたオフセットエミュレーション電圧と比較される。第2の選択されたオフセットエミュレーション電圧のための無励磁化オフセットは、(例えば、コイル励磁/無励磁のための同じサイクルの)較正探索ルーチンにより決定された第1の選択されたオフセットエミュレーション電圧の励磁オフセットに応答して決定される。或る実施形態において、第2の選択されたオフセットエミュレーション電圧のための無励磁化オフセットは、第1の選択されたオフセットエミュレーション電圧の励磁オフセットに関連する(ループ遅延をオフセットするための)時間期間に応答して、及び、時間期間1054にわたるコイル電流1010(及び/又は電圧1050)の推定された傾斜に応答して決定される。
【0074】
電圧1050が、第2の選択されたオフセットエミュレーション電圧のレベルを上回って上昇すると、下側ゲート電圧1040は、下側FETがオフにされるように、ローに駆動される(例えば、ディアサートされる)。下側FETがオフにされるとき、コイル電流1010は負のレベル1022から上昇し始め、そのため、コイル電流1010がゼロ基準1002レベルを上回って上昇した後、電流コイル1010は、リンギング1032のように振動する。また、下側FETがオフにされるとき、VSNS信号はオーバーシュート状態において負である(例えば、負電圧アンダーシュートピーク電圧レベル1054に達している)。アンダーシュート状態の間、VSNS信号は-V電圧(負の順方向ボディダイオード電圧)まで低下し、この場合、アンダーシュート状態の間に負電圧アンダーシュートピーク電圧レベル1056に到達する。
【0075】
図11は、例示の実施形態に従った、ステッパーモータ誤差低減のためのループ遅延タイミング情報抽出を例示する波形図1100である。波形図1100は、(例えば、理想的な)ステッパーモータを一回転にわたり駆動するための理想電流を示すための理想的な(例えば、概念的な)正弦波形1102を含む。一回転は、マイクロステップ1120などの種々のマイクロステップに分割される。各マイクロステップに対して、ステッパーモータを駆動(及び/又は制御)するための電流は、時間期間(例えば、1120)にわたってレギュレートされる。そのような各時間期間にわたって、レギュレートされた電流は鋸歯の外観を有し、レギュレートされた電流は、ステッパーモータ駆動電流をレギュレートするための制御ループにより決定されるようなステッパーモータの位置決めにおいて、関連するマイクロステップ及び誤差に従って上昇及び減少する。
【0076】
正弦波形1102は正位相及び負位相を有し、そのため、正弦波形1102は、隣接する正及び負位相間でゼロ電流レベルを交差する(例えば、ゼロ交差)。従って、ゼロ交差ウィンドウ1130、1132、1134、1136、及び1138は、少なくともマイクロステップが、複数のサイクルの各々(例えば、一つのサイクルが図8において単一「鋸歯」として図示されている)がゼロ電流レベルを交差する(例えば、ゼロ交差を有する)ようにプログラムされ得る時間ウィンドウである。選択されたオフセットが、その後続く(例えば、連続する)マイクロステップにおいて用いられ得るように、較正(例えば、非一時的なオフセットの選択)は、(全てを含む)任意のそのようなゼロ交差ウィンドウの間に成され得る。例えば、時間ウィンドウ1134の間に生じる較正の間に選択される或る選択されたオフセット(例えば、励磁及び/又は無励磁化オフセット)が、1141、1142、1143、1144、1145、及び1146のマイクロステップの各々のための電流駆動レベルをレギュレートする関連する制御ループのループ遅延をオフセットするために用いられる。従って、半波毎に(例えば、正弦波形1102のゼロ交差において)較正が成される場合、電流レギュレーションの一層高い正確性が達成される。
【0077】
図12は、例示の実施形態に従った、ステッパーモータ誤差低減のためのゼロ交差較正ルーチンの間の誤差の低減を例示する波形図1200である。波形図1200は、DAC(例えば、228)出力電圧1202及びステッパーモータ制御電流1204を含む。
【0078】
DAC出力電圧1202は、オフセットDAC228などの、オフセットDACの出力電圧である。DAC出力電圧1202は、選択された励磁オフセットに応答して生成される出力電圧である。選択された無励磁化オフセットに応答して生成される出力電圧は図示されていないが、選択された無励磁化オフセットに応答して生成される出力電圧は、(異なる極性を有していても)図示されたDAC出力電圧1202に類似する。較正探索ルーチンの間、選択されたオフセットは、オーバーシュート状態となる最も近い(例えば、最後の)励磁オフセットを決定するために、(例えば、コイル電流ゼロ交差を含む)連続するサイクルにわたって徐々に増加する。それに応じて、(スイッチング時間の間を除いて)DAC出力電圧1202は、スイッチング時間1211、1212、1213、1214、1215、1216、及び1217の各々において調節されるように切り替わる。
【0079】
ステッパーモータ制御電流1204は、ゼロ交差較正されたマイクロステッパー200のマイクロステッパー制御回路220の制御ループなど、或る制御ループに応答して生成されるコイル電流である。各サイクルは、正の電流ピーク(例えば、それぞれ、1221、1222、1223、1224、1225、1226、及び1227)、並びに負の電流ピーク(例えば、それぞれ、1231、1232、1234、1235、1236、及び1237)を含む。或る正の電流ピークから後続の電流ピークまでの偏位の程度は、コイル電流をレギュレートするための制御ループのループ遅延に起因する誤差(それぞれ、誤差1241、1242、1243、1244、1245、1246、及び1247)の表示である。
【0080】
較正探索ルーチンにおける各連続的反復が行われるにつれて、ループ遅延に関連する誤差は、較正探索ルーチンのシミュレーションのコイル電流の、図示され(同じ縮尺で)拡大された部分によって示されるように、漸次減少する。例えば、スイッチング時間1211の前のDACオフセット値は、正の電流ピーク1221及び負の電流ピーク1231に関連するサイクルに対するオーバーシュート状態となる。オーバーシュートが検出されないので、DACオフセットは、スイッチング時間1211において(例えば、ループ遅延を抑制することを助けるために一層大きな補償を提供するように)上向きに調節される。DACオフセットの増大された値は、次のサイクルのトリガポイントを変化させ、そのため、(正の電流ピーク1222及び負の電流ピーク1232に関連する)誤差1242は、(正の電流ピーク1221及び負の電流ピーク1231に関連する)誤差1241より小さくなる。
【0081】
DACオフセットは、スイッチング時間1226においてプログラムされたDACオフセットに起因するアンダーシュート状態を検出するまで、後続のサイクルの各々のために増加する(その結果、DACオフセットは、スイッチング時間1227において、或るサイクルに対して検出されるアンダーシュート状態とならなかった最後のDACオフセット値を用いてプログラムされる)。或る実施形態において、較正ルーチンは、ゼロ交差を含まないマイクロステップ値が用いられるまで継続する(例えば、そのため、ボディダイオード効果は、アンダーシュート又はオーバーシュート状態を反映しない)。
【0082】
或る実施形態において、ループ遅延の長さは、例えば、各サイクルにおけるループ遅延のための補償(例えば、抑制)の量を調節すること、及び、アンダーシュート状態がそれぞれのサイクルに対して達成されたかどうかを判定することによって決定される。アンダーシュート状態がそれぞれのサイクルのために達成されたかどうかの判定は、この実施形態において、コイルが少なくとも部分的に無励磁化された後、下側FETが切り替えられるにつれて(例えば、切り替えられる間及びそのすぐ後に)、コイル電流に応答してつくられた電圧に対する下側FETボディダイオードの効果を判定することによって成される。
【0083】
図13は、例示の実施形態に従った、較正のないステッパーモータのシミュレーションと、ステッパーモータ誤差低減を用いるステッパーモータのシミュレーションとの電流誤差の程度の比較を例示する波形図1300である。波形図1300は、(mA単位の)補償されていないItrip電流誤差1302、(mA単位の)補償されるItrip電流誤差1304、補償されるゼロ交差誤差1306(例えば、コイル電流が負になる一方で、コイルが無励磁化されるときの、mA単位の電流誤差)、及び、(mA単位の)補償されていないゼロ交差誤差1308を含む。
【0084】
波形1302は、25℃で動作する回路、0.5mHのインダクタンスを有するコイル、及び40ボルトの(例えば、公称)モータ出力電圧の、248.9mAのターゲットとされるItripレベルのためのシミュレーションのための(補償されていない)Itrip電流誤差を図示する。示されるように、このシミュレーションのためのItrip電流誤差は、シミュレーション期間にわたって35mA近辺である。
【0085】
波形1304は、25℃で動作する回路、0.5mHのインダクタンスを有するコイル、及び40ボルトの(例えば、公称)モータ出力電圧の、248.9mAのターゲットとされるItripレベルのためのシミュレーションのための補償された(例えば、本願において説明されるようにセルフ較正された)Itrip電流誤差を図示する。示されるように、このシミュレーションのための補償されたItrip電流誤差は、(例えば、ステップ1340において)0mA近辺の値に収束する。例えば、ステップ1342において、アンダーシュートが検出されず、補償(例えば、励磁オフセット)が増加しており、そのため、下側FETは、励磁電流がItripレベルに達する前にオンにされる(この結果、ステップ1342において約-6mA誤差となる)。ステップ1344において、アンダーシュートが検出され、補償が低下し、そのため、下側FETは、励磁電流がItripレベルに達する時点近辺でオンにされる(この結果、ステップ1344において約0mA誤差となる)。較正ルーチンが、制御ループ遅延を実質的に表すオフセット近辺に収束した後、交互になる二つの値の間を残りの誤差が平均するように、較正ステップが(例えば、非ゼロ交差マイクロステップが選択されるまで)繰り返される。
【0086】
波形1306は、25℃で動作する回路、0.5mHのインダクタンスを有するコイル、及び40ボルトの(例えば、公称)モータ出力電圧のためのシミュレーションのための補償された(例えば、本願において説明されるようにセルフ較正された)ゼロ交差電流誤差を図示する。示されるように、このシミュレーションのための補償されたゼロ交差電流誤差は、(例えば、ステップ1360において)0mA近辺の値に収束する。例えば、ステップ1362において、アンダーシュートが検出されず、補償(例えば、無励磁化オフセット)が増加しており、そのため、下側FETは、無励磁化電流が0mAを交差した(例えば、方向を変え、その結果、ステップ1362において、約+6mA誤差となる)後、オフにされる。ステップ1364において、アンダーシュートが検出され、補償が低減し、そのため、下側FETは、無励磁化電流がゼロ交差に達する時間近辺でオフにされる(この結果、ステップ1344において約0mA誤差となる)。較正ルーチンが収束した後、交互になる二つの値の間を残りの誤差が平均するように、較正ステップが(例えば、非ゼロ交差マイクロステップが選択されるまで)繰り返される。
【0087】
波形1308は、25℃で動作する回路、0.5mHのインダクタンスを有するコイル、及び40ボルトの(例えば、公称)モータ出力電圧の、(補償されていない)ゼロ交差誤差を図示する。示されるように、このシミュレーションのためのゼロ交差電流誤差は、シミュレーション期間にわたって-34mA近辺である。
【0088】
図14は、コイルインダクタンスに関する種々のレベルでの、較正のないステッパーモータのシミュレーションにおける電圧誤差の相対的程度を例示する波形図1400である。波形図1400は、(mV単位の)補償されていないItrip電圧誤差1402、(mV単位の)補償されていないItrip電圧誤差1404、(mV単位の)補償されていないItrip電圧誤差1406、(mA単位の)補償されていないゼロ交差誤差1408、(mA単位の)補償されていないゼロ交差誤差1410、及び(mA単位の)補償されていないゼロ交差誤差1412を含む。
【0089】
波形1402、1404、及び1406は、25℃で動作する回路の166.5mAのターゲットとされるItripレベルのシミュレーションのための(補償されていない)Itrip電圧誤差の非線形増加を図示し、この場合、電圧誤差は、コイルインダクタンスの一層低いレベルにおいて、漸次一層高い。例えば、0.5mHのインダクタンスを有するコイルが、(波形1402によると)36mV近辺のItrip誤差となり、1.0mHのインダクタンスを有するコイルが、(波形1404によると)21mV近辺のItrip誤差となり、1.5mHのインダクタンスを有するコイルが、(波形1406によると)15mV近辺のItrip誤差となる。
【0090】
波形1408、1410、及び1412は、25℃で動作する回路の166.5mAのターゲットとされるItripレベルのためのシミュレーションのための(補償されていない)ゼロ交差(ZC)電流誤差の非線形増加を図示し、この場合、電流誤差は、コイルインダクタンスの一層低いレベルにおいて、漸次一層高い。例えば、1.5mHのインダクタンスを有するコイルが、(波形1408によると)-16mA近辺のゼロ交差誤差となり、1.0mHインダクタンスを有するコイルが、(波形1410によると)-22mA近辺のゼロ交差誤差となり、0.5mHのインダクタンスを有するコイルが、(波形1412によると)-34mA近辺のゼロ交差誤差となる。従って、ますます小さなインダクタンスを備えるコイルを有する、ますます小さくなるモータを駆動する場合、レギュレーションの正確性は、漸次(急激とはいかないまでも)一層高くなる。
【0091】
図15は、異なるコイルインダクタンスについて、例示の実施形態に従ったステッパーモータ誤差低減を用いる、ステッパーモータのシミュレーションの電流誤差の程度の比較を例示する波形図1500である。波形図1500は、(mA単位の)補償されるItrip電流誤差波形1502、(mA単位の)補償されるItrip電流誤差波形1504、補償されるItrip電流誤差波形1506、(mA単位の)補償されるゼロ交差誤差波形1508、(mA単位の)補償されるゼロ交差誤差波形1510、及び(mA単位の)補償されるゼロ交差誤差波形1512を含む。
【0092】
波形1502、1504、及び1506は、25℃で動作する回路の166.5mAのターゲットとされるItripレベルのための説明される誤差低減を用いるシミュレーションのための電流誤差の非線形低減を図示する。シミュレーション波形は、一層低いコイルインダクタンスに起因する漸次一層大きい電流誤差が、実質的に、一層高いコイルインダクタンスに起因する電流誤差近辺のレベルまで、効果的に低減されることを示す。
【0093】
例えば、波形1502は、1.5mHのインダクタンスを有するコイル及び3mA近辺の平均である(例えば、収束した)Itrip誤差のための、説明される誤差低減を示す(この場合、シミュレーションスケーリングは、説明される誤差低減が最適オフセットに既に収束していることを示す)。波形1504は、1.0mHのインダクタンスを有するコイルのための説明される誤差低減を示し、この場合、説明される誤差低減は、0mA近辺の平均Itrip誤差をもたらす最適オフセットに収束するので、-8mA近辺の一層早いItrip誤差が低減される。波形1506は、0.5mHのインダクタンスを有するコイルのための説明される誤差低減を示し、この場合、説明される誤差低減が、1mA近辺の平均Itrip誤差をもたらす最適オフセットに収束するので、-26mA近辺の一層早いItrip誤差が低減される。
【0094】
波形1508、1510、及び1512は、25℃で動作する回路の166.5mAのターゲットとされるItripレベルのためのシミュレーションのための(補償されていない)ゼロ交差(ZC)電流誤差の非線形増加を図示し、この場合、電流誤差は、コイルインダクタンスの一層低いレベルにおいて、漸次一層大きい。例えば、波形1508は、0.5mHのインダクタンスを有するコイルのための説明される誤差低減を示し、この場合、説明される誤差低減は、-2mA近辺の平均ゼロ交差誤差をもたらす最適オフセットに収束するので、-27mA近辺の一層早いゼロ交差誤差が低減される。波形1510は、1.0mHのインダクタンスを有するコイルのための説明される誤差低減を示し、この場合、説明される誤差低減は、-1mA近辺の平均ゼロ交差誤差をもたらす最適オフセットに収束するので、9mA近辺の一層早いゼロ交差誤差が低減される。波形1512は、1.5mHのインダクタンスを有するコイル及び-3mA近辺の平均を示すゼロ交差のための説明される誤差低減を示す(この場合、シミュレーションスケーリングは、説明される誤差低減が最適オフセットに既に収束したことを示す)。この説明に従って、ますます小さくなるコイルインダクタンス(及び一層高い電圧)に対するステッパーモータのスケーリングは、誤差の非線形増加によって必ずしも制限されない。
【0095】
特許請求の範囲内で、説明された実施形態における改変が可能であり、他の実施形態が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15