JP3689801B2 - ステッピングモータの制御装置 - Google Patents
ステッピングモータの制御装置 Download PDFInfo
- Publication number
- JP3689801B2 JP3689801B2 JP15522698A JP15522698A JP3689801B2 JP 3689801 B2 JP3689801 B2 JP 3689801B2 JP 15522698 A JP15522698 A JP 15522698A JP 15522698 A JP15522698 A JP 15522698A JP 3689801 B2 JP3689801 B2 JP 3689801B2
- Authority
- JP
- Japan
- Prior art keywords
- timer
- set value
- stepping motor
- clock
- table data
- 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
Links
Images
Landscapes
- Control Of Stepping Motors (AREA)
Description
【発明の属する技術分野】
本発明は、プリンタ等のように装置の内部回転機構をステッピングモータを用いて精密に可変速制御するためのステッピングモータの制御装置に関する。
【0002】
【従来の技術】
ステッピングモータは、相励磁用のパルスを供給し、その周波数を制御することによって精密に可変速制御できる。従って、各種の精密機器に広く使用されている。
例えば、プリンタの用紙を搬送する機構にもステッピングモータが使用される。プリンタの用紙は、給紙動作から始まり印字処理と排出処理の間、多数のローラによって搬送される。その効率的な印字を行うには、こうした用紙搬送をステッピングモータによって予め設定したプログラムに従って精密に可変速制御することが好ましい。このために、可変速制御の内容を具体的に表示した速度テーブルデータを用いる方法が開発されている(特開昭56−017480号公報)。
【0003】
【発明が解決しようとする課題】
ところで、電子機器の小型化や低コスト化を目的として、プリンタ等を単一のマイクロプロセッサで制御することが一般的になってきている。この場合に、内蔵するRAM(ランダム・アクセス・メモリ)の容量は、小型化やコストダウンのために厳しく制限される。しかしながら、複雑な可変速制御を行おうとすると制御すべき速度範囲が広がり、制御の分解能も高くなる。従って、その速度を指定するための速度テーブルデータのビット幅が大きくなり、メモリコスト増大の原因となっていた。
【0004】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
【0005】
〈構成1〉
ステッピングモータと、このステッピングモータを可変速制御するための相励磁信号を生成するオートリロードタイマと、このオートリロードタイマ動作用のタイマクロックを供給するクロック供給部と、装置の動作を制御する制御部とを備え、上記オートリロードタイマは、上記制御部によりセットされたタイマセット値に相当する数だけ上記タイマクロックをカウントしたとき相励磁信号を一回出力するように動作し、上記制御部は、上記ステッピングモータを制御するための速度テーブルデータを順に読み出しながら制御を行い、この速度テーブルデータは、上記クロック供給部の出力するタイマクロックの周波数を選択するタイマクロック選択情報と、このタイマクロックの周波数選択後に、上記オートリロードタイマにセットするためのタイマセット値とを含むことを特徴とするステッピングモータの制御装置。
【0006】
〈構成2〉
ステッピングモータと、このステッピングモータを可変速制御するための相励磁信号を生成するオートリロードタイマと、装置の動作を制御する制御部とを備え、上記オートリロードタイマは、上記制御部によりセットされたタイマセット値に相当する数だけ所定のタイマクロックをカウントしたとき相励磁信号を一回出力するように動作し、上記制御部は、上記ステッピングモータを制御するための速度テーブルデータを順に読み出しながら制御を行い、この速度テーブルデータは、タイマセット値シフト情報と、要求されるビット数に満たないビット数で表現されたタイマセット値とを含み、上記制御部は、速度テーブルデータから読み出したタイマセット値を、上記タイマセット値シフト情報に従って、上位側にシフトさせ、もしくは、上位側を無効な値で満たして、上記オートリロードタイマにセットするためのタイマセット値を得ることを特徴とするステッピングモータの制御装置。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例1〉
図1は、本発明の具体例1によるステッピングモータの制御装置ブロック図である。
本発明はステッピングモータを可変速制御する場合に広く利用される。ここでは、その制御対象として、プリンタの用紙搬送機構への適用例を紹介する。この図に示す装置は、プリンタのステッピングモータ制御部分を示している。図の装置は、制御部(CPU)1によって制御される。制御部1には、ROM(リード・オンリ・メモリ)2、RAM(ランダム・アクセス・メモリ)3、ステッピングモータ制御回路4、オートリロードタイマ(TM)5及びI/Oポート/ドライバ6とクロック供給部(SUB TM)7とが、バスライン9を介して接続されている。
【0009】
制御部1は、プリンタ全体の動作を制御するための中央処理装置である。ROM2には、制御部1の動作用プログラムが格納されている。また、RAM3には、その動作用パラメータが格納され、ここにこの発明で使用される速度テーブルデータ20が格納される。ステッピングモータ制御回路4は、ステッピングモータ16に対し動作制御用の相励磁信号を供給する回路である。このステッピングモータ16の速度制御のために、オートリロードタイマ5から相励磁切替信号TOが供給される。I/Oポート/ドライバ6には、プリンタのインタフェース12、印字ヘッド13、高圧電源14あるいはセンサ15等が接続されている。オートリロードタイマ5とクロック供給部7とは、この具体例では全く同一の回路構成とする。なお、クロック供給部7には、クロック発生部11から基準クロックCLKが入力し、クロック供給部7はこの信号にタイミングを合わせて動作する。また、オートリロードタイマ5は、クロック供給部7から出力されるタイマクロックMCLKにタイミングを合わせて動作する。オートリロードタイマ5の出力する相励磁切替信号TOはステッピングモータ制御回路4に出力される他、制御部1に対し割込信号として出力されるよう構成されている。
【0010】
図2には、オートリロードタイマの結線図を示す。
このオートリロードタイマ5には、レジスタ51、フリップフロップ(FF)52、カウンタ53、アンドゲート54,55,57及びオアゲート56が設けられている。このオートリロードタイマ5は、レジスタ51にセットされたタイマセット値により指定された周期で相励磁切替信号TOを出力し、レジスタ51へセットするタイマセット値を切り換える度に、相励磁切替信号TOの周期を変化させながら出力するように構成されている。
【0011】
レジスタ51に入力するデータDがタイマセット値であり、制御部1から出力されるセットパルスPSによってセットされる。また、制御部1からスタートパルスPTが入力すると、これでフリップフロップ52がセットされる。スタートパルスPTは、オアゲート56を通ってロードパルスPLとなり、カウンタ53に入力する。これによって、カウンタ53はレジスタ51に格納されたタイマセット値をロードする。これがカウンタ53の初期値となって、その後カウンタ53はタイマクロックMCLKが入力する度に減算カウントを行い、タイマセット値の値だけカウントをすると、ボロー(PB)を出力する。このボロー(PB)が相励磁切替信号TOとなる。
【0012】
フリップフロップ52にスタートパルスがセットされると、その出力はアンドゲート54を開放し、タイマクロックMCLKをカウンタ53に供給する。これによって、カウンタ53はデクリメント動作を行う。アンドゲート57はカウンタ53の出力するボロー(PB)の出力タイミングをタイマクロックMCLKと同期させるためのものである。更に、アンドゲート57の出力はアンドゲート55とオアゲート56を介してロードパルスPLとなってカウンタ53に入力する。従って、カウンタ53はタイマセット値だけカウントダウンして相励磁信号TOを出力すると、再びロードパルスPLによって自動的にレジスタ51に格納されたタイマセット値をロードする。
【0013】
レジスタ51に格納されたタイマセット値が一定であれば、タイマセット値で示された一定の周期で相励磁切替信号TOが出力される。一方、カウンタ53がカウントダウンする前に、レジスタ51に新たなタイマセット値がセットされると、カウンタ53は次のカウントダウンのタイミングで新たなタイマセット値をロードし、そのカウントを行う。従って、その後は別の周期で相励磁切替信号TOが出力されることになる。
【0014】
フリップフロップ52をスタートパルスでセットするのは、アンドゲート54を開放してカウンタ53を始動させるとともに、オートリロードタイマ5が相励磁切替信号TOを周期的に出力する動作中にアンドゲート55を開放し、アンドゲート57の出力をオアゲート56を介してロードパルスPLとさせるためである。一方、オートリロードタイマ5の動作を終了させるには、制御部1がストップパルスPEでフリップフロップ52をリセットする。その出力によってアンドゲート54,55が閉じられ、タイマクロックMCLKのカウンタ53への入力が停止し、カウンタ53はカウントを停止する。
【0015】
図1に示したオートリロードタイマTM5は、このようにしてレジスタ51に格納された任意のタイマセット値に従って、任意の周期の相励磁切替信号TOを出力する。一方、図1に示したクロック供給部7は、図2に示したものと同一の回路構成をしており、予め用意されたいくつかの種類のクロック周波数を選択するためのタイマクロック選択情報をレジスタ51にセットし、その周波数でタイマクロックMCLKを出力するよう構成されている。この場合、クロック供給部7のカウンタ53は、図1に示した基準クロックCLKをアンドゲート54から受け入れてカウントしながら動作する。その他の動作はオートリロードタイマ5と全く同様である。
【0016】
図3に、プリンタ用ステッピングモータ制御例説明図を示す。
プリンタの用紙搬送用ステッピングモータは、例えばこの図に示すような複雑な可変速制御が要求される。
図の(a)は、横軸に時間、縦軸に速度を示したグラフで、時刻t1で速度が“0”から給紙を開始し、時刻t2まで数段階で加速制御される。そして、時刻t2から時刻t5まで一定の速度で搬送され、時刻t5から時刻t6まで減速制御されて用紙が排出される。(b)には、排紙センサの出力信号を示し、時刻t3から時刻t4の間用紙を検出しており、時刻t4で用紙が通過したことを検出してオフとなる。
【0017】
(c)は、タイマ割込許可信号で、図1に示したオートリロードタイマ5が出力する相励磁切替信号TOを制御部1に入力した場合に、制御部1がこれを割込信号として受け入れるかどうかを示す状態信号である。オンのときは割込みを受け付ける状態で、オフのときは割込みを受け付けない。時刻t1から時刻t2までと、時刻t4から時刻t6までの間、割込みが受け付けられる。即ち、この割込みは、可変速制御を実行する場合に、制御部1がオートリロードタイマTMのレジスタ51にタイマセット値を書き込むタイミングを制御するためのものである。従って、図3に示すように、可変速制御が行われる時刻t1からt2と、時刻t4からt6の間にのみ割込みが受け付けられる。
【0018】
図4には、具体例1の速度テーブルデータ説明図を示す。
上記タイマクロック発生部の出力するタイマクロック周波数を指定するためのタイマクロック選択情報や、オートリロードタイマが出力する相励磁切替信号の出力タイミングを指定するためのタイマセット値は、例えばこの図に示すような速度テーブルに可変速制御順に格納される。
【0019】
図において、左端には可変速制御の実行順序が No.1〜 No.9…というように表示されている。各データは、8ビットで構成される。速度テーブルデータには、タイマクロック選択コマンドとタイマセットコマンドとが含められる。タイマクロック選択コマンドは、上位2ビットがコマンド識別部21とされ、下位6ビットがコマンドデータ部22とされる。コマンドデータ部22にタイマクロック選択情報Xj が格納されている。タイマセットコマンドは上位1ビットがコマンド識別部21とされ、下位7ビットがコマンドデータ部22とされる。コマンドデータ部22にはタイマセット値ANi が格納される。
【0020】
タイマクロック選択コマンドは、クロック供給部7の制御に使用される。オートリロードタイマTMの動作開始の際あるいは動作中に、オートリロードタイマTMに供給するタイマクロックMCLKの周波数を切り替えるためのものである。これは所定のタイミングで速度テーブルデータ中に含められる。従って、例えば No.1のタイマクロック選択コマンドによって、一旦タイマクロック周波数が指定されると、その後に続くタイマセットコマンドは、このタイマクロックで動作する。そして、その後、新たなタイマクロック選択コマンドが No.6で出現すると、その後は、こうして選択された新たなタイマクロックで動作する。
【0021】
従って、同一のタイマセット値であっても、タイマクロック周波数が低ければ、長い時間的周期で相励磁切替信号を出力することになり、タイマクロック周波数が高ければ短い時間的周期で相励磁切替信号を出力することになる。高い周波数のタイマクロックであれば、高い分解能で速度制御ができ、低い周波数のタイマクロックであれば、十分に長い周期で相励磁切替信号を出力することが可能になる。
【0022】
〈動作〉
以下、フローチャートを用いて上記の装置の具体的な動作を説明する。
図5は、タイマ起動処理動作フローチャートである。
まず、ステッピングモータ制御用タイマ起動処理プログラムがスタートし、CPU1はステップS1で速度テーブルデータの読出しポインタを初期設定し、ステップS2で速度テーブルデータ No.1を読み出して、ステップS3でタイマクロック選択情報を所定のビット長のタイマセット値に、例えば以下の規則で変換する。タイマクロック選択情報をXj (0≦Xj ≦9)、クロック供給部(SUB TM)7のタイマセット値をYj として、変換式Yj =2Xj−1を用いた場合、Yj =0,1,3,7,15,31,63,127,255,511、即ち9ビットの2進数に変換する。CPU1はステップS4でクロック供給部(SUB TM)7に上記タイマセット値Yj をセットし、クロック供給部(SUB TM)7をスタートすると、クロック供給部(SUB TM)7はタイマクロック7a(クロック周期はtclk )によりダウンカウントを開始して所定周期のタイマクロックMCLKを出力する。上記Xj に対応させると2Xj×tclk 周期のクロックとなる。
【0023】
次にCPU1は、ステップS5で速度テーブルデータ No.2を読み出して、ステップS6でタイマセット値ANi をオートリロードタイマ(TM)5にセットし、オートリロードタイマ(TM)5をスタートする。オートリロードタイマ(TM)5はクロック供給部(SUB TM)7のタイマクロックMCLK(クロック周期は2Xj×tclk )によりダウンカウントを開始して、ANi ×{2Xj×tclk }の時間経過後に、ステッピングモータ制御回路4に相励磁切替信号TOを出力すると共にCPU1に割込信号を出力する。
【0024】
なお、CPU1はオートリロードタイマ(TM)5のタイマ出力割込発生前に、ステップS7で次の速度テーブルデータ No.3を読み出して、ステップS8でタイマセットコマンドと判定し、ステップS9でタイマセット値ANi+1 をオートリロードタイマ(TM)5にセットして、ステップS10でタイマ割込許可フラグをオンにして次処理へ進み、タイマ割込の発生を待つ。CPU1は上記ステップS8でコマンド判定がタイマクロック選択コマンドならばステップS11でタイマクロック選択待フラグをオンにして次処理へ進み、タイマ割込の発生を待つ。
【0025】
図6は、タイマ割込処理動作フローチャートである。
タイマ割込が発生するとステッピングモータ制御用タイマ割込処理プログラムがスタートし、CPU1はステップS12で速度モード判定を行い、加減速モードならステップS13に進み、タイマクロック選択待フラグの判定を行い、オフなのでステップS14に進む。CPU1はステップS14で速度テーブル読出しポインタを更新して、ステップS15及びステップS16で加減速テーブルの読出し終了判定を行い、加減速中なのでステップS17に進む。CPU1はステップS18で次の速度テーブルデータ No.4を読み出して、ステップS18でタイマセットコマンドと判定し、ステップS19でタイマセット値ANi+2 をオートリロードタイマ(TM)5にセットして次処理へ進み、タイマ割込の発生を待つ。
【0026】
次に、速度テーブルデータ No.5が上記と同様に処理された後、CPUはステップS17で次の速度テーブルデータ No.6を読み出して、ステップS18でタイマクロック選択コマンドと判定し、ステップS20に進み、タイマクロック選択待フラグをオンにして次処理に進み、タイマ割込の発生を待つ。
次にタイマ割込が発生すると、CPU1はステップS13でタイマクロック選択待フラグオンと判定し、タイマクロックを選択する処理に進む。
【0027】
図7は、クロック選択処理動作フローチャートである。
クロック選択処理では、クロック供給部(SUB TM)7とオートリロードタイマ(TM)5をストップし(ステップS21)、ステップS22で再び速度テーブルデータ No.6を読み出して、ステップS23でステップS3と同様にタイマクロック選択情報Xj+1 をタイマセット値Yj+1 に変換する。ステップS24でクロック供給部(SUB TM)7にタイマセット値Yj+1 をセットし、クロック供給部(SUB TM)7を再スタートし、ステップS25で次の速度テーブルデータ No.7を読み出して、ステップS26でタイマセット値ANi+4 をオートリロードタイマ(TM)5にセットし、オートリロードタイマ(TM)5を再スタートする。
次にCPU1はタイマ割込処理のステップS14に進み、ステップS14〜ステップS19まで前述のように処理して次処理に進み、タイマ割込の発生を待つ。
【0028】
上記したように、タイマ割込の発生毎にCPU1は速度テーブルデータを順次読み出してコマンド判定し、タイマクロック選択タイマ値Yj をクロック供給部(SUB TM)7にセットまたはタイマセット値ANi をオートリロードタイマ(TM)5にセットし、タイマ出力を得ることによりステッピングモータの相励磁切替信号を得て加速モードの速度を制御する。
なお、加速が終了して加速テーブルエンドに達すると、CPU1はステップS15の判定でステップS27に進み、タイマ割込許可フラグをオフにして、モータの速度制御処理を減速が必要となるまで中断し、定速モードに入る。定速モードでは加速モードの最後にセットされたタイマセット値による同じ周期のタイマ出力で相励磁切替される。
【0029】
図8は、センサ割込処理動作フローチャートである。
CPU1は排紙センサの出力信号が変化するタイミングでセンサ割込が発生するとセンサ割込処理プログラムがスタートする。ステップS28で印刷ジョブの最後の用紙の後端が排紙センサを通過したタイミングを検出すると、ステップS29で定速処理フラグオン及びタイマ割込許可フラグをオンにして次処理へ進みタイマ割込の発生を待つ。
【0030】
次にタイマ割込が発生すると、CPU1は図6のステップS12で定速処理フラグオンを判定しステップS30に進み、ポジションカウンタを更新し、ステップS32で所定のパルス数回転して減速ポイントに達したかどうかを判定し、減速ポイントに達していなければそのまま次処理へ進み、タイマ割込発生毎に減速ポイントに達するまでステップS12、ステップS30、ステップS31を繰り返す。減速ポイントに達すると、CPU1はステップS31からステップS32に進み、定速処理フラグをオフにして減速モードに入り、次処理へ進みタイマ割込を待つ。
【0031】
次にタイマ割込が発生すると、CPU1はステップS16で減速テーブルエンドと判定するまで、加速モードと同様に速度テーブルデータを順次読み出してコマンド判定し、タイマクロック選択タイマ値Yj をクロック供給部(SUB TM)7にセットまたはタイマセット値ANi をオートリロードタイマ(TM)5にセットし、タイマ出力を得ることによりステッピングモータの相励磁切替信号を得て減速モードの速度を制御する。
減速が終了して減速テーブルエンドに達すると、CPU1はステップS16の判定でステップS33に進み、クロック供給部(SUB TM)7とオートリロードタイマ(TM)5をストップし、またタイマ割込許可フラグをオフして次処理へ進む。
【0032】
図1の速度テーブルデータのビット数は8ビットであり、従来例の半分であるが、タイマの最大相切替時間及び分解能は以下のように従来と同等となっている。
tmax =ANimax×(2Xjmax ×tclk )=27 ×29 ×tclk ≒216×3μsec ≒200msec
Xj =0のときのタイマカウント範囲は、
(1〜27 )×tclk ≒3μsec〜384μsec
但し、クロック供給部(SUB TM)7のタイマクロックMCLKの周波数は従来と同様約300KHz(クロック周期約3μsec )である。
【0033】
〈具体例1の効果〉
具体例1によれば、制御部が速度テーブルデータを可変速制御順に参照して、タイマクロック選択情報が表示されているときは、タイマクロック発生部にそのタイマクロック選択情報をセットし、タイマセット値が表示されているときはそのタイマセット値をオートリロードタイマにセットして、必要に応じてタイマクロック周波数を切り替えながらステッピングモータを制御するので、全ての速度範囲についてタイマセット値を設定し、これを速度テーブルデータに含めるよりも少ないビット数で同等の分解能の制御ができる。即ち、高い周波数のタイマクロックによって高分解能の制御を行い、低い周波数のタイマクロックによって長い周期の相励磁信号を出力できる。従って、速度テーブルデータを格納するためのメモリを小容量にすることができ、装置のコストダウンを図ることができる。
【0034】
〈具体例2〉
図9には、具体例2のステッピングモータの制御装置ブロック図を示す。
この装置は、図1に示す装置のクロック供給部7を除外している。即ち、オートリロードタイマ(TM)5は、一定の周波数のタイマクロックCLKを受け入れて動作する構成となっている。この具体例の場合、速度テーブルデータ25の内容によって、具体例1と同様に少ないビット数のデータで広範囲の制御を行うようにしている。
【0035】
図10には、具体例2の速度テーブルデータ説明図を示す。
この速度テーブルデータ25も図の左側に示すように、可変速制御の実行順にコマンドが配列されたものである。その実行順序は No.1〜 No.9…というように表示した。この具体例における速度テーブルデータはタイマセット値シフトコマンドとタイマセットコマンドを組み合わせて構成される。タイマセット値シフトコマンドは上位2ビットがコマンド識別部26、下位6ビットがコマンドデータ部27から構成される。また、タイマセットコマンドは具体例1のものと全く同一の構成で、上位1ビットがコマンド識別部、下位7ビットがコマンドデータ部から構成される。タイマセット値シフトコマンドのコマンドデータ部27には、タイマセット値シフト情報Xj が格納される。具体例1では、タイマのクロック周期を変化させて、高分解能の制御と長周期の相励磁切替信号出力制御を実現した。一方、この具体例2では、タイマセット値のビット数を十分少ない状態にして、その2進数を上位方向にシフトさせて長周期の相励磁信号出力を実現する。上位ビットは変化するが下位ビットは全て“0”で補完する。高分解能の制御は上位ビットに“0”を補完してタイマセット値を下位ビットとしてそのまま使用する。このようにしても、具体例1と同様の効果を得る。
【0036】
〈動作〉
次に、この装置の動作をフローチャートを用いて説明する。
図11は、タイマ起動処理フローチャートである。
ステッピングモータ制御用タイマ起動処理プログラムがスタートし、CPU1はステップS1で速度テーブル読出しポインタを初期設定し、ステップS2で速度テーブルデータ No.1を読み出して、ステップS3でタイマセット値シフト情報Xj をレジスタSFに記憶する。次に、CPU1はステップS4で速度テーブルデータ No.2を読み出して、ステップS5でタイマセット値ANi をレジスタSFの情報Xj に従って左シフト即ち2Xj倍してオートリロードタイマ(TM)5にセットし、オートリロードタイマ(TM)5をスタートする。オートリロードタイマ(TM)5はタイマクロック5a(クロック周期はtclk)によりダウンカウントを開始して{ANi ×2Xj}×tclkの時間経過後にタイマ出力を発生しステッピングモータ制御回路4に相励磁切替信号TOを出力すると共にCPU1に割込信号を出力する。
【0037】
なお、CPU1はオートリロードタイマ(TM)5のタイマ出力割込発生前に、ステップS6で次の速度テーブルデータ No.3を読み出して、ステップS7でタイマセットコマンドと判定し、ステップS8でタイマセット値ANi+1 をレジスタSFの情報Xj に従って左シフト即ち2Xj倍してオートリロードタイマ(TM)5にセットして、ステップS9でタイマ割込許可フラグをオンにして次処理へ進み、タイマ割込の発生を待つ。CPU1は、上記ステップS7でコマンド判定がタイマセット値シフトコマンドならばステップS10でタイマセット値シフト情報をレジスタSFに記憶し、再びステップS6へ進み、ステップS6〜ステップS9まで前述のように処理して次処理に進み、タイマ割込の発生を待つ。
【0038】
図12は、タイマ割込処理フローチャートである。
次に、タイマ割込が発生するとステッピングモータ制御用タイマ割込処理プログラムがスタートし、CPU1はステップS11で、速度モード判定を行い、加減速モードならステップS12に進み、速度テーブル読出しポインタを更新して、ステップS13及びステップS14で加減速テーブルの読出し終了判定を行い、加減速中なのでステップS15に進む。CPU1はステップS15で次の速度テーブルデータ No.4を読み出して、ステップS16でタイマセットコマンドと判定し、ステップS17でタイマセット値ANi+2 をレジスタSFの情報Xi に従って左シフト即ち2Xj倍してオートリロードタイマ(TM)5にセットして次処理へ進み、タイマ割込の発生を待つ。
【0039】
次に、速度テーブルデータ No.5が上記と同様に処理された後、CPU1はステップS15で次の速度テーブルデータ No.6を読み出して、ステップS16でタイマセット値シフトコマンドと判定しステップS18に進み、タイマセット値シフト情報Xj+1 をレジスタSFに記憶し、ステップS19で速度テーブル読出しポインタを更新し、再びステップS15へ進みステップS15〜ステップS17まで前述のように処理して次処理に進み、タイマ割込の発生を待つ。
【0040】
上記したように、タイマ割込の発生毎に、CPU1は速度テーブルデータを順次読み出してコマンド判定し、タイマセット値シフト情報Xj をレジスタSFに記憶または/およびタイマセット値ANi をレジスタSFの情報Xj に従って左シフト即ち2Xj倍してオートリロードタイマ(TM)5にセットし、タイマ出力を得ることによりステッピングモータの相励磁切替信号TOを得て加速モードの速度を制御する。
【0041】
なお、加速が終了して加速テーブルエンドに達すると、CPU1はステップS13の判定でステップS20に進み、タイマ割込許可フラグをオフにして、モータの速度制御処理を減速が必要となるまで中断し、定速モードに入る。定速モードでは加速モードの最後にセットされたタイマセット値による同じ周期のタイマ出力5bで相励磁切替される。
【0042】
図13は、センサ割込処理フローチャートである。
CPU1は排紙センサの変化でセンサ割込が発生するとセンサ割込処理プログラムがスタートし、ステップS21で印刷ジョブの最後の用紙の後端が排紙センサを通過したタイミングを検出すると、ステップS22で定速処理フラグオン及びタイマ割込許可フラグをオンにして次処理へ進みタイマ割込の発生を待つ。
【0043】
次にタイマ割込が発生すると、CPU1はステップS11で定速処理フラグオンを判定しステップS23に進み、ポジションカウンタを更新しステップS24で所定のパルス数回転して減速ポイントに達したかどうかを判定し、減速ポイントに達していなければそのまま次処理へ進み、タイマ割込発生毎に減速ポイントに達するまでステップS11、ステップS23、ステップS24を繰り返す。減速ポイントに達すると、CPU1はステップS24からステップS25に進み、定速処理フラグをオフにして減速モードに入り、次処理へ進みタイマ割込を待つ。
【0044】
次にタイマ割込が発生すると、CPU1はステップS14で減速テーブルエンドと判定するまで、加速モードと同様に速度テーブルデータを順次読み出してコマンド判定し、タイマセット値シフト情報Xj をレジスタSFに記憶または/およびタイマセット値ANi をレジスタSFの情報Xj に従って左シフト即ち2Xj倍してオートリロードタイマ(TM)5にセットし、タイマ出力を得ることによりステッピングモータの相励磁切替信号TOを得て減速モードの速度を制御する。
減速が終了して減速テーブルエンドに達すると、CPU1はステップS14の判定でステップS26に進み、オートリロードタイマ(TM)5をストップし、またタイマ割込許可フラグをオフして次処理へ進む。
【0045】
図10の速度テーブルデータのビット数は8ビットであり、従来例の半分であるが、タイマの最大相切替時間及び分解能は以下のように従来と同等となっている。
tmax =ANimax×(2Xjmax ×tclk )=27 ×29 ×tclk ≒216×3μsec ≒200msec
Xj =0のときのタイマカウント範囲は、
(1〜27 )×tclk ≒3μsec〜384μsec
但し、クロック供給部(SUB TM)7のタイマクロック7aの周波数は従来と同様約300KHz(クロック周期約3μsec )である。
【0046】
〈具体例2の効果〉
以上のように、具体例2の装置によれば、速度テーブルデータにタイマセット値シフト情報と要求されるビット数に満たないビット数で表現されたタイマセット値を含めることによって、タイマセット値を上位側に桁シフトさせて下位側を“0”で満たした場合には長周期の相励磁信号を出力でき、タイマセット値の上位側を無効な値“0”で満たした場合には高分解能で制御ができる。これによって、速度テーブルデータのタイマセット値のビット数を十分に少なくしても高機能のステッピングモータ制御ができる。従って、速度テーブルデータを格納するためのメモリの容量を削減し、装置のコストダウンを図ることができる。
【0047】
〈具体例3〉
図14には、具体例3のステッピングモータの制御装置ブロック図を示す。
ここに示す制御部1やROM2、RAM3、ステッピングモータ制御回路4等の構成は、図9を用いて説明したものと同様である。ここで、この具体例では、オートリロードタイマ(TM)5に加えて、繰り返しタイマSUBCT27が設けられている。この繰り返しタイマ27は、オートリロードタイマ5から出力される相励磁切替信号TOを受け入れ、くり返し処理を制御する機能を持つ。
【0048】
上記の具体例1や2では、オートリロードタイマの動作や速度テーブルデータの内容を工夫することによって、必要な部分に分解能の高い制御を行いつつ、速度テーブルデータ全体のデータ量を削減するようにした。従って、具体例1や具体例2は、可変速制御を行う部分において効果的に利用される。
【0049】
ここで、図3に示したプリンタ用ステッピングモータ制御例説明図を再び参照する。この図の時刻t1からt2までは加速制御を行う部分である。ところが、この中に一時的に定速制御を行う部分がある。この部分においてもこれまでの例では速度テーブルデータを一定の周期で読み取り、オートリロードタイマへの周期的なデータセットが必要となる。従って、一定の速度で駆動していても相当量のデータが必要となる。この具体例3では、こうした定速制御が一部に含まれるような場合に、データ量を削減するようにしている。このデータ量削減のために繰り返しタイマ27が設けられる。
【0050】
図15には、繰り返しタイマの結線図を示す。
この繰り返しタイマ27には、レジスタ61、フリップフロップ62、カウンタ63、アンドゲート64が設けられている。レジスタ61には、図14に示す制御部1が速度テーブルデータ25を読み取って得たタイマセット値がセットされる。フリップフロップ62は、図14に示す制御部1から出力される繰り返しスタートパルスPTによりセットされる。また、カウンタ63がカウントダウンして出力するボロー信号63Aを、繰り返しストップパルスPEとして受け入れて、リセットされる。
【0051】
カウンタ63はレジスタ61の出力を受け入れて、これを繰り返しスタートパルスPTが入力するタイミングでロードし、その後、アンドゲート64の出力で減算カウントを行うカウンタである。アンドゲート64にはオートリロードタイマ5から出力される相励磁切替信号TOが入力する。これをカウンタ63がカウントし、最初にロードされたデータをデクリメントする。アンドゲート64は、繰り返しスタートパルスPTがフリップフロップ62にセットされているときにのみ相励磁切替信号TOをカウンタ63に供給するためのものである。
【0052】
こうして、繰り返しタイマ27が相励磁切替信号との出力回数をカウントし、繰り返し回数分をカウントしている間、図10を用いて説明した速度テーブルデータのアドレスポインタが一定の位置に保持される。そして、カウンタ63がカウントダウンすると、ボロー信号によりフリップフロップ62がリセットされて、繰り返しタイマ27の動作が停止するとともに、速度テーブルデータのアドレスポインタが次に進められる。
【0053】
図16には、こうした具体例3に使用される速度テーブルデータの説明図を示す。
このデータは、これまで説明してきた速度テーブルと同様のタイマセットコマンドの中に、繰り返しコマンドが含められたものである。この繰り返しコマンドはタイマ値繰り返しステップ数の情報を含む。そして、そのすぐ後に続くタイマセット値がこの繰り返しの対象となる速度である。
【0054】
従って、この図の例では実行順序が No.1〜 No.4まで加速制御が行われ、 No.5と No.6でタイマ値繰り返しステップ数に相当する時間定速制御が行われ、実行順序 No.7から再び加速制御が行われる。
【0055】
図17と図18を用いて、装置の具体的な動作を説明する。
図17は、具体例3の装置の動作フローチャート(その1)、図18は、同じく(その2)である。
まず、図17のステップS1において、ステッピングモータ制御用タイマ自動処理プログラムがスタートし、制御部1が図16に示したような速度テーブルデータの読出しポインタを初期設定する。次に、ステップS2で、そのポインタが示す速度テーブルデータを読み出す。次に、ステップS3では、そのデータがタイマセットコマンドか繰り返しコマンドかの判断をする。タイマセットコマンドであればステップS4に進む。繰り返しコマンドであればステップS5に進む。タイマセットコマンドであればそのタイマセット値をオートリロードタイマ(TM)5にセットする。
【0056】
一方、繰り返しコマンドであれば、繰り返しタイマ(SUBCT)27にタイマ値繰り返しステップ数をセットする。次に、ステップS6では、速度テーブルデータの読出しポインタを1つ更新し、繰り返しコマンドの次に続くタイマセットコマンドを読み出す。そして、ステップS7でオートリロードタイマ(TM)5にそのタイマセット値をセットする。ステップS4あるいはステップS5〜S7のいずれの処理を実行した後にもステップS8に進み、オートリロードタイマ(TM)5をスタートさせる。
【0057】
次に、ステップS9では、速度テーブル読出しポインタを“1”だけ更新する。更に、ステップS10で、更新した速度テーブル読出しポインタがテーブル最後のポインタであるかどうかを判断する(ステップS10)。最後のテーブル読出しポインタであれば、オートリロードタイマ(TM)5がカウントを終了後にモータは停止し、プリンタは次の処理に移る。速度テーブル読出しポインタが最後のポインタでなければ加減速制御が継続される。この処理の続きが図18に示されている。
【0058】
ステップS11では、速度テーブルデータの読出しポインタが示している位置のデータを読出し、ステップS12ではこれがタイマセットコマンドかどうかを判断する。ステップS13では、タイマセットコマンドの場合にオートリロードタイマ(TM)5にタイマ値をセットする。また、タイマセットコマンドでなければ繰り返しコマンドであるから、ステップS14,S15,S16の処理を実行する。これは、ステップS5,S6,S7に示した処理と同一である。そして、ステップS7で、速度テーブル読出しポインタを更新し、ステップS18でそのポインタが速度テーブルデータの最後を示すポインタかどうかを判断する。最後を示したものでなければ再びステップS11に戻る。こうして、ステップS11〜S18の処理を繰り返し、ステッピングモータの加減速制御が実行される。
【0059】
図19には、速度テーブル読出しポインタ更新処理説明図を示す。
この図により、図17と図18に示したステップS9及びステップS17の速度テーブル読出しポインタ更新処理について説明する。
通常の処理の場合には、図16に示すように、タイマセットコマンドが順番に読み出され、1つのタイマセットコマンドを実行する毎に速度テーブル読出しポインタが更新されて、次のタイマセットコマンドが読み出される。こうして、タイマセット値が次々に更新され、オートリロードタイマが動作する。一方、繰り返しコマンドにより図15に示す繰り返しタイマが動作を開始すると、ここに示されたタイマ値繰り返しステップ数だけ同一のタイマセット値をそのまま使用する。即ち、速度テーブルの更新をしない。従って、図17の場合も図18の場合も、速度テーブル読出しポインタ更新処理(ステップS9,S17)では、この図19に示すような判断が行われる。
【0060】
即ち、まずステップS19において、繰り返しタイマが動作中かどうかを判断する。動作中でなければ通常のタイマセットコマンドであるから、ステップS20において、速度テーブル読出しポインタを更新する。一方、繰り返しタイマが動作中であれば速度テーブル読出しポインタはそのままにして処理を元に戻す。
【0061】
〈具体例3の効果〉
以上のように、繰り返しコマンドを速度テーブルデータ中に含めることによって、1つのタイマセットコマンドを用いて一定速度を連続的に維持することが可能になる。従って、速度テーブルデータのデータ量を減少させ、メモリコストの削減が可能になる。
【図面の簡単な説明】
【図1】具体例1のステッピングモータの制御装置ブロック図である。
【図2】オートリロードタイマの結線図である。
【図3】プリンタ用ステッピングモータ制御例説明図である。
【図4】具体例1の速度テーブルデータ説明図である。
【図5】タイマ起動処理フローチャートである。
【図6】タイマ割込処理フローチャートである。
【図7】クロック選択処理フローチャートである。
【図8】センサ割込処理フローチャートである。
【図9】具体例2のステッピングモータ制御装置ブロック図である。
【図10】具体例2の速度テーブルデータ説明図である。
【図11】タイマ起動処理フローチャートである。
【図12】タイマ割込処理フローチャートである。
【図13】センサ割込処理フローチャートである。
【図14】具体例3のステッピングモータの制御装置である。
【図15】繰り返しタイマの結線図である。
【図16】具体例3の速度テーブルデータ説明図である。
【図17】具体例3の装置の動作フローチャート(その1)である。
【図18】具体例3の装置の動作フローチャート(その2)である。
【図19】速度テーブル読出しポインタ更新処理の説明図である。
【符号の説明】
1 制御部(CPU)
4 ステッピングモータ制御回路
5 オートリロードタイマ(TM)
7 クロック供給部(SUB TM)
16 ステッピングモータ
Claims (2)
- ステッピングモータと、
このステッピングモータを可変速制御するための相励磁信号を生成するオートリロードタイマと、
このオートリロードタイマ動作用のタイマクロックを供給するクロック供給部と、
装置の動作を制御する制御部とを備え、
前記オートリロードタイマは、前記制御部によりセットされたタイマセット値に相当する数だけ前記タイマクロックをカウントしたとき相励磁信号を一回出力するように動作し、
前記制御部は、前記ステッピングモータを制御するための速度テーブルデータを順に読み出しながら制御を行い、
この速度テーブルデータは、
前記クロック供給部の出力するタイマクロックの周波数を選択するタイマクロック選択情報と、このタイマクロックの周波数選択後に、前記オートリロードタイマにセットするためのタイマセット値とを含むことを特徴とするステッピングモータの制御装置。 - ステッピングモータと、
このステッピングモータを可変速制御するための相励磁信号を生成するオートリロードタイマと、
装置の動作を制御する制御部とを備え、
前記オートリロードタイマは、前記制御部によりセットされたタイマセット値に相当する数だけ所定のタイマクロックをカウントしたとき相励磁信号を一回出力するように動作し、
前記制御部は、前記ステッピングモータを制御するための速度テーブルデータを順に読み出しながら制御を行い、
この速度テーブルデータは、
タイマセット値シフト情報と、要求されるビット数に満たないビット数で表現されたタイマセット値とを含み、
前記制御部は、速度テーブルデータから読み出したタイマセット値を、前記タイマセット値シフト情報に従って、上位側にシフトさせ、もしくは、上位側を無効な値で満たして、前記オートリロードタイマにセットするためのタイマセット値を得ることを特徴とするステッピングモータの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15522698A JP3689801B2 (ja) | 1998-05-20 | 1998-05-20 | ステッピングモータの制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15522698A JP3689801B2 (ja) | 1998-05-20 | 1998-05-20 | ステッピングモータの制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11341889A JPH11341889A (ja) | 1999-12-10 |
JP3689801B2 true JP3689801B2 (ja) | 2005-08-31 |
Family
ID=15601292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15522698A Expired - Fee Related JP3689801B2 (ja) | 1998-05-20 | 1998-05-20 | ステッピングモータの制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3689801B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4642988B2 (ja) * | 2000-10-03 | 2011-03-02 | 富士通フロンテック株式会社 | パルスモータ制御装置 |
JP7435162B2 (ja) | 2020-03-30 | 2024-02-21 | 沖電気工業株式会社 | タイミング特定装置、画像形成装置及びモータ駆動装置 |
-
1998
- 1998-05-20 JP JP15522698A patent/JP3689801B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11341889A (ja) | 1999-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3689801B2 (ja) | ステッピングモータの制御装置 | |
US5034674A (en) | Motor driving voltage control device | |
KR100737557B1 (ko) | 스테핑 모터의 제어회로, 전자 카메라 및 스테핑 모터의제어방법 | |
US6312177B1 (en) | Line printer | |
US9692334B2 (en) | Phase management and power saving mode in an image forming apparatus | |
KR960005692B1 (ko) | 스테핑 모터의 구동제어장치 및 구동제어방법 | |
JPH05294022A (ja) | プリンタの紙送りモータ制御装置 | |
JP4054915B2 (ja) | ステッピングモータ制御回路、電子カメラ及びステッピングモータ制御方法 | |
JP2000300776A (ja) | パチンコ球払出装置 | |
JP7456216B2 (ja) | 駆動制御装置、電子時計及びモータの駆動信号の出力制御方法 | |
JP3165777B2 (ja) | ステッピングモータのスローアップ・ダウン制御装置 | |
KR100597736B1 (ko) | 펄스 발생방법 및 펄스 발생장치와, 이를 이용하는모터제어시스템 | |
JP2576179B2 (ja) | ステッピングモータの制御装置 | |
JP2004072971A (ja) | モータ制御装置、モータ制御方法及び画像形成装置 | |
US6175402B1 (en) | Safety load control apparatus and method | |
JP2004215461A (ja) | ステッピングモータの駆動制御装置およびそれを備えたプリンタ | |
JP2000287498A (ja) | ステッピングモータの駆動制御装置 | |
JP2002112591A (ja) | モータ制御装置および記憶媒体 | |
JP2002223593A (ja) | ステッピングモータ制御方法及び制御回路とステッピングモータを備えた電子装置 | |
JPH10337067A (ja) | スキャナモータ制御回路、画像形成装置及びレーザビームプリンタ | |
JP2006149088A (ja) | ステッピングモータ制御装置およびステッピングモータ制御方法 | |
JPH0753435Y2 (ja) | モ−タの回転数制御装置 | |
JPH10127097A (ja) | 駆動制御装置および方法、画像形成装置ならびにモータ駆動制御用プログラムを記録した記録媒体 | |
RU1820475C (ru) | Способ циклического управлени шаговым двигателем | |
JP2003244993A (ja) | ステッピングモータ速度制御装置および速度制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040707 |
|
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: 20050524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050531 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110624 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120624 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130624 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |