(57)【要約】【課題】ステッピングモータを制御するソフトウェアの制御負荷を低減することができるステッピングモータ制御回路を提供すること目的とする。【解決手段】モータの等速動作領域を２分割し、前段階の等速動作ではセンサ入力等の外部入力信号を条件を検出し、検出後後段の等速動作を実行するようにしているので、センサを検出した後に一定時間経過した後、加減速の制御を自動的に行うことができるという効果を得る。【選択図】        図２
2005086962.tif 000002
【特許請求の範囲】
【請求項１】
入力される信号条件により加減速を行ってモータを動作開始して停止するステッピングモータ制御回路において、
外部入力信号の状態を検出するための入力信号検出手段と、
加減速動作を行うためのデータを登録するメモリ手段と、
上記メモリ手段にデータを読み書きするメモリ制御手段と、
ステッピングモータの駆動パルスを生成する駆動パルス生成手段と、
等速動作時の速度及び動作距離を保存するバッファ手段を備え、
等速動作を行う領域を２分割し、それぞれに速度データと動作距離を設定することにより、等速動作中の入力信号検出から一定時間経過後に加減速を行うようにしたことを特徴としたステッピングモータ制御回路。
【請求項２】
前記外部入力信号の入力から検出レベルを確定するまでの時間を計測するための入力信号検出カウンタをさらに備え、
外部入力信号の入力からレベル確定までのモータ動作により移動する距離をあらかじめ設定された設定距離から減算することにより、移動距離の誤差を低減することを特徴とした請求項１記載のステッピングモータ制御回路。
【請求項３】
前記外部入力信号の確定時にＣＰＵに割り込みを発生するための割込発生手段と、
外部入力信号の入力から実際にソフトウエアが割込処理を開始するまでの時間を計測するための割込処理開始誤差カウンタ手段をさらに備え、
上記割込処理開始誤差カウンタ手段から読み出したカウンタ値に基づいて移動距離を補正することを特徴とした請求項２記載のステッピングモータ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力される信号条件により加減速を行ってモータを動作開始して停止するステッピングモータ制御回路に関する。
【背景技術】
【０００２】
従来、ステッピングモータの駆動前に停止するまでの一連の動作を設定し、設定値により決まった動作を実行しており外部要因による動作速度の変更などはソフトウエアが介在したり、一旦停止させてから再度速度を上げる処理を行っていた（特許文献１参照）。
【特許文献１】特開平１０−９８８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような従来装置では、処理の高速化やモータの制御数などが増えることにより、ソフトウエアの制御負荷が大きくなるという不具合を生じていた。
【０００４】
本発明は、かかる実情に鑑みてなされたものであり、ステッピングモータを制御するソフトウェアの制御負荷を低減することができるステッピングモータ制御回路を提供すること目的とする。
【課題を解決するための手段】
【０００５】
本発明は、入力される信号条件により加減速を行ってモータを動作開始して停止するステッピングモータ制御回路において、外部入力信号の状態を検出するための入力信号検出手段と、加減速動作を行うためのデータを登録するメモリ手段と、上記メモリ手段にデータを読み書きするメモリ制御手段と、ステッピングモータの駆動パルスを生成する駆動パルス生成手段と、等速動作時の速度及び動作距離を保存するバッファ手段を備え、等速動作を行う領域を２分割し、それぞれに速度データと動作距離を設定することにより、等速動作中の入力信号検出から一定時間経過後に加減速を行うようにしたものである。
【０００６】
また、前記外部入力信号の入力から検出レベルを確定するまでの時間を計測するための入力信号検出カウンタをさらに備え、外部入力信号の入力からレベル確定までのモータ動作により移動する距離をあらかじめ設定された設定距離から減算することにより、移動距離の誤差を低減するようにしたものである。
【０００７】
また、前記外部入力信号の確定時にＣＰＵに割り込みを発生するための割込発生手段と、外部入力信号の入力から実際にソフトウエアが割込処理を開始するまでの時間を計測するための割込処理開始誤差カウンタ手段をさらに備え、上記割込処理開始誤差カウンタ手段から読み出したカウンタ値に基づいて移動距離を補正するようにしたものである。
【発明の効果】
【０００８】
したがって、本発明によれば、モータの等速動作領域を２分割し、前段階の等速動作ではセンサ入力等の外部入力信号を条件を検出し、検出後後段の等速動作を実行するようにしているので、センサを検出した後に一定時間経過した後、加減速の制御を自動的に行うことができるという効果を得る。
【０００９】
また、モータの等速動作中にセンサ等の入力信号が入力されてから、検出を確定するまでに要した時間を計測しているため、あらかじめ設定しているセンサからモータの加減速開始位置から計測した時間を元に移動距離を減算することにより、正確なモータ制御を行えるという効果も得る。
【００１０】
また、モータの等速動作中にセンサ等の入力信号が入力されてから、実際に割り込み処理が開始されるまでの時間を計測しているので、その計測時間を補正値とすることで、周辺機器とモータ制御を正確にリンクすることが可能となるという効果も得る。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
【００１２】
図１は、本発明の一実施例にかかるステッピングモータ制御回路の構成例を示している。
【００１３】
同図において、入力信号検出部１は、センサ等の入力信号を検出するためのものであり、メモリ２は、モータの加減速制御を行うデータを登録するためのものであり、モータ駆動パルス生成部３は、ステッピングモータ４を駆動するためのモータ駆動パルスを生成するためのものである。また、モータ駆動回路５は、ステッピングモータ４を駆動する信号を発生するものである。
【００１４】
メモリ制御部６は、モータ駆動パルス生成部３からのデータ要求によりメモリ２からデータを読み出すものであり、バッファ７は、駆動速度や駆動距離を設定するデータを保存するためのものであり、入力信号検出カウンタ８は、入力信号検出部１に信号が入力されてから検出に至るまでの時間を測定するためのものであり、割込処理開始誤差カウンタ９は、入力信号検出部１に信号が入力されてから割り込み処理が開始されるまでの時間を計測するためのものである。
【００１５】
また、ＣＰＵ（中央処理装置）１０は、ステッピングモータ制御回路の各要素の動作を制御するためのものであり、ＲＯＭ（リード・オンリ・メモリ）１１は、ＣＰＵ１０の制御動作に必要なプログラムデータや種々のデータを記憶するためのものである。
【００１６】
図２は、モータ制御態様の一例を示している。このモータ制御態様では、２段階の加速制御を行う。
【００１７】
すなわち、動作開始時には、まず、所定時間加速し、入力信号検出部１がセンサ入力を検出するまで、等速動作を行い、入力信号検出部１がセンサ入力を検出すると、所定時間等速動作を行った後、２回目の加速動作を所定時間行う。
【００１８】
そして、２回目の等速動作を所定時間行った後、所定の減速動作を所定時間行い、モータを停止させる。
【００１９】
このときの動作制御の一例を図３に示す。
【００２０】
まず、初期設定（処理１０１）後、モータの動作条件を設定する（処理１０２）。ここでは、加減速データの登録されているメモリ２のメモリアドレスの設定や等速動作時の動作速度、動作距離等を設定する。また、入力信号検出部１のセンサ入力検出までのサンプリング時間等の設定を行う。
【００２１】
次いで、モータ駆動を開始し（処理１０３）、加速データを読み込んで加速動作を開始し（処理１０４）、その加速動作を終了すると、等速動作を開始する（処理１０５）。
【００２２】
次に、入力信号検出部１のセンサ入力の検出を開始し（処理１０６）、入力信号検出部１がセンサ入力を確定するまで待つ（判断１０７のＮＯループ）。センサ入力信号が入ると一定時間入力レベルをサンプリングし、変化がなければセンサの入力を確定する（判断１０７の結果がＹＥＳ）。
【００２３】
次いで、一定距離等速駆動した後、再度加速データを読み出し加速を開始する（処理１０８，１０９）。加速終了後はあらかじめ設定されている速度及び距離の等速動作を行い、減速を開始する（処理１１０，１１１）。
【００２４】
そして、減速時は加速時同様にメモリから減速データを読み出し減速していき、停止状態となる（処理１１２）。停止するとＣＰＵ１０に対して割り込みを発生し、再駆動に備える。
【００２５】
このようにして、本実施例では、モータの等速動作領域を２分割し、前段階の等速動作ではセンサ入力等の外部入力信号を条件を検出し、検出後後段の等速動作を実行するようにしているので、センサを検出した後に一定時間経過した後、加減速の制御を自動的に行うことができるという効果を得る
【００２６】
ところで、入力信号検出部１でセンサ入力を検出するとき、図４に示すように、センサ入力が発生してから、入力信号検出部１でセンサ入力を検出したと判定されるまで、すなわち、センサ信号の入力レベルが確定するまでにある程度の時間（図では、「センサ検出誤差」と記述）を要する。なお、入力信号検出カウンタ８は、このセンサ検出誤差を検出するためのものである。
【００２７】
したがって、センサ入力が確定するまでの間に、ステッピングモータ４が駆動されているため、あらかじめ設定されているセンサ位置から加速までの等速動作距離の設定値（時間）から、上述したセンサ検出誤差に相当する時間を減算して、加速開始までの時間を補正することが好ましい。
【００２８】
このときの動作制御の一例を図５に示す。
【００２９】
まず、初期設定（処理２０１）後、モータの動作条件を設定する（処理２０２）。ここでは、加減速データの登録されているメモリ２のメモリアドレスの設定や等速動作時の動作速度、動作距離等を設定する。また、入力信号検出部１のセンサ入力検出までのサンプリング時間等の設定を行う。
【００３０】
次いで、モータ駆動を開始し（処理２０３）、加速データを読み込んで加速動作を開始し（処理２０４）、その加速動作を終了すると、等速動作を開始する（処理２０５）。
【００３１】
次に、入力信号検出部１のセンサ入力の検出を開始し（処理２０６）、上述したセンサ検出誤差の時間測定を開始し（処理２０７）、入力信号検出部１がセンサ入力を確定するまで待つ（判断２０８のＮＯループ）。センサ入力信号が入ると一定時間入力レベルをサンプリングし、変化がなければセンサの入力を確定する（判断２０８の結果がＹＥＳ）。そして、処理２０７で開始した時間測定を終了し（処理２０９）、それによって得たセンサ検出誤差を、次ステートの移動距離設定値（時間）より減算して、当該設定値を補正する（処理２１０）。
【００３２】
次いで、処理２１０で補正した設定値に応じた時間、等速駆動した後、再度加速データを読み出し加速を開始する（処理２１１，２１２）。加速終了後はあらかじめ設定されている速度及び距離の等速動作を行い、減速を開始する（処理２１３，２１４）。
【００３３】
そして、減速時は加速時同様にメモリから減速データを読み出し減速していき、停止状態となる（処理２１５）。停止するとＣＰＵ１０に対して割り込みを発生し、再駆動に備える。
【００３４】
このようにして、本実施例では、モータの等速動作中にセンサ等の入力信号が入力されてから、検出を確定するまでに要した時間を計測しているため、あらかじめ設定しているセンサからモータの加減速開始位置から計測した時間を元に移動距離を減算することにより、正確なモータ制御を行えるという効果を得る。
【００３５】
また、図６に示すように、センサ入力が発生してから、センサ入力レベルが確定し、その時点で割込を発生した場合、ＣＰＵ１０の割込処理の優先順位の設定によっては、ステッピングモータ４の駆動のためのＣＰＵ１０の割込処理が開始されるまでに、センサ入力発生からある程度の時間（図では、「割込処理開始誤差」と記述）が経過する。なお、割込処理開始誤差カウンタ９は、この割込処理開始誤差を検出するためのものである。
【００３６】
そこで、この割込処理開始誤差の時間を計測し、センサ検出から加速までの等速動作距離設定の時間から、その計測値を減算して、補正することで、加速タイミングを精度良く処理することができるようになる。
【００３７】
なお、本実施例では、センサ入力開始からカウントを開始し、センサ入力確定でＣＰＵ１０に割り込み要求が出力される。ＣＰＵ１０は割り込み要求を受け付けて割り込み処理を行うが、他の割り込み要求が同時に発生している場合は優先順位が高い方が先に処理される。このとき後から処理される場合、実際の割り込み処理から相当時間の経過分が誤差として現れる。特に動作中などはその誤差の大きさにより精度が決まってくる。そこで割り込み処理の開始時、あるいはその途中必要なところであらかじめ決められたコマンドを発行することにより、センサの入力から実際のソフトウエアの処理との時間のずれを知ることにより、他のモータやモジュールの動作制御のタイミングを補正することが可能となる。
【００３８】
このときの動作制御の一例を図７に示す。
【００３９】
まず、初期設定（処理３０１）後、モータの動作条件を設定する（処理３０２）。ここでは、加減速データの登録されているメモリ２のメモリアドレスの設定や等速動作時の動作速度、動作距離等を設定する。また、入力信号検出部１のセンサ入力検出までのサンプリング時間等の設定を行う。
【００４０】
次いで、モータ駆動を開始し（処理３０３）、加速データを読み込んで加速動作を開始し（処理３０４）、その加速動作を終了すると、等速動作を開始する（処理３０５）。
【００４１】
次に、入力信号検出部１のセンサ入力の検出を開始し（処理３０６）、上述したセンサ検出誤差の時間測定を開始し（処理３０７）、入力信号検出部１がセンサ入力を確定するまで待つ（判断３０８のＮＯループ）。センサ入力信号が入ると一定時間入力レベルをサンプリングし、変化がなければセンサの入力を確定する（判断３０８の結果がＹＥＳ）。
【００４２】
そして、割込を発生させ（処理３０９）、次の等速ステートの終了を規定するためのカウント動作を開始させ（処理３１０）、割込処理を開始する（処理３１１）。ここで、この処理３１１では、例えば、開始時にあらかじめ決められたレジスタにトリガ値を書き込むことで、割込処理のトリガを発生させる。
【００４３】
次に、処理３０７で開始した時間測定を終了し（処理３１２）、それによって得た割込処理開始誤差を、次ステートの移動距離設定値（時間）より減算して、当該設定値を補正する（処理３１３）。
【００４４】
次いで、処理３１３で補正した設定値に応じた時間、等速駆動した後、再度加速データを読み出し加速を開始する（処理３１４，３１５）。加速終了後はあらかじめ設定されている速度及び距離の等速動作を行い、減速を開始する（処理３１６，３１７）。
【００４５】
そして、減速時は加速時同様にメモリから減速データを読み出し減速していき、停止状態となる（処理３１８）。停止するとＣＰＵ１０に対して割り込みを発生し、再駆動に備える。
【００４６】
このようにして、本実施例では、モータの等速動作中にセンサ等の入力信号が入力されてから、実際に割り込み処理が開始されるまでの時間を計測しているので、その計測時間を補正値とすることで、周辺機器とモータ制御を正確にリンクすることが可能となるという効果を得る。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施例にかかるステッピングモータ制御回路の構成例を示したブロック図。
【図２】モータ制御態様の一例を示したグラフ図。
【図３】図２に対応した制御動作の一例を示したフローチャート。
【図４】モータ制御態様の他の例を示したグラフ図。
【図５】図４に対応した制御動作の一例を示したフローチャート。
【図６】モータ制御態様のさらに他の例を示したグラフ図。
【図７】図６に対応した制御動作の一例を示したフローチャート。
【符号の説明】
【００４８】
１  入力信号検出部
２  メモリ
３  メモリ制御部
４  ステッピングモータ
５  モータ駆動回路
６  メモリ制御部
７  バッファ
８  入力信号検出カウンタ
９  割込処理開始誤差カウンタ
１０  ＣＰＵ（中央処理装置）
１１  ＲＯＭ（リード・オンリ・メモリ）
【図１】
2005086962.tif 000003
【図２】
2005086962.tif 000004
【図３】
2005086962.tif 000005
【図４】
2005086962.tif 000006
【図５】
2005086962.tif 000007
【図６】
2005086962.tif 000008
【図７】
2005086962.tif 000009