(57)【特許請求の範囲】
【請求項１】
回転子と固定子巻線とを備えたセンサレスモータの駆動装置であって、
前記センサレスモータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、
前記パルス信号を利用して前記センサレスモータの転流制御を行う転流制御手段と、
前記転流制御における転流の基準点となる転流原点を設定する転流原点設定手段と、を備え、
当該転流原点設定手段は、初回起動時に前記センサレスモータの励磁相を、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて励磁し、二回励磁した後回転子が静止した時点で、前記転流原点を設定することを特徴とするセンサレスモータの駆動装置。
【請求項２】
前記転流制御手段は、前記パルス信号をカウントし、そのカウント値に基づいて前記センサレスモータの転流制御を行うことを特徴とする請求項１記載のセンサレスモータの駆動装置。
【請求項３】
前記転流原点設定手段は、前記転流原点を前記センサレスモータの回転方向毎に設定し、前記転流制御手段は、回転方向に応じて、各回転方向毎に設定した転流原点からのパルス信号数に基づいて転流制御を行うようになっていることを特徴とする請求項２記載のセンサレスモータの駆動装置。
【請求項４】
前記転流原点設定手段は、前記センサレスモータの回転方向毎に設定した前記各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、前記転流制御手段は、一方の転流原点を基準としてパルス信号をカウントし、回転方向が替わる毎に前記パルス信号のカウント値を前記オフセット値に応じて補正するようになっていることを特徴とする請求項３記載のセンサレスモータの駆動装置。
【請求項５】
前記センサレスモータの開放相に発生する逆起電力を検出する逆起電力検出手段と、当該逆起電力検出手段で検出した逆起電力に基づいて転流タイミングを生成する転流タイミング生成手段と、を備え、
前記転流原点設定手段は、前記転流タイミング生成手段で生成した転流タイミングの時点で、前記転流原点を更新設定するようになっていることを特徴とする請求項１乃至４の何れかに記載のセンサレスモータの駆動装置。
【請求項６】
前記転流タイミング生成手段は、前記センサレスモータの何れか一つの相の逆起電力に基づいて転流タイミングを生成するようになっていることを特徴とする請求項５記載のセンサレスモータの駆動装置。
【請求項７】
前記転流タイミング生成手段は、前記センサレスモータの回転方向毎に前記転流タイミングを生成し、前記転流原点設定手段は、前記回転方向毎の転流タイミングに基づき回転方向毎に前記転流原点を各々更新設定するようになっていることを特徴とする請求項５又は６に記載のセンサレスモータの駆動装置。
【請求項８】
前記転流原点設定手段は、前記転流タイミング生成手段で回転方向毎に生成した転流タイミングに基づいて更新設定した各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、さらに前記オフセット値を記憶する記憶手段を有し、
前記転流制御手段は、前記パルス信号をカウントし、そのカウント値に基づいて前記センサレスモータの転流制御を行い、且つ、前記更新設定した一方の転流原点を基準としてパルス信号をカウントし、回転方向が替わる毎に前記パルス信号のカウント値を前記記憶手段に記憶した前記オフセット値に応じて補正するようになっていることを特徴とする請求項７記載のセンサレスモータの駆動装置。
【請求項９】
前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御を開始したときに行うことを特徴とする請求項５乃至８の何れかに記載のセンサレスモータの駆動装置。
【請求項１０】
前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御開始時点から所定時間経過後に行うことを特徴とする請求項５乃至９の何れかに記載のセンサレスモータの駆動装置。
【請求項１１】
前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御開始時点から所定時間経過する毎に行うことを特徴とする請求項５乃至１０の何れかに記載のセンサレスモータの駆動装置。
【請求項１２】
前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータを起動する毎に行うことを特徴とする請求項５乃至１１の何れかに記載のセンサレスモータの駆動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ブラシレスＤＣモータやステップモータ等のセンサレスモータの駆動装置に関し、特に、センサレスモータの駆動対象に設けられた位置検出器を利用してセンサレスモータの転流制御を行うようにしたものである。
【０００２】
【従来の技術】
ブラシレスＤＣモータやＨＢ型ステップモータ等のように回転子に永久磁石を用いたモータの回転子位置を検出する技術として、従来から、固定子巻線の開放相（無通電相）に発生する逆起電圧を利用したものがある。
【０００３】
すなわち、励磁コイルから得られる逆起電圧を検出し、この検出した逆起電圧が中性点電圧とクロスするゼロクロス点を求めて回転子位置を検出するものである。この場合の転流制御は、例えば前記ゼロクロス点から位相を３０度シフトした点で転流動作を行うことにより実現している。
【０００４】
このため、モータが停止しているときには、励磁コイルから逆起電圧は得られず、センサレス駆動を行うことができないため、モータ停止状態から回転駆動を行うモータ起動時には、いわゆる強制転流を行って回転子を強制駆動し、これにより励磁コイルから所定値以上の逆起電圧が得られるモータ速度になってから、センサレス駆動に移行するようにしている。
【０００５】
このようなモータのセンサレス制御に対し、モータにホール素子を設けこれによって回転子の位置を検出し、これに基づいてモータを駆動する方法等も知られている。
【０００６】
【発明が解決しようとする課題】
しかしながら、逆起電圧に基づいてセンサレス制御を行う場合には、上述のように低速では転流制御を行うことができないため、停止、起動を繰り返すような制御を行う場合には不向きである。また、ホール素子等を用いて制御する方法によれば、低速でも制御を行うことができるが、回転子磁極の磁極分割幅のばらつきや、ホール素子の設置位置のばらつき等が、そのまま転流タイミングの誤差として制御の精度に影響するため、逆起電圧が検出可能な速度範囲での動作では、逆起電圧に基づくセンサレス制御の方が前述のような誤差を含まないために安定するのが現状であり、低速であっても制御を行うことができ、且つより高精度にモータをセンサレス制御することの可能な駆動方法が望まれていた。
【０００７】
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、低速であっても確実に転流制御を行うことが可能であり、且つより高精度にセンサレスモータの制御を行うことの可能な、センサレスモータの駆動装置を提供することを目的としている。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係るセンサレスモータの駆動装置は、回転子と固定子巻線とを備えたセンサレスモータの駆動装置であって、前記センサレスモータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、前記パルス信号を利用して前記センサレスモータの転流制御を行う転流制御手段と、前記転流制御における転流の基準点となる転流原点を設定する転流原点設定手段と、を備え、当該転流原点設定手段は、初回起動時に前記センサレスモータの励磁相を、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて励磁し、二回励磁した後回転子が静止した時点で、前記転流原点を設定することを特徴としている。
また、請求項２に係るセンサレスモータの駆動装置は、前記転流制御手段は、前記パルス信号をカウントし、そのカウント値に基づいて前記センサレスモータの転流制御を行うことを特徴としている。
【０００９】
この請求項１及び請求項２に係る発明では、センサレスモータの駆動対象物が移動すると、これに伴って、この駆動対象物に設けられた位置検出用の位置検出器からパルス信号が出力され、このパルス信号に基づいて転流制御が行われる。この転流制御における転流の基準点となる転流原点は転流原点設定手段によって設定され、転流原点設定手段では、初回起動時にセンサレスモータの固定子巻線を励磁したときの静止位置、即ち引き込み位置に基づいて転流原点を設定する。
【００１０】
ここで、初回起動直前の回転子の停止位置によっては一回の励磁では回転子が回転しない場合があるが、励磁相を、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて二回の励磁を行えば、回転子は確実に回転する。そして、回転子が引き込み位置に移動し、静止した時の位置において転流原点を設定すれば、転流原点は回転子の回転時に転流すべき位置と一致する。
【００１１】
したがって、転流原点を基準点として転流制御を行い、例えば、転流原点を基準点としてパルス信号をカウントし、このカウント値が、例えば予め設定した一転流区間のパルス信号数の倍数となる毎に転流を行えば、回転子が転流すべき位置に到達する毎に転流が行われることになり、的確なタイミングで転流を行うことが可能となる。
【００１２】
また、請求項３に係るセンサレスモータの駆動装置は、請求項２に記載のセンサレスモータの駆動装置において、前記転流原点設定手段は、前記転流原点を前記センサレスモータの回転方向毎に設定し、前記転流制御手段は、回転方向に応じて、各回転方向毎に設定した転流原点からのパルス信号数に基づいて転流制御を行うようになっていることを特徴としている。
【００１３】
また、請求項４に係るセンサレスモータの駆動装置は、請求項３記載のセンサレスモータの駆動装置において、前記転流原点設定手段は、前記センサレスモータの回転方向毎に設定した前記各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、前記転流制御手段は、一方の転流原点を基準としてパルス信号をカウントし、回転方向が替わる毎に前記パルス信号のカウント値を前記オフセット値に応じて補正するようになっていることを特徴としている。
【００１４】
この請求項３及び４に係る発明では、転流原点をセンサレスモータの回転方向毎に設定している。ここで、例えばセンサレスモータの回転運動をプーリを介してベルトの直線運動に変換し、ベルトに設けられた駆動対象物を移動させるような場合には、回転方向によってベルトの伸び量が異なること等に起因して、駆動対象物の絶対位置に対する回転子の絶対位置が回転方向によって異なる場合がある。このようにずれが生じている状態で、一回転方向について設定した一つの転流原点を基準とするパルス信号カウント値に基づいて転流制御を行うと、回転方向によっては、真の回転子の転流タイミングと、パルス信号カウント値に基づく転流タイミングとがずれることになる。
【００１５】
しかしながら、前記請求項３及び４に係る発明では、転流原点をセンサレスモータの回転方向毎に設定し、回転方向に応じて、各回転方向毎に設定した転流原点からのパルス信号数に基づいて転流制御を行うから、回転方向によって転流タイミングにずれが発生するのを回避することが可能となる。
【００１６】
このとき、請求項４に係る発明のように、センサレスモータの回転方向毎に設定した各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、何れか一方の転流原点を基準としてパルス信号をカウントし、回転方向に応じた転流原点を基準とするカウント値となるように、回転方向が替わる毎にパルス信号のカウント値をオフセット値に応じて補正すれば、回転方向毎にカウント変数を用意する必要がなくなる。
【００１７】
また、請求項５に係るセンサレスモータの駆動装置は、請求項１乃至４の何れかに記載のセンサレスモータの駆動装置において、前記センサレスモータの開放相に発生する逆起電力を検出する逆起電力検出手段と、当該逆起電力検出手段で検出した逆起電力に基づいて転流タイミングを生成する転流タイミング生成手段と、を備え、前記転流原点設定手段は、前記転流タイミング生成手段で生成した転流タイミングの時点で、前記転流原点を更新設定するようになっていることを特徴としている。
【００１８】
また、請求項６に係るセンサレスモータの駆動装置は、請求項５に記載のセンサレスモータの駆動装置において、前記転流タイミング検出手段は、前記センサレスモータの何れか一つの相の逆起電力に基づいて転流タイミングを生成するようになっていることを特徴としている。
【００１９】
この請求項５及び６に係る発明では、逆起電力検出手段によってセンサレスモータの開放相つまり無通電相に発生する逆起電力が検出される。検出された逆起電力に基づいて回転子の位置を検出して転流タイミングが生成され、生成された転流タイミングの時点で転流原点が更新設定される。
【００２０】
ここで逆起電力に基づいて検出される回転子の位置は、請求項１乃至４で述べた、励磁によって回転子を静止位置に引き込んで決める回転子の位置より、高い精度が得られる。つまり、励磁によって回転子を静止位置に引き込んだ場合には、摩擦負荷等の外力とモータの発生するトルクとの釣り合いにより、回転子が電気的な安定静止点から少しずれた位置で静止するのに対し、逆起電力に基づいて検出される回転子の位置は摩擦負荷等によるずれの要因を含まないからである。
【００２１】
したがって、逆起電力に基づき転流タイミングを生成できる状態となった時点で、より高精度に回転子の位置を検出可能な逆起電力に基づいて回転子の位置を検出し、転流タイミングを生成して転流原点を更新設定する。以後、この転流原点を基準としてパルス信号をカウントし、これに基づき転流が行われるから、より高精度に転流制御を行うことが可能となる。
【００２２】
このとき、従来の逆起電力を用いたセンサレス制御の場合には、全ての相の逆起電力を順次検出し、その都度転流タイミングを生成する必要があったが、請求項６に係る発明のように、転流タイミング生成手段では、センサレスモータの全ての相ではなく、何れか一つの相の逆起電力に基づいて転流タイミングを生成するから、逆起電力を検出する回路の数を減らすことが出来ると共に、転流タイミングの生成に要する処理も軽減することが可能となる。
【００２３】
また、請求項７に係るセンサレスモータの駆動装置は、請求項５又は６に記載のセンサレスモータの駆動装置において、前記転流タイミング生成手段は、前記センサレスモータの回転方向毎に前記転流タイミングを生成し、前記転流原点設定手段は、前記回転方向毎の転流タイミングに基づき回転方向毎に前記転流原点を各々更新設定するようになっていることを特徴としている。
【００２４】
また、請求項８に係るセンサレスモータの駆動装置は、請求項７記載のセンサレスモータの駆動装置において、前記転流原点設定手段は、前記転流タイミング生成手段で回転方向毎に生成した転流タイミングに基づいて更新設定した各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、さらに前記オフセット値を記憶する記憶手段を有し、前記転流制御手段は、前記パルス信号をカウントし、そのカウント値に基づいて前記センサレスモータの転流制御を行い、且つ、前記更新設定した一方の転流原点を基準としてパルス信号をカウントし、回転方向が替わる毎に前記パルス信号のカウント値を前記記憶手段に記憶した前記オフセット値に応じて補正するようになっていることを特徴としている。
【００２５】
この請求項７乃至８に係る発明では、転流原点設定手段では、回転方向毎に転流タイミング生成手段で生成した転流タイミングに基づき、回転方向毎に転流原点を更新設定する。ここで、例えばセンサレスモータの回転運動を、プーリを介してベルトの直線運動に変換し、ベルトに設けられた駆動対象物を移動させるような場合には、回転方向によってベルトの伸び量が異なること等に起因して、駆動対象物の絶対位置に対する回転子の絶対位置が回転方向によって異なる場合がある。このようにずれが生じている状態で、一回転方向について設定した一つの転流原点を基準とするパルス信号カウント値に基づいて転流制御を行うと、回転方向によっては、真の回転子の転流タイミングと、パルス信号カウント値に基づく転流タイミングとがずれることになる。
【００２６】
しかしながら、前記請求項７乃至８に係る発明では、センサレスモータの回転方向毎に逆起電力に基づいて転流タイミングを生成し、これに基づき回転方向毎に各々転流原点を更新設定するようにしたから、回転方向によって転流タイミングにずれが発生するのを回避することが可能となる。
【００２７】
このとき、請求項８に係る発明のように、センサレスモータの回転方向毎に更新設定した各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、さらに前記オフセット値を記憶手段に記憶しておいて、更新設定後の何れか一方の転流原点を基準としてパルス信号をカウントすると共に、回転方向が替わる毎にパルス信号のカウント値を前記記憶しておいたオフセット値に応じて補正し、回転方向に応じた転流原点を基準とするカウント値となるようにすれば、回転方向毎に別のカウント変数を用意する必要がない。
【００２８】
また、請求項９に係るセンサレスモータの駆動装置は、請求項５乃至８の何れかに記載のセンサレスモータの駆動装置において、前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御を開始したときに行うことを特徴としている。
【００２９】
また、請求項１０に係るセンサレスモータの駆動装置は、請求項５乃至９の何れかに記載のセンサレスモータの駆動装置において、前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御開始時点から所定時間経過後に行うことを特徴としている。
【００３０】
また、請求項１１に係るセンサレスモータの駆動装置は、請求項５乃至１０の何れかに記載のセンサレスモータの駆動装置において、前記転流制御手段は、前記転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御開始時点から所定時間経過する毎に行うことを特徴としている。
【００３１】
さらに、請求項１２に係るセンサレスモータの駆動装置は、請求項５乃至１１の何れかに記載のセンサレスモータの駆動装置において、前記転流制御手段は、転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータを起動する毎に行うことを特徴としている。
【００３２】
この請求項９乃至１２に係る発明では、転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新を、前記センサレスモータの制御を開始したときに行うから、センサレスモータの制御が開始されてセンサレスモータが回転し、その逆起電力に基づき転流タイミングを生成することが可能となった時点で転流原点の更新設定を行うことによって、制御開始の初期段階より高精度な転流原点を設定することができる。
【００３３】
また、転流原点の更新を、制御開始時点から所定時間経過後に行い、例えばセンサレスモータの駆動開始に伴う温度環境の変化が平衡状態となった時点で転流原点を更新設定することによって、温度環境が安定した状態での転流原点を設定することができる。また、センサレスモータの制御開始時点から所定時間経過する毎に転流原点を更新設定することにより、温度環境の変化に応じて転流原点を設定することができる。さらには、センサレスモータを起動する毎、つまりセンサレスモータが動き始める毎に行うことによって、現状に応じた転流原点を設定することが可能となる。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を伴って説明する。
【００３５】
まず、本発明の第１の実施の形態を説明する。
【００３６】
図１は、本発明を適用したブラシレスモータ１の駆動回路１０を示す構成図である。
【００３７】
センサレスモータとしてのブラシレスモータ１は、Ｕ相、Ｖ相、Ｗ相という三つの固定子巻線がスター結線された三相ブラシレスモータである。駆動回路１０は、インバータ１１を有し、そのインバータ１１の各出力端子が、ブラシレスモータ１のＵ相〜Ｗ相の各端子に接続されている。インバータ１１は、例えば電源側トランジスタ及び接地側トランジタを接続した組をＵ相〜Ｗ相に対応して三組備えた公知の構成を備えていて、インバータに含まれる合計六つのトランジスタのオン・オフが、転流制御回路１２から供給される転流信号によって制御されることによって、ブラシレスモータ１の各相が順に励磁されて回転駆動されるようになっている。
【００３８】
前記ブラシレスモータ１の回転軸には、例えばプーリを介してプリンタのキャリッジ移動機構が連結されている。例えば図２に示すように、二つのプーリ２２ａ，２２ｂ間に渡したベルト２３にキャリッジ２１が取り付けられ、ブラシレスモータ１の回転力を一方のプーリ２２ｂに伝達することによって、ベルト２３が移動し、これによってキャリッジ２１を移動させるようになっている。
【００３９】
前記キャリッジ２１には、キャリッジ位置を検出するためのリニアエンコーダ等の位置検出器１５が設けられ、この位置検出器１５からのパルス信号に基づいてブラシレスモータ１の転流制御を行うように構成されている。
【００４０】
前記転流制御回路１２は、例えばマイクロコンピュータ、後述の転流定数Ｔ等を記憶するための記憶装置（記憶手段）、等を含んで構成されている。また、前記転流制御回路１２には前記位置検出器１５から二種類の検出信号が入力されている。また、前記転流制御回路１２は、カウント変数としての積算値Ｓを有しており、ブラシレスモータ１に対して初期励磁引き込みを行った際、回転子が移動し、静止した時の引き込み位置を、転流タイミングを生成する際の基準となる転流原点として、積算値Ｓを“０”に設定する。そして、前記位置検出器１５からのパルス信号を受信する毎にブラシレスモータ１の回転方向を考慮して、積算値Ｓに予め設定した転流定数Ｔを加算或いは減算し、これに基づき転流タイミングを生成する。なお、前記転流定数Ｔは、一転流区間におけるパルス信号数である区間パルス数Ｍの逆数１／Ｍである。
【００４１】
また、前記転流制御回路１２は、インバータ１１の各トランジスタのうち、オンさせるトランジスタの組み合わせを数値化して管理する転流モードという変数を有しており、前記転流モードの値に１対１に対応する転流信号を出力するように構成されている。前記転流信号は、インバータ１１の図示しない各トランジスタのオン・オフを個別に制御する信号列で、生成した前記転流タイミングに同期して前記転流モードの値を適切に切り換え（以降転流モード切換と呼ぶ）ていくことによって、ブラシレスモータ１の固定子巻線Ｕ相〜Ｗ相の励磁切換が適切に行われ、ブラシレスモータ１の回転が実現される。さらに、前記転流制御回路１２は、公知のブラシレスモータにおける駆動制御処理と同様にして、前記位置検出器１５からのパルス信号から、キャリッジの速度或いは位置をリアルタイムで計測し、例えばＰＷＭ信号のような制御信号を前記転流信号に重畳して、キャリッジの速度制御、位置制御を実現するように構成されている。
【００４２】
前記転流定数Ｔは、次のようにして設定する。つまり、転流定数Ｔを区間パルス数Ｍ回加算したときに一転流区間となるから、例えばブラシレスモータ１が一回転する間に位置検出器１５から出力されるパルス信号数を計測し、計測した回転子一回転当たりのパルス信号数を、回転子一回転に必要な転流回数で除して一転流区間におけるパルス信号数を算出し、この逆数を転流定数Ｔとする。
【００４３】
次に、上記第１の実施の形態の動作を、転流制御回路１２での処理手順の一例を示すフローチャートに基づいて説明する。
【００４４】
転流制御回路１２では、例えばプリンタの電源スイッチがオンされるなどして、前記制御回路１０が起動されると、図３に示すメインルーチンが起動され、まず、ステップＳ１０１で図４に示す転流原点設定処理を実行する。ここで、転流制御回路１２は、転流原点設定手段としての初期引き込み処理を行い、転流原点を設定する。すなわち、まず、ステップＳ２０１でブラシレスモータ１の励磁する相を表す転流モードを、予め設定した値に初期化する。すると、公知の転流制御処理と同様にして、初期化した転流モードで指定された相を励磁するための転流信号が生成され、これをインバータ１１を構成する各トランジスタに出力し、各トランジスタを制御して指定された相を励磁する。これにより、一回目の回転子引き込みが行われる。
【００４５】
次に、ステップＳ２０２で回転子が静止したかどうかを判定し、静止していればステップＳ２０３に移行する。ステップＳ２０３では、上位装置から転流モード切換指示があったかどうかを判定し、転流モード切換指示がなければ、指示があるまで待機する。転流モード切換指示があればステップＳ２０４に移行して、公知の転流制御処理と同様にして転流モードを切り換える。これにより、二回目の回転子引き込みが行われる。その後、ステップＳ２０５で回転子が静止したかどうかを判定し、静止状態となったときにステップＳ２０６に移行して、この静止位置を転流原点として、積算値ＳをＳ＝０に設定する。図４の転流原点設定処理が完了すると、図３のメインルーチンに戻り、ステップＳ１０２に移行する。
【００４６】
ここで、転流原点設定処理を行なう場合の回転子の動きについて説明する。図６のブラシレスモータ１の回転子の位置変化に伴う励磁相とトルクとの対応を表す説明図に示すように、回転子が例えば電気角で１８０度の位置にある場合には、転流モードの初期値としてＢ相からＣ相に電流が流れるように制御した場合、回転子が図６において角度が増加する方向に回転して２７０度の位置に移動し、さらに転流モードを切り換えてＢ相からＡ相に電流が流れるように制御すると、回転子が同方向にさらに回転して３３０度の位置に移動する。
【００４７】
ここで、一回目の励磁で回転子が動かない場合を考える。二通りの場合が考えられるが、まず一通り目の場合は、回転子の停止位置が、一回目の励磁による引き込み位置と電気角で１８０度ずれた位相関係であった場合である。この場合、励磁により回転子は右回転方向と左回転方向の両方向に同じ大きさの回転トルクを受けるため、回転力が釣り合ってしまって動けない状態になる。例えば図６において回転子が９０度の位置で静止していた場合、転流モードの初期値としてＢ相からＣ相に電流が流れるように制御すると、引き込み位置は２７０度の位置になるので、電気角で１８０度ずれた位相関係となり、回転力が釣り合ってしまって動けない状態になる。この位置を「不安定静止点」と称するが、これは本来一回目の励磁によって引き込まれるべき「安定静止点」と異なる位置であるため、この位置を引き込み位置であるとして転流原点を設定すると、それ以降、誤った位置で転流を行うことになってしまい、正しい制御ができなくなる。しかし、励磁相を、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて二回の励磁を行えば、一回目の励磁のときに引き込み位置から電気角で１８０度ずれた位相関係にあって回転子が静止したままであった場合でも、二回目の励磁を始めるときの回転子の位置は、二回目の励磁による引き込み位置とは必ず１８０度以外の位相関係となり、回転子は確実に回転する。例えば回転子が前記９０度の位置で静止しており、一回目の励磁で動けなかった場合、二回目の励磁をＢ相からＡ相に電流が流れるように制御すると、引き込み位置は３３０度の位置になるので回転子は図６で角度が減少する方向に移動するトルクを受けて回転し、所定の位置に引き込まれることになる。なお、図６の横軸は電気角を示しているので、９０度の位置は４５０度の位置と同じである。そして、回転子が引き込み位置に移動し、静止した時の位置において転流原点を設定すれば、転流原点は回転子の回転時に転流すべき位置と一致する。
【００４８】
したがって、転流原点をカウント基準点としてパルス信号をカウントし、このカウント値が、例えば予め設定した一転流区間のパルス信号数の倍数となる毎に転流を行えば、回転子が転流すべき位置に到達する毎に転流が行われることになり、的確なタイミングで転流を行うことが可能となる。
【００４９】
次に、一回目の励磁で回転子が動かない場合の二通り目の場合としては、図６においてＢ相からＣ相に電流が流れるように制御したときに、予め回転子が２７０度の近く、例えば２６０度の位置にあり、回転子に作用する引き込みトルクが、モータの回転軸に作用する摩擦トルク等よりも小さく、回転子が回転しない場合がある。しかしながら、一回目の励磁でＢ相からＣ相に電流が流れるように制御した場合に回転子が回転しなくても、二回目の励磁で転流モードを切り換えてＢ相からＡ相に電流が流れるように制御すると、回転子は図６で角度が増加する方向のトルクを受けて回転し、３３０度の位置に引き込まれる。
【００５０】
つまり、一回の励磁を行っただけでは、回転子の停止位置によっては回転子が引き込みたい位置に移動しない場合があるが、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて二回の励磁を行えば、二回目の励磁では必ず回転子は移動する。そして、回転子が引き込み位置に移動し、静止した時の位置において転流原点を設定し、積算値ＳをＳ＝０にセットする。
【００５１】
ここで、一回目の励磁と二回目の励磁とは、電気角で１８０度またはその整数倍以外の位相関係であれば良く、たとえば三相モータであれば６０度、１２０度、２４０度、２７０度等のいずれでも良い。
【００５２】
このようにして、精算値Ｓを初期値“０”に設定する、すなわち転流原点を設定すると、以後ブラシレスモータ１の転流制御が可能となる。ステップＳ１０２で上位装置からモータの起動指令が入力されると、ステップＳ１０３に移行して、図５に示す起動処理を実行する。図５の起動処理においては、まずステップＳ３０１において、上位装置から出される回転指示方向を判別し、正転方向への回転指示が出されていれば正転方向に励磁位相を切り換える等して正転時起動処理を実行し（ステップＳ３０２）、逆転方向への回転指示が出されていれば逆転方向に励磁位相を切り換える等して逆転時起動処理を実行する（ステップＳ３０２）。その後、図３のメインルーチンに戻り、ステップＳ１０４に移行する。ステップＳ１０３の起動処理によって、ブラシレスモータ１が回転し、その回転力がプーリ２２ｂを介してキャリッジ２１に伝達されキャリッジ２１が移動すると、キャリッジ２１に取り付けられた位置検出器１５から位相の異なる二種類のパルス信号が出力される。
【００５３】
ステップＳ１０４において、位置検出器１５からのパルス信号のエッジが検出されると、ステップＳ１０５に移行し、図７に示す転流制御処理を実行する。図７の転流制御処理においては、まず二種類のパルス信号からブラシレスモータ１が正転しているか逆転しているかを判定する（ステップＳ４０１）。正転している場合には、ステップＳ４０１からステップＳ４０２に移行し、積算値Ｓに、予め設定し所定の記憶領域に格納している転流定数Ｔを加算する。次に、ステップＳ４０３に移行し、積算値Ｓが“１”以上かどうかを判定し、積算値Ｓが“１”以上でないときにはそのまま転流制御処理を終了する。
【００５４】
また、ステップＳ４０３で積算値Ｓが“１”以上であるときには、ステップＳ４０４に移行し、転流タイミングであるとして正転方向に転流モードを切り換える。そして、ステップＳ４０５に移行して、積算値Ｓから“１”を減算した後、転流制御処理を終了する。
【００５５】
一方、ステップＳ４０１でブラシレスモータ１が逆転していると判定された場合には、ステップ３０１からステップ３０６に移行し、積算値Ｓから転流定数Ｔを減算する。次に、ステップＳ４０７に移行し、積算値Ｓが“０”以下かどうかを判定し、積算値Ｓが“０”以下でないときにはそのまま転流制御処理を終了する。
【００５６】
また、ステップＳ４０７で積算値Ｓが“０”以下であるときには、ステップＳ４０８に移行し、転流タイミングであるとして逆転方向に転流モードを切り換える。そして、ステップＳ４０９に移行して、積算値Ｓに“１”を加算した後、転流制御処理を終了する。
【００５７】
以上のようにして図７の転流制御処理が終了すると、図３のメインルーチンに戻り、ステップＳ１０６に移行する。ステップＳ１０６では、プリンタの電源スイッチがオフされるなどして、上位装置からメインルーチンの終了指示が出されたかどうかを判別する。終了指示が出されれば、図３のメインルーチンを終了し、終了指示が出されていなければ、ステップＳ１０２に戻る。
【００５８】
以後、ステップＳ１０２→Ｓ１０４→Ｓ１０５→Ｓ１０６の処理を繰り返し行い、エンコーダパルスエッジが検出される毎に、実際の回転方向に応じて積算値Ｓに転流定数Ｔを加算又は減算し、積算値Ｓの値が加算時には“１”以上、減算時には“０”以下になる毎に転流を行う。また、キャリッジ２１が停止している間は、図３のメインルーチンでは、ステップＳ１０２→Ｓ１０４→Ｓ１０６の処理が繰り返し行われ、停止状態から例えばキャリッジ２１を反転させるために、上位装置より再び起動指令が出されれば、ステップＳ１０２からステップＳ１０３に移行し、以後上述したのと同様に転流制御が行われる。
【００５９】
このように、上記第１の実施の形態においては、転流の基準となる転流原点を設定する際に、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて励磁することにしたので、引き込む前の回転子の位置に関係なく、確実に回転子を引き込み位置に移動させることができ、したがって、転流原点における積算値Ｓの値を高い位置精度で“０”に設定することが可能となる。
【００６０】
さらに、パルス信号あたりのモータの回転量から転流定数Ｔを算出し、ブラシレスモータ１の回転に伴って、パルス信号のエッジが検出される毎にその回転方向に応じて積算値Ｓに対して転流定数Ｔを加減算する。このとき、積算値Ｓに対して加算している時には、積算値Ｓが“１”以上となる毎に転流を行うと同時に積算値Ｓから“１”を減算し、また積算値Ｓに対して減算している時には、積算値Ｓが“０”以下となる毎に転流を行うと同時に積算値Ｓに“１”を加算するようにしたから、ブラシレスモータ１の回転速度に関係なく、高精度な転流制御を行うことができると共に、積算値Ｓの桁数の増加を回避することができることから、演算に要する資源を節約することもできる。
【００６１】
次に、本発明の第２の実施の形態を説明する。
【００６２】
この第２の実施の形態は、図８に示すように、駆動回路１０に、逆起電力検出手段としてのゼロクロス検出回路１３が追加され、転流制御回路１２での処理手順が異なること以外は、上記第１の実施の形態と同様であるので同一部には同一符号を付与しその詳細な説明は省略する。
【００６３】
前記ゼロクロス検出回路１３は、例えばコンパレータ等で構成され、インバータ１１の何れか一つの相の逆起電力電圧を検出し、前記逆起電力電圧の中点電圧を検出した時点つまりゼロクロスで、前記ゼロクロス直前の逆起電力電圧の極性を判別し、その極性が正ならば“Ｈ”レベルの信号、逆に極性が負であるときには“Ｌ”レベルの信号を前記転流制御回路１２に出力するよう構成される。
【００６４】
前記転流制御回路１２では、上記第１の実施の形態と同様にして積算値Ｓに基づいて転流モードの切り換えを行うと共に、ブラシレスモータ１が、前記逆起電圧のゼロクロスに基づいて転流タイミングの生成を行うことが可能な回転速度となったときには、ゼロクロスに基づき転流タイミングを生成し、転流原点の更新設定を行う。
【００６５】
すなわち、この第２の実施の形態では、例えばプリンタの電源スイッチがオンされるなどして、前記制御回路１０が起動されると、前記転流制御回路１２は、上記第１の実施の形態と同様に、図３に示すメインルーチンを起動する。そしてまずステップＳ１０１で、第１の実施の形態と同様に図４に示した転流原点設定処理を実行し、積算値ＳをＳ＝０に設定して転流原点を設定した後、ステップＳ１０２に移行する。そして上位装置からブラシレスモータ１の起動指令があると、ステップＳ１０３に移行し、第１の実施の形態と同様に図５に示した起動処理を実行する。これによって、ブラシレスモータ１が回転し、その回転力がプーリ２２ｂを介してキャリッジ２１に伝達されキャリッジ２１が移動すると、キャリッジ２１に取り付けられた位置検出器１５から位相の異なる二種類のパルス信号が出力される。
【００６６】
ステップＳ１０４において、位置検出器１５からのパルス信号のエッジが検出されると、ステップＳ１０５に移行し、図９に示す転流制御処理を実行する。図９の転流制御処理においては、まず、ステップＳ５０１で転流原点リセットフラグＦＲＳが“０”であるかどうかを判定し、ＦＲＳ＝０であるときには、ステップＳ５０２に移行する。なお、前記転流原点リセットフラグＦＲＳは、転流原点の更新設定が完了していれば“１”、完了していなければ“０”の値をとり、初回起動時にはＦＲＳ＝０に設定されている。
【００６７】
ステップＳ５０２では、転流原点のリセットが可能であるかどうか、つまり、ブラシレスモータ１が、逆起電力電圧に基づき転流タイミングを生成することの可能な速度にあるかどうかを、例えば、単位時間当たりのパルス信号数等に基づいて判定し、転流原点リセットが可能でないとき、つまり、ブラシレスモータ１が低速で回転している状態では、ステップＳ５０２からステップＳ５０５に移行し、前記図６に示した転流制御処理を実行する。
【００６８】
つまり、例えば正転しているときには図７のステップＳ４０１からステップＳ４０２に移行して、パルス信号のエッジを検出する毎に予め設定した転流定数Ｔを積算値Ｓに加算し、積算値Ｓが“１”以上になったときにステップＳ４０３からステップＳ４０４に移行して転流モードの切り換えを行い、ステップＳ４０５に移行して積算値Ｓから“１”を減算する。
そして、ブラシレスモータ１の回転速度が上がり、逆起電力電圧を検出可能な速度を越えると、ステップＳ５０２からステップＳ５０３に移行し、図１０に示す、転流タイミング生成手段としての転流原点リセット処理を実行する。
【００６９】
図１０の転流原点リセット処理においては、まずステップＳ６０１で、ゼロクロス検出回路１３で逆起電圧のゼロクロスを検出したかどうかを判定し、ゼロクロスを検出したときにステップＳ６０２に移行する。そして、カウンタＣＴとして、一転流区間の位置検出器１５からのパルス信号数の１／２の値を設定する。例えば、予め転流定数Ｔを算出する際に検出した一転流区間におけるパルス信号数Ｐの１／２を四捨五入した整数値ｒｏｕｎｄ（Ｐ／２）  を設定する。
【００７０】
次に、ステップＳ６０３に移行し、位置検出器１５から出力されるパルス信号のエッジを検出すると、ステップＳ６０３からステップＳ６０４に移行し、カウンタＣＴを“１”だけデクリメントする。そして、カウンタＣＴの値が“０”となっていないときには、ステップＳ６０５からステップＳ６０３に戻り、次のパルスエッジが検出されるのを待ち、カウンタＣＴがＣＴ＝０になると、転流すべきタイミングになったとしてステップＳ６０６に移行する。すなわち、逆起電圧のゼロクロスが検出されてから、一転流区間の１／２の期間つまり電気角で３０度分位相を遅らせた時点を以て転流タイミングとする。ステップＳ６０６では、実際に回転している方向が正転かどうかを判別し、正転していればステップＳ６０７に移行して正転方向に転流モードを切り換えて、ステップＳ６０９に移行する。また、逆転していればステップＳ６０６からステップＳ６０８に移行して逆転方向に転流モードを切り換えて、ステップＳ６０９に移行する。そしてステップＳ６０９で転流原点を更新設定したとして積算値Ｓの値を“０”にリセットし、転流原点の更新設定を完了する。その後、図１０から図９に戻り、ステップＳ５０３からステップＳ５０４に移行し、転流原点リセットフラグＦＲＳを“１”にセットする。
【００７１】
以後、転流原点リセットフラグＦＲＳがＦＲＳ＝１に設定されているから、図３においてステップＳ１０４でパルスエッジが検出される毎に、図９のステップＳ５０１からステップＳ５０５に移行して、上記第１の実施の形態において説明した図７の転流制御処理を実行し、順次更新される積算値Ｓの値に基づいて転流モードの切り換えを行う。
【００７２】
したがって、上記第２の実施の形態においても、上記第１の実施の形態と同等の作用効果を得ることができる。さらに、上記第２の実施の形態においては、開放相に発生する逆起電圧のゼロクロスから、一転流区間の１／２の期間つまり電気角で３０度分位相を遅らせた時点を以て転流タイミングを生成し、この瞬間に積算値Ｓをリセットすなわち転流原点を更新設定するようにしているから、初回起動時、ステップＳ１０１において設定した転流原点に比較的大きな誤差が生じたとしても、ステップＳ５０３における転流原点の更新設定後には、回転子の位置に対する転流原点の位置の誤差すなわち転流タイミングの精度を位置検出器１５から出力されるパルス信号の１パルス間隔以内に収めることができる。よって、転流タイミングの精度をより向上させることができると共に、常に高い精度を保つことができる。従って、トルクリップルや定速回転での速度変動を低減させることができる。
【００７３】
次に、本発明の第３の実施の形態を説明する。
【００７４】
この第３の実施の形態は、上記第１の実施の形態において、転流制御回路１２での処理手順が異なること以外は同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
【００７５】
第３の実施の形態では、キャリッジ２１が右方向に移動する際に基準とする転流原点と、左方向に移動する際に基準とする転流原点との二つを有している。上記二つの転流原点は、キャリッジ２１が特定された転流原点設定位置にある時に設定される。ここでは、上記転流原点設定位置を、例えばベルト２３の中央部付近とする。
プリンタの電源スイッチがオンされるなどして、前記制御回路１０が起動されると、前記転流制御回路１２は図１１に示すメインルーチンを起動する。そして、まずステップＳ７０１で、キャリッジ２１を上記転流原点設定位置に移動させるために使用する仮の転流原点を設定する。ステップＳ７０１では上記第１の実施の形態と同様に、図４に示す転流原点設定処理が実行される。次にステップＳ７０２に移行し、上記転流原点設定位置方向へブラシレスモータ１を起動する。ブラシレスモータ１が回転起動してキャリッジ２１が移動し、ステップＳ７０３で位置検出器１５から出力されるパルスエッジが検出されるとステップＳ７０４に移行し、図７に示した転流制御処理を実行する。そしてステップＳ７０５でキャリッジ２１が転流原点設定位置に到達したかどうか判断し、到達していなければ、ステップＳ７０３に戻り、転流原点設定位置に到達するまでステップＳ７０３〜Ｓ７０５を繰り返し実行する。ステップＳ７０５でキャリッジ２１が転流原点設定位置に到達したことが確認されると、ステップＳ７０６に移行する。この時、転流モードは直前に実行されたステップＳ７０４すなわち図７の転流制御処理終了時の転流モードの値がそのまま保持されるため、その保持された転流モードにおける引き込み位置にブラシレスモータ１の回転子が移動し、静止する。そしてステップＳ７０６では、図１２に示す転流原点設定処理を実行する。
【００７６】
図１２の転流原点設定処理では、まず、ステップＳ８０１でブラシレスモータ１の回転子が引き込み位置で停止しているかどうかを確認する。ステップＳ８０１で引き込み位置に停止したことが確認されると、ステップＳ８０２で、正転方向（ここではキャリッジ２１が右方向に移動）に強制的に１回転流モードを切り換えてステップＳ８０３に移行する。ステップＳ８０３では、ブラシレスモータ１の回転子が引き込み位置に停止したかどうかを判定する。停止していればステップＳ８０４に移行する。停止していなければ、回転子が引き込み位置に停止するまで、ステップＳ８０３の処理を繰り返し実行する。ステップＳ８０４で、この位置をキャリッジ２１が右方向に移動するときの転流原点として積算値ＳＲ  の値をＳＲ  ＝１に設定し、さらにキャリッジ２１が左方向に移動する際の転流制御に用いられる積算値ＳＬ  の値をＳＬ  ＝１に設定する。次にステップＳ８０５に移行し、後述する図１３における積算値ＳＲ  、ＳＬ  の値に基づいた転流モードの自動切換を禁止した後にステップＳ８０６に移行する。ステップＳ８０６では、今度は逆転方向（ここではキャリッジ２１が左方向に移動）に強制的に１回転流モードを切り換えてステップＳ８０８に移行する。ステップＳ８０８では積算値ＳＲ  、ＳＬ  のカウント処理としての図１３に示すカウント処理を実行する。
【００７７】
図１３のカウント処理においては、まずステップＳ９０１で、二種類のパルス信号からブラシレスモータ１が正転しているか逆転しているか、すなわちキャリッジ２１が右方向に移動しているか左方向に移動しているかを判定する。正転している場合には、上記積算値ＳＲ  、ＳＬ  に予め設定した転流定数Ｔをそれぞれ加算する（ステップＳ９０２）。
【００７８】
ここで、前記転流定数Ｔは、上記第１の実施の形態と同様に、一転流区間におけるパルス信号数である区間パルス数Ｍの逆数１／Ｍである。
【００７９】
次にステップＳ９０３に移行し、 積算値ＳＬ  の値が“１”以上であるかどうかを判定する。ＳＬ  の値が“１”未満であれば、ステップＳ９０５に移行する。また、ＳＬ  の値が“１”以上であれば、ステップＳ９０４に移行し、ＳＬの値から“１”を減算した後、ステップＳ９０５に移行する。ステップＳ９０５では、今度は積算値ＳＲ  の値が“１”以上であるかどうかを判定する。ＳＲの値が“１”未満であれば、図１３の転流カウント処理を終了し、 ＳＲ  の値が“１”以上であれば、転流タイミングであるとしてステップＳ９０６に移行する。ステップＳ９０６では、転流タイミングにあたるため通常は正転方向に転流モードを切り換えるが、ここで説明している図１３の転流カウント処理は、図１２のステップＳ８０８で実行される処理になっており、ステップＳ８０５でＳＲ  、ＳＬ  の値に基づく転流モードの自動切換が禁止されているので、ステップＳ９０６での転流モード切換は行わずにステップＳ９０７に移行する。ステップＳ９０７では、ＳＲ  の値から“１”を減算した後、図１３の転流カウント処理を終了する。
【００８０】
一方、ステップＳ９０１において逆転していると判定された場合には、ステップＳ９０８に移行し、積算値ＳＲ  、ＳＬ  から転流定数Ｔをそれぞれ減算する。次にステップＳ９０９に移行し、 積算値ＳＲ  の値が“０”以下であるかどうかを判定する。 ＳＲ  の値が“０”より大きければ、ステップＳ９１１に移行し、一方、ＳＲ  の値が“０”以下であれば、ステップＳ９１０に移行し、ＳＲ  の値に“１”を加算した後、ステップＳ９１１に移行する。ステップＳ９１１では、今度は積算値ＳＬ  の値が“０”以下であるかどうかを判定する。ＳＬの値が“０”より大きければ、図１３の転流カウント処理を終了し、 ＳＬ  の値が“０”以下であれば、転流タイミングであるとしてステップＳ９１２に移行する。ステップＳ９１２では、転流タイミングにあたるため通常は逆転方向に転流モードを切り換えるが、ここでの図１３の転流カウント処理は、上述したように、ＳＲ  、ＳＬ  の値に基づく転流モードの自動切換が禁止されているので、ステップＳ９１２で転流モード切替は行わずにステップＳ９１３に移行する。ステップＳ９１３では、ＳＬ  の値に“１”を加算した後、図１３の転流カウント処理を終了する。
【００８１】
図１２のステップＳ８０８つまり図１３の処理が終了すると、ステップＳ８０９に移行し、ブラシレスモータ１の回転子が引き込み位置に停止したかどうかを判定する。停止していなければ、ステップＳ８０７に移行し、以後回転子が引き込み位置に停止するまで、ステップＳ８０７〜Ｓ８０９の処理を繰り返し実行する。つまり、パルスエッジが検出される毎に、回転方向に応じて上記積算値ＳＲ、ＳＬ  に転流定数Ｔを加算又は減算し、ＳＲ  、ＳＬ  の値が“１”以上又は“０”以下となる毎にＳＲ  、ＳＬ  の値に“１”を減算または加算することにより、ＳＲ  、ＳＬ  のカウント処理を行う。なおこの時、ＳＲ  、ＳＬ  の値に依らず転流モードの切り換えは行わない。
【００８２】
ステップＳ８０９で回転子が引き込み位置に停止したことが確認されると、この位置を、キャリッジ２１が左方向に移動するときの転流原点として、積算値ＳＬ  の値を更新設定する。ここで、上位装置から指示される転流原点設定処理完了後の回転方向によって、積算値ＳＬ  には異なる値を設定する。ステップＳ８１０で前記回転方向が正転（ここではキャリッジ２１が右方向に移動）と指示されている場合には、ステップＳ８１１に移行し、積算値ＳＬ  をＳＬ  ＝０に設定する。一方、ステップＳ８１０で前記回転方向が逆転（ここではキャリッジ２１が左方向に移動）と指示されている場合には、ステップＳ８１２に移行し、積算値ＳＬ  をＳＬ  ＝１に設定する。その後ステップＳ８１３に移行し、積算値ＳＲ  、ＳＬ  の値に基づく転流モードの自動切換を許可して、図１２に示した転流原点設定処理が完了する。
【００８３】
図１２の転流原点設定処理、すなわち図１１のステップＳ７０６の処理が終了すると、図１２のステップＳ７０７に移行し、上位装置からブラシレスモータ１の起動指令パルスが出されているかどうかを判別し、起動指令パルスが出されていると、ステップＳ７０８に移行し、第１の実施の形態と同様に図５に示した起動処理を実行し、ステップＳ７０９に移行する。キャリッジ２１が移動し、位置検出器１５から出力される信号のパルスエッジがステップＳ７０９で検出されると、ステップＳ７１０に移行し、今度は転流制御処理として、図１３に示した転流制御処理を実行する。つまり、図１３のステップＳ９０６又はＳ９１２に移行したときに、ここでは、正転方向又は逆転方向に転流モードを切り換える。それ以外の処理については、上述した図１２におけるステップＳ８０８での転流カウント処理と同一であるので、同じ説明は省略する。ステップＳ７１０の転流制御処理を実行すると、次にステップＳ７１１に移行し、プリンタの電源スイッチがオフされるなどして、上位装置からメインルーチンの終了指示が出されたかどうかを判別する。終了指示が出されれば、図１１のメインルーチンを終了し、終了指示が出されていなければ、ステップＳ７０７に戻る。
【００８４】
以後、キャリッジ２１が移動している間は、ステップＳ７０７→Ｓ７０９→Ｓ７１１の処理を繰り返し行う。繰り返し処理の途中、ステップＳ７０９でパルスエッジが検出される毎にステップＳ７１０の処理を行い、実際の回転方向に応じて積算値ＳＲ  、ＳＬ  に転流定数Ｔを加算又は減算し、キャリッジ２１が右方向に移動しているときには右方向の積算値ＳＲ  の値が“１”以上となる毎に転流モードを切り換え、左方向に移動しているときには左方向の積算値ＳＬ  の値が“０”以下となる毎に転流モードを切り換えることによって転流制御を行う。
【００８５】
また、キャリッジ２１が停止している間は、図１１のメインルーチンでは、ステップＳ７０７→Ｓ７０９→Ｓ７１１の処理だけが繰り返し行われ、停止状態から例えばキャリッジ２１を反転させるために、上位装置より再び起動指令が出されれば、ステップＳ７０７からステップＳ７０８に移行し、以後上述したのと同様に転流制御が行われる。
【００８６】
ここで、例えば前記図２に示すように、ブラシレスモータ１の回転運動をプーリ２２ａ，２２ｂによってベルト２３の直線運動に変換し、このベルト２３によってキャリッジ２１を駆動するような場合、ブラシレスモータ１の回転力がキャリッジ２１に伝達されるまでの経路、つまりベルト２３の長さが、正転時と逆転時とでは異なるため、回転方向を切り替えるとベルト２３の伸び量に応じて、回転子位置とキャリッジ２１の絶対位置とがずれることになる。つまりキャリッジ２１の絶対位置に対する回転子の絶対位置が回転方向によって異なることになる。
【００８７】
しかしながら、上記第３の実施の形態においては、正転時と逆転時とで転流原点を個別に設け、正転時には積算値ＳＲ  、逆転時には積算値ＳＬ  に基づいて転流タイミングを生成するようにしたから、ベルトの伸び量に応じた誤差が除去されることになって、ブラシレスモータ１の回転方向の違いに起因する転流タイミングのずれの発生を回避することができ、的確なタイミングで転流を行うことができる。
【００８８】
したがって、例えば経時変化等によってキャリッジの動きが重くなったとき、或いはベルト全体が伸びやすくなってしまった場合等においても的確なタイミングで転流を行うことができる。
【００８９】
なお、このとき、図１２のステップＳ８１１又はステップＳ８１２の処理で積算値ＳＬ  の値をＳＬ  ＝０又はＳＬ  ＝１に設定したときの積算値ＳＲ  の値を原点誤差ΔＳとし、例えば積算値ＳＲ  を基準として、回転方向が切り換わる毎に、前記原点誤差ΔＳを前記積算値ＳＲ  に加算又は減算して転流原点をオフセットするようにしてもよい。
【００９０】
すなわち、図１１のステップＳ７０８の起動処理において、ここでは図１４に示す起動処理を実行する。図１４の起動処理では、まずステップＳ１００１で上位装置から指示される回転指示方向を判別し、正転と指示されている場合にはステップＳ１００２に移行し、回転方向が変更されたかどうかを判別する。回転方向が変更されていない場合、つまり引き続き正転で起動する場合には、ステップＳ１００２からステップＳ１００６に移行し、正転時の起動処理を行う。回転方向が変更されている場合、つまり逆転から正転に反転する場合には、ステップＳ１００２からステップＳ１００３に移行し、積算値ＳＲ  の値に原点誤差ΔＳを加算する。次いでステップＳ１００４に移行し、積算値ＳＲ  の値が“１”以上であるかどうか判定し、“１”未満であればそのままステップＳ１００６に移行し、“１”以上であれば、ステップＳ１００５に移行してＳＲ  の値から“１”を減算した後ステップＳ１００６に移行して、正転時の起動処理を行い、図１４の起動処理を終了する。
【００９１】
一方、ステップＳ１００１で上位装置から逆転方向と指示されている場合には、ステップＳ１００７に移行し、同様に回転方向が変更されたかどうかを判別する。回転方向が変更されていない場合、つまり引き続き逆転で起動する場合には、ステップＳ１００７からステップＳ１０１１に移行し、逆転時の起動処理を行う。回転方向が変更されている場合、つまり正転か逆転に反転する場合には、ステップＳ１００７からステップＳ１００８に移行し、積算値ＳＲ  の値から原点誤差ΔＳを減算する。次いでステップＳ１００９に移行し、積算値ＳＲ  の値が“０”以下であるかどうか判定し、“０”より大きければそのままステップＳ１０１１に移行し、“０”以下であれば、ステップＳ１０１０に移行してＳＲ  の値に“１”を加算した後ステップＳ１０１１に移行して、逆転時の起動処理を行い、図１４の起動処理を終了する。
【００９２】
このようにすることで、その後実行される転流制御処理は、図７に示した転流制御処理中の積算値ＳをＳＲに置き換えたもので実現することが可能になる。つまり、回転方向が切り替わる毎に、積算値ＳＲの値を原点誤差ΔＳを用いて補正すれば、転流制御処理を簡略化することが可能になる。
【００９３】
次に、本発明の第４の実施の形態を説明する。
【００９４】
この第４の実施の形態は、上記第２の実施の形態において、転流制御回路１２での処理手順が異なること以外は同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
【００９５】
第４の実施の形態では、上記第３の実施の形態と同様に、キャリッジ２１が右方向に移動する際に基準とする転流原点と、左方向に移動する際に基準とする転流原点との二つを有し、上記ゼロクロス検出回路１３で検出される、ブラシレスモータ１の固定子巻線の開放相に発生する逆起電圧のゼロクロスに基づいて、前記二つの転流原点を更新設定する。
【００９６】
プリンタの電源スイッチがオンされるなどして、前記制御回路１０が起動されると、前記転流制御回路１２は、上記第１の実施の形態と同様に、図３に示すメインルーチンを起動する。そして、まずステップＳ１０１において、図１５に示す転流原点設定処理を実行する。図１５の転流原点設定処理では、第１の実施の形態における図４の転流原点設定処理と同様に、ステップＳ２０１〜Ｓ２０５において、回転子の引き込み動作を２回行う。回転子が引き込み位置で静止したとき、ステップＳ２０５からステップＳ２０７に移行して、キャリッジ２１が右方向に移動する際の転流制御に用いられる積算値ＳＲ  の値を“０”に、左方向に移動する際の転流制御に用いられる積算値ＳＬ  の値を“１”に設定し、転流原点を設定する。その後、ステップＳ１０２に移行し、上位装置からブラシレスモータ１の起動指令があると、ステップＳ１０３に移行し、第１の実施の形態と同様に図５に示した起動処理を実行する。キャリッジ２１が移動し、位置検出器１５から出力される信号のパルスエッジが検出されると（ステップＳ１０４）、ステップＳ１０５に移行し、図１６に示す転流制御処理を実行する。
【００９７】
図１６の転流制御処理においては、右方向の転流原点リセットフラグＦＲ  と、左方向の転流原点リセットフラグＦＬ  とを参照する。 ここで、ＦＲ  はキャリッジ２１が右方向に移動する際の転流原点の更新設定が完了していれば“１”、完了していなければ“０”の値をとり、 ＦＬ  はキャリッジ２１が左方向に移動する際の転流原点の更新設定が完了していれば“１”、完了していなければ“０”の値をとる。なお、初回起動時にはＦＲ  、ＦＬ  共“０”の値に設定されている。まず、ステップＳ１１０１で、ブラシレスモータ１が実際に回転している方向が正転かどうかを判別する。正転（ここではキャリッジ２１が右方向に移動）していればステップＳ１１０２に移行し、逆転（ここではキャリッジ２１が左方向に移動）していればステップＳ１１０６に移行する。正転の場合、ステップＳ１１０２でＦＲ  の値が“０”かどうかを判定し、 ＦＲ  が“０”の場合、つまり右方向の転流原点の更新設定が完了していないうちはステップＳ１１０３に移行する。ステップＳ１１０３では、第２の実施の形態で説明したのと同様に、転流原点のリセットが可能であるかどうかを判定する。ブラシレスモータ１の回転速度が低速で、逆起電圧に基づく転流原点のリセットが可能でない場合には、ステップＳ１１０３からステップＳ１１１０に移行し、第３の実施の形態で説明したのと同様に、図１３に示した転流制御処理を実行する。つまり、パルスエッジが検出される毎に、実際の回転方向に応じて積算値ＳＲ  、ＳＬ  に転流定数Ｔを加算又は減算し、キャリッジ２１が右方向に移動しているときには右方向の積算値ＳＲ  の値が“１”以上となる毎に転流モードを切り換え、左方向に移動しているときには左方向の積算値ＳＬ  の値が“０”以下となる毎に転流モードを切り換えることによって転流制御を行う。
【００９８】
そして、ブラシレスモータ１の回転速度が上がり、逆起電圧を検出可能な速度を越えると、ステップＳ１１０３からステップＳ１１０４に移行し、第２の実施の形態で説明したのと同様に、図１０に示した転流原点リセット処理を実行する。図１０の転流原点リセット処理において、逆起電圧のゼロクロスから一転流区間の１／２だけ位相を遅らせた時点で転流タイミングが生成され（図１０ステップＳ６０１〜Ｓ６０８）、この転流タイミングを以て転流原点とし、転流原点の更新設定を実施する。すなわち、図１６のステップＳ１１０４からステップＳ１１０５に移行し、右方向の積算値ＳＲ  の値を“０”にリセットすると共に、右方向の転流原点更新設定が完了したとして、 ＦＲ  の値を“１”にセットする。
【００９９】
一方、ステップＳ１１０１で逆転していると判別された場合は、ステップＳ１ステップＳ１１０６に移行し、ＦＬ  の値が“０”かどうかを判定する。 ＦＬの値が“０”の場合、つまり左方向の転流原点の更新設定が完了していないうちはステップＳ１１０７に移行する。ステップＳ１１０７ではステップＳ１１０３と同様に転流原点のリセットが可能であるかどうかを判定する。逆起電圧に基づく転流原点のリセットが可能でない場合には、ステップＳ１１０７からステップＳ１１１０に移行し、図１３に示した転流制御処理を実行し、転流原点のリセットが可能である場合には、ステップＳ１１０７からステップＳ１１０８に移行し、ステップＳ１１０４と同様に、図１０に示した転流原点リセット処理を実行する。そしてステップＳ１１０９に移行し、左方向の積算値ＳＬ  の値を“１”にリセットすると共に、左方向の転流原点更新設定が完了したとして、 ＦＬ  の値を“１”にセットする。
【０１００】
このように、右方向、左方向それぞれにおいて、逆起電圧に基づく転流原点の更新設定が完了し、 ＦＲ  、ＦＬ  の値が共に“１”にセットされると、以後は図３においてパルスエッジが検出される毎に（ステップＳ１０４→Ｓ１０５）、図１６のステップＳ１１０２或いはステップＳ１１０６からステップＳ１１１０に移行して、上記第３の実施の形態において説明した図１３の転流制御処理が実行される。
【０１０１】
以上述べたように、上記第４の実施の形態においては、正転時と逆転時とで転流原点を個別に設け、かつそれらの転流原点を、逆起電圧に基づいて生成された転流タイミングによって更新設定するようにしたから、上記第２、第３の実施の形態における作用効果を同時に満足することが可能となる。すなわち、ベルトの伸び等に起因して、キャリッジ２１の位置に対する回転子の位置が正転時と逆転時とで異なってしまうような場合にも、正転、逆転どちらにおいても転流タイミングの精度を位置検出器１５から出力されるパルス信号の１パルス間隔以内に収めることができる。したがって、例えば経時変化等によってキャリッジの動きが重くなったり、ベルト全体が伸びてしまった場合等においても、正転、逆転とも常に高い精度で転流制御を行うことができ、トルクリップルや定速回転での速度変動を常に低減させることが可能となる。
【０１０２】
なお、上記各実施の形態においては、プリンタのキャリッジに設けられたエンコーダ等からのパルス信号に基づいて、キャリッジを駆動するモータの転流タイミングを検出するようにした場合について説明したがこれに限るものではなく、モータの駆動に伴って、その駆動対象物の移動量に応じて位置検出器からパルス信号を得ることが可能な構成であれば、適用することができる。
【０１０３】
また、ポテンショメータ等駆動対象の位置を検出するようなセンサであっても適用することができ、この場合には、例えばポテンショメータの位置情報に基づき駆動対象が所定量移動したときにパルス信号を出力するパルス生成回路を設け、このパルス生成回路が出力するパルス信号に基づき上記各実施の形態と同様に制御を行うようにすれば、上記各実施の形態と同等の作用効果を得ることができる。
【０１０４】
また、上記各実施の形態においては、位置検出器１５からの検出信号に基づいて、転流制御を行うようにした場合について説明したが、この位置検出器１５からの検出信号に基づいて、転流制御だけではなく、同時に速度制御或いは位相制御を行うようにしてもよい。
【０１０５】
また、上記各実施の形態においては、ＤＣブラシレスモータを適用した場合について説明したが、これに限らず、ステップモータ等を適用することもできる。また、エンコーダとしてリニアエンコーダなど適用した場合について説明したがこれに限るものではなく、また、光学式或いは磁気式のエンコーダであっても適用することができる。
【０１０６】
また、上記各実施の形態においては、三相ブラシレスモータに適用した場合について説明したがこれに限るものではなく、一相又は二相、或いは四相以上のブラシレスモータに適用することも可能である。
【０１０７】
また、上記各実施の形態においては、ゼロクロス検出回路１３では、何れか一相の逆起電力を検出し、これに基づいてゼロクロスを検出するようにした場合について説明したが、これに限るものではなく、全ての相についてゼロクロスを検出するようにしてもよい。しかし、一相のみについてゼロクロスを検出する場合と、三相全てについてゼロクロスを検出する場合とでは、精度的にはほぼ同等であるから、一相のみを検出するようにした方が構成および処理を簡略化することができる。
【０１０８】
また、上記各実施の形態においては、転流原点の更新設定を、ブラシレスモータ１の回転速度が大きくなり、逆起電圧のゼロクロスを検出できるようになった時点で行うようにした場合について説明したが、これは、例えば、駆動回路１０を起動した際に、転流原点の更新設定を行うためにブラシレスモータ１を回転させ、転流原点を更新設定した後、上位装置からの指令信号に基づいて駆動制御するようにすればよい。また、駆動回路１０の起動時だけでなく、ブラシレスモータ１の駆動に伴う温度変化の影響を除去するために、ブラシレスモータ１の駆動制御を開始した後、所定時間毎にも転流原点の更新設定を行うようにしてもよく、このようにすれば、温度変化に起因する転流原点誤差を除去することができる。また、所定時間毎ではなく、温度変化が平衡状態となる所定時間経過した時点で転流原点の更新設定を行うようにしてもよい。
【０１０９】
また、転流原点の更新設定は、ブラシレスモータ１が起動されて、転流タイミングの検出が可能な回転速度となる毎に行うようにしてもよい。
【０１１０】
また、予め原点誤差ΔＳを計測してＲＯＭ等の記憶領域に記憶しておき、一方の回転方向における転流原点を設定したならば、回転方向が切り替わる毎に、この転流原点を基準として、記憶している原点誤差ΔＳをもとに、積算値Ｓを補正するようにしてもよい。
【０１１１】
【発明の効果】
以上説明したように、本発明の請求項１及び２に係るセンサレスモータの駆動装置によれば、初回起動時に、互いに電気角１８０度またはその整数倍の電気角位置ではない、異なる二つの引き込み位置に順次切り換えて励磁し、二回励磁を行った後の回転子の静止位置において転流原点を設定し、この転流原点に基づいて転流制御を行うようにしたから、高精度に転流制御を行うことができる。
【０１１２】
また、請求項３及び４に係るセンサレスモータの駆動装置によれば、回転方向毎に転流原点を設定するようにしたから、回転方向の違いに起因する転流タイミングのずれの発生を回避することができ、このとき、回転方向の違いに起因する転流タイミングのずれに相当するパルス信号数をオフセット値として検出し、何れか一方の回転方向を基準として回転方向が切り換わる毎にオフセット値に基づきパルス信号のカウント値を補正するようにしたから、回転方向毎にカウント変数を用意する必要がなくなる。
【０１１３】
また、請求項５及び６に係るセンサレスモータの駆動装置によれば、開放相に発生する逆起電力に基づき転流タイミングを生成できる状態となった時点で、より高精度に回転子の位置を検出可能な逆起電力に基づいて回転子の位置を検出し、転流タイミングを生成して転流原点を更新設定するようにしたから、より高精度に転流制御を行うことができる。このとき、ブラシレスモータの全ての相ではなく、何れか一つの相の逆起電力に基づき転流タイミングを生成するようにしたから、逆起電力を検出する回路の数を減らすことが出来ると共に、転流タイミングの生成に要する処理も軽減することが可能となる。
また、請求項７乃至８に係るセンサレスモータの駆動装置によれば、ブラシレスモータの回転方向毎に、転流タイミング生成手段で転流タイミングを生成し、前記各転流タイミングの時点で、回転方向毎に新たな転流原点を各々更新設定するようにしたから、回転方向の違いに起因する転流タイミングのずれの発生を回避することができる。このとき、センサレスモータの回転方向毎に更新設定した各転流原点の位置の差に相当するパルス信号数をオフセット値として検出し、さらに前記オフセット値を記憶手段に記憶しておいて、更新設定後の何れか一方の転流原点を基準としてパルス信号をカウントすると共に、回転方向が替わる毎にパルス信号のカウント値を前記記憶しておいたオフセット値に応じて補正し、回転方向に応じた転流原点を基準とするカウント値となるようにしたから、回転方向毎に別のカウント変数を用意する必要がなくなった。
【０１１４】
また、請求項９乃至１２に係るセンサレスモータの駆動装置によれば、転流タイミング生成手段で生成した転流タイミングに基づく転流原点の更新設定を、センサレスモータの制御を開始したときに行うから、制御開始の初期段階から高精度に転流制御を行うことができる。また、制御開始時点から所定時間経過後に転流原点の更新設定を行うから、温度環境の変化の影響を受けない転流原点を設定することができる。また、センサレスモータの制御開始時点から所定時間経過する毎に転流原点の更新設定を行うから、温度環境の変化に応じて的確な転流原点を設定することができる。さらに、センサレスモータを起動する毎に転流原点の更新設定を行うから、現状に応じた転流原点を設定することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した第１の実施の形態におけるセンサレスモータの駆動回路の概略構成を示す構成図である。
【図２】駆動対象としてのキャリッジを駆動する場合の概略構成図である。
【図３】第１、第２、第４の実施の形態におけるメインルーチンの処理手順の一例を示すフローチャートである。
【図４】第１、第２、第４の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図５】起動処理の処理手順の一例を示すフローチャートである。
【図６】回転子位置の変化に対する、励磁相とトルクとの関係を表す説明図である。
【図７】第１、第２の実施の形態における転流制御処理の処理手順の一例を示すフローチャートである。
【図８】第２、第４の実施の形態におけるセンサレスモータの駆動回路の概略構成を示す構成図である。
【図９】第２の実施の形態における転流制御処理の処理手順の一例を示すフローチャートである。
【図１０】第２、第４の実施の形態における転流原点リセット処理の処理手順の一例を示すフローチャートである。
【図１１】第３の実施の形態におけるメインルーチンの処理手順の一例を示すフローチャートである。
【図１２】第３の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図１３】第３、第４の実施の形態における転流制御処理の処理手順の一例を示すフローチャートである。
【図１４】第３、第４の実施の形態における起動処理の処理手順の一例を示すフローチャーである。
【図１５】第４の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図１６】第４の実施の形態における転流制御処理手順の一例を示すフローチャートである。
【符号の説明】
１  ブラシレスモータ
１０  駆動回路
１１  インバータ
１２  転流制御回路
１３  ゼロクロス検出回路
１５  位置検出器
【図１】
0003690250.tif 000002
【図２】
0003690250.tif 000003
【図３】
0003690250.tif 000004
【図４】
0003690250.tif 000005
【図５】
0003690250.tif 000006
【図６】
0003690250.tif 000007
【図７】
0003690250.tif 000008
【図８】
0003690250.tif 000009
【図９】
0003690250.tif 000010
【図１０】
0003690250.tif 000011
【図１１】
0003690250.tif 000012
【図１２】
0003690250.tif 000013
【図１３】
0003690250.tif 000014
【図１４】
0003690250.tif 000015
【図１５】
0003690250.tif 000016
【図１６】
0003690250.tif 000017