JP2017034886A - モータ制御装置、モータ制御方法、及びプリンタ装置 - Google Patents

モータ制御装置、モータ制御方法、及びプリンタ装置 Download PDF

Info

Publication number
JP2017034886A
JP2017034886A JP2015153575A JP2015153575A JP2017034886A JP 2017034886 A JP2017034886 A JP 2017034886A JP 2015153575 A JP2015153575 A JP 2015153575A JP 2015153575 A JP2015153575 A JP 2015153575A JP 2017034886 A JP2017034886 A JP 2017034886A
Authority
JP
Japan
Prior art keywords
motor
measurement
current
voltage
value
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.)
Pending
Application number
JP2015153575A
Other languages
English (en)
Inventor
功 網屋
Isao Amiya
功 網屋
知樹 小倉
Tomoki Ogura
知樹 小倉
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.)
Seiko Instruments Inc
Original Assignee
Seiko Instruments Inc
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 Seiko Instruments Inc filed Critical Seiko Instruments Inc
Priority to JP2015153575A priority Critical patent/JP2017034886A/ja
Publication of JP2017034886A publication Critical patent/JP2017034886A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Stepping Motors (AREA)

Abstract

【課題】精度の高い電流設定によりモータを駆動できるモータ制御装置、モータ制御方法、及びこのようなモータを搭載したモータ制御装置を提供することを目的とする。
【解決手段】モータ制御装置は、モータを駆動するモータドライバ部と、モータドライバ部を介して前記モータを制御する制御部と、を備え、制御部は、モータを励磁しているときの電流検出抵抗に発生する計測電圧を取得し、取得した計測電圧に基づいて、モータドライバ部が計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する。
【選択図】 図1

Description

