JP6167672B2 - モータ制御装置及びモータ制御方法 - Google Patents

モータ制御装置及びモータ制御方法 Download PDF

Info

Publication number
JP6167672B2
JP6167672B2 JP2013115556A JP2013115556A JP6167672B2 JP 6167672 B2 JP6167672 B2 JP 6167672B2 JP 2013115556 A JP2013115556 A JP 2013115556A JP 2013115556 A JP2013115556 A JP 2013115556A JP 6167672 B2 JP6167672 B2 JP 6167672B2
Authority
JP
Japan
Prior art keywords
register
pulse
count number
count
target
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
JP2013115556A
Other languages
English (en)
Other versions
JP2014236557A (ja
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 JP2013115556A priority Critical patent/JP6167672B2/ja
Publication of JP2014236557A publication Critical patent/JP2014236557A/ja
Application granted granted Critical
Publication of JP6167672B2 publication Critical patent/JP6167672B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Control Of Stepping Motors (AREA)

Description

本発明は、モータ制御装置及びモータ制御方法に関する。
各種装置の駆動源として、ステッピングモータが広く利用されている。ステッピングモータは、運動量が駆動パルスの数に比例すること、デジタル制御回路との相性が良いこと、及びフィードバック回路が必要ないこと等の利点がある。そのため、ステッピングモータは、様々な分野の装置で使用されている。一方、ステッピングモータは、負荷が大きすぎたり、パルス周波数が高すぎたりすると、相切り替えが正常に行われず同期外れが発生し、制御が乱れる現象(脱調)が発生することがある。駆動パルス(歩進パルス)により、ステッピングモータの加速又は減速を行う場合、メモリに予め記憶されている制御テーブルを利用して、所定のパルス周波数のパルスを生成する方法が知られている。
また、特許文献1には、モータの速度目標値を算出し、クロックパルスのカウント値が当該速度目標値に一致したときに歩進パルスを発生させることにより、モータの加速又は減速を行うパルス生成部を備える画像形成装置の発明が開示されている。
しかしながら、従来のモータ制御方法では、簡易な構成でモータの細かな制御を実現することが難しかった。
本発明は、上記に鑑みてなされたものであって、簡易な構成でモータを細かく制御できるモータ制御装置及びモータ制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、パルスをモータドライバに送信することによりモータを制御するモータ制御装置であって、ルスを発生させるタイミングを示す、パルス間の基準クロックのカウント数を含む制御テーブルを記憶するメモリと、前記パルスの目標発生回数を記憶する第1レジスタと、前記メモリから前記カウント数を読み出して記憶する第2レジスタと、前記カウント数の目標カウント数を記憶する第3レジスタと、前記パルスの目標発生回数を前記第1レジスタに指定し、前記第2レジスタに該第2レジスタがはじめに参照する前記メモリのアドレスを指し、前記目標カウント数を前記第3レジスタに指定する制御部と、前記パルスの発生回数に応じて、前記カウント数を読み出す前記メモリのアドレスを変更するアドレスカウンタと、前記発生回数と前記目標発生回数とが一致したときに、前記アドレスカウンタの動作を停止させる比較器と、前記発生回数が前記目標発生回数以下である場合に、前記第2レジスタの前記カウント数を前記パルス発生器に送信し、前記発生回数が前記目標発生回数より大きい場合に、前記第3レジスタの前記目標カウント数を前記パルス発生器に送信するセレクタと、前記パルスを前回発生させてから、前記セレクタから受信した前記カウント数又は前記目標カウント数だけ待った後、前記パルスを発生させるパルス発生器と、を備える。
本発明によれば、簡易な構成でモータを細かく制御できるという効果を奏する。
図1は、第1実施形態のモータ制御装置の構成の一例を示す図である。 図2は、第1実施形態のモータ制御情報の一例を説明するための図である。 図3は、第1実施形態のモータ制御方法の一例を示すフローチャートである。 図4は、第1実施形態のモータ制御装置がモータドライバに送信するパルスの一例を示す図である。 図5は、第2実施形態のモータ制御装置の構成の一例を示す図である。 図6は、第2実施形態のモータ制御情報の一例を説明するための図である。 図7は、第2実施形態のモータ制御方法の一例を示すフローチャートである。 図8は、第2実施形態のモータ制御装置がモータドライバに送信するパルスの一例を示す図である。 図9は、第3実施形態のモータ制御装置の構成の一例を示す図である。 図10は、第3実施形態のモータ制御情報の一例を説明するための図である。 図11は、第3実施形態のモータ制御方法の一例を示すフローチャートである。
以下に添付図面を参照して、モータ制御装置及びモータ制御方法の実施形態を詳細に説明する。
(第1実施形態)
図1は、第1実施形態のモータ制御装置100の構成の一例を示す図である。本実施形態のモータ制御装置100は、パルス発生器1、レジスタ2、CPU3、メモリ4、レジスタ5、アドレスカウンタ6及び比較器7を備える。モータ制御装置100は、モータドライバ400にパルスを送信することにより、モータを制御する。モータドライバ400は、モータ制御装置100から受信したパルスに応じた電流をモータに与えることにより、モータを動作させる。
レジスタ2は、パルスの目標発生回数を記憶する。メモリ4は、次のパルスを発生させるタイミングを示す基準クロックのカウント数を含む制御テーブルを記憶する。レジスタ5は、制御テーブルからカウント数を読み出して記憶する。なお、カウント数の読み出し方法についての詳細は後述する。レジスタ5は、読み出したカウント数をパルス発生器1に送信する。
本実施形態のモータ制御装置100は、制御テーブル、パルスの目標発生回数及び制御テーブルからカウント数を最初に読み出すアドレス(初期アドレス)によりモータを制御する。以下、制御テーブル、目標発生回数及び初期アドレスをモータ制御情報という。
図2は、第1実施形態のモータ制御情報の一例を説明するための図である。図2の例では、制御テーブルは、アドレス及びカウント数を有する。アドレスは、カウント数が記憶されているメモリ4のアドレスである。カウント数は、パルスを発生させてから、次のパルスを発生させるまでの待ち時間を示す。図2の例では、例えば、アドレス0には、カウント数として1000が記録されている。また、目標発生回数に7が指定されている。また、初期アドレスに0が指定されている。
図1に戻り、CPU3は、パルスの目標発生回数をレジスタ2に指定する。また、CPU3は、レジスタ5がはじめに参照するメモリ4のアドレスをレジスタ5に指定する。CPU3は、駆動の開始又は停止を示す要求をパルス発生器1に送信する。
パルス発生器1は、駆動の開始を示す要求をCPU3から受信すると、1回目のパルスを発生させ、当該パルスをモータドライバ400に送信する。パルス発生器1は、前回のパルスを発生させてから、レジスタ5から受信したカウント数だけ待った後、次のパルスを発生させる。また、パルス発生器1は、駆動の停止を示す要求をCPU3から受信すると、当該パルスの送信を停止する。また、パルス発生器1は、パルスを発生させた後に、パルスを発生させたことを示すパルス発生通知を比較器7に送信する。
比較器7は、パルス発生通知を受信すると、パルスの発生回数を1増やす。比較器7は、パルスの発生回数が目標発生回数より小さい場合に、メモリ4のアドレスを変更するアドレス変更信号を、アドレスカウンタ6に送信する。
アドレスカウンタ6は、アドレス変更信号を受信すると、カウント数を読み出すメモリ4のアドレスを変更(カウントアップ又はダウン)する。アドレスカウンタ6は、変更したメモリ4のアドレスを、レジスタ5に送信する。すなわち、レジスタ5により参照されるメモリ4のアドレスは、パルスの発生回数に応じて、変更(カウントアップ又はダウン)される。
なお、アドレスカウンタ6は、パルスの発生回数ではなく、アドレスのカウントアップ(カウントダウン)数をカウントしてもよい。アドレスカウンタ6は、モータを加速させるときは、メモリ4のアドレスをカウントアップする。アドレスカウンタ6は、モータを減速させるときは、メモリ4のアドレスをカウントダウンする。
また、比較器7は、パルスの発生回数と、パルスの目標発生回数とが一致したときに、アドレスカウンタ6に停止信号を送信することにより、アドレスカウンタ6のカウント動作(カウントアップ又はダウン)を停止させる。これにより、モータ制御装置100は、一定のパルス速度(周波数)のパルスをモータドライバ400に送信することにより、モータを等速運動させる。
図3は、第1実施形態のモータ制御方法の一例を示すフローチャートである。図3の例は、モータ停止状態から、モータを加速させる場合の例である。CPU3は、パルスの目標発生回数をレジスタ2に指定する(ステップS1)。次に、CPU3は、レジスタ5がカウント数を最初に読み出すメモリ4のアドレスを、レジスタ5に指定する(ステップS2)。パルス発生器1は、駆動の開始を示す要求をCPU3から受信することにより、1回目のパルスをモータドライバ400に送信する(ステップS3)。次に、比較器7は、パルス発生通知を、パルス発生器1から受信する。比較器7は、パルスの発生回数を0から1に増やす(ステップS4)。比較器7は、パルスの発生回数をアドレスカウンタ6に通知する。アドレスカウンタ6は、パルス発生器1が1回目のパルスを発生させた後は、読み出すアドレスをカウントアップせずに、メモリ4の制御テーブルのカウント数を読み出す命令のみをレジスタ5に送信する。CPU3が、パルス発生器1が1回目のパルスを発生させた後に、レジスタ5がメモリ4から読み出すアドレス(初期アドレス)をレジスタ5に指定しているためである。
次に、レジスタ5は、メモリ4の制御テーブルのカウント数を読み込む(ステップS5)。レジスタ5は、パルス発生器1が1回目のパルスを発生させた後は、CPU3により指定されたメモリ4のアドレスに記憶されたカウント数を読み込む。レジスタ5は、パルス発生器1が2回目以降のパルスを発生させた後は、アドレスカウンタ6により変更(カウントアップ)されたメモリ4のアドレスに記憶されたカウント数を読み込む。次に、レジスタ5は、ステップS5で読み出したカウント数を、パルス発生器1に出力する(ステップS6)。次に、パルス発生器1は、レジスタ5が出力した(レジスタ5から読み出した)カウント数に応じて、次のパルスを発生させるタイミングを変更する。すなわち、パルス発生器1は、前回のパルスを発生させてから当該カウント数だけ待ったあと、次のパルスを発生させ、当該パルスをモータドライバ400に送信する(ステップS7)。次に、比較器7は、パルス発生器1からパルス発生通知を受信する。比較器7は、パルス発生回数を1増やす(ステップS8)。
次に、パルス発生器1は、CPU3から駆動の停止を示す要求を受信したか否かを判定する(ステップS9)。駆動の停止を示す要求を受信した場合(ステップS9、Yes)は、処理を終了する。駆動の停止を示す要求を受信していない場合(ステップS9、No)は、ステップS10に進む。
次に、比較器7は、パルスの発生回数が、レジスタ2の目標発生回数より小さいか否かを判定する(ステップS10)。目標発生回数より小さい場合(ステップS10、Yes)は、比較器7は、メモリ4のアドレスをカウントアップするアドレス変更信号を、アドレスカウンタ6に送信する。アドレスカウンタ6は、比較器7からアドレス変更信号を受信すると、レジスタ5が参照するメモリ4のアドレスをカウントアップする(ステップS11)。アドレスカウンタ6は、当該変更されたメモリ4のアドレスを含むメモリ4の読み出し命令を、レジスタ5に送信する。ステップS11の処理の後は、ステップS5に戻る。これにより、レジスタ5は、ステップS11により変更されたメモリ4のアドレスからカウント数を読み込む。
目標発生回数以上である場合(ステップS10、No)は、レジスタ5が参照するメモリ4のアドレスを変更する処理(ステップS11)を実行せずにステップS5に戻る。これにより、レジスタ5は、前回、カウント数を読み出したときと同じメモリ4のアドレスからカウント数を読み込む。
図4は、第1実施形態のモータ制御装置100がモータドライバ400に送信するパルスの一例を示す図である。図4のパルスの例は、モータ制御装置100が、図2のモータ制御情報によってモータを制御する場合の例である。図4の例は、目標発生回数(7回)だけパルスを発生させた後に、CPU3が駆動の停止を示す要求をパルス発生器1に送信した場合の例である。なお、モータ制御装置100が、目標発生回数だけパルスを発生させた後の動作は、モータの停止に限られず、加速、減速又は等速でもよい。加速又は減速の場合は、CPU3は、再度、パルスの目標発生回数をレジスタ2に指定し、初期アドレスをレジスタ5に指定する。
本実施形態のモータ制御装置100によれば、目標速度制御ではなく、パルスの発生回数によりモータを制御するため、ステップ角(モータ回転角)による細かいモータの制御が可能になる。また、本実施形態のモータ制御装置100は、演算手段が比較器7のみであり、簡易な構成でモータを細かく制御することができる。
(第2実施形態)
次に、第2実施形態のモータ制御装置200について説明する。第2実施形態のモータ制御装置200は、モータ制御情報として、目標カウント数が追加されている点が、第1実施形態とは異なる。
図5は、第2実施形態のモータ制御装置200の構成の一例を示す図である。本実施形態のモータ制御装置200は、パルス発生器21、レジスタ22、CPU23、メモリ24、レジスタ25、アドレスカウンタ26、比較器27、レジスタ28及びセレクタ29を備える。モータドライバ400については、第1実施形態と同じであるため説明を省略する。
レジスタ22は、パルスの目標発生回数を記憶する。メモリ24は、次のパルスを発生させるタイミングを示す基準クロックのカウント数を含む制御テーブルを記憶する。レジスタ25は、制御テーブルからカウント数を読み出して記憶する。なお、カウント数の読み出し方法についての詳細は後述する。レジスタ25は、読み出したカウント数をセレクタ29に送信する。レジスタ28は、目標カウント数を記憶する。レジスタ25は、目標カウント数をセレクタ29に送信する。
本実施形態のモータ制御装置200は、目標カウント数、制御テーブル、パルスの目標発生回数及び制御テーブルからカウント数を最初に読み出すアドレス(初期アドレス)によりモータを制御する。本実施形態のモータ制御装置200では、目標カウント数、制御テーブル、目標発生回数及び初期アドレスをモータ制御情報という。本実施形態のモータ制御装置200では、目標カウント数を、パルスを目標発生回数だけ発生させた後に到達するカウント数に近い値に設定することにより、モータをより細かく制御することができる。なお、目標カウント数、制御テーブル、目標発生回数及び初期アドレスの指定方法は、この方法に限られず任意でよい。
図6は、第2実施形態のモータ制御情報の一例を説明するための図である。図6の例では、制御テーブルは、アドレス及びカウント数を有する。アドレスは、カウント数が記憶されているメモリ24のアドレスである。カウント数は、パルスを発生させてから、次のパルスを発生させるまでの待ち時間を示す。図6の例では、例えば、アドレス0には、カウント数として1000が記録されている。また、目標発生回数に4が指定されている。また、初期アドレスに0が指定されている。また、目標カウント数に310が指定されている。
図5に戻り、CPU23は、パルスの目標発生回数をレジスタ22に指定する。また、CPU23は、レジスタ25がはじめに参照するメモリ24のアドレスをレジスタ25に指定する。また、CPU23は、目標カウント数をレジスタ28に指定する。また、CPU23は、駆動の開始又は停止を示す要求をモータドライバ400に送信する。
パルス発生器21は、駆動の開始を示す要求をCPU23から受信すると、1回目のパルスを発生させ、当該パルスをモータドライバ400に送信する。パルス発生器21は、前回のパルスを発生させてから、セレクタ29から受信したカウント数だけ待った後、次のパルスを発生させる。また、パルス発生器21は、駆動の停止を示す要求をCPU23から受信すると、当該パルスの送信を停止する。また、パルス発生器21は、パルスを発生させた後に、パルスを発生させたことを示すパルス発生通知を比較器27に送信する。
比較器27は、パルス発生通知を受信すると、パルスの発生回数を1増やす。比較器27は、レジスタ22の目標発生回数と、パルスの発生回数とを比較する。比較器27は、パルスの発生回数が目標発生回数より小さい場合に、メモリ24のアドレスをカウントアップするアドレス変更信号を、アドレスカウンタ26に送信するとともに、レジスタ25のカウント数を選択する選択信号をセレクタ29に送信する。また、比較器27は、パルスの発生回数と、パルスの目標発生回数とが一致したときに、アドレスカウンタ26に停止信号を送信するとともに、レジスタ25のカウント数を選択する選択信号をセレクタ29に送信する。また、比較器27は、発生回数が目標発生回数より大きい場合に、レジスタ28の目標カウント数を選択する選択信号を、セレクタ29に送信する。
アドレスカウンタ26は、アドレス変更信号を受信すると、カウント数を読み出すメモリ24のアドレスを変更(カウントアップ又はダウン)する。アドレスカウンタ6は、変更したメモリ24のアドレスを、レジスタ25に送信する。すなわち、レジスタ25により参照されるメモリ24のアドレスは、パルスの発生回数に応じて、変更(カウントアップ又はダウン)される。
なお、アドレスカウンタ26は、パルスの発生回数ではなく、アドレスのカウントアップ(カウントダウン)数をカウントしてもよい。アドレスカウンタ26は、モータを加速させるときは、メモリ24のアドレスをカウントアップする。アドレスカウンタ26は、モータを減速させるときは、メモリ24のアドレスをカウントダウンする。
セレクタ29は、レジスタ25のカウント数、又はレジスタ28の目標カウント数を、比較器27から受信した選択信号に応じて選択し、パルス発生器21に送信する。セレクタ29は、パルスの発生回数が目標発生回数以下である場合に、レジスタ25のカウント数をパルス発生器21に送信し、発生回数が目標発生回数より大きい場合に、レジスタ28のカウント数をパルス発生器21に送信する。
図7は、第2実施形態のモータ制御方法の一例を示すフローチャートである。図7の例は、モータ停止状態から、モータを加速させる場合の例である。CPU23は、パルスの目標発生回数をレジスタ22に指定する(ステップS21)。次に、CPU23は、レジスタ25がカウント数を最初に読み出すメモリ24のアドレスを、レジスタ25に指定する(ステップS22)。次に、CPU23は、パルスの目標カウント数をレジスタ28に指定する(ステップS23)。次に、パルス発生器21は、駆動の開始を示す要求をCPU23から受信することにより、1回目のパルスをモータドライバ400に送信する(ステップS24)。
次に、比較器27は、パルス発生器21からパルス発生通知を受信する。比較器27は、パルスの発生回数を0から1に増やす(ステップS25)。比較器27は、レジスタ25のカウント数を選択する選択信号を、セレクタ29に送信する。また、比較器27は、パルスの発生回数(1回)をアドレスカウンタ26に通知する。アドレスカウンタ26は、パルス発生器21が1回目のパルスを発生させた後は、読み出すアドレスをカウントアップせずに、メモリ24の制御テーブルのカウント数を読み出す命令のみをレジスタ25に送信する。CPU23が、パルス発生器21が1回目のパルスを発生させた後に、レジスタ25がメモリ24から読み出すアドレス(初期アドレス)をレジスタ25に指定しているためである。
次に、レジスタ25は、メモリ24の制御テーブルのカウント数を読み込む(ステップS26)。レジスタ25は、パルス発生器21が1回目のパルスを発生させた後は、CPU23により指定されたメモリ24のアドレスに記憶されたカウント数を読み込む。レジスタ25は、パルス発生器21が2回目以降のパルスを発生させた後は、アドレスカウンタ26により変更(カウントアップ)されたメモリ24のアドレスに記憶されたカウント数を読み込む。次に、セレクタ29は、レジスタ25から読み出したカウント数を、パルス発生器21に送信する(ステップS27)。次に、パルス発生器21は、セレクタ29が出力したカウント数に応じて、次のパルスを発生させるタイミングを変更する。すなわち、パルス発生器21は、前回のパルスを発生させてから当該カウント数だけ待ったあと、次のパルスを発生させ、当該パルスをモータドライバ400に送信する(ステップS28)。次に、比較器27は、パルス発生器21からパルス発生通知を受信する。比較器27は、パルス発生回数を1増やす(ステップS29)。
次に、パルス発生器21は、CPU23から駆動の停止を示す要求を受信したか否かを判定する(ステップS30)。駆動の停止を示す要求を受信した場合(ステップS30、Yes)は、処理を終了する。駆動の停止を示す要求を受信していない場合(ステップS30、No)は、ステップS31に進む。
次に、比較器27は、パルスの発生回数が、レジスタ22の目標発生回数より小さいか否かを判定する(ステップS31)。目標発生回数より小さい場合(ステップS31、Yes)は、比較器27は、メモリ24のアドレスをカウントアップするアドレス変更信号を、アドレスカウンタ26に送信するとともに、レジスタ25のカウント数を選択する選択信号(選択信号B)をセレクタ29に送信する(ステップS32)。アドレスカウンタ26は、比較器27からアドレス変更信号を受信すると、レジスタ25が参照するメモリ24のアドレスをカウントアップする(ステップS33)。アドレスカウンタ26は、当該変更されたメモリ24のアドレスを含むメモリ24の読み出し命令を、レジスタ25に送信する。ステップS33の処理の後は、ステップS26に戻る。これにより、レジスタ25は、ステップS33により変更されたメモリ24のアドレスからカウント数を読み込む。
目標発生回数以上である場合(ステップS31、No)は、比較器27は、パルスの発生回数が、レジスタ22の目標発生回数と一致するか否かを判定する(ステップS34)。目標発生回数と一致する場合(ステップS34、Yes)は、比較器27は、アドレスカウンタ26のカウント動作を停止させる停止信号を、アドレスカウンタ26に送信するとともに、レジスタ25のカウント数を選択する選択信号(選択信号B)をセレクタ29に送信する(ステップS35)。アドレスカウンタ26は、比較器27から停止信号を受信すると、カウント動作を停止する(ステップS36)。アドレスカウンタ26は、メモリ24の読み出し命令を、レジスタ25に送信する。ステップS36の処理の後は、ステップS26に戻る。これにより、レジスタ25は、前回、読み出した時と同じアドレスを使用してカウント数を読み込む。
目標発生回数と一致しない場合(ステップS34、No)は、比較器27は、レジスタ28の目標カウント数を選択する選択信号(選択信号A)をセレクタ29に送信する(ステップS37)。セレクタ29は、レジスタ28の目標カウント数を、パルス発生器21に送信する(ステップS38)。ステップS38の処理の後は、ステップS28に戻る。
図8は、第2実施形態のモータ制御装置200がモータドライバ400に送信するパルスの一例を示す図である。図8のパルスの例は、モータ制御装置200が、図6のモータ制御情報によってモータを制御する場合の例である。図8の例は、目標発生回数(4回)だけパルスを発生させた後に、目標カウント数310のパルス速度でモータを等速運動させた場合の例である。なお、モータ制御装置200が、目標発生回数だけパルスを発生させた後の動作は、モータの等速運動に限られず、加速、減速又は停止でもよい。
本実施形態のモータ制御装置200は、パルスの発生回数に基づいて、最初は制御テーブルに沿った加速又は減速を行い、途中から目標カウント数によりモータを制御する。本実施形態のモータ制御装置200によれば、パルスの発生回数と目標カウント数とを指定することにより、より細かいモータの制御が可能になる。また、本実施形態のモータ制御装置200は、制御テーブルにないカウント数を使用することができる。言い換えると、本実施形態のモータ制御装置200は、制御テーブルのサイズを抑えることができる。また、本実施形態のモータ制御装置100は、演算手段が比較器27のみであり、簡易な構成でモータを細かく制御することができる。
(第3実施形態)
次に、第3実施形態のモータ制御装置300について説明する。第3実施形態のモータ制御装置300は、モータ制御情報として、パルスの目標発生回数の代わりに目標カウント数を使用する点が、第1実施形態とは異なる。モータドライバ400については、第1実施形態と同じであるため説明を省略する。
図9は、第3実施形態のモータ制御装置300の構成の一例を示す図である。本実施形態のモータ制御装置300は、パルス発生器31、レジスタ32、CPU33、メモリ34、レジスタ35、アドレスカウンタ36、比較器37及びセレクタ38を備える。
レジスタ32は、目標カウント数を記憶する。レジスタ32は、目標カウント数を比較器37及びセレクタ38に送信する。メモリ34は、次のパルスを発生させるタイミングを示す基準クロックのカウント数を含む制御テーブルを記憶する。レジスタ35は、メモリ34に記憶されたテーブルからカウント数を読み出して記憶する。なお、カウント数の読み出し方法についての詳細は後述する。レジスタ35は、読み出したカウント数を比較器37及びセレクタ38に送信する。
本実施形態のモータ制御装置300は、目標カウント数、制御テーブル及び制御テーブルからカウント数を最初に読み出すアドレス(初期アドレス)によりモータを制御する。本実施形態のモータ制御装置300では、目標カウント数、制御テーブル及び初期アドレスをモータ制御情報という。
図10は、第3実施形態のモータ制御情報の一例を説明するための図である。図10の例では、制御テーブルは、アドレス及びカウント数を有する。アドレスは、カウント数が記憶されているメモリ34のアドレスである。カウント数は、パルスを発生させてから、次のパルスを発生させるまでの待ち時間を示す。図10の例では、例えば、アドレス0には、カウント数として1000が記録されている。また、目標カウント数に310が指定されている。また、初期アドレスに0が指定されている。
図9に戻り、CPU33は、目標カウント数をレジスタ32に指定する。また、CPU33は、レジスタ35がはじめに参照するメモリ34のアドレスをレジスタ35に指定する。また、CPU33は、駆動の開始又は停止を示す要求をモータドライバ400に送信する。
パルス発生器31は、駆動の開始を示す要求をCPU33から受信すると、1回目のパルスを発生させ、当該パルスをモータドライバ400に送信する。パルス発生器31は、前回のパルスを発生させてから、セレクタ38から受信したカウント数だけ待った後、次のパルスを発生させる。また、パルス発生器31は、駆動の停止を示す要求をCPU33から受信すると、当該パルスの送信を停止する。また、パルス発生器31は、パルスを発生させた後に、パルスを発生させたことを示すパルス発生通知をアドレスカウンタ36に送信する。
アドレスカウンタ36は、パルス発生器31からパルス発生通知を受信すると、カウント数を読み出すメモリ34のアドレスを変更(カウントアップ又はダウン)する。アドレスカウンタ36は、変更したメモリ34のアドレスを、レジスタ35に送信する。すなわち、レジスタ35により参照されるメモリ34のアドレスは、パルス発生通知に応じて、変更(カウントアップ又はダウン)される。アドレスカウンタ36は、モータを加速させるときは、メモリ34のアドレスをカウントアップする。アドレスカウンタ36は、モータを減速させるときは、メモリ34のアドレスをカウントダウンする。
セレクタ38は、レジスタ35のカウント数、又はレジスタ32の目標カウント数を、比較器37から受信した選択信号に応じて選択し、パルス発生器31に送信する。比較器37は、レジスタ35のカウント数と、レジスタ32の目標カウント数とを比較する。
モータを加速する場合、比較器37は、カウント数が目標カウント数より大きい場合に、レジスタ35のカウント数を選択する選択信号を、セレクタ38に送信する。比較器37は、カウント数が目標カウント数以下である場合に、レジスタ32の目標カウント数を選択する選択信号を、セレクタ38に送信する。すなわち、セレクタ38は、カウント数が目標カウント数より大きい場合に、レジスタ35のカウント数をパルス発生器31に送信し、カウント数が目標カウント数以下である場合に、レジスタ32の目標カウント数をパルス発生器31に送信する。また、比較器37は、最初にカウント数が目標カウント数以下になったときに、アドレスカウンタ36に停止信号を送信することにより、アドレスカウンタ36を停止させる。
モータを減速する場合、比較器37は、カウント数が目標カウント数より小さい場合に、レジスタ35のカウント数を選択する選択信号を、セレクタ38に送信する。比較器37は、カウント数が目標カウント数以上である場合に、レジスタ32の目標カウント数を選択する選択信号を、セレクタ38に送信する。すなわち、セレクタ38は、カウント数が目標カウント数より小さい場合に、レジスタ35のカウント数をパルス発生器31に送信し、カウント数が目標カウント数以上である場合に、レジスタ32の目標カウント数をパルス発生器31に送信する。また、比較器37は、最初にカウント数が目標カウント数以上になったときに、アドレスカウンタ36に停止信号を送信することにより、アドレスカウンタ36を停止させる。
図11は、第3実施形態のモータ制御方法の一例を示すフローチャートである。図11の例は、モータ停止状態から、モータを加速させる場合の例である。CPU33は、パルスの目標カウント数をレジスタ32に指定する(ステップS41)。次に、CPU33は、レジスタ35がカウント数を最初に読み出すメモリ34のアドレスを、レジスタ35に指定する(ステップS42)。次に、パルス発生器31は、駆動の開始を示す要求をCPU33から受信することにより、1回目のパルスをモータドライバ400に送信する(ステップS43)。
次に、アドレスカウンタ36は、パルス発生器21からパルス発生通知を受信する。アドレスカウンタ36は、初回のパルス発生通知を受信したときは、読み出すアドレスをカウントアップせずに、メモリ34の制御テーブルのカウント数を読み出す命令のみをレジスタ35に送信する。CPU33が、パルス発生器31が1回目のパルスを発生させた後に、レジスタ35がメモリ34から読み出すアドレス(初期アドレス)をレジスタ35に指定しているためである。
次に、レジスタ35は、メモリ34の制御テーブルのカウント数を読み込む(ステップS44)。レジスタ35は、パルス発生器31が1回目のパルスを発生させた後は、CPU33により指定されたメモリ34のアドレスに記憶されたカウント数を読み込む。レジスタ35は、パルス発生器31が2回目以降のパルスを発生させた後は、アドレスカウンタ36により変更(カウントアップ)されたメモリ34のアドレスに記憶されたカウント数を読み込む。比較器37は、レジスタ35のカウント数を選択する選択信号を、セレクタ38に送信する。
次に、セレクタ38は、レジスタ35から受信したカウント数を、パルス発生器31に送信する(ステップS45)。次に、パルス発生器31は、セレクタ38が出力したカウント数に応じて、次のパルスを発生させるタイミングを変更する。すなわち、パルス発生器31は、前回のパルスを発生させてから当該カウント数だけ待ったあと、次のパルスを発生させ、当該パルスをモータドライバ400に送信する(ステップS46)。次に、アドレスカウンタ36は、パルス発生器31からパルス発生通知を受信する。アドレスカウンタ36は、パルス発生器31からパルス発生通知を受信すると、レジスタ35が参照するメモリ34のアドレスをカウントアップする(ステップS47)。アドレスカウンタ36は、当該変更されたメモリ34のアドレスを含むメモリ34の読み出し命令を、レジスタ35に送信する。
次に、パルス発生器31は、CPU33から駆動の停止を示す要求を受信したか否かを判定する(ステップS48)。駆動の停止を示す要求を受信した場合(ステップS48、Yes)は、処理を終了する。駆動の停止を示す要求を受信していない場合(ステップS48、No)は、ステップS49に進む。
次に、比較器37は、レジスタ35のカウント数が、レジスタ32の目標カウント数より大きいか否かを判定する(ステップS49)。目標カウント数より大きい場合(ステップS49、Yes)は、比較器37は、レジスタ35のカウント数を選択する選択信号(選択信号B)をセレクタ38に送信する(ステップS50)。ステップS50の処理の後は、ステップS44に戻る。
目標カウント数以下である場合(ステップS49、No)は、比較器37は、レジスタ32の目標カウント数を選択する選択信号(選択信号A)をセレクタ38に送信する(ステップS51)。セレクタ38は、レジスタ32の目標カウント数を、パルス発生器31に送信する(ステップS52)。ステップS52の処理の後は、ステップS46に戻る。
モータ制御装置300が、図10のモータ制御情報によってモータを制御する場合のパルスの例は、図8と同様である。
本実施形態のモータ制御装置300は、カウント数に基づいて、最初は制御テーブルに沿った加速又は減速を行い、途中から目標カウント数によりモータを制御する。これにより、より細かいモータの制御が可能になる。また、本実施形態のモータ制御装置300は、制御テーブルにないカウント数を使用することができる。言い換えると、本実施形態のモータ制御装置300は、制御テーブルのサイズを抑えることができる。また、本実施形態のモータ制御装置300は、演算手段が比較器37のみであり、簡易な構成でモータを細かく制御することができる。
1 パルス発生器
2 レジスタ
3 CPU
4 メモリ
5 レジスタ
6 アドレスカウンタ
7 比較器
21 パルス発生器
22 レジスタ
23 CPU
24 メモリ
25 レジスタ
26 アドレスカウンタ
27 比較器
28 レジスタ
29 セレクタ
31 パルス発生器
32 レジスタ
33 CPU
34 メモリ
35 レジスタ
36 アドレスカウンタ
37 比較器
38 セレクタ
100 モータ制御装置
200 モータ制御装置
300 モータ制御装置
400 モータドライバ
特開2009−3149号公報

Claims (6)

  1. パルスをモータドライバに送信することによりモータを制御するモータ制御装置であって、
    ルスを発生させるタイミングを示す、パルス間の基準クロックのカウント数を含む制御テーブルを記憶するメモリと、
    前記パルスの目標発生回数を記憶する第1レジスタと、
    前記メモリから前記カウント数を読み出して記憶する第2レジスタと、
    前記カウント数の目標カウント数を記憶する第3レジスタと、
    前記パルスの目標発生回数を前記第1レジスタに指定し、前記第2レジスタに該第2レジスタがはじめに参照する前記メモリのアドレスを指し、前記目標カウント数を前記第3レジスタに指定する制御部と、
    前記パルスの発生回数に応じて、前記カウント数を読み出す前記メモリのアドレスを変更するアドレスカウンタと、
    前記発生回数と前記目標発生回数とが一致したときに、前記アドレスカウンタの動作を停止させる比較器と、
    前記発生回数が前記目標発生回数以下である場合に、前記第2レジスタの前記カウント数をパルス発生器に送信し、前記発生回数が前記目標発生回数より大きい場合に、前記第3レジスタの前記目標カウント数を前記パルス発生器に送信するセレクタと、
    前記パルスを前回発生させてから、前記セレクタから受信した前記カウント数又は前記目標カウント数だけ待った後、前記パルスを発生させるパルス発生器と、
    を備えるモータ制御装置。
  2. パルスをモータドライバに送信することによりモータを制御するモータ制御装置であって、
    ルスを発生させるタイミングを示す、パルス間の基準クロックのカウント数を含む制御テーブルを記憶するメモリと、
    前記カウント数を記憶する第1レジスタと、
    前記メモリから前記カウント数を読み出して記憶する第2レジスタと、
    前記カウント数を前記第1レジスタに指定し、前記第2レジスタに該第2レジスタがはじめに参照する前記メモリのアドレスを指定する制御部と、
    前記パルスの発生回数に応じて、前記カウント数を読み出す前記メモリのアドレスを変更するアドレスカウンタと、
    前記第1レジスタのカウント数、又は前記第2レジスタのカウント数を送信するセレクタと、
    前記第1レジスタのカウント数と、前記第2レジスタのカウント数との比較結果に応じて、前記セレクタへの選択信号の送信と、前記アドレスカウンタへの停止信号の送信とを行う比較器と、
    前記パルスを前回発生させてから、前記セレクタから受信した前記第1レジスタのカウント数、又は前記第2レジスタのカウント数だけ待った後、前記パルスを発生させるパルス発生器と、
    を備えるモータ制御装置。
  3. 前記比較器は、
    モータの加速時には、前記第1レジスタのカウント数が、前記第2レジスタのカウント数よりも大きくなった場合に、前記第1レジスタのカウント数を選択することを示す前記選択信号を前記セレクタに送信し、前記停止信号を前記アドレスカウンタに送信する
    請求項に記載のモータ制御装置。
  4. 前記比較器は、
    モータの減速時には、前記第1レジスタのカウント数が、前記第2レジスタのカウント数よりも小さくなった場合に、前記第1レジスタのカウント数を選択することを示す前記選択信号を前記セレクタに送信し、前記停止信号を前記アドレスカウンタに送信する
    請求項又はに記載のモータ制御装置。
  5. ルスを発生させるタイミングを示す、パルス間の基準クロックのカウント数を含む制御テーブルを記憶するメモリと、前記パルスの目標発生回数を記憶する第1レジスタと、前記メモリから前記カウント数を読み出して記憶する第2レジスタと、前記カウント数の目標カウント数を記憶する第3レジスタと、を備えるモータ制御装置のモータ制御方法であって、
    制御部が、前記パルスの目標発生回数を前記第1レジスタに指定するステップと、
    制御部が、前記第2レジスタに該第2レジスタがはじめに参照する前記メモリのアドレスを指するステップと、
    制御部が、前記目標カウント数を前記第3レジスタに指定するステップと、
    アドレスカウンタが、前記パルスの発生回数に応じて、前記カウント数を読み出す前記メモリのアドレスを変更するステップと、
    比較器が、前記発生回数と前記目標発生回数とが一致したときに、前記アドレスカウンタの動作を停止させるステップと、
    セレクタが、前記発生回数が前記目標発生回数以下である場合に、前記第2レジスタの前記カウント数をパルス発生器に送信し、前記発生回数が前記目標発生回数より大きい場合に、前記第3レジスタの前記目標カウント数を前記パルス発生器に送信するステップと、
    パルス発生器が、前記パルスを前回発生させてから、前記セレクタから受信した前記カウント数又は前記目標カウント数だけ待った後、前記パルスを発生させるステップと、
    を含むモータ制御方法。
  6. パルスを発生させるタイミングを示す、パルス間の基準クロックのカウント数を含む制御テーブルを記憶するメモリと、前記カウント数を記憶する第1レジスタと、前記メモリから前記カウント数を読み出して記憶する第2レジスタと、を備えるモータ制御装置のモータ制御方法であって、
    制御部が、前記カウント数を前記第1レジスタに指定するステップと、
    制御部が、前記第2レジスタに該第2レジスタがはじめに参照する前記メモリのアドレスを指定するステップと、
    アドレスカウンタが、前記パルスの発生回数に応じて、前記カウント数を読み出す前記メモリのアドレスを変更するステップと、
    セレクタが、前記第1レジスタのカウント数、又は前記第2レジスタのカウント数を送信するステップと、
    比較器が、前記第1レジスタのカウント数と、前記第2レジスタのカウント数との比較結果に応じて、前記セレクタへの選択信号の送信と、前記アドレスカウンタへの停止信号の送信とを行うステップと、
    パルス発生器が、前記パルスを前回発生させてから、前記セレクタから受信した前記第1レジスタのカウント数、又は前記第2レジスタのカウント数だけ待った後、前記パルスを発生させるステップと、
    を含むモータ制御方法。
JP2013115556A 2013-05-31 2013-05-31 モータ制御装置及びモータ制御方法 Expired - Fee Related JP6167672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013115556A JP6167672B2 (ja) 2013-05-31 2013-05-31 モータ制御装置及びモータ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013115556A JP6167672B2 (ja) 2013-05-31 2013-05-31 モータ制御装置及びモータ制御方法

Publications (2)

Publication Number Publication Date
JP2014236557A JP2014236557A (ja) 2014-12-15
JP6167672B2 true JP6167672B2 (ja) 2017-07-26

Family

ID=52138906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013115556A Expired - Fee Related JP6167672B2 (ja) 2013-05-31 2013-05-31 モータ制御装置及びモータ制御方法

Country Status (1)

Country Link
JP (1) JP6167672B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040176B (zh) * 2017-06-12 2019-05-10 武汉科技大学 一种步进电机驱动方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0732638B2 (ja) * 1985-11-19 1995-04-10 株式会社テック ステツピングモ−タの駆動装置
JPH03118797A (ja) * 1989-09-29 1991-05-21 Toshiba Corp 画像形成装置
JPH0698599A (ja) * 1992-09-09 1994-04-08 Fuji Photo Film Co Ltd パルスモータ駆動装置
JPH08214595A (ja) * 1995-02-02 1996-08-20 Nippondenso Co Ltd ステッピングモータの制御装置
JPH11341888A (ja) * 1998-05-26 1999-12-10 Yamatake Corp モータ制御装置

Also Published As

Publication number Publication date
JP2014236557A (ja) 2014-12-15

Similar Documents

Publication Publication Date Title
JP2008092619A (ja) モータ駆動制御装置、デジタルカメラ及びモータ駆動制御プログラム
JP5885482B2 (ja) モータ駆動制御装置及び集積回路装置
US9154066B2 (en) Drive control apparatus and drive control method
JP6167672B2 (ja) モータ制御装置及びモータ制御方法
JP5345248B2 (ja) モータドライバ制御装置
US10601351B2 (en) Motor control apparatus, motor control method, and program
JP4678434B2 (ja) ステッピングモータ制御装置およびプログラム
JP2009003149A (ja) 画像形成装置
JP4542668B2 (ja) パルス発振ic並びにそのicを使用したモータの位置決め制御方法とその装置
US7986120B2 (en) Pulse motor control device, control method, control program, and imaging apparatus
JP2008092652A (ja) ステッピングモータ制御装置、ステッピングモータ制御方法およびステッピングモータ制御システム
JP6184726B2 (ja) ステッピングモータの駆動方法及び駆動装置
JP6287950B2 (ja) ステッピングモーター制御装置
JPS60241797A (ja) ステツピングモ−タの制御回路
EP1658721B1 (en) Stepping motor control circuit, electronic camera, and stepping motor control method
JP2010068415A (ja) パルス幅変調波形発生装置
JP4158101B2 (ja) モータ制御用パルス発生ic
JP4340080B2 (ja) カメラ移動装置
CN111371378A (zh) 速度控制的方法和装置
JP6361017B2 (ja) モータ駆動装置の指令生成方法
JP2010172056A (ja) 速度パターン発生装置
CN113054879B (zh) 一种步进电机的速度控制方法及相关设备
JP5667906B2 (ja) 電力変換装置
JP6962044B2 (ja) モータ制御装置、画像形成装置及び電子機器
JP2008160900A (ja) ステッピングモータ制御装置および印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170517

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: 20170530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R151 Written notification of patent or utility model registration

Ref document number: 6167672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees