Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3628860B2 - Motor drive device - Google Patents
[go: Go Back, main page]

JP3628860B2 - Motor drive device - Google Patents

Motor drive device Download PDF

Info

Publication number
JP3628860B2
JP3628860B2 JP34663997A JP34663997A JP3628860B2 JP 3628860 B2 JP3628860 B2 JP 3628860B2 JP 34663997 A JP34663997 A JP 34663997A JP 34663997 A JP34663997 A JP 34663997A JP 3628860 B2 JP3628860 B2 JP 3628860B2
Authority
JP
Japan
Prior art keywords
data
motor drive
motor
current
pulse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP34663997A
Other languages
Japanese (ja)
Other versions
JPH11178394A (en
Inventor
秀人 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP34663997A priority Critical patent/JP3628860B2/en
Publication of JPH11178394A publication Critical patent/JPH11178394A/en
Application granted granted Critical
Publication of JP3628860B2 publication Critical patent/JP3628860B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Scanning Arrangements (AREA)
  • Control Of Stepping Motors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置に関し、特に複写機、プリンタ、ファクシミリ等の画像形成装置に好適なモータ駆動装置に関する。
【0002】
【従来の技術】
例えばデジタル複写機では、コンタクトガラス上に原稿がセットされた状態でコピースタートキーが押下されると、スキャナ部がミラー及び光源等を有する走行体(可動部)を駆動源により水平方向に移動させることにより、コンタクトガラス上の原稿の画像面を光走査し、その画像面からの反射光像を上記ミラーを含むミラー及びレンズを介してCCDイメージセンサの受光面に結像させることにより、原稿画像を読み取って画像形成部により転写紙に転写するように構成されている。 ところで、スキャナ部の駆動源としては一般にパルスモータが使用されている。このパルスモータは周知の如く、駆動パルスに同期した相励磁信号をモータ駆動手段に印加することにより回転し、このパルスモータを自起動周波数以上で回転させるためには、スルーアップ制御やスルーダウン制御を必要とする。そして、これらの制御を、装置全体を統括的に制御するマイクロプロセッサにより行うと、マイクロプロセッサの負担が大きくなるので、特に複写機のパルスモータ制御以外の他の制御処理を並行して行う場合に、パルスモータの駆動パルスの周波数をあまり大きくすることができなくなり、したがって、上述したような複写機では処理速度を高速化することができない。 そこで、従来例としては例えば特開昭63−212580号公報に示すように 、パルスモータのスルーアップ時やスルーダウン時にはモータ駆動データをメモリに予め記憶してこれをマイクロプロセッサが読み出すことにより制御し、定速時にはマイクロプロセッサに併設されたモータ制御手段により制御する方法が提案されている。
【0003】
【発明が解決しようとする課題】
しかしながら、このような従来の装置では、マイクロプロセッサの負担はパルスモータの定速時には軽減されるが、パルスモータのスルーアップ時やスルーダウン時、特に定速領域の近傍には軽減されないので、パルスモータの回転の十分な高速化は期待できないという問題点がある。また、多くのモータ駆動データをメモリに予め記憶する必要があるので、メモリの容量が増加するという問題点がある。
【0004】
本発明は上記従来の問題点に鑑み、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができるモータ駆動装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
第1の手段は上記問題点を解決するために、パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置において、今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第1のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第1のビット数より少ない第2のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶する記憶手段と、前記記憶手段に記憶されているモータ駆動データを順次読み出すマイクロプロセッサと、前記マイクロプロセッサにより読み出されたモータ駆動データが実データの場合にはそのまま出力し、符号化データの場合にはその符号化データを複数回分のモータ駆動データに復号化して各データを順次出力する復号化手段と、前記復号化手段により出力されたモータ駆動データに基づいて前記パルスモータの駆動パルスを発生するパルス発生手段とを備えたことを特徴とする。
【0006】
第2の手段は、第1の手段において符号化データが今回と前回の実データの差分であり、前記復号化手段が、今回の符号化データと前回の実データに基づいて今回の実データに復号化することを特徴とする。
【0007】
第3の手段は、第1、第2の手段において前記復号化手段の回路と画像形成装置の制御回路が共通のLSIで構成されていることを特徴とする。
【0008】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図1は本発明に係るモータ駆動装置の一実施形態としてデジタル複写機の制御部を示すブロック図、図2は図1のモータ駆動装置のモータ駆動データのフォーマットを示す説明図、図3は図1のステッピングモータ駆動制御部を詳しく示すブロック図、図4は図1のマイクロプロセッサの処理を説明するためのフローチャート、図5は図4のモータ制御部の処理を説明するためのフローチャートである。
【0009】
図1に示すように、このデジタル複写機の制御部はマイクロプロセッサ1と、ROM2と、RAM3と、クラッチ類5、モータ類6,センサ類7及びその他の負荷8が接続されるIOポート等4と、図3に詳しく示すステッピングモータ駆動制御部9と、ステッピングモータ駆動部10とステッピングモータ(パルスモータ)11を有する。ステッピングモータ駆動制御部9はこの複写機の制御回路と共通のLSIで構成されている。
【0010】
この複写機は不図示の原稿台の副走査方向に移動することにより原稿台上の原稿を露光走査する光学系を有し、ステッピングモータ11はこの光学系を駆動する。ROM2には予め、図2に示すようにこのステッピングモータ11に印加される一連のパルス周期に対応する16ビットのモータ駆動データが記憶されている。そして、マイクロプロセッサ1がこのモータ駆動データをROM2から読み出してステッピングモータ駆動制御部9に出力し、ステッピングモータ駆動制御部9はこのモータ駆動データに対応する周期のパルスを発生し、ステッピングモータ駆動部10はこのパルスに基づいてパルスモータ11を駆動する。
【0011】
ここで、複写機の原稿読み取り用スキャナを駆動するパルスモータ11に対して一連のパルス周期に対応して印加されるモータ駆動データとしては、16ビットデータが多く使用されている。この場合、スルーアップ時とスルーダウン時の定速領域では、急激な加速度変化によるパルスモータ11の脱調の防止するために加速度を小さくすることが一般的である。このため、この領域における速度変化は非常に小さく、n番目のデータとn+1番目のデータの差は、10進表記では「0」〜「3」となり、したがって、速度変化分を2ビットで表すことができる。また、スルーアップ時の概ね前半とスルーダウン時の概ね後半における速度変化は3ビットで表すことができる。 図2(a)〜(c)はこの16ビットデータのフォーマットを示している。図2(a)に示すフォーマットでは、スルーアップ時の概ね前半とスルーダウン時の概ね後半における速度変化を3ビットで表すために、MSB側2ビットが「10」のときには下位14ビットが符号化データであり、LSB側12ビットにより1つの符号が3ビット、合計4符号CODE3、CODE2、CODE1、CODE0を表す(2ビットは不使用)。
【0012】
図2(b)に示すフォーマットでは、スルーアップ時とスルーダウン時の定速領域を2ビットで表すために、MSB側2ビットが「11」のときには下位14ビットが符号化データであり、LSB側14ビットにより1つの符号が2ビット、合計7符号CODE6〜CODE0を表す。図2(c)に示すフォーマットでは、MSBが「1」のときには下位15ビットが実データを表す。そして、ROM2には予めこの16ビットのモータ駆動データが記憶されている。
【0013】
次に図3を参照してステッピングモータ駆動制御部9の構成について説明する。データREG21にはマイクロプロセッサ1からの16ビットのモータ駆動データREG[15:0]が書き込まれ、ベースREG25には実データである15ビットのモータ駆動データREG[14:0]が書き込まれる。そして、セレクタ22はモータ制御部20からの2ビットのデータセレクト信号「1」に基づいて、データREG21からの12ビットのモータ駆動データREG[11:0]から3ビットデータ
REG[11:9](=CODE3)、
REG[8:6](=CODE2)、
REG[5:3](=CODE1)、
REG[2:0](=CODE0)
の1つを選択してセレクタ26に出力する。
【0014】
また、セレクタ23はモータ制御部20からの3ビットのデータセレクト信号「2」に基づいて、データREG21からの14ビットのモータ駆動データREG[13:0]から2ビットデータ REG[13:12](=CODE6)、
REG[11:10](=CODE5)、
REG[9:8](=CODE4)、
REG[7:6](=CODE3)、
REG[5:4](=CODE2)、
REG[3:2](=CODE1)、
REG[1:0](=CODE0)
の1つを選択してセレクタ26に出力する。
【0015】
次いで、セレクタ26はデータREG21内のデータREG[14]に基づいてセレクタ22又は23の出力を選択して加算/減算器(+/−)27に出力する。加算/減算器27はモータ制御部20からの加算/減算セレクト信号Cに基づいて、ベースREG25内の15ビットのモータ駆動データREG[14:0]に対して、セレクタ26により選択されたデータを加算又は減算し、その結果をセレクタ24、28に出力する。セレクタ24はモータ制御部20からのセレクト信号Bに基づいて、データREG21内の15ビットのモータ駆動データREG[14:0]又は加算/減算器26の演算結果を選択してベースREG25に出力する。
【0016】
ベースREG25内の15ビットのモータ駆動データREG[14:0]は、モータ制御部20からのベースREG転送信号により加算/減算器26とセレクタ28に転送される。セレクタ28はモータ制御部20からのセレクト信号Dに基づいて、加算/減算器27の演算結果又はベースREG25からのデータを選択してP/G(パルスジェネレータ)29に転送する。P/G29はこの下位15ビットデータ[14]〜[0]に基づいて、ステッピングモータ11の駆動パルスに同期した相励磁信号φA、φ/A(“/”はここでは逆相を示す。)φB、φ/Bを図1に示すステッピングモータ駆動部10に送り、また、次のデータの要求信号Eをモータ制御部20に送る。これにより、ステッピングモータ駆動部10はこの相励磁信号φA、φ/A、φB、φ/Bに基づいてステッピングモータ11を回転させる。ここで、セレクタ22、23、26と加算/減算器27は復号化部30を構成している。 次に、図4、図5を参照してマイクロプロセッサ1とモータ制御部20の処理を説明する。先ず、マイクロプロセッサ1がモータ制御部20に対してスタート信号をアクティブ(=1)にすると(図4:ステップS1、図5:ステップS11)、モータ制御部20はマイクロプロセッサ1に対してデータ要求信号をアクティブにする(図5:ステップS12)。マイクロプロセッサ1はデータ要求信号がアクティブになると(図4:ステップS2)、ROM2内の16ビットのモータ駆動データを読み出してCPUデータバスを介してデータREG(レジスタ)21に書き込む(図4:ステップS3)。マイクロプロセッサ1はまた、この書き込みが終了すると、ROM2内のモータ駆動データがまだ有るか否かを判断し(図4:ステップS4)、有る場合にはステップS2に戻ってデータ要求信号がアクティブになると次の16ビットのモータ駆動データを転送し、他方、ない場合にはスタート信号を非アクティブ(=0)にし、この処理を終了する。
【0017】
モータ制御部20はデータREG21に書き込まれた16ビットのモータ駆動データREG[15]〜[0]の内、MSB側2ビットデータREG[15]、[14]に基づいて、MSBデータREG[15]が「0」の場合には下位15ビットが実データと判断し(図5:ステップS13、S14)、その下位15ビットデータ[14]〜[0]を、セレクト信号Bをセレクタ24に出力することによりベースREG25に転送し(図5:ステップS15)、次いでセレクト信号Dをセレクタ28に出力することによりP/G29に転送する(図5:ステップS16)。次いでステップS17において、マイクロプロセッサ1からのスタート信号がアクティブ(=1)の場合にはステップS12に戻り、他方、アクティブ(=1)でない場合にはこの処理を終了する。
【0018】
また、モータ制御部20はMSBデータREG[15]が「1」であって(図5:ステップS14)、その下位ビットデータREG[14]が「0」のとき(図5:ステップS18)には以下のような処理を行う。ここで、マイクロプロセッサ1からモータ制御部20に対する加速信号がアクティブ(=1)の場合にはそのデータはステッピングモータ11の加速用の符号データを示し、また、下位3ビット×4のデータCODE3〜CODE0は直前の実データとの差分を示している。 そこで、加速信号=1の場合(図5:ステップS19)には、モータ制御部20は先ず、データセレクト信号i=0(データセレクト信号iはデータセレクト信号「1」)にリセットし(図5:ステップS20)、次いでデータREG21に書き込まれた16ビットのモータ駆動データREG[15]〜[0]の内、LSB側3ビットデータREG[2:0](=CODE0)が加算/減算器27に転送されるようにデータセレクト信号iをセレクタ22に出力し、また、減算信号Cを加算/減算器27に出力することによりベースREG25の値から3ビットデータREG[2:0]を減算し(図5:ステップS21)、次いでこの減算結果が選択されてベースREG25、P/G29に転送されるようにそれぞれセレクト信号B、Dをセレクタ24、28に送る(図5:ステップS22)。
【0019】
次いでモータ制御部20はP/G29からの符号化データ要求信号Eが送られてくると、データセレクト信号iをインクリメントして上記の処理を4回繰り返すことにより4つの符号化データを復号化する(図5:ステップS23、S24)。次いでマイクロプロセッサ1からのスタート信号がアクティブ(=1)の場合にはステップS12に戻り、他方、アクティブ(=1)でない場合にはこの処理を終了する。
【0020】
また、マイクロプロセッサ1からモータ制御部20に対する加速信号が非アクティブ(=0)の場合にはそのデータはステッピングモータ11の減速用の符号データを示し、また、同様に下位3ビット×4のデータCODE3〜CODE0は直前の実データとの差分を示している。
【0021】
そこで、加速信号=0の場合(図5:ステップS19)には、モータ制御部20は先ず、データセレクト信号i=0にリセットし(図5:ステップS26)、次いでデータREG21に書き込まれた16ビットのモータ駆動データREG[15]〜[0]の内、LSB側3ビットデータREG[2:0](=CODE0)が加算/減算器27に転送されるようにデータセレクト信号iをセレクタ22に出力し、また、加算信号Cを加算/減算器27に出力することによりベースREG25の値に3ビットデータREG[2:0]を加算し(図5:ステップS27)、次いでこの加算結果が選択されてベースREG25、P/G29に転送されるようにセレクト信号B、Dをセレクタ24、28に送る(図5:ステップS28)。
【0022】
次いでモータ制御部20はP/G29からの符号化データ要求信号Eが送られてくると、データセレクト信号iをインクリメントして上記の処理を4回繰り返す(図5:ステップS29、S30)。次いでマイクロプロセッサ1からのスタート信号がアクティブ(=1)の場合にはステップS12に戻り、他方、アクティブ(=1)でない場合にはこの処理を終了する。
【0023】
また、モータ制御部20はMSBデータREG[15]が「1」であって(図5:ステップS14)、その下位データREG[14]が「0」でないとき(図5:ステップS18)にはステップS32〜S44に示すような処理を行う。先ず、加速信号=1の場合(図5:ステップS32)には、モータ制御部20は先ず、データセレクト信号j=0(データセレクト信号jはデータセレクト信号「2」)にリセットし(図5:ステップS33)、次いでデータREG21に書き込まれた16ビットのモータ駆動データREG[15]〜[0]の内、LSB側2ビットデータREG[1:0](=CODE0)が加算/減算器27に転送されるようにデータセレクト信号jをセレクタ22に出力し、また、減算信号Cを加算/減算器27に出力することによりベースREG25の値から2ビットデータREG[1:0]を減算し(図5:ステップS34)、次いでこの減算結果が選択されてベースREG25、P/G29に転送されるようにセレクト信号B、Dをセレクタ24、28に送る(図5:ステップS35)。
【0024】
次いでモータ制御部20はP/G29からの符号化データ要求信号Eが送られてくると、データセレクト信号jをインクリメントして上記の処理を7回繰り返すことにより7つの符号化データを復号化する(図5:ステップS36、S37)。次いでマイクロプロセッサ1からのスタート信号がアクティブ(=1)の場合にはステップS12に戻り、他方、アクティブ(=1)でない場合にはこの処理を終了する。
【0025】
また、加速信号=0の場合(図5:ステップS32)には、モータ制御部20は先ず、データセレクト信号j=0にリセットし(図5:ステップS39)、次いでデータREG21に書き込まれた16ビットのモータ駆動データREG[15]〜[0]の内、LSB側2ビットデータREG[1:0](=CODE0)が加算/減算器27に転送されるようにデータセレクト信号jをセレクタ22に出力し、また、加算信号Cを加算/減算器27に出力することによりベースREG25の値に2ビットデータREG[1:0]を加算し(図5:ステップS40)、次いでこの加算結果が選択されてベースREG25、P/G29に転送されるようにセレクト信号B、Dをセレクタ24、28に送る(図5:ステップS41)。
【0026】
次いでモータ制御部20はP/G29からの符号化データ要求信号Eが送られてくると、データセレクト信号jをインクリメントして上記の処理を7回繰り返す(図5:ステップS42、S43)。次いでマイクロプロセッサ1からのスタート信号がアクティブ(=1)の場合にはステップS12に戻り、他方、アクティブ(=1)でない場合にはこの処理を終了する。
【0027】
【発明の効果】
以上説明したように請求項1記載の発明によれば、今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第1のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第1のビット数より少ない第2のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶して、マイクロプロセッサにより読み出された符号化データを復号化するようにしたので、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができる。
【0028】
請求項2記載の発明によれば、符号化データが今回と前回の実データの差分であり、今回の符号化データと前回の実データに基づいて今回の実データに復号化するので、マイクロプロセッサの負担やメモリの容量が増加することなくパルスモータを高速且つ高精度で駆動することができる。
【0029】
請求項3記載の発明によれば、復号化手段の回路と画像形成装置の制御回路が共通のLSIで構成されているので、複写機などの画像形成装置を小型化、低コスト化することができる。
【図面の簡単な説明】
【図1】本発明に係るモータ駆動装置の一実施形態としてデジタル複写機の制御部を示すブロック図である。
【図2】図1のモータ駆動装置のモータ駆動データのフォーマットを示す説明図である。
【図3】図1のステッピングモータ駆動制御部を詳しく示すブロック図である。
【図4】図1のマイクロプロセッサの処理を説明するためのフローチャートである。
【図5】図4のモータ制御部の処理を説明するためのフローチャートである。
【符号の説明】
1 マイクロプロセッサ
2 ROM
11 ステッピングモータ
20 データ制御部
30 復号化部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motor drive device that drives a pulse motor in accordance with motor drive data corresponding to a cycle of a series of drive pulses applied to the pulse motor, and is particularly suitable for an image forming apparatus such as a copying machine, a printer, and a facsimile machine. The present invention relates to a motor drive device.
[0002]
[Prior art]
For example, in a digital copying machine, when a copy start key is pressed while a document is set on a contact glass, a scanner unit moves a traveling body (movable unit) having a mirror, a light source, and the like in a horizontal direction by a driving source. Thus, the image surface of the document on the contact glass is optically scanned, and the reflected image from the image surface is imaged on the light receiving surface of the CCD image sensor via the mirror and the lens including the mirror, whereby the document image Is transferred to a transfer sheet by the image forming unit. Incidentally, a pulse motor is generally used as a drive source for the scanner unit. As is well known, this pulse motor rotates by applying a phase excitation signal synchronized with the drive pulse to the motor drive means, and in order to rotate this pulse motor at a self-starting frequency or more, through-up control or through-down control is performed. Need. When these controls are performed by a microprocessor that controls the entire apparatus, the burden on the microprocessor increases. Especially when other control processes other than the pulse motor control of the copying machine are performed in parallel. Therefore, the frequency of the driving pulse of the pulse motor cannot be increased so much, and therefore the processing speed cannot be increased in the copying machine as described above. Therefore, as a conventional example, as shown in, for example, Japanese Patent Application Laid-Open No. 63-212580, motor drive data is stored in a memory in advance when a pulse motor is up or down, and is read out by a microprocessor. At the constant speed, a method of controlling by motor control means provided in the microprocessor has been proposed.
[0003]
[Problems to be solved by the invention]
However, in such a conventional device, the burden on the microprocessor is reduced when the pulse motor is at a constant speed, but it is not reduced when the pulse motor is up or down, especially in the vicinity of the constant speed region. There is a problem that sufficient speeding up of motor rotation cannot be expected. In addition, since it is necessary to store a lot of motor drive data in the memory in advance, there is a problem that the capacity of the memory increases.
[0004]
An object of the present invention is to provide a motor driving device capable of driving a pulse motor at high speed and high accuracy without increasing the burden on the microprocessor and the capacity of the memory.
[0005]
[Means for Solving the Problems]
In order to solve the above problem, a first means is a motor driving device for driving a pulse motor according to motor driving data corresponding to a cycle of a series of driving pulses applied to the pulse motor. If the change in the drive data is relatively large, the actual data is stored in advance as the current motor drive data. If the change in the current and previous motor drive data is relatively small, the data is less than the actual data. The motor drive data for a plurality of times is stored in advance with the same number of bits as the actual data after being encoded into one bit number, and if the change in the current and previous motor drive data is smaller, the data is stored in the first bit. Storage means for pre-storing a plurality of times of motor drive data in the same number of bits as the actual data by encoding to a second number of bits less than the number, and the storage means A microprocessor that sequentially reads stored motor drive data, and if the motor drive data read by the microprocessor is actual data, it is output as it is, and if it is encoded data, the encoded data is divided into multiple times. Decoding means for decoding the motor drive data and sequentially outputting each data, and pulse generation means for generating drive pulses for the pulse motor based on the motor drive data output by the decoding means It is characterized by.
[0006]
In the second means, the encoded data in the first means is a difference between the current data and the previous actual data, and the decoding means converts the current data based on the current encoded data and the previous actual data. It is characterized by decoding.
[0007]
The third means is characterized in that in the first and second means, the circuit of the decoding means and the control circuit of the image forming apparatus are constituted by a common LSI.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a control unit of a digital copying machine as an embodiment of a motor drive device according to the present invention, FIG. 2 is an explanatory diagram showing a format of motor drive data of the motor drive device of FIG. 1, and FIG. FIG. 4 is a flowchart for explaining the processing of the microprocessor in FIG. 1, and FIG. 5 is a flowchart for explaining the processing of the motor control unit in FIG.
[0009]
As shown in FIG. 1, the control unit of this digital copying machine includes a microprocessor 1, ROM 2, RAM 3, clutches 5, motors 6, sensors 7 and other loads 8 connected to an IO port 4 and the like. And a stepping motor drive control unit 9, a stepping motor drive unit 10, and a stepping motor (pulse motor) 11 shown in detail in FIG. The stepping motor drive control unit 9 is composed of an LSI common to the control circuit of this copying machine.
[0010]
The copying machine has an optical system for exposing and scanning a document on the document table by moving in the sub-scanning direction of a document table (not shown), and a stepping motor 11 drives this optical system. The ROM 2 stores in advance 16-bit motor drive data corresponding to a series of pulse periods applied to the stepping motor 11 as shown in FIG. The microprocessor 1 reads out the motor drive data from the ROM 2 and outputs it to the stepping motor drive control unit 9. The stepping motor drive control unit 9 generates a pulse having a cycle corresponding to the motor drive data, and the stepping motor drive unit 10 drives the pulse motor 11 based on this pulse.
[0011]
Here, 16-bit data is often used as motor drive data applied to the pulse motor 11 that drives the document reading scanner of the copying machine in correspondence with a series of pulse periods. In this case, in a constant speed region at the time of through-up and through-down, it is common to reduce the acceleration in order to prevent step-out of the pulse motor 11 due to a rapid change in acceleration. Therefore, the speed change in this area is very small, and the difference between the nth data and the (n + 1) th data is “0” to “3” in decimal notation, and therefore the speed change is expressed by 2 bits. Can do. The speed change in the first half at the time of through-up and in the second half at the time of through-down can be represented by 3 bits. 2A to 2C show the format of this 16-bit data. In the format shown in FIG. 2 (a), in order to represent the speed change in the first half at the time of through-up and in the second half at the time of through-down by 3 bits, the lower 14 bits are encoded when 2 bits on the MSB side are “10”. Data is represented by 12 bits on the LSB side, one code is 3 bits, and represents a total of 4 codes CODE3, CODE2, CODE1, and CODE0 (2 bits are not used).
[0012]
In the format shown in FIG. 2B, since the constant speed area at the time of through-up and through-down is represented by 2 bits, when the MSB side 2 bits is “11”, the lower 14 bits are encoded data, and the LSB The 14 bits on the side represent one code of 2 bits, for a total of 7 codes CODE6 to CODE0. In the format shown in FIG. 2C, when the MSB is “1”, the lower 15 bits represent actual data. The ROM 2 stores the 16-bit motor drive data in advance.
[0013]
Next, the configuration of the stepping motor drive control unit 9 will be described with reference to FIG. 16-bit motor drive data REG [15: 0] from the microprocessor 1 is written to the data REG21, and 15-bit motor drive data REG [14: 0], which is actual data, is written to the base REG25. Based on the 2-bit data select signal “1” from the motor control unit 20, the selector 22 converts the 12-bit motor drive data REG [11: 0] from the data REG21 to the 3-bit data REG [11: 9]. (= CODE3),
REG [8: 6] (= CODE2),
REG [5: 3] (= CODE1),
REG [2: 0] (= CODE0)
Is selected and output to the selector 26.
[0014]
Further, the selector 23 receives the 2-bit data REG [13:12] from the 14-bit motor drive data REG [13: 0] from the data REG21 based on the 3-bit data select signal “2” from the motor control unit 20. (= CODE6),
REG [11:10] (= CODE5),
REG [9: 8] (= CODE4),
REG [7: 6] (= CODE3),
REG [5: 4] (= CODE2),
REG [3: 2] (= CODE1),
REG [1: 0] (= CODE0)
Is selected and output to the selector 26.
[0015]
Next, the selector 26 selects the output of the selector 22 or 23 based on the data REG [14] in the data REG 21 and outputs it to the adder / subtracter (+/−) 27. Based on the addition / subtraction select signal C from the motor control unit 20, the adder / subtracter 27 outputs the data selected by the selector 26 to the 15-bit motor drive data REG [14: 0] in the base REG 25. Addition or subtraction is performed, and the result is output to the selectors 24 and 28. Based on the select signal B from the motor control unit 20, the selector 24 selects the 15-bit motor drive data REG [14: 0] in the data REG 21 or the calculation result of the adder / subtractor 26 and outputs it to the base REG 25. .
[0016]
The 15-bit motor drive data REG [14: 0] in the base REG 25 is transferred to the adder / subtractor 26 and the selector 28 by the base REG transfer signal from the motor control unit 20. The selector 28 selects the calculation result of the adder / subtractor 27 or the data from the base REG 25 based on the select signal D from the motor control unit 20 and transfers it to the P / G (pulse generator) 29. The P / G 29 is based on the lower 15-bit data [14] to [0], and the phase excitation signals φA and φ / A synchronized with the driving pulse of the stepping motor 11 (“/” indicates the reverse phase here). φB and φ / B are sent to the stepping motor drive unit 10 shown in FIG. 1 and a request signal E for the next data is sent to the motor control unit 20. As a result, the stepping motor drive unit 10 rotates the stepping motor 11 based on the phase excitation signals φA, φ / A, φB, and φ / B. Here, the selectors 22, 23, and 26 and the adder / subtracter 27 constitute a decoding unit 30. Next, processing of the microprocessor 1 and the motor control unit 20 will be described with reference to FIGS. First, when the microprocessor 1 activates the start signal to the motor control unit 20 (= 1) (FIG. 4: step S1, FIG. 5: step S11), the motor control unit 20 requests the microprocessor 1 for data. The signal is activated (FIG. 5: Step S12). When the data request signal becomes active (FIG. 4: step S2), the microprocessor 1 reads the 16-bit motor drive data in the ROM 2 and writes it to the data REG (register) 21 via the CPU data bus (FIG. 4: step). S3). When the writing is completed, the microprocessor 1 determines whether or not the motor drive data in the ROM 2 still exists (FIG. 4: step S4). If there is, the process returns to step S2 to activate the data request signal. Then, the next 16-bit motor drive data is transferred. On the other hand, if there is not, the start signal is made inactive (= 0), and this process ends.
[0017]
The motor control unit 20 selects the MSB data REG [15 based on the MSB side 2-bit data REG [15], [14] among the 16-bit motor drive data REG [15] to [0] written in the data REG21. ] Is “0”, the lower 15 bits are determined to be actual data (FIG. 5: Steps S13 and S14), and the lower 15 bits data [14] to [0] are output to the selector 24 as the select signal B. Thus, the data is transferred to the base REG 25 (FIG. 5: Step S15), and then the select signal D is output to the selector 28 to be transferred to the P / G 29 (FIG. 5: Step S16). Next, in step S17, if the start signal from the microprocessor 1 is active (= 1), the process returns to step S12. If the start signal is not active (= 1), the process ends.
[0018]
The motor control unit 20 also sets the MSB data REG [15] to “1” (FIG. 5: Step S14) and the lower bit data REG [14] to “0” (FIG. 5: Step S18). Does the following: Here, when the acceleration signal from the microprocessor 1 to the motor control unit 20 is active (= 1), the data indicates code data for acceleration of the stepping motor 11, and the lower 3 bits × 4 data CODE3 to CODE3. CODE0 indicates a difference from the previous actual data. Therefore, when the acceleration signal = 1 (FIG. 5: step S19), the motor control unit 20 first resets the data select signal i = 0 (the data select signal i is the data select signal “1”) (FIG. 5). : Step S20) Then, among the 16-bit motor drive data REG [15] to [0] written in the data REG21, the LSB side 3-bit data REG [2: 0] (= CODE0) is added / subtracted 27 The 3-bit data REG [2: 0] is subtracted from the value of the base REG 25 by outputting the data select signal i to the selector 22 and the subtract signal C to the adder / subtractor 27 so as to be transferred to (FIG. 5: Step S21) Next, select signals B and D are set so that the subtraction result is selected and transferred to bases REG25 and P / G29, respectively. Send Kuta 24,28 (FIG. 5: step S22).
[0019]
Next, when the encoded data request signal E is sent from the P / G 29, the motor control unit 20 increments the data select signal i and repeats the above processing four times to decode the four encoded data. (FIG. 5: Steps S23 and S24). Next, when the start signal from the microprocessor 1 is active (= 1), the process returns to step S12. On the other hand, when the start signal is not active (= 1), this process is terminated.
[0020]
When the acceleration signal from the microprocessor 1 to the motor control unit 20 is inactive (= 0), the data indicates code data for decelerating the stepping motor 11, and similarly, the lower 3 bits × 4 data. CODE3 to CODE0 indicate differences from the previous actual data.
[0021]
Therefore, when the acceleration signal = 0 (FIG. 5: Step S19), the motor control unit 20 first resets the data select signal i = 0 (FIG. 5: Step S26), and then 16 is written in the data REG21. Of the bit motor drive data REG [15] to [0], the LSB side 3-bit data REG [2: 0] (= CODE0) is transferred to the adder / subtractor 27 so that the data select signal i is sent to the selector 22. And the addition signal C is output to the adder / subtractor 27 to add the 3-bit data REG [2: 0] to the value of the base REG 25 (FIG. 5: Step S27). Select signals B and D are sent to the selectors 24 and 28 so as to be selected and transferred to the base REG 25 and P / G 29 (FIG. 5: step S28).
[0022]
Next, when the encoded data request signal E is sent from the P / G 29, the motor control unit 20 increments the data select signal i and repeats the above processing four times (FIG. 5: Steps S29 and S30). Next, when the start signal from the microprocessor 1 is active (= 1), the process returns to step S12. On the other hand, when the start signal is not active (= 1), this process is terminated.
[0023]
The motor control unit 20 also sets the MSB data REG [15] to “1” (FIG. 5: Step S14) and the lower data REG [14] is not “0” (FIG. 5: Step S18). Processing as shown in steps S32 to S44 is performed. First, when the acceleration signal = 1 (FIG. 5: step S32), the motor control unit 20 first resets the data select signal j = 0 (the data select signal j is the data select signal “2”) (FIG. 5). : Step S33), then, among the 16-bit motor drive data REG [15] to [0] written in the data REG21, the LSB side 2-bit data REG [1: 0] (= CODE0) is added / subtracted 27 The data select signal j is output to the selector 22 and the subtraction signal C is output to the adder / subtractor 27 so that the 2-bit data REG [1: 0] is subtracted from the value of the base REG25. (FIG. 5: Step S34) Next, select signals B and D are selected by the selector 24 so that the subtraction result is selected and transferred to the bases REG25 and P / G29. Send to 28 (FIG. 5: step S35).
[0024]
Next, when the encoded data request signal E is sent from the P / G 29, the motor controller 20 increments the data select signal j and repeats the above processing seven times to decode the seven encoded data. (FIG. 5: Steps S36 and S37). Next, when the start signal from the microprocessor 1 is active (= 1), the process returns to step S12. On the other hand, when the start signal is not active (= 1), this process is terminated.
[0025]
When the acceleration signal = 0 (FIG. 5: step S32), the motor control unit 20 first resets the data select signal j = 0 (FIG. 5: step S39), and then 16 is written in the data REG21. Of the bit motor drive data REG [15] to [0], the LSB side 2-bit data REG [1: 0] (= CODE0) is transferred to the adder / subtractor 27 so that the data select signal j is sent to the selector 22. The 2-bit data REG [1: 0] is added to the value of the base REG 25 by outputting the addition signal C to the adder / subtractor 27 (FIG. 5: step S40). Select signals B and D are sent to the selectors 24 and 28 so as to be selected and transferred to the base REG 25 and P / G 29 (FIG. 5: step S41).
[0026]
Next, when the encoded data request signal E is sent from the P / G 29, the motor control unit 20 increments the data select signal j and repeats the above processing seven times (FIG. 5: steps S42 and S43). Next, when the start signal from the microprocessor 1 is active (= 1), the process returns to step S12. On the other hand, when the start signal is not active (= 1), this process is terminated.
[0027]
【The invention's effect】
As described above, according to the first aspect of the present invention, when the change in the current and previous motor drive data is relatively large, the actual data is stored in advance as the current motor drive data. When the change in the drive data is relatively small, the data is encoded into a first bit number smaller than the actual data, and the motor drive data for a plurality of times is stored in advance with the same number of bits as the actual data. If the change in the motor drive data is even smaller, the data is encoded into a second bit number smaller than the first bit number, and the motor drive data for a plurality of times is stored in advance with the same bit number as the actual data. Since the encoded data read by the microprocessor is decoded, the pulse mode is not increased without increasing the burden on the microprocessor and the capacity of the memory. The can be driven at high speed with high accuracy.
[0028]
According to the second aspect of the present invention, the encoded data is the difference between the current data and the previous actual data, and is decoded into the current actual data based on the current encoded data and the previous actual data. The pulse motor can be driven at high speed and with high accuracy without increasing the burden on the memory and the capacity of the memory.
[0029]
According to the invention described in claim 3, since the circuit of the decoding means and the control circuit of the image forming apparatus are constituted by a common LSI, the image forming apparatus such as a copying machine can be reduced in size and cost. it can.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a control unit of a digital copying machine as an embodiment of a motor driving apparatus according to the present invention.
FIG. 2 is an explanatory diagram showing a format of motor drive data of the motor drive device of FIG. 1;
FIG. 3 is a block diagram illustrating in detail a stepping motor drive control unit in FIG. 1;
4 is a flowchart for explaining processing of the microprocessor of FIG. 1; FIG.
5 is a flowchart for explaining processing of a motor control unit in FIG. 4;
[Explanation of symbols]
1 Microprocessor 2 ROM
11 Stepping motor 20 Data control unit 30 Decoding unit