本発明は、モータ制御装置、モータ制御方法、及びプリンタ装置に関する。
ステッピングモータの定電流駆動は、モータのトルクを引き出す方法として、広く使用されている。ステッピングモータを定電流駆動する機能として搭載したモータドライバ用の集積回路は、周辺の部品点数を少なくでき、かつ簡単に制御できることから、広く普及している。
ステッピングモータを定電流駆動する機能として搭載したモータ駆動回路では、特許文献1及び特許文献2に記載されているように、リファレンス電圧(基準電圧)と電流検出抵抗からの計測電圧(帰還電圧)とを比較し、計測電圧がリファレンス電圧より小さいときにはスイッチング回路をオンし、計測電圧がリファレンス電圧を越えるとスイッチング回路をオフして、モータに流れる電流を制御している。
特開平02−070296号公報 特開2006−254542号公報
しかしながら、上述のようなモータ駆動回路では、電流検出精度によって、モータに流れる電流が変動するという課題がある。すなわち、目標設定電流値でモータを定電流駆動するために、リファレンス電圧を設定したとしても、モータに実際に流れる電流が目標とする設定電流値になるとは限らない。電流検出精度の性能によっては、10%程度の誤差が生じる場合もある。
モータに過剰に電流が流れると、消費電流が大きくなる。また、モータに流れる電流が目標設定電流より小さくなると、モータの必要トルクが得られなくなる。例えば、サーマルプリンタの紙送り用のモータを駆動する場合には、実際にモータに流れる電流が目標設定電流より小さくなると、モータの必要トルクが得られなくなり、十分な紙送り等ができなくなる。
また、サーマルプリンタにおいて、紙送りが確実にできるように、誤差を考慮して、目標設定電流を大きくすることが考えられる。しかしながら、目標設定電流を大きくすることにより、更にモータの発熱や消費電流が大きくなってしまう。
また、サーマルプリンタにおいては、印字動作を行う際に、紙送り用のモータとサーマルヘッドで同時に電流が消費される。したがって、紙送り用のモータとサーマルヘッドで同時に電流が消費されたときにも十分な電流を供給できるように、電源の最大電流を確保する必要がある。また、サーマルプリンタにおいて、電池駆動を行った場合には、電池が出力できる最大電流が決まっているので、モータ消費電流を大きく設定したとしても、電源の最大値を大きくできない。この場合には、モータ消費電流を大きく設定した分だけ、サーマルヘッドで消費できる電流を小さく設定しなければならない。しかしながら、サーマルヘッドで消費できる電流を小さく設定すると、印字速度が遅くなるなどの弊害が生じてくる。
本発明は上記の点に鑑みてなされたものであり、精度の高い電流設定によりモータを駆動できるモータ制御装置、モータ制御方法、及びこのようなモータを搭載したプリンタ装置を提供することを目的とする。
(1)上記目的を達成するため、本発明の一態様に係るモータ制御装置は、モータを駆動するモータドライバ部と、前記モータドライバ部を介して前記モータを制御する制御部と、を備え、前記制御部は、前記モータを励磁しているときの電流検出抵抗に発生する計測電圧を取得し、取得した前記計測電圧に基づいて、前記モータドライバ部が前記計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する。
(2)また、本発明の一態様に係るモータ制御装置において、前記制御部は、電源が投入された直後の初期化時に前記モータを励磁して前記計測電圧を取得するようにしてもよい。
(3)また、本発明の一態様に係るモータ制御装置において、前記制御部は、複数の励磁期間毎に異なる計測タイミングで順次計測電圧を取得して各励磁期間内での計測電圧の最大値である計測電圧最大値を取得し、前記複数の励磁期間それぞれで取得された計測電圧最大値の中の最大値を求め、求めた計測電圧最大値の中の最大値を用いて前記リファレンス電圧を補正するようにしてもよい。
(4)また、本発明の一態様に係るモータ制御装置において、前記制御部は、前記計測電圧から前記モータに流れている電流値を算出し、前記算出した前記モータに流れている電流値と目標電流設定値との誤差が所定範囲以上の場合に、前記電流検出抵抗の計測電圧に基づいて、前記リファレンス電圧を補正するようにしてもよい。
(5)上記目的を達成するため、本発明の一態様に係るプリンタ装置は、(1)から(4)のいずれか1つに記載のモータ制御装置を、印字部の機械的な駆動を行うモータの制御に用いる。
(6)本発明の一態様に係るモータ制御方法は、モータドライバ部を介してモータを制御するモータ制御方法であって、前記モータドライバ部には、電流検出抵抗が接続されており、前記モータを励磁し、前記モータを励磁しているときの前記電流検出抵抗の計測電圧を取得する工程と、前記電流検出抵抗の計測電圧に基づいて、前記モータドライバ部が前記計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する工程とを含む。
本発明によれば、部品を追加することなく、精度の高い電流値設定でモータを駆動できる。本発明によれば、適正な電流値でモータを動かすことにより、消費電流を抑えて、モータの必要トルクを得ることができる。
本実施形態に係るプリンタ装置の構成を示すブロック図である。 本実施形態に係るメモリ部に記憶されている情報の一例を示す図である。 本実施形態におけるモータ電流波形及び計測電圧波形を示すグラフである。 本実施形態における電流の補正処理のフローチャートである。 本実施形態におけるモータ初期化処理のフローチャートである。 本実施形態における測定処理のフローチャートである。 本実施形態における電流の補正処理の説明に用いるグラフである。 図7(B)における立ち上がり部分を拡大した図である。 本実施形態における測定処理回数nが(n=1)のときに取得される計測電圧と、測定処理回数nが(n=2)のときに取得される計測電圧とを比較して示したグラフである。
以下、本発明の実施の形態について図面を参照しながら説明する。図1は、本実施形態に係るプリンタ装置1の構成を示すブロック図である。図1に示すように、プリンタ装置1は、制御回路ユニット10と、モータドライバユニット20と、モータ30と、印字ユニット40とを備えている。
制御回路ユニット10は、モータドライバユニット20や印字ユニット40の制御を行っている。制御回路ユニット10は、CPU(Central Processing Unit)11と、モータ相出力部12と、モータ電流設定電圧出力部13と、電圧測定部14と、メモリ部15と、印字制御部16と、サーマルヘッドデータ出力部17とを備えている。
また、制御回路ユニット10からは、ポートPHout1及びPHout2と、ポートDArefと、ポートADrsenとが導出されている。ポートPHout1及びPHout2は、モータドライバユニット20のポートPHin1及びPHin2に接続される。ポートDAref及びADrsenは、モータドライバユニット20のポートREF及びポートRsenに接続される。
モータ相出力部12は、CPU11に応じて、モータ励磁信号を生成し、生成したモータ励磁信号をポートPHout1及びPHout2から、モータドライバユニット20のポートPHin及びPHin2に出力する。
モータ電流設定電圧出力部13は、CPU11の制御に応じて、リファレンス電圧を設定し、設定したリファレンス電圧をアナログ電圧に変換し、ポートDArefからモータドライバユニット20のポートREFに出力する。なお、後述するように、リファレンス電圧は、CPU11により、モータ30の駆動電流に基づいて設定される。また、本実施形態では、CPU11は、電圧測定部14の計測電圧から実際にモータ30に流れる電流の最大値を計測し、これに基づいて、モータ電流設定電圧出力部13から出力するリファレンス電圧を補正する。
電圧測定部14は、ポートADrsenから、電流検出抵抗51の計測電圧を入力し、この計測電圧をディジタルデータに変換し、CPU11に出力する。電流検出抵抗51の計測電圧は、後述するように、モータ駆動回路23からモータ30に流される電流を示している。
メモリ部15は、各種のデータを記憶する。図2は、本実施形態に係るメモリ部15に記憶されている情報の一例を示す図である。メモリ部15には、図2に示すように、目標設定電流値If、設定電流値Ia、リファレンス電圧Vref、電流検出抵抗51の抵抗値Rs、計測電圧最大値Vrp[n]、実測電圧値Vfr、実測電流値Ifr等が記憶される。また、メモリ部15には、設定電流値Iaからリファレンス電圧Vrefを算出する数式(Vref=Ia×Rs)、実測電圧値Vfrから実測電流値Ifrを求める数式(Ifr=Vfr/Rs)、実測電流値Ifrから補正後の設定電流値Iaを算出する数式(Ia=Ia×If/Ifr)が記憶されている。
印字制御部16は、CPU11の制御に応じて、用紙に文字や図形を印字する印字制御を行う。サーマルヘッドデータ出力部17は、印字データを印字ユニットに送る。
印字ユニット40は、サーマルヘッド印字部41を備え、印字データに基づく文字や図形を紙に印字する。
モータドライバユニット20は、例えば集積回路化されており、モータ30を定電流制御で駆動する。モータドライバユニット20は、モータ相制御回路21と、電流制御回路22と、モータ駆動回路23を備えている。また、モータドライバユニット20は、ポートPHin1及びPHin2と、ポートREFと、ポートRsenと、ポートVpと、ポートMA1及びMA2とを有している。
モータ相制御回路21からはポートPHin1及びPHin2が導出される。モータ相制御回路21は、ポートPHin1及びPHin2からモータ励磁信号を入力し、このモータ励磁信号に基づくパルス信号を、モータ駆動回路23に供給する。
電流制御回路22からはポートREF及びポートRsenが導出される。ポートRsenと接地間には、電流検出抵抗51が接続される。モータ駆動回路23からモータ30に流される電流は、電流検出抵抗51により検出される。
電流検出抵抗51による計測電圧は、ポートRsenから電流制御回路22に入力されると共に、制御回路ユニット10の電圧測定部14で計測される。また、ポートREFには、リファレンス電圧が入力される。電流制御回路22は、ポートREFから入力されるリファレンス電圧と、ポートRsenから入力される電流の計測電圧とに基づいて、モータ駆動回路23からモータ30に流される電流を制御する。
モータ駆動回路23からは、ポートMA1及びMA2が導出される。ポートMA1及びMA2には、モータ30が接続される。モータ30は、例えばステッピングモータである。モータ30は、例えば、印字ユニット40の紙送り等、プリンタ装置1の機械的な駆動に使用される。モータ相制御回路21からのパルス信号に応じて、モータ30に電流が流され、モータ30が励磁される。なお、ポートVpは電源ポートである。
モータ30を励磁したときに、モータ駆動回路23からモータ30に流される電流は、電流制御回路22により、定電流に制御される。すなわち、電流制御回路22は、ポートREFに入力されるリファレンス電圧をVref、電流検出抵抗51の計測電圧をVrsenとすると、リファレンス電圧Vrefと計測電圧Vrsenとを比較し、計測電圧Vrsenがリファレンス電圧Vrefより低いときにはモータ30を励磁し、計測電圧Vrsenがリファレンス電圧Vrefより高くなるとモータ30の励磁を停止して、モータ30を定電流駆動する。モータ駆動回路23からモータ30に流される電流は、ポートREFに入力されるリファレンス電圧Vrefに応じて設定される。実際にモータ駆動回路23からモータ30に流される電流は、電流検出抵抗51の計測電圧Vrsenから取得できる。
図3は、本実施形態におけるモータ電流波形及び計測電圧波形を示すグラフである。図3(A)はモータ30の電流波形を示し、図3(B)はこのときの電流検出抵抗51の計測電圧Vrsenの波形を示している。また、図3(A)および図3(B)において、横軸は時間、図3(A)において縦軸は電流、図3(B)において縦軸は電圧である。ここでは、リファレンス電圧Vrefは、(Vref=Vfr)に設定されているとし、設定電流値はIfrであるとする。
図3(A)に示すように、モータ30を励磁すると、モータ電流が時間と共に上昇する。図3(B)に示すように、これに伴って、電流検出抵抗51の計測電圧Vrsenも上昇していく。図3(A)に示すように、モータ電流がIfrに達すると、図3(B)に示すように、計測電圧Vrsenは設定電圧Vfrに達する。電流制御回路22に働きにより、計測電圧Vrsenが設定電圧Vfrを越えると、モータ30の励磁が止められ、モータ内部で電流が還流させる動作に移行する。このため、電流検出抵抗51には電流が流れなくなり、図3(B)に示すように、計測電圧Vrsenは0Vとなる。その後、一定時間が経つと再度モータ30の励磁を再開するため、計測電圧Vrsenが上昇する。この繰り返しにより、図3(A)に示すように、モータ30の電流が一定に保たれる。
次に、本実施形態における電流の補正処理について説明する。上述のように、電流制御回路22の働きにより、リファレンス電圧Vrefに応じて、モータ30に流される電流は定電流に制御される。しかしながら、実際には、モータドライバユニット20における電流検出精度の誤差等に起因して、リファレンス電圧をVrefに設定しても、モータ30に流される電流を目標設定電流に制御できないことがある。特に電池駆動を行った場合、電池が出力できる最大電流が決まっており、モータ30に流される電流は、最大電流以下に設定する必要がある。
そこで、本実施形態では、電源が投入された直後の初期化時に、モータ30を励磁し、このときのモータ駆動回路23からモータ30に流される電流を示す計測電圧を、電流検出抵抗51の計測電圧から電圧測定部14で取得し、計測電圧の最大値を検出している。そして、計測電圧が最大値のときにモータ30に流される電流が目標設定電流となるように、リファレンス電圧Vrefを補正している。
図4は、本実施形態における電流の補正処理のフローチャートである。図5は、本実施形態におけるモータ初期化処理のフローチャートである。図6は、本実施形態における測定処理のフローチャートである。図4〜図6に示すフローチャートの処理は、計測電圧の最大値を検出し、計測電圧が最大値となるときのモータ電流が目標設定電流となるように、リファレンス電圧Vrefを補正する処理を実現するものである。
<補正処理の全体動作>
(ステップS101)CPU11は、モータ初期化処理を行う。なお、モータ初期化処理については、後述する。
(ステップS102)モータ初期化処理が終了した後、CPU11は、メモリ部15から目標設定電流値Itを読み出し、この目標設定電流値Itを設定電流値Iaとする。
(ステップS103)CPU11は、設定電流値Iaと、電流検出抵抗51の抵抗値Rsとから、次式(1)により、リファレンス電圧Vrefを算出する。
Vref=Ia×Rs … (1)
(ステップS104)CPU11は、モータ電流設定電圧出力部13の出力電圧を、(1)式で求められたリファレンス電圧Vrefに設定し、このリファレンス電圧Vrefをモータドライバユニット20に出力する。
(ステップS105)CPU11は、測定処理回数nを(n=1)に初期化する。
(ステップS106)CPU11は、測定処理回数n回目の測定処理を開始する。測定処理回数n回目の測定処理では、CPU11は、モータ30を励磁して、電流検出抵抗51の計測電圧Vrsenを計測し、測定処理回数n回目における計測電圧最大値Vrp[n]を取得する。なお、測定処理については、後述する。
(ステップS107)CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より大きいか否かを判定する。CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より大きいと判定した場合(ステップS107;YES)、ステップS108に処理を進める。CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より小さいと判定した場合(ステップS107;NO)、ステップS109に処理を進める。
(ステップS108)CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[n]を実測電圧値Vfr(Vfr=Vrp[n])としてメモリ部15に保存する。CPU11は、ステップS109に処理を進める。
(ステップS109)CPU11は、測定処理回数nが所定回数(例えば10回)に達したか否かを判定する。CPU11は、測定処理回数nが所定回数に達したと判定した場合(ステップS109;YES)、ステップS111に処理を進め、測定処理回数nが所定回数に達していないと判定した場合(ステップS109;NO)、ステップS110に処理を進める。
(ステップS110)測定処理回数nが所定回数(例えば10回)に達していない場合、CPU11は、測定処理回数nを「1」だけ増加して、処理をステップS106に戻す。これにより、各測定処理で、異なるタイミングで計測電圧が取得される。
(ステップS111)CPU11は、実測電圧値Vfrを用いて、実測電流値Ifrを計算により求める。CPU11は、実測電圧値をVfr、検出抵抗をRsとし、次式(2)により実測電流値Ifrを算出する。
Ifr=Vfr/Rs … (2)
(ステップS112)CPU11は、実測電流値Ifrと、目標設定電流値Itとを比較し、実測電流値Ifrが目標設定電流値Itの誤差の範囲内にあるか否かを判定する。すなわち、誤差の範囲を5%とすると、CPU11は、実測電流値Ifrが目標設定電流値Itの0.995倍より大きいか否かを判定する。CPU11は、実測電流値Ifrが目標設定電流値Itの0.995倍より大きい場合(ステップS112:YES)、ステップS113に処理を進め、実測電流値Ifrが目標設定電流値Itの0.995倍より小さい場合(ステップS112:NO)、ステップS114に処理を進める。
(ステップS113)CPU11は、実測電流値Ifrが目標設定電流値Itの1.005倍より小さいか否かを判定する。CPU11は、実測電流値Ifrが目標設定電流値Itの1.005倍より小さい場合(ステップS113:YES)、補正処理を終了し、実測電流値Ifrが目標設定電流値Itの1.005倍より大きい場合(ステップS113:NO)、ステップS114に処理を進める。
(ステップS114)CPU11は、補正後の設定電流値Iaを、次式(3)を用いて算出する。
Ia=Ia×If/Ifr … (3)
補正後の設定電流値Iaが算出されたら、CPU11は、ステップS103に処理を戻す。そして、ステップS103で、CPU11は、補正後の設定電流値Iaと、電流検出抵抗51の抵抗値Rsとから、リファレンス電圧Vrefを補正する(ステップS103)。リファレンス電圧Vrefを補正した後、ステップS104からステップS114の処理が繰り返される。
このように、実測電流値Ifrが目標設定電流値Itの誤差の範囲内にない場合には、ステップS114で、補正後の設定電流値Iaが算出される。そして、ステップS103で、補正後の設定電流値Iaで、補正後のリファレンス電圧Vrefが設定される。これにより、実測電流値Ifrは目標設定電流値Itに近づいていく。そして、ステップS112及びステップS113で、実測電流値Ifrが目標設定電流値Itの誤差の範囲(例えば5%以内)になると、補正処理が終了される。
<モータ初期化処理>
次に、モータ初期化処理について、図5を用いて説明する。
(ステップS201)CPU11は、モータ相出力部12に指令を与え、モータ30の励磁を開始する。
(ステップS202)CPU11は、モータ30を20m秒間励磁する。
(ステップS203)CPU11は、モータ30の励磁を停止させる。この動作によって、モータ30の回転位置が指定の位置に移動する。
以上で、モータ初期化処を終了する。
<測定処理>
次に、ステップS106の測定処理を、図6を用いて説明する。
(ステップS301)CPU11は、まず、モータ相出力部12に指令を与え、モータ30の励磁を開始する。
(ステップS302)CPU11は、測定を(n×250n秒)間待機する。ここで、待機時間は、測定処理回数に応じて設定される。すなわち、測定処理回数nが(n=1)回目には、待機時間は(1×250=250n秒)となり、測定処理回数nが(n=2)回目には、待機時間は(2×250=500n秒)となる。
(ステップS302)CPU11は、計測回数mを(m=1)に初期化する。
(ステップS304)CPU11は、電圧測定部14から電流検出抵抗51の計測電圧Vrsenを取得し、測定を開始する。
(ステップS305)CPU11は、計測電圧Vrsenの測定の終了を待つ。
(ステップS306)計測電圧Vrsenの測定の終了後、CPU11は、取得された計測電圧Vrsenを計測回数(m=1)の計測電圧値Vr[1]とする。
(ステップS307)CPU11は、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より大きいか否かを判定する。CPU11は、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より大きいと判定した場合(ステップS307;YES)、ステップS308に処理を進め、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より小さいと判定した場合(ステップS307;NO)、ステップS309に処理を進める。
(ステップS308)CPU11は、計測回数mを「1」だけ増加して(m=2)、ステップS304に処理を戻す。
(ステップS309)CPU11は、計測回数(m−1)回目の計測値を、測定処理回数nの計測電圧最大値Vrp[n](Vrp[n]=Vr[m−1])としてメモリ部15に記憶する。
(ステップS310)CPU11は、モータ30の励磁を停止し、測定処理を終了する。
<補正処理の例>
ここで、補正処理の一例を、図7〜図9を用い、図4〜図6を参照して説明する。
図7は、本実施形態における電流の補正処理の説明に用いるグラフである。図8は、図7(B)における立ち上がり部分を拡大した図である。図9は、本実施形態における測定処理回数nが(n=1)のときに取得される計測電圧と、測定処理回数nが(n=2)のときに取得される計測電圧とを比較して示したグラフである。また、図7(A)、図7(B)、図8、図9(A)、図9(B)において、横軸は時間、図7(A)において縦軸は電流、図7(B)、図8、図9(A)、図9(B)において縦軸は電圧である。
CPU11は、モータ初期化処理を行う(ステップS101)。そして、CPU11は、ステップS102〜ステップS104の処理を行い、測定処理回数nを(n=1)に初期化する(ステップS105)。
<<n=1回目の処理>>
CPU11は、モータ相出力部12に指令を与え、図7(B)に示すように、モータ30の励磁を開始する(ステップS301)。そして、CPU11は、図9(A)に示すように、測定を(1×250n秒)間待機し(ステップS302)、計測回数mを(m=1)に初期化する(ステップS303)。
図4〜図6に示したフローチャートの処理では、(n=1)が1回目の励磁期間に対応し、(n=2)が2回目の励磁期間に対応し、(n=3)が3回目に対応し、(n=4)が4回目の励磁期間、・・・に対応する。
<<n=1回目、m=1回目の測定処理>>
CPU11は、m=1回目の計測電圧Vrsenを測定する(ステップS304〜ステップS306)。CPU11は、今回の計測電圧値Vr[1]が前回の計測電圧値Vr[0]より大きいか否かを判定する(ステップS307)。計測回数(m=1)のとき、前回の計測電圧Vr[0]が取得されていないので、CPU11は、今回の計測電圧値Vr[1]が前回の計測電圧値Vr[0]より大きいと判定する。そして、CPU11は、計測回数mを「1」だけ増加して(m=2)(ステップS308)、ステップS304に処理を戻す。
<<n=1回目、m=2〜m回目の測定処理>>
CPU11は、計測電圧Vrsenを測定する(ステップS304〜ステップS306)。次に、CPU11は、今回の計測電圧値Vr[2]が前回の計測電圧値Vr[1]より大きいか否かを判定する(ステップS307)。CPU11は、今回の計測電圧値Vr[2]が前回の計測電圧値Vr[1]より大きい場合(ステップS307:YES)、計測回数mを「1」だけ増加して(m=3)とし(ステップS308)、ステップS304に処理を戻す。計測電圧の最大値に達するまでは、ステップS307において、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より大きいと判定される。このため、計測電圧の最大値に達するまで、CPU11は、ステップS304〜ステップS308の処理を繰り返す。
なお、上述した例において、モータ電流を一定に保つための励磁の停止を、モータドライバユニット20側で行うようにしてもよい。
図8に示すように、計測電圧Vrは時間と共に上昇し、最大値に達すると、急激に下降する。計測電圧Vrは、時間と共に上昇していれば、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より大きくなる。計測電圧Vrが最大値に到達して下降に転じれば、今回の計測電圧値Vr[m]は前回の計測電圧値Vr[m−1]より小さくなる。このため、CPU11は、ステップS307で、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より大きいか否かを判定し、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より小さくなった場合に最大値を越えたと判断し、ステップS309で、前回の計測電圧値Vr[m−1]を計測電圧最大値Vrp[m]としている。
ステップS307で、今回の計測電圧値Vr[m]が前回の計測電圧値Vr[m−1]より小さいと判定された場合(ステップS307:NO)、CPU11は、計測回数(m−1)回目の計測値を、測定処理回数n=1の計測電圧最大値Vrp[1]としてメモリ部15に記憶する(ステップS309)。そして、CPU11は、モータ30の励磁を停止し(ステップS310)、測定処理を終了する。
次に、CPU11は、ステップS107、ステップS108において、各励磁期間において、計測電圧最大値Vrp[1]、Vrp[2]、Vrp[3]、Vrp[4]、…から、更に、その最大値を求め、この値を実測電圧値Vfrとする。
n=1回目において、CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[1]が前回の測定処理で取得された計測電圧最大値Vrp[0]より大きいか否かを判定する(ステップS107)。n=1回目の場合、前回の計測電圧最大値Vrp[0]が取得されていないので、CPU11は、今回の計測電圧最大値Vrp[1]が前回の計測電圧最大値Vrp[0]より大きいと判定する。次に、CPU11は、実測電圧値Vfrを今回の測定処理で取得された計測電圧最大値Vrp[1]に書き換えて(Vfr=Vrp[1])、メモリ部15に保存する(ステップS108)。
CPU11は、測定処理回数n=1が所定回数に達したか否かを判定する(ステップS109)。CPI11は、定処理回数n=1が所定回数に達していないと判定して(ステップS109:NO)、測定処理回数nを「1」だけ増加してn=2として(ステップS110)、処理をステップS106に戻す。
<<n=2回目の処理>>
CPU11は、ステップS106〜ステップS110の処理を繰り返す。
なお、CPU11は、測定処理のステップS302において、測定を500n秒(=2×250)間待機させ、計測電圧最大値Vrp[2]を測定する(ステップS304〜ステップS310)。そして、CPU11は、モータ30の励磁を停止し(ステップS310)、測定処理を終了する。
CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[2]が前回の測定処理で取得された計測電圧最大値Vrp[1]より大きいか否かを判定する(ステップS107)。CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[2]が前回の測定処理で取得された計測電圧最大値Vrp[1]より大きいと判定した場合(ステップS107;YES)、実測電圧値Vfrを今回の測定処理で取得された計測電圧最大値Vrp[2]に書き換えて(Vfr=Vrp[2])、メモリ部15に保存する(ステップS108)。なお、CPU11は、今回の測定処理で取得された計測電圧最大値Vrp[2]が前回の測定処理で取得された計測電圧最大値Vrp[1]より小さいと判定した場合(ステップS107;NO)、実測電圧値Vfrを今回の測定処理で取得された計測電圧最大値Vrp[2]に書き換えない。
図9(A)に示すように、測定処理回数(n=1)回目では、待機時間250n秒の後に、計測が開始される。したがって、計測回数(m=1)、(m=2)、(m=3)、…で計測される測定値は、p1、p2、p3、…となる。これに対して、図9(B)に示すように、測定処理回数(n=2)回目では、待機時間500n秒の後に、計測が開始される。したがって、計測回数(m=1)、(m=2)、(m=3)、…で計測される測定値は、q1、q2、q3、…となる。このように、nが1回増加する毎に、測定タイミングが250n秒右にシフトし、各計測回数での計測値は、異なるものとなる。
計測電圧最大値は、今回の計測電圧値が前回の計測電圧値より小さくなることを判定することにより行われる。図9(A)に示すように、測定処理回数(n=1)回目では、計測回数(m=9)までは、今回の計測値が前回の計測値より大きくなる。計測回数(m=10)で、今回の計測値が前回の計測値より小さくなり、計測回数(m=9)の計測値p9が計測最大電圧値Vrp[1]として判定される。
測定処理回数(n=2)回目では、図9(B)に示すように、計測回数(m=9)までは、今回の計測値が前回の計測値より大きくなる。計測回数(m=10)で、今回の計測値が前回の計測値より小さくなり、計測回数(m=9)の計測値q9が計測最大電圧値Vrp[2]として判定される。
図9(A)と図9(B)とを比較すれば分かるように、計測タイミングをずらすことで、計測最大電圧値Vrpが異なる。これにより、精度の高い最大値を検出できる。すなわち、図9の例では、測定処理回数(n=1)回目では、計測最大電圧値Vrp[1]は、p9となる。これに対して、測定処理回数(n=2)回目では、計測最大電圧値Vrp[2]は、q9となり、計測最大電圧値が(n=1)のときより大きいものとなる。
<<n=3〜n回目の処理>>
以下、CPU11は、n=3〜n回目の処理を繰り返す。
このようにステップS106からステップS110を10回繰り返すことにより、(n=1回)から(n=10回)までの測定処理における各計測電圧最大値Vrp[1]〜Vrp[10]が取得される。そして、ステップS107及びステップS108で、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より大きいと判定された場合、CPU11は、実測電圧値Vfrを、今回の測定処理で取得された計測電圧最大値Vrp[n]に書き換える。これにより、各計測電圧最大値Vrp[1]〜Vrp[10]の中での最大値が実測電圧値Vfrとしてメモリ部15に保存される。
ステップS109で、測定処理回数nが所定回数(例えば10回)以上になったと判定されたら(ステップS109:Yes)、CPU11は、実測電圧値Vfrから、実測電流値Ifrを計算により求める(ステップS111)。
次に、CPU11は、実測電流値Ifrが±5%の範囲に入っているか否かを判定する(ステップS112、S113)。CPU11は、実測電流値Ifrが±5%の範囲に入っていると判定した場合(ステップS112がYES、及びS113がYES)、補正処理を終了し、実測電流値Ifrが±5%の範囲に入っていないと判定した場合(ステップS112がNO、またはS113がNO)、補正後の設定電流値Iaを算出し(ステップS114)、ステップS103に処理を戻す。
以上で、補正処理を終了する。
このように、本実施形態では、各励磁期間で計測タイミングをずらして計測電圧最大値Vrp[1]、Vrp[2]、Vrp[3]、Vrp[4]、…を求め、これらの計測電圧最大値Vrp[1]、Vrp[2]、Vrp[3]、Vrp[4]、…の中の最大値を実測電圧値Vfrとすることで、高い精度で最大値を検出することができる。
図4におけるステップS106〜ステップS110の処理は、各励磁期間において、上述のように求められた計測電圧最大値Vrp[1]、Vrp[2]、Vrp[3]、…、Vrp[n]から、更に、その最大値を求める処理を示している。
つまり、図4におけるステップS107で、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より大きいと判定された場合には、ステップS108で、実測電圧値Vfrが今回の測定処理で取得された計測電圧最大値Vrp[n]により書き換えられる。これにより、計測電圧最大値Vrp[1]〜Vrp[n]の中の最大値が求められる。ステップS108で、この計測電圧最大値Vrp[1]〜Vrp[n]の中の最大値が実測電圧値Vfrとして保存される。
なお、この例では、ステップS107で、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]とを比較する。そして、今回の測定処理で取得された計測電圧最大値Vrp[n]が前回の測定処理で取得された計測電圧最大値Vrp[n−1]より大きい場合には、ステップS108で、実測電圧値Vfrが今回の測定処理で取得された計測電圧最大値Vrp[n]により書き換えられる。これにより、本実施形態では、計測電圧最大値Vrp[1]〜Vrp[n]を取得する処理と、計測電圧最大値Vrp[1]〜Vrp[n]の中の最大値を求める処理とが同時に行える。なお、全ての計測電圧最大値Vrp[1]〜Vrp[n]を取得した後に、計測電圧最大値Vrp[1]〜Vrp[n]の最大値を求める処理を行ってもよい。
このように、図4におけるステップS106〜ステップS110で、計測電圧最大値Vrp[1]〜Vrp[n]から、更に、その最大値を求める処理が行われ、ステップS108で、この最大値が実測電圧値Vfrとされる。そして、ステップS111で、実測電圧値Vfrから実測電流値Ifrが求められる。そして、ステップS112及びステップS113で、この実測電流値Ifrが所定の誤差範囲にあるか否かが判定される。この実測電流値Ifrが所定の誤差範囲になければ、ステップS114で、実測電流値Ifrと目標設定電流値Itとに応じて、補正後の設定電流値Iaが求められ、ステップS103で、この補正後の設定電流値Iaに基づいて、リファレンス電圧Vrefが補正される。
以上のように、本実施形態のモータ制御装置(プリンタ装置1)は、モータ30を駆動するモータドライバ部(モータドライバユニット20)と、モータドライバ部を介してモータを制御する制御部(制御回路ユニット10)と、を備え、制御部は、モータを励磁しているときの電流検出抵抗51に発生する計測電圧を取得し、取得した計測電圧に基づいて、モータドライバ部が計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する。
この構成によって、本実施形態によれば、制御回路ユニット10側で計測電圧を測定しているので、精度の高い電流値設定ができる。この結果、本実施形態によれば、測定された計測電圧を用いてリファレンス電圧Vrefを変更しているので、リファレンス電圧が固定されている従来技術と比較して、精度の高い電流設定によりモータを駆動できる。これにより、本実施形態によれば、適正な電流値でモータ30を動かすことで、消費電流を抑えて、モータ30の必要トルクを得ることができる。
また、本実施形態のモータ制御装置(プリンタ装置1)において、制御部(制御回路ユニット10)は、電源が投入された直後の初期化時に前記モータを励磁して計測電圧を取得する。
この構成によって、モータ30を電流制御して駆動する前に、リファレンス電圧Vrefを変更することができる。この結果、本実施形態によれば、リファレンス電圧が固定されている従来技術と比較して、精度の高い電流設定によりモータを駆動できる。
また、本実施形態のモータ制御装置(プリンタ装置1)において、制御部(制御回路ユニット10)は、複数の励磁期間毎に異なる計測タイミングで順次計測電圧Vrを取得して各励磁期間内での計測電圧の最大値である計測電圧最大値Vrpを取得し、複数の励磁期間それぞれで取得された計測電圧最大値の中の最大値を求め、求めた計測電圧最大値Vrpの中の最大値を用いてリファレンス電圧を補正する。
この構成によって、本実施形態によれば、n回目毎に異なる計測タイミングで計測電圧を測定することで、精度良く計測電圧最大値Vrpを測定することができる。この結果、本実施形態によれば、精度良く測定された計測電圧を用いてリファレンス電圧Vrefを変更しているので、リファレンス電圧が固定されている従来技術と比較して、精度の高い電流設定によりモータを駆動できる。
また、本実施形態のモータ制御装置(プリンタ装置1)において、制御部(制御回路ユニット10)は、計測電圧からモータ30に流れている電流値を算出し、算出したモータに流れている電流値Ifrと目標電流設定値Itとの誤差が所定範囲以上の場合に、電流検出抵抗の計測電圧に基づいて、リファレンス電圧を補正する。
この構成によって、本実施形態によれば、測定された電流値Ifrが目標電流設定値Itに対して所定の誤差(例えば±5%)の範囲に入るようにリファレンス電津Vrefを設定することができる。この結果、本実施形態によれば、精度良く測定された計測電圧を用いてリファレンス電圧Vrefを変更しているので、リファレンス電圧が固定されている従来技術と比較して、精度の高い電流設定によりモータを駆動できる。
なお、図4〜図6に示したフローチャートの処理は、電源が投入された直後の初期化時に、常に行うようにしてもよく、あるいは、工場出荷時にのみ行うようにしてもよい。
また、電圧測定部14のA/D(アナログ信号−デジタル信号)変換器として精度の高いものを用いることができれば、各励磁期間T1〜Tnで計測電圧最大値Vrp[1]〜Vrp[n]を求め、これらの計測電圧最大値Vrp[1]〜Vrp[n]の中の最大値を求めて実測電圧値とする処理は不要である。この場合には、1つの励磁期間内で高いサンプリング周波数で計測電圧を取得し、計測した計測電圧最大値を実測電圧値として用いるようにしてもよい。
また、各励磁期間で、計測最大値となるタイミングは殆ど同じなるので、1つの励磁期間で計測最大電圧値が検出されたら、以降の期間では、計測最大電圧値が計測される可能性の高いタイミングでのみ、計測を行うようにしてもよい。図9の例では、計測回数mが(m=9)から(m=10)のタイミングで、計測最大電圧値が検出される。例えば、図9の例では、1回目の計測で(m=9)から(m=10)の付近で計測最大電圧値が検出されているので、以後の計測では、計測回数mが(m=7)あるいは(m=8)のタイミングから、計測を開始してもよい。
なお、本実施形態では、プリンタに用いられるモータの制御に適用する例を説明したが、これに限られない。プリンタ以外の製品におけるステッピングモータの制御に適用してもよい。
なお、プリンタ装置1の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1…プリンタ装置、10…制御回路ユニット、12…モータ相出力部、13…モータ電流設定電圧出力部、14…電圧測定部、15…メモリ部、16…印字制御部、17…サーマルヘッドデータ出力部、20…モータドライバユニット、21…モータ相制御回路、22…電流制御回路、23…モータ駆動回路、30…モータ、40…印字ユニット、41…サーマルヘッド印字部、51…電流検出抵抗

