(57)【要約】【課題】任意の周波数の分周クロックでパルスモータを駆動することができるパルスモータ駆動技術を提供する。【解決手段】分周クロック生成部４は、設定された分周比に基づいて、基準周波数を有する基準クロックを分周して駆動周波数を有する分周クロックを生成する。分周比算出部２は、基準周波数に対する駆動周波数の実数比を算出し、この実数比を整数に丸めた丸め分周比を分周比に設定し、この実数比を丸めた際の丸め誤差を算出する。累積誤差算出部３は、分周クロック生成部４が分周パルスを生成した際に、累積誤差に丸め誤差を加算する。分周比補正部５は、累積誤差が所定の閾値を超えない場合には、丸め分周比を分周比として使用し、累積誤差が閾値を超えた場合には、この閾値に基づいて丸め分周比を補正した値を前記分周比として使用し、累積誤差から閾値を減算する。【選択図】図１
2014165996.tif 000002
【特許請求の範囲】
【請求項１】
設定された分周比に基づいて、基準周波数を有する基準クロックを分周することにより所定の駆動周波数を有する分周クロックを生成する分周クロック生成部を備えたパルスモータ駆動装置であって、
前記基準周波数に対する前記駆動周波数の実数比を算出するとともに、当該実数比を整数に丸めた丸め分周比を前記分周比に設定し、当該実数比を丸めた際の丸め誤差を算出する分周比算出部と、
前記分周クロック生成部が１周期の分周クロックである分周パルスを生成した際に、累積誤差に前記丸め誤差を加算する累積誤差算出部と、
前記累積誤差が所定の閾値を超えない場合には、前記丸め分周比を前記分周比として使用し、前記累積誤差が閾値を超えた場合には、当該閾値に基づいて前記丸め分周比を補正した値を前記分周比として使用するとともに、前記累積誤差から当該閾値を減算する分周比補正部と、を備えたパルスモータ駆動装置。
【請求項２】
前記丸め誤差は切り捨て誤差であり、
前記分周比補正部は、一時的な前記分周比として、前記分周比に前記閾値を加算した値を設定する請求項１記載のパルスモータ駆動装置。
【請求項３】
前記丸め誤差は切り上げ誤差であり、
前記分周比補正部は、一時的な前記分周比として、前記分周比から前記閾値を減算した値を設定する請求項１記載のパルスモータ駆動装置。
【請求項４】
前記分周比算出部は、前記丸め誤差の桁数を変更可能に構成されている請求項１から３のいずれか一項に記載のパルスモータ駆動装置。
【請求項５】
設定された分周比に基づいて、基準周波数を有する基準クロックを分周することにより生成された所定の駆動周波数を有する分周クロックを用いてパルスモータを駆動するパルスモータ駆動方法であって、
前記基準周波数に対する前記駆動周波数の実数比を算出するとともに、当該実数比を整数に丸めた丸め分周比を前記分周比に設定し、当該実数比を丸めた際の丸め誤差を算出する分周比算出ステップと、
１周期の前記分周クロックである分周パルスが生成された際に、累積誤差に前記丸め誤差を加算する累積誤差算出ステップと、
前記累積誤差が所定の閾値を超えない場合には、前記丸め分周比を前記分周比として使用し、前記累積誤差が閾値を超えた場合には、当該閾値に基づいて前記丸め分周比を補正した値を前記分周比として使用するとともに、前記累積誤差から当該閾値を減算する分周比補正ステップと、を備えたパルスモータ駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定周波数の基準クロックを分周した分周クロックによってパルスモータを駆動するパルスモータ駆動技術に関する。
【背景技術】
【０００２】
入力されるクロック（パルス）に応じて回転するパルスモータ（ステッピングモータ）と呼ばれるモータが知られている。このようなパルスモータは、精密な回転制御が可能であり、プリント装置等の搬送機構をはじめとして、様々な分野で用いられている。
【０００３】
パルスモータに入力するクロックは、例えば、所定の周波数の基準クロックを分周することにより生成することができる。しかしながら、このような生成方法では、基準クロックの周波数の１／ｎ（ｎは整数）の周波数のクロックしか生成することができない。
【０００４】
このような問題を解決するために、特許文献１の技術では、複数の異なる分周比に基づく分周により得られた分周パルス信号が混在する分周クロックを生成している。例えば、分周比５の分周パルス信号と分周比６の分周パルス信号とを１：１の割合で混在する分周クロックでは、巨視的には分周比５．５の分周クロックを生成することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０６０７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、複数の分周比およびそれらの混合割合を決定する必要がある。すなわち、分周クロックを生成するためには多くのパラメータを設定する必要がある。そのため、任意の周波数の分周クロックを生成するためには、パラメータ決定のための演算が複雑化するおそれがある。
【０００７】
本発明の目的は、このような課題に鑑み、任意の周波数の分周クロックでパルスモータを駆動することができるパルスモータ駆動技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る、設定された分周比に基づいて、基準周波数を有する基準クロックを分周することにより所定の駆動周波数を有する分周クロックを生成する分周クロック生成部を備えたパルスモータ駆動装置の好適な実施形態の一つでは、前記基準周波数に対する前記駆動周波数の実数比を算出するとともに、当該実数比を整数に丸めた丸め分周比を前記分周比に設定し、当該実数比を丸めた際の丸め誤差を算出する分周比算出部と、前記分周クロック生成部が１周期の分周クロックである分周パルスを生成した際に、累積誤差に前記丸め誤差を加算する累積誤差算出部と、前記累積誤差が所定の閾値を超えない場合には、前記丸め分周比を前記分周比として使用し、前記累積誤差が閾値を超えた場合には、当該閾値に基づいて前記丸め分周比を補正した値を前記分周比として使用するとともに、前記累積誤差から当該閾値を減算する分周比補正部と、を備えている。
【０００９】
この構成では、まず、分周比として、基準周波数に対する駆動周波数の実数比を整数に丸めた値（丸め分周比）が設定される。このとき、実数比を整数に丸めた際の丸め誤差が算出される。そして、通常のパルスモータ駆動装置と同様に、基準クロックのパルス（基準クロックの１周期分）の計数値と、算出された分周比とに基づいて分周パルス（分周クロックの１周期分）が生成される。ただし、実数比が整数とならない場合には、丸め分周比には丸められた誤差が含まれている。そのため、このようにして生成された分周パルスから構成される分周クロックの周波数は、駆動周波数とは一致しない。
【００１０】
生成される分周クロックの周波数を駆動周波数により近づけるために、本発明は、実数比を分周比に丸めた際の丸め誤差を算出しておき、１つの分周パルスが生成された際に、丸め誤差を累積させた累積誤差を算出し、累積誤差が所定の閾値（例えば１）を超えると、この閾値に基づいて丸め分周比を補正した値が分周比として使用される。一方、累積誤差が閾値を超えない場合には、丸め分周比が分周比として使用される。
【００１１】
このようにして分周クロックを生成すると、各分周パルスの分周比は実数比に一致しないが、複数のパルス（補正されていない分周比のパルスから補正された分周比のパルスまで）の周波数は、駆動周波数に近づけることができる。すなわち、本発明に係るパルスモータ駆動装置によって生成された分周クロックは、ミクロ的には誤差を有するが、マクロ的には誤差を小さくすることができる。また、本発明のパルスモータ駆動装置では、累積誤差の算出および使用する分周比の切り替えという簡便な処理のみで、駆動周波数に対して小さな誤差の周波数を有する分周クロックを生成することができる。
【００１２】
実数比を整数に丸めるには、切り捨てと切り上げがある。実数比の小数部分を切り捨てて分周比を算出した際には、分周比補正部は、分周比に閾値を加算する。一方、実数比を切り上げて分周比を算出した際には、分周比補正部は、分周比から閾値を減算する。
【００１３】
なお、丸め誤差の桁数が多いほど、生成される分周クロックの周波数を駆動周波数に近づけることができる。そのため、本発明のパルスモータ駆動装置の好適な実施形態の一つでは、丸め誤差の桁数が変更可能になっている。例えば、この桁数は、要求されるクロックの精度に応じて変更することができる。
【００１４】
また、本発明に係る、設定された分周比に基づいて、基準周波数を有する基準クロックを分周することにより生成された所定の駆動周波数を有する分周クロックを用いてパルスモータを駆動するパルスモータ駆動方法の好適な実施形態の一つでは、前記基準周波数に対する前記駆動周波数の実数比を算出するとともに、当該実数比を整数に丸めた丸め分周比を前記分周比に設定し、当該実数比を丸めた際の丸め誤差を算出する分周比算出ステップと、１周期の前記分周クロックである分周パルスが生成された際に、累積誤差に前記丸め誤差を加算する累積誤差算出ステップと、前記累積誤差が所定の閾値を超えない場合には、前記丸め分周比を前記分周比として使用し、前記累積誤差が閾値を超えた場合には、当該閾値に基づいて前記丸め分周比を補正した値を前記分周比として使用するとともに、前記累積誤差から当該閾値を減算する分周比補正ステップと、を備えている。
【００１５】
このようなパルスモータ駆動方法も、上述のパルスモータ駆動装置と同様の作用効果を奏する。また、このようなパルスモータ駆動方法にも、上述したパルスモータ駆動装置の付加的な構成を適用することができる。
【図面の簡単な説明】
【００１６】
【図１】パルスモータ駆動装置の機能ブロック図である。
【図２】基準クロックと分周クロックとの関係を示す図である。
【図３】パルスモータ駆動装置の処理の流れを示すフローチャートである。
【図４】生成された分周クロック数と累積誤差と分周比との遷移を表す表である。
【発明を実施するための形態】
【００１７】
以下、図面を用いて本発明のパルスモータ駆動装置の実施形態を説明する。図１は、本実施形態に係るパルスモータ駆動装置の機能ブロック図である。図に示すように、パルスモータ駆動装置Ａには、駆動対象となるパルスモータＭ、基準周波数を有する基準クロックを生成するパルスジェネレータＧが接続されている。パルスモータＭおよびパルスジェネレータＧは一般的なものであるため、説明は省略する。
【００１８】
なお、本実施形態では、パルスとは、１周期分のクロックを意味する。例えば、クロックの立ち上がりから、次の立ち上がりの直前までの信号がパルスとなる。また、基準パルスとは基準クロックのパルスであり、分周パルスとは分周クロックのパルスである。
【００１９】
図に示すように、本実施形態のパルスモータ駆動装置Ａは、記憶部１，分周比算出部２，累積誤差算出部３，分周クロック生成部４，分周比補正部５を備えている。
【００２０】
記憶部１は、他の機能部で使用される様々な情報を記憶する機能部である。本実施形態では、変数やフラグ等の様々な情報は記憶部１に記憶されるものとし、以下の説明では、変数やフラグ等の様々な情報の入出力は明記しない。なお、記憶部１は、ＲＡＭ等の揮発性記憶媒体やフラッシュメモリ等の不揮発性記憶媒体等で構成することができる。
【００２１】
分周比算出部２は、パルスジェネレータＧが生成する基準クロックの基準周波数と、パルスモータＭを駆動するクロックの駆動周波数とから、分周比を算出する。具体的には、基準周波数を駆動周波数で除算する。一般的には、この除算の解は実数（以下、実数比と称する）となる。分周比算出部２は、この実数比を整数に丸めた値（以下、丸め分周比と称する）を分周比に設定する。併せて、分周比算出部２は、実数比を整数に丸めた際の丸め誤差を算出する。なお、丸め誤差は、演算精度の限界の桁数で表現することができるが、本実施形態では、丸め誤差はあらかじめ設定された桁数で表現される。
【００２２】
実数比を整数に丸める方法は、切り捨てと切り上げとのいずれかを用いることができる。いずれの方法を用いるかは、例えば、外部の入力によって切り替えることができる。また、実数比の小数部分の大きさに基づいて、いずれを用いるかを変更するように構成しても構わない。例えば、実数比の小数部分が０．５未満であれば切り捨て、０．５以上であれば切り上げとすることができる。なお、いずれの方法を用いた場合でも、丸め誤差は正の数で表現する。
【００２３】
また、使用した丸めの方法に応じて、丸めフラグが設定される。丸めフラグの値は、ブール値や整数等を用いることができるが、本実施形態では、切り捨ての場合には１、切り上げの場合には−１とする。
【００２４】
累積誤差算出部３は、分周クロック生成部４から、分周パルスの生成が完了した旨の通知を受けた際に、累積誤差に丸め誤差を加算する。
【００２５】
分周クロック生成部４は、設定されている分周比に基づいて、基準クロックから分周クロックを生成する。図２は、分周比を４とした場合の基準クロックと分周クロックとの関係を示す図である。この図に示すように、分周クロック生成部４は、分周比×基準パルス幅の幅を有する立ち上がり区間と、それと同じ幅を有する立ち下がり区間とを有する分周パルスを生成する。この分周パルスが連続して生成されることにより、分周クロックが生成される。生成された分周クロックは、パルスモータＭに入力される。また、分周クロック生成部４は、分周パルスの生成が完了した際に、その旨を累積誤差算出部３に通知する。なお、分周比Ｎで生成されたパルスを特にＮ分周パルスと称する。
【００２６】
また、分周クロック生成部４は、補正された丸め分周比を用いて分周パルスを生成した際には、累積誤差から閾値を減算する。
【００２７】
分周比補正部５は、累積誤差が所定の閾値を超えた際に、この閾値を用いて丸め分周比を補正した値を分周比に設定する。ただし、この補正された分周比は１つの分周パルスの生成にのみ使用される。すなわち、補正された分周比で１つの分周パルスが生成されると、丸め分周パルスが再度分周パルスとして設定される。
【００２８】
分周比の補正の方法は、分周比を算出する際の丸めの方法に応じて異なる。丸めが切り捨ての場合には、分周比には閾値が加算される。一方、丸めが切り上げの場合には、分周比からは閾値が減算される。
【００２９】
次に、図３のフローチャートを用いて、本実施形態におけるパルスモータ駆動装置の処理の流れを説明する。なお、本実施形態では丸め誤差の桁数は２桁とする。
【００３０】
まず、分周パルスの生成に先立ち、分周比算出部２は、記憶部１から読みだした基準周波数と駆動周波数とから、丸め分周比と丸め誤差とを算出し、丸め分周比を分周比に設定する。例えば、基準周波数を６ＭＨｚ、駆動周波数を１９９５Ｈｚとすると、実数比＝６００００００／１９９５＝３００７．５１８・・・となる。したがって、丸め分周比は３００７、丸め誤差は０．５２となる。また、検出パルス数および累積誤差を０リセットする。併せて、丸めフラグが設定される。上述したように、丸めフラグは、丸めが切り捨ての場合には１、丸めが切り上げの場合には−１が設定される。
【００３１】
分周クロック生成部４は、基準パルスを検出すると（＃０１のＹｅｓ分岐）、検出パルス数に１を加算する（＃０２）。また、分周クロック生成部４は、検出パルス数が１となった際に（＃０３のＹｅｓ分岐）、分周パルスを立ち上げ（＃０４）、処理を＃０１に移行する。また、検出パルス数が分周比＋１となった際に（＃０５のＹｅｓ分岐）、分周パルスを立ち下げる（＃０６）。このとき、分周クロック生成部４は、検出パルス数を０リセットし、分周パルスの生成が完了した旨を累積誤差算出部３に通知するとともに、後述する補正分周比フラグがＴｒｕｅであれば（＃０７のＹｅｓ分岐）、分周比に丸め分周比を設定するとともに、累積誤差から閾値を減算する（＃０８）。
【００３２】
分周クロック生成部４から分周パルスの生成が完了した旨の通知を受けた累積誤差算出部３は、累積誤差に丸め誤差を加算する（＃０９）。
【００３３】
分周比補正部５は、累積誤差が所定の閾値を超えたことを検出すると（＃１０のＹｅｓ分岐）、分周比を補正する（＃１１）。具体的には、分周比は、丸めが切り捨ての場合には丸め分周比＋閾値、丸めが切り上げの場合には丸め分周比−閾値となる。本実施形態では、上述のように丸めフラグを設定しているため、いずれの丸め方法が使用された場合であっても、条件分岐を行うことなく、分周比＝丸め分周比＋閾値×丸めフラグにより分周比を補正することができる。また、分周比補正部５は、補正された分周比を使用していることを表すフラグ（以下、補正分周比フラグと称する）をＴｒｕｅに設定しておく。なお、閾値としては任意の正の整数を用いることができるが、小さい方が誤差を小さくできるため、１が好ましい。
【００３４】
この処理を繰り返すことにより、丸め分周比のクロックと、補正された丸め分周比のクロックとから構成された分周クロックが生成される。
【００３５】
図４は、生成された分周パルス数と、累積誤差数と分周比との遷移を表した表である。表から明らかなように、２つの３００７分周パルスが生成されたときに、累積誤差が閾値である１を超えている。このとき、分周比には補正された丸め分周比が設定される。したがって、３番目の分周パルスの分周比は３００８となっている。以下、２５番目の分周パルスまでは、奇数番目の分周パルスの分周比が３００８、偶数番目の分周パルスの分周比が３００７となっている。また、２６番目の分周パルスの分周比は３００８となっている。ここで、２番目の分周パルスから２６番目の分周パルスまでを１つの単位としてとらえると、２５の分周パルスのうち、３００８分周パルスが１３、３００７分周パルスが１２となる。したがって、この２５の分周パルスの平均分周比は、（１３×３００８＋１２×３００７）／２５＝３００７．５２となる。すなわち、基準周波数／駆動周波数である実数比３００７．５１８・・・に極めて近くなる。本実施形態では、丸め誤差の桁数を２桁に設定している点に鑑みると、本発明のパルスモータ駆動装置により生成された分周クロックの平均分周比は、実数比に一致しているといえる。すなわち、本発明のパルスモータ駆動装置により生成された分周クロックの周波数は、要求される駆動周波数にほぼ一致している。
【００３６】
一方、上述の特許文献１の技術に基づいて、３００７分周パルスと３００８分周パルスとを１：１の割合で含む分周クロックの平均分周比は３００７．５となり、本発明のパルスモータ駆動装置により生成された分周クロックの平均分周比よりも誤差が大きくなっている。
【００３７】
なお、本実施形態では丸め誤差の桁数を２桁に設定したが、この桁数は要求されるパルスモータの駆動精度に応じて変更することができる。より精密な駆動精度が要求される場合には、丸め誤差の桁数を多くすればよい。
【００３８】
また、丸め誤差の桁数を変更する代わりに、基準周波数を１０のべき乗倍することでも、より誤差の小さな分周クロックを生成することができる。この場合には、丸め誤差および閾値は上述の実施形態の丸め誤差および閾値の１０のべき乗倍とする。例えば、基準周波数を１００倍する場合には、実数比は６００００００００／１９９５＝３００７５１．８７９・・・となる。この場合の丸め分周比は実数比の整数部分の１／１００とするが、丸め誤差は１０位から小数第２位までの、５１．８８となる。また、閾値は１００となる。このような値を用いて分周クロックを生成すると実質的に小数４ケタの丸め誤差を用いた場合と同じ精度が得られる。このような方法は、小数位の桁数が限られた演算装置を用いる場合に有効である。
【００３９】
〔別実施形態〕
上述の実施形態では、累積誤差が閾値を超えた都度、丸め分周比に対する補正を行ったが、あらかじめ補正した丸め分周比を算出しておき、累積誤差が閾値を超えたか超えないかによって、丸め分周比と補正された丸め分周比とのいずれを使用するかを切り替えるように構成しても構わない。
【産業上の利用可能性】
【００４０】
本発明は、パルスモータ駆動装置に利用することができる。
【符号の説明】
【００４１】
Ａ：パルスモータ駆動装置
Ｍ：パルスモータ
２：分周比算出部
３：累積誤差算出部
４：分周クロック生成部
５：分周比補正部
【図１】
2014165996.tif 000003
【図２】
2014165996.tif 000004
【図３】
2014165996.tif 000005
【図４】
2014165996.tif 000006