(57)【特許請求の範囲】
【請求項１】
ステッピングモータを駆動する駆動電流を設定する駆動電流設定手段と、
前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出手段と、
前記負荷検出手段によって検出された負荷がある閾値を超えた際に予兆信号を出力する脱調予兆判定手段と、
前記脱調予兆判定手段から出力されるある一定時間の予兆信号の数をカウントし、そのカウント数の値に応じて前記駆動電流のマージン値を設定するマージン設定手段と、
前記駆動電流を制御する際に、前記マージン設定手段で設定されたマージン値を含む駆動電流とする駆動電流最適化制御手段と、
を備えることを特徴とするステッピングモータの制御装置。
【請求項２】
前記マージン設定手段は、前記脱調予兆判定手段から出力されるある一定時間の予兆信号の数をカウントし、そのカウント数の値に応じて前記マージン値を上げる値を決定することを特徴とする請求項１に記載のステッピングモータの制御装置。
【請求項３】
ステッピングモータを駆動する駆動電流を設定する駆動電流設定手段と、
前記ステッピングモータの駆動波形から前記ステッピングモータの負荷がある閾値を超えた際に、脱調の予兆があると判定する脱調予兆判定手段と、
前記脱調予兆判定手段の判定結果に基づいてマージン値を設定するマージン設定手段と、
前記駆動電流を制御する際に、前記マージン設定手段で設定されたマージン値を含む駆動電流とする駆動電流最適化制御手段と、
マージンレベルがある一定値を超えた場合、異常である旨の報知を行う報知手段と、
を備えることを特徴とするステッピングモータ制御装置。
【請求項４】
予め駆動条件にあったマージンレベルを記憶している記憶部を備え、
前記マージン設定手段は、前記記憶部に記憶されたマージンレベルを書き換える
ことを特徴とする請求項１〜３の何れか一つに記載のステッピングモータの制御装置。
【請求項５】
駆動電流設定手段が、ステッピングモータを駆動する駆動電流を設定する駆動電流設定工程と、
負荷検出手段が、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出工程と、
脱調予兆判定手段が、前記負荷検出工程によって検出された負荷がある閾値を超えた際に、予兆信号を出力する脱調予兆判定工程と、
マージン設定手段が、前記脱調予兆判定工程で出力されるある一定時間の予兆信号の数をカウントし、そのカウント数の値に応じて前記駆動電流のマージン値を設定するマージン設定工程と、
駆動電流最適化制御手段が、前記駆動電流を制御する際に、前記マージン設定工程で設定されたマージン値を含む駆動電流とする駆動電流最適化制御工程と、
を含むことを特徴とするステッピングモータの制御方法。
【請求項６】
駆動電流設定手段が、ステッピングモータを駆動する駆動電流を設定する駆動電流設定工程と、
脱調予兆判定手段が、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷がある閾値を超えた際に、脱調の予兆があると判定する脱調予兆判定工程と、
マージン設定手段が、前記脱調予兆判定工程の判定結果に基づいてマージン値を設定するマージン設定工程と、
駆動電流最適化制御手段が、前記駆動電流を制御する際に、前記マージン設定工程で設定されたマージン値を含む駆動電流とする駆動電流最適化制御工程と、
報知手段が、マージンレベルがある一定値を超えた場合、異常である旨の報知を行う報知工程と、
を含むことを特徴とするステッピングモータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの制御装置およびステッピングモータの制御方法に関する。
【背景技術】
【０００２】
従来、原稿読取スキャナの原稿搬送機構、キャリッジ走査機構、あるいは複写機などの搬送機構など、被駆動対象物に対して駆動／停止、正回転／逆回転、増速／減速などが必要な駆動源としてステッピングモータが用いられている。複写機や、複写機に接続される各種の周辺機に使用されているステッピングモータの駆動方法には定電流駆動方式が一般に幅広く使用されている。その定電流駆動の電流値を設定するには、設計時に計算や実測により負荷トルクを求め、その負荷トルクのバラツキや電圧変動、温度変動なども考慮し、十分なマージンをみて設計する必要がある。その理由としては、負荷に対して設定した電流値が低い場合には、モータが十分なトルクを得ることができないため、モータが脱調してしまい、たとえばそのモータが用紙を搬送する駆動源で使用されている場合は用紙の搬送時にジャム（紙詰まり、不送りといった現象）が起きてしまうなどの不具合が生じる。他方、脱調を回避するために設定電流値を大きくしすぎると、モータの消費電力が大きくなったり、モータの発熱や回路を構成するための基板面積が大きくなっていた。また、モータ出力が大きくなるに比例してモータ形状が大きくなる。
【０００３】
そこで、このようなステッピングモータを駆動源とした装置において、モータ脱調を回避する目的で、モータの脱調を検出するとモータ駆動電流値を一定区間で上げることで、加速トルクをアップさせ、モータ動作が安定した時点でスルーアップを続行する制御を行うことが開示されている（たとえば、特許文献１参照）。また、ステッピングモータに流れる電流の変化を検出し、その検出波形に基づいて、必要負荷トルクに対して現在設定されている駆動電流値でのモータ出力が適正であるかを判断し、その結果に応じて駆動電流値を変更する技術が開示されている（たとえば、特許文献２参照）。
【０００４】
なお、脱調とは、ステッピングモータが過負荷や急な速度変化などに起因し、入力パルス信号とモータ回転との同期が失われる、すなわち、負荷が大きすぎると同期速度と実際の回転速度が一致しなくなる現象をいう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６２５８４号公報
【特許文献２】特開２００８−２３６９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記に示されるようなステッピングモータの消費電力を低減する装置にあっては、ステッピングモータの脱調回避手段として、モータの脱調が検出してステッピングモータの駆動電流を上げる制御を行っているため、最低でも一度は脱調が起きてしまうという問題点があった。また、最適化処理を行うにあたりステッピングモータを脱調させてしまうため、次起動時にホームポジション検出を行わない場合には、位置情報を把握することができず、暴走やロック状態を引き起こし装置を破損させてしまう可能性もあった。また、ホームポジション検出を行なう場合には、ホームポジション検出に要する時間がかかるので、ダウンタイムが発生してしまうという問題もあった。
【０００７】
また、特許文献２に開示されている技術にあっては、駆動電流を最適と判断する閾値は、あらかじめ設定された値であるため、駆動環境の変化、装置間の負荷バラツキなども加味したマージンを設定する必要がある。また、この閾値を操作パネルなどの入力設定手段を用いて変更できるような構成としてもよいが、その場合にはユーザーまたはサービスマンが設定する必要があり、自動で必要なトルクに近い出力を得ることのできる電流値に設定することができない。また、上記バラツキが大きい場合には、脱調する可能性もあると考えられる。
【０００８】
本発明は、上記に鑑みてなされたものであって、モータ負荷を常時モニタして、モータを脱調させることなく、その時々の負荷に対して最適な駆動電流を設定することで消費電力を低減し、さらに脱調予兆が発生した場合に駆動電流値のマージン値を設定することで、脱調を発生させることなくモータを制御することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ステッピングモータを駆動する駆動電流を設定する駆動電流設定手段と、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出手段と、前記負荷検出手段によって検出された負荷がある閾値を超えた際に予兆信号を出力する脱調予兆判定手段と、前記脱調予兆判定手段から出力されるある一定時間の予兆信号の数をカウントし、そのカウント数の値に応じて前記駆動電流のマージン値を設定するマージン設定手段と、前記駆動電流を制御する際に、前記マージン設定手段で設定されたマージン値を含む駆動電流とする駆動電流最適化制御手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明は、ステッピングモータの負荷を常時モニタして、モータが脱調しそうになったときに出力される脱調の予兆信号の情報を元に、その時々の駆動条件に応じて設定電流値に対して最適なマージンを設定した駆動電流を設定することができるので、ステッピングモータの負荷を常時モニタして、モータを脱調させることなく、その時々の負荷に対して最適な駆動電流を設定することで消費電力を低減することができ、脱調予兆が発生した場合は、その脱調予兆の情報を元に、駆動電流値のマージンを設定することで、使用条件や環境条件により負荷が大きくなった場合でも脱調を起こすことなくモータを制御することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、この実施の形態にかかるステッピングモータ制御装置を搭載したシステム構成を示すブロック図である。
【図２】図２は、この実施の形態にかかるステッピングモータ制御装置の機能構成例を示すブロック図である。
【図３】図３は、ステッピングモータ制御装置の全体の制御動作を示すフローチャートである。
【図４】図４は、脱調予兆を確認するための動作例（１）を示すフローチャートである。
【図５】図５は、あるモータを駆動させたときに、時間の経過と共に変動する負荷と、モータ設定電流値を示すグラフである。
【図６】図６は、図５においてマージン設定電流値が設定されたときの状態（１）を示すグラフである。
【図７】図７は、図５においてマージン設定電流値が設定されたときの状態（２）を示すグラフである。
【図８】図８は、記憶部へ保存するデータ例を示す図表である。
【図９】図９は、脱調予兆を確認するための動作例（２）を示すフローチャートである。
【図１０】図１０は、脱調予兆を確認するための動作例（３）を示すフローチャートである。
【図１１】図１１は、脱調予兆を確認するための動作例（４）を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかるステッピングモータの制御装置およびステッピングモータの制御方法の一実施の形態を詳細に説明する。
【００１３】
（実施の形態）
本発明は、ステッピングモータの負荷を常時モニタして、モータが脱調しそうになったときに出力される脱調予兆信号に基づいて、負荷の変動に応じた駆動電流の設定を行うことにより、ステッピングモータを脱調させることなく、ステッピングモータの消費電力を低減するものである。以下、具体的に説明する。
【００１４】
図１は、この実施の形態にかかるステッピングモータ制御装置を搭載したシステム構成を示すブロック図である。この図１において、符号１００はステッピングモータ、符号１１０はシステム制御部、符号１１１はモータドライバ、符号１１２はモータ制御部、符号１１３は記憶部、符号１１４は温度検出素子、符号１１５は報知部、符号１２０は被駆動部である。
【００１５】
ステッピングモータ１００は、たとえば複写機などの自動原稿読取装置（ＡＤＦ）の給紙搬送機構、キャリッジ走査機構、複写機などの各種搬送および駆動機構といった被駆動部１２０の駆動源として用いられる。システム制御部１１０は、モータドライバ１１１、モータ制御部１１２、記憶部１１３などを有し、上記装置全体を制御するものである。モータドライバ１１１は、ステッピングモータ１００を駆動する。モータ制御部１１２は、ステッピングモータ１００を駆動するモータドライバ１１１に対してモータ回転方向、励磁パターン、駆動周波数などの制御信号のやりとりを行う。記憶部１１３は、ステッピングモータ１００の駆動電流値、最適時条件などを記憶する。温度検出素子１１４には、ステッピングモータ１００の近傍に配置され、その駆動時の温度を検知することが可能な公知の温度検出素子を用いる。報知部１１５は、ステッピングモータ１００が搭載される装置の表示部、あるいはサービスセンターなどの装置に通信接続され、後述する警告処理の動作を行うために用いられる。上記の各制御部は、ＣＰＵ，ＲＯＭ，ＲＡＭ，タイマー，Ｉ／Ｏポートなどを有するマイクロコンピュータシステムにより構成されており、ＣＰＵがＲＯＭに記憶されている制御プログラムにしたがって後述する制御動作を実行する。
【００１６】
図２は、この実施の形態にかかるステッピングモータ制御装置の機能構成例を示すブロック図である。この図２において、符号１２１は駆動電流設定部、符号１２２は出力制御部、符号１２３は駆動波形出力部、符号１２４は負荷検出部、符号１２５は脱調予兆判定部、符号１２６は脱調予兆フラグ発生部、符号１２７は駆動電流調整部、符号１２８はマージン設定部である。
【００１７】
駆動電流設定部１２１は、ステッピングモータ１００へ流す駆動電流を設定する。出力制御部１２２は、モータ制御部１１２から送られる回転方向や励磁パターン、駆動周波数などの指令情報を元に後述する駆動波形出力部１２３を制御する。駆動波形出力部１２３は、出力制御部１２２からの指令信号にしたがってステッピングモータ１００を駆動する。負荷検出部１２４は、ステッピングモータ１００の駆動波形をモニタし、ステッピングモータ１００に掛かる負荷情報を検出する。脱調予兆判定部１２５は、負荷検出部１２４で検出して得られたステッピングモータ１００の負荷情報が所定の閾値を超えたときに脱調しつつあるかどうかの予兆を判定する。脱調予兆フラグ判定部１２６は、脱調予兆判定部１２５にて脱調の予兆がありと判定された場合にフラグを発生させる。駆動電流調整部１２７は、負荷検出部１２４より負荷情報を取得し、その負荷情報にあったステッピングモータ１００の駆動電流に適時調整する。
【００１８】
マージン設定部１２８は、所定のトルクマージンを持たせるための、駆動電流調整部１２７による負荷フィードバック制御では補えないバラツキ（たとえば、急激な負荷変動など）に対し、マージン値を設定する。また、駆動電流調整部１２７は、ステッピングモータ１００へ流す駆動電流を設定する駆動電流設定部１２１にマージン設定部１２８のマージン値を付加した電流値へと駆動電流を調整する。
【００１９】
記憶部１１３は、脱調予兆フラグ発生部１２６より発生した脱調予兆信号を受け、そのときの動作条件とマージンレベルを記憶する。駆動電流最適化制御部１３０は、マージン設定部１２８のマージン値を最適化する制御を行う。なお、最適化とは、駆動電流値を可変して負荷に必要な脱調しない最小電流値に設定（制御）する処理をいう。
【００２０】
一般的に負荷トルクのバラツキや電圧変動、温度変動なども考慮し、十分なマージンをみて電流値を設定する必要がある。しかし、この実施の形態でのステッピングモータ制御装置ではその十分なマージンをみて設定電流値を決める必要はない。もし電流値が低くて十分なトルクが得られない場合でも、モータが脱調する前に脱調予兆判定部１２５で脱調の予兆が判定されると脱調予兆フラグが立ち、脱調予兆信号がモータ制御部１１２へ出力される。脱調予兆信号を受けたモータ制御部１１２はそのときの駆動条件のマージンレベルを記憶部１１３から読み取り、最適なマージン情報をマージン設定部１２８へ出力し、電流値を上げることによって低電力で脱調させることなくステッピングモータ１００を駆動させることができる。
【００２１】
つぎに、以上のように構成されたステッピングモータ制御装置の動作について説明する。図３は、ステッピングモータ制御装置の全体の制御動作を示すフローチャートである。この制御動作は、図２に示すステッピングモータ制御装置によって行われるものである。図３において、まず、モータ制御部１１２は、ステッピングモータ１００を動作させる際、ステッピングモータ１００の種類と動作条件に応じたマージンレベルを記憶部１１３より読み込む（ステップＳ１１）。つぎに動作させるモータの駆動電流設定部１２１へ励磁モードや駆動周波数や回転方向の情報を出力し、マージンレベルの情報をマージン設定部１２８へ出力する（ステップＳ１２）。ここでステッピングモータ１００は設定された動作条件に応じて駆動を行うが、脱調予兆判定部１２５を介して駆動中に脱調予兆があるかどうかの確認を行い、脱調予兆がある場合はマージンレベルを上げマージン設定部１２８へその情報を出力する（ステップＳ１３）。
【００２２】
図４は、脱調予兆を確認するための動作例（１）を示すフローチャートである。この制御動作は、図２に示すステッピングモータ制御装置によって行われるものである。図４において、まず、タイマーｔ１と脱調予兆信号をカウントする予兆カウントｎ１をクリアし、タイマーｔ１はクリア後にスタートする（ステップＳ２１）。続いて、脱調予兆があるか否かを判断する（ステップＳ２２）。ここで脱調予兆がある場合は（判断Ｙｅｓ）、予兆カウントｎ１のカウントを＋１とする（ステップＳ２３）。一方、脱調予兆がない場合は（判断Ｎｏ）、ステップＳ２４に移行し、ある一定時間Ｔが経過するまで脱調予兆の有無を判断しカウントする。
【００２３】
ステップＳ２４において一定時間Ｔを過ぎていない場合（判断Ｎｏ）、ステップＳ２２の動作に戻り、以降の動作を実行する。一方、ステップＳ２４において一定時間Ｔを過ぎた場合は（判断Ｙｅｓ）、さらに、予兆カウントｎ１がある一定の脱調予兆回数Ｎを上回っているか否かを判断する（ステップＳ２５）。ここで予兆カウントｎ１がＮを上回っていた場合（判断Ｙｅｓ）、モータ制御部１１２は記憶部１１３からそのときの駆動条件にあったマージンレベルを読み込み、そのマージンレベルを＋１とし、記憶部１１３へその＋１としたマージンレベルを書き込む（ステップＳ２６）。
【００２４】
続いて、そのマージンレベルの情報をマージン設定部１２８へ出力する（ステップＳ２７）。一方、ステップＳ２５において予兆カウントｎ１がＮを上回っていない場合（判断Ｎｏ）、予兆カウントｎ１がある一定の脱調予兆回数Ｎ以下であった場合はマージン設定部１２８へマージンレベルを出力することなく終了する。
【００２５】
ここでたとえば脱調予兆回数Ｎを０と設定している場合は、一定時間Ｔが経過するまで予兆カウントｎ１をカウントする意味がない。そこで、そのような場合は脱調予兆信号を割り込み処理として、マージンレベルを記憶部１１３からそのときの駆動条件にあったマージンレベルを読み込み、そのマージンレベルを＋１とし、記憶部１１３へその＋１としたマージンレベルを書き込む。つぎにそのマージンレベルの情報をマージン設定部１２８へ出力する。そうすることで処理の時間短縮が可能である。
【００２６】
つぎにマージン設定部１２８におけるマージン値、すなわちステッピングモータ１００を駆動する駆動電流にマージン電流を付加する設定方法について説明する。図５は、あるモータを駆動させたときに、時間の経過と共に変動する負荷と、モータ設定電流値を示すグラフである。なお、ここでは、ステッピングモータ１００の設定電流値は一律で０．５Ａという設定になっている。また、前述した図３の一定時間Ｔを簡単のため２００ｍｓとして説明する。
【００２７】
図５において、０〜２００ｍｓの間はステッピングモータ１００はホールド状態を維持しているだけということもあり、脱調予兆信号は出力されなかった。これに対して２００〜４００ｍｓの間は負荷が大きくなることから、設定電流値０．５Ａのままでステッピングモータ１００を駆動させたところ、脱調予兆信号が何回か出力されたため、マージンレベルが＋１に増加される。また、４００〜６００ｍｓの間も同様に脱調予兆信号が何回か出力され、マージンレベルが＋１に増加される。６００〜１０００ｍｓの間は脱調予兆信号が出力されずにマージンレベルの増加は行われなかった。このとき、たとえばマージンレベル＋１に対し駆動電流値が０．１Ａに上昇する設定とすると、２００ｍｓ〜６００ｍｓの間のマージン設定電流値は設定電流値０．５Ａにマージン分が＋０．１Ａに上昇され、０．６Ａに設定される。この内容はマージンレベルが＋１に増加されたときに記憶部１１３に、そのときの駆動時の条件と一緒にマージンレベルとして記憶される。
【００２８】
図６は、図５においてマージン設定電流値が設定されたときの状態（１）を示すグラフである。この図６に示すように、２回目にこのステッピングモータ１００が駆動された場合、先にも説明したとおり２００〜４００ｍｓの間は設定電流値の０．５Ａにマージン分が＋０．１Ａに上昇されるため０．６Ａに設定される。しかし、０．６Ａでモータを駆動させても、脱調予兆信号が何回か出力されたため、マージンレベルがさらに＋１に増加される。４００〜６００ｍｓの間は０．６Ａでステッピングモータ１００を駆動させるとトルクがその分上がったため、２回目では脱調予兆が出力されずにマージンアップは行われなかった。
【００２９】
図７は、図５においてマージン設定電流値が設定されたときの状態（２）を示すグラフである。この図７では、最終的に２００〜４００ｍｓの間はマージンレベルが＋２、４００〜６００ｍｓの間はマージンレベルが＋１となったときの様子が示されている。このとき、たとえば２００ｍｓ毎に区切られた場所は駆動エリアとして駆動条件の１つのパラメータとしてマージンレベルを記憶するときの条件の１つなっている。そうすることで負荷が大きいところ、小さいところそれぞれに応じたマージンレベルの設定が可能となる。ただし、ここでは経過時間をそのまま駆動エリアとしているがこれはステッピングモータ１００がホームポジション位置から駆動していることを前提としているのであって、そうでない場合には駆動エリアをステッピングモータ１００へ入力するクロック数から算出し、それぞれのエリアを把握しておく必要がある。
【００３０】
なお、上記例において駆動エリアの区切りは、２００ｍｓ毎とする例について説明したが、本来はもっと細かい方がきめ細かく電流値を設定でき、より消費電流が低減できるので望ましい。また、エリア内の期間のある決められた時間をそのエリアの代表としてサンプリングし、それをそのエリアのマージン設定電流値とすればＣＰＵの負荷を軽減することが可能である。
【００３１】
マージン設定電流値は工場出荷段階で、その個々の機械に応じてマージンレベルをあらかじめ設定しその情報を記憶部１１３へ記憶する。そうすることで、装置は工場出荷時にその装置の負荷に応じたマージン設定電流値が設定されているので、その分、消費電流を低減することができる。
【００３２】
このようにして工場から出荷された機械は実際にユーザーのところで使用されると、そのユーザーの使用条件や環境条件に応じて、都度マージンレベルが変更され脱調することなく駆動電流値を最適な状態を保ち続ける。たとえば、装置の使用される温度が低いところでは、ベルトのテンションが大きくなりモータの負荷がその分大きくなることが考えられる。また使用頻度が多いときや、長い期間使用したりしているお客様の場合は、時間の経過と共に少しずつモータの負荷が大きくなることが考えられる。このような場合でも少しずつマージンレベルを上げていくことで、その時々の負荷に応じて最適な駆動電流でモータを駆動させることができる。
【００３３】
図８は、記憶部１１３へ保存するデータ例を示す図表である。この図８の［１］には、排紙モータを駆動エリアＡで駆動周波数１０００ｐｐｓ,励磁モード２相励磁状態で駆動したときのマージンレベルが１であることが記録されている。このマージンレベルは値が大きいほど、マージン設定部１２８で設定されるマージンが大きくなる。たとえばマージンレベルが１の場合、マージン電流部１２８における設定電流値（Ａ）は「設定値＋０．１」なのに対し、マージンレベルが４の場合の設定電流値は「設定値＋０．４」となる。なお、ここで示した例はあくまでも一例であってモータによってたとえば「設定値×マージンレベル」として使用することも考えられる。
【００３４】
ところで、本例では、使用されているステッピングモータ１００それぞれの駆動エリア、駆動周波数と励磁モードのみを条件として記憶しているが、温度検出素子１１４（図１参照）などを設け、ステッピングモータ１００を駆動したときの温度条件も考慮した制御を行ってもよい。
【００３５】
図９は、脱調予兆を確認するための動作例（２）を示すフローチャートである。この制御動作は、図２に示すステッピングモータ制御装置によって行われるものである。図９において、まず、タイマーｔ１と脱調予兆信号をカウントする予兆カウントｎ１をクリアし、タイマーｔ１はクリア後にスタートする（ステップＳ３１）。続いて、脱調予兆があるか否かを判断する（ステップＳ３２）。ここで脱調予兆がある場合は（判断Ｙｅｓ）、予兆カウントｎ１のカウントを＋１とする（ステップＳ３３）。一方、脱調予兆がない場合は（判断Ｎｏ）、ある一定時間Ｔが経過するまで脱調予兆の有無を判断しカウントする（ステップＳ３４）。ここで一定時間Ｔを過ぎていなければ（判断Ｎｏ）、ステップＳ３２に戻り、以降の動作を実行する。
【００３６】
ステップＳ３４において一定時間Ｔを過ぎた場合は（判断Ｙｅｓ）、ｎ１の値がいくつであるかを判断する（ステップＳ３５）。予兆カウントｎ１の値に応じてマージンレベルを、予兆カウンｎ１＝１、ｎ１＝２、ｎ１＝３、ｎ１≧４それぞれについて設定する（ステップＳ３６、Ｓ３７、Ｓ３８、Ｓ３９）。そして、ここで設定されたマージンレベルをマージン設定部１２８に出力する（ステップＳ４０）。一方、ステップＳ３５において予兆カウントｎ１が０だった場合はマージン設定部１２８へマージンレベルを出力することなく終了する。
【００３７】
すなわち、たとえば予兆カウントｎ１が３の場合は、モータ制御部１１２は記憶部１１３からそのときの駆動条件にあったマージンレベルを読み込み、そのマージンレベルを＋３として記憶部１１３へその＋３としたマージンレベルを書き込む。つぎにそのマージンレベルの情報をマージン設定部１２８へ出力する。このフローチャートでは予兆カウントｎ１の値が４以上の場合はマージンレベルを＋４とする記載となっているが、これはあくまで一例であって予兆カウントｎ１が５だった場合はマージンレベルを＋５とする制御でもよい。
【００３８】
図１０は、脱調予兆を確認するための動作例（３）を示すフローチャートである。この制御動作は、図２に示すステッピングモータ制御装置によって行われるものである。図１０において、まず、タイマーｔ１とタイマーｔ２と予兆カウントｎ１をクリアし、タイマーｔ１、ｔ２はクリア後にスタートする（ステップＳ４１）。続いて、脱調予兆があるか否かを判断する（ステップＳ４２）。ここで脱調予兆がない場合は（判断Ｎｏ）、ある一定時間Ｔ１が経過するまで脱調予兆の有無を確認する（ステップＳ４７）。一方、脱調予兆がある場合は（判断Ｙｅｓ）、予兆カウントｎ１のカウントを＋１とし（ステップＳ４３）、さらに予兆カウント：ｎ１＞一定の脱調予兆回数：Ｎであるか否かを判断する（ステップＳ４４）。
【００３９】
ステップＳ４４において予兆カウント：ｎ１＜一定の脱調予兆回数：Ｎでない場合は（判断Ｎｏ）、脱調予兆信号の出力間の時間をカウントするｔ２の値がある一定時間Ｔ２を過ぎているか否かの確認を行う（ステップＳ４８）。ここで先のステップＳ４４で予兆カウント：ｎ１＞一定の脱調予兆回数：Ｎである場合（判断Ｙｅｓ）や、ｔ２＜Ｔ２で脱調予兆信号が検出される間隔が短く、脱調が比較的発生しやすい状態であると判断された場合は（判断Ｙｅｓ）、モータ制御部１１２は記憶部１１３からそのときの駆動条件にあったマージンレベルを読み込み、そのマージンレベルを＋１とし、記憶部１１３へその＋１としたマージンレベルを書き込む（ステップＳ４５）。さらそのマージンレベルの情報をマージン設定部１２８へ出力する（ステップＳ４６）。
【００４０】
ステップＳ４８においてｔ２≧Ｔ２の場合は（判断Ｎｏ）、脱調予兆信号が出力される間隔が長く、脱調はしないと判断しタイマーｔ２をクリアし（ステップＳ４９）、ステップＳ４２に移行し、クリア後にタイマーｔ２をスタートし、再び次の脱調予兆信号を検出する動作に入る。ステップＳ４７においてｔ１＞Ｔ１であれば（判断Ｙｅｓ）、この動作を終了し、一方、ｔ１＜Ｔ１であれば（判断Ｎｏ）、ステップＳ４２に戻り、以降の動作を実行する。
【００４１】
図１１は、脱調予兆を確認するための動作例（４）を示すフローチャートである。この制御動作は、図２に示すステッピングモータ制御装置によって行われるものである。この動作は前述した図４の動作に対してステップＳ５７、Ｓ５９を付加したものである。図１１において、まず、図４のステップＳ２１〜Ｓ２６と同様の動作を実行（ステップＳ５１〜Ｓ５６）した後、その書き込んだマージンレベルが、マージンレベル≦Ｍ（一定値）であるか否かを判断する（ステップＳ５７）。ここでマージンレベル≦Ｍ（一定値）である場合（判断Ｙｅｓ）、そのマージンレベルがアップした情報をマージン設定部１２８へ出力する（ステップＳ５８）。一方、ステップＳ５７において一定値Ｍより大きい場合は（判断Ｎｏ）、ステッピングモータ１００のギアにゴミなどの不純物がつまっていたり、ステッピングモータ１００がロック状態になっていることが原因でステッピングモータ１００の負荷が異常に大きくなっていると判断し、報知部１１５へ該当するモータが異常である旨を出力してユーザーに修理が必要である旨を知らせる（ステップＳ５９）。このとき本装置は異常であるので、本装置は動作できない状態になっていることが望ましい。
【００４２】
上記ステップＳ５９における警告の報知は、報知部１１５が装置の表示部（不図示）に、たとえばサービス管理センターに連絡する必要がある旨の警告メッセージあるいはサービスマンコールを表すキーマークなどを表示出力することで行われる。また、報知部１１５がファクシミリ回線網、あるいは専用の通信回線などで繋がれている場合にはこれらの回線を用いて上記と同様な主旨の報知処理を実行することでもよい。
【００４３】
したがって、上述した実施の形態にかかるステッピングモータ制御装置によれば、ステッピングモータ１００へ流す電流や励磁状態等を設定する駆動電流設定部１２１と、ステッピングモータ１００の駆動波形からステッピングモータ１００の負荷を検出する負荷検出部１２４と、負荷検出部１２４によって算出された負荷がある閾値を超えた際に脱調の予兆があると判断する脱調予兆判定部１２５と、脱調予兆判定部１２５が脱調の予兆を検知したときに出力する脱調予兆信号の情報をもとに駆動電流のマージン設定を行う駆動電流最適化制御部１３０を有する構成とすることで、ステッピングモータ１００の負荷を常時モニタし、脱調予兆信号を元にその時々の負荷に対して最適な駆動電流を設定しているため、ステッピングモータ１００を脱調させることなく消費電力の低減を図ることができる。
【００４４】
また、上記構成のステッピングモータ制御装置は、ある一定時間の脱調予兆信号の数をカウントし、そのカウント数の値に応じてマージンレベルを上げる値を決定するので、最適化に要するダウンタイムを低減できる。すなわち、ステッピングモータ１００の駆動電流のマージン設定を行うのに要するダウンタイムをさらに低減することができる。
【００４５】
また、上記構成のステッピングモータ制御装置は、脱調予兆信号の出力がある一定時間内に再度発生した場合は、脱調が比較的発生しやすい状態であると判断し、即座にマージンレベルを上げるため、突然の負荷変動に対しても対応することができる。
【００４６】
また、上記構成のステッピングモータ制御装置は、マージンレベルがある一定値を超えた場合にはモータ制御部１１２より報知部１１５へその旨の通知を出し、異常であることをユーザーに知らせるので、装置が危険な状態になる前にユーザー、サービスマンへすばやく知らせることができ、その後の迅速な処置が可能となる。
【符号の説明】
【００４７】
１００  ステッピングモータ
１１０  システム制御部
１１１  モータドライバ
１１２  モータ制御部
１１３  記憶部
１１４  温度検出素子
１１５  報知部
１２１  駆動電流設定部
１２２  出力制御部
１２３  駆動波形出力部
１２４  負荷検出部
１２５  脱調予兆判定部
１２６  脱調予兆フラグ発生部
１２７  駆動電流調整部
１２８  マージン設定部
１３０  駆動電流最適化制御部
【図１】
0005834453.tif 000002
【図２】
0005834453.tif 000003
【図３】
0005834453.tif 000004
【図４】
0005834453.tif 000005
【図５】
0005834453.tif 000006
【図６】
0005834453.tif 000007
【図７】
0005834453.tif 000008
【図８】
0005834453.tif 000009
【図９】
0005834453.tif 000010
【図１０】
0005834453.tif 000011
【図１１】
0005834453.tif 000012