Claims (6)

  1. モータを駆動するモータドライバ部と、
    前記モータドライバ部を介して前記モータを制御する制御部と、
    を備え、
    前記制御部は、前記モータを励磁しているときの電流検出抵抗に発生する計測電圧を取得し、取得した前記計測電圧に基づいて、前記モータドライバ部が前記計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する、モータ制御装置。
  2. 前記制御部は、電源が投入された直後の初期化時に前記モータを励磁して前記計測電圧を取得する、請求項1に記載のモータ制御装置。
  3. 前記制御部は、複数の励磁期間毎に異なる計測タイミングで順次計測電圧を取得して各励磁期間内での計測電圧の最大値である計測電圧最大値を取得し、前記複数の励磁期間それぞれで取得された計測電圧最大値の中の最大値を求め、求めた計測電圧最大値の中の最大値を用いて前記リファレンス電圧を補正する、請求項1または請求項2に記載のモータ制御装置。
  4. 前記制御部は、前記計測電圧から前記モータに流れている電流値を算出し、前記算出した前記モータに流れている電流値と目標電流設定値との誤差が所定範囲以上の場合に、前記電流検出抵抗の計測電圧に基づいて、前記リファレンス電圧を補正する、請求項1から請求項3のいずれか1項に記載のモータ制御装置。
  5. 請求項1から請求項4のいずれか1項に記載のモータ制御装置を、印字部の機械的な駆動を行うモータの制御に用いるプリンタ装置。
  6. モータドライバ部を介してモータを制御するモータ制御方法であって、
    前記モータドライバ部には、電流検出抵抗が接続されており、
    電源が投入された直後の初期化時に前記モータを励磁し、前記モータを励磁しているときの前記電流検出抵抗の計測電圧を取得する工程と、
    前記電流検出抵抗の計測電圧に基づいて、前記モータドライバ部が前記計測電圧と比較して電流制御を行うためのリファレンス電圧を補正する工程と
    を含む、モータ制御方法。