Claims (3)

パルスモータに印加される一連の駆動パルスの周期に対応するモータ駆動データに応じてパルスモータを駆動するモータ駆動装置において、
今回と前回のモータ駆動データの変化分が比較的大きい場合には今回のモータ駆動データとしてその実データを予め記憶し、今回と前回のモータ駆動データの変化分が比較的小さい場合にはそのデータを実データより少ない第1のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶し、今回と前回のモータ駆動データの変化分が更に小さい場合にはそのデータを前記第1のビット数より少ない第2のビット数に符号化して複数回分のモータ駆動データを実データと同一ビット数で予め記憶する記憶手段と、
前記記憶手段に記憶されているモータ駆動データを順次読み出すマイクロプロセッサと、 前記マイクロプロセッサにより読み出されたモータ駆動データが実データの場合にはそのまま出力し、符号化データの場合にはその符号化データを複数回分のモータ駆動データに復号化して各データを順次出力する復号化手段と、
前記復号化手段により出力されたモータ駆動データに基づいて前記パルスモータの駆動パルスを発生するパルス発生手段と、
を備えたモータ駆動装置。
In a motor drive device that drives a pulse motor according to motor drive data corresponding to a cycle of a series of drive pulses applied to the pulse motor,
If the change in the current and previous motor drive data is relatively large, the actual data is stored in advance as the current motor drive data, and if the change in the current and previous motor drive data is relatively small, the data is stored. Encode the first number of bits less than the actual data and store the motor drive data for multiple times in the same number of bits as the actual data in advance, and if the change in the current and previous motor drive data is even smaller, store the data Storage means for previously storing the motor drive data for a plurality of times in the same number of bits as the actual data by encoding the second number of bits less than the first number of bits;
A microprocessor that sequentially reads out the motor drive data stored in the storage means, and if the motor drive data read by the microprocessor is actual data, it is output as it is, and if it is encoded data, the encoding is performed. Decoding means for decoding the data into a plurality of times of motor drive data and sequentially outputting each data;
Pulse generation means for generating a drive pulse of the pulse motor based on the motor drive data output by the decoding means;
A motor drive device comprising:
前記符号化データは今回と前回の実データの差分であり、前記復号化手段は、今回の符号化データと前回の実データに基づいて今回の実データに復号化することを特徴とする請求項1記載のモータ駆動装置。The encoded data is a difference between current and previous actual data, and the decoding means decodes the current data based on the current encoded data and previous actual data. 1. The motor driving device according to 1. 前記復号化手段の回路と画像形成装置の制御回路が共通のLSIで構成されていることを特徴とする請求項1または2記載のモータ駆動装置。3. The motor driving apparatus according to claim 1, wherein the circuit of the decoding unit and the control circuit of the image forming apparatus are configured by a common LSI.
JP34663997A 1997-12-16 1997-12-16 Motor drive device Expired - Fee Related JP3628860B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34663997A JP3628860B2 (en) 1997-12-16 1997-12-16 Motor drive device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34663997A JP3628860B2 (en) 1997-12-16 1997-12-16 Motor drive device

