"ステッピングモータを駆動する駆動電流を設定する駆動電流設定手段と、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出手段と、前記負荷検出手段によって検出された負荷に応じて前記ステッピングモータの駆動電流を調整する駆動電流調整手段と、前記負荷検出手段によって検出された負荷がある閾値を超えた際に、脱調の予兆があると判定する脱調予兆判定手段と、前記駆動電流設定手段により徐々に駆動電流値を下げていき、前記脱調予兆判定手段が脱調の予兆があると判定したときの駆動電流値に基づいて前記ステッピングモータの前記駆動電流を制御する駆動電流最適化制御手段と、を備えることを特徴とするステッピングモータの制御装置。さらに、前記ステッピングモータの負荷に対して、さらに当該負荷に所定の増加分を見込んだ負荷トルクマージンを設けるためのマージン設定手段を備え、前記駆動電流最適化制御手段は、前記マージン設定手段で設定された前記負荷トルクマージンを含む駆動電流値を設定することを特徴とする請求項1に記載のステッピングモータの制御装置。前記駆動電流最適化制御手段は、前記ステッピングモータが一定速で駆動しているときに駆動電流の最適化制御を行うことを特徴とする請求項1または2に記載のステッピングモータの制御装置。さらに、記憶手段を有し、前記駆動電流最適化制御手段は、前記脱調予兆判定手段により予兆を検出したときの駆動電流値またはマージン値を所定の条件と共に前記記憶手段へ記憶し、この記憶された条件を元に前記ステッピングモータの駆動電流またはマージンの設定を行うことを特徴とする請求項1,2または3に記載のステッピングモータの制御装置。前記所定の条件は、駆動周波数、励磁モードの何れかまたは全てであることを特徴とする請求項4に記載のステッピングモータの制御装置。さらに、報知手段を有し、前記駆動電流最適化制御手段は、前記ステッピングモータの駆動電流値が所定の閾値を超えた場合に、前記報知手段を介して警告信号を出力することを特徴とする請求項1~4の何れか一つに記載のステッピングモータの制御装置。駆動電流設定手段が、ステッピングモータを駆動する駆動電流を設定する駆動電流設定工程と、負荷検出手段が、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出工程と、駆動電流調整手段が、前記負荷検出工程で検出された負荷に応じて前記ステッピングモータの駆動電流を調整する駆動電流調整工程と、脱調予兆判定手段が、前記負荷検出工程で検出された負荷がある閾値を超えた際に、脱調の予兆があると判定する脱調予兆判定工程と、前記駆動電流最適化制御手段が、駆動電流設定工程において徐々に駆動電流値を下げていき、前記脱調予兆判定工程で脱調の予兆があると判定したときの駆動電流値に基づいて前記ステッピングモータの前記駆動電流を制御する駆動電流最適化制御工程と、を含むことを特徴とするステッピングモータの制御方法。しかしながら、上記に示されるような、ステッピングモータの消費電力を低減する装置にあっては、ステッピングモータの負荷を常時モニタして、その時々の負荷に対して駆動電流値を最適化している訳ではなく、最大負荷時のみの駆動電流値の最適化を行っているため、最大負荷以外の駆動電流値を最適化することができなかった。また、駆動電流値の最適化処理を行うにあたりステッピングモータを脱調させてしまうため、次起動時にホームポジションの検出を行わない場合には、位置情報を把握することができず、被駆動対象物の暴走やロックなどによって装置を破損させてしまう可能性もあった。また、ホームポジションの検出を行なう場合には、検出に要する時間がかかるためダウンタイムが発生してしまうという問題もあった。また、特許文献1の技術にあっては、徐々に駆動電流値を低減させながら実負荷トルクを求め、それに対して最適な駆動電流値を決定しているものの、最大負荷時以外の駆動電流を最適化することができない。また、最適化処理を行うにあたりステッピングモータを脱調させてしまうため、位置情報を把握できないことによるマシンの破損やダウンタイム等が発生するという問題もあった。また、特許文献2の技術にあっては、駆動電流を最適と判断する閾値は、あらかじめ設定された値であるため、駆動環境の変化、マシン間での負荷バラツキなども加味したマージンを設定する必要がある。また、この閾値を操作パネル上から変更できるような構成としてもよいが、その場合にはユーザーまたはサービスマンが設定する必要があり、自動で必要なトルクに近い出力を得ることのできる電流値に設定することができない。また、上記バラツキが大きい場合には、脱調する可能性もあると考えられる。本発明は、上記に鑑みてなされたものであって、ステッピングモータの負荷を常時モニタして、その時々の負荷に対して最適な駆動電流を設定し、消費電力の低減を図ることを目的とする。上述した課題を解決し、目的を達成するために、本発明は、ステッピングモータを駆動する駆動電流を設定する駆動電流設定手段と、前記ステッピングモータの駆動波形から前記ステッピングモータの負荷を検出する負荷検出手段と、前記負荷検出手段によって検出された負荷に応じて前記ステッピングモータの駆動電流を調整する駆動電流調整手段と、前記負荷検出手段によって検出された負荷がある閾値を超えた際に、脱調の予兆があると判断する脱調予兆手段と、前記駆動電流設定手段により徐々に駆動電流値を下げていき、前記脱調予兆手段が脱調の予兆があると判定したときの駆動電流値に基づいて前記ステッピングモータの駆動電流を制御する駆動電流最適化制御手段と、を備えることを特徴とする。本発明は、ステッピングモータの負荷を常時監視して、脱調の予兆信号を元にその時々の負荷に対して最適なステッピングモータを駆動するための駆動電流を設定する構成とすることで、ステッピングモータの負荷を常時監視して、脱調の予兆信号を元にその時々の負荷に対して最適な駆動電流を設定することが可能となり、消費電力の低減を行うことができるという効果を奏する。以下に添付図面を参照して、この発明にかかるステッピングモータの制御装置およびステッピングモータの制御方法の一実施の形態を詳細に説明する。実施の形態本発明は、ステッピングモータの低消費電力化に際して、以下の特徴を有する。要するに、ステッピングモータの負荷を常時監視して、その監視した時々の負荷に対して最適な駆動電流をフィードバックし、さらに脱調予兆信号に基づいて駆動電流の最適化を行うものである。以下、具体的に説明する。図1は、この実施の形態にかかるステッピングモータ制御装置を搭載したシステム構成を示すブロック図である。この図1において、符号100はステッピングモータ、符号110はシステム制御部、符号111はモータドライバ、符号112はモータ制御部、符号113は記憶部、符号114は温度検出素子、符号115は報知部、符号120は被駆動部である。ステッピングモータ100は、たとえば複写機などの自動原稿読取装置の給紙搬送機構、キャリッジ走査機構、複写機などの各種搬送および駆動機構といった被駆動部120の駆動源として用いられる。システム制御部110は、モータドライバ111、モータ制御部112、記憶部113などを有し、上記装置全体を制御するものである。モータドライバ111は、ステッピングモータ100を駆動する。モータ制御部112は、ステッピングモータ100を駆動するモータドライバ111に対してモータ回転方向、励磁パターン、駆動周波数などの制御信号のやりとりを行う。記憶部113は、ステッピングモータ100の駆動電流値、最適時条件などを記憶する。温度検出素子114には、ステッピングモータ100の近傍に配置され、その駆動時の温度を検知することが可能な公知の温度検出素子を用いる。報知部115は、ステッピングモータ100が搭載される装置の表示部、あるいはサービスセンターなどの装置に通信接続され、後述する警告処理の動作を行うために用いられる。上記の各制御部は、CPU,ROM,RAM,タイマー,I/Oポートなどを有するマイクロコンピュータにより構成されており、CPUがROMに記憶されている制御プログラムにしたがって後述する制御動作を実行する。図2は、この実施の形態にかかるステッピングモータ制御装置の機能構成例1を示すブロック図である。この図2において、符号121は駆動電流設定部、符号122は出力制御部、符号123は駆動波形出力部、符号124は負荷検出部、符号125は脱調予兆判定部、符号126は脱調予兆フラグ発生部、符号127は駆動電流調整部である。また、モータ制御部112は駆動電流最適化制御部130を有する。また、記憶部113は、駆動電流Aを記憶するメモリ領域であるエリア1、駆動電流A’を記憶するメモリ領域であるエリア2、駆動条件を記憶するメモリ領域であるエリア3を有する。駆動電流設定部121は、ステッピングモータ100へ流す駆動電流を設定する。出力制御部122は、モータ制御部112より受けた回転方向や励磁パターン、駆動周波数などの指令情報を元に後述する駆動波形出力部123を制御する。駆動波形出力部123は、出力制御部122からの指令信号にしたがってステッピングモータ100を駆動する。負荷検出部124は、ステッピングモータ100の駆動波形をモニタし、ステッピングモータ100に掛かる負荷情報を検出する。脱調予兆判定部125は、負荷検出部124で検出して得られたステッピングモータ100の負荷情報が所定の閾値を超えたときに脱調しつつあるかどうかの予兆を判定する。脱調予兆フラグ発生部126は、脱調予兆判定部125にて脱調の予兆がありと判定された場合にフラグを発生させる。駆動電流調整部127は、負荷検出部124より負荷情報を取得し、この負荷情報にあったステッピングモータ100の駆動電流に適時調整する。記憶部113は、ステッピングモータ100の少なくともそれぞれ異なる2つの駆動電流値および駆動電流値を最適化したときの動作条件を記憶する。駆動電流最適化制御部130は、脱調予兆フラグ発生部126、および記憶部113に記憶してある情報の情報を元にステッピングモータ100の駆動電流を最適化する制御を行う。なお、最適化とは、駆動電流値を可変して負荷に必要な脱調しない最小電流値に設定制御する処理をいう。図3は、この実施の形態にかかるステッピングモータ制御装置の機能構成例2を示すブロック図である。本構成は前述した図2の構成に対してモータドライバ111にマージン設定部128を付加したものである。他の構成は図2と同一であるので、ここでは同一符号を付し、重複説明は省略する。図3に示すように構成されたステッピングモータ制御装置では、マージン設定部128は、駆動電流調整部127による負荷フィードバック制御では補えないバラツキたとえば、急激な負荷変動などに対し、所定のトルクマージンを持たせるためのマージン値を設定する。また、駆動電流調整部127は、負荷検出部124よりステッピングモータ100の負荷情報を取得して、この負荷情報にあった駆動電流に適時調整し、マージン設定部128のマージン値を付加した電流値へと駆動電流を調整する。また、記憶部113には、少なくとも2つの駆動電流値またはマージン値および駆動電流を最適化したときのステッピングモータ100の動作条件を記憶する。駆動電流最適化制御部130は、脱調予兆フラグ発生部126、および記憶部113に記憶してある情報の情報を元にステッピングモータ100の駆動電流を最適化する制御を行う。なお、後述する駆動電流の最適化を行なう制御では、駆動電流値を徐々に低下させていき、脱調予兆判定部125が脱調の予兆を検知したときの駆動電流値に基づき、駆動電流値の最適化を行っているが、上述のマージン値は、最終的に駆動電流値へと反映される値であるため、マージン値を徐々に低下させていき、脱調の予兆を検知したときのマージン値に基づき、駆動電流値の最適を行う制御としてもよい。その場合には、記憶部113へ保存する内容を駆動電流値ではなく、マージン値として記憶すればよい。つぎに、以上のように構成されたステッピングモータ制御装置の動作について説明する。図4は、ステッピングモータ制御装置の全体の制御動作を示すフローチャートである。この制御動作は、図2または図3に示すステッピングモータ制御装置によって行われるもものである。図4において、まず、駆動電流設定部121によりステッピングモータ100の駆動電流値を設定するステップS11。なお、ここでは工場出荷時にて設定した値を取得して設定する。続いて、ステッピングモータ100が励磁状態か否かを判断するステップS12。ここでステッピングモータ100が励磁状態でなければ判断No、本制御を終了し、一方、励磁状態であると判断した場合判断Yes、ステッピングモータ100の駆動波形をモニタし、負荷検出部124により負荷情報の取得を行うステップS13。続いて、脱調予兆判定部125により脱調予兆の判定詳細は図5参照を行うステップS14。続いて、負荷検出部124によりステッピングモータ100の負荷情報を元にステッピングモータ100の駆動電流値の調整を行なうステップS15。上記ステップS12にてステッピングモータ100の非励磁状態が検出されるまで上記ステップS13~S15の動作を繰り返し、実行する。図5は、ステッピングモータ制御装置の脱調予兆判定の動作を示すフローチャートである。この動作は脱調予兆判定部125により実行される。図5において、まず、負荷検出部124により検出したステッピングモータ100の負荷があらかじめ定めた閾値より大きいか否かを判断するステップS21。なお、ここでの閾値とは、脱調の兆候があるかないかを判断するための指標である。ここでステッピングモータ100の負荷が閾値より大きいと判断した場合判断Yes、予兆信号を発生するステップS22。一方、ステップS21においてステッピングモータ100の負荷が閾値より小さいと判断した場合判断No、余剰なトルクマージンがあると判断し、ステッピングモータ100の駆動電流値の最適化図6参照を行うステップS23。続いて、この最適化した駆動電流値Aと最適駆動電流値を取得したときのステッピングモータ100の駆動条件駆動周波数、励磁モードを関連付けて記憶部113のエリア3へ保存するステップS24。なお、この保存する内容については図9にて説明する。図6は、駆動電流値を最適化する動作を示すフローチャートである。この動作は駆動電流最適化制御部130により実行される。図6において、まず、現在設定されている駆動電流値Aを取得しステップS31、この駆動電流値Aを記憶部113上のエリア1へ記憶するステップS32。上記取得した駆動電流値Aと所定値の差分をAとするステップS33。なお、ここでの所定値は、小さければ小さい程最適化の効率が上がるが、相反して処理時間が掛かるため、ステッピングモータ100の制御システムとして、処理速度に問題が発生しない下限の設定値を設定することが望ましい。続いて、駆動電流値Aを記憶部113上のエリア2へ記憶しステップS34、この駆動電流値Aを駆動電流値Aとして設定するステップS35。その後、ステッピングモータ100を励磁させ、負荷検出部124を介して負荷情報の取得を行うステップS36。続いて、上記取得した負荷と閾値の比較を行うステップS37。ここで負荷の方が閾値より大きい場合には判断Yes、脱調の兆候があるとして、予兆信号を発生させるステップS38。一方、負荷の方が閾値より小さい場合には判断No、ステップS31に戻り、上述した動作を行う。ステップS38を実行した後、記憶部113上のエリア1から駆動電流値Aを取得しステップS39、駆動電流値Aを設定するステップS40。図7は、駆動電流の最適化を行う例を示すタイミングチャートである。この図7に示すとおり、ステッピングモータ100は、定速-加速-減速-定速といった駆動動作をモータドライバ111を介して行う。この図7のタイミングチャートに示すように、ステッピングモータ100は定速領域、加速領域、減速領域があるが、この実施の形態におけるステッピングモータ制御装置では、駆動電流最適化は、定速領域で行う。つぎに、脱調予兆を検出したときの駆動電流値またはマージン値を所定の条件と共に記憶部113へ記憶し、この記憶された条件を元に駆動電流またはマージンの設定を行う例について説明する。図8は、最適駆動電流の設定および調整動作を示すフローチャートである。図8において、まず、モータ制御部112より、ステッピングモータ100を励磁するか否かの指令があるかを判断するステップS41。ここで励磁の指令がきていない場合には判断No、指令がくるまで待機する。一方、励磁すると判断した場合判断Yes、次起動時のステッピングモータ100の動作条件を取得するステップS42。なお、ここでの動作条件とは、ステッピングモータの駆動周波数、励磁モードなどである。続いて、ステップS42で取得した条件と同じ駆動条件で、以前駆動したことがあるかを記憶部113上のエリア3から検索するステップS43。ここで駆動したことがある場合には判断Yes、記憶部113上のエリア3から、以前動作時の最適駆動電流値を取得するステップS44。そして、取得した最適駆動電流値を設定しステップS45、ステッピングモータ100が励磁されているか否かの判断を行うステップS46。一方、ステップS43において駆動したことがない場合には判断No、前述した図4の制御に移行する。上記制御動作において、たとえば、次起動時の動作モードが600pps,1-2相励磁モードの場合には、図9で後述するように、記憶部113上に図9の情報が記憶されていた場合には、図9中のNo.2と同様の動作条件であるため、駆動電流値に0.9を設定する。続いて、ステップS46において、ステッピングモータ100が励磁されていない場合には判断No、この動作を終了する。一方、励磁されている場合には判断Yes、ステッピングモータ100の駆動波形をモニタし、負荷情報の取得を行いステップS47、この負荷情報を基に駆動電流の調整を行なうステップS48。ステップS46で非励磁状態が検出されるまでステップS47,S48を繰り返し、実行する。図9は、記憶部113へ記憶する具体的な内容の一例を示す図表である。前述した図6の動作において最適化された駆動電流値を、最適化されたときのステッピングモータ100の動作条件と共に記憶部113へ記憶する。図9のNo.1は、駆動周波数1000pps,励磁モード1-2相励磁状態で駆動したときに、最適化された駆動電流値が1.2であることを示している。なお、本例では、駆動周波数と励磁モードのみを条件として記憶しているが、温度検出素子114図1参照を設け、ステッピングモータ100を駆動したときの温度条件も考慮した制御を行ってもよい。図10は、警告動作を示すフローチャートである。まず、ステッピングモータ100の駆動電流値を取得するステップS51。つぎに取得した駆動電流値が閾値より大きいか小さいかを判断するステップS52。ここで取得した駆動電流値が閾値より小さい場合は判断Yes、この動作を終了する。一方、取得した駆動電流値が閾値より大きい場合には判断No、ステッピングモータ100の駆動電流値が異常であると判断し、報知部115を介してユーザーまたはサービスマンなどに対して所定の警告を行うステップS53。上記警告の報知は、報知部115が装置の表示部不図示に、たとえばサービス管理センターに連絡する必要がある旨の警告メッセージあるいはサービスマンコールを表すキーマークなどを表示出力することで行われる。したがって、上述した実施の形態にかかるステッピングモータ制御装置によれば、ステッピングモータ100の駆動電流を徐々に下げていき、脱調予兆信号を発生する直前の電流値を設定するため、環境変化やマシン間での負荷バラツキなどを考慮した電流値へと自動で設定することができる。すなわち、ステッピングモータ100へ流す電流を設定する駆動電流設定部121と、ステッピングモータ100の駆動波形からステッピングモータ100の負荷を検出する負荷検出部124と、負荷検出部124によって検出された負荷に応じてステッピングモータ100の駆動電流を調整する駆動電流調整部127と、負荷検出部124によって算出された負荷がある閾値を超えた際に、脱調の予兆があると判断する脱調予兆判定部125と、を有するステッピングモータ100の制御装置において、駆動電流設定部121により徐々に駆動電流値を下げていき、脱調予兆判定部125が脱調の予兆を検知したときの駆動電流値に基づいてステッピングモータ100の駆動電流の最適化を行う駆動電流最適化制御部130と、を備えることにより、ステッピングモータ100の負荷を常時モニタし、脱調予兆信号を元にその時々の負荷に対して最適な駆動電流を設定しているため、消費電力の低減を行うことができる。また、上記構成において、負荷に対して所定のトルクマージンを持たせるためのマージン設定部128を備え、ステッピングモータ100の駆動電流に対し、マージン設定部128で設定されたマージン値を設定することにより、フィードバック制御では補えないバラツキたとえば急激な負荷変動などがある場合でも、脱調することなくステッピングモータ100の駆動を行うことができる。また、上記構成において、ステッピングモータ100の駆動電流の最適化を行う駆動電流最適化制御部130は、ステッピングモータ100が一定速で駆動しているときに最適化を行うことにより、駆動周波数、電流値、負荷トルクの関係が一定となるため、複雑な制御によらず、最適な駆動電流値を選択することができる。また、上記構成において、ステッピングモータ100の脱調予兆を検出したときの駆動電流値またはマージン値を所定の条件と共に記憶部113へ記憶し、この記憶された条件を元に駆動電流またはマージンの設定を行うことにより、以前最適化したときの駆動条件を元に駆動電流の最適化を行なうため、以前の駆動条件と今回の駆動条件が一致した場合には、最適化の制御動作を行うことなく最適な駆動電流を選択することができ、最適化に要するダウンタイムの低減を図ることができる。また、上述した所定の条件として、駆動周波数、励磁モードの何れかまたは全てとすることで、以前最適化したときの駆動条件を元に駆動電流の最適化を行なうため、以前の駆動条件と今回の駆動条件が一致した場合には、最適化の制御動作を行うことなく最適な駆動電流を選択することができ、最適化に要するダウンタイムの低減を図ることができる。また、上記構成において、ステッピングモータ100の駆動電流値が所定の閾値を超えた場合に、警告信号を報知することにより、ステッピングモータ100がロック状態などの異常状態となったときに、ユーザーまたはサービスマンへ警告をすることによって、良好な状態に迅速に復帰させることができる。"