(57)【要約】      （修正有）【課題】ステッピングモータから検出された速度起電圧及び巻線電流の位相差から負荷量を判断し、負荷に応じた電流制御を行なうことにより、ステッピングモータの高効率制御を実現させる駆動機構を提供する。【解決手段】ステッピングモータの駆動制御装置は、前記ステッピングモータの駆動制御を行う駆動制御装置であって、前記ステッピングモータの回転による速度起電圧を算出する速度起電圧演算部６と、前記速度起電圧算出手段により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差演算部５と、前記位相差算出手段により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御部３とを備える。【選択図】図１
2012217272.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータの駆動制御を行う駆動制御装置であって、
前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出手段と、
前記速度起電圧算出手段により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出手段と、
前記位相差算出手段により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御手段と、を備えたことを特徴とするステッピングモータの駆動制御装置。
【請求項２】
前記駆動電流制御手段は、所定の変数の大きさに応じて前記ステッピングモータへの駆動電流の大きさを算出し、
前記位相差が予め定められた数に範囲分けされた各範囲の何れに含まれるかに応じて、該含まれる範囲における前記所定の変数の算出方法を、前記予め定められた数の範囲それぞれについて格納する算出方法格納部と、
前記算出方法格納部における前記位相差が含まれる範囲に対して該算出方法格納部に格納された算出方法を用いて、前記位相差から前記所定の変数を算出する変数算出部と、を備え
前記算出方法格納部における前記予め定められた数の範囲分けは、前記位相差算出手段により算出された位相差が、前記ステッピングモータが脱調寸前である場合の値として予め設定された値よりも大きい場合と小さい場合との範囲分けを含むことを特徴とする請求項１に記載のステッピングモータの駆動制御装置。
【請求項３】
請求項１または２に記載のステッピングモータの駆動制御装置と、
ステッピングモータとを備え、
前記駆動電流制御手段からの駆動電流により前記ステッピングモータを駆動させることを特徴とするステッピングモータの駆動機構。
【請求項４】
ステッピングモータの駆動制御を行う駆動制御方法であって、
前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出工程と、
前記速度起電圧算出工程により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出工程と、
前記位相差算出工程により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御工程と、を備えたことを特徴とするステッピングモータの駆動制御方法。
【請求項５】
前記駆動電流制御工程では、前記位相差算出工程により算出された位相差が予め定められた数に範囲分けされた各範囲の何れに含まれるかに応じて、該含まれる範囲それぞれに対して予め定められた前記所定の変数の算出方法を用いて、前記位相差から、前記ステッピングモータへの駆動電流の大きさを制御するための所定の変数を算出し、該所定の変数に応じて前記ステッピングモータへの駆動電流の制御を行い、
前記予め定められた数の範囲分けは、前記位相差算出工程により算出された位相差が、前記ステッピングモータが脱調寸前である場合の値として予め設定された値よりも大きい場合と小さい場合との範囲分けを含むことを特徴とする請求項４に記載のステッピングモータの駆動制御方法。
【請求項６】
ステッピングモータの駆動制御を行う駆動制御プログラムであって、
コンピュータに、
前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出処理と、
前記速度起電圧算出処理により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出処理と、
前記位相差算出処理により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御処理とを実行させることを特徴とするステッピングモータの駆動制御プログラム。
【請求項７】
前記駆動電流制御処理では、前記位相差算出処理により算出された位相差が予め定められた数に範囲分けされた各範囲の何れに含まれるかに応じて、該含まれる範囲それぞれに対して予め定められた前記所定の変数の算出方法を用いて、前記位相差から、前記ステッピングモータへの駆動電流の大きさを制御するための所定の変数を算出し、該所定の変数に応じて前記ステッピングモータへの駆動電流の制御を行い、
前記予め定められた数の範囲分けは、前記位相差算出処理により算出された位相差が、前記ステッピングモータが脱調寸前である場合の値として予め設定された値よりも大きい場合と小さい場合との範囲分けを含むことを特徴とする請求項６に記載のステッピングモータの駆動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷量に応じて電流を制御するステッピングモータの駆動制御装置、ステッピングモータの駆動機構、ステッピングモータの駆動制御方法およびステッピングモータの駆動制御プログラムに関する。
【背景技術】
【０００２】
パルス入力に同期して駆動するモータとして、ステッピングモータがある。ステッピングモータは、他のモータ、例えばDCモータ（Direct  Current：直流モータ）に比べ、簡単な回路構成で、正確な位置決め制御を実現できることが既に知られている。
【０００３】
一方、ステッピングモータは、始動回転数を上げると、あまり大きなモータ出力トルクを駆動できず、回転制御が不能になる、いわゆる脱調（同期ずれ）が発生するという特性がある。
【０００４】
上記の脱調による回転制御不能などの不具合を回避するため、例えば、ステッピングモータの駆動電流の変化を検出して負荷を判定して信号を発生することで、現在正常に回転しているか、脱調を起こす危険があるか等に応じた制御を行なうことができるステッピングモータの制御に関する発明が、特許文献１に記載されている。
【０００５】
また、三相環状クローポール式永久磁石ステッピングモータ（以下、三相式モータとする）に関する発明が、特許文献２に記載されている。特許文献２には、三相式モータの環状コイルに現れる速度起電力の各相の位相差により、三相式モータのトルクの変動、振動音の発生及び駆動対象の位置決め精度の低下という課題を解決するための手段が記載されている。
【０００６】
上記の課題を解決するため、特許文献２に係る発明は、三相式モータの各相の速度起電力の位相差を１２０°（電気角）とすることにより、永久磁石回転子から出される磁束が各相独立に作用することになり、三相式モータのトルクは脈動することなく大とでき、振動などの低減及び駆動対象の位置決め制度の向上を図っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−６４９９６号公報
【特許文献２】特開２００３−９５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ステッピングモータは、負荷に関係なく一定電流を流すため、軽負荷時でも多くの入力電力を必要とする。この点、上記特許文献１に係る発明は、ステッピングモータの駆動電流を検出することによって、トルク制御及び脱調防止を行なっているだけであり、脱調以前の低負荷時における制御については、何ら考慮されていない。
【０００９】
特許文献２に係る発明についても、特許文献１と同様に、低負荷時における制御について考慮されていない。
【００１０】
このことは、これまでに低負荷な製品に用いられてきたステッピングモータについて、省電力化に代表されるような負荷を抑制する制御を求められる場面は無く、この観点に基づいてステッピングモータを制御する手法は採用されていないことに起因するものである。
【００１１】
しかし、上記の入力電力（省電力化）の問題を解決することは、ステッピングモータの駆動電力として、バッテリーを採用した場合、バッテリーの供給電力に制限があるという点において、特に重要である。
【００１２】
一方で、脱調する以前に、高い負荷がかかることは想定し難いとも考えられるが、例えば恒常的に設置される製品において、経年変化により、動作が重くなることにより、正常な状態ではかからない負荷がかかる場合があり得る。
【００１３】
このような場合には、脱調寸前であるか否かに関わらず、高い負荷をかける必要がある。
【００１４】
本発明は、上記に鑑みてなされたもので、その目的としては、負荷量に応じた電流制御を行なうことにより、ステッピングモータの高効率制御を実現させるステッピングモータの駆動制御装置、駆動機構、制御方法及び制御プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明のステッピングモータの駆動制御装置は、ステッピングモータの駆動制御を行う駆動制御装置であって、前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出手段と、前記速度起電圧算出手段により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出手段と、前記位相差算出手段により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御手段とを備えたことを特徴とする。
【００１６】
上記課題を解決するため、本発明のステッピングモータの駆動機構は、上述した本発明に係るステッピングモータの駆動制御装置と、ステッピングモータとを備え、前記駆動電流制御手段からの駆動電流により前記ステッピングモータを駆動させることを特徴とする。
【００１７】
また、上記課題を解決するため、本発明のステッピングモータの駆動制御方法は、ステッピングモータの駆動制御を行う駆動制御方法であって、前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出工程と、前記速度起電圧算出工程により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出工程と、前記位相差算出工程により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御工程とを備えたことを特徴とする。
【００１８】
さらに、上記課題を解決するため、本発明のステッピングモータの駆動制御プログラムは、ステッピングモータの駆動制御を行う駆動制御プログラムであって、コンピュータに、前記ステッピングモータの回転による速度起電圧を算出する速度起電圧算出処理と、前記速度起電圧算出処理により算出された速度起電圧および前記ステッピングモータにおける巻線電流の位相差を算出する位相差算出処理と、前記位相差算出処理により算出された位相差を用いて、前記ステッピングモータにかかる負荷に応じた前記ステッピングモータへの駆動電流の制御を行う駆動電流制御処理とを実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、負荷に応じた電流制御が可能となり、ステッピングモータを高効率制御することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態の、2相励磁によるステッピングモータの駆動制御装置の概要を示すブロック図である。
【図２】図１に示す速度起電圧演算部６における速度起電圧の導出過程を示すブロック図である。
【図３】速度起電圧と巻線電流の位相差を表す波形図と、16ビットタイマにより位相差を求める場合の時間に応じたタイマカウント値を表す図である。
【図４】ステッピングモータの、速度起電圧と巻線電流の位相差と負荷の関係を表すグラフ図である。
【図５】既知のシミュレーションソフトウェアにより求めた最適な力率補償関数テーブルを示すグラフ図である。
【図６】図５に示した力率補償関数テーブルをマイコンで演算するために変換されたテーブルを示すグラフ図である。
【図７】モータ出力トルクと入力電力特性をDCモータの特性との関係を表すグラフ図である。
【図８】図５で求めた最適なテーブルを使用した場合の、モータ出力トルクと入力電力特性をDCモータの特性との関係を表すグラフ図である。
【図９】本発明の一実施形態の、ステッピングモータの駆動制御方法及びプログラムを電気錠に採用した場合における制御フロー図である。
【図１０】PWM出力波形と平均電圧の関係を示したものである。
【発明を実施するための形態】
【００２１】
上記記載の本発明の特徴について、以下、図面を参照して詳細に説明する。
【００２２】
図１に、本発明の一実施形態のステッピングモータの駆動制御装置の概要を示す。図１において、該駆動機構は、マイコン１、速度起電圧演算部６及び駆動機構制御部７で構成される。なお、本実施形態のステッピングモータとしては、PM型（永久磁石型）を採用する。
【００２３】
マイコン１は、加減速パルス演算部２、PWM出力部３、力率補償演算部４、位相差演算部５並びに所定の信号を入出力する例えば、符号１１から１６で示される信号入出力部で構成される。
【００２４】
速度起電圧演算部６は、アナログ回路で構成される。その理由は、マイコンによる演算の場合は、処理が遅れるからである。また、速度起電圧は、モータ内部の電圧であり、直接測定することができないため、その導出過程として、ステッピングモータの端子電圧及び巻線電流を検出する必要がある。
【００２５】
図２は、速度起電圧を導出過程を表したブロック図である。まず、ステッピングモータの端子電圧及び巻線電流を、図１に示した電圧センサ４７及び電流センサ４６にて検出する。
【００２６】
電圧センサ４７にて検出されたステッピングモータの端子電圧は、2次フィルタ１００により、チョッピング制御（定電流制御）により発生するパルス状ノイズが除去される。なお、電圧センサ４７による電圧検出は、モータ端子電圧の両端を差動増幅することにより行なわれる。なお、差動増幅とは、２つの入力電圧の差を増幅することである。
【００２７】
一方、電流センサ４６にて検出された巻線電流が、比例＋微分演算部１０１にて、電圧降下分が算出される。なお、電流センサ４６による電流検出は、電流検出用シャント抵抗の、両端の電圧を差動増幅することにより行なわれる。
なお、比例＋微分演算部１０１とは、図２に示すように、巻線抵抗Rmと巻線インダクタンスLｍによる電圧降下分を算出する演算部のことをいう。
【００２８】
そうして導出された上述のステッピングモータの端子電圧から、入力電流が巻線抵抗及び巻線インダクタンスを通過することによる電圧降下分を差し引くことにより、速度起電圧が導出される。なお、モータの端子電圧には、PWM制御によるパルス状ノイズが多く含まれているため、2次フィルタ１００によりノイズを除去している。
【００２９】
ここで、論理的に速度起電圧を導出する数式は、次式で表される。
Eω（ｓ）＝Vm（ｓ）−Rm・Im（ｓ）−ｓ・Lm・Iｍ（ｓ）・・・（１）
【００３０】
上記において、Eω（ｓ）は速度起電力を、Vm（ｓ）はモータ端子電圧を、Rmは巻線抵抗を、Im（ｓ）は巻線電流を、Lmは巻線インダクタンスを、そしてｓは既知のラプラス関数におけるラプラス演算子を表す。
また、−Rm・Im（ｓ）は、巻線抵抗による電圧降下分を、そして−ｓ・Lm・Iｍ（ｓ）は巻線インダクタンスによる電圧降下分を表す。
【００３１】
上記、数式１は次式から導出される。
【００３２】
【数１】
2012217272.tif 000003
【００３３】
上記において、Ｖａ（ｔ）は巻線電圧を、ｉａは巻線電流を、ｒａは巻線抵抗を、Ｌａは巻線インダクタンスを、Ｍａｂは相互インダクタンスを、そしてｅａは巻線速度起電圧を表す。
【００３４】
このうち、相互インダクタンスの項については、ステッピングモータが、定電流制御されるため、巻線定数がトルク特性に影響を与えないので、上記数式１から省略される。
それを次式に示す。
【００３５】
【数２】
2012217272.tif 000004
【００３６】
上記の数式２を既知のラプラス変換したものが、上述の式（１）である。なお、速度起電圧を導出する手法として、上記の導出手法は、一例にすぎず、必ずしもこれに限られるものではない。
【００３７】
図１に示した本発明の一実施形態の駆動機構制御部７は、2相ステッピングモータバイポーラ駆動用ＩＣであり、一般的には、モータドライバと総称されるものである。
【００３８】
駆動機構制御部７は、マイコン１の符号１２から１５で示した信号出力部から出力された所定の信号を、符号２０から２５で示した各信号入力部にて受け、該受けた信号を信号出力部２８、２９により、ステッピングモータへ駆動電流を出力する等の制御を行なうものである。
【００３９】
具体的には、回転方向制御信号入力部２０が、マイコン１の信号出力部１２から送出された信号を受け、信号出力部２８，２９よりステッピングモータに出力されることにより、ステッピングモータの回転方向を制御させることができる。
【００４０】
また、回転速度制御信号入力部２１が、マイコン１の加減速パルス演算部２から送出された回転速度指令信号を受け、信号出力部２８，２９よりステッピングモータに出力されることにより、ステッピングモータを回転制御させることができる。
【００４１】
さらに、初期化制御信号入力部２２、相切替信号入力部２３及び駆動機構出力制御信号入力部２４が、マイコン１の信号出力部１３、１４及び１５から送出された信号を受け、信号出力部２８，２９よりステッピングモータに出力されることにより、それぞれ、ステッピングモータの初期化、2相又は１−２相のモード切替及び出力制御をさせることができる。
【００４２】
電流指令信号入力部２５は、駆動機構制御部７が、後述する電流指令値（Ｖref）を、ステッピングモータの駆動電流制御のための制御値として受ける入力部である。また、駆動電流とは、ステッピングモータへの入力電流のことをいう。
【００４３】
上述の加速パルス演算部２は、8ビットタイマによりパルス演算を行い、位相差演算部５における位相差を演算するための巻線電流の位相としてのパルス信号を位相差演算部５へ出力する。
【００４４】
なお、加減速パルス演算部２は、回転数ごとの加減速パターンでの加減速パルスの演算を行い、一定周期毎にタイマ割り込みを発生させ、割り込み処理の中で割り込み回数の積算を行い、パルス幅を決定する。
【００４５】
加減速パルス演算部２は、上記で決定したパルス幅に基づいて、駆動機構制御部７への回転速度パルス指令信号送出を行ない、過負荷においてステッピングモータの回転速度を制御することにより、脱調を防止することも可能である。
【００４６】
図３は、上述で導出した速度起電圧と巻線電流の位相差を表す波形図である。符号２００に示す波形が、速度起電圧の位相を、符号２０１で示す波形が、巻線電流の位相をそれぞれ表している。図３により、両者の間にはΦの位相差が存在していることが確認できる。
【００４７】
また、図３により、１６ビットタイマによりカウント値として導出された符号２０２で示す位相から、速度起電圧と巻線電流の位相差を導出できることが確認できる。
【００４８】
具体的には、図３に示したように、巻線電流を正方向に流したときに、タイマカウンタをクリアかつスタートさせ（符号A）、速度起電圧の１周期の時点（符号B）において割り込みを発生させる。
【００４９】
その符号Bにおけるカウンタ値を、巻線電流の１周期となる次のクリアかつスタートさせる時点（符号C）におけるカウンタ値からの差分が、位相差であることが分かる。
【００５０】
速度起電圧と巻線電流の位相差は、位相差演算部５に、下記の式を演算させることにより求めることができる。
【００５１】
Φ＝｛（Φ１−Φ２）／Φ１｝×６．２８
＝｛（６．２８−Φ２）／Φ１｝×６．２８（rad）
【００５２】
上記Φ１にタイマカウンタの初期値を代入し、上記Φ２に、コンペアレジスタの設定値とタイマカウンタの値が一致したときに、割り込みを発生させた場合の、そのカウンタ値を代入することにより、速度起電圧と巻線電流の位相差を導出することができる。
【００５３】
なお、Φ１とΦ２にはタイマカウンタ値であるため、位相角に換算する必要があることより、その差分（Φ１−Φ２）を初期値Φ１で除算したもの（位相ずれが発生している位置に相当）に６．２８、すなわち２πを乗じてあることは言うまでもない。
【００５４】
また、位相差は論理的には、次式で導出することができる。
θ＝ａｒｇ（Ｅω（ｓ））−ａｒｇ（Ｉｍ（ｓ））
＝ａｒｇ（Ｅω（ｓ）／Ｉｍ（ｓ））
【００５５】
なお、上式に示すａｒｇが、複素数平面において、速度起電圧Ｅω（ｓ）及び巻線電流Ｉｍ（ｓ）を中心からの線分として捉えた場合に、該それぞれの線分と実軸（ｘ軸）のなす角、すなわち偏角であることは、言うまでもない。
【００５６】
ここで、図４に示すように、位相差とステッピングモータにかかる負荷との間には、反比例の関係にあることが、本件発明者による実験で確認されている。横軸に時間をとり、縦軸には、負荷の場合は、電流またはトルク、位相差については、角度である。そして、符合６００が負荷を表し、符号６０１が位相差を表している。
【００５７】
この関係は、PM型ステッピングモータの電気系及び機械系のモデル化を行なったうえで、導出した伝達関数を既知のソフトウェアにおいてシミュレーション演算した結果、得られたものである。
【００５８】
図５は、同じく上記ソフトウェアにおいてシミュレーションした結果得られた、最適な力率補償関数を表した関数３００である。この関数３００は、ステッピングモータ８への駆動電流を制御する制御値（Ｔ１）を導出するテーブル出力を示すものである。まず、図５の例では、横軸に位相差をとり、縦軸に位相差（rad）に対するテーブル出力をとる。
【００５９】
図５に示すテーブル出力を、マイコンで演算するため、整数値で示される位相差Φに対するテーブル出力に変換する。変換には、予め定めた角度に対する整数値（整数値４００に対して３６０度）に基づいて、下記式により算出する。
（４００×角度）／３６０
なお、図５中、偏角である１．５７（rad）を３６０度換算したものは、９０度であり、同様に−０．３（rad）は１７．２度である。
【００６０】
上式より、１．５７（rad）を整数値に変換すると整数値は１００として算出され、−０．３（rad）を整数値変換したものは、１９となる。
【００６１】
次に、PWM出力部で求められるカウンタ設定値を導出する。
【００６２】
駆動電流制御部３は、上記力率補償演算部４にて導出された力率補償演算部出力に基づく電流振幅指令を、矩形波によるPWM信号として出力する。なお、PWM信号とは、パルス幅制御（PWM：Pulse Width Modulation）された矩形波の信号であり、駆動機構制御部７へステッピングモータ８への駆動電流の振幅を制御させる指令としての信号である。
また、一次遅れフィルタにより、駆動電流制御部３から出力された矩形波を平滑処理するための抵抗４２、コンデンサ４４、GND４５を備え、こうした構成により平滑処理された電圧値を、ステッピングモータ８への駆動電流制御のための制御値として駆動機構制御部７に送出する。
【００６３】
駆動電流制御部３は、８ビットタイマにより、フリーランニングモードになるため、クロックは２５６カウントで1周期となる。ここで、例えばPWM出力がフル導通したときに流れる電流を２Aと、電流指令値を１．５Aと、そして無負荷電流を０．４５Aと設定する。
【００６４】
上記から、電流指令値１．５Aに対応するカウンタ値Ｔ１は、次式により導出される。
Ｔ１（１．５A）＝（１．５／２）×２５６＝１９２
なお、Ｔ１は、ステッピングモータ８への駆動電流を制御するための制御値として用いられる変数（所定の変数）である。ステッピングモータ８への駆動電流は、後述するように、このＴ１に比例するように定められる。
【００６５】
また、無負荷電流０．４５(A)に対応するカウンタ値Ｔ２は、次式により導出される。
Ｔ２（０．４５A）＝（０．４５／２）×２５６＝５８
【００６６】
以上から、力率補償テーブルとしてのカウンタ値T（クランプ値）は、次式により導出される。
Ｔ１（クランプ）＝１９２−５８＝１３４
【００６７】
上記から、図５におけるテーブルをマイコンで演算するためのテーブルに変換したものが図６のグラフである。
【００６８】
図６に基づいて、以下の４つの範囲に範囲分けすることにより、４つの範囲それぞれについてのテーブル出力を算出する方法を導出する。
【００６９】
まず、第１の算出方法として、位相差Φが１００＜＝Φの範囲の場合は、テーブル出力は０であり、下記式の通りである。
テーブル出力＝０
【００７０】
次に、第２の算出方法として、位相差Φが０＜＝Φ＜１００の範囲の場合は、テーブル出力は、下記式の通りである。
テーブル出力＝（−６７／１００）×Φ＋６７
【００７１】
第３の算出方法として、位相差Φが−１９＜＝Φ＜０の範囲の場合は、テーブル出力は下記式の通りである。
テーブル出力＝−（１３４−６７）／１９×Φ＋６７
＝（−６７／１９）×Φ＋６７
【００７２】
最後に、第４の算出方法として、位相差ΦがΦ＜−１９の範囲の場合は、テーブル出力は１３４であり、下記式の通りである。
テーブル出力＝１３４
【００７３】
以上のように、４つの範囲に範囲分けされて予め設定された算出方法に基づいてテーブル出力が算出される。こうして算出されたテーブル出力と、無負荷電流におけるＴ１（０．４５）＝５８とを加算することにより、４つの範囲それぞれの場合におけるＴ１を算出する算出方法格納部および変数算出部として機能する。
【００７４】
すなわち、上記４つの範囲それぞれについてのテーブル出力の算出方法が定義されると共に、その算出方法により算出されたテーブル出力および無負荷電流でのＴ１（０．４５）＝５８とを加算することでＴ１を算出することが定義されることにより、上記４つの範囲それぞれについてのＴ１の算出方法が算出方法格納部として格納されることとなる。
また、テーブル出力の最大値であるＴ１（クランプ）＝１３４は、ステッピングモータが脱調寸前である場合の値として予め設定されている。
【００７５】
力率補償演算部４における出力は、次式で求めることができる。
力率補償演算部出力＝無負荷電流＋力率補償電流＝５８＋テーブル出力
【００７６】
上記にて導出された力率補償演算部出力を後述の駆動電流制御部３における、タイマのコンペアレジスタにセットすることにより、PWM信号としての駆動電流制御信号が得られる。
【００７７】
ここで、Ｔ１の変数を変えることにより、ステッピングモータへの入力（駆動電流）が変化する。これを式に表したものが、下記の式となる。
Ｖref＝Ｖo×Ｔ１／Ｔ２（Ｖref：電流指令値、Ｖo：矩形波における最大側として定められた電圧値）
【００７８】
上式における、Ｔ２およびＶoは、図１０に示すように、矩形波としては固定値であるため、Ｔ１を変数として、上式に代入することにより、電流指令値としてのＶrefが算出できる。
【００７９】
こうして、算出されたＶrefを駆動機構制御部７としてのモータドライバへ出力し、モータドライバが、Ｖrefを電流指令値として読み取り、ステッピングモータへ指令された駆動電流を送出することができる。
【００８０】
駆動機構制御部７は、既に述べたとおり、該電流指令信号に基づき、ステッピングモータ８へ力率補償された電流振幅分を送出することにより、軽負荷時には、電流を抑制し、過負荷時には、電流を増やす制御が可能となる。
【００８１】
なお、本発明の一実施形態に係るステッピングモータの駆動機構は、いわゆる電気錠に採用することができる。例えば、ステッピングモータを錠前の開閉に使用する場合において、デッドボルトがストライクから完全に引き抜かれる前に、無理やり扉をこじ開けることによる側圧負荷がかかる場合などである。
【００８２】
かかる場合、上述の側圧負荷に対抗し得るモータ出力トルクを要するため、上記のように、駆動電流を増やすことにより、かかる不具合を解消することが可能となる。
【００８３】
一方で、軽負荷時には、電流を抑制する制御が可能であり、これにより、消費電力を抑え、省電力化を図ることが可能となる。このことは、特に、電池式の電気錠を採用した場合に顕著な効果をあげることが可能となる。
【００８４】
また、脱調を起こす前のモータ出力トルクを上げるという制御に関して、電気錠の経年変化によるギヤ等の劣化による摩擦係数の増加により、通常の動作より重くなった場合に、効果を発揮させることが可能となる。
【００８５】
ここで、図７にステッピングモータとDCモータの出力トルク−入力電力特性を比較したものを表している。従来は、ステッピングモータについては、その特性を表す折れ線グラフ５００のとおり、負荷（出力トルク）に無関係に、一定の入力電力を必要としていることがわかる。
【００８６】
一方で、DCモータについては、その特性を表す折れ線グラフ５０１のとおり、負荷（出力トルク）に比例して、入力電力も上昇しており、ステッピングモータのように、負荷と無関係に入力電力を要していない。
【００８７】
図８では、本発明の一実施形態に係るステッピングモータの駆動機構によるモータの出力トルク−入力電力特性を、同じくDCモータのそれと比較した折れ線グラフで表している。
【００８８】
力率補償関数を採用したことにより、ステッピングモータの駆動機構によるモータの出力トルク−入力電力特性を表す折れ線グラフ５００が、DCモータの折れ線グラフのそれと、ほぼ同様の特性を得られていることが分かる。
【００８９】
このことは、ステッピングモータが駆動時の効率をDCモータのそれと同等にできることをうかがわせるものであり、また、これまでステッピングモータが採用されてきた製品以外にも、利用可能であることをうかがわせるものであることが言える。
【００９０】
図９に、本発明の一実施形態の、ステッピングモータの駆動制御方法及び駆動制御プログラムを電気錠に採用した場合における制御フロー図を示す。なお、同様の処理となるため、解錠動作については割愛する。また、プログラムの場合は、以下処理を記憶するプログラムを電子計算機に読み込ませて実行させるものであることは言うまでもない。
【００９１】
まず、図１におけるマイコン１に、外部操作者からの施錠信号が入力される（ステップS１）。この入力信号を受け、モータドライバへ回転方向を指令する符号２０で受けた信号がセットされる（ステップS２）。また、同様に符号２４で受けた信号により、モータドライバの出力がONされる（ステップS３）。
【００９２】
施錠信号を受けた加速パルス演算部においては、パルスの積算及び割込み処理を行うための加速パルスの演算が行なわれ（ステップS４）、その後、パルスを出力させるための指令パルスを発生させる（ステップS５）。
【００９３】
パルス数積算値に対応するステッピングモータの回転数が１０００ｒｐｍ（回転／分）以上のときは（ステップS６、Yes）、力率補償を行なう（ステップS７）。すなわち、ステッピングモータの駆動電流を増加させ、その後、加速を完了させる（ステップS８）。
【００９４】
一方、パルス数積算値に対応するステッピングモータの回転数が１０００ｒｐｍ（回転／分）以下のときは（ステップS６、No）、力率補償することなく、加速を完了させる（ステップS８）。
【００９５】
このとき、加速が完了していなければ（ステップS８、No）、加速パルス演算後の指令パルス発生させる工程へ戻る（ステップS５）。加速が完了していれば（ステップS８、Yes）、次の指定パルスを発生させる（ステップS９）。
【００９６】
そして、上述と同様に、ステッピングモータの回転数が１０００ｒｐｍ（回転／分）以上のときは（ステップS１０、Yes）、力率補償を行ない（ステップS１１）、そうでないときは（ステップS１０、No）、力率補償を行なうことなく、次のステップS１２へ移行する。
【００９７】
ステップS１２において、ステッピングモータの減速位置をパルス数が上回っているときは（ステップS１２、Yes）、すなわち、電気錠のデッドボルトがストライクに嵌合しているときは、施錠動作を終了する（ステップS１３）。
【００９８】
一方、ステッピングモータの減速位置をパルス数が下回っているときは（ステップS１２、No）、すなわち、電気錠のデッドボルトがストライクに完全に嵌合していないときは、再び指令パルスを発生させる（ステップS９）。
【００９９】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、本発明の目的に加えて、高い精度を求められる製品に利用する場合は、ＰＭ型に代えて、ステップ角がより滑らかなＨＢ型（ハイブリッド型）を採用してもよい。
【符号の説明】
【０１００】
１    コンピュータ
２    加減速パルス演算部
３    駆動電流制御部
４    力率補償演算部
５    位相差演算部
６    速度起電圧演算部
７    駆動機構制御部
８    ステッピングモータ
１０、１１、１６    信号入力部
１２、１３、１４、１５    信号出力部
２０    回転方向制御信号入力部
２１    回転速度制御信号入力部
２２    初期化制御信号入力部
２３    相切替信号入力部
２４    駆動機構出力制御信号入力部
２５    電流指令信号入力部
２６、２７    センサ部
２８、２９    駆動電流出力部
３０、３１    駆動電流入力部
４０、４１    開閉器
４２    抵抗
４３    コンパレータ
４４    コンデンサ
４５    GND
４６    電流センサ
４７    電圧センサ
【図１】
2012217272.tif 000005
【図２】
2012217272.tif 000006
【図３】
2012217272.tif 000007
【図４】
2012217272.tif 000008
【図５】
2012217272.tif 000009
【図６】
2012217272.tif 000010
【図７】
2012217272.tif 000011
【図８】
2012217272.tif 000012
【図９】
2012217272.tif 000013
【図１０】
2012217272.tif 000014