Publications (2)

Publication Number Publication Date
JPH11178394A JPH11178394A (en) 1999-07-02
JP3628860B2 true JP3628860B2 (en) 2005-03-16

Family

ID=18384813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34663997A Expired - Fee Related JP3628860B2 (en) 1997-12-16 1997-12-16 Motor drive device

Country Status (1)

Country Link
JP (1) JP3628860B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582101B2 (en) * 2007-03-06 2010-11-17 セイコーエプソン株式会社 Light quantity control device and projector

Also Published As

Publication number Publication date
JPH11178394A (en) 1999-07-02

Similar Documents

Publication Publication Date Title
EP0198269B1 (en) Method and apparatus for interpolating image signals
US4893195A (en) Image processing apparatus capable of eliminating moire pattern
JP3372748B2 (en) Image processing device
JP3628860B2 (en) Motor drive device
JP2000013594A (en) Image processor, image processing method therefor and recording medium
JP3628851B2 (en) Motor drive device
EP0336403B1 (en) Image reading apparatus
JPH10173884A (en) Image forming device
JP3718333B2 (en) Pulse motor drive device
JP3018864B2 (en) Facsimile machine
JP4032457B2 (en) READER CONVEYING DEVICE AND STORAGE MEDIUM
JP2602247B2 (en) Image reading device
JP2705944B2 (en) Image processing device
JPH08139862A (en) Image reading device and scanner motor driving method
JPH0262679A (en) memory device
JP2005295359A (en) Image reader
JP2000059621A (en) Image reading device
JP3418243B2 (en) Image data storage controller
JPH0568149A (en) Facsimile equipment
JP3155605B2 (en) Image recognition printer
JPH09275494A (en) Image forming device
JPH0423561A (en) Picture reading system
JP2000125116A (en) Image reading device
JPH06261192A (en) Image recorder
JP2001285593A (en) Image reading apparatus, shading correction method thereof, and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091217

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101217

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101217

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111217

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111217

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121217

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees