(57)【特許請求の範囲】
【請求項１】
供給された転流信号に基づいてステップモータを駆動するインバータ手段と、駆動指令に基づいて前記インバータ手段に供給する転流信号を生成する制御手段とを備えたステップモータ制御装置において、前記制御手段は、固有振動角周波数、位置の初期値、初期速度に基づく２次の振動系方程式に基づいて前記転流信号の出力間隔を算出する出力間隔算出手段と、該出力間隔算出手段で算出した出力間隔で前記転流信号を出力する信号出力手段とを備えていることを特徴とするステップモータ制御装置。
【請求項２】
前記出力間隔算出手段は、加速時に、駆動回数をｎ、固有振動角周波数をβ、位相角をφとしたときに、ＴN ＝（π／２−φN ）／βで表されるパルス間隔ＴN を算出するように構成されていることを特徴とする請求項１記載のステップモータ制御装置。
【請求項３】
前記出力間隔算出手段は、駆動回数ｎと位相角φN との関係を表す記憶テーブルを備えていることを特徴とする請求項２に記載のステップモータ制御装置。
【請求項４】
前記パルス間隔算出手段は、加速状態から定速状態に移行するときに、駆動回数をｎ、固有振動角周波数をβ、加速時のパルス間隔をＴN としたときに、ＴN ＋ＴN ′＝ＴN ＋（１／β）sin -1（１／２√ｎ）で表されるパルス間隔ＴN ′を算出するように構成されていることを特徴とする請求項１記載のステップモータ制御装置。
【請求項５】
前記パルス間隔算出手段は、駆動回数ｎとsin -1（１／２√ｎ）との関係を表す記憶テーブルを備えていることを特徴とする請求項４に記載のステップモータ制御装置。
【請求項６】
前記信号出力手段は、前記インバータ手段に供給する転流信号を形成するパルス幅変調手段を備えており、該パルス幅変調手段のデューティ比を制御することにより加速度を制御するように構成されていることを特徴とする請求項１乃至５の何れかに記載のステップモータ制御装置。
【請求項７】
前記制御手段は、駆動制御開始前に、固有振動角周波数を計測する固有振動角周波数計測手段を備えていることを特徴とする請求項１乃至６の何れかに記載のステップモータ制御装置。
【請求項８】
前記固有振動角周波数計測手段は、駆動制御開始前に、停止状態からロータを１ステップ分駆動し、このときの経過時間を計測して固有振動角周波数を算出するように構成されていることを特徴とする請求項７に記載のステップモータ制御装置。
【請求項９】
前記固有振動角周波数計測手段は、ステップモータが３相ステップモータである場合に、開放相に現れる逆起電力波形を計測して固有振動角周波数を算出するように構成されていることを特徴とする請求項７に記載のステップモータ制御装置。
【請求項１０】
駆動指令に基づいて転流信号を生成し、生成した転流信号をインバータ手段に供給してステップモータを開ループ駆動制御するステップモータ制御方法において、前記インバータ手段に転流信号を供給する際に、固有振動角周波数、位置の初期値、初期速度に基づく２次の振動系方程式に基づいて前記転流信号の出力間隔を算出する工程と、算出された出力間隔で転流信号を前記インバータ手段に出力する工程とを備えたことを特徴とするステップモータ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステップモータを開ループで駆動制御する際に、ロータの振動を抑制するようにしたステップモータ制御装置及び制御方法に関する。
【０００２】
【従来の技術】
ステップモータは開ループ制御による制御系が適用可能であり、指令パルスを供給することによってロータの位置決めを行える等の利点を有するため、近年では、各種の制御機器用のアクチュエータとして用いられているが、開ループ制御系を用いた場合、騒音や振動等の抑制が必要となる。
【０００３】
この振動を抑制するためには、特開平４−３０８４９９号公報、特開平５−６４４９５号公報等に開示されているように、２相励磁と３相励磁とを交互に行って、駆動電流値を矩形波ではなく正弦波入力近似と似たものとするマイクロステップ駆動が提案されてきた。
【０００４】
また、これとは別にポジキャスト制御と称される制御手法によって無振動整定を行ってロータの振動を低減するものも提案されている。そのうち、代表的なものには、逆相励磁ダンピングや最終ステップ遅延ダンピングがある。「ステッピングモータの使い方：工業調査会：百目鬼英雄、1993, 6,20,P126 〜128 」等の文献に記載されているように、逆相励磁ダンピングは、ロータが機械的安定点に到達する直前に逆方向に励磁して制動し、安定点の近くで再度元の励磁に戻す駆動制御方法である。
【０００５】
また、最終ステップ遅延ダンピングは、目的とする１ステップ手前で、一旦パルス印加を停止させると、ロータがオーバーシュートして目的位置に近づくので、最も近づいた点で残りの１パルスを印加して、停止時の振動を減らす駆動制御方法である。なお、この最後の１パルスを印加するタイミングは例えばタイマー等で決定するように構成されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述したようなポジキャスト制御にあっては、ロータの位置を把握せずに駆動制御を行っているので、モータ定数や負荷が変化するとこれに応じて制御系のチューニングを行わなければならず、個々の製品に対してこのチューニングを行うことは、コスト上昇を考慮すると現実的には不可能であるという未解決の課題がある。
【０００７】
本発明は、このような従来の課題を解決するために創作されたもので、その目的は、モータ定数や負荷が変化しても振動を抑制してステップモータを円滑に回転駆動することができるステップモータ制御装置及び制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、請求項１に係るステップモータ制御装置は、供給された転流信号に基づいてステップモータを駆動するインバータ手段と、駆動指令に基づいて前記インバータ手段に供給する転流信号を生成する制御手段とを備えたステップモータ制御装置において、前記制御手段は、固有振動角周波数、位置の初期値、初期速度に基づく２次の振動系方程式に基づいて前記転流信号の出力間隔を算出する出力間隔算出手段と、該出力間隔算出手段で算出した出力間隔で前記転流信号を出力する信号出力手段とを備えていることを特徴としている。
【０００９】
この請求項１に係る発明では、ステップモータの固有振動を２次の振動系に近似させ、この２次の振動系方程式に基づいてインバータ手段に対する転流信号の出力間隔を算出し、算出した出力間隔で転流信号をインバータ手段に出力することにより、ロータの固有振動を考慮してロータ速度の最大点で転流信号を出力してインバータ手段でステップモータを１ステップ進める転流を行う。
【００１０】
また、請求項２に係るステップモータ制御装置は、請求項１に係る発明において、前記出力間隔算出手段は、加速時に、駆動回数をｎ、固有振動角周波数をβ、位相角をφとしたときに、ＴN ＝（π／２−φN ）／βで表されるパルス間隔ＴN を算出するように構成されていることを特徴としている。
【００１１】
この請求項２に係る発明では、インバータ手段に対すステップモータを１ステップ進める転流信号を出力する出力間隔ＴN を固有振動各周波数β及び位相角φN に基づいて算出することにより、ロータ速度が最大となる時点で次のステップに対する転流信号を正確に出力することができ、無振動整定を行うことができる。
【００１２】
さらに、請求項３に係るステップモータ制御装置は、請求項２に係る発明において、前記出力間隔算出手段は、駆動回数ｎと位相角φN との関係を表す記憶テーブルを備えていることを特徴としている。
【００１３】
この請求項３に係る発明では、駆動回数ｎをもとに記憶テーブルを参照することにより、位相角φN を算出することができ、複雑な演算を行うことなく、位相角φN を算出することができ、出力間隔ＴN の算出も１／βを予め算出して記憶しておくことにより、和演算と積演算とを夫々１回行うだけで容易に行うことができる。
【００１４】
さらにまた、請求項４に係るステップモータ制御装置は、請求項１に係る発明において、前記パルス間隔算出手段は、加速状態から定速状態に移行するときに、駆動回数をｎ、固有振動角周波数をβ、加速時のパルス間隔をＴN としたときに、ＴN ＋ＴN ′＝ＴN ＋（１／β）sin -1（１／２√ｎ）で表されるパルス間隔ＴN ′を算出するように構成されていることを特徴としている。
【００１５】
この請求項４に係る発明では、加速状態から定速状態に移行する際に、加速時の出力間隔ＴN に定速時の出力間隔ＴN ′＝（１／β）sin -1（１／２√ｎ）を加算することにより、転流信号の出力を遅らせて、振動を生じることなく定速状態に移行させ、その後定速時の出力間隔ＴN ′毎に転流信号をインバータ手段に供給することにより、定速状態を維持する。
【００１６】
なおさらに、請求項５に係るステップモータ制御装置は、請求項４に係る発明において、前記パルス間隔算出手段は、駆動回数ｎとsin -1（１／２√ｎ）との関係を表す記憶テーブルを備えていることを特徴としている。
【００１７】
この請求項５に係る発明では、駆動回数ｎを基に記憶テーブルを参照することにより、直ちにsin -1（１／２√ｎ）を算出することができ、定速時の出力間隔ＴN ′の算出も１／βを予め算出して記憶しておくことにより、和演算と積演算とを夫々１回行うだけで定速時の出力間隔ＴN ′を容易に行うことができる。
【００１８】
また、請求項６に係るステップモータ制御装置は、請求項１乃至５の何れかの発明において、前記信号出力手段は、前記インバータ手段に供給する転流信号を形成するパルス幅変調手段を備えており、該パルス幅変調手段のデューティ比を制御することにより加速度を制御するように構成されていることを特徴としている。
【００１９】
この請求項６に係る発明では、インバータ手段に供給する転流信号をパルス幅変調手段でパルス幅変調して供給し、そのデューティ比を制御することにより、ステップモータに供給する駆動電流を制御して、加速時の加速度を制御することができる。
【００２０】
さらに、請求項７に係るステップモータ制御装置は、請求項１乃至６の何れかの発明において、前記制御手段は、駆動制御開始前に、固有振動角周波数を計測する固有振動角周波数計測手段を備えていることを特徴としている。
【００２１】
この請求項７に係る発明では、駆動制御開始する前に、固有振動角周波数計測手段で固有振動角周波数βを計測するようにしているので、個々のステップモータに最適な転流信号制御を行うことができる。
【００２２】
さらにまた、請求項８に係るステップモータ制御装置は、請求項７に係る発明において、前記固有振動角周波数計測手段は、駆動制御開始前に、停止状態からロータを１ステップ分駆動し、このときの経過時間を計測して固有振動角周波数を算出するように構成されていることを特徴としている。
【００２３】
この請求項８に係る発明では、停止状態からステップモータのロータを１ステップ分駆動し、このときの経過時間を計測して固有振動角周波数βを算出する。このとき、ロータの１ステップ分はロータの回転方向を計測可能なエンコーダを使用してロータが正転を始めてから逆転する迄の時間又は逆転を始めてから正転するまでの時間を計測し、これを２倍すれば固有振動角周波数βを算出することができる。
【００２４】
なおさらに、請求項９に係る発明では、請求項７に係る発明において、前記固有振動角周波数計測手段は、ステップモータが３相ステップモータである場合に、開放相に現れる逆起電力波形を計測して固有振動角周波数を算出するように構成されていることを特徴としている。
【００２５】
この請求項９に係る発明では、３相ステップモータである場合には、開放相に現れる逆起電力波形からロータの正逆転を検出することができ、エンコーダを用いることなく、ロータの正逆転の経過時間を計測することにより、固有振動角周波数βを算出することができる。
【００２６】
また、請求項１０に係るステップモータ制御方法は、駆動指令に基づいて転流信号を生成し、生成した転流信号をインバータ手段に供給してステップモータを開ループ駆動制御するステップモータ制御方法において、前記インバータ手段に転流信号を供給する際に、固有振動角周波数、位置の初期値、初期速度に基づく２次の振動系方程式に基づいて前記転流信号の出力間隔を算出する工程と、算出された出力間隔で転流信号を前記インバータ手段に出力する工程とを備えたことを特徴としている。
【００２７】
この請求項１０に係る発明においても、前記請求項１と同様の作用を得ることができる。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００２９】
図１は本発明の一実施形態を示すブロック図であって、図中、１０は例えばプリンタのキャリッジを移動させる駆動手段として適用される３相ＨＢ（ハイブリッド）ステップモータであって、このステップモータ１０のＹ結線された各相コイルに駆動回路２０から三相交流が供給される。この駆動回路２０は、商用交流電源２１を所定電圧（例えば３０Ｖ）の直流電源に変換するコンバータ２２と、このコンバータ２２の出力側に接続されたインバータ手段としてのインバータ２３とを備えている。
【００３０】
ここで、インバータ２３は、正の電源ラインＬP 及び負の電源ラインＬN 間に２つのＮチャンネル電界効果トランジスタ（以下、単にトランジスタと称す）ＴA+及びＴA-がトランジスタＴA+のドレインを正の電源ラインＬP に、ソースをトランジスタＴA-のドレインに、トランジスタＴA-のソースを負の電源ラインＬN に接続する関係で直列に接続されていると共に、これらトランジスタＴA+及びＴA-と並列に同様に２つのＮチャンネル電界効果トランジスタ（以下、単にトランジスタと称す）ＴB+及びＴB-が直列に接続され、これらトランジスタＴB+及びＴB-と並列に同様に２つのＮチャンネル電界効果トランジスタ（以下、単にトランジスタと称す）ＴC+及びＴC-が直列に接続され、さらにトランジスタＴA+及びＴA-のコンバータ２２側にこれらと並列にインバータ２３の転流時における電圧変化を安定させる大容量のコンデンサ２４が接続された構成を有する。各トランジスタＴA+，ＴA-、ＴB+，ＴB-及びＴC+，ＴC-のドレインとソース間にはソース側からドレイン側に電流を還流させる還流ダイオードＤA+，ＤA-、ＤB+，ＤB-及びＤC+，ＤC-が接続されている。
【００３１】
そして、インバータ２３のトランジスタＴA+及びＴA-の接続点がステップモータ１０のＡ相コイルに接続され、トランジスタＴB+及びＴB-の接続点がステップモータ１０のＢ相コイルに接続され、トランジスタＴC+及びＴC-の接続点がステップモータ１０のＣ相コイルに接続されている。
【００３２】
一方、インバータ２３の転流が各トランジスタＴA+，ＴA-、ＴB+，ＴB-及びＴC+，ＴC-のゲートに例えばマイクロコンピュータを含んで構成される制御回路４０から転流信号としての転流パルスが供給されることにより制御される。
【００３３】
この制御回路４０には外部の制御装置から動作指令が入力されると共に、還流ダイオード導通検出回路３０の検出信号が入力され、還流ダイオード導通検出回路３０の検出信号に基づいてステップモータ１０におけるロータの固有振動角周波数βを計測すると共に、動作指令に基づいてステップモータ１０を加速、定速、減速及び停止制御するために１ステップ分の転流パルスをインバータ２３の各トランジスタＴA+，ＴA-、ＴB+，ＴB-及びＴC+，ＴC-のゲートに固有振動角周波数β及び駆動回数ｎに基づいて算出された出力間隔で内蔵したパルス幅変調回路４１でパルス幅変調した転流パルスを出力する。
【００３４】
ここで、還流ダイオード導通検出回路３０は、その１相分例えばＢ相に対応する部分を表すと図２に示すようになり、コンパレータ部３１と導通ダイオード変化検出部３４とを有して構成される。コンパレータ部３１は、トランジスタＴｂ+ とトランジスタＴｂ- との直列接続点が自身の非反転入力端子に接続されると共に、自身の反転入力端子にダイオード順方向電圧（ＶＦ）が正方向に印加されるように接続された演算増幅器３２と、前記接続点に自身の反転入力端子が接続されると共に、自身の非反転入力端子にダイオード順方向電圧（ＶＦ）が逆方向に印加されるように接続された演算増幅器３３とを有している。実際には、例えば図２に示したようなコンパレータ部３１と導通ダイオード変化検出部３４とを各相に対して設けておく。
【００３５】
この構成によれば、還流ダイオードＤｂ+ が導通状態になると演算増幅器３２がハイレベルの信号を出力し、一方、還流ダイオードＤｂ- が導通状態になると演算増幅器３３がハイレベルの信号を出力する。
【００３６】
導通ダイオード変化検出部３４は、演算増幅器３２と演算増幅器３３との出力信号から還流ダイオードＤｂ+ と還流ダイオードＤｂ- の導通状態に変化があったことを検出し、これをロータ回転方向が逆転した時点の検出信号として制御回路４０に供給する。より具体的には、導通ダイオード変化検出部３４は、還流ダイオードＤｂ+ が導通状態から非導通状態になり、還流ダイオードＤｂ- が非導通状態から導通状態になった時、あるいは、還流ダイオードＤｂ+ が非導通状態から導通状態になり、還流ダイオードＤｂ- が導通状態から非導通状態になった時に、ロータ回転方向が逆転した時点を検出した旨の信号を出力するように構成されている。
【００３７】
このように、還流ダイオード導通検出回路３０でロータ回転方向の逆転を検出することができる原理を以下に説明する。
【００３８】
図３は、横軸に時間、縦軸に電気角を示した原理説明図であって、電気角１２０°の位置が目標位置で、現在電気角０°の位置でロータが停止しているものとする。
【００３９】
そして、時刻ｔ０において、ステップモータ１０のロータを１ステップだけ進めるようにインバータ２３に転流パルスを供給すると、ロータは電気角で１２０°回転しようとするが、ロータの慣性モーメントと、ロータ及びステータ間の電磁吸引・反発力により、ロータは実線図示の減衰振動を行う。
【００４０】
そこで、時刻ｔ１は、ロータが減速されて逆転を開始する時点であり、ロータの回転方向が変化する場合には、逆起電力電圧の極性も反転する。このことは、例えば、開放相のコイルにＮ磁極が近づいてきたが、ロータが逆転することによってＮ磁極が遠ざかっていくことを想像すれば理解容易である。
【００４１】
また、逆起電力電圧の極性の検出は、Ｐ側チョッピングとＮ側チョッピングとを繰り返し、開放相に対する還流ダイオードの導通状態の変化を検出することにより行われる。以下に、この理由について説明する。
【００４２】
今、図１に示す３相ＨＢステップモータ１０のＡ相、Ｂ相、Ｃ相の夫々の端子電圧をＶａ、Ｖｂ、Ｖｃ、また、Ａ相、Ｂ相、Ｃ相の夫々の逆起電力をｅａ、ｅｂ，ｅｃとする。
【００４３】
図４は、開放相をＢ相とした場合のチョッピングシーケンスを示したもので、Ｎ側チョッピングとＰ側チョッピングとを交互に行う場合の、トランジスタのオン、オフ制御状態と（インバータ動作）、導通するダイドードと、逆起電力電圧ｅｂの極性とが対応付けられて記述されている。
【００４４】
さて、一例として、図１において、トランジスタＴｃ+ とトランジスタＴａ- とがオン状態で、パルス幅変調制御を行ってトランジスタＴｃ+ がオン状態からオフ状態に変化した状態（Ｐ側チョッピング）を想定する。この時、開放相の端子電圧Ｖｂは、「Ｖｂ＝ｅｂ＋（ＶＳＤ−ＶＦ）／２−（ｅａ＋ｅｃ）／２：但し、ＶＳＤはトランジスタのソース、ドレイン間電圧、ＶＦはダイオードの順方向電圧」となる。
【００４５】
ここで、各相の逆起電力電圧は、互いに１２０度づつ位相の異なる３相の対称電圧波形を有するために、ｅｂの極性が変化する位置、すなわち、ｅｂ＝０の点ではｅａ＝−ｅｃであり、還流ダイオードＤｂ- が導通する条件は「Ｖｂ＜−ＶＦ」なので、「ｅｂ＜−（ＶＳＤ＋ＶＦ）／２」となればＰ側チョッピングの時、還流ダイオードＤｂ- が導通する。
【００４６】
Ｎ側チョッピングの場合も同様に、トランジスタＴｃ+ とトランジスタＴａ- とがオン状態で、パルス幅変調制御を行ってトランジスタＴａ- がオン状態からオフ状態に変化した状態では、還流ダイオードＤｂ+ が導通する条件は「ｅｂ＞（ＶＳＤ＋ＶＦ）／２」となる。したがって、Ｐ側チョッピングとＮ側チョッピングとを繰り返すことによって、どの還流ダイオードが導通するかを検出すれば逆起電力の極性が分かり、かくして、時刻ｔ１を検出することが可能となる。
【００４７】
図５にはこの様子を模式的に説明しており、Ｎ側チョッピングでは、「ｅｂ＞（ＶＳＤ＋ＶＦ）／２」の条件を満たすとき還流ダイオードＤｂ+ が導通すると共に、Ｐ側チョッピングでは、「ｅｂ＞−（ＶＳＤ＋ＶＦ）／２」の条件を満たすとき還流ダイオードＤｂ- が導通する。
【００４８】
このように、開放相の逆起電力電圧の極性が正の場合、Ｎ側チョッピングを行った時、Ｐ側（＋側）の還流ダイオードが導通すると共に、開放相の逆起電力電圧の極性が負の場合、Ｐ側チョッピングを行った時、Ｎ側（−側）の還流ダイオードが導通するので、Ｎ側チョッングとＰ側チョッピングとを繰り返しながら、ダイオードの導通状態が変化する時点を検出すればｔ１を検出することができる。
【００４９】
なお、時刻ｔ１の検出の一例として、還流ダイオードの導通状態を把握して検出を行うものを説明したが、他の手法、例えば、開放相の電圧を中点電圧と比較する等によって逆起電力電圧の極性を判定しても良いことは言うまでもない。しかしながら、前述した検出方法によれば、各相に対して設けられた一方の還流ダイオードと他方の還流ダイオードの導通状態が変化したことをもって、ロータの回転方向が逆転した時点を検出するので、簡易な構成で検出手段を実現でき、しかも、還流ダイオードの導通時には開放相のインーダンスが低くなるため、ノイズの影響を受けにくい状態で逆転時を検出することができる。
【００５０】
次に、上記実施形態の動作を制御回路４０で実行する制御処理手順の一例を示す図６〜図１０のフローチャートを伴って説明する。
【００５１】
制御回路では、ステップモータ１０の停止状態で、外部の制御装置から動作指令が入力されると、図６に示す制御処理を実行開始し、先ず、ステップＳ１で、ステップモータ１０におけるロータの固有振動角周波数βを計測する処理を実行し、次いでステップＳ２に移行して、加速制御処理を実行し、次いでステップＳ３に移行して、定速制御処理を実行し、次いでステップＳ４に移行して、減速制御処理を実行して処理を終了する。
【００５２】
ここで、ステップＳ１の固有振動角周波数計測処理は、図７に示すように、固有振動角周波数を計測するのに十分短い時間に設定された所定時間毎のタイマ割込処理として実行され、先ず、ステップＳ１０で、固有振動角周波数の計測を完了したか否かを表す計測完了フラグＦＥが“１”にセットされているか否かを判定し、これが“０”にリセットされているときには固有振動角周波数の計測が完了していないものと判断してステップＳ１１に移行して、ステップモータ１０のロータを１ステップ回転させる転流パルスをインバータ２３の各トランジスタのゲートに出力してからステップＳ１２に移行する。
【００５３】
このステップＳ１２では、計測開始時であるか否かを表す計測状態フラグＦＳが“１”にセットされているか否かを判定し、これが“０”にリセットされているときには、計測開始時であるものと判断して、ステップＳ１３に移行し、計数カウンタのカウント値ＮC を“０”にクリアしてからステップＳ１４に移行して、計測状態フラグＦＳを“１”にセットしてからステップＳ１５に移行し、還流ダイオード導通検出回路３０から時刻ｔ１を検出した旨の信号が入力されたか否かを判定し、信号が入力されていないときには、そのままタイマ割込処理を終了する。
【００５４】
一方、ステップＳ１２での判定結果が、計測状態フラグＦＳが“１”にセットされているときには固有振動角周波数βの計測中であると判断してステップＳ１６に移行して、現在の計数カウンタのカウント値ＮC を“１”だけインクリメントしてから前記ステップＳ１５に移行する。また、ステップＳ１５の判定結果が還流ダイオード導通検出回路３０から時刻ｔ１を検出した旨の信号が入力されたときにはステップＳ１７に移行して、計数カウンタのカウント値ＮC を２倍し、これにタイマ割込周期ＴT を乗算して経過時間（固有振動周期）ＴT2を算出すると共に、下記（１）式の演算を行って固有振動角周波数βを算出し、さらに、その逆数１／βを算出し、これを所定の記憶領域に記憶する。
【００５５】
β＝２π／ＴT2        …………（１）
次いで、ステップＳ１８に移行して、計測完了フラグＦＥを“１”にセットしてからステップＳ１９に移行し、還流ダイオード導通検出回路３０から時刻ｔ２を検出した旨の信号が入力されたか否かを判定し、時刻ｔ２を検出した旨の信号が入力されていないときにはタイマ割込処理を終了し、入力されたときにはステップＳ２０に移行して、計測完了フラグＦＥ及び計測状態フラグＦＳを夫々“０”にリセットしてから固有振動角周波数計測処理を終了して図６のステップＳ２に移行する。
【００５６】
さらに、前記ステップＳ１０の判定結果が計測終了フラグＦＥが“１”にセットされているときには直接前記ステップＳ１９にジャンプする。
この図６のステップＳ１の処理及び図７の処理が固有振動角周波数計測手段に対応している。
【００５７】
また、図６のステップＳ２で実行する加速制御処理は、図８に示すように、先ずステップＳ２１で、駆動回数ｎを“０”にクリアしてからステップＳ２２に移行して、インバータ２３に対して、ロータを１ステップ分回転させる転流パルスを出力してからステップＳ２３に移行する。
【００５８】
このステップＳ２３では、駆動回数ｎを“１”だけインクリメントした値を新たな駆動回数ｎとして設定してからステップＳ２４に移行し、駆動回数ｎをもとに位相角算出用記憶テーブルを参照して位相角φN を算出し、次いでステップＳ２５に移行して、位相角φN 及び固有振動角周波数βをもとに下記（２）式の演算を行ってインバータ２３に対する転流信号の出力間隔ＴN を算出する。
【００５９】
ＴN ＝（π／２−φN ）／β      …………（２）
次いでステップＳ２６に移行して、タイマをスタートさせ、次いでステップＳ２７に移行して、タイマカウント値ＮT が出力間隔ＴN に達したか否かを判定し、達していないときには達するまで待機し、出力間隔ＴN に達したときにはステップＳ２８に移行してタイマを停止させてからステップＳ２９に移行して、加速状態が終了したか否かを判定し、加速状態が継続しているときに前記ステップＳ２２に戻り、加速状態が終了したときには加速制御処理を終了して図６におけるステップＳ３の定速制御処理に移行する。
【００６０】
ここで、インバータ２３に対する転流信号の出力間隔ＴN を前記（２）式で算出する理由は、以下に述べる通りである。
【００６１】
ステップモータを駆動するインバータ２３に転流パルスを与えた場合のロータの動作は、２次の振動系として表すことができ、この２次の振動系の状態方程式は、下記（３）式で表すことができる。
【００６２】
Θ(s) ＝（ｓθ(0) ＋ω(0))／（ｓ2 ＋β2 ）    …………（３）
ここで、θ(0) は位置の初期値、ω(0) は初期速度である。
【００６３】
そして、図１１に示すように、ステップモータ１０が停止している時刻ｔ1 から加速状態に移行する場合には、最初に停止状態からロータを１ステップ分だけ進める場合について考えると、このとき、初期速度ω(0) は“０”であり、位置の初期値θ(0) は“−１”として設定する。ここで、位置については１ステップを“１”として規格化して考える。
【００６４】
このときの、初期速度ω(0) ＝０及び位置の初期値θ(0) ＝−１を前記（３）式に代入することにより、前記（３）式は下記（４）式となる。
【００６５】
Θ(s) ＝−ｓ／（ｓ2 ＋β2 ）    …………（４）
この（４）式を逆ラプラス変換すると共に、位置θ(t) を微分することにより、下記（５）式及び（６）式で表される位置θ(t) 及び速度ω(t) を算出することができる。
【００６６】
θ(t) ＝−ｃｏｓβｔ    …………（５）
ω(t) ＝ｄθ(t) ／ｄｔ＝βｓｉｎβｔ    …………（６）
つまり、βｔがπ／２となる周期Ｔ1 ＝π／２βで位置θ(t) が“０”となり、速度ω(t) は最大となるので、このＴ1 が経過した時刻ｔ2 で次の１ステップ回転させることにより、ロータが逆転することなく次の第２回目のステップにおける回転を開始することができる。
【００６７】
この時刻ｔ2 でロータを１ステップ進めた場合には、初期値がω(0) ＝β、θ(0) ＝−１であることと等価であるので、これらを前記（３）式に代入することにより、
Θ(s) ＝（−ｓ＋β）／（ｓ2 ＋β2 ）    …………（７）
となり、これを逆ラプラス変換及び微分することにより、
θ(t) ＝−√２ｃｏｓ（βｔ＋π／４）        …………（８）
ω(t) ＝√２・β・ｓｉｎ（βｔ＋π／４）    …………（９）
となる。
【００６８】
よって、βｔ＋π／４＝π／２となる周期Ｔ2 でθ(t) ＝０となるので、Ｔ2 ＝π／４βで第３回目のステップの回転を開始させれば、ロータが逆転することなく第３回目のステップの回転を開始させることができる。
【００６９】
このようにして、順次１ステップづつの回転をｎ回繰り返して加速した場合には、初期値はωN (0) ＝√（ｎ−１）・β、θN (0) ＝−１となるので、位置θ(t) 及び速度ω(t) は下記（１０）式及び（１１）式で表される。
【００７０】
θ(t) ＝−√ｎｃｏｓ（βｔ＋φN ）      …………（１０）
ω(t) ＝√ｎ・β・ｓｉｎ（βｔ＋φN ）        …………（１１）
ただし、φN は位相角であり、φN ＝ｔａｎ-1√（ｎ−１）で表され、この位相角φN を駆動回数ｎに対応させて演算し、その演算結果を駆動回数ｎをインデックスとして位相角算出用記憶テーブルを作成し、これをＲＯＭ等のメモリに格納しておく。
【００７１】
次に、図６のステップＳ３における定速制御処理は、図９に示すように、先ず、ステップＳ３１で、駆動回数ｎをもとに予め格納した記憶テーブルを参照して、出力間隔ＴN ′を演算するためのsin -1（１／２√ｎ）の値を算出し、次いでステップＳ３２に移行して、下記（１２）式に従って定速制御を行うための出力間隔ＴN ′を算出する。
【００７２】
ＴN ′＝（１／β）sin -1（１／２√ｎ）      …………（１２）
この（１２）式の演算は、所定領域に記憶されている固有振動角周波数βの逆数とステップＳ３１で算出したsin -1（１／√ｎ）の値とを乗算することにより、１回の乗算処理だけで行う。
【００７３】
次いで、ステップＳ３３に移行して、タイマをスタートさせ、次いでステップＳ３４に移行してタイマカウント値ＮT2が出力間隔ＴN ′に達したか否かを判定し、出力間隔ＴN ′に達していないときには達するまで待機し、出力間隔ＴN ′に達したときには、ステップＳ３５に移行する。
【００７４】
このステップＳ３５では、インバータ２３に対してステップモータ１０を１ステップ進める転流パルスを出力し、次いでステップＳ３６に移行して、タイマを再スタートさせてからステップＳ３７に移行し、タイマカウント値ＮT2が出力間隔ＴN ′を２倍した値２ＴN ′に達したか否かを判定し、２ＴN ′に達していないときには達するまで待機し、２ＴN ′に達したときには、ステップＳ３８に移行して、減速に移行するか否かを判定し、定速状態を継続する場合は前記ステップＳ３５に戻り、減速に移行する場合には前記図６のステップＳ４の減速制御処理に移行する。
【００７５】
この定速制御処理で、出力間隔ＴN ′を前記（１２）式で算出する理由は、以下の通りである。
【００７６】
加速最後の位置θ(t) 及び速度ω(t) が前記（１０）式及び（１１）式で表されるものとすると、この時点では位置θ(t) は“０”、速度ω(t) が最大点となっているので、この時点で転流パルスをインバータ２３に供給すると加速状態を継続することになる。
【００７７】
このため、加速終了時点では転流パルスをインバータ２３に供給せず、転流パルスの供給タイミングを位置θ(t) が反転して例えば＋１／２まで達する時刻（この間の周期をＴN ′とする）まで遅らすことにより、加速状態から定速状態に移行することが可能となる。
【００７８】
このため、θ(t) ＝１／２とし、ｔ＝ＴN ＋ＴN ′とすると、前記（１０）式は下記（１３）式で表される。
【００７９】
１／２＝−√ｎｃｏｓ｛β（ＴN ＋ＴN ′）＋φN ｝  …………（１３）
上式を変形すると、
１／２＝−√ｎ｛−sin(βT N ′)sin( φN ＋βＴN ）＋cos(βT N ′)cos( φN ＋βＴN ）｝……（１４）
となる。
ここで、sin(φN ＋βＴN ）＝１，cos(φN ＋βＴN ）＝０であるので、上記（１４）式は下記（１５）式となる。
【００８０】
１／２＝√ｎsin(βT N ′)       …………（１５）
この（１５）式から出力間隔ＴN ′を求めると、
ＴN ′＝（１／β）sin -1（１／√ｎ）となり、前記（１２）式となる。
【００８１】
したがって、加速完了時の出力間隔ＴN に定速状態の出力間隔ＴN ′を加算して転流パルスの出力を遅延させることにより、ロータの位置θ(t) を＋１／２まで逆転させ、この状態で、再度２倍の出力間隔ＴN ′でインバータ２３に転流パルスを供給することにより、位置θ(t) が−１／２と＋１／２との間を繰り返すことにより、定速状態を維持することができる。
【００８２】
さらに、図６のステップＳ５の減速制御処理は、図１０に示すように、先ず、ステップＳ４１で、下記（１６）式の演算を行って減速状態に移行するための転流パルスの出力間隔ＴN ＋ＴN ′を算出する。
0003788169.tif 000002
この（１６）式の演算は、前述した加速制御処理における最後に演算した出力間隔ＴN の値と、定速制御処理で演算した出力間隔ＴN ′とを記憶しておき、これらを加算することにより行う。
【００８３】
次いでステップＳ４２に移行して、タイマを再スタートし、次いでステップＳ４３に移行して、タイマカウント値ＮT3が出力間隔ＴN ＋ＴN ′に達したか否かを判定し、達していないときには達するまで待機し、達したときには、ステップＳ４４に移行してインバータ２３に対してステップモータを１ステップ進める転流パルスを出力してからステップＳ４５に移行して、現在の駆動回数ｎが“１”をデクリメントした値を新たな駆動回数ｎとして設定し、次いでステップＳ４６に移行して、駆動回数ｎが“０”であるか否かを判定し、駆動回数ｎが“０”であるときにはそのまま図５の制御処理を終了し、ｎ＞０であるときにはステップＳ４７に移行する。
【００８４】
このステップＳ４７では、駆動回数ｎをもとに位相角算出用記憶テーブルを参照して位相角φN を算出し、次いでステップＳ４８に移行して、前記（２）式と同様の演算を行って出力間隔ＴN を算出し、次いでステップＳ４９に移行してタイマを再スタートさせてからステップＳ５０に移行し、タイマカウント値ＮT4が出力間隔ＴN に達したか否かを判定し、出力間隔ＴN に達していないときには達するまで待機し、出力間隔ＴN に達したときには前記ステップＳ４４に移行する。
【００８５】
そして、図６のステップＳ２〜Ｓ４の処理及び図８〜図１０の処理が制御手段に対応し、このうち図８のステップＳ２３〜Ｓ２５の処理、図９のステップＳ３１，Ｓ３２の処理及び図１０のステップＳ４１，Ｓ４４〜Ｓ５０の処理が出力間隔算出手段に対応し、図８のステップＳ３５〜Ｓ３６の処理、図９のステップＳ２６〜Ｓ２８の処理及び図１０のステップＳ４２〜Ｓ４４，Ｓ４９，Ｓ５０の処理が信号出力手段に対応している。
【００８６】
したがって、今、ステップモータ１０が停止しており、外部の制御装置から動作指令が入力されていない状態であるものとする。この状態で、外部の制御装置から加速動作指令が制御回路４０に入力されると、先ず、図７の固有振動角周波数計測処理を行って、図１１（ａ）に示すように、時刻ｔ０でステップモータ１０を１ステップ分駆動する転流パルスをインバータ２３に出力して、ロータを図１１（ｂ）に示すように、位置θ(t) を−１から０まで駆動して、その間にステップモータ１０におけるロータの固有振動角周波数βを算出すると共に、その逆数１／βを算出し、ロータの回転が１度反転した後再度反転する時点ｔ1 で固有振動角周波数計測処理を終了して、図８の加速制御処理に移行する。
【００８７】
この加速制御処理では、先ず駆動回数ｎを“０”に設定し（ステップＳ２１）、次いでステップモータ１０のロータを１ステップ進める駆動パルスをインバータ２３に出力する（ステップＳ２２）。
【００８８】
これによって、ロータは図１１（ａ）に示すように、時刻ｔ1 から速度ω(t) が増加して加速を開始すると共に、位置θ(t) が図１１（ｂ）に示すように−１から“０”に向かって正転する。
【００８９】
次いで、駆動回数ｎをインクリメントして新たな駆動回数ｎ＝１を設定し（ステップＳ２３）、次いでこの駆動回数ｎ＝１をもとに位相角算出用記憶テーブルを参照して、位相角φ1 を算出し（ステップＳ２４）、算出した位相角φ1 と固有振動角周波数βの逆数１／βとをもとに前記（２）式の演算を行って出力間隔ＴN を算出する（ステップＳ２５）。
【００９０】
次いで、タイマをスタートさせ（ステップＳ２６）、このタイマのカウント値ＮT1が出力間隔ＴN に達するまで待機し、時刻ｔ2 でカウント値ＮT1が出力間隔ＴN に達すると、タイマを停止させてから第２回目の転流パルスをインバータ２３に出力する（ステップＳ２８，Ｓ２９，Ｓ２２）。
【００９１】
この時刻ｔ2 では、ロータの速度ω(t) が最大となり、位置θ(t) が図１１（ｂ）に示すように１ステップ分回転した位置“０”となり、この時刻ｔ2 で転流パルスがインバータ２３に出力されることにより、ロータが逆転することなく再度ロータの速度ω(t) が連続して増加すると共に、位置θ(t) が−１から“０”に向けて回転する。
【００９２】
その後、駆動回数ｎがｎ＝２に設定されると共に、この駆動回数ｎ＝２をもとに位相角算出用記憶テーブルを参照して位相角φ2 が算出され、次いでこの位相角φ2 と固有振動角周波数βの逆数とをもとに前記（２）式の演算を行って新たな第２回目の出力間隔Ｔ2 を算出し、この出力間隔Ｔ2 が経過した時刻ｔ3 で第３回目の転流パルスがインバータ２３に出力されて再度ロータが加速され、その後時刻ｔ4 で第４回目の転流パルスがインバータ２３に出力されて再度ロータが加速され、駆動回数ｎ＝４をもとに第４回目の出力間隔Ｔ4 が算出される。
【００９３】
この加速状態では、位置θ(t) が−１と０の範囲にあり正の平均トルクを発生して加速度を発生させ、加速状態を継続する。
【００９４】
この加速中に、外部の制御装置から定速動作指令が制御回路４０に入力されると、図８の加速制御処理において、タイマカウント値ＮT1が出力間隔Ｔ4 に達した時刻ｔ5 でステップＳ２８に移行してタイマを停止し、次いでステップＳ２８に移行して、定速動作指令が入力されているので、ステップＳ２２に移行して転流パルスをインバータ２３に出力することなく、加速制御処理を終了して、図９の定速制御処理に移行する。
【００９５】
このため、ステップモータ１０のロータは、図１１（ａ）に示すように、本来速度ω(t) が“０”となる時刻ｔ5 で転流パルスがインバータに出力されないので正転状態から反転して逆転状態となり、速度ω(t) が減少する。
【００９６】
一方、図９の定速制御処理では、駆動回数ｎ＝４のままであるので、この駆動回数ｎ＝４をもとに記憶テーブルを参照してsin -1（１／２√４）の値を算出し（ステップＳ３１）、次いで前記（１２）式の演算を行って、定速制御用出力間隔Ｔ4 ′を算出し、この定速制御用出力間隔Ｔ4 ′が経過した時刻ｔ6 で１ステップ分の転流パルスがインバータ２３に出力される。
【００９７】
この時刻Ｔ6 では、ステップモータ１０のロータが逆転して速度ω(t) は減速状態となっており、ロータの位置θ(t) は＋１／２に達して半ステップ分戻った位置となっている。この時刻ｔ6 で１ステップ分の転流パルスがインバータ２３に供給されることにより、過渡現象を生じることなくステップモータ１０のロータが再度正転して加速し、時刻ｔ7 で速度ω(t) が最大点に達した後減速状態となり、時刻ｔ8 でタイマカウント値ＮT3が出力間隔Ｔ4 ′の２倍に達すると、再度１ステップ分の転流パルスがインバータ２３に出力され、次いで時刻ｔ9 で速度ω(t) が最大点に達した後減速状態となり、時刻ｔ10でタイマカウント値ＮT2が出力間隔Ｔ4 ′の２倍に達すると、再度１ステップ分の転流パルスがインバータ２３に出力される。
【００９８】
したがって、この定速制御状態では、位置θ(t) が±１／２の範囲で変化することにより、平均トルクが“０”となって、ステップモータ１０のロータが定速回転駆動される。
【００９９】
その後、時刻ｔ10を過ぎた時点で外部の制御装置から減速動作指令が制御回路４０に入力されると、図９の定速制御処理において、タイマカウント値ＮT3が出力間隔Ｔ4 ′の２倍に達すると、ステップＳ３６からステップＳ３７に移行し、減速動作指令が入力されているので、図９の定速制御処理を終了して、図１０の減速制御処理に移行する。
【０１００】
この減速制御処理では、ステップＳ４１でステップモータ１０におけるロータの速度ω(t) が最大点に達するまでの出力間隔Ｔ4 ′と加速時の転流パルスを出出力するまでの出力間隔Ｔ4 とを加算した出力間隔Ｔ4 ＋Ｔ4 ′を算出してからタイマを再スタートさせ、このタイマのカウント値ＮT4が出力間隔Ｔ4 ＋Ｔ4 ′に達するまでは待機し、時刻ｔ11で出力間隔Ｔ4 ＋Ｔ4 ′に達すると、ステップＳ４４に移行して、１ステップ分の転流パルスをインバータ２３に出力することにより、ステップモータ１０のロータを１ステップ分駆動する。
【０１０１】
この時刻ｔ11ではステップモータ１０のロータが逆転して位置θ(t) が＋１に達したときに転流パルスがインバータ２３に供給されるので、減速状態への移行が過渡現象なく円滑に行われる。
【０１０２】
その後、駆動回数ｎが“１”だけデクリメントされてｎ＝３となり、この駆動回数ｎ＝３に応じた位相角φ3 が算出され、これに応じた出力間隔Ｔ3 が算出され、タイマカウント値ＮT5が出力間隔Ｔ3 に達して、位置θ(t) が＋１に達する時刻ｔ12で再度転流パルスがインバータ２３に出力され、次いで、駆動回数ｎがｎ＝２となり、この駆動回数ｎ＝２に応じた位相角φ2 が算出され、これに応じた出力間隔Ｔ2 が算出され、タイマカウント値ＮT5が出力間隔Ｔ2 に達して、位置θ(t) が＋１に達する時刻ｔ13で再度転流パルスがインバータ２３に出力され、さらに、駆動回数ｎがｎ＝１となり、この駆動回数ｎ＝１に応じた位相角φ1 が算出され、これに応じた出力間隔Ｔ1 が算出され、タイマカウント値ＮT5が出力間隔Ｔ1 に達して、位置θ(t) が＋１に達する時刻ｔ14で再度転流パルスがインバータ２３に出力される。その後、ステップＳ４５に移行したときに、駆動回数ｎがｎ＝０となるので、ステップＳ４６からステップＳ４７に移行することなく減速制御処理を終了すると共に、図６の制御処理も終了する。
【０１０３】
このように減速制御状態では、図１１（ｂ）に示すように、位置θ(t) が０と＋１との範囲にあり負の平均トルクを発生することにより、減速度を発生させ、減速状態を継続し、駆動回数ｎがｎ＝１となって出力間隔Ｔ1 が経過した時刻ｔ14で１ステップ分の転流パルスがインバータ２３に出力されるので、従来例における最終ステップ遅延ダンピングと同様に停止時の振動を抑制することができる。
【０１０４】
なお、上記実施形態では、加減速状態での加減速度を制御することはできないが、制御回路４０でインバータ２３の転流パルスを供給する際に、転流信号をパルス幅変調回路４１でパルス幅変調して転流パルスを形成し、このときのデューティ比を制御することにより、ステップモータ１０に供給する３相交流信号の電流値を制御することができ、これによって加減速度を制御することができる。
【０１０５】
このように、上記実施形態によると、加速状態及び減速状態では、無振動状態で加速及び減速を行うことができ、加速状態から定速状態への移行時及び定速状態から減速状態への移行時にも無振動状態で円滑に移行することができる。
【０１０６】
しかも、固有振動角周波数βの計測を開放相における還流ダイオードの導通状態を把握することにより行うようにしたので、回転方向を検出可能なエンコーダを設けることなく、ステップモータ１０のロータが正転から逆転への転換期を正確に検出することができ、インバータ２３に１ステップ分の転流パルスを与えた時点からロータが正転から逆転に転換する時点までの経過時間を計測することにより、固有振動角周波数βを正確に計測することができる。
【０１０７】
そして、ステップ角１．５８°、保持トルク７００ｇｃｍ、慣性モーメント８０ｇｃｍ2 の三相ＨＢステップモータを使用し、ステップモータの回転軸にロータリエンコーダを取付けて位置θ及び速度ωの測定を行って位置応答特性の実験を行った結果を図１２に示す。この図１２では、ロータ位置θは±π（電気角）の範囲で示しており、その初期位置は−πに設定している。また、転流信号の立ち上がり及び立ち下がり時に転流パルスをインバータに与えている。最初に転流パルスの後に、開放相の還流ダイオードの導通を検出することにより、固有振動角周波数βの測定を行い、２ステップ転流させている。このとき、速度ωは略“０”で、位置θは初期位置−πから２／３π（２ステップ）移動している。加速期間では測定したβに基づき転流タイミングを決定し、速度が最大の時刻で転流を繰り返している。図１２の場合には３回加速し、６パルス（電気角の１周期）の定速運転を行い、３回減速して停止している。加速時、加速から定速及び定速から減速への移行期間、停止時の何れにおいても不要な振動を生じることはなく、良好な駆動特性が得られており、前述した転流パルスの制御方法の妥当性を示している。
【０１０８】
さらに、図１３に、慣性モーメントを２．５倍にした場合の位置応答の実験結果を示し、図１２の場合に比較して、振動周期が１．５倍に伸びているが、不要な振動を生じることはなく、図１２と同様な良好な加減速特性が得られている。これは、センサレス回転方向検出により、固有振動周期を測定しているので、たとえ慣性モーメントが変化しても、特別な設定なしに良好な駆動特性が得られることを意味している。
【０１０９】
なお、上記実施形態においては、３相ＨＢステップモータに本発明を適用した場合について説明したが、これに限定されるものではなく、他の型式例えば５相のハイブリッドステップモータ、ＰＭ型のステップモータ、ＶＲ型のステップモータ等にも本発明を適用することができる。
【０１１０】
また、上記実施形態においては、プリンタのキャリッジを駆動する三相ＨＢステップモータに本発明を適用した場合について説明したが、これに限定されるものではなく、ＯＡ機器、ＦＡ機器等の任意の移動機構を駆動するステップモータに本発明を適用することができる。
【０１１１】
さらに、上記実施形態においては、固有振動角周波数βの計測を開放相における還流ダイオードの同通状態を検出することにより、ステップモータのロータの回転方向の反転時点を検出する場合について説明したが、これに限定されるものではなく、ステップモータ１０の回転軸に回転方向を検出可能な例えば９０度の位相差を有するパルス信号を出力可能なエンコーダを適用して、ロータ回転方向が反転する時点を検出するようにしてもよい。
【０１１２】
さらにまた、上記実施形態においては、定速走行状態で、位置θ(t) を±１／２の範囲で制御する場合について説明したが、これに限定されるのもではなく、例えば±１／４〜±３／４程度の範囲内における任意の範囲で設定するようにしてもよく、この場合には前記（１３）〜（１５）式の左辺の値を設定範囲の値に変更すればよい。
【０１１３】
なおさらに、上記実施形態においては、加速状態から定速状態に移行し、この定速状態から減速状態に移行して停止させる場合について説明したが、これに限定されるものではなく、加速状態から定速状態に移行した後さらに加速状態に移行したり、減速状態から定速状態に移行した後再度減速状態に移行したり、様々な速度パターンでステップモータを制御することができる。
【０１１４】
【発明の効果】
以上説明したように、請求項１及び１０に係る発明によれば、ステップモータの固有振動を２次の振動系に近似させ、その２次の振動系方程式に基づいてインバータ手段に対する転流信号の出力間隔を算出し、算出した出力間隔で転流信号をインバータ手段に出力することにより、ロータの固有振動を考慮してロータ速度の最大点で転流信号を出力してインバータ手段でステップモータを１ステップ進める転流を行うことができ、モータ定数や負荷が変化しても不要な振動を確実に抑制することができるという効果が得られる。
【０１１５】
また、請求項２に係る発明によれば、インバータ手段に対すステップモータを１ステップ進める転流信号を出力する出力間隔ＴN を固有振動各周波数β及び位相角φN に基づいて算出することにより、ロータ速度が最大となる時点で次のステップに対する転流信号を正確に出力することができ、無振動整定を行うことができるという効果が得られる。
【０１１６】
さらに、請求項３に係る発明によれば、駆動回数ｎをもとに記憶テーブルを参照することにより、位相角φN を算出することができ、複雑な演算を行うことなく、位相角φN を算出することができ、出力間隔ＴN の算出も固有振動角周波数βの逆数１／βを予め算出して記憶しておくことにより、和演算と積演算とを夫々１回行うだけで容易に行うことができるという効果が得られる。
【０１１７】
さらにまた、請求項４に係る発明によれば、加速状態から定速状態に移行する際に、加速時の出力間隔ＴN に定速時の出力間隔ＴN ′＝（１／β）sin -1（１／２√ｎ）を加算することにより、転流信号の出力を遅らせて、振動を生じることなく定速状態に移行させ、その後定速時の出力間隔ＴN ′毎に転流信号をインバータ手段に供給することにより、不要な振動を確実に抑制して定速状態を維持することができるという効果が得られる。
【０１１８】
なおさらに、請求項５に係る発明によれば、駆動回数ｎを基に記憶テーブルを参照することにより、直ちにsin -1（１／２√ｎ）を算出することができ、定速時の出力間隔ＴN ′の算出も１／βを予め算出して記憶しておくことにより、和演算と積演算とを夫々１回行うだけで定速時の出力間隔ＴN ′を容易に行うことができるという効果が得られる。
【０１１９】
また、請求項６に係る発明によれば、インバータ手段に供給する転流信号をパルス幅変調手段でパルス幅変調して供給し、そのデューティ比を制御することにより、ステップモータに供給する駆動電流を制御することにより、加減速時の加減速度を制御することができるという効果が得られる。
【０１２０】
さらに、請求項７に係る発明によれば、駆動制御開始する前に、固有振動角周波数計測手段で固有振動角周波数βを計測するようにしているので、個々のステップモータに最適な転流信号制御を行うことができるという効果が得られる。
【０１２１】
さらにまた、請求項８に係る発明によれば、停止状態からスナップモータのロータを１ステップ分駆動し、このときの経過時間を計測して固有振動角周波数βを算出する。このとき、ロータの１ステップ分はロータの回転方向を計測可能なエンコーダを使用してロータが正転を始めてから逆転する迄の時間又は逆転を始めてから正転するまでの時間を計測し、これを２倍すれば固有振動角周波数βを正確に算出することができるという効果が得られる。
【０１２２】
なおさらに、請求項９に係る発明によれば、３相ステップモータである場合には、開放相に現れる逆起電力波形からロータの正逆転を検出することができ、エンコーダを用いることなく、ロータの正逆転の経過時間を計測することにより、固有振動各周波数βを正確に算出することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すブロック図である。
【図２】還流ダイオード導通検出回路の具体的構成を示すブロック図である。
【図３】ロータ振動時に回転方向が逆転した時点を検出する原理を説明する説明図である。
【図４】開放相をＢ相としたときのチョッピングシーケンスを示す説明図である。
【図５】還流ダイオードの導通状態を示す説明図である。
【図６】制御回路の制御処理の一例を示すフローチャートである。
【図７】図６の固有振動角周波数計測処理の具体例を示すフローチャートである。
【図８】図６の加速制御処理の具体例を示すフローチャートである。
【図９】図６の定速制御処理の具体例を示すフローチャートである。
【図１０】図６の減速制御処理の具体例を示すフローチャートである。
【図１１】本発明の動作の説明に供するタイムチャートである。
【図１２】位置応答特性の実験結果を示す説明図である。
【図１３】慣性モーメントを２．５倍に設定した場合の位置応答特性の実験結果を示す説明図である。
【符号の説明】
１０  ３相ＨＢ（ハイブリッド）ステップモータ
２０  駆動回路
２１  商用交流電源
２２  コンバータ
２３  インバータ
３０  還流ダイオード導通検出回路
３１  コンパレータ部
３２  演算増幅器
３３  演算増幅器
３４  導通ダイオード変化検出部
４０  制御回路
４１  パルス幅変調回路
Ｄａ+   還流ダイオード
Ｄａ-   還流ダイオード
Ｄｂ+   還流ダイオード
Ｄｂ-   還流ダイオード
Ｄｃ+   還流ダイオード
Ｄｃ-   還流ダイオード
Ｔａ+   トランジスタ
Ｔａ-   トランジスタ
Ｔｂ+   トランジスタ
Ｔｂ-   トランジスタ
Ｔｃ+   トランジスタ
Ｔｃ-   トランジスタ
【図１】
0003788169.tif 000003
【図２】
0003788169.tif 000004
【図３】
0003788169.tif 000005
【図４】
0003788169.tif 000006
【図５】
0003788169.tif 000007
【図６】
0003788169.tif 000008
【図７】
0003788169.tif 000009
【図８】
0003788169.tif 000010
【図９】
0003788169.tif 000011
【図１０】
0003788169.tif 000012
【図１１】
0003788169.tif 000013
【図１２】
0003788169.tif 000014
【図１３】
0003788169.tif 000015