(57)【特許請求の範囲】
【請求項１】
回転子と固定子巻線とを備えたモータの駆動装置であって、
前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、
前記パルス信号を利用して前記モータの転流制御を行う転流制御手段を備えることを特徴とするモータの駆動装置。
【請求項２】
回転子と固定子巻線とを備えたモータの駆動装置であって、
前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、
前記位置検出器は、前記モータの一転流区間あたりに少なくとも１以上のパルスを出力可能に構成され、
前記モータの回転子が初期位置にある状態を基準として前記位置検出器からのパルスを前記モータの回転方向に応じて加算又は減算するカウント手段と、
前記モータの一転流区間あたりのパルス数に基づき設定した転流タイミングを規定する転流パターンを記憶する転流パターン記憶手段と、
前記カウント手段のカウント値が、前記転流パターン記憶手段で記憶する転流パターンと一致するとき、前記モータの転流を行う転流制御手段と、を備えることを特徴とするモータの駆動装置。
【請求項３】
前記転流パターンは、一転流区間あたりの前記パルス数である区間パルス数を前記区間パルス数の和が整数値となるまで加算し、各加算回における前記区間パルス数の和の小数点以下を四捨五入して整数値とし、これを昇順に並べた数値列に基づき設定された転流タイミング値列から構成され、
前記転流制御手段は、前記転流タイミング値を、前記転流パターンにおける転流タイミング値の並び順に繰り返し切り換え、この転流タイミング値と前記カウント値が一致する毎に転流を行うことを特徴とする請求項２記載のモータの駆動装置。
【請求項４】
回転子と固定子巻線とを備えたモータの駆動装置であって、
前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、
前記位置検出器は、前記モータの一転流区間あたりに少なくとも１以上のパルスを出力可能に構成され、
予め検出した前記モータの一転流区間あたりの前記位置検出器からのパルス数である区間パルス数の逆数を転流定数として記憶する転流定数記憶手段と、
前記モータの回転子が初期位置にある状態を基準として、前記位置検出器からパルスを受信する毎に、前記転流定数記憶手段で記憶する転流定数を前記モータの回転方向に応じて加算又は減算し、この転流定数の累積値が整数値となったとき又は前記累積値の整数部が変化したとき又は前記累積値の符号が変化したときに、前記モータの転流を行う転流制御手段と、を備えることを特徴とするモータの駆動装置。
【請求項５】
前記転流定数は、前記回転子を所定量回転させる際に必要とする転流回数を、前記回転子を前記所定量回転させる場合に受信すべきパルス数の設計値で除算した値であることを特徴とする請求項４記載のモータの駆動装置。
【請求項６】
前記転流定数は、前記回転子を所定量回転させる際に必要とする転流回数を、前記回転子を前記所定量回転させた場合に受信したパルス数の計測値で除算した値であることを特徴とする請求項４記載のモータの駆動装置。
【請求項７】
前記転流定数は、前記回転子を一回転させる際に必要とする転流回数を、前記回転子を一回転させた場合に受信したパルス数の計測値で除算した値であることを特徴とする請求項６記載のモータの駆動装置。
【請求項８】
前記転流定数をＴ、その小数点以下の有効桁数をｎ、前記駆動対象物の移動量をＬ、前記位置検出器の分解能（駆動対象物の移動量／パルス数）をＢ、前記パルス信号に基づき推定される前記回転子の推定位置と回転子の実位置との偏差の許容値を電気角でσ、一転流間の電気角をＦとした場合に、
（Ｔ＋（Ｌ／Ｂ）×（５／１０n+1））×Ｆ＜σ
なる関係が成立していることを特徴とする請求項４乃至７の何れかに記載のモータの駆動装置。
【請求項９】
前記駆動対象物はインクジェットプリンタのインク吐出ヘッドであって、前記転流定数の小数点以下の有効桁数は４乃至８桁であることを特徴とする請求項４乃至８の何れかに記載のモータの駆動装置。
【請求項１０】
前記転流制御手段は、前記転流定数を加算しているときには、前記転流定数の累積値が１以上となる毎に前記累積値から１を減算し、前記転流定数を減算しているときには、前記累積値が０以下となる毎に前記累積値に１を加算することを特徴とする請求項４乃至９の何れかに記載のモータの駆動装置。
【請求項１１】
前記転流制御手段は、前記転流定数の小数点以下の桁数をｍとしたとき、前記転流定数を１０m倍して桁数ｍの整数値として扱い、前記転流定数の累積値の上位側ｍ＋１桁目が変化したとき又は前記累積値が零となったとき又は前記累積値の符号が変化したときに、転流を行うことを特徴とする請求項４乃至９の何れかに記載のモータの駆動装置。
【請求項１２】
前記転流制御手段は、前記転流定数の累積値に対し、その上位側ｍ＋１桁目が変化する毎に前記累積値から１０mを減算し、且つ前記累積値が０以下となる毎に前記累積値に１０mを加算することを特徴とする請求項１１記載のモータの駆動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ブラシレスＤＣモータやステップモータ等のように、回転子の位置に応じて励磁相を切り換えて転流制御を行うことにより、回転駆動させるようにしたモータの駆動装置に関し、特に、モータの駆動対象物の位置検出を行うための位置検出器を利用してモータの転流制御を行うようにしたものである。
【０００２】
【従来の技術】
ブラシレスＤＣモータやステップモータ等のように回転子に永久磁石を用いたモータの回転子位置を検出する技術として、従来から、固定子巻線の開放相（無通電相）に発生する逆起電圧を利用したものがある。すなわち、励磁コイルから得られる逆起電圧を検出し、この検出した逆起電圧が中性点電圧とクロスするゼロクロス点を求めて回転子位置を検出するものである。この場合の転流制御は、例えば前記ゼロクロス点から位相を３０度シフトした点で転流動作を行うことにより実現している。
【０００３】
このため、モータが停止しているときには励磁コイルから逆起電圧は得られず、センサレス駆動を行うことができないので、モータ停止状態から回転駆動を行う起動時には、いわゆる強制転流を行って回転子を強制駆動し、これにより励磁コイルから所定値以上の逆起電圧が得られるようになってから、センサレス駆動に移行するようにしている。
【０００４】
このようなモータのセンサレス制御に対し、モータにホール素子を設けこれによって回転子の位置を検出し、これに基づいてモータを駆動する方法等も知られている。
【０００５】
【発明が解決しようとする課題】
しかしながら、逆起電圧に基づいてセンサレス制御を行う場合には上述のように低速では制御を行うことができないため、停止、起動を繰り返すような駆動制御を行う場合には不向きである。また、ホール素子等を用いて制御する方法によれば、低速でも制御を行うことができるが、回転子磁極の磁極分割幅のばらつきや、ホール素子の設置位置のばらつき等が、そのまま転流タイミングの誤差として制御の精度に影響するため、逆起電圧が検出可能な速度範囲での動作では、逆起電圧に基づくセンサレス制御の方が前述のような誤差を含まないために安定するのが現状であり、低速であっても制御を行うことができ、且つより高精度にモータを制御することの可能な駆動方法が望まれていた。
【０００６】
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、低速であっても確実に制御を行うことが可能であり、且つより高精度にモータの駆動制御を行うことの可能な、モータの駆動装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係るモータの駆動装置は、回転子と固定子巻線とを備えたモータの駆動装置であって、前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、前記パルス信号を利用して前記モータの転流制御を行う転流制御手段を備えることを特徴としている。
【０００８】
この請求項１に係る発明では、モータからの動力が伝達されて駆動される駆動対象物には、駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、このパルス信号を利用して、転流制御手段によって、モータの転流制御が行われる。
つまり、駆動対象物はモータにより駆動されるから、駆動対象物の移動量はすなわちモータの回転量に比例し、駆動対象物の移動状況からモータの回転状況を検出することができ、つまり回転子の位置を検出することができる。よって、位置検出器からの検出信号に基づいてモータの転流制御を行うことによって、モータが低回転域であっても的確に転流タイミングを検出することが可能となる。
【０００９】
また、請求項２に係るモータの駆動装置は、回転子と固定子巻線とを備えたモータの駆動装置であって、前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、前記位置検出器は、前記モータの一転流区間あたりに少なくとも１以上のパルスを出力可能に構成され、前記モータの回転子が初期位置にある状態を基準として前記位置検出器からのパルスを前記モータの回転方向に応じて加算又は減算するカウント手段と、前記モータの一転流区間あたりのパルス数に基づき設定した転流タイミングを規定する転流パターンを記憶する転流パターン記憶手段と、前記カウント手段のカウント値が、前記転流パターン記憶手段で記憶する転流パターンと一致するとき、前記モータの転流を行う転流制御手段と、を備えることを特徴としている。
【００１０】
この請求項２に係る発明では、モータが回転しこれによって駆動対象物が移動すると、この駆動対象物に設けられた位置検出器からのパルス信号のパルスがモータの回転方向に応じてカウントされ、モータの回転子が転流タイミングに応じた位置にあるときを基準とするカウント値が転流パターン記憶手段で記憶する転流パターンと一致するときにモータの転流が行われる。前記転流パターンは、予め検出した一転流区間あたりに受信するパルス信号数に基づいて設定されるから、前記カウント値と転流パターンとが一致する時点で転流を行うことにより、的確な転流タイミングで転流が行われることになる。
【００１１】
また、請求項３に係るモータの駆動装置は、請求項２に係るモータの駆動装置において、前記転流パターンは、一転流区間あたりの前記パルス数である区間パルス数を前記区間パルス数の和が整数値となるまで加算し、各加算回における前記区間パルス数の和の小数点以下を四捨五入して整数値とし、これを昇順に並べた数値列に基づき設定された転流タイミング値列から構成され、前記転流制御手段は、前記転流タイミング値を、前記転流パターンにおける転流タイミング値の並び順に繰り返し切り換え、この転流タイミング値と前記カウント値が一致する毎に転流を行うことを特徴としている。
【００１２】
この請求項３に係る発明では、転流パターンは、一転流区間あたりのパルス信号数である区間パルス数を順次加算したときに、その和が整数値となるまでの加算回数個の数値列で構成される。前記区間パルス数は、一転流区間あたりのパルス信号数であるから、カウント値が区間パルス数と一致する毎に転流を行えばよいが、区間パルス数が整数値でない場合には区間パルス数に基づく転流タイミングと、カウント値に基づく実際の転流タイミングとがずれることになる。
【００１３】
ここで、区間パルス数を何回か加算したときに整数値となるような場合には、整数値となった時点では区間パルス数に基づいて決めた転流タイミングと、回転子の位置に対応した真の転流タイミングとは一致するから、この時点では転流タイミングのずれは生じない。したがって、この区間パルス数を加算したときに整数値となるまでの回数を１サイクルとし、この１サイクルにおいて、区間パルス数に基づく各転流タイミングにおける区間パルス数の和の小数点以下を四捨五入して整数値で表し、例えば前記四捨五入して近似した整数値を転流タイミング値としてその昇順に並べた数値列、或いは近似した整数値間の差を転流タイミング値として、加算回の昇順に並べた数値列を、転流パターンとして設定する。そして、転流パターンでの並び順にしたがって転流タイミング値を順次切り換え、各転流タイミング値とカウント値とが一致する毎に転流を行うようにすれば、区間パルス数に基づく転流タイミングとカウント値に基づく転流タイミングとのずれは１サイクルの転流を行った時点、つまり、転流パターンを構成する各転流タイミング値に基づき一通り転流を行った時点で零となる。よって、転流を行う毎に誤差が累積されることはない。
【００１４】
また、本発明の請求項４に係るモータの駆動装置は、回転子と固定子巻線とを備えたモータの駆動装置であって、前記モータからの動力が伝達されて駆動される駆動対象物には、当該駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器が設けられ、前記パルス信号に基づいて前記駆動対象物の位置制御が行われるようになっているものにおいて、前記位置検出器は、前記モータの一転流区間あたりに少なくとも１以上のパルスを出力可能に構成され、予め検出した前記モータの一転流区間あたりの前記位置検出器からのパルス数である区間パルス数の逆数を転流定数として記憶する転流定数記憶手段と、前記モータの回転子が初期位置にある状態を基準として前記位置検出器からパルスを受信する毎に前記転流定数記憶手段で記憶する転流定数を前記モータの回転方向に応じて加算又は減算し、この転流定数の累積値が整数値となったとき又は前記累積値の整数部が変化したとき又は前記累積値の符号が変化したときに、前記モータの転流を行う転流制御手段と、を備えることを特徴としている。
【００１５】
また、本発明の請求項５に係るモータの駆動装置は、請求項４に記載のモータの駆動装置において、前記転流定数は、前記回転子を所定量回転させる際に必要とする転流回数を、前記回転子を前記所定量回転させる場合に受信すべきパルス数の設計値で除算した値であることを特徴としている。
【００１６】
また、本発明の請求項６に係るモータの駆動装置は、請求項４に記載のモータの駆動装置において、前記転流定数は、前記回転子を所定量回転させる際に必要とする転流回数を、前記回転子を前記所定量回転させた場合に受信したパルス数の計測値で除算した値であることを特徴としている。
【００１７】
また、本発明の請求項７に係るモータの駆動装置は、請求項６に記載のモータの駆動装置において、前記転流定数は、前記回転子を一回転させる際に必要とする転流回数を、前記回転子を一回転させた場合に受信したパルス数の計測値で除算した値であることを特徴としている。
【００１８】
また、本発明の請求項８に係るモータの駆動装置は、請求項４乃至７の何れかに記載のモータの駆動装置において、前記転流定数をＴ、その小数点以下の有効桁数をｎ、前記駆動対象物の移動量をＬ、前記位置検出器の分解能（駆動対象物の移動量／パルス数）をＢ、前記パルス信号に基づき推定される前記回転子の推定位置と回転子の実位置との偏差の許容値を電気角でσ、一転流間の電気角をＦとした場合に、（Ｔ＋（Ｌ／Ｂ）×（５／１０n+1 ））×Ｆ＜σなる関係が成立していることを特徴としている。
【００１９】
また、本発明の請求項９に係るモータの駆動装置は、請求項４乃至８の何れかに記載のモータの駆動装置において、前記駆動対象物はインクジェットプリンタのインク吐出ヘッドであって、前記転流定数の小数点以下の有効桁数は４乃至８桁であることを特徴としている。
【００２０】
この請求項４乃至９に係る発明では、モータが回転しこれによって駆動対象物が移動すると、この移動に伴い、駆動対象物に設けられた位置検出器からパルス信号が出力され、モータの回転子が転流タイミング位置に応じた初期位置にあるときを基準として、パルスを入力する毎にモータの回転方向に応じて、転流定数が例えば正転時には加算、逆回転時には減算される。
【００２１】
ここで、転流定数は、モータの一転流区間あたりの位置検出器からのパルス数の逆数であるから、小数点以下の値となる。したがって、転流定数の累積値の整数部が変化したとき、又は累積値が零を含む整数値となったとき、又は累積値の符号が変化したとき、つまり正値から負値となった場合或いはその逆となったときが、すなわち転流タイミングとなり、この転流タイミングにおいて転流を行えば、的確なタイミングで転流が行われることになる。
【００２２】
また、前記転流定数は、前記回転子を所定量だけ回転させる際に必要とする転流回数を、回転子を前記所定量だけ回転させた場合に受信すべきパルス数の設計値で除算すれば容易に算出することができる。また、回転子を所定量回転させた場合に実際に受信したパルス数を計測し、これに基づき転流定数を算出すれば、モータの駆動力の伝達系の実際の伝達特性に応じた転流定数を設定することが可能となる。特に、回転子を一回転させた場合に受信したパルス数を計測し、これに基づき転流定数を算出すれば、モータ内部の部品の寸法誤差等による各転流タイミング毎のばらつきが、全て平均化された転流定数を得ることができ、転流タイミング誤差の累積を防止することが可能となる。
【００２３】
また、転流定数Ｔは、転流定数Ｔの小数点以下の有効桁数ｎを、駆動対象物の移動量をＬ、位置検出器の分解能（駆動対象物の移動量／パルス数）をＢ、前記パルス信号に基づき推定される回転子の推定位置と実位置との差の許容値を電気角でσ、一転流間の電気角をＦとした場合に、（Ｔ＋（Ｌ／Ｂ）×（５／１０n+1 ））×Ｆ＜σを満足するように設定されるから、駆動対象物の移動量或いは位置検出器の分解能等の各変数が変化した場合でも、許容値σを満足し得る転流制御を行うことが可能となる。
【００２４】
特に、前記駆動対象物がインクジェットプリンタのインク吐出ヘッドである場合には、転流定数の小数点以下の有効桁数ｎを４桁又は８桁に設定すれば、ほぼ全ての用紙サイズのプリンタに対して適用することが可能となる。
【００２５】
また、請求項１０に記載のモータの駆動装置は、請求項４乃至９の何れかに記載のモータの駆動装置において、前記転流制御手段は、前記転流定数を加算しているときには、前記転流定数の累積値が１以上となる毎に前記累積値から１を減算し、前記転流定数を減算しているときには、前記累積値が０以下となる毎に前記累積値に１を加算することを特徴としている。
【００２６】
また、請求項１１に記載のモータの駆動装置は、請求項４乃至９の何れかに記載のモータの駆動装置において、前記転流制御手段は、前記転流定数の小数点以下の桁数をｍとしたとき、前記転流定数を１０m 倍して桁数ｍの整数値として扱い、前記転流定数の累積値の上位側ｍ＋１桁目が変化したとき又は前記累積値が零となったとき又は前記累積値の符号が変化したときに、転流を行うことを特徴としている。
【００２７】
また、請求項１２に記載のモータの駆動装置は、請求項１１記載のモータの駆動装置において、前記転流制御手段は、前記転流定数の累積値に対し、その上位側ｍ＋１桁目が変化する毎に前記累積値から１０m を減算し、且つ前記累積値が０以下となる毎に前記累積値に１０m を加算することを特徴としている。
【００２８】
前記請求項１０に係る発明では、転流制御手段は、転流定数を加算しているときには累積値が１以上となる毎に転流定数の累積値から１を減算し、逆に転流定数を減算しているときには累積値が零以下となる毎に累積値に１を加算するから、転流定数の累積値の桁数が増加することを回避することが可能となる。
【００２９】
一方、請求項１１に係る発明では、転流制御手段では、転流定数の小数点以下の桁数がｍであるとき、転流定数を１０m 倍して整数値として扱うようにしているから、整数値のみの演算となり演算を簡略することが可能となる。
【００３０】
また、このときにも、転流定数の上位側ｍ＋１桁目が変化する毎に累積値から１０m を減算し、逆に累積値が零以下となる毎に累積値に１０m を加算することにより、転流定数の累積値の桁数の増加を回避することが可能となる。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を伴って説明する。
【００３２】
まず、本発明の第１の実施の形態を説明する。
【００３３】
図１は、本発明を適用したブラシレスモータ１の駆動装置１０を示す構成図である。
【００３４】
すなわち、ブラシレスモータ１は、Ｕ相、Ｖ相、Ｗ相という三つの固定子巻線がスター結線された三相ブラシレスモータであって、駆動装置１０はインバータ１１を有していて、そのインバータ１１の各出力端子がブラシレスモータ１のＵ相〜Ｗ相の各端子に接続されている。インバータ１１は、例えば電源側トランジスタ及び接地側トランジタを接続した組をＵ相〜Ｗ相に対応して三組備えた公知の構成を備えていて、インバータに含まれる合計六つのトランジスタのオン・オフが、転流制御回路１２から供給される転流信号によって制御されることにより、ブラシレスモータ１の各相が順に励磁されて回転駆動されるようになっている。
【００３５】
前記ブラシレスモータ１の回転軸には、図示しないが、例えば歯車機構を介してプリンタの紙送り機構が連結され、ブラシレスモータ１を駆動制御することによって、ブラシレスモータ１の回転力が歯車機構を介して前記紙送り機構を構成する紙送り用のローラ軸に伝達されて紙送り制御が行われるようになっている。
さらに、前記紙送り用のローラ軸には、ローラ軸の回転角度を検出するための、例えばロータリエンコーダ等といった位置検出器１５が設けられている。
【００３６】
この位置検出器１５は、位相の異なるＡ相及びＢ相の二種類のパルス信号を出力し、これら二種類の信号の位相の関係から回転方向を検出可能に構成されている。また、この位置検出器１５は、ブラシレスモータ１の一転流区間に複数のパルスを発生可能な分解能を有している。
【００３７】
前記転流制御回路１２は、例えばマイクロコンピュータ、後述の転流パルス数列Ｐ等を記憶するためのＲＯＭ等の記憶装置、等を含んで構成され、前記位置検出器１５からの二種類のパルス信号が入力される。そして、転流制御回路１２は、前記位置検出器１５からの二種類のパルス信号に基づいてブラシレスモータ１の回転方向を検出すると共に、パルス信号のエッジ（以下、パルスエッジという。）を検出し、このパルスエッジに基づいて回転方向に応じてパルス数をカウントし、前記ブラシレスモータ１が正転し紙送り機構により紙送りが行われる方向に駆動されるときにはパルスを加算し、逆にブラシレスモータ１が逆回転するときにはパルスを減算し、このパルスのカウント数と所定の記憶領域に格納された前記転流パルス数列Ｐとに基づいて前記ブラシレスモータ１の転流タイミングを決定する。
【００３８】
また、転流制御回路１２は、インバータ１１の図示しない各トランジスタのうち、オン状態にすべきトランジスタの組み合わせを数値化して管理する転流モードという変数を有しており、この転流モードと１対１に対応する転流信号をインバータ１１に出力するように構成されている。前記転流信号は、インバータ１１の各トランジスタのオン・オフを個別に制御する信号列で構成され、図示しない上位装置からの指令信号で指示された回転方向にブラシレスモータ１を回転させるべく、転流モードを前述の転流タイミングに同期して適切な値に切り換える。
この転流モードに応じた転流信号をインバータ１１に出力することによって、ブラシレスモータ１の固定子巻線Ｕ相〜Ｗ相の励磁切り換えが適切に行われ、ブラシレスモータ１の回転が実現される。さらに、転流制御回路１２は、公知のブラシレスモータにおける駆動制御処理と同様にして、位置検出器１５からのパルス信号に基づいて紙送り用ローラ軸の回転速度或いは回転角度をリアルタイムで計測し、例えばＰＷＭ信号のような制御信号を前記転流信号に重畳して、紙送り用ローラ軸の回転速度制御や回転角度制御を行う。
【００３９】
前記転流パルス数列Ｐは、次のようにして設定される。すなわち、例えば、インバータ１１の各相の逆起電力電圧の中間電圧を検出し、これから３０度ずれた位置を転流タイミングとする公知の方法等に基づいてブラシレスモータ１を駆動させ、例えば、複数の転流区間における位置検出器１５からのパルス数をカウントし、このパルス数を転流区間数で除算すること等によって、一転流区間における位置検出器１５からのパルス数である、区間パルス数Ｍを算出する。
【００４０】
ここで、例えば、５転流区間のパルス数が“１０２”である場合等、区間パルス数Ｍが分数（この場合１０２／５＝２０．４）で記載されるものとする。この場合、区間パルス数Ｍは“２０．４”であるから、表１の転流位置真値に示すように、真の転流タイミングは、ブラシレスモータ１の回転子が転流タイミングの位置にある初期状態からのパルス数が、２０．４、４０．８、６１．２、８１．６、……、となる時点である。
【００４１】
【表１】
0003698024.tif 000002
【００４２】
しかしながら、パルス信号の累積値は整数であるから、累積値と、真の転流タイミングつまり転流位置真値と、の誤差が最も小さくなる整数値を、小数点以下を四捨五入して求めて転流タイミングを表す延べ信号数とし、各転流タイミングにおける延べ信号数どうしの差を転流間信号数として設定する。つまり、１回目の転流タイミングでは、転流位置真値はパルス信号の累積値が“２０．４”となる時点であり、これに最も近い整数値は“２０”であるから延べ信号数は“２０”と設定され、このとき、転流位置真値と延べ信号数との誤差は“−０．４”となる。同様に、２回目の転流タイミングは転流位置真値はパルス信号の累積値が“４０．８”となる時点であるから、延べ信号数は“４１”として設定されその誤差は“＋０．２”となり、１回目と２回目の転流間信号数は“２１”となる。
そして３回目及び４回目の転流タイミングも同様にして設定され、５回目の転流タイミングの場合には、転流位置真値が“１０２”であり整数であるから、これが延べ信号数として設定され、転流間信号数は“２０”となり、５回目の転流タイミングで延べ信号数と転流位置真値との誤差が“±０”となる。
【００４３】
続いて、６回目の転流タイミングでは、転流位置真値は“１２０．４”となるから、延べ信号数は“１２０”となり、転流間信号数は“２０”、その誤差は“−０．４”となり、前記転流間信号数及びその誤差は前述の１回目と同様になり、以後、上記２回目以降と同様に、転流間信号数は、“２１，２０，２１，２０”を繰り返すことになる。したがって、１回目の転流タイミングから、転流位置真値と延べ信号数との誤差が零となる５回目の転流タイミングまでの転流間信号数からなる数列“２０，２１，２０，２１，２０”を転流パルス数列Ｐとして設定し、これを所定の記憶領域に記憶しておく。つまり、例えば前記駆動装置１０、ブラシレスモータ１及びこのブラシレスモータ１の駆動対象としての紙送り機構に設けられた位置検出器１５からなるシステムの工場出荷時等に予め転流パルス数列Ｐを設定し、これを所定の記憶領域に記憶しておく。
【００４４】
次に、上記第１の実施の形態の動作を、転流制御回路１２での処理手順の一例を示すフローチャートを伴って説明する。
【００４５】
転流制御回路１２では、起動されると図２に示す転流制御処理を開始し、まず、ステップＳ１０１で、転流原点設定処理を行い、転流タイミングを検出するための基準となる転流原点を設定する。具体的には、図３に示すように、まず、ステップＳ２０１で初期処理を行い、公知の処理と同様にして初期励磁引き込みを行って、ブラシレスモータ１の回転子を回転させる。
【００４６】
そして、例えば所定時間パルスエッジを検出しないかどうか等に基づいて、回転子が引き込み位置に停止したことを検出するとステップＳ２０２に移行し、上位装置からのブラシレスモータ１の起動時の回転方向を指示する指令信号に基づきブラシレスモータ１の起動方向を判別し、回転指示方向が正転方向の場合には、ステップＳ２０３に移行してカウント数ＣをＣ＝０に設定すると共に、予め設定されて所定の記憶領域に格納されている前記転流パルス数列Ｐを構成するｎMAX 個の転流間信号数Ｐｎを特定するための変数ｎをｎ＝１に設定する。逆に、上位装置からの回転指示方向が逆転方向の場合には、ステップＳ２０２からステップＳ２０４に移行しカウント数ＣをＣ＝ＰｎMAX 、前記転流間信号数Ｐｎを特定するための変数ｎをｎ＝ｎMAX に設定する。これにより転流原点設定処理が終了する。なお、前記ＰｎMAX は、転流パルス数列Ｐの末尾の転流間信号数、つまり、ｎがｎMAX であるときの転流間信号数を表す。
【００４７】
このようにして図２のステップＳ１０１で転流原点設定処理が終了し、上位装置からブラシレスモータ１の起動を指示する起動指令パルスが入力されると、ステップＳ１０２からステップＳ１０３に移行し、図４の起動処理を実行する。
【００４８】
この起動処理では、まず、ステップＳ３０１で上位装置から指示された回転方向を判定し、正転方向であるときにはステップＳ３０２に移行し、正転方向に起動すべく転流モードを１回切り換える等して正転時の起動処理を実行する。一方、回転指示方向が逆転方向であるときにはステップＳ３０１からステップＳ３０３に移行し、逆転方向に起動すべく転流モードを１回切り換える等して逆転時の起動処理を実行する。これにより起動処理が終了する。
【００４９】
切り換えられた転流モードに対応した励磁相がインバータ１１を介して励磁され、このとき、前述の回転速度制御等によって転流信号を制御することによって、ブラシレスモータ１が回転すると、この回転力が図示しない歯車機構を介して紙送り機構に伝達され、紙送り機構が駆動されて紙送りが行われる。
【００５０】
紙送り機構の駆動に伴って位置検出機１５からパルス信号が出力されると、転流制御回路１２では、パルス信号のパルスエッジの検出を行い、図２のステップＳ１０４でパルスエッジを検出したときにはステップＳ１０５に移行し転流カウント処理を実行した後、ステップＳ１０６に移行する。一方、ステップＳ１０４でパルスエッジを検出しないときにはそのままステップＳ１０６に移行する。
【００５１】
ここで、前記ステップＳ１０５での転流カウント処理は、図５に示す処理手順にしたがって行う。
【００５２】
まず、ステップＳ２１１で、位置検出器１５からの二種類のパルス信号からブラシレスモータ１が正転しているか逆転しているかを判定する。ブラシレスモータ１が例えば正転していると判定されるときにはステップＳ２１２に移行し、カウント数Ｃを“１”だけインクリメントし、次いで、ステップＳ２１３に移行して、所定の記憶領域に予め格納されている転流パルス数列Ｐを参照し、そのｎ番目の転流間信号数Ｐｎとカウント数Ｃとが一致するかどうかを判定する。
【００５３】
そして、例えばｎ＝１であるときには、転流間信号数Ｐ１は前記表１から“２０”となるから転流カウント処理を終了し、図２に戻る。以後、ブラシレスモータ１が正転方向に回転しているときには、パルスエッジを検出する毎にステップＳ２１１からＳ２１２を経てステップＳ２１３に移行し、カウント数Ｃを“１”ずつインクリメントする。そして、カウント数Ｃが転流間信号数Ｐ１＝２０となったときステップＳ２１３からステップＳ２１４に移行し、正転方向に転流モードを切り換える。これによって励磁相が切り換わり、ブラシレスモータ１が継続して回転する。
【００５４】
続いてステップＳ２１５に移行し、変数ｎが転流パルス数列Ｐを構成する転流間信号数の数を表すｎMAX に等しいときにはステップＳ２１６に移行して変数ｎをｎ＝１にリセットした後、ステップＳ２１８に移行し、変数ｎがｎ＝ｎMAX でないときにはステップＳ２１７に移行して変数ｎを“１”だけインクリメントした後、ステップＳ２１８に移行する。そして、ステップＳ２１８でカウント数ＣをＣ＝０にリセットした後、転流カウント処理を終了して図２に戻る。
【００５５】
このように、ブラシレスモータ１が正回転している間は、パルス信号のエッジが検出される毎にカウント数Ｃを“１”ずつインクリメントし、カウント数Ｃが転流間信号数Ｐｎ、つまりＰ１（＝２０）、Ｐ２（＝２１），Ｐ３（＝２０），Ｐ４（＝２１），Ｐ５（＝２０）と一致する毎に転流モードの切り換えを行う。
そして、転流パルス数列Ｐの最後の転流間信号数Ｐ５の次はまたＰ１に戻り、これを繰り返し行うことによって、転流間信号数Ｐｎの並び順の先頭から順にＰｎの値が切り換わり、カウント数Ｃがこの転流間信号数Ｐｎとなった時点で転流モードの切り換えが行われる。
【００５６】
この状態から、例えば紙送り機構の調整等を行うために、正回転しているブラシレスモータ１が停止された後、上位装置からブラシレスモータ１を逆回転させる起動指令パルスが入力されると、ブラシレスモータ１が停止している状態では、パルスエッジが検出されないから、ステップＳ１０２，Ｓ１０４，Ｓ１０６の処理を繰り返し行い、転流カウント処理は行わず上位装置からの指令信号を待つ状態を維持し、上位装置から起動指令パルスが入力されると、ステップＳ１０２からステップＳ１０３に移行し、図４に示す起動処理を行う。この場合、回転指示方向は逆転方向であるから、ステップＳ３０１からステップＳ３０３に移行し、ブラシレスモータ１を逆転方向に回転すべく転流モードを一回切り換える。
【００５７】
これによりブラシレスモータ１が逆回転され、パルスエッジを検出するとステップＳ１０４からステップＳ１０５に移行し、図５の転流カウント処理を実行する。ブラシレスモータ１は逆回転しているから、ステップＳ２１１からステップＳ２２１に移行し、カウント数Ｃを“１”だけデクリメントする。
【００５８】
次いで、ステップＳ２２２に移行してカウント数ＣがＣ＝０であるかどうかを判定し、Ｃ＝０でなければ転流カウント処理を終了し図２に戻る。Ｃ＝０であるときにはステップＳ２２３に移行し、転流タイミングであるとして転流モードを逆転方向に切り換える。次いで、ステップＳ２２４に移行し、変数ｎがｎ＝０であるときにはステップＳ２２５に移行してｎ＝ｎMAX に設定した後ステップＳ２２７に移行し、変数ｎがｎ＝０でないときにはステップＳ２２６に移行してｎを“１”だけデクリメントした後ステップＳ２２７に移行する。そして、ステップＳ２２７でカウント数ＣをＣ＝Ｐｎに設定した後、転流カウント処理を終了し図２に戻る。
【００５９】
このように、ブラシレスモータ１が逆回転している間は、パルスエッジが検出される毎に、カウント数Ｃを“１”ずつデクリメントし、カウント数ＣがＣ＝０となった時点で転流モードの切り換えを行い、変数ｎを“１”ずつデクリメントして、カウント数ＣをＣ＝Ｐｎに設定する。つまり、正転時とは逆に、転流間信号数Ｐｎの並び順の後ろから順にＰｎの値が切り換わる。
【００６０】
そして、上位装置からブラシレスモータ１の駆動終了、つまり、図２の転流制御処理の停止が通知されると、ステップＳ１０６でこれを検出し処理を終了する。
【００６１】
ここで、一転流区間におけるパルス数、つまり区間パルス数Ｍは“２０．４”であるから、例えばカウント数Ｃが“２０”となる毎にこの時点を転流タイミングとするようにした場合、真の転流タイミングはカウント数Ｃが“２０．４”となる位置であり、一回の転流毎に、“０．４”ずつ転流タイミングが早まることから、転流を繰り返す毎にこれが加算されて真の転流タイミング位置との誤差が大きくなり、徐々に転流タイミングが早まっていき、やがては誤動作することになる。逆に、カウント数Ｃが“２１”となる毎にこの時点を転流タイミングとして設定した場合、一回の転流毎に、“０．２”ずつ転流タイミングが遅くなり、転流を行う毎にこれが加算されて誤差が大きくなり、徐々に転流タイミングが遅くなって、誤動作を引き起こすことになる。
【００６２】
しかしながら、上記表１に示すように、転流タイミング毎に区間パルス数Ｍを加算したときにその累積値が整数値となるまでの期間を１サイクルとし、この期間の各転流タイミングにおける、真の転流タイミングである区間パルス数Ｍの累積値との誤差が最小となるように、転流間信号数を設定するようにしたから、１サイクル経過した時点での真の転流タイミング位置と実際の転流タイミングとの誤差は必ず零となり、さらに、１サイクル内における各転流タイミングは、真の転流タイミング位置との誤差が最小となるように、１サイクル内の転流間信号数を設定したから、転流を行う毎に誤差が加算されることはなく、誤差は常にパルス半カウント分以下となり、誤差を最小に抑えることができる。
【００６３】
また、このとき、位置検出器１５の検出信号を利用して転流制御を行うと共に、紙送り速度制御或いは紙送り量制御等をも行うようにしているから転流制御用の位置検出器を専用に設ける必要がなく、駆動装置１０の構成品数の削減を図ることができる。
【００６４】
また、位置検出器１５からのパルス信号に基づいて転流タイミングを検出するようにしているから、位置検出器１５からパルス信号が出力されていれば転流制御を行うことができる。よって、従来のように逆起電力電圧に基づいて転流制御を行うような場合には、ブラシレスモータ１の回転速度がある程度以上ないと逆起電力電圧を検出することができず、転流制御を行うことができなかったが、本発明では位置検出器１５からのパルス信号に基づいて転流制御を行うため、モータの回転速度に係わらず、低速であっても転流制御を行うことができる。
【００６５】
さらに、一旦ブラシレスモータ１が停止状態となった場合でも、パルス信号に基づいて転流タイミングを検出するから、パルス数を記憶しておけば、ブラシレスモータ１が再度回転し始めるときにはパルス数から直ちに通電位相を決定でき、さらに、低速でも転流タイミングを検出することができるため、停止或いは回転開始時に係わらず、的確なタイミングで転流制御を行うことができる。
【００６６】
なお、上記第１の実施の形態においては、５転流区間のパルス数が“１０２”であり、区間パルス数Ｍが“２０．４”である場合について説明したがこれに限るものではない。例えば、一転流区間におけるパルス数（区間パルス数Ｍ）が５１１／２５＝２０．４４であるときには、同様にして前記表１のように転流間信号数を設定すると、真の転流タイミングと延べ信号数との誤差は、２５回目で零となるから、２５回の転流毎に誤差が零となることになり、転流パルス数列Ｐは、２５個の転流間信号数から構成されることになる。つまり、分数で表すことができる区間パルス数Ｍであれば、既約分数の分母の値と同じ回数の転流を行えば、真の転流タイミングと延べ信号数との誤差は零となるから、分数で表すことのできる区間パルス数Ｍであれば適用することができる。
【００６７】
また、上記第１の実施の形態においては、前記転流パルス数列Ｐを、延べ信号数の差を転流間信号数から構成するようにした場合について説明したが、これに限るものではなく、例えば延べ信号数から構成するようにしてもよく、この場合には、カウント数Ｃが各延べ信号数と一致する毎に転流を行い、カウント数Ｃが増加しているときにはカウント数Ｃが延べ信号数の最大値となったときにカウント数Ｃを零に更新設定し、逆にカウント数が減少しているときにはカウント数Ｃが零となったときにカウント数Ｃを延べ信号数の最大値に更新設定するようにすればよい。
【００６８】
ここで、図２のステップＳ１０５の処理がカウント手段に対応し、前記転流制御回路１２の図示しない記憶装置が転流パターン記憶手段に対応し、図５の転流カウント処理が転流制御手段に対応している。
【００６９】
次に、本発明の第２の実施の形態について説明する。
【００７０】
上記第１の実施の形態においては、区間パルス数Ｍが分数表示される場合について説明したが、この第２の実施の形態では、区間パルス数Ｍが整数となる場合について説明する。
【００７１】
なお、ブラシレスモータ１の駆動装置１０としての全体的な構成は上記第１の実施の形態と同様であり、転流制御処理において、ステップＳ１０１の転流原点設定処理及びステップＳ１０５の転流カウント処理の内容が異なること以外は同一であるため、図示及び重複する説明は省略すると共に、上記第１の実施の形態と同様の箇所には同じ符号を付与しその重複する説明も省略する。
【００７２】
この第２の実施の形態においては、上記第１の実施の形態と同様にして算出した、一転流区間におけるパルス数、つまり、区間パルス数Ｍが整数である。したがって、この区間パルス数Ｍを所定の記憶領域に記憶しておき、パルス数が区間パルス数Ｍとなったときに転流タイミングとして転流を行う。
【００７３】
つまり、転流制御回路１２では、起動されると図２に示す転流制御処理を開始し、ステップＳ１０１で転流原点設定処理を行うが、この第２の実施の形態では、図６に示す転流原点設定処理を行う。すなわち、まず、ステップＳ４０１で初期処理を行い、公知の処理と同様にして初期励磁引き込みを行って、ブラシレスモータ１の回転子を回転させる。
【００７４】
そして、例えば所定時間パルスエッジを検出しないかどうか等に基づいて、回転子が引き込み位置に停止したことを検出するとステップＳ４０２に移行し、上位装置からのブラシレスモータ１の起動時の回転方向を指示する指令信号に基づきブラシレスモータ１の回転方向を判別し、回転指示方向が正転方向の場合には、ステップＳ４０３に移行してカウント数ＣをＣ＝０に設定し、逆に、回転指示方向が逆転方向の場合には、ステップＳ４０２からステップＳ４０４に移行し、予め所定の記憶領域に格納している区間パルス数Ｍを読み出し、カウント数ＣをＣ＝Ｍに設定する。これにより転流原点設定処理が終了する。
【００７５】
このようにして図２のステップＳ１０１での転流原点設定処理が終了した後、上位装置からブラシレスモータ１の起動を指示する起動指令パルスが入力されると、ステップＳ１０２からステップＳ１０３に移行し、図４の起動処理を実行し、第１の実施の形態と同様にして、上位装置からの回転指示方向に応じて転流モードを１回切り換える等して起動処理を行う。
【００７６】
そして、ブラシレスモータ１が回転し、紙送り機構の駆動に伴って位置検出機１５からパルス信号が出力されると、転流制御回路１２ではパルス信号のパルスエッジの検出を行い、パルスエッジを検出したときにステップＳ１０４からステップＳ１０５に移行し、図７に示す転流カウント処理を実行する。
【００７７】
つまり、ステップＳ４１１で位置検出器１５からの二種類のパルス信号からブラシレスモータ１が正転しているか逆転しているかを判定し、ブラシレスモータ１が例えば正転していると判定されるときにはステップＳ４１２に移行し、カウント数Ｃを“１”だけインクリメントし、次いでステップＳ４１３に移行して、カウント数Ｃが区間パルス数Ｍと一致するかどうかを判定し、一致しないときには転流カウント処理を終了して図２に戻る。こうして、ブラシレスモータ１が正転している間は、ステップＳ４１１、Ｓ４１２、Ｓ４１３の処理を繰り返し行い、パルスエッジを検出する毎にカウント数Ｃを“１”ずつインクリメントする。
そして、ステップＳ４１３でカウント数Ｃが区間パルス数Ｍと一致すると、ステップＳ４１４に移行し、転流タイミングであるとして正転方向に転流モードを切り換える。その後、ステップＳ４１５に移行してカウント数ＣをＣ＝０に設定して転流カウント処理を終了する。
【００７８】
この状態から、ブラシレスモータ１を逆回転させるために、ブラシレスモータ１が停止された後、上位装置からブラシレスモータ１を逆回転方向に起動する起動指令パルスが入力されると、図２のステップＳ１０２でこれを検出し、ステップＳ１０３に移行して図４に示す起動処理において今度は逆回転方向への起動処理が行われる。そして、ブラシレスモータ１が逆回転し、位置検出器１５からのパルス信号のパルスエッジをステップＳ１０４で検出すると、ステップＳ１０４からステップＳ１０５に移行して図７の転流カウント処理を実行し、ブラシレスモータ１が逆回転しているから、ステップＳ４１１からステップＳ４２１に移行し、カウント数Ｃを“１”だけデクリメントする。
【００７９】
次いで、ステップＳ４２２に移行してカウント数ＣがＣ＝０であるかどうかを判定し、Ｃ＝０でなければ転流カウント処理を終了して図２に戻る。カウント数ＣがＣ＝０であるときにはステップＳ４２２からステップＳ４２３に移行し、転流タイミングであるとして転流モードを逆回転方向に切り換え、ステップＳ４２４でカウント数ＣをＣ＝Ｍに設定した後、転流カウント処理を終了する。
【００８０】
以後、上記と同様に、パルスエッジを検出する毎にカウント数Ｃを“１”ずつデクリメントし、カウント数Ｃが零となった時点で転流モードの切り換えを行う。
【００８１】
このように、予め検出した一転流区間におけるパルス数である区間パルス数Ｍとカウント数Ｃとが一致する毎、つまり、一転流区間に受信すべきパルス数を受信した毎に転流を行うから、的確なタイミングで転流を行うことができると共に、この場合も、転流制御用の位置検出器１５を専用に設ける必要がなく、上記第１の実施の形態と同等の作用効果を得ることができる。
【００８２】
なお、上記第１及び第２の実施の形態においては、ブラシレスモータ１を正転及び逆転させる場合について説明したが、例えばブラシレスモータ１を紙送り方向のみに限定して駆動する場合であっても適用することができるのはいうまでもない。
【００８３】
次に、本発明の第３の実施の形態を説明する。
【００８４】
この第３の実施の形態は、ブラシレスモータ１によって、例えばインクジェットプリンタのインクヘッドが固定されたキャリッジ２１を駆動するようにしたものである。すなわち例えば図８に示すように、二つのプーリ２２ａ，２２ｂ間に渡したベルト２３にキャリッジ２１が取り付けられ、ブラシレスモータ１の回転力を一方のプーリ２２ｂに伝達することによってベルト２３が移動し、キャリッジ２１を移動させるようになっている。
【００８５】
そして、このキャリッジ２１に設けられた、キャリッジ位置を検出するためのリニアエンコーダ等の位置検出器１５からのパルス信号に基づいて転流制御を行うようにしている。
【００８６】
なお、ブラシレスモータ１の駆動装置１０としての全体的な構成は上記第１の実施の形態と同様であるため、図示及び重複する説明は省略すると共に、上記第１の実施の形態と同様の箇所には同じ符号を付与しその重複する説明も省略する。
【００８７】
この第３の実施の形態においては、一転流区間におけるパルス数である区間パルス数Ｍの逆数１／Ｍを転流定数Ｔとして設定し、位置検出器１５からパルスを受信する毎にブラシレスモータ１の回転方向に応じて転流定数Ｔを加算又は減算し、この累積値Ｓに基づき転流タイミングを検出するようにしている。
【００８８】
つまり、転流定数Ｔを区間パルス数Ｍの回数加算したときに一転流区間となるから、パルスを受信する毎に転流定数Ｔを加算し、累積値Ｓが“１”以上となったとき、すなわち一転流区間が経過したときに、転流タイミングとしている。なお、前記転流定数Ｔの設定は、次のようにして行う。
【００８９】
まず、例えば初期励磁引き込みを行う等した後、ブラシレスモータ１を回転させ、例えばブラシレスモータ１が一回転する間の位置検出器１５からのパルス数を計測すること等によって、ブラシレスモータ１の回転子一回転当たりの位置検出器１５からのパルス数を検出し、検出したパルス数を、回転子一回転に必要な転流回数で除して一転流区間におけるパルス数Ｍを算出し、この逆数１／Ｍを転流定数Ｔとする。このとき転流定数Ｔの小数点以下の有効桁数を、次式（１）を満足するように設定する。
【００９０】
0003698024.tif 000003
なお、式中のｎは転流定数Ｔの小数点以下の有効桁数、Ｌはキャリッジ２１に設けられたインクヘッドの移動量、Ｂは位置検出器１５の分解能〔ヘッド移動量／パルス数〕、Ｔは転流定数、Ｘはブラシレスモータ１のピークトルクを“１”としたときのトルクリップルの谷の値であって、許容範囲を規定する電気角に応じて設定される値、Ｆは一転流区間の電気角である。
【００９１】
前記（１）式は次のようにして導かれる。
【００９２】
すなわち、キャリッジ２１の位置検出用の位置検出器としてのエンコーダからのパルス信号に基づき転流定数Ｔに基づいて決定される回転子位置と、実際の回転子位置との誤差εが、許容範囲σの範囲内であればよい。
【００９３】
前記転流定数Ｔは、エンコーダからのパルス信号の一カウント毎のブラシレスモータ１の回転量を表す値である。つまり、例えば、ブラシレスモータ１が一回転する間のエンコーダからのパルス数を計測し、ブラシレスモータ１の一回転に必要な転流回数を、前記パルス数の計測値で除算した値である。
【００９４】
前記ブラシレスモータ１が三相バイポーラ構成のモータである場合、前記転流定数Ｔに、一転流あたりの電気角６０ｄｅｇ・Ｅを乗算すると、パルス信号のパルス一カウント毎の電気角が算出される。
【００９５】
したがって、ある転流タイミングを起点に転流定数Ｔを零から加算し、その合計値が“１”以上となった時点が次の転流タイミング、つまり、６０ｄｅｇ・Ｅだけ進んだ位置であることがわかる。ここで、前記パルス数のカウントはデジタルカウントであるため、原理的に信号１カウント分以内の誤差を含むことになる。
【００９６】
一方、ブラシレスモータ１によってインクジェットプリンタのキャリッジを駆動する場合には、図８に示すように、ブラシレスモータ１の回転力がプーリ２２ｂを介してキャリッジ２１に伝達されるため、プーリ径に応じてブラシレスモータ１のモータ回転量とキャリッジに取り付けられたインクヘッドのヘッド送り量との関係が決まる。前記プーリ径に製造公差程度の誤差が含まれるとするとモータ一回転でカウントされるエンコーダからのパルス数は、使用されるプーリ２２ｂの径寸法のばらつきに応じて数カウント程度異なり、多回転した場合には誤差が累積して、転流誤動作の原因となる場合がある。
【００９７】
これを防止するためには、組み立て後のそれぞれのプリンタにおいて、キャリッジ駆動用のモータ一回転当たりのエンコーダからのパルス数をカウントし、このカウント数に基づいて転流定数Ｔを決定すればよい。
【００９８】
ところで、初期的にブラシレスモータ１をある転流タイミングの位置に引き込んだ場合の、この時点でのパルス数の誤差は最大でもパルス信号一カウント未満であるから、ブラシレスモータ１の初期の転流位置の位置決め時の誤差の最大値ｅ１は、次式（２）に示すように、転流定数Ｔつまり１カウント当たりのモータ回転量よりも小さくなる。
【００９９】
ｅ１＜Ｔ                                      ……（２）
また、キャリッジの移動に伴ってパルス数をカウントし、このパルス数に基づいてブラシレスモータ１の回転量を算出した場合の誤差は、転流定数Ｔの小数点以下の有効桁数をｎ桁、つまり、最小桁であるｎ＋１桁目を四捨五入してｎ桁の数として取り扱った場合、パルス信号のパルス１カウント毎に、最大でも、５×１０-(n+1)〔１／カウント〕すなわち、５×１０-(n+1)〔モータ回転量〕未満となり、パルスをＱ回カウントした時点での、パルスのカウントに伴う最大誤差ｅ２は、次式（３）で表される。
【０１００】
ｅ２＜Ｑ×５×１０-(n+1)〔モータ回転量〕      ……（３）
エンコーダの分解能を、Ｂ〔ヘッド移動量／パルス数〕とした場合、パルスをＱ回カウントしたときのヘッド移動量Ｌは、次式（４）で表される。
【０１０１】
Ｌ＝Ｂ×Ｑ                                    ……（４）
したがって、このときの回転子の認識位置の誤差の最大値εは、前記（２）式から（４）式に基づき、次式（５）で表される。
【０１０２】
0003698024.tif 000004
以上から、実用的には、この誤差εが許容範囲σ内に収まればよいことになる。
【０１０３】
ここで、許容範囲σを、ブラシレスモータ１のピークトルクを“１”としたときのトルクリップルの谷の値がＸ以上となる電気角の範囲とする。三相モータの場合、トルクリップルの谷の値は原理的に３1/2 ／２であるから、前記Ｘの選択可能範囲は、０＜Ｘ≦（３1/2 ／２）となる。
【０１０４】
ここで、モータ一転流区間における電気角Ｆは、三相モータの場合６０ｄｅｇ・Ｅであるから、許容範囲σは次式（６）で表される。
【０１０５】
σ＝６０−asin（Ｘ）〔ｄｅｇ・Ｅ〕            ……（６）
したがって、ヘッドつまりキャリッジがＬだけ移動したときにブラシレスモータ１の回転子認識位置誤差が許容範囲に収まる条件は次式（７）となる。
【０１０６】
ε・６０＜σ                                  ……（７）
前記（５）式及び（６）式から前記式（７）は次式（８）となるから、これに基づき有効桁数ｎを算出すると、次式（９）と表される。
【０１０７】
0003698024.tif 000005
ここで、（９）式中の“６０”は一転流区間の電気角Ｆであるから、すなわち前記（１）式が導かれた。
【０１０８】
したがって、例えば、転流定数Ｔを１／（１８４／３６）、エンコーダの分解能を２５．４／１８０、ヘッド移動量Ｌを３５０〔ｍｍ〕、トルクリップルの谷の値Ｘの許容値を２1/2 ／２とした場合には、前記（９）式から有効桁数ｎはｎ＝５となり、転流定数Ｔの小数点以下の有効桁数を５桁とすればよいことになる。
【０１０９】
このとき、例えば転流定数Ｔの小数点以下の有効桁数ｎをｎ＝５としたときのトルクリップルの谷の値のＸをＸ0 として逆に算出すると、次式（１０）となり、この設定条件でのトルクリップルの最悪値を確認することができる。
【０１１０】
0003698024.tif 000006
さらに、例えば、許容範囲σをσ0 として算出すると、次式（１１）となり、最悪時に、σ0 の電気角誤差を許容しながらの制御であることを確認することができる。
【０１１１】
0003698024.tif 000007
また、例えばパルス数をカウントすることに伴う回転子位置算出誤差を、パルス信号のパルス１カウント分未満に収めようとする場合には、次のようにして有効桁数ｎを設定すればよい。
【０１１２】
すなわち、パルスをＱ回カウントした時点での信号カウントに伴う最大誤差が転流定数Ｔ未満であればよいから、前記（３）式から、次式（１２）が成立すればよいことになる。
【０１１３】
ｅ２＜Ｑ×５×１０-(n+1)＜Ｔ              ……（１２）
したがって、前記（４）式及び（１２）式から、次式（１３）を満足する整数ｎを求めればよいことになる。
【０１１４】
ｎ＞ log 〔５×Ｌ／（Ｂ×Ｔ)〕−１              ……（１３）
よって、例えば転流定数Ｔ＝１／（１８４／３６）、エンコーダの分解能Ｂが２５. ４／１８０、ヘッド移動量Ｌ＝３５０〔ｍｍ〕とすると、前記式（１３）からＴの小数点以下の有効桁数ｎはｎ＝４となり、４桁が必要であることがわかる。
【０１１５】
ただし、このときのトルクリップルの最悪値は、前記（１０）式から、Ｘ0 ＝０．６５４となり、実用的には少し悪すぎる。また、前記（１１）式からσ0 ＝１９．２〔ｄｅｇ・Ｅ〕となるから、１９．２〔ｄｅｇ・Ｅ〕の転流タイミングのずれを許容しながらの制御であることがわかる。
【０１１６】
なお、この例では、最大誤差ｅ２をＴ未満に収める条件を求めているので、回転子の認識位置の誤差の最大値εは、ε＝ｅ１＋ｅ２＜２×Ｔの条件になっている。
【０１１７】
また、例えば、転流定数Ｔを１／（１８４／３６）、その有効桁数ｎをｎ＝５、エンコーダの分解能を２５．４／１８０、トルクリップルの谷の値Ｘの許容値を２1/2 ／２とした場合のヘッド移動量Ｌは、前記（８）式を変形した次式（１４）を用いて求めることができる。
【０１１８】
Ｌ＜（１−Ｔ−asin（Ｘ）／６０）・Ｂ・１０(n+1) ／５  ……（１４）
この（１４）式から、前記条件ではヘッド移動量Ｌは、０〜１５３３〔ｍｍ〕まで対応可能であることがわかる。つまり、トルクリップルの谷の値Ｘの許容値を２1/2 ／２とした場合には、有効桁数５桁でほぼ全ての紙サイズのプリンタに対応可能となる。逆に、上記と同一条件で有効桁数４桁の場合は、ヘッド移動距離は０〜１５３〔ｍｍ〕までが対応可能であり、Ａ５サイズの用紙以下は対応可能であるが、Ｂ５サイズ以上の用紙は対応不可能となる。
【０１１９】
ここで、エンコーダの分解能が四倍となったときには、有効桁数が５桁である場合、ヘッド移動量Ｌは０〜１４１８〔ｍｍ〕まで対応可能となり、ほぼ全ての紙サイズのプリンタに対応可能となる。また、プーリ径のみが四倍となった場合には、有効桁数が４桁の場合には０〜５６７〔ｍｍ〕、有効桁数が５桁の場合には５６７５〔ｍｍ〕までが対応可能となる。
【０１２０】
さらに、エンコーダの分解能が四倍となり、且つプーリ径が四倍となると、有効桁数が５桁の場合には、ヘッド移動量Ｌは０〜１６７７〔ｍｍ〕まで対応可能となり、ほぼ全ての紙サイズに対応できることがわかる。
【０１２１】
以上述べたように、トルクリップルの谷の値Ｘの許容値を２1/2 ／２とする場合には、転流定数Ｔの有効桁数ｎを、４以上に設定すればよいことがわかる。
【０１２２】
次に、トルクリップルの谷の値Ｘの許容値をより精度の良い範囲に収める方法を述べる。
【０１２３】
前述のように、三相モータの場合には、トルクリップルの谷の値は、原理的に３1/2 ／２≒０．８６６０であるから、目安として０．８６程度のトルクリップルで制御できれば、制御によるトルクリップル値の劣化はほとんど無いと考えてよい。
【０１２４】
Ｘ≧０．８６を満たす条件は、前述の（１）式により求められるが、例えばこれまで検討してきた設定に対して、エンコーダの分解能を九倍、プーリ径を二倍にすると、Ｘ＝０．８６０２の値が得られる。この場合には、転流定数Ｔの有効桁数ｎを８桁に設定すると、前述のヘッド移動量Ｌが０〜１６３２〔ｍｍ〕の範囲でＸ≧０．８６が達成可能になり、全ての紙サイズのプリンタに対応することができる。これから、転流定数Ｔの有効桁数ｎは８桁あれば充分であることわかる。
【０１２５】
以上述べたように、転流定数Ｔの有効桁数ｎは４桁以上８桁以下の値に設定すれば、極めて有効な制御が行えることがわかった。
【０１２６】
次に、具体的な制御の流れについて説明する。前述のようにして設定した転流定数Ｔに基づいて転流タイミングを検出する場合には、前記図２のフローチャートに示す、転流制御処理（転流制御手段）の処理手順にしたがって行う。なお、前記転流定数Ｔは予め検出され、所定の記憶領域に記憶されている。
【０１２７】
まず、ステップＳ１０１で転流原点設定処理を行うが、第３の実施の形態では、図９に示す手順で転流原点設定処理を行う。
【０１２８】
つまり、ステップＳ５０１で初期処理を行い、公知の処理と同様にして初期励磁引き込みを行って、ブラシレスモータ１の回転子を回転させる。また、所定の記憶領域に記憶している前記転流定数Ｔを読みだす。
【０１２９】
そして、例えば所定時間パルスエッジを検出しないかどうか等に基づいて、回転子が引き込み位置に停止したことを検出すると、ステップＳ５０２に移行し、上位装置からのブラシレスモータ１の起動時の回転方向を指示する指令信号に基づきブラシレスモータ１の回転方向を判別し、回転指示方向が正転方向の場合には、ステップＳ５０３に移行して累積値ＳをＳ＝０に設定し、逆に、回転指示方向が逆転方向の場合には、ステップＳ５０２からステップＳ５０４に移行して、累積値ＳをＳ＝１に設定する。これにより転流原点設定処理を終了する。
【０１３０】
このようにしてステップＳ１０１での転流原点設定処理が終了し、続いて上位装置からブラシレスモータ１の起動を指示する起動指令パルスが入力されると、ステップＳ１０２からステップＳ１０３に移行して前記図４の起動処理を実行し、上記第１の実施の形態と同様にして、上位装置からの回転指示方向に応じて、転流モードを１回切り換える。これにより、転流モードに応じた転流信号が出力され、インバータ１１を介して所定の相が励磁されてブラシレスモータ１は指令信号に応じて正転或いは逆転し、このブラシレスモータ１の回転力は、プーリ２２ｂを介してベルト２３に伝達されてキャリッジ２１が移動する。
【０１３１】
キャリッジ２１の移動に伴って位置検出器１５からパルス信号が出力され、そのパルスエッジを検出すると、ステップＳ１０４からステップＳ１０５に移行し、転流カウント処理を実行するが、この第３の実施の形態では、図１０に示す手順で転流カウント処理を実行する。まず、ステップＳ５１１で、位置検出器１５からの二種類のパルス信号からブラシレスモータ１が正転しているか逆転しているかを判定し、ブラシレスモータ１が正転していると判定されるときにはステップＳ５１２に移行して累積値Ｓに転流定数Ｔを加算する。そして、ステップＳ５１３に移行し、累積値Ｓが“１”以上であるかどうかを判定し、累積値Ｓが“１”未満であるときには転流カウント処理を終了して図２に戻る。そして、位置検出器１５からのパルス信号のパルスエッジを検出する毎に累積値Ｓに転流定数Ｔを順次加算し、累積値Ｓが“１”以上となったときにステップＳ５１３からステップＳ５１４に移行し、転流タイミングであると判定して正転方向に転流モードを切り換え、ステップＳ５１５で累積値Ｓから“１”を減算した後、転流カウント処理を終了する。
【０１３２】
以後、ブラシレスモータ１が正転している間は、ステップＳ５１１、Ｓ５１２、Ｓ５１３の処理を繰り返し行い、位置検出器１５からのパルス信号のパルスエッジを検出する毎に累積値Ｓに転流定数Ｔを加算し、累積値Ｓが“１”以上となる毎に転流モードの切り換えを行うと共に累積値Ｓから“１”を減算する。
【０１３３】
この状態から、ブラシレスモータ１を逆回転させるべくブラシレスモータ１が停止された後、逆回転方向への起動を指示する起動指令パルスが上位装置から入力されると、図２のステップＳ１０２でこれを検出し、ステップＳ１０３に移行して逆回転方向への起動処理を実行する。これによってブラシレスモータ１が逆回転し、パルス信号のパルスエッジを検出すると、ステップＳ１０４からＳ１０５に移行し図１０の転流カウント処理を実行するが、ブラシレスモータ１は逆回転しているから、ステップＳ５１１からステップＳ５２１に移行し、累積値Ｓから転流定数Ｔを減算する。そして、ステップＳ５２２に移行し、累積値Ｓが“０”以下であるかどうかを判定し、累積値ＳがＳ≦０でないときにはそのまま転流カウント処理を終了する。一方、ステップＳ５２２で累積値ＳがＳ≦０であるときにはステップＳ５２３に移行し、転流タイミングであるとして逆回転方向への転流モードの切り換えを行う。そして、ステップＳ５２４に移行して累積値Ｓに“１”を加算した後、転流カウント処理を終了する。
【０１３４】
以後、ブラシレスモータ１が逆回転している間は、ステップＳ５１１、Ｓ５２１、Ｓ５２２に移行し、位置検出器１５からのパルス信号のパルスエッジを検出する毎に累積値Ｓから転流定数Ｔを減算し、累積値Ｓが“０”以下となる毎に、転流タイミングであるとして転流モードの切り換えを行うと共に、累積値Ｓに“１”を加算する。
【０１３５】
このように、上記第３の実施の形態においては、パルス信号のパルス１カウントあたりのモータの回転量から転流定数Ｔを算出し、パルスを入力する毎にその回転方向に応じて転流定数Ｔを累積値Ｓに加算又は減算し、累積値Ｓが転流定数Ｔを加算しているときには“１”以上となる毎に、逆に転流定数Ｔを減算しているときには“０”以下となる毎に、転流タイミングとして転流を行うようにし、且つ、転流定数Ｔの有効桁数ｎを、転流タイミングの誤差の許容範囲内に収まるように設定したから、的確なタイミングで転流を行うことができる。
【０１３６】
特に、上記第１或いは第２の実施の形態で示したような歯車機構を用いた動力伝達機構の場合は、モータと駆動対象物との速度比は歯数比で一義的に決まるのに対し、上記第３の実施例に示したベルトとプーリーを用いた動力伝達機構の場合には、モータと駆動対象物との速度比はプーリー径に依存するため、プーリー径の製造公差程度のばらつきに対応して速度比もばらつく。これにより、モータが多回転した場合に、エンコーダからのパルス数のばらつき誤差の累積値が、転流誤動作を起こすほどに増大する危険があるが、上記第３の実施の形態では、転流誤差をより削減することができるため、好適である。
【０１３７】
また、この場合も、キャリッジ２１の位置検出用の位置検出器１５のパルス信号をもとに転流制御を行うようにしているから、転流制御用の専用の位置検出器を新たに設ける必要はなく、構成品の削減を図ることができる。
【０１３８】
また、転流定数Ｔを算出する際に、実際にブラシレスモータ１を駆動させた場合の位置検出器１５からのパルス数と、転流回数とに基づいて転流定数Ｔを設定するようにしているが、例えば計算等に基づいて算出することも可能である。しかしながら、実際に計測を行うことによって、例えばブラシレスモータ１の駆動力をキャリッジに伝達するためのプーリの公差等による誤差分等の影響を削減することができるから、より高精度に転流タイミングを検出することができる。
【０１３９】
また、前記（１）式に示すように、転流定数Ｔの有効桁数ｎと転流タイミングの許容範囲σとの関係、また、ヘッド移動量Ｌ、位置検出器１５の分解能Ｂ等との関係が表されるから、適用するプリンタのヘッド移動量或いは位置検出器１５の分解能等に応じて、前記（１）式を満足するように転流定数Ｔを設定することによって、所望の許容範囲σとなるように容易に転流制御を行うことができ、ヘッド移動量或いは位置検出器１５の分解能等各変数が変化したとしても、必要とする精度を満足するよう容易に転流制御を行うことができる。
【０１４０】
また、累積値Ｓに対して転流定数Ｔを加算しているときには、累積値Ｓが“１”以上となる毎に累積値Ｓから“１”を減算し、逆に累積値Ｓに対して転流定数Ｔを減算しているときには、累積値Ｓが“０”以下となる毎に累積値Ｓに“１”を加算するようにしたから、累積値Ｓの桁数の増加を回避することができ、演算用メモリを節約することができる。
【０１４１】
なお、前記転流定数Ｔは１以下の値であるから、１０の有効桁数ｎ乗（１０n ）を転流定数Ｔに乗算して転流定数Ｔを整数値として取り扱い、累積値Ｓの上位側ｎ＋１桁目が変化する毎、又は累積値Ｓが“０”以下となる毎に転流を行うようにしてもよく、また、この場合にも、累積値Ｓに対して転流定数Ｔを加算しているときには、累積値Ｓの上位側ｎ＋１桁目が変化する毎に累積値Ｓから１０n を減算し、逆に累積値Ｓに対して転流定数Ｔを減算しているときには、累積値Ｓが“０”以下となる毎に累積値Ｓに１０n を加算するようにしてもよい。このようにすることによって、整数値演算となり演算処理を簡略にすることができる。
【０１４２】
次に、本発明の第４の実施の形態を説明する。
【０１４３】
この第４の実施の形態は、前記第３の実施の形態において、前記キャリッジ２１が右方向に移動するときの累積値ＳR と、左方向に移動するときの累積値ＳL とを設け、キャリッジ２１を右方向に移動させるときには右方向の累積値ＳR に基づき転流制御を行い、左方向に移動させるときには左方向の累積値ＳL に基づき転流制御を行うようにしたものである。
【０１４４】
なお、転流制御回路１２での転流制御処理の処理手順が異なること以外は上記第３の実施の形態と同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
【０１４５】
この第４の実施の形態では、起動されると前記図２の転流制御処理を実行するが、ステップＳ１０１の転流原点設定処理では、図１１に示す転流原点設定処理を実行する。ここでは、例えばキャリッジ２１が上記プーリ２２ａ，２２ｂ間の中央付近にあるときを転流原点設定位置とし、上記転流原点設定位置において転流原点、すなわち上記累積値ＳR 、 ＳL の初期値を設定する。具体的には、まずステップＳ６０１で、キャリッジ２１を上記転流原点設定位置に移動させるために使用する仮の転流原点を設定する。ステップＳ６０１では仮転流原点設定処理として、上記第３の実施の形態と同様に、図９に示した転流原点設定処理が実行される。次にステップＳ６０２に移行し、上記転流原点設定位置方向へブラシレスモータ１を起動する。ブラシレスモータ１が回転起動してキャリッジ２１が移動し、位置検出器１５から出力されるパルスエッジが検出されると（ステップＳ６０３）、ステップＳ６０４に移行し、図１０に示した転流カウント処理を実行する。そしてステップＳ６０５でキャリッジ２１が転流原点設定位置に到達したかどうか判断し、到達していなければ、ステップＳ６０３に戻り、転流原点設定位置に到達するまでステップＳ６０３〜Ｓ６０５を繰り返し実行する。
【０１４６】
なお、この転流原点設定位置へのキャリッジ２１の移動は、第３の実施の形態における転流制御処理を行ってキャリッジ２１を転流原点設定位置に移動させる方法に限らず、例えば、上位装置から転流タイミング及び回転方向を指示し、強制的に転流モードの切り換えを行って、前記転流原点位置への移動を行うようにしてもよい。
【０１４７】
このようにしてキャリッジ２１を移動させ、キャリッジ２１が転流原点設定位置に到達すると、ステップＳ６０５からステップＳ６０６に移行する。なお、キャリッジ２１が転流原点設定位置に到達したかどうかの判定は、例えば、パルスエッジを検出する毎に回転方向に応じてパルスエッジをカウントし、そのカウント数に基づきキャリッジ２１の現在位置を推定すること等により行う。
【０１４８】
ステップＳ６０６では、このときの転流モードを所定の記憶領域に記憶し、後述の図１２で実行される転流モードの切り換え（以下、転流モード自動切り換えという。）を禁止する。
【０１４９】
続いて、ステップＳ６０７に移行し、例えば所定時間位置検出器１５からのパルス信号のパルスエッジを検出しないこと等から、回転子がトルクの釣り合う平衡位置、すなわち引き込み位置で停止したことを検出するとステップＳ６０８に移行し、前記ステップＳ６０６で所定の記憶領域に格納した転流モードに基づき、転流モードを正転方向（ここではキャリッジ２１が右方向に移動する方向）に強制的に１回切り換える。
【０１５０】
次いで、ステップＳ６０９に移行し、回転子が引き込み位置に停止したことを検出すると、ステップＳ６１０に移行し、この引き込み停止位置をキャリッジ２１が右方向に移動するときの転流原点として累積値ＳR をＳR ＝１に設定する。また、累積値ＳL の初期値としてＳL ＝１に設定する。
【０１５１】
そして、ステップＳ６１１に移行し、今度は逆転方向（ここではキャリッジ２１が左方向に移動する方向）に強制的に転流モードを１回切り換え、次いで、ステップＳ６１３に移行して、図１２に示す転流カウント処理を実行する。図１２の転流カウント処理の詳細については後述する。その後、ステップＳ６１４に移行して、回転子が引き込み位置に停止したかどうかを判定し、回転子が引き込み位置に停止ししていなければ、ステップＳ６１２に移行してパルスエッジを検出したかを判定し、パルスエッジを検出したときにはステップＳ６１３に移行して転流カウント処理を行い、パルスエッジを検出しないときにはステップＳ６１４に移行する。
【０１５２】
ステップＳ６１４で回転子が引き込み位置に停止したことを検出すると、ステップＳ６１４からステップＳ６１５に移行し、上位装置から通知されるブラシレスモータ１の起動時の回転方向が正転であるかどうかを判定し、起動方向が正転方向であると判定されるときにはステップＳ６１５からステップＳ６１６に移行し、この引き込み停止位置を、キャリッジ２１が左方向に移動するときの転流原点として累積値ＳL をＳL ＝０に設定する。一方、回転方向が逆転方向であるときにはステップＳ６１５からステップＳ６１７に移行し、前記引き込み位置をキャリッジ２１が左方向に移動するときの転流原点として累積値ＳL をＳL ＝１に設定する。そして、ステップＳ６１８に移行して転流モードの自動切り換え許可を行い、転流原点設定処理を終了する。
【０１５３】
このようにして転流原点設定処理が終了すると、図２のステップＳ１０１からステップＳ１０２に移行し、上位装置から起動指令パルスが入力されると、その回転方向に応じて起動処理を行い、これに伴ってパルス信号が出力されそのパルスエッジを検出すると、ステップＳ１０４からステップＳ１０５に移行し、前記ステップＳ６１１で実行した図１２に示す転流カウント処理を実行する。
【０１５４】
この転流カウント処理では、まず、ステップＳ６２１で位置検出器１５からの二種類のパルス信号からブラシレスモータ１が正転しているかどうかを判定し、正転しているときにはステップＳ６２２に移行し、累積値ＳR 及びＳL にそれぞれ転流定数Ｔを加算した後、ステップＳ６２３に移行する。
【０１５５】
このステップＳ６２３では、累積値ＳL が“１”以上であるかどうかを判定し、“１”以上であるときにはステップＳ６２４に移行してＳL から“１”を減算した後ステップＳ６２５に移行し、“１”以上でないときにはそのままステップＳ６２５に移行する。ステップＳ６２５では、累積値ＳR が“１”以上であるかを判定し、ＳR ≧１であるときにはＳ６２６に移行し、転流タイミングであるとして、転流モードを正転方向に切り換え、ステップＳ６２７に移行して累積値ＳR から“１”を減算した後、転流カウント処理を終了し図２に戻る。一方、ステップＳ６２５で累積値ＳR が“１”以上でないときには、そのまま転流カウント処理を終了し図２に戻る。
【０１５６】
一方、回転方向が逆回転の場合には、ステップＳ６２１からステップＳ６３１に移行し、累積値ＳR 及びＳL から転流定数Ｔを減算し、次いでステップＳ６３２に移行して、累積値ＳR が“０”以下であるか否かを判定する。そして、累積値ＳR が“０”以下であるときには、ステップＳ６３３に移行して累積値ＳR に“１”加算した後、ステップＳ６３４に移行し、累積値ＳR が“０”以下でないときにはそのままステップＳ６３４に移行する。
【０１５７】
このステップＳ６３４では、累積値ＳL が“０”以下であるかを判定し、ＳL ≦０であるときにはステップＳ６３５に移行し、転流タイミングであるとして逆転方向に転流モードを切り換え、ステップＳ６３６に移行して累積値ＳL に“１”を加算した後、転流カウント処理を終了し図２に戻る。一方、ステップＳ６３４で累積値ＳL が“０”以下でないときにはそのまま転流カウント処理を終了し図２に戻る。
【０１５８】
なお、図１２に示す転流カウント処理を図１１の転流原点設定処理のステップＳ６１３の処理で実行する場合には、図１１のステップＳ６０６の処理で転流モード自動切り換えが禁止されているから、ステップＳ６２５で累積値ＳR がＳR ≧１となった場合、また、ステップＳ６３４で累積値ＳL がＳL ≦０となった場合でもステップＳ６２６又はステップＳ６３５で転流モードの切り換えは行わない。つまり、図１１に示したステップＳ１０１における転流原点設定処理では、図１２の転流カウント処理を実行することによって累積値ＳR 及びＳL の更新のみを行う。
【０１５９】
上述のように、この第４の実施の形態では、ステップＳ１０１の転流原点設定処理によって転流原点の設定を行い、右方向及び左方向の転流原点を設定した時点から累積値ＳR 及びＳL の更新を行い、上位装置から起動指令パルスが入力されると指定された回転方向への起動処理を行ってブラシレスモータ１を起動し（ステップＳ１０３）、これによって位置検出器１５からのパルス信号のパルスエッジを検出すると、これに応じて累積値ＳR 及びＳL の更新を行い、この累積値ＳR 及びＳL に基づいて転流モードの切り換えを行う。
【０１６０】
つまり、ブラシレスモータ１が正転しているときには、右方向の累積値ＳR についてはパルスエッジを検出する毎に転流定数Ｔを加算してこれに基づき転流タイミングを生成すると共に、左方向の累積値ＳL についてもパルスエッジを検出する毎に転流定数Ｔを加算する。逆に、ブラシレスモータ１が逆回転しているときにはパルスエッジを検出する毎に、左方向の累積値ＳL については転流定数Ｔを減算しこれに基づいて転流タイミングを検出すると共に、右方向の累積値ＳR についてもパルスエッジを検出する毎に転流定数Ｔを減算する。
【０１６１】
そして、正転時には、右方向の転流原点を基準としたときの累積値ＳR に基づいて累積値ＳR が“１”以上となる毎に転流モードの切り換えを行い、逆転時には、左方向の転流原点を基準としたときの累積値ＳL が“０”以下となる毎に転流モードの切り換えを行う。
【０１６２】
ここで、例えば前記図８に示すように、ブラシレスモータ１の回転運動をプーリ２２ａ，２２ｂによってベルト２３の直線運動に変換し、このベルト２３によってキャリッジ２１を駆動するような場合、ブラシレスモータ１の回転力がキャリッジ２１に伝達されるまでの経路つまりベルトの長さが正転時と逆転時とでは異なるため、回転方向を切り替えるとベルト２１の伸び量に応じて回転子位置とキャリッジ２１の絶対位置とがずれることになる。
【０１６３】
しかしながら、上記第４の実施の形態においては、正転時と逆転時とで転流原点位置を個別に設け、正転時には右方向の累積値ＳR 、逆転時には左方向の累積値ＳL に基づいて転流タイミングを検出するようにしたから、転流原点を設定した時点で、ベルトの伸び量に応じた誤差が除去されることになって、ブラシレスモータ１の回転方向の違いに起因する転流タイミングのずれの発生を回避することができ、的確なタイミングで転流を行うことができる。
【０１６４】
したがって、例えば経時変化等によってキャリッジの動きが重くなったとき、或いはベルト全体が伸びてしまった場合等においても的確なタイミングで転流を行うことができる。
【０１６５】
また、この場合も、累積値ＳL 或いはＳR の最上位桁が繰り上がる毎に累積値ＳL 或いはＳR から“１”を減算するようにしているから、累積値ＳL 或いはＳR の桁数の増加を回避することができ、演算用メモリを節約することができる。
【０１６６】
さらに、転流原点設定完了後の回転方向によって、累積値ＳL の初期値を異なった値に設定するようにしているから、駆動状況によって累積値ＳL 及びＳR の値が常に“１”よりも大きい値、或いは“０”未満の値となってしまい、転流が永久に行われなくなるという不具合が生じることはない。
【０１６７】
また、この第４の実施の形態においても、１０の有効桁数ｎ乗（１０n ）を転流定数Ｔに乗算し、整数値として取り扱うようにしてもよく、また、このとき、最上位桁が繰り上がる毎に１０n を累積値ＳL 或いはＳR から減算するようにしてもよい。
【０１６８】
なお、上記第４の実施の形態においては、転流原点をベルト中央部付近で設定するようにしているが、これに限るものではなく、例えばベルトの両端等、任意の位置を転流原点として設定することができる。しかしながら、ベルトの伸び量は、ベルト中央部付近が平均的な伸び量となるため、中央部付近で転流原点を設定することになり、より的確にベルトの伸びに起因する誤差の影響を削減することができる。
【０１６９】
なお、上記各実施の形態においては、プリンタのキャリッジ或いは紙送り機構に設けられたエンコーダ等からのパルス信号に基づいて、これらを駆動するモータの転流タイミングを検出するようにした場合について説明したがこれに限るものではなく、モータの駆動に伴って、その駆動対象物の移動量に応じて位置検出器からパルス信号を得ることが可能な構成であれば、適用することができる。
【０１７０】
また、ポテンショメータ等駆動対象の位置を検出するようなセンサであっても適用することができ、この場合には、例えばポテンショメータの位置情報に基づき駆動対象が所定量移動したときにパルス信号を出力するパルス生成回路を設け、このパルス生成回路が出力するパルス信号に基づき上記と同様に制御を行うようにすれば、上記と同等の作用効果を得ることができる。
【０１７１】
また、上記各実施の形態においては、位置検出器１５からの検出信号に基づいて、転流制御を行うようにした場合について説明したが、この位置検出器１５からの検出信号に基づいて、転流制御だけではなく、同時に速度制御或いは位相制御を行うようにしてもよい。
【０１７２】
また、上記各実施の形態においては、ＤＣブラシレスモータを適用した場合について説明したが、これに限らず、ステップモータ等を適用することもできる。
また、エンコーダとしてリニアエンコーダ或いはロータリエンコーダなど適用した場合について説明したがこれに限るものではなく、また、光学式或いは磁気式のエンコーダであっても適用することができる。
【０１７３】
また、上記各実施の形態においては、三相ブラシレスモータに適用した場合について説明したがこれに限るものではなく、一相又は二相、或いは四相以上のブラシレスモータに適用することも可能である。
【０１７４】
また、上記第３或いは第４の実施の形態においては、ブラシレスモータ１の回転力がプーリ２２ｂを介して伝達されるキャリッジ２１の駆動制御を行う場合について説明したが、上記第１或いは第２の実施の形態のように、ブラシレスモータ１の回転力が歯車機構等を介して伝達される紙送り機構を駆動する場合に適用することも可能である。
【０１７５】
【発明の効果】
以上説明したように、本発明の請求項１に係るモータの駆動装置によれば、モータからの動力が伝達されて駆動される駆動対象物に設けられ、且つ駆動対象物の移動に伴って位置検出用のパルス信号を出力する位置検出器からのパルス信号を利用して、モータの転流制御を行うようにしたから、モータの転流制御用の位置検出器を設けることなく転流制御を行うことができると共に、モータが低回転域であっても的確に転流タイミングを検出し、高精度に転流制御を行うことができる。
【０１７６】
また、請求項２に係るモータの駆動装置によれば、モータの駆動対象物に設けられた位置検出器からのパルス信号のパルス数をモータの回転方向に応じてカウントし、このカウント値が、予め検出した一転流区間あたりに受信するパルス数に基づいて設定した転流パターンで特定される整数値と一致するとき、モータの転流を行うようにしたから、モータの転流制御用の位置検出器を設けることなくモータの転流制御を行うことができると共に、的確な転流タイミングで転流を行うことができる。
【０１７７】
また、請求項３に係るモータの駆動装置によれば、転流パターンを、一転流区間あたりの前記パルス数である区間パルス数を順次加算したときにその和が整数値となるまでの加算回数個の転流タイミング値で構成し、且つ転流タイミング値は、各加算回における前記区間パルス数の和の小数点以下を四捨五入して整数値とした値に基づいて設定するようにしたから、転流を行う毎に転流タイミングのずれが累積されることはなく、転流タイミングのずれを抑制し高精度に転流制御を行うことができる。
また、請求項４乃至請求項９に係るモータの駆動装置によれば、駆動対象物に設けられ且つ駆動対象物の移動に伴って出力される位置検出器からパルスが入力される毎に、モータの一転流区間あたりのパルス数の逆数である転流定数をモータの回転方向に応じて加算又は減算し、転流定数の累積値の整数部が変化したとき、又は累積値が整数値となったとき、又は前記累積値の符号が変化したときに転流を行うから、モータの転流制御用の位置検出器を設けることなく転流制御を行うことができると共に、的確なタイミングで転流を行うことができ、高精度に転流制御を行うことができる。
【０１７８】
また、請求項５乃至請求項７に係る発明によれば、回転子を所定量回転させる場合に必要とする転流回数を、この回転を行う際に受信すべきパルス数の設計値で除算すれば、転流定数を容易に算出することができ、また、回転子を所定量回転させた場合に実際に受信するパルス数を計測し、これに基づき転流定数を算出することにより、実際のモータの回転力伝達系に応じた転流定数を設定することができる。
【０１７９】
特に、請求項７に係る発明によれば、回転子を一回転させた場合に受信するパルス数を計測し、これに基づき転流定数を算出するから、モータ内部の部品の寸法誤差による各転流タイミング毎のばらつきが全て平均化された転流定数を得ることができ、転流タイミング誤差の累積を防止することができる。
【０１８０】
また、請求項８に係る発明によれば、転流定数Ｔの小数点以下の有効桁数ｎを、駆動対象物の移動量をＬ、位置検出器の分解能（駆動対象物の移動量／パルス数）をＢ、前記パルス信号に基づき推定される回転子の推定位置と実位置との差の許容値を電気角でσ、一転流間の電気角をＦとした場合に、（Ｔ＋（Ｌ／Ｂ）×（５／１０n+1 ））×Ｆ＜σを満足するように設定するから、駆動対象物の移動量或いは位置検出器の分解能等の各変数が変化した場合でも、許容値σを満足し得る転流制御を容易に行うことができる。
【０１８１】
特に、請求項９に係る発明によれば、前記駆動対象物がインクジェットプリンタのインク吐出ヘッドである場合には、転流定数の小数点以下の有効桁数ｎを４桁乃至８桁に設定すれば、ほぼ全ての用紙サイズのプリンタに対して適用することができる。
【０１８２】
また、請求項１０に記載のモータの駆動装置によれば、転流制御手段では、転流定数を加算しているときには累積値が“１”以上となる毎に累積値から“１”を減算し、逆に転流定数を減算している時には累積値が“０”以下となる毎に累積値に“１”を加算するから、転流定数の累積値の桁数が増加することを回避することができる。
【０１８３】
さらに、請求項１１又は請求項１２に記載のモータの駆動装置によれば、転流制御手段では、転流定数の小数点以下の桁数がｍであるとき、転流定数を１０m 倍して整数値として扱うようにしているから、整数値のみの演算となり演算を簡略化することができ、また、このときにも、転流定数を加算している時には累積値の上位側ｍ＋１桁目が変化する毎に累積値から１０m を減算し、転流定数を減算しているときには累積値が“０”以下となる毎に累積値に１０m を加算することにより、転流定数の累積値の桁数の増加を回避することができる。
【図面の簡単な説明】
【図１】本発明を適用したブラシレスモータの駆動装置の概略構成を示す構成図である。
【図２】転流制御処理の処理手順の一例を示すフローチャートである。
【図３】第１の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図４】図２の転流制御処理における起動処理の処理手順の一例を示すフローチャートである。
【図５】第１の実施の形態における転流カウント処理の処理手順の一例を示すフローチャートである。
【図６】第２の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図７】第２の実施の形態における転流カウント処理の処理手順の一例を示すフローチャートである。
【図８】駆動対象としてキャリッジを駆動する場合の概略構成図である。
【図９】第３の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図１０】第３の実施の形態における転流カウント処理の処理手順の一例を示すフローチャートである。
【図１１】第４の実施の形態における転流原点設定処理の処理手順の一例を示すフローチャートである。
【図１２】第４の実施の形態における転流カウント処理の処理手順の一例を示すフローチャートである。
【符号の説明】
１  ブラシレスモータ
１０  駆動装置
１１  インバータ
１２  転流制御回路
１５  位置検出器
【図１】
0003698024.tif 000008
【図２】
0003698024.tif 000009
【図３】
0003698024.tif 000010
【図４】
0003698024.tif 000011
【図５】
0003698024.tif 000012
【図６】
0003698024.tif 000013
【図７】
0003698024.tif 000014
【図８】
0003698024.tif 000015
【図９】
0003698024.tif 000016
【図１０】
0003698024.tif 000017
【図１１】
0003698024.tif 000018
【図１２】
0003698024.tif 000019