JP2015153575A 2015-08-03 2015-08-03 モータ制御装置、モータ制御方法、及びプリンタ装置 Pending JP2017034886A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015153575A JP2017034886A (ja) 2015-08-03 2015-08-03 モータ制御装置、モータ制御方法、及びプリンタ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015153575A JP2017034886A (ja) 2015-08-03 2015-08-03 モータ制御装置、モータ制御方法、及びプリンタ装置

Publications (1)

Publication Number Publication Date
JP2017034886A true JP2017034886A (ja) 2017-02-09

Family

ID=57986484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015153575A Pending JP2017034886A (ja) 2015-08-03 2015-08-03 モータ制御装置、モータ制御方法、及びプリンタ装置

Country Status (1)

Country Link
JP (1) JP2017034886A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797483A (zh) * 2020-06-30 2020-10-20 瑞声科技(新加坡)有限公司 马达均衡电信号的修正方法及设备、计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797483A (zh) * 2020-06-30 2020-10-20 瑞声科技(新加坡)有限公司 马达均衡电信号的修正方法及设备、计算机可读存储介质

Similar Documents

Publication Publication Date Title
US8629643B2 (en) Image forming apparatus having stepping motor arranged in conveying path for paper, and method for controlling stepping motor in image forming apparatus
JP4944654B2 (ja) 電源装置、および記録装置
US8456498B2 (en) Printing apparatus
US10171017B2 (en) Image forming apparatus, motor control apparatus, and method of controlling a motor
JP2019221075A (ja) モータ制御装置及び画像形成装置
CN110140291A (zh) 开关磁阻电机驱动器的准无传感器自适应控制的方法和装置
JP2016175374A (ja) 印刷装置、印刷装置の制御方法、及び、充電システム
US20080165216A1 (en) Image forming apparatus and method thereof
JP2017034886A (ja) モータ制御装置、モータ制御方法、及びプリンタ装置
US6441579B1 (en) Current magnitude variation correction for open loop stepper motor driver circuit
JP2002337705A (ja) パワーステアリングシステム
JP5217380B2 (ja) 補正定数算出システムならびに補正定数算出方法
US9268283B1 (en) Toner supply device
JP6117663B2 (ja) モータ駆動制御装置及びモータ駆動制御装置の制御方法
JP4891885B2 (ja) 共振点追尾型駆動装置
US9112443B2 (en) Current controlled actuator driver with improved accuracy at low current
US10739168B2 (en) Absolute encoder comprising a clock control circuit to change the pulse width of each backup clock pulse
JP2005091206A (ja) パルス時間幅測定装置及びパルス時間幅測定方法
JP3340522B2 (ja) 超音波モータの駆動回路
KR102011371B1 (ko) 화상형성장치, 모터 제어 장치 및 그 모터 제어 방법
JP2001251851A (ja) 電源装置
JP2009033554A (ja) パルス幅制御装置
KR20090106862A (ko) 모터 구동 제어 장치 및 방법
JP2019164187A (ja) 駆動装置および画像形成装置
JP6344164B2 (ja) 電気機器の較正装置及び電気機器の較正方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170913