1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10)は、ステッピングモータ(20)の回転を制御するための駆動制御信号(Sd)を生成するモータ制御回路(12)と、前記駆動制御信号に基づいて前記ステッピングモータに通電する制御を行うモータ駆動回路(14)とを備え、前記モータ制御回路は、前記ステッピングモータが前記ステッピングモータの駆動に関する目標値(It)にしたがって動作するように、前記駆動制御信号を生成し、前記目標値は、前記ステッピングモータの回転位置に応じて設定されていることを特徴とする。
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記モータ制御回路は、前記目標値を設定する目標値設定部(130)と、前記ステッピングモータが前記目標値に応じた動作状態になるように前記駆動制御信号を生成する駆動制御信号生成部(134)と、前記ステッピングモータの複数相のコイルのうち、通電が停止しているコイルに誘起される逆起電圧を計測する逆起電圧計測部(126)と、前記逆起電圧計測部によって計測された逆起電圧に基づいて前記ステッピングモータの負荷状態を判定する負荷判定部(133)とを有し、前記負荷判定部は、前記ステッピングモータの所定の回転位置毎に前記ステッピングモータの負荷状態を判定し、前記目標値設定部は、前記負荷判定部による判定結果に基づいて、前記所定の回転位置毎に前記目標値を設定してもよい。
〔3〕上記〔2〕に記載のモータ駆動制御装置において、前記負荷判定部は、前記ステッピングモータの駆動電流の電気角が所定の角度になるタイミングで前記ステッピングモータの負荷状態を判定し、前記目標値設定部は、前記負荷判定部による前記電気角に応じた負荷状態の判定結果に基づいて、前記所定の回転位置毎に前記目標値を設定してもよい。
〔4〕上記〔2〕または〔3〕に記載のモータ駆動制御装置において、前記目標値は、前記ステッピングモータの駆動電流の目標となる目標電流値(It)であって、前記モータ制御回路は、前記ステッピングモータの駆動電流を計測する電流計測部(124)を更に有し、前記目標値設定部は、前記所定の回転位置毎に前記目標電流値を設定し、前記駆動制御信号生成部は、前記所定の回転位置毎に、前記電流計測部によって計測された前記駆動電流が前記目標電流値に応じた値になるように、前記駆動制御信号を生成してもよい。
〔5〕上記〔4〕に記載のモータ駆動制御装置において、前記目標値設定部は、前記逆起電圧計測部によって計測された逆起電圧が小さいほど前記目標電流値が大きくなるように設定してもよい。
〔6〕上記〔5〕に記載のモータ駆動制御装置において、前記負荷判定部は、前記逆起電圧計測部によって計測された逆起電圧が前記所定の範囲よりも小さい場合に前記ステッピングモータが高負荷状態であると判定し、前記逆起電圧計測部によって計測された逆起電圧が前記所定の範囲よりも大きい場合に前記ステッピングモータが低負荷状態であると判定し、前記目標値設定部は、前記負荷判定部によって前記高負荷状態と判定された場合に、前記目標電流値を基準値より大きい値に設定し、前記負荷判定部によって前記低負荷状態と判定された場合に、前記目標電流値を前記基準値より小さい値に設定してもよい。
〔7〕本発明の代表的な実施の形態に係るアクチュエータは、ステッピングモータ(20)と、上記〔1〕乃至〔6〕の何れか一項に記載されたモータ駆動制御装置(10)と、前記ステッピングモータの回転力を駆動対象に伝達する動力伝達機構(31,32,33)とを備えることを特徴とする。
〔8〕本発明の代表的な実施の形態に係るモータ駆動制御装置は、ステッピングモータ(20)の駆動に関する目標値(It)を設定するためのキャリブレーションステップ(S3)と、前記キャリブレーションステップにおいて設定した前記目標値に基づいて前記ステッピングモータの回転を制御するための駆動制御信号(Sd)生成し、前記ステッピングモータを回転させる駆動ステップ(S2,S4)とを含む。前記キャリブレーションステップは、前記ステッピングモータを回転させる第1ステップ(S30,S31)と、前記ステッピングモータが回転しているときに、前記ステッピングモータの複数相のコイルのうち、通電が停止しているコイルに誘起される逆起電圧を計測する第2ステップ(S32,S33)と、前記第2ステップによって計測された逆起電圧に基づいて、前記ステッピングモータの所定の回転位置毎に前記ステッピングモータの負荷状態を判定する第3ステップ(S34,S35,S36,S38,S40)と、前記第3ステップによる負荷状態の判定結果に基づいて、前記所定の回転位置毎に前記目標値を設定する第4ステップ(S37,S39,S41,S42)を含むことを特徴とする。
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
図1は、本実施の形態に係るモータ駆動制御装置を搭載したアクチュエータの構造の一例を示す分解斜視図である。
アクチュエータ1は、例えば、車載用途のHVACシステムにおける空調装置を駆動するための装置である。アクチュエータ1としては、ダンパアクチュエータ、弁アクチュエータ、ファンアクチュエータ、ポンプアクチュエータ等のHVACシステムで使用可能な各種のアクチュエータを例示することができる。
HVACシステムにおいて、アクチュエータ1は、例えば、他のアクチュエータとともに、上位装置としてのECU(不図示)とバスを介して互いに接続され、LIN(Local Interconnect Network)通信ネットワークを構成している。
図1に示されるように、アクチュエータ1は、ケース51とカバー52とで覆われている。アクチュエータ1の内部には、モータ20と、モータ20の駆動を制御するモータ駆動制御装置10と、モータ20の回転力を駆動対象に伝達する動力伝達機構としての2次ギヤ31、3次ギヤ32、および出力ギヤ33とが収納されている。
モータ20は、アクチュエータ1の駆動力を発生させる。モータ20は、例えばステッピングモータである。以下、モータ20をステッピングモータ20とも表記する。ステッピングモータ20は、例えば、A相及びB相の2相励磁で駆動する。ステッピングモータ20は、A相のコイル(不図示)及びB相のコイル(不図示)を有する。ステッピングモータ20は、モータ駆動制御装置10から各相のコイルに駆動電力が供給されて動作する。
ステッピングモータ20の出力軸25には、1次ギヤ26が取り付けられている。ステッピングモータ20の1次ギヤ26は、2次ギヤ31と噛み合う。2次ギヤ31は、3次ギヤ32と噛み合う。3次ギヤ32は、出力ギヤ33と噛み合う。ケース51の底面には、出力ギヤ33に設けられている外部出力ギヤ(不図示)が露出し、この外部出力ギヤが駆動対象に連結されている。
モータ駆動制御装置10は、例えばバスを介して上位装置(ECU)との間で通信を行い、上位装置から受信した制御フレーム(指令)に基づいてステッピングモータ20の駆動を制御することにより、アクチュエータ全体の動作を制御する。モータ駆動制御装置10が上位装置からの指令に基づいてステッピングモータ20を駆動すると、ステッピングモータ20の出力軸25に接続された1次ギヤ26が回転する。1次ギヤ26の回転による駆動力が2次ギヤ31、3次ギヤ32、出力ギヤ33、外部出力ギヤと順に伝達され、外部出力ギヤが駆動対象である空調装置の可動部を駆動する。
モータ駆動制御装置10は、ハードウェア資源として、プリント基板42や、プリント基板42とステッピングモータ20のモータ端子29とを接続するフレキシブルプリント基板43等を有している。プリント基板42には、後述するモータ制御回路12およびモータ駆動回路14、および複数の外部接続端子41が設けられている。
なお、ケース51及びカバー52の内部に収納される回路は、例えばモータ駆動回路14だけであってもよい。例えば、モータ駆動制御装置10は、ケース51およびカバー52の内部に設けられたモータ駆動回路14と、ケース51およびカバー52の外部に設けられたモータ制御回路12とによって構成されるようにしてもよい。
図2は、本実施の形態に係るモータ駆動制御装置10の構成を示すブロック図である。
図2に示すように、モータ駆動制御装置10は、モータ制御回路12およびモータ駆動回路14を備えている。
モータ制御回路12は、入力電圧VINを電源電圧として動作する。モータ制御回路12は、上位装置からの指令Scに基づいて、ステッピングモータ20の回転を制御するための駆動制御信号Sdを生成してモータ駆動回路14を制御することにより、ステッピングモータ20の回転を制御する。駆動制御信号Sdは、例えばPWM信号である。モータ制御回路12の詳細については後述する。
上位装置からの指令Scには、例えば、ステッピングモータ20の回転速度を指定する情報や、ステッピングモータ20の回転量(回転角度)を指定する情報の他に、後述するキャリブレーション処理の実行を指示する情報等が含まれる。
モータ駆動回路14は、入力電圧VINを電源電圧として動作する。モータ駆動回路14は、モータ制御回路12から出力された駆動制御信号Sdに基づいて、ステッピングモータ20に通電する制御を行う。モータ駆動回路14は、モータ駆動部142と電流センサ144とを有する。
モータ駆動部142は、駆動制御信号Sdに基づいて、ステッピングモータ20の各相のコイルに電圧を印加する。本実施の形態では、モータ駆動回路14とステッピングモータ20とは、A相の正極(+)、A相の負極(-)、B相の正極(+)、B相の負極(-)の4つのラインで接続されている。モータ駆動部142は、例えば、複数のトランジスタを含むインバータ回路である。モータ駆動部142は、駆動制御信号Sdに応じて、入力電圧VINから、これらの各ラインを介してステッピングモータ20に駆動電力を供給する。ステッピングモータ20の駆動電力は、駆動制御信号SdとしてのPWM信号のデューティ比に応じて変化する。
電流センサ144は、ステッピングモータ20の各相のコイルに流れる電流(コイル電流)をセンシングする。電流センサ144は、例えばシャント抵抗である。電流センサ144は、コイル電流のセンシング結果を、電流計測部124に出力する。
図2に示すように、モータ制御回路12は、例えば、制御回路122、温度計測部128、電流計測部124、入力電圧計測部125、および逆起電圧計測部126を含む。
温度計測部128は、例えば、モータ制御回路12の内部温度を検知する温度センサと、温度センサからの検知信号をデジタル信号に変換するA/D変換回路を含んで構成されている。温度計測部128は、モータ制御回路12の温度の計測結果を制御回路122に出力する。
電流計測部124は、ステッピングモータ20のコイル電流(以下、「駆動電流」とも称する。)を計測する。電流計測部124は、電流センサ144から出力されたコイル電流のセンシング結果を受け付ける。電流計測部124は、入力されたセンシング結果に基づいて駆動電流を計測する。電流計測部124は、計測結果を駆動電流の計測値Irとして、制御回路122に出力する。電流計測部124は、例えばA/D変換回路を含んで構成されている。
入力電圧計測部125は、モータ駆動制御装置10に入力される電源電圧としての入力電圧VINを計測する。ここで、入力電圧VINは、ステッピングモータ20の駆動電力の供給源となる電源電圧である。入力電圧VINは、例えば、バッテリから供給される直流電圧である。入力電圧計測部125は、入力電圧の計測結果を制御回路122に出力する。入力電圧計測部125は、例えばA/D変換回路を含んで構成されている。
逆起電圧計測部126は、ステッピングモータ20の複数相のコイルのうち、通電が停止しているコイルに誘起される逆起電圧を計測する。本実施の形態において、逆起電圧計測部126は、モータ駆動回路14とステッピングモータ20とを接続する4つのラインの夫々に接続されている。逆起電圧計測部126は、逆起電圧の計測結果を、制御回路122に出力する。逆起電圧計測部126は、例えばA/D変換回路を含んで構成されている。なお、逆起電圧計測部126による具体的な逆起電圧の計測方法については後述する。
制御回路122は、モータ制御回路12の統括的な制御を行うための回路である。
制御回路122は、例えば、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)やRAM(Random Access Memory)等の各種メモリ、タイマ(カウンタ)、A/D変換回路、入出力I/F回路、およびクロック生成回路等のハードウェア要素を有し、各構成要素がバスや専用線を介して互いに接続されたプログラム処理装置(例えば、マイクロコントローラ:MCU(Micro Control Unit))である。メモリとしては、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read-Only Memory)のような書き換え可能な不揮発性の記憶装置を有している。
なお、上述した温度計測部128、電流計測部124、入力電圧計測部125、および逆起電圧計測部126の一部または全部は、制御回路122を構成するMCU内のA/D変換回路を用いて実現されていてもよいし、MCUとは別に設けられたA/D変換回路を含む別個のIC(Integrated Circuit)によって実現されていてもよい。
制御回路122は、所定の回転速度でステッピングモータ20が回転し、且つステッピングモータ20に適切なトルクを発生させるように、駆動制御信号Sdを生成する。例えば、制御回路122は、マイクロステップ方式により駆動制御信号Sdを生成して、ステッピングモータ20の回転を制御する。
本実施の形態において、マイクロステップ方式とは、ステッピングモータ20の駆動電流の目標値を、サインカーブ(コサインカーブ)を階段状に近似した階段状波形によって規定し、その階段状波形の各ステップにおいてステッピングモータ20の駆動電流がそのステップにおける駆動電流の目標値に一致するように駆動制御信号Sdを生成する制御方式である。
制御回路122は、上述した駆動制御信号Sdを生成する機能に加えて、駆動制御信号Sdを生成するための処理において用いるパラメータを、ステッピングモータ20およびステッピングモータ20を組み込んだ機器(本実施の形態の場合、アクチュエータ1)の個体差に応じた適切な値に調整するためのキャリブレーション機能を有している。
上述したように、ステッピングモータの負荷(トルク)は、ステッピングモータ自身の個体差やアクチュエータ内においてステッピングモータと連結されるギヤ等の動力伝達機構の個体差によって、アクチュエータ毎に相違する。具体的には、ステッピングモータが一回転する間、ステッピングモータの負荷は厳密には一定ではなく、ロータの回転位置(回転角度)によって異なることが多い。そして、そのロータの回転位置毎の負荷は、ステッピングモータやアクチュエータ毎にばらつきがある。
そこで、本実施の形態に係るモータ駆動制御装置10は、例えばアクチュエータ1の製造段階において、ステッピングモータ20が一回転する間に所定の回転位置(回転角度)毎に負荷状態を判定し、その判定結果に基づいて、ステッピングモータの駆動に関する目標値をステッピングモータ20の回転位置毎に予め設定するキャリブレーション処理を実行する。
本実施の形態において、キャリブレーション処理によって設定される上記目標値は、例えば、ステッピングモータ20のコイルに流れる電流(駆動電流)の目標となる目標電流値Itである。
例えば、アクチュエータ1の製造段階において、ステッピングモータ20、モータ駆動制御装置10、2次ギヤ31、3次ギヤ32、および出力ギヤ33等をケース51及びカバー52の内部に組み込んだ後に実施されるアクチュエータ1のテスト工程において、制御回路122は、上位装置(例えばテスタ)からの指令Scに応じてキャリブレーション処理を実行する。制御回路122は、キャリブレーション処理において、ステッピングモータ20の駆動電流の目標電流値Itの最適値をステッピングモータ20の回転位置毎に決定し、制御回路122内部の不揮発性の記憶領域に記憶しておく。
そして、アクチュエータ1が出荷され、HVACシステム等に組み込まれたアクチュエータ1を駆動する際には、制御回路122は、アクチュエータ1(モータ駆動制御装置10)に電源電圧VINが供給されて制御回路122が起動する毎に、上記不揮発性の記憶領域から読み出した目標電流値Itを用いて駆動制御信号Sdを生成し、ステッピングモータ20(アクチュエータ1)の駆動制御を行う。
制御回路122は、上記機能を実現するために、図3に示す機能ブロックを有している。
図3は、制御回路122の機能ブロック構成を示す図である。
図3に示すように、制御回路122は、上述した機能を実現するための機能ブロックとして、目標値設定部130、記憶部131、脱調判定部132、負荷判定部133、駆動制御信号生成部134、および回転位置検出部135を有している。これらの機能ブロックは、上述したMCU内のCPUが、メモリに記憶されているプログラムに従って各種演算を実行するとともに、タイマおよびカウンタ、A/D変換回路および入出力I/F回路等のMCU内部およびMCU外部の周辺回路を制御することによって、実現される。
目標値設定部130は、ステッピングモータ20の駆動制御に用いるパラメータを設定するための機能部である。パラメータとしては、ステッピングモータ20の回転速度の目標となる目標回転速度Rt、目標電流値It、ステッピングモータ20の脱調に関する判定を行うための逆起電圧の判定閾値(以下、「脱調判定閾値」とも称する。)Vx、ステッピングモータ20の負荷に関する判定を行うための逆起電圧の判定閾値(以下、「負荷判定閾値」とも称する。)VtH,VtL等を例示することができる。
ここで、目標電流値Itは、上述したマイクロステップ方式によって駆動電流の目標値を、サインカーブを階段状に近似した階段状波形で表す場合において、その階段波形の各ステップにおける駆動電流の目標値の基準となる値である。例えば、目標電流値Itは、サインカーブのピーク値(最大値)であって、各ステップの駆動電流の目標値は、目標電流値ItとSinθとを乗算することによって算出される。ここで、θは、駆動電流の位相である。
目標値設定部130は、例えば記憶部131に記憶されている情報に基づいて、各パラメータを設定する。目標値設定部130の詳細については後述する。
記憶部131は、上述したステッピングモータ20の駆動制御に用いられる各種パラメータを記憶するための機能部である。例えば、記憶部131には、キャリブレーション処理において用いる目標電流値の初期値I0の情報301に加えて、目標電流値Itの情報303、上位装置から指定された目標回転速度Rtの情報304、脱調判定閾値Vxの情報305、および負荷判定閾値VtH,VtLの情報306等が記憶されている。
ここで、目標電流値の初期値I0は、後述するキャリブレーション処理においてステッピングモータ20を回転させるときに目標電流値Itとして設定される値である。
脱調判定部132は、記憶部131に記憶されている脱調判定閾値Vxと逆起電圧計測部126の計測結果とに基づいて、ステッピングモータ20で脱調が発生したか否かを判定する(脱調判定)ための機能部である。
負荷判定部133は、ステッピングモータ20の負荷状態を監視するための機能部である。負荷判定部133は、逆起電圧計測部126によって計測された逆起電圧に基づいて、ステッピングモータ20のトルク(駆動電流)がステッピングモータ20の負荷に対して十分か否かを判定する。
ここで、脱調判定部132による脱調判定および負荷判定部133による負荷状態の判定に用いられるステッピングモータ20の逆起電圧の計測方法について説明する。
図4は、ステッピングモータ20の回路構成を模式的に示す図である。
図4に示されるように、ステッピングモータ20は、例えば、2つのコイル21a,21bと、ロータ22と、複数のステータヨーク(図示せず)とを有している。
コイル21a,21bは、それぞれ、ステータヨークを励磁するコイルである。コイル21a,21bは、それぞれ、モータ駆動回路14に接続されている。コイル21aは、A相のコイルである。コイル21bは、B相のコイルである。コイル21a,21bには、それぞれ異なる位相のコイル電流が流れる。
ロータ22は、円周方向に沿って、S極22sとN極22nとが交互に反転するように多極着磁された永久磁石を備える。なお、図4においては、ロータ22は、S極22sとN極22nとが1つずつ設けられているように簡略化されて示されている。ステータヨークは、ロータ22の周囲に、ロータ22の外周部に接近して配置されている。ロータ22は、コイル21a,21bのそれぞれに流れるコイル電流の位相が周期的に切り替えられることで回転する。
ここで、本実施の形態において、逆起電圧は、例えば次のようにして計測される。制御回路122の駆動制御信号生成部134は、駆動制御信号Sdによって、A相及びB相のうちいずれか1つの相のコイル21a,21bに流れるコイル電流Ia,Ibの向きが切り替わる際に、一時的に、そのコイル21a,21bへのパルス電圧の印加を停止させる(停止期間)。そして、逆起電圧計測部126は、この停止期間中に、パルス電圧の印加が停止されている相のコイル21a,21bに誘起される逆起電圧を、個別に(相毎に、又はコイル毎に)計測する。
例えば、コイル電流Iaの極性が変わるときには、コイル電流Iaがゼロになるように、コイル21aへのパルス電圧の印加が停止される。この停止期間においては、コイル21aに逆起電圧が誘起される。また、コイル電流Ibの極性が変わるときには、コイル電流Ibがゼロになるように、コイル21bへのパルス電圧の印加が停止される。この停止期間においては、コイル21bに逆起電圧が誘起される。
図5は、ステッピングモータ20をマイクロステップ方式で駆動したときの駆動電流と逆起電圧の波形の一例を示す図である。
図5において、縦軸は電圧および電流を表し、横軸はステッピングモータ20の回転角(機械角)を表している。なお、横軸には、回転角に加えて、回転角に対応するステッピングモータ20の駆動電流の電気角を、括弧を付して表記している。
また、図5において、参照501,502は、A相のコイル21aの逆起電圧および駆動電流(コイル電流Ia)をそれぞれ表し、参照符号601,602は、B相のコイル21bの逆起電圧および駆動電流(コイル電流Ib)をそれぞれ表している。
また、図5には、一例として、ステッピングモータ20の相数が2相、且つ磁極数が4極である場合において、ステッピングモータ20の駆動電流(Ia,Ib)の目標値を、サインカーブの電気角π/2(=90°)を8分割した階段状波形で規定したマイクロステップ方式によってステッピングモータ20を駆動させたときの、駆動電流と逆起電圧が示されている。
図5に示されるように、A相の逆起電圧501の位相はB相の駆動電流602の逆位相とほぼ一致し、B相の逆起電圧601の位相はA相の駆動電流502の位相とほぼ一致する。
先ず、ステッピングモータ20の駆動時において、駆動制御信号生成部134の制御により、コイル21a,21bにパルス電圧が印加される(PWM制御)。これにより、コイル21a,21bにそれぞれコイル電流Ia,Ibが流れる。
PWM制御が行われると、その後、通電停止処理及び定電圧制御が実行される。例えばコイル21aの通電停止処理が行われる場合には、所定の停止期間だけコイル21aへのパルス電圧の印加が停止される。これにより、コイル電流Iaがゼロになる。停止期間は、CPU122により任意に設定される。例えば、駆動制御信号生成部134は、予め決められた停止期間を設定してもよいし、モータ駆動制御装置10の外部から停止期間の設定を受け付けてもよい。このような停止期間中に、逆起電圧計測部126は、コイル21aに誘起される逆起電圧を計測し、脱調判定部132および負荷判定部133にそれぞれ供給する。具体的には、図5に示すように、逆起電圧計測部126は、例えばA相について逆起電圧を電気角π(=180°)毎に計測するとともに、B相について逆起電圧を電気角π(=180°)毎に計測し、脱調判定部132および負荷判定部133にそれぞれ供給する。
脱調判定部132は、逆起電圧計測部126によって計測された逆起電圧と目標値設定部130によって設定された脱調判定閾値Vxとを比較する。例えば、脱調判定部132は、逆起電圧の計測値が脱調判定閾値Vxより小さい場合に、ステッピングモータ20で脱調が発生していると判定し、逆起電圧の計測値が脱調判定閾値Vx以上である場合に、ステッピングモータ20で脱調が発生していないと判定する。
負荷判定部133は、モータ駆動制御装置10によるキャリブレーション処理において、逆起電圧計測部126によって計測された逆起電圧と目標値設定部130によって設定された負荷判定閾値VtH,VtL(VtH<VtL)とを比較し、比較結果に基づいて、ステッピングモータ20の負荷状態を判定する。具体的な負荷状態の判定方法については後述する。
駆動制御信号生成部134は、駆動制御信号Sdを生成するための機能部である。駆動制御信号生成部134は、電流計測部124によって計測された駆動電流の計測値Irと、目標値設定部130によって設定された目標電流値Itおよび目標回転速度Rtと、脱調判定部132による判定結果とに基づいて、マイクロステップ方式により、駆動制御信号Sd(PWM信号)を生成する。
駆動制御信号生成部134は、所定の回転位置毎に、電流計測部124によって計測された駆動電流Irが目標電流値Itに応じた値になるように、駆動制御信号Sdを生成する。例えば、駆動制御信号生成部134は、目標電流値ItとSinθとを乗算することによって、マイクロステップ方式の各ステップにおける駆動電流の目標値を算出し、その目標値と駆動電流の計測値Irとが一致し、且つステッピングモータ20が目標回転速度Rtで回転するように、パルス周期およびパルス幅を調整したPWM信号を生成して、駆動制御信号Sdとして出力する。
また、駆動制御信号生成部134は、脱調判定部132による脱調判定の結果に応じて、駆動制御信号Sdを生成する。例えば、駆動制御信号生成部134は、脱調判定部132によってステッピングモータ20で脱調が発生したと判定された場合には、駆動制御信号Sdによって、モータ駆動回路14(モータ駆動部142)に対してステッピングモータ20の駆動信号の出力を停止させる。
回転位置検出部135は、ステッピングモータ20の回転位置を検出するための機能部である。回転位置検出部135は、駆動制御信号生成部134によって生成された駆動制御信号Sdに基づいて、ステッピングモータ20の回転角度を算出し、ステッピングモータ20の回転位置の情報として出力する。例えば、ステッピングモータ20の回転位置の情報は、目標値設定部130に入力される。
次に、本実施の形態に係るモータ駆動制御装置10によるキャリブレーション処理について詳細に説明する。
キャリブレーション処理では、先ず、目標値設定部130が、記憶部131に記憶されている目標電流値の初期値I0と上位装置から指定された目標回転速度Rtを駆動制御信号生成部134に設定する。そして、駆動制御信号生成部134が設定された目標電流値の初期値I0と目標回転速度Rtとに基づいて駆動制御信号Sdを生成して、ステッピングモータ20を回転させる。
ステッピングモータ20が一回転する間に、負荷判定部133が所定の回転位置(回転角度)毎に負荷状態を判定し、目標値設定部130が負荷状態の判定結果に基づいて、ステッピングモータの駆動に関する目標値をステッピングモータ20の回転位置毎に設定する。
図6は、目標値設定部130による目標電流値Itの設定方法を説明するための図である。
同図において、縦軸は電圧および電流を表し、横軸はステッピングモータ20の回転角(機械角)およびステッピングモータ20の逆起電圧(駆動電流)の電気角を表している。図6には、図5と同様に、ステッピングモータ20の相数が2相、且つ磁極数が4極である場合における、A相およびB相の駆動電流および逆起電圧の波形がそれぞれ示されている。図6において、参照符号701は、目標電流値Itの設定例を表している。
負荷判定部133は、ステッピングモータ20の所定の回転位置毎にステッピングモータ20の負荷状態を判定する。例えば、負荷判定部133は、ステッピングモータ20の駆動電流の電気角が所定の角度になるタイミングでステッピングモータの20負荷状態を判定する。
負荷判定部133は、図6に示すように、例えば電気角π毎のA相の逆起電圧と電気角π毎のB相の逆起電圧とに基づいてステッピングモータ20の負荷状態を判定する。例えば、ステッピングモータ20の相数が2相、且つ磁極数が4極である場合、負荷判定部133は、図6に示すように、機械角45°(電気角π/2)毎に負荷状態を判定する。
例えば、図6に示すように、負荷判定閾値としてVtHとVtL(VtH<VtL)を設定した場合を考える。この場合において、負荷判定部133は、逆起電圧の絶対値|V|が負荷判定閾値VtLよりも大きい(V>VtLまたはV<-VtL)とき、負荷がステッピングモータ20のトルク(駆動電流)に対して小さい状態(低負荷状態)であると判定する。例えば、図6における回転角45°(電気角π/2)および回転角90°(電気角π)において、負荷判定部133は、ステッピングモータ20が低負荷状態であると判定する。
また、負荷判定部133は、逆起電圧の絶対値|V|が負荷判定閾値VtHよりも大きく且つ負荷判定閾値VtLよりも小さい(VtH<V<VtLまたは-VtL<V<-VtH)とき、負荷がステッピングモータ20のトルク(駆動電流)に対して適切な状態(中負荷状態)であると判定する。例えば、図6における回転角0°(電気角0)および回転角135°(電気角3π/2)において、負荷判定部133は、ステッピングモータ20が中負荷状態であると判定する。
更に、負荷判定部133は、逆起電圧の絶対値|V|が負荷判定閾値VtHよりも小さい(-VtH<V<VtH)とき、負荷がステッピングモータ20のトルク(駆動電流)に対して大きい状態(高負荷状態)であると判定する。例えば、図6における回転角180°(電気角2π)において、負荷判定部133は、ステッピングモータ20が高負荷状態であると判定する。
目標値設定部130は、負荷判定部133による、ステッピングモータ20が一回転する間の回転位置毎の負荷状態に関する判定結果に基づいて、回転位置毎に目標値(目標電流値It)を決定する。
具体的に、目標値設定部130は、負荷判定部133による所定の電気角毎の負荷状態の判定結果に基づいて、所定の回転位置毎に目標値(目標電流値It)を設定する。例えば、ステッピングモータ20の相数が2相、且つ磁極数が4極であり、図6に示すように回転角45°(電気角π/2)毎に負荷状態が判定される場合には、目標値設定部130は、回転角45°(電気角π/2)毎に目標電流値Itを設定する。
目標値設定部130は、逆起電圧計測部126によって計測された逆起電圧が小さいほど目標電流値Itが大きくなるように設定する。すなわち、目標値設定部130は、ステッピングモータ20の負荷が大きくなるほど、目標電流値Itが大きくなるように設定する。
具体的には、目標値設定部130は、負荷判定部133によって“高負荷状態”と判定された場合に、目標電流値Itを基準値より大きい値に設定し、負荷判定部133によって負荷が小さいと判定された場合に、目標電流値Itを基準値より小さい値に設定する。
例えば、目標電流値Itとして、3種類のIL,IM,IH(IL<IM<IH)を設け、IMを基準値とした場合を考える。この場合において、目標値設定部130は、負荷判定部133によって“中負荷状態”と判定されたとき、目標電流値Itを基準値である“IM”に設定する。また、目標値設定部130は、負荷判定部133によって“高負荷状態”と判定されたとき、目標電流値Itを“IH”に設定する。また、目標値設定部130は、負荷判定部133によって“低負荷状態”と判定されたとき、目標電流値Itを“IL”に設定する。
例えば、図6に示すように、回転角0°(電気角0)においてステッピングモータ20の負荷状態が“中負荷状態”と判定されたとき、目標値設定部130は、回転角0から45°まで(電気角0からπ/2まで)の目標電流値Itを“IM”に設定する。
また、例えば、図6に示すように、回転角45°(電気角π/2)においてステッピングモータ20の負荷状態が“低負荷状態”と判定されたとき、目標値設定部130は、回転角45°から90°まで(電気角π/2からπまで)の目標電流値Itを“IL”に設定する。
更に、例えば、図6に示すように、回転角180°(電気角2π)においてステッピングモータ20の負荷状態が“高負荷状態”と判定されたとき、目標値設定部130は、回転角180°から225°まで(電気角2π(0)からπ/2まで)の目標電流値Itを“IH”に設定する。
このようにして、目標値設定部130は、ステッピングモータ20が1回転する間に、所定の回転位置毎(例えば、回転角45°(電気角π/2)毎)に、ステッピングモータ20の負荷状態に応じた目標電流値Itを設定する。
なお、図6では、A相およびB相のそれぞれについて、電気角π/2毎に逆起電圧を計測して目標電流値Itを設定する場合を例示したが、これに限られず、図7に示すように、A相とB相の何れか一方の逆起電圧のみに基づく負荷状態の判定結果に基づいて目標電流値Itを設定してもよい。
図7は、目標値設定部130による目標電流値Itの別の設定方法を説明するための図である。
同図において、縦軸は電圧および電流を表し、横軸はステッピングモータ20の回転角(機械角)およびステッピングモータ20の逆起電圧(駆動電流)の電気角を表している。図7には、図5と同様に、ステッピングモータ20の相数が2相、且つ磁極数が4極である場合の、A相の駆動電流および逆起電圧の波形がそれぞれ示されている。
図7に示すように、目標値設定部130は、例えばA相について、電気角π毎に、負荷状態の判定結果に基づいて目標電流値Itを設定してもよい。これによれば、ステッピングモータ20の相数が2相、且つ磁極数が4極である場合には、図7に示すように、回転角90°(電気角π)毎に目標電流値Itが設定される。
目標値設定部130は、上述した手法により設定した回転位置毎の目標電流値Itの値を、目標電流値Itの情報303として記憶部131(不揮発性の記憶領域)に記憶する。
図8は、記憶部131に記憶される目標電流値Itの情報303の一例を示す図である。
例えば、キャリブレーション処理においてステッピングモータ20が一回転する間に、目標値設定部130は、上述した手法により、目標電流値Itの値を所定の電気角(回転角)毎に決定し、回転角の範囲と目標電流値Itとの対応関係を示すテーブル(ルックアップテーブル)を生成する。目標値設定部130は、生成されたテーブルを目標電流値Itの情報303として記憶部131に記憶する。
目標値設定部130は、キャリブレーション処理が行われた後のモータ駆動制御装置10の通常動作時において、キャリブレーション処理において記憶部131に記憶しておいた目標電流値Itを含むパラメータを読み出し、必要な機能部にそれぞれ設定する。
具体的には、目標値設定部130は、アクチュエータ1(モータ駆動制御装置10)に電源電圧VINが供給されて制御回路122が起動する毎に、脱調判定閾値Vxを脱調判定部132に設定する。目標値設定部130は、アクチュエータ1(モータ駆動制御装置10)に電源電圧VINが供給されて制御回路122が起動する毎に、目標回転速度Rtを駆動制御信号生成部134に設定する。目標値設定部130は、アクチュエータ1(モータ駆動制御装置10)に電源電圧VINが供給されて制御回路122が起動する毎に、負荷判定閾値VtH,VtLを負荷判定部133に設定する。目標値設定部130は、アクチュエータ1(モータ駆動制御装置10)に電源電圧VINが供給されて制御回路122が起動する毎に、目標電流値Itを駆動制御信号生成部134に設定する。このとき、目標値設定部130は、目標電流値Itの情報303として記憶部131に記憶されている回転角の範囲と目標電流値Itとの対応関係を示すテーブルから、回転位置検出部135によって検出されたステッピングモータ20の回転位置に対応する目標電流値Itを読み出して、駆動制御信号生成部134に逐次設定する。これにより、ステッピングモータ20のロータが所定量回転する毎に、目標電流値Itが切り替わる。
次に、本実施の形態に係るモータ駆動制御装置10によるステッピングモータ20の駆動制御の流れを説明する。
図9は、モータ駆動制御装置10によるステッピングモータ20の駆動制御の流れを示すフローチャートである。
例えば、アクチュエータ1に入力電圧VINが供給されると、モータ駆動制御装置10が起動する。モータ駆動制御装置10の起動後、先ず、モータ駆動制御装置10のモータ制御回路12が、キャリブレーション処理を実行するか否かを判定する(ステップS1)。
例えば、上述したように、アクチュエータ1の製造段階におけるテスト工程において、テスタ等の上位装置からキャリブレーション処理の実行を指示する指令Scが入力されている場合には(ステップS1:YES)、モータ制御回路12は、キャリブレーション処理を実行し、上述した手法によって目標電流値Itを決定して、記憶部131に記憶する(ステップS3)。キャリブレーション処理の具体的なフローについては後述する。
一方、例えば、ステッピングモータ20およびモータ駆動制御装置10を搭載したアクチュエータ1がHVACシステム内に組み込まれた後において、HVACシステムの上位装置からキャリブレーション処理の実行を指示する指令Scが入力されていない場合には(ステップS1:NO)、モータ制御回路12は、ステッピングモータ20の駆動制御に用いる各種パラメータの初期設定を行う(ステップS2)。
具体的には、上述したように、モータ制御回路12の目標値設定部130が、記憶部131に記憶されている情報に基づいて、脱調判定閾値Vx、負荷判定閾値VtH,VtL、および目標回転速度Rtを脱調判定部132、負荷判定部133、駆動制御信号生成部134にそれぞれ設定するとともに、ステップS3のキャリブレーション処理によって記憶部131に記憶した目標電流値Itを駆動制御信号生成部134に設定する。
次に、モータ駆動制御装置10は、ステッピングモータ20の駆動を制御する(ステップS4)。具体的には、上述したように、モータ制御回路12の駆動制御信号生成部134が、ステップS2で設定したパラメータに基づいて駆動制御信号SdとしてのPWM信号を生成し、モータ駆動回路14が駆動制御信号Sdに基づいてステッピングモータ20を駆動する。
より具体的には、上述したように、目標値設定部130が、回転位置検出部135によって検出されたステッピングモータ20の回転位置(回転角度)の情報に基づいて、記憶部131に記憶されている目標電流値Itの情報303としてのテーブルを参照することにより、回転位置検出部135によって検出されたステッピングモータ20の回転位置に応じて目標電流値Itの値を逐次切り替える。そして、駆動制御信号生成部134が、目標値設定部130によって設定された目標電流値Itに基づいてマイクロステップ方式の各ステップにおける駆動電流の目標値を算出し、電流計測部124によって計測された駆動電流の計測値Irがその目標値に一致するように駆動制御信号Sdを生成する。
このとき、脱調判定部132は、脱調判定閾値Vxを用いてステッピングモータ20の脱調の有無を監視する。ステッピングモータ20において脱調が発生した場合には、駆動制御信号生成部134が、駆動制御信号Sdによってステッピングモータ20の回転を停止させる。
次に、モータ駆動制御装置10は、ステッピングモータ20の回転を停止させるか否かを判定する(ステップS5)。例えば、ステッピングモータ20の回転角度が上位装置からの指令Scによって指定された回転角度に到達していない場合や、上位装置からの指令Scによってステッピングモータ20の駆動の停止が指示されていない場合には(ステップS5:NO)、モータ駆動制御装置10は、ステップS4にもどり、ステッピングモータ20の駆動制御を継続する。
一方、例えば、アクチュエータ1の外部出力ギヤが上位装置からの指令Scによって指定された回転角度に到達した場合や、上位装置からの指令Scによってステッピングモータ20の駆動の停止が指示された場合には(ステップS5:YES)、モータ駆動制御装置10は、駆動制御信号Sdによって、ステッピングモータ20の駆動を停止する。
次に、モータ駆動制御装置10によるキャリブレーション処理の流れについて説明する。
図10は、目標電流値Itを設定するためのキャリブレーション処理の流れを示すフローチャートである。
キャリブレーション処理が開始されると、先ず、モータ駆動制御装置10は、ステッピングモータ20を回転させるための初期パラメータを設定する(ステップS30)。具体的には、モータ制御回路12の目標値設定部130が、記憶部131に記憶されている目標電流値Itの初期値I0と目標回転速度Rtを駆動制御信号生成部134に設定するとともに、記憶部131に記憶されている脱調判定閾値Vxおよび負荷判定閾値VtH,VtLを脱調判定部132および負荷判定部133にそれぞれ設定する。
次に、モータ駆動制御装置10は、ステッピングモータ20の駆動を制御する(ステップS31)。具体的には、モータ制御回路12の駆動制御信号生成部134が、ステップS30で設定したパラメータに基づいて駆動制御信号SdとしてのPWM信号を生成し、モータ駆動回路14が駆動制御信号Sdに基づいてステッピングモータ20を回転させる。
次に、モータ駆動制御装置10は、ステッピングモータ20が所定の回転位置(回転角度)まで回転したか否かを判定する(ステップS32)。具体的には、目標値設定部130が、ステッピングモータ30が所定の回転角度(図6の例の場合、回転角45°)だけ回転したか否かを判定する。例えば、目標値設定部130は、電気角がπ/2進んだか否かを判定する。
ステッピングモータ30が所定の回転位置まで回転していない場合には(ステップS32:NO)、モータ駆動制御装置10は、引き続きステッピングモータ30を回転させる。
一方、ステッピングモータ30が所定の回転位置まで回転した場合には(ステップS32:YES)、モータ駆動制御装置10は、ステッピングモータ30の逆起電圧の計測する(ステップS33)。具体的には、モータ制御回路12の負荷判定部133が、逆起電圧計測部126による逆起電圧Vの計測結果を取得する。
次に、負荷判定部133は、ステップS33において取得した逆起電圧Vの絶対値が負荷判定閾値VtLよりも大きいか否かを判定する(ステップS34)。逆起電圧Vの絶対値が負荷判定閾値VtLよりも大きい場合(ステップS34:Yes)、負荷判定部133は、ステッピングモータ30がステップS32で検出した所定の回転位置にあるときのステッピングモータ30の負荷状態が“低負荷状態”であると判定する(ステップS36)。この場合、目標値設定部130は、目標電流値Itとして電流値ILを選択する(ステップS37)。
一方、逆起電圧Vの絶対値が負荷判定閾値VtLよりも小さい場合(ステップS34:NO)、負荷判定部133は、ステップS34において取得した逆起電圧Vの絶対値が負荷判定閾値VtHよりも小さいか否かを判定する(ステップS35)。逆起電圧Vの絶対値が負荷判定閾値VtHよりも小さい場合(ステップS35:YES)、負荷判定部133は、ステッピングモータ30がステップS32で検出した所定の回転位置にあるときのステッピングモータ30の負荷状態が“高負荷状態”であると判定する(ステップS40)。この場合、目標値設定部130は、目標電流値Itとして電流値IHを選択する(ステップS41)。
一方、逆起電圧Vの絶対値が負荷判定閾値VtHよりも大きい場合(ステップS35:NO)、負荷判定部133は、ステッピングモータ30がステップS32で検出した所定の回転位置にあるときのステッピングモータ30の負荷状態が“中負荷状態”であると判定する(ステップS38)。この場合、目標値設定部130は、目標電流値Itとして電流値IMを選択する(ステップS39)。
目標値設定部130は、ステップS37,S39,S41において目標電流値Itとして電流値IL,IM,IHの何れか一つを選択した後、選択した電流値の情報とステップS32で検出した所定の回転位置に対応する回転範囲の情報と対応付けて、目標電流値Itの情報303として記憶部131に記憶する(ステップS42)。
次に、モータ駆動制御装置10は、ステッピングモータ20が一回転したか否かを判定する(ステップS43)。ステッピングモータ30が一回転していない場合には(ステップS43:NO)、ステップS31に戻る。すなわち、モータ駆動制御装置10は、ステッピングモータ30を引き続き回転させ、ステッピングモータ30が所定量回転する毎に、逆起電圧の計測、負荷状態の判定、電流値の選択、および選択した電流値と回転範囲の対応関係情報の記憶部131への記憶を繰り返し実行する(ステップS31~S42)。
一方、ステッピングモータ30が一回転した場合には(ステップS43:YES)、モータ駆動制御装置10は、一連のキャリブレーション処理を終了する。
以上、本実施の形態に係るモータ駆動制御装置10は、上述したように、ステッピングモータ20の駆動に関する目標値としての目標電流値Itをステッピングモータ20の回転位置に応じて設定し、ステッピングモータが目標電流値Itにしたがって動作するように駆動制御信号Sdを生成する。これによれば、ステッピングモータ20の回転位置(回転角度)毎の負荷に応じた適切なトルクでステッピングモータ20を回転させることが可能となる。
具体的には、上述したように、モータ駆動制御装置10は、例えばステッピングモータ20およびモータ駆動制御装置10を組み込んだアクチュエータ1のテスト工程において、ステッピングモータ20が回転しているときのステッピングモータ20の負荷状態をステッピングモータ20(ロータ)の所定の回転位置毎に判定し、その判定結果に基づいて、所定の回転位置毎に目標電流値Itを予め設定する。
これによれば、例えば、ステッピングモータ20自身やステッピングモータ20に連結されるギヤ等の動力伝達機構の個体差により、同じ製造ラインで製造されたアクチュエータ間にロータの回転位置(回転角度)毎の負荷状態にばらつきがある場合であっても、アクチュエータ1の個体差に応じた適切な目標電流値Itを予め設定することができる。これにより、アクチュエータ毎の個体差に応じた適切なトルクでステッピングモータ20を駆動させることが可能となる。
また、モータ駆動制御装置10は、ステッピングモータ20の脱調の発生を防ぐために、ステッピングモータの目標電流値を予め大きな値に設定するのではなく、ステッピングモータ20の回転位置の負荷状態に応じた適切な値に設定することができる。これによれば、ステッピングモータ20の負荷が小さいときに過剰な電流がステッピングモータ20に供給されることを防ぐことができるので、アクチュエータ全体の省電力化が可能となる。
≪実施の形態の拡張≫
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、上述のフローチャートは、動作を説明するための一例を示すものであって、これに限定されない。すなわち、フローチャートの各図に示したステップは具体例であって、このフローに限定されるものではない。例えば、一部の処理の順番が変更されてもよいし、各処理間に他の処理が挿入されてもよいし、一部の処理が並列に行われてもよい。