(57)【特許請求の範囲】
【請求項１】
パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置において、
今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第１のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第１のビット数より少ない第２のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶する記憶手段と、
前記記憶手段に記憶されているモータ駆動データを順次読み出すマイクロプロセッサと、  前記マイクロプロセッサにより読み出されたモータ駆動データが実データの場合にはそのまま出力し、符号化データの場合にはその符号化データを複数回分のモータ駆動データに復号化して各データを順次出力する復号化手段と、
前記復号化手段により出力されたモータ駆動データに基づいて前記パルスモータの駆動パルスを発生するパルス発生手段と、
を備えたモータ駆動装置。
【請求項２】
前記符号化データは今回と前回の実データの差分であり、前記復号化手段は、今回の符号化データと前回の実データに基づいて今回の実データに復号化することを特徴とする請求項１記載のモータ駆動装置。
【請求項３】
前記復号化手段の回路と画像形成装置の制御回路が共通のＬＳＩで構成されていることを特徴とする請求項１または２記載のモータ駆動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置に関し、特に複写機、プリンタ、ファクシミリ等の画像形成装置に好適なモータ駆動装置に関する。
【０００２】
【従来の技術】
例えばデジタル複写機では、コンタクトガラス上に原稿がセットされた状態でコピースタートキーが押下されると、スキャナ部がミラー及び光源等を有する走行体（可動部）を駆動源により水平方向に移動させることにより、コンタクトガラス上の原稿の画像面を光走査し、その画像面からの反射光像を上記ミラーを含むミラー及びレンズを介してＣＣＤイメージセンサの受光面に結像させることにより、原稿画像を読み取って画像形成部により転写紙に転写するように構成されている。  ところで、スキャナ部の駆動源としては一般にパルスモータが使用されている。このパルスモータは周知の如く、駆動パルスに同期した相励磁信号をモータ駆動手段に印加することにより回転し、このパルスモータを自起動周波数以上で回転させるためには、スルーアップ制御やスルーダウン制御を必要とする。そして、これらの制御を、装置全体を統括的に制御するマイクロプロセッサにより行うと、マイクロプロセッサの負担が大きくなるので、特に複写機のパルスモータ制御以外の他の制御処理を並行して行う場合に、パルスモータの駆動パルスの周波数をあまり大きくすることができなくなり、したがって、上述したような複写機では処理速度を高速化することができない。  そこで、従来例としては例えば特開昭６３−２１２５８０号公報に示すように  、パルスモータのスルーアップ時やスルーダウン時にはモータ駆動データをメモリに予め記憶してこれをマイクロプロセッサが読み出すことにより制御し、定速時にはマイクロプロセッサに併設されたモータ制御手段により制御する方法が提案されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、このような従来の装置では、マイクロプロセッサの負担はパルスモータの定速時には軽減されるが、パルスモータのスルーアップ時やスルーダウン時、特に定速領域の近傍には軽減されないので、パルスモータの回転の十分な高速化は期待できないという問題点がある。また、多くのモータ駆動データをメモリに予め記憶する必要があるので、メモリの容量が増加するという問題点がある。
【０００４】
本発明は上記従来の問題点に鑑み、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができるモータ駆動装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
第１の手段は上記問題点を解決するために、パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置において、今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第１のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第１のビット数より少ない第２のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶する記憶手段と、前記記憶手段に記憶されているモータ駆動データを順次読み出すマイクロプロセッサと、前記マイクロプロセッサにより読み出されたモータ駆動データが実データの場合にはそのまま出力し、符号化データの場合にはその符号化データを複数回分のモータ駆動データに復号化して各データを順次出力する復号化手段と、前記復号化手段により出力されたモータ駆動データに基づいて前記パルスモータの駆動パルスを発生するパルス発生手段とを備えたことを特徴とする。
【０００６】
第２の手段は、第１の手段において符号化データが今回と前回の実データの差分であり、前記復号化手段が、今回の符号化データと前回の実データに基づいて今回の実データに復号化することを特徴とする。
【０００７】
第３の手段は、第１、第２の手段において前記復号化手段の回路と画像形成装置の制御回路が共通のＬＳＩで構成されていることを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１は本発明に係るモータ駆動装置の一実施形態としてデジタル複写機の制御部を示すブロック図、図２は図１のモータ駆動装置のモータ駆動データのフォーマットを示す説明図、図３は図１のステッピングモータ駆動制御部を詳しく示すブロック図、図４は図１のマイクロプロセッサの処理を説明するためのフローチャート、図５は図４のモータ制御部の処理を説明するためのフローチャートである。
【０００９】
図１に示すように、このデジタル複写機の制御部はマイクロプロセッサ１と、ＲＯＭ２と、ＲＡＭ３と、クラッチ類５、モータ類６，センサ類７及びその他の負荷８が接続されるＩＯポート等４と、図３に詳しく示すステッピングモータ駆動制御部９と、ステッピングモータ駆動部１０とステッピングモータ（パルスモータ）１１を有する。ステッピングモータ駆動制御部９はこの複写機の制御回路と共通のＬＳＩで構成されている。
【００１０】
この複写機は不図示の原稿台の副走査方向に移動することにより原稿台上の原稿を露光走査する光学系を有し、ステッピングモータ１１はこの光学系を駆動する。ＲＯＭ２には予め、図２に示すようにこのステッピングモータ１１に印加される一連のパルス周期に対応する１６ビットのモータ駆動データが記憶されている。そして、マイクロプロセッサ１がこのモータ駆動データをＲＯＭ２から読み出してステッピングモータ駆動制御部９に出力し、ステッピングモータ駆動制御部９はこのモータ駆動データに対応する周期のパルスを発生し、ステッピングモータ駆動部１０はこのパルスに基づいてパルスモータ１１を駆動する。
【００１１】
ここで、複写機の原稿読み取り用スキャナを駆動するパルスモータ１１に対して一連のパルス周期に対応して印加されるモータ駆動データとしては、１６ビットデータが多く使用されている。この場合、スルーアップ時とスルーダウン時の定速領域では、急激な加速度変化によるパルスモータ１１の脱調の防止するために加速度を小さくすることが一般的である。このため、この領域における速度変化は非常に小さく、ｎ番目のデータとｎ＋１番目のデータの差は、１０進表記では「０」〜「３」となり、したがって、速度変化分を２ビットで表すことができる。また、スルーアップ時の概ね前半とスルーダウン時の概ね後半における速度変化は３ビットで表すことができる。  図２（ａ）〜（ｃ）はこの１６ビットデータのフォーマットを示している。図２（ａ）に示すフォーマットでは、スルーアップ時の概ね前半とスルーダウン時の概ね後半における速度変化を３ビットで表すために、ＭＳＢ側２ビットが「１０」のときには下位１４ビットが符号化データであり、ＬＳＢ側１２ビットにより１つの符号が３ビット、合計４符号ＣＯＤＥ３、ＣＯＤＥ２、ＣＯＤＥ１、ＣＯＤＥ０を表す（２ビットは不使用）。
【００１２】
図２（ｂ）に示すフォーマットでは、スルーアップ時とスルーダウン時の定速領域を２ビットで表すために、ＭＳＢ側２ビットが「１１」のときには下位１４ビットが符号化データであり、ＬＳＢ側１４ビットにより１つの符号が２ビット、合計７符号ＣＯＤＥ６〜ＣＯＤＥ０を表す。図２（ｃ）に示すフォーマットでは、ＭＳＢが「１」のときには下位１５ビットが実データを表す。そして、ＲＯＭ２には予めこの１６ビットのモータ駆動データが記憶されている。
【００１３】
次に図３を参照してステッピングモータ駆動制御部９の構成について説明する。データＲＥＧ２１にはマイクロプロセッサ１からの１６ビットのモータ駆動データＲＥＧ［１５：０］が書き込まれ、ベースＲＥＧ２５には実データである１５ビットのモータ駆動データＲＥＧ［１４：０］が書き込まれる。そして、セレクタ２２はモータ制御部２０からの２ビットのデータセレクト信号「１」に基づいて、データＲＥＧ２１からの１２ビットのモータ駆動データＲＥＧ［１１：０］から３ビットデータ
ＲＥＧ［１１：９］（＝ＣＯＤＥ３）、
ＲＥＧ［８：６］（＝ＣＯＤＥ２）、
ＲＥＧ［５：３］（＝ＣＯＤＥ１）、
ＲＥＧ［２：０］（＝ＣＯＤＥ０）
の１つを選択してセレクタ２６に出力する。
【００１４】
また、セレクタ２３はモータ制御部２０からの３ビットのデータセレクト信号「２」に基づいて、データＲＥＧ２１からの１４ビットのモータ駆動データＲＥＧ［１３：０］から２ビットデータ  ＲＥＧ［１３：１２］（＝ＣＯＤＥ６）、
ＲＥＧ［１１：１０］（＝ＣＯＤＥ５）、
ＲＥＧ［９：８］（＝ＣＯＤＥ４）、
ＲＥＧ［７：６］（＝ＣＯＤＥ３）、
ＲＥＧ［５：４］（＝ＣＯＤＥ２）、
ＲＥＧ［３：２］（＝ＣＯＤＥ１）、
ＲＥＧ［１：０］（＝ＣＯＤＥ０）
の１つを選択してセレクタ２６に出力する。
【００１５】
次いで、セレクタ２６はデータＲＥＧ２１内のデータＲＥＧ［１４］に基づいてセレクタ２２又は２３の出力を選択して加算／減算器（＋／−）２７に出力する。加算／減算器２７はモータ制御部２０からの加算／減算セレクト信号Ｃに基づいて、ベースＲＥＧ２５内の１５ビットのモータ駆動データＲＥＧ［１４：０］に対して、セレクタ２６により選択されたデータを加算又は減算し、その結果をセレクタ２４、２８に出力する。セレクタ２４はモータ制御部２０からのセレクト信号Ｂに基づいて、データＲＥＧ２１内の１５ビットのモータ駆動データＲＥＧ［１４：０］又は加算／減算器２６の演算結果を選択してベースＲＥＧ２５に出力する。
【００１６】
ベースＲＥＧ２５内の１５ビットのモータ駆動データＲＥＧ［１４：０］は、モータ制御部２０からのベースＲＥＧ転送信号により加算／減算器２６とセレクタ２８に転送される。セレクタ２８はモータ制御部２０からのセレクト信号Ｄに基づいて、加算／減算器２７の演算結果又はベースＲＥＧ２５からのデータを選択してＰ／Ｇ（パルスジェネレータ）２９に転送する。Ｐ／Ｇ２９はこの下位１５ビットデータ［１４］〜［０］に基づいて、ステッピングモータ１１の駆動パルスに同期した相励磁信号φＡ、φ／Ａ（“／”はここでは逆相を示す。）φＢ、φ／Ｂを図１に示すステッピングモータ駆動部１０に送り、また、次のデータの要求信号Ｅをモータ制御部２０に送る。これにより、ステッピングモータ駆動部１０はこの相励磁信号φＡ、φ／Ａ、φＢ、φ／Ｂに基づいてステッピングモータ１１を回転させる。ここで、セレクタ２２、２３、２６と加算／減算器２７は復号化部３０を構成している。  次に、図４、図５を参照してマイクロプロセッサ１とモータ制御部２０の処理を説明する。先ず、マイクロプロセッサ１がモータ制御部２０に対してスタート信号をアクティブ（＝１）にすると（図４：ステップＳ１、図５：ステップＳ１１）、モータ制御部２０はマイクロプロセッサ１に対してデータ要求信号をアクティブにする（図５：ステップＳ１２）。マイクロプロセッサ１はデータ要求信号がアクティブになると（図４：ステップＳ２）、ＲＯＭ２内の１６ビットのモータ駆動データを読み出してＣＰＵデータバスを介してデータＲＥＧ（レジスタ）２１に書き込む（図４：ステップＳ３）。マイクロプロセッサ１はまた、この書き込みが終了すると、ＲＯＭ２内のモータ駆動データがまだ有るか否かを判断し（図４：ステップＳ４）、有る場合にはステップＳ２に戻ってデータ要求信号がアクティブになると次の１６ビットのモータ駆動データを転送し、他方、ない場合にはスタート信号を非アクティブ（＝０）にし、この処理を終了する。
【００１７】
モータ制御部２０はデータＲＥＧ２１に書き込まれた１６ビットのモータ駆動データＲＥＧ［１５］〜［０］の内、ＭＳＢ側２ビットデータＲＥＧ［１５］、［１４］に基づいて、ＭＳＢデータＲＥＧ［１５］が「０」の場合には下位１５ビットが実データと判断し（図５：ステップＳ１３、Ｓ１４）、その下位１５ビットデータ［１４］〜［０］を、セレクト信号Ｂをセレクタ２４に出力することによりベースＲＥＧ２５に転送し（図５：ステップＳ１５）、次いでセレクト信号Ｄをセレクタ２８に出力することによりＰ／Ｇ２９に転送する（図５：ステップＳ１６）。次いでステップＳ１７において、マイクロプロセッサ１からのスタート信号がアクティブ（＝１）の場合にはステップＳ１２に戻り、他方、アクティブ（＝１）でない場合にはこの処理を終了する。
【００１８】
また、モータ制御部２０はＭＳＢデータＲＥＧ［１５］が「１」であって（図５：ステップＳ１４）、その下位ビットデータＲＥＧ［１４］が「０」のとき（図５：ステップＳ１８）には以下のような処理を行う。ここで、マイクロプロセッサ１からモータ制御部２０に対する加速信号がアクティブ（＝１）の場合にはそのデータはステッピングモータ１１の加速用の符号データを示し、また、下位３ビット×４のデータＣＯＤＥ３〜ＣＯＤＥ０は直前の実データとの差分を示している。  そこで、加速信号＝１の場合（図５：ステップＳ１９）には、モータ制御部２０は先ず、データセレクト信号ｉ＝０（データセレクト信号ｉはデータセレクト信号「１」）にリセットし（図５：ステップＳ２０）、次いでデータＲＥＧ２１に書き込まれた１６ビットのモータ駆動データＲＥＧ［１５］〜［０］の内、ＬＳＢ側３ビットデータＲＥＧ［２：０］（＝ＣＯＤＥ０）が加算／減算器２７に転送されるようにデータセレクト信号ｉをセレクタ２２に出力し、また、減算信号Ｃを加算／減算器２７に出力することによりベースＲＥＧ２５の値から３ビットデータＲＥＧ［２：０］を減算し（図５：ステップＳ２１）、次いでこの減算結果が選択されてベースＲＥＧ２５、Ｐ／Ｇ２９に転送されるようにそれぞれセレクト信号Ｂ、Ｄをセレクタ２４、２８に送る（図５：ステップＳ２２）。
【００１９】
次いでモータ制御部２０はＰ／Ｇ２９からの符号化データ要求信号Ｅが送られてくると、データセレクト信号ｉをインクリメントして上記の処理を４回繰り返すことにより４つの符号化データを復号化する（図５：ステップＳ２３、Ｓ２４）。次いでマイクロプロセッサ１からのスタート信号がアクティブ（＝１）の場合にはステップＳ１２に戻り、他方、アクティブ（＝１）でない場合にはこの処理を終了する。
【００２０】
また、マイクロプロセッサ１からモータ制御部２０に対する加速信号が非アクティブ（＝０）の場合にはそのデータはステッピングモータ１１の減速用の符号データを示し、また、同様に下位３ビット×４のデータＣＯＤＥ３〜ＣＯＤＥ０は直前の実データとの差分を示している。
【００２１】
そこで、加速信号＝０の場合（図５：ステップＳ１９）には、モータ制御部２０は先ず、データセレクト信号ｉ＝０にリセットし（図５：ステップＳ２６）、次いでデータＲＥＧ２１に書き込まれた１６ビットのモータ駆動データＲＥＧ［１５］〜［０］の内、ＬＳＢ側３ビットデータＲＥＧ［２：０］（＝ＣＯＤＥ０）が加算／減算器２７に転送されるようにデータセレクト信号ｉをセレクタ２２に出力し、また、加算信号Ｃを加算／減算器２７に出力することによりベースＲＥＧ２５の値に３ビットデータＲＥＧ［２：０］を加算し（図５：ステップＳ２７）、次いでこの加算結果が選択されてベースＲＥＧ２５、Ｐ／Ｇ２９に転送されるようにセレクト信号Ｂ、Ｄをセレクタ２４、２８に送る（図５：ステップＳ２８）。
【００２２】
次いでモータ制御部２０はＰ／Ｇ２９からの符号化データ要求信号Ｅが送られてくると、データセレクト信号ｉをインクリメントして上記の処理を４回繰り返す（図５：ステップＳ２９、Ｓ３０）。次いでマイクロプロセッサ１からのスタート信号がアクティブ（＝１）の場合にはステップＳ１２に戻り、他方、アクティブ（＝１）でない場合にはこの処理を終了する。
【００２３】
また、モータ制御部２０はＭＳＢデータＲＥＧ［１５］が「１」であって（図５：ステップＳ１４）、その下位データＲＥＧ［１４］が「０」でないとき（図５：ステップＳ１８）にはステップＳ３２〜Ｓ４４に示すような処理を行う。先ず、加速信号＝１の場合（図５：ステップＳ３２）には、モータ制御部２０は先ず、データセレクト信号ｊ＝０（データセレクト信号ｊはデータセレクト信号「２」）にリセットし（図５：ステップＳ３３）、次いでデータＲＥＧ２１に書き込まれた１６ビットのモータ駆動データＲＥＧ［１５］〜［０］の内、ＬＳＢ側２ビットデータＲＥＧ［１：０］（＝ＣＯＤＥ０）が加算／減算器２７に転送されるようにデータセレクト信号ｊをセレクタ２２に出力し、また、減算信号Ｃを加算／減算器２７に出力することによりベースＲＥＧ２５の値から２ビットデータＲＥＧ［１：０］を減算し（図５：ステップＳ３４）、次いでこの減算結果が選択されてベースＲＥＧ２５、Ｐ／Ｇ２９に転送されるようにセレクト信号Ｂ、Ｄをセレクタ２４、２８に送る（図５：ステップＳ３５）。
【００２４】
次いでモータ制御部２０はＰ／Ｇ２９からの符号化データ要求信号Ｅが送られてくると、データセレクト信号ｊをインクリメントして上記の処理を７回繰り返すことにより７つの符号化データを復号化する（図５：ステップＳ３６、Ｓ３７）。次いでマイクロプロセッサ１からのスタート信号がアクティブ（＝１）の場合にはステップＳ１２に戻り、他方、アクティブ（＝１）でない場合にはこの処理を終了する。
【００２５】
また、加速信号＝０の場合（図５：ステップＳ３２）には、モータ制御部２０は先ず、データセレクト信号ｊ＝０にリセットし（図５：ステップＳ３９）、次いでデータＲＥＧ２１に書き込まれた１６ビットのモータ駆動データＲＥＧ［１５］〜［０］の内、ＬＳＢ側２ビットデータＲＥＧ［１：０］（＝ＣＯＤＥ０）が加算／減算器２７に転送されるようにデータセレクト信号ｊをセレクタ２２に出力し、また、加算信号Ｃを加算／減算器２７に出力することによりベースＲＥＧ２５の値に２ビットデータＲＥＧ［１：０］を加算し（図５：ステップＳ４０）、次いでこの加算結果が選択されてベースＲＥＧ２５、Ｐ／Ｇ２９に転送されるようにセレクト信号Ｂ、Ｄをセレクタ２４、２８に送る（図５：ステップＳ４１）。
【００２６】
次いでモータ制御部２０はＰ／Ｇ２９からの符号化データ要求信号Ｅが送られてくると、データセレクト信号ｊをインクリメントして上記の処理を７回繰り返す（図５：ステップＳ４２、Ｓ４３）。次いでマイクロプロセッサ１からのスタート信号がアクティブ（＝１）の場合にはステップＳ１２に戻り、他方、アクティブ（＝１）でない場合にはこの処理を終了する。
【００２７】
【発明の効果】
以上説明したように請求項１記載の発明によれば、今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第１のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第１のビット数より少ない第２のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶して、マイクロプロセッサにより読み出された符号化データを復号化するようにしたので、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができる。
【００２８】
請求項２記載の発明によれば、符号化データが今回と前回の実データの差分であり、今回の符号化データと前回の実データに基づいて今回の実データに復号化するので、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができる。
【００２９】
請求項３記載の発明によれば、復号化手段の回路と画像形成装置の制御回路が共通のＬＳＩで構成されているので、複写機などの画像形成装置を小型化、低コスト化することができる。
【図面の簡単な説明】
【図１】本発明に係るモータ駆動装置の一実施形態としてデジタル複写機の制御部を示すブロック図である。
【図２】図１のモータ駆動装置のモータ駆動データのフォーマットを示す説明図である。
【図３】図１のステッピングモータ駆動制御部を詳しく示すブロック図である。
【図４】図１のマイクロプロセッサの処理を説明するためのフローチャートである。
【図５】図４のモータ制御部の処理を説明するためのフローチャートである。
【符号の説明】
１  マイクロプロセッサ
２  ＲＯＭ
１１  ステッピングモータ
２０  データ制御部
３０  復号化部
【図１】
0003628860.tif 000002
【図２】
0003628860.tif 000003
【図３】
0003628860.tif 000004
【図４】
0003628860.tif 000005
【図５】
0003628860.tif 000006