(57)【要約】【課題】  ＣＰＵからの動作指示に応答して、パルス信号によりステッピングモータを駆動するモータ制御回路において、ＣＰＵの負担を軽減するとともに、回路規模を縮小する。【解決手段】  ステッピングモータ４の回転速度を漸増・漸減させる制御を行うにあたって、制御回路１では、ＣＰＵ２から、レジスタ１１には目標周波数ｆ２が設定され、レジスタ１２には始動時周波数ｆ１およびｆ２までの傾きＡが設定される。カウンタ１４による動作開始時点からの累積時間ｔから、乗算器１３は、駆動周波数ｆ（＝Ａｔ＋ｆ１）を求める。それを、演算器１６で逆数演算して駆動パルスの周期１／ｆを求めるが、逆数を乗算に近似する漸化式（Ｐｎ＋１＝２×Ｐｎ＋ｆ×Ｐｎ２）を用い、比較器１５で、その近似演算の初期値Ｐ０を（＝１／ｆ≒１／２ｘ）から求める。これによって、除算回路を用いることはなく、回路規模を縮小することができる。【選択図】      図１
2006271054.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵからの動作指示に応答して、パルス信号によりステッピングモータを駆動するモータ制御回路において、
前記ステッピングモータの速度変化開始時点での前記パルス信号の周波数および速度変化終了時点での周波数ならびにそれらの時点間の前記パルス信号周波数の時間に対する傾きが前記ＣＰＵから設定されるレジスタと、
前記ＣＰＵからの動作開始信号が入力されるとカウント動作を開始するカウンタと、
前記カウンタによってカウントされる前記速度変化開始時点からの累積時間に基づいて、前記レジスタの設定値から、次タイミングで設定すべき駆動周波数を演算する第１の演算手段と、
前記第１の演算手段で求めた駆動周波数の逆数演算によって駆動周期を求めるにあたって、逆数を乗算に近似する漸化式を用い、かつその漸化式の初期値を２ｘ（ｘは正の整数）で近似する第２の演算手段と、
前記第２の演算手段による演算結果の駆動周期のタイミングで前記パルス信号を出力するパルス発生手段とを含むことを特徴とするモータ制御回路。
【請求項２】
前記第２の演算手段における前記漸化式の乗算回数が、外部から設定可能であることを特徴とする請求項１記載のモータ制御回路。
【請求項３】
前記請求項１または２記載のモータ制御回路を用いることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの制御を行うための回路およびそれを用いる画像形成装置に関する。
【背景技術】
【０００２】
ステッピングモータは、パルス信号が入力される毎に一定角度ずつ回転するモータで、位置制御や速度制御に適したモータである。しかしながら、トルク不足から脱調すると、その利点が生かせなくなるので、その回転速度は、図４で示すような台形パターンで制御される。従来では、その回転速度制御は、ＣＰＵ（中央演算処理装置）から、専用の制御回路に、出力パルス数や駆動周波数を設定することで行なわれている。
【０００３】
たとえば、前記図４で示すような制御パターンを得る場合、ＣＰＵは、時刻ｔ１において、動作開始信号と始動周波数ｆ１とを前記制御回路に設定する。その後、その始動周波数ｆ１の逆数の周期Δ１が経過した時刻ｔ１１において、次の目標とする駆動周波数ｆ１１に対応した周期Δ１１をセットし、以降、前回セットした周期Δ１１が経過した時点で、タイマから割込みが発生し、ＣＰＵは次回の周期Δ１２をセットする。このような動作を繰返すことで、ステッピングモータを定常回転の目標周波数ｆ２まで加速する。その目標周波数ｆ２に達した時刻ｔ２以降は、減速を開始する時刻ｔ３まで、ＣＰＵから制御回路へは、駆動周波数の書込みは行われない。
【０００４】
一方、減速時も同様に、前記時刻ｔ３において、次の目標とする駆動周波数ｆ２１に対応した周期Δ２１をセットし、その周期Δ２１が経過した時刻ｔ３１において、タイマから割込みが発生し、ＣＰＵは次回の周期Δ２２をセットする。このような動作を繰返すことで、ステッピングモータを停止周波数ｆ３まで減速する。その停止周波数ｆ３に達した時刻ｔ４で、ステッピングモータへの通電が停止され、該ステッピングモータは停止する。
【０００５】
したがって、上述のような従来技術では、加減速制御中、ＣＰＵは頻繁に制御回路にレジスタ設定を行なわなければならず、この間ＣＰＵは他の処理を行なうことが困難となる。たとえば、前記目標周波数ｆ２は数十ｋＨｚであり、始動周波数ｆ１および停止周波数ｆ３は数百Ｈｚであり、速度制御のステップ数は２００にも及ぶ。また、割込みを発生して制御回路にレジスタ設定を行なわなければならないタイミングで、常にＣＰＵが空いているとは限らず、正しい制御が行えない場合がある。特にカラー複写機では、各色のドラム等、複数のモータを制御しなければならないので、いつ割込みが発生するか分からず、上記問題が顕著である。
【０００６】
そこでこのような問題を解決する他の従来技術が特許文献１に示されている。その従来技術によれば、前記制御回路に演算素子と記憶素子とを備え、パルス信号の発生タイミングを漸化式で計算することで、パルスレートを予め記憶しておくＲＡＭを削減するようにしたステッピングモータコントローラが示されている。
【特許文献１】特開平７−１６３１９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の従来技術では、ＣＰＵが行っていた回転速度（駆動周波数）の制御回路への書込みを、専用のＡＳＩＣ（Application Specific Integrated Circuit）に行わせることでＣＰＵの負担を軽減している。しかしながら、回転速度（駆動周波数）から、次回のパルス信号の出力周期を求めるには、逆数演算が必要になり、除算回路を用いている。したがって、回路規模が大きくなるという問題がある。
【０００８】
本発明の目的は、ステッピングモータの制御を行うにあたって、回路規模を縮小することができるモータ制御回路およびそれを用いる画像形成装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明のモータ制御回路は、ＣＰＵからの動作指示に応答して、パルス信号によりステッピングモータを駆動するモータ制御回路において、前記ステッピングモータの速度変化開始時点での前記パルス信号の周波数および速度変化終了時点での周波数ならびにそれらの時点間の前記パルス信号周波数の時間に対する傾きが前記ＣＰＵから設定されるレジスタと、前記ＣＰＵからの動作開始信号が入力されるとカウント動作を開始するカウンタと、前記カウンタによってカウントされる前記速度変化開始時点からの累積時間に基づいて、前記レジスタの設定値から、次タイミングで設定すべき駆動周波数を演算する第１の演算手段と、前記第１の演算手段で求めた駆動周波数の逆数演算によって駆動周期を求めるにあたって、逆数を乗算に近似する漸化式を用い、かつその漸化式の初期値を２ｘ（ｘは正の整数）で近似する第２の演算手段と、前記第２の演算手段による演算結果の駆動周期のタイミングで前記パルス信号を出力するパルス発生手段とを含むことを特徴とする。
【００１０】
上記の構成によれば、ステッピングモータの回転速度を漸増・漸減させる制御を行うにあたって、回路内部で加減速時のパルス周期Ｐｎ（ｎは演算回数を示す変数）を決定できる第１および第２の演算手段を用いることで、ＣＰＵは、動作開始信号とともに、ステッピングモータの速度変化開始時点での前記パルス信号の駆動周波数ｆ１および速度変化終了時点での駆動周波数ｆ２ならびにそれらの時点間の前記パルス信号周波数の時間に対する傾きＡを一旦出力すればよく、各パラメータがレジスタに設定されると、第１の演算手段で求めた次タイミングで設定すべき駆動周波数から第２の演算手段が次のパルス周期Ｐｉ＋１（ｉはタイミングを示す変数）を演算し、前回のパルス信号の出力時点から前記周期Ｐｉ＋１が経過すると、パルス発生手段から次のパルスを出力させる。したがって、ステッピングモータの速度を変化させるにあたって、加減速時の周期計算、設定を専用回路で行うことで、ＣＰＵの負担を大幅に軽減することができる。
【００１１】
また、前記第２の演算手段は、次タイミングで設定すべき駆動周波数ｆから、逆数演算によって、それに対応した周期Ｐｉ＋１を求めるにあたって、逆数を乗算に近似する漸化式を用い、かつその漸化式の初期値を２ｘで近似する。ｘは正の整数であり、シフト演算で実現することができ、ステッピングモータの速度を変化させるにあたって、所望とする駆動周波数ｆからパルス信号の周期Ｐｉ＋１を求める逆数演算を行うにあたって、除算回路を用いることはなく、回路規模を縮小することができる。
【００１２】
また、本発明のモータ制御回路は、前記第２の演算手段における前記漸化式の乗算回数が、外部から設定可能であることを特徴とする。
【００１３】
上記の構成によれば、第２の演算手段における前記漸化式の乗算回数、したがって乗算精度を、ユーザなどが外部から設定可能に構成されており、低速回転の用途では前記乗算回数を多くして乗算精度を高め、高速回転の用途では前記乗算回数を少なくして計算時間を短縮し、その高速回転に対応できる構成とする。こうして、同じ制御回路を使用しても、計算設定をユーザブルに変更でき、異なる用途に使用することができ、また動作周波数の変更にも対応することができる。
【００１４】
さらにまた、本発明の画像形成装置は、前記のモータ制御回路を用いることを特徴とする。
【００１５】
上記の構成によれば、画像形成装置では、多くのステッピングモータが搭載されるので、ＣＰＵで前記パルス信号の周期Ｐｉ＋１を制御していたのでは、ＣＰＵが必要なときに空いているかどうか分からず、またいつ割込みが発生するか分からないので、該ＣＰＵがステッピングモータの速度変化開始時点でのパルス信号の周波数ｆ１および速度変化終了時点での周波数ｆ２ならびにそれらの時点間のパルス信号周波数の時間に対する傾きＡを一旦設定すれば、ステッピングモータの回転速度を自動的に制御する該モータ制御回路は、画像形成装置のモータ制御回路に好適である。
【発明の効果】
【００１６】
本発明のモータ制御回路は、以上のように、ＣＰＵからの動作指示に応答して、パルス信号によりステッピングモータを駆動するモータ制御回路において、ステッピングモータの回転速度を漸増・漸減させる制御を行うにあたって、回路内部で加減速時のパルス周期を決定できる第１および第２の演算手段を用いることで、ＣＰＵは、動作開始信号とともに、ステッピングモータの速度変化開始時点での前記パルス信号の駆動周波数および速度変化終了時点での駆動周波数ならびにそれらの時点間の前記パルス信号周波数の時間に対する傾きを一旦出力すればよく、各パラメータがレジスタに設定されると、第１の演算手段で求めた次タイミングで設定すべき駆動周波数から第２の演算手段が次のパルス周期を演算し、前回のパルス信号の出力時点から前記周期が経過すると、パルス発生手段から次のパルスを出力させる。
【００１７】
それゆえ、ステッピングモータの速度を変化させるにあたって、加減速時の周期計算、設定を専用回路で行うことで、ＣＰＵの負担を大幅に軽減することができる。また、前記演算手段は、次タイミングで設定すべき駆動周波数から、逆数演算によってそれに対応した周期を求めるにあたって、逆数を乗算に近似する漸化式を用い、かつその漸化式の初期値を２ｘで近似するので、除算回路を用いることはなく、回路規模を縮小することもできる。
【００１８】
さらにまた、本発明の画像形成装置は、以上のように、前記のモータ制御回路を用いる。
【００１９】
それゆえ、画像形成装置では、多くのステッピングモータが搭載されるので、本発明が特に好適である。
【発明を実施するための最良の形態】
【００２０】
［実施の形態１］
図１は、本発明の実施の一形態に係るモータ制御回路１の電気的構成を示すブロック図である。このモータ制御回路１は、ＣＰＵ２からの動作指示に応答してパルス信号を出力し、そのパルス信号がＦＥＴなどのパワー素子を備えて成るモータドライバ３で振幅が増幅されてステッピングモータ４に与えられることで、該ステッピングモータ４を駆動する。
【００２１】
このモータ制御回路１は、レジスタ１１，１２と、乗算器１３と、カウンタ１４と、比較器１５と、演算器１６と、カウンタ１７と、加算器１８と、比較器１９と、クロック生成器２０とを備えて構成される。前記乗算器１３およびカウンタ１４は、第１の演算手段を構成し、前記比較器１５、演算器１６、カウンタ１７および加算器１８は、第２の演算手段を構成し、前記比較器１９およびクロック生成器２０は、パルス発生手段を構成する。
【００２２】
以下には、加速時のモータ制御回路１の動作について説明する。図２は、その動作を説明するためのフローチャートである。この場合、先ず前記レジスタ１１には、ステップＳ１において、ＣＰＵ２から、ステッピングモータ４の定常回転時におけるパルス信号の目標周波数ｆ２が設定され、前記レジスタ１２には、ＣＰＵ２から、ステッピングモータ４の始動時におけるパルス信号の周波数ｆ１およびその始動時周波数ｆ１から前記目標周波数ｆ２までの傾きＡが設定される。
【００２３】
前記カウンタ１４は、ステップＳ２において、前記ＣＰＵ２から動作開始信号が入力されるまで待機し、入力されると、ステップＳ３で外部からの基準クロック２１を用いてカウント動作を開始し、その動作開始時点からの累積時間ｔをカウントする。乗算器１３は、ステップＳ４で、その累積時間ｔから、下式に従って、次に設定すべき周波数ｆを求める。
【００２４】
ｆ＝Ａｔ＋ｆ１
次に、ステップＳ５において、１／ｆを計算し、周期、すなわち次のパルス信号の出力タイミングを求めることになるが、それには、本発明では、下式で示すような、ニュートン法と呼ばれる逆数を乗算に近似する漸化式が用いられる。
【００２５】
Ｐｎ＋１＝２×Ｐｎ＋ｆ×Ｐｎ２
ただし、ｎは演算回数を示す変数で、ｎ＝０，１，２，・・・，Ｎであり、Ｐｎは前回の演算で求めた周期を示し、Ｐｎ＋１は今回の演算で求める周期を示す。
【００２６】
その近似演算にあたって、先ず比較器１５で、初期値Ｐ０が、
１／ｆ≒１／２ｘ
から求められる。ここで、１／２ｘの演算は除算になるが、ｘは正の整数であり、比較器１５において、データをｘ回右シフトすればよい。
【００２７】
次に、たとえば１６ビットのその初期値Ｐ０が前記演算器１６に与えられ、乗算器１６ａにおいて、上位８ビットで、
Ｐ１＝２×Ｐ０＋ｆ×Ｐ０２
が計算される。その値Ｐ１の上位８ビットがＰ１＞Ｐ０となったら、乗算器１６ｂにおいて、次の下位８ビットについて同様の計算が行われる。
【００２８】
同様に、その値Ｐ１を初期値として、演算器１６は、
Ｐ２＝２×Ｐ１＋ｆ×Ｐ１２
Ｐ３＝２×Ｐ２＋ｆ×Ｐ２２
Ｐ４＝２×Ｐ３＋ｆ×Ｐ３２
以降同様の演算を、前記ステップＳ５からＳ６で繰返す。その繰返し回数Ｎは、前記カウンタ１７に、ユーザなどによって予め設定可能である。
【００２９】
こうして、前記累積時間ｔに対応した周波数ｆの逆数である周期ＰＮを求めることができる。求められた周期ＰＮのデータは、ステップＳ７において、加算器１８で、上位８ビットに下位８ビットが加算されてフルビットのデータとなり、今回の駆動周期Ｐｉ（ｉはタイミングを示す変数）として、クロック生成器２０にセットされる。ステップＳ８では、その周期ＰＮでモータドライバ３を介してステッピングモータ４にパルス信号が与えられる。なお、前記パルス信号のデューティは、５０％に設定されており、その場合、充分速い基準クロック２１を分周して前記パルス信号を作成するクロック生成器２０は、パルスを立ち上げた時点からカウントを開始し、設定された周期ＰＮのデータを右に１ビットシフトした値にカウント値が達した時点でパルスを立ち下げれば、前記５０％デューティのパルス信号を作成することができる。
【００３０】
また、前記加算器１８からの周期ＰＮのデータは、比較器１９にもセットされる。比較器１９では、ステップＳ９において、前記加算器１８からの周期ＰＮを、前記レジスタ１１にセットされた目標周波数ｆ２の周期１／ｆ２と比較し、ＰＮ≦１／ｆ２となればステップＳ１０に移り、以降は、ステップＳ１１でＣＰＵ２から指示があるまで、その周期ＰＮで固定してクロック生成器２０にパルス信号を作成させ、定常回転を継続し、指示があると前記ステップＳ１に戻る。一方、前記ステップＳ９において、加算器１８からの周期ＰＮが、ＰＮ≦１／ｆ２となっていなければ、未だ目標周波数ｆ２に達しておらず、前記ステップＳ４に戻って、乗算器１３に次の周波数ｆを求めさせ、演算器１６にそれに対応した次の駆動周期Ｐｉ＋１を求めさせる。
【００３１】
なお、前記ステップＳ１において、ＣＰＵ２からレジスタ１１に目標周波数ｆ２が設定されると、前記ステップＳ９での比較のために、前記開始信号が入力されるまでの間、もしくは別ルーチンで、前記ステップＳ５およびＳ６と同様のステップＳ５ａおよびＳ６ａにおいて、前記ニュートン法によって１／ｆ２の周期が求められる。すなわち、比較器１５ａで、初期値Ｐ０が、
１／ｆ２≒１／２ｘ
から求められ、前記演算器１６において、
Ｐ１＝２×Ｐ０＋ｆ２×Ｐ０２
Ｐ２＝２×Ｐ１＋ｆ２×Ｐ１２
Ｐ３＝２×Ｐ２＋ｆ２×Ｐ２２
Ｐ４＝２×Ｐ３＋ｆ２×Ｐ３２
以降同様の演算が行われ、求められた周期ＰＮのデータは、ステップＳ７ａにおいて、加算器１８でフルビットのデータとなり、前記比較器１９に予めセットされる。
【００３２】
同様に、減速を開始する際には、前記レジスタ１１には、ＣＰＵ２から、ステッピングモータ４の減速開始時の周波数である前記目標周波数ｆ２が設定され、前記レジスタ１２には、ステッピングモータ４の停止時におけるパルス信号の周波数ｆ３およびその停止時周波数ｆ３から前記目標周波数ｆ２までの傾き−Ａ’が設定され、動作開始信号が入力されると、下式に従って減速を開始する。
【００３３】
ｆ＝ｆ２−Ａ’ｔ
また、ＣＰＵ２は、現在までの出力パルス数を前記クロック生成器２０からモニタしており、また前記加算器１８から周期ＰＮの設定値をモニタしており、負荷状態などに応じて、周期ＰＮの設定値の変更を動作途中に行うことも可能である。
【００３４】
このように構成することで、ステッピングモータ４の回転速度を漸増・漸減させる制御を行うにあたって、回路内部で加減速時のパルス周期Ｐｉを決定できるモータ制御回路１を用いることで、ＣＰＵ２は、動作開始信号とともに、ステッピングモータ４の速度変化開始時点での前記パルス信号の駆動周波数ｆ１および速度変化終了時点での駆動周波数ｆ２ならびにそれらの時点間の前記パルス信号周波数の時間に対する傾きＡを一旦出力すればよく、各パラメータがレジスタ１１，１２に設定されると、演算器１６が次々にパルス周期Ｐｉを演算し、前回のパルス信号の出力時点から前記周期Ｐｉが経過すると、クロック生成器２０から次のパルスを出力させるので、ステッピングモータ４の回転速度を変化させるにあたって、加減速時の周期計算、設定を専用回路で行うことで、ＣＰＵ２の負担を大幅に軽減することができる。
【００３５】
また、前記第２の演算手段を構成する演算器１６は、次タイミングで設定すべき駆動周波数ｆから、逆数演算によって、それに対応した周期Ｐｉ＋１を求めるにあたって、逆数を乗算に近似する漸化式を用い、かつその漸化式の初期値を２ｘで近似するので、前記逆数演算を行うにあたって、除算回路を用いることはなく、回路規模を縮小することができる。
【００３６】
さらにまた、前記演算器１６における前記漸化式の乗算回数Ｎを、ユーザなどが外部から設定可能とすることで、低速回転の用途では前記乗算回数Ｎを多くして乗算精度を高め、高速回転の用途では前記乗算回数Ｎを少なくして計算時間を短縮し、その高速回転に対応できる構成として、同じモータ制御回路１を使用しても、計算設定をユーザブルに変更でき、異なる用途に使用することができ、また動作周波数の変更にも対応することができるようになる。
【００３７】
なお、ステッピングモータ４の実際の回転速度（単位時間当りの回転数）は、パルス信号の駆動周波数ｆから、モータの極数や相数等を用いて一義的に定められる。
【００３８】
図３は、上述のように構成されるモータ制御回路１の一使用例である画像形成装置３１の構造を簡略化して示す断面図である。この画像形成装置３１は、電子写真方式のフルカラーのプリンタとして構成されており、ブラック（Ｂ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）の各色の画像形成ステーションを有し、搬送ベルト３２に載置された記録紙が、各画像形成ステーションを順に通過することで形成された各色のトナー像を、定着装置３３で定着することでフルカラーの画像形成が行われる。
【００３９】
各色の画像形成ステーションでは、感光体ドラム３４の周囲に、クリーニング装置（図示せず）、帯電器３５、露光器３６、現像装置３７、および転写装置３８などが配置されており、各色の構成には、それぞれの参照符号に各色の記号を付して示す。この画像形成装置３１は、パーソナルコンピュータなどの外部機器からの画像信号に対応した画像形成を行うだけでなく、スキャナが接続されて複写機として構成されてもよく、或いはファクシミリモデムが搭載されてファクシミリとして構成されるなどしてもよい。
【００４０】
このようなフルカラーの画像形成装置３１では、各色の感光体ドラム３４Ｋ，３４Ｃ，３４Ｍ，３４Ｂの駆動源を始めとして、多くのモータが搭載されるので、前記モータ制御回路１を用いることは効果的である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の一形態に係るモータ制御回路の電気的構成を示すブロック図である。
【図２】図１で示すモータ制御回路の加速時の動作を説明するためのフローチャートである。
【図３】図１で示すモータ制御回路の一使用例である画像形成装置の構造を簡略化して示す断面図である。
【図４】ステッピングモータの速度制御の様子を説明するためのグラフである。
【符号の説明】
【００４２】
１    モータ制御回路
２    ＣＰＵ
３    モータドライバ
４    ステッピングモータ
１１，１２    レジスタ
１３    乗算器
１４，１７    カウンタ
１５，１５ａ，１９    比較器
１６    演算器
１８    加算器
２０    クロック生成器
３１    画像形成装置
３４Ｋ，３４Ｃ，３４Ｍ，３４Ｂ    感光体ドラム
【図１】
2006271054.tif 000003
【図２】
2006271054.tif 000004
【図３】
2006271054.tif 000005
【図４】
2006271054.tif 000006