(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-18
(45)【発行日】2024-12-26
(54)【発明の名称】モータ駆動制御装置、モータユニット、およびモータ駆動制御方法
(51)【国際特許分類】
H02P 6/10 20060101AFI20241219BHJP
【FI】
H02P6/10
(21)【出願番号】P 2021075255
(22)【出願日】2021-04-27
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】鈴木 貴大
(72)【発明者】
【氏名】青木 政人
(72)【発明者】
【氏名】海津 浩之
【審査官】若林 治男
(56)【参考文献】
【文献】特開2010-074887(JP,A)
【文献】特開昭61-058492(JP,A)
【文献】特開2012-175776(JP,A)
【文献】特開2013-247856(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 6/10
(57)【特許請求の範囲】
【請求項1】
モータの駆動を制御するための駆動制御信号を生成する制御回路と、
前記駆動制御信号に応じて前記モータを駆動する駆動回路と、を備え、
前記制御回路は、
設定された周期毎に、前記モータの回転速度が目標回転速度に一致するように前記モータの操作量を算出
し、出力するフィードバック制御部と、
前記操作量に基づいて前記駆動制御信号を生成する駆動制御信号生成部と、
前記モータに流れる電流の変動を検出する電流変動検出部と、
前記電流変動検出部によって前記モータに流れる電流の変動が検出された場合に、前記操作量の補正を指示する補正指示部と、
前記補正指示部からの指示に応じて、前記フィードバック制御部
から出力された前記操作量を補正
して出力する補正部と、を有し、
前記補正部は、前記補正指示部から前記操作量の補正が指示されていない場合に、前記フィードバック制御部
から出力された前記操作量を補正することなく前記駆動制御信号生成部に与え、前記補正指示部から前記操作量の補正が指示された場合に、前記フィードバック制御部
から出力された前記操作量を補正して前記駆動制御信号生成部に与える
モータ駆動制御装置。
【請求項2】
請求項1に記載のモータ駆動制御装置において、
前記補正指示部は、前記電流変動検出部によって前記モータに流れる電流の周期的な変動が検出された場合に、前記操作量の補正を指示する
モータ駆動制御装置。
【請求項3】
請求項1または2に記載のモータ駆動制御装置において、
前記補正指示部は、前記電流変動検出部によって前記モータに流れる電流の変動が検出された回数をカウントする補正カウンタを更に有し、
前記補正部は、前記補正カウンタのカウント値に応じて前記操作量を補正する量を段階的に増やす
モータ駆動制御装置。
【請求項4】
請求項1乃至3の何れか一項に記載のモータ駆動制御装置において、
前記補正部は、前記操作量の補正として、前記駆動制御信号生成部に与える操作量を小さくすること、および前記駆動制御信号生成部に与える操作量を更新する周期を長くする
ことの少なくとも一方を行う
モータ駆動制御装置。
【請求項5】
請求項4に記載のモータ駆動制御装置において、
前記駆動制御信号は、PWM信号であり、
前記フィードバック制御部は、前記操作量として、前記PWM信号のデューティ比を指定する値を算出し、
前記補正部は、前記フィードバック制御部によって算出された前記デューティ比を指定する値が小さくなるように前記操作量を補正する
モータ駆動制御装置。
【請求項6】
請求項4に記載のモータ駆動制御装置において、
前記駆動制御信号は、PWM信号であり、前記フィードバック制御部は、前記操作量として、前記PWM信号のデューティ比を指定する値を算出し、
前記補正部は、前記フィードバック制御部が前記操作量を算出する周期よりも長い周期で、前記駆動制御信号生成部に与える前記操作量を更新することにより、前記操作量を補正する
モータ駆動制御装置。
【請求項7】
請求項1乃至6の何れか一項に記載のモータ駆動制御装置と、
前記モータと、を備える
モータユニット。
【請求項8】
モータの駆動を制御するための駆動制御信号を生成する制御回路と、前記駆動制御信号に応じて前記モータを駆動する駆動回路と、を備えたモータ駆動制御装置によるモータ駆動制御方法であって、
前記制御回路が、前記モータの回転速度が目標回転速度に一致するように前記モータの操作量を算出する第1ステップと
、
前記第1ステップの後に、前記制御回路が、前記モータに流れる電流の変動を検出した場合に、前記第1ステップで算出した前記操作量を補正する第
2ステップと
、
前記制御回路が、前記操作量に基づいて、前記駆動制御信号を生成する第
3ステップと、
を含む
モータ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ駆動制御装置、モータユニット、およびモータ駆動制御方法に関する。
【背景技術】
【0002】
モータの回転数(回転速度)を制御する方法として、PI(Proportional-Integral)制御やPID(Proportional-Integral-Differential)制御等のフィードバック制御が知られている。
【0003】
例えば、PID制御を採用したモータ駆動制御装置は、モータの目標回転速度(目標値)と実際の回転速度(制御量)との偏差に基づいて、比例(P)演算、積分(I)演算、および微分(D)演算を行うことにより、その偏差が0(ゼロ)になるようにモータの操作量を算出し、その操作量に基づいてモータを駆動する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、PI制御やPID制御によってモータの回転を制御する場合、以下のような課題がある。
【0006】
例えば、モータの回転速度が一定になるようにPID制御を行う際に、操作量が適切でない場合、モータが数秒間隔で周期的にうなりを伴って回転速度が変動する不安定な状態が発生するおそれがある。このモータの不安定な状態は、モータの操作量が過剰であること、すなわち、モータに与える電力(電流)を調整する周期(以下、「フィードバック制御周期」とも称する。)が短すぎること、あるいは、フィードバック制御周期1回当たりにモータに与える電力(電流)が大きすぎることが原因と考えられる。
【0007】
従来、モータが不安定な状態に陥っているか否かの判断は、例えば、実際のモータの動作音やモータの電流の波形を人が観測することによって行っていた。そのため、モータを使用するアプリケーションにおいてモータのサイズの変更等の仕様変更が必要になった場合には、モータが安定して動作するように、設計者等が、モータの動作音やモータの電流の波形を観測しながら、フィードバック制御周期1回当たりにモータに与える電力やフィードバック制御周期等を調整していた。その結果、仕様変更時等において、モータ駆動制御のアルゴリズムを調整するために多くの時間を要していた。
【0008】
本発明は、上述した課題を解消するためのものであり、人によるモータの動作状態の観測結果によらず、モータ駆動制御におけるモータの操作量の調整を自動的に行うようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明の代表的な実施の形態に係るモータ駆動制御装置は、モータの駆動を制御するための駆動制御信号を生成する制御回路と、前記駆動制御信号に応じて前記モータを駆動する駆動回路と、を備え、前記制御回路は、前記モータの回転速度が目標回転速度に一致するように前記モータの操作量を算出するフィードバック制御部と、前記操作量に基づいて前記駆動制御信号を生成する駆動制御信号生成部と、前記モータに流れる電流の変動を検出する電流変動検出部と、前記電流変動検出部によって前記モータに流れる電流の変動が検出された場合に、前記操作量の補正を指示する補正指示部と、前記補正指示部からの指示に応じて、前記フィードバック制御部によって算出された前記操作量を補正する補正部と、を有し、前記補正部は、前記補正指示部から前記操作量の補正が指示されていない場合に、前記フィードバック制御部によって算出された前記操作量を補正することなく前記駆動制御信号生成部に与え、前記補正指示部から前記操作量の補正が指示された場合に、前記フィードバック制御部によって算出された前記操作量を補正して前記駆動制御信号生成部に与えることを特徴とする。
【発明の効果】
【0010】
本発明の一態様によれば、人によるモータの動作状態の観測結果によらず、モータ駆動制御におけるモータの操作量の調整を自動的に行うことが可能となる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施の形態に係るモータ駆動制御装置を備えたモータユニットの構成を示す図である。
【
図2】フィードバック制御部の構成の一例を示す図である。
【
図3】モータ電流の周期的な変動の一例を示す図である。
【
図4】補正部による操作量の補正方法の一例を示す図である。
【
図6】本実施の形態に係るモータ駆動制御装置による操作量の補正の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
【0013】
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(1)は、モータ(4)の駆動を制御するための駆動制御信号(Sd)を生成する制御回路(2)と、前記駆動制御信号に応じて前記モータを駆動する駆動回路(3)と、を備え、前記制御回路は、前記モータの回転速度が目標回転速度(S1)に一致するように前記モータの操作量(Sad)を算出するフィードバック制御部(12)と、前記操作量に基づいて前記駆動制御信号を生成する駆動制御信号生成部(14)と、前記モータに流れる電流の変動を検出する電流変動検出部(16)と、前記電流変動検出部によって前記モータに流れる電流の変動が検出された場合に、前記操作量の補正を指示する補正指示部(19)と、前記補正指示部からの指示に応じて、前記フィードバック制御部によって算出された前記操作量を補正する補正部(13)と、を有し、前記補正部は、前記補正指示部から前記操作量の補正が指示されていない場合に、前記フィードバック制御部によって算出された前記操作量を補正することなく前記駆動制御信号生成部に与え、前記補正指示部から前記操作量の補正が指示された場合に、前記フィードバック制御部によって算出された前記操作量を補正して前記駆動制御信号生成部に与えることを特徴とする。
【0014】
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記補正指示部は、前記電流変動検出部によって前記モータに流れる電流の周期的な変動が検出された場合に、前記操作量の補正を指示してもよい。
【0015】
〔3〕上記〔1〕または〔2〕に記載のモータ駆動制御装置において、前記補正指示部は、前記電流変動検出部によって前記モータに流れる電流の変動が検出された回数をカウントする補正カウンタ(20)を更に有し、前記補正部は、前記補正カウンタのカウント値に応じて前記操作量を補正する量を段階的に増やしてもよい。
【0016】
〔4〕上記〔1〕乃至〔3〕の何れかに記載のモータ駆動制御装置において、前記補正部は、前記操作量の補正として、前記駆動制御信号生成部に与える操作量を小さくすること、および駆動制御信号生成部に与える操作量を更新する周期を長くすることの少なくとも一方を行ってもよい。
【0017】
〔5〕上記〔4〕に記載のモータ駆動制御装置において、前記駆動制御信号は、PWM信号であり、前記フィードバック制御部は、前記操作量として、前記PWM信号のデューティ比を指定する値を算出し、前記補正部は、前記フィードバック制御部によって算出された前記デューティ比を指定する値が小さくなるように前記操作量を補正してもよい。
【0018】
〔6〕上記〔4〕に記載のモータ駆動制御装置において、前記駆動制御信号は、PWM信号であり、前記フィードバック制御部は、前記操作量として、前記PWM信号のデューティ比を指定する値を算出し、前記補正部は、前記フィードバック制御部によって算出された前記デューティ比を指定する値を更新して出力する周期が長くなるように前記操作量を補正してもよい。
【0019】
〔7〕本発明の代表的な実施の形態に係るモータユニット(100)は、上記〔1〕乃至〔6〕の何れかに記載のモータ駆動制御装置(1)と、前記モータ(4)と、を備えることを特徴とする。
【0020】
〔8〕本発明の代表的な実施の形態に係る方法は、モータ(4)の駆動を制御するための駆動制御信号(Sd)を生成する制御回路(2)と、前記駆動制御信号に応じて前記モータを駆動する駆動回路(3)と、を備えたモータ駆動制御装置(1)によるモータ駆動制御方法である。上記方法は、前記制御回路が、前記モータの回転速度(S3)が目標回転速度(S1)に一致するように前記モータの操作量(Sad)を算出する第1ステップ(S12)と、前記制御回路が、前記操作量に基づいて、前記駆動制御信号を生成する第2ステップ(S12)と、前記制御回路が、前記モータに流れる電流の変動を検出した場合に、前記第1ステップで算出した前記操作量を補正する第3ステップ(S16~S18)と、を含むことを特徴とする。
【0021】
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0022】
≪実施の形態≫
図1は、本発明の実施の形態に係るモータ駆動制御装置を備えたモータユニットの構成を示す図である。
【0023】
図1に示されるモータユニット100は、モータ4と、位置検出装置5と、モータ駆動制御装置1とを備えている。
【0024】
モータ4は、例えば、単相のコイル(巻線)を有するブラシレスDCモータである。
位置検出装置5は、モータ4の回転子(ロータ)の回転に応じた位置検出信号Spを生成する装置である。位置検出装置5は、例えば、ホール(HALL)素子である。例えば、モータ4のコイルに対応するホール素子が、位置検出装置5としてモータ4のロータの周囲に配置されている。ホール素子は、ロータの磁極を検出し、ロータの回転に応じて電圧が変化するホール信号を生成して、出力する。ホール素子から出力されたホール信号は、位置検出信号Spとしてモータ駆動制御装置1に入力される。位置検出信号Spは、例えば、パルス信号である。
【0025】
モータ駆動制御装置1は、モータ4の駆動を制御する装置である。モータ駆動制御装置1は、位置検出装置5から出力された位置検出信号Spに基づいて、モータ4の回転位置や回転速度等の情報を得ることでモータ4の回転状態を検出し、モータ4の駆動を制御する。
【0026】
なお、位置検出装置5として、上述したホール素子に代えて、例えば、エンコーダやレゾルバなどを設け、それらの検出信号を位置検出信号Spとしてモータ駆動制御装置1に入力してもよい。また、モータ駆動制御装置1が位置センサレス方式に基づいてモータ4の駆動制御を行う場合には、位置検出装置5を設けなくてもよい。
【0027】
モータ駆動制御装置1は、例えば、制御回路2と駆動回路3を備えている。
モータ駆動制御装置1は、外部の直流電源から直流電圧Vdcの供給を受ける。直流電圧Vdcは、図示されない保護回路等を介して電源ラインLvddに供給され、電源ラインLvddを介して制御回路2および駆動回路3に電源電圧としてそれぞれ入力される。
【0028】
電源ラインLvddは、制御回路2に電力を供給するとともに、駆動回路3を介してモータ4を駆動するための電力を供給する電力供給経路であり、例えば、配線である。電源ラインLvddには、配線の他に、電源ラインLvddの電圧を安定させるための安定化容量や上述した保護回路等が接続されていてもよい。
【0029】
なお、制御回路2には、電源ラインLvddの電圧が直接供給されるのではなく、例えば、レギュレータ回路によって電源ラインLvddの電圧を降圧した電圧が、電源電圧として制御回路2に供給されてもよい。
【0030】
駆動回路3は、後述する制御回路2から出力された駆動制御信号Sdに基づいて、モータ4を駆動する回路である。駆動制御信号Sdは、モータ4の駆動を制御するための信号であり、例えば、PWM(Pulse Width Modulation)信号である。
【0031】
駆動回路3は、駆動制御信号SdとしてのPWM信号に基づいて電源ラインLvddとグラウンド電位GNDとの間でモータ4のコイルの接続先を切り替えることにより、モータ電流の向きを切り替えてモータ4を回転させる。例えば、駆動回路3は、複数のスイッチ素子(例えば、トランジスタ)によって構成されたインバータ回路(不図示)と、駆動制御信号Sdに基づいてインバータ回路の各スイッチ素子を駆動するために十分な電力を供給する複数の駆動信号を生成するプリドライブ回路(不図示)とから構成されている。
【0032】
制御回路2は、モータ駆動制御装置1の動作を統括的に制御するための回路である。本実施の形態において、制御回路2は、例えば、CPU等のプロセッサと、RAM,ROM、フラッシュメモリ等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力インターフェース回路等の周辺回路とがバスや専用線を介して互いに接続された構成を有するプログラム処理装置である。例えば、制御回路2は、マイクロコントローラ(MCU:Micro Controller Unit)である。
【0033】
なお、制御回路2と駆動回路3とは、一つの半導体集積回路装置(IC:Integrated Circuit)としてパッケージ化された構成であってもよいし、個別の集積回路装置として夫々パッケージ化されて回路基板に実装され、回路基板上で互いに電気的に接続された構成であってもよい。
【0034】
制御回路2は、駆動制御信号Sdを生成して駆動回路3に与えることにより、モータ4の通電制御を行う機能を有する。具体的に、制御回路2は、外部(例えば、上位装置)から入力された、モータ4の駆動に関する目標値を指示する駆動指令信号Scと、位置検出装置5から入力された位置検出信号Spとに基づいて、モータ4が駆動指令信号Scで指定された駆動状態となるように操作量Sadを算出するフィードバック制御を行う。制御回路2は、算出した操作量Sadに応じた駆動制御信号Sdを生成して駆動回路3に与える。
【0035】
また、制御回路2は、モータ4のコイルに流れる電流(以下、「モータ電流」とも称する。)を監視し、モータ電流の変動を検出した場合に、フィードバック制御に基づいて算出した操作量Sadを補正する機能を有する。
【0036】
図1に示すように、制御回路2は、上述した各機能を実現するための機能部として、例えば、駆動指令信号解析部11、フィードバック制御部12、補正部13、駆動制御信号生成部14、回転速度算出部15、電流変動検出部16、および補正指示部19を有している。
【0037】
制御回路2の上述した各機能部は、例えば、制御回路2としてのMCUのプログラム処理によって実現される。具体的には、制御回路2としてのMCUを構成するプロセッサが、メモリに格納されたプログラムにしたがって各種の演算を行ってMCUを構成する各種周辺回路を制御することにより、上述した各機能部が実現される。
【0038】
駆動指令信号解析部11は、例えば、上位装置(不図示)から出力された駆動指令信号Scを受信する。駆動指令信号Scは、上述したように、モータ4の駆動に関する目標値を指示する信号であって、例えば、モータ4の目標回転速度を指示する速度指令信号である。
【0039】
駆動指令信号解析部11は、駆動指令信号Scによって指定された目標回転速度を解析する。例えば、駆動指令信号Scが目標回転速度に対応するデューティ比を有するPWM信号である場合、駆動指令信号解析部11は、駆動指令信号Scのデューティ比を解析し、そのデューティ比に対応する回転速度の情報を目標回転速度S1として出力する。
【0040】
回転速度算出部15は、モータ4の回転速度を計測する機能部である。回転速度算出部15は、例えば、位置検出装置5としてのホール素子の位置検出信号(ホール信号)Spに基づいて、モータ4の回転速度を計測し、その計測結果を回転速度(実回転速度)S3として出力する。
【0041】
フィードバック制御部12は、モータ4の回転速度S3が目標回転速度S1に一致するようにモータ4の操作量Sadを算出する機能部である。具体的に、フィードバック制御部12は、駆動指令信号解析部11から出力された目標回転速度S1と回転速度算出部15から出力された回転速度S3との偏差が0(ゼロ)になるように、モータ4の操作量Sadを算出する。フィードバック制御部12は、例えば、予め設定された周期(フィードバック制御周期)毎に、モータ4の操作量Sadを算出する。すなわち、操作量Sadは、予め設定されたフィードバック制御周期毎に更新される。
【0042】
図2は、フィードバック制御部の構成の一例を示す図である。
図2に示すように、フィードバック制御部12は、具体例として、PID制御を行う機能を有し、例えば、減算器21、PID制御器22、および加算器26を有する。減算器21は、目標回転速度S1と回転速度S3との差を算出し、その差(偏差)を回転速度誤差Sdifとして出力する。PID制御器22は、減算器21から出力された回転速度誤差Sdifに基づいて、PID演算を行う。具体的に、PID制御器22は、比例(P)演算部23、積分(I)演算部24、および微分(D)演算部25を有する。
【0043】
比例演算部23は、減算器21から出力された回転速度誤差Sdifに比例ゲインGpを乗算して比例演算値Sgpを算出する。積分演算部24は、回転速度誤差Sdifに積分ゲインGiを乗算し、乗算した値を時間的に積算して積分演算値Sgiを算出する。微分演算部25は、回転速度誤差Sdifに微分ゲインGdを乗算し、乗算した値を時間的に微分して微分演算値Sgdを算出する。
【0044】
加算器26は、比例演算値Sgp、積分演算値Sgi、および微分演算値Sgdを加算した値をモータ4の操作量Sadとして出力する。
【0045】
ここで、操作量Sadは、モータ4の回転速度S3を目標回転速度S1に一致させるために必要なモータ4の駆動量を指定する情報を含む。例えば、本実施の形態のようにモータ4をPWM駆動する場合には、操作量Sadは、PWM信号である駆動制御信号Sdのデューティ比(=PWM1周期に対するパルスのオン時間の比)を指定する値を含んでいる。操作量Sadは、予め設定されたフィードバック制御周期毎に更新されて、加算器26から出力される。
【0046】
電流変動検出部16は、モータ4に流れる電流(モータ電流)を監視し、モータ電流の変動の有無を判定する機能部である。電流変動検出部16は、モータ電流の変動を検出した場合に、変動検出信号Sfを出力する。より好ましくは、電流変動検出部16は、モータ電流の周期的な変動を検出した場合に、変動検出信号Sfを出力する。
【0047】
図1に示すように、電流変動検出部16は、電流サンプリング部17と変動判定部18とを有する。電流サンプリング部17は、単位時間毎にモータ電流をサンプリングし、サンプリングした値をデジタル信号に変換して変動判定部18に出力する。
【0048】
本実施の形態では、モータ電流を検出するために、電源ラインLvddとグラウンド電位との間に電流検出回路6を設けている。電流検出回路6は、例えば、電源ラインLvddとグラウンド電位との間に直列に接続された抵抗R1,R2から成る分圧回路である。例えば、モータ4を駆動するとき、電源ラインLvddおよび駆動回路3を介してモータ4に電力が供給される。このとき、電源ラインLvddには電流が流れるため、電源ラインLvddに存在する寄生抵抗によって電源ラインLvddの電圧がモータ電流の変動に伴って変動する。電流検出回路6は、この電源電圧の変動を電源電流(モータ電流)の変動として検出する回路である。
【0049】
電流検出回路6によって検出された電圧は、電流サンプリング部17に入力される。電流サンプリング部17は、電流検出回路6から入力された電圧をモータ電流の計測値としてサンプリングする。
【0050】
なお、本実施の形態では、モータ電流を検出するために、電源ラインLvddとグラウンド電位との間に電流検出回路6を設ける場合を例示したが、モータ電流の監視手法はこれに限られない。例えば、モータ電流の監視手法として、駆動回路3を構成するインバータ回路とグラウンド電位との間に抵抗を接続してモータ電流を検出してもよいし、モータ4の各相の電流(相電流)を監視する回路を設けてもよい。
【0051】
変動判定部18は、電流サンプリング部17によって計測されたモータ電流のサンプリング値に基づいて、モータ電流が変動しているか否かを判定する機能部である。ここで、モータ電流の変動の判定に用いるサンプリング値は、例えば、モータ電流のピーク値である。
【0052】
具体的に、変動判定部18は、電流サンプリング部17によるモータ電流のサンプリング値同士を比較することによって、モータ電流の変動の有無を判定する。例えば、変動判定部18は、一定期間における電流のサンプリング値の最大値と最小値を検出し、最大値と最小値との差が所定の閾値を超えていた場合に、モータ電流が変動していると判定する。
【0053】
図3は、モータ電流の周期的な変動の一例を示す図である。
図3において、横軸は時間を表し、縦軸は電流を表している。参照符号300はモータ4に流れる電流(モータ電流)の時間的な変化を表している。
【0054】
上述したように、外部から入力された駆動指令信号Scが一定値であったとしても、モータのフィードバック制御におけるモータに与える操作量(電力)が適切でない場合、モータが数秒間隔で周期的にうなりを伴って回転速度が変動する不安定な状態が発生する。この場合、
図3に示すように、モータ電流が周期的に変動する。
【0055】
本実施の形態において、電流変動検出部16は、モータ電流の変動を検出する。より好ましくは、電流変動検出部16は、
図3に示すようなモータ電流の周期的な変動を検出する。例えば、変動判定部18が、一定時間毎にサンプリング値の最大値と最小値の差を算出し、その差が所定の閾値を超えている状態が周期的に発生しているか否かを判定する。
【0056】
例えば、
図3に示すように、参照符号301で示される範囲(範囲301とも称する)と、参照符号302で示される範囲(範囲302とも称する)と、参照符号303で示される範囲(範囲303とも称する)とにおいて、サンプリング値の最大値と最小値の差が所定の閾値を超えていることを変動判定部18が検出したとする。
【0057】
この場合、変動判定部18は、一回目のモータ電流の変動が検出された範囲301と2回目のモータ電流の変動が検出された範囲302との時間的な間隔T1と、二回目のモータ電流の変動が検出された範囲302と3回目のモータ電流の変動が検出された範囲303との時間的な間隔T2とが略一致(例えば、±20%の誤差範囲内)であるか否かを判定する。間隔T1と間隔T2とが略一致している場合には、変動判定部18は、モータ電流の周期的な変動が発生していると判定して、変動検出信号Sfを出力する。
【0058】
なお、上述の例では、モータ電流の変動が所定の間隔をあけて3回検出された場合に、変動判定部18が、モータ電流の周期的な変動が発生していると判定したが、これに限れず、モータ電流の変動が所定の間隔をあけて2回検出された場合に、変動判定部18が、速やかにモータ電流の周期的な変動が発生していると判定してもよいし、モータ電流の変動が所定の間隔をあけて4回以上検出された場合に、変動判定部18が、モータ電流の周期的な変動が発生していると判定してもよい。
【0059】
補正指示部19は、操作量Sadの補正を指示する機能部である。
補正指示部19は、変動判定部18から出力された変動検出信号Sfに応じて、フィードバック制御部12によって算出された操作量Sadの補正を補正部13に指示する。電流変動検出部16によってモータ電流の変動が検出されていない場合には、補正指示部19は、操作量Sadの補正を指示しない。一方、電流変動検出部16によってモータ電流の変動が検出された場合には、補正指示部19は、操作量Sadの補正を指示する。
【0060】
補正指示部19は、例えば、電流変動検出部16によってモータ電流の変動が検出された回数をカウントする補正カウンタ20を有する。補正指示部19は、補正カウンタ20のカウント値を補正指示信号S5として出力する。
【0061】
補正指示部19は、変動判定部18から変動検出信号Sfが出力される度に、補正カウンタ20をインクリメントする(n→+1)。一方、例えば、モータ駆動制御装置1の起動時、駆動指令信号Scによって指定された目標回転速度S1が変更された場合、および駆動指令信号Scの入力内容が変更された場合等に、補正指示部19は、補正カウンタ20をリセットする(n→0)。
【0062】
補正部13は、補正指示部19からの指示に応じて、フィードバック制御部12によって算出された操作量Sadを補正する機能部である。
【0063】
補正部13は、補正指示信号S5によって操作量Sadの補正が指示されていない場合、すなわち補正カウンタ20のカウント値が0(ゼロ)である場合に、フィードバック制御部12によって算出された操作量Sadを補正せず、そのまま操作量S2として駆動制御信号生成部14に与える。例えば、フィードバック制御部12が操作量Sadを周期Tp1(フィードバック制御周期)毎に更新している場合、補正部13は、フィードバック制御部12による操作量Sadの算出周期と同じ周期で、フィードバック制御部12から出力された操作量Sadを駆動制御信号生成部14に与える。換言すれば、補正部13は、フィードバック制御部12が操作量Sadを算出する度に、操作量Sadを更新して駆動制御信号生成部14に与える。
【0064】
一方、補正指示信号S5によって操作量Sadの補正が指示された場合、すなわち補正カウンタ20のカウント値が1以上である場合には、補正部13は、フィードバック制御部12によって算出された操作量Sadを補正し、補正後の操作量S2を駆動制御信号生成部14に与える。以下、補正部13による補正方法について、図を用いて説明する。
【0065】
図4は、補正部13による操作量Sadの補正方法の一例を示す図である。
図5は、操作量Sadの補正の概念を示す図である。
【0066】
補正部13による具体的な操作量Sadの補正方法としては、
図4に示す2つの手法を例示することができる。
【0067】
図4に示すように、第1の補正例(補正例1)として、補正部13は、駆動制御信号SdとしてのPWM信号のデューティ比を小さくする(縮小する)ように、操作量Sadを補正する。具体的には、補正部13は、操作量Sadに含まれるPWM信号のデューティ比を指定する値よりも小さい値を含む操作量S2を出力する。
【0068】
例えば、
図5の補正例1に示すように、操作量Sadによって指定されたPWM信号のデューティ比がD1%であった場合、補正部13は、操作量Sadによって指定されたデューティ比D1%より小さいデューティ比D2%を指定する値を含む補正後の操作量S2を出力する。
【0069】
これによれば、単純にPID制御演算によって得られた操作量Sadに基づいてモータ4を駆動する場合に比べて、駆動制御信号Sdのデューティ比が小さくなるので、モータ4(コイル)に与える電力(電流)を小さくすることができる。
【0070】
次に、
図4に示すように、第2の補正例(補正例2)として、補正部13は、駆動制御信号生成部14に与えるPWM信号のデューティ比を指定する値を更新する周期を延長するように、操作量Sadを補正する。すなわち、補正部13は、フィードバック制御部12によって操作量Sadが算出される周期よりも、駆動制御信号Sdのデューティ比を更新する周期を長くする。
【0071】
例えば、
図5の補正例2の具体例の上段に示すように、操作量Sadの補正を行わない場合、補正部13は、上述したようにフィードバック制御部12が操作量Sadを算出する周期Tp1(フィードバック制御周期)と同じ周期で、駆動制御信号生成部14に与える操作量Sadを更新する。
【0072】
一方、
図5の補正例2の具体例の下段に示すように、操作量Sadの補正を行う場合、補正部13は、フィードバック制御部12が操作量Sadを算出する周期Tp1(フィードバック制御周期)よりも長い周期Tp2で、駆動制御信号生成部14に与える操作量S2を更新する。これにより、駆動制御信号生成部14は、フィードバック制御部12によって操作量Sadが更新されるタイミングよりも(Tp2-Tp1)だけ遅れて、操作量S2(=Sad)を受け取る。
【0073】
これによれば、予め設定されたフィードバック制御周期よりも実質的なフィードバック制御周期が長くなるので、モータ4に与える電力を緩やかに変化させることができる。
【0074】
なお、補正部13は、上述した第1の補正例と第2の補正例を組み合わせて、操作量Sadを補正してもよい。例えば、フィードバック制御部12によって算出された操作量Sadによって指定されたPWM信号(駆動制御信号Sd)のデューティ比がD1%であり、且つ駆動制御信号生成部14に与える操作量Sadを更新する周期がTp1である場合に、補正部13は、PWM信号のデューティ比がD1%よりも小さいD2%となるように操作量Sadを補正するとともに、補正後の操作量S2を周期Tp1よりも長い周期Tp2で駆動制御信号生成部14に与える。
これによれば、モータ4に与える電力を更に小さくすることができる。
【0075】
このように、補正部13は、操作量の補正として、駆動制御信号生成部14に与える操作量を小さくすること(第1の補正例)、および駆動制御信号生成部14に与える操作量を更新する周期を長くすること(第2の補正例)の少なくとも一方を行う。
【0076】
より好ましくは、補正部13は、補正カウンタ20のカウント値(補正指示信号S5)に応じて、操作量Sadを補正する量を段階的に増やしてもよい。
【0077】
例えば、補正部13は、補正カウンタ20のカウント値が“n(nは1以上の整数)”である場合、上記補正例1に基づいて、駆動制御信号Sdのデューティ比を“n×Δd”だけ小さくするように、操作量Sadを補正してもよい。ここで、Δdは、デューティ比の単位縮小率である。
例えば、補正部13は、補正カウンタ20のカウント値が“1”である場合、駆動制御信号Sdのデューティ比を“1×Δd”だけ小さくし、補正カウンタ20のカウント値が“2”である場合、駆動制御信号Sdのデューティ比を“2×Δd”だけ小さくするように、操作量Sadを補正する。
【0078】
また、例えば、補正部13は、補正カウンタ20のカウント値が“n”である場合、上記補正例2に基づいて、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期を“n×ΔT”だけ長くするように、操作量Sadを補正してもよい。ここで、ΔTは、更新周期の単位延長時間である。
例えば、補正部13は、補正カウンタ20のカウント値が“1”である場合、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期を“1×ΔT”だけ長くし、補正カウンタ20のカウント値が“2”である場合、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期を“2×ΔT”だけ長くするように、操作量Sadを補正する。
【0079】
なお、補正部13は、補正カウンタ20のカウント値に応じて、駆動制御信号Sdのデューティ比と駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期とが段階的に変化するように、操作量Sadを補正してもよい。
【0080】
例えば、補正部13は、補正カウンタ20のカウント値が“1”である場合、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期をΔTだけ長くし、補正カウンタ20のカウント値が“2”である場合、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期を“ΔT”だけ長くし、且つ駆動制御信号Sdのデューティ比を“Δd”だけ小さくするように操作量Sadを補正する。
【0081】
また、補正カウンタ20のカウント値が“3”である場合には、補正部13は、駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期を2×ΔTだけ長くし、且つ駆動制御信号Sdのデューティ比を“Δd”だけ小さくするように操作量Sadを補正してもよい。
【0082】
補正部13は、補正カウンタ20のカウント値がリセットされた場合には(カウント値=0)、操作量の補正を停止し、上述したように、フィードバック制御部12によって算出された操作量Sadを、補正することなく操作量S2として駆動制御信号生成部14に与える。
【0083】
以下の説明では、補正部13が、上述したように、補正カウンタ20のカウント値(補正指示信号S5)に応じて、駆動制御信号Sdのデューティ比と駆動制御信号生成部14に与える操作量S2(=Sad)を更新する周期の少なくとも一方が段階的に変化するように操作量Sadを補正するものとして説明する。
【0084】
駆動制御信号生成部14は、補正部13から出力された操作量S2に基づいて、PWM信号としての駆動制御信号Sdを生成する機能部である。具体的には、駆動制御信号生成部14は、補正部13から与えられた操作量S2によって指定されたデューティ比を有するPWM信号を生成し、駆動制御信号Sdとして出力する。駆動制御信号生成部14は、操作量S2によって指定されたデューティ比の値が更新される度に、駆動制御信号Sdのデューティ比を変更して出力する。
【0085】
駆動制御信号Sdは、駆動回路3に与えられ、駆動回路3が駆動制御信号Sdに基づいてモータ4を駆動する。これにより、モータ電流の変動を抑制しつつ、モータ4が目標回転速度S1になるように回転する。
【0086】
次に、本実施の形態に係るモータ駆動制御装置1による操作量の補正処理の流れについて説明する。
【0087】
図6は、本実施の形態に係るモータ駆動制御装置1による操作量の補正処理の流れを示すフローチャートである。
【0088】
例えば、直流電圧Vdcがモータ駆動制御装置1に投入され、モータ駆動制御装置1が起動したとき、モータ駆動制御装置1は、先ず、駆動指令信号Scが入力されているか否かを判定する(ステップS11)。駆動指令信号Scが入力されていない場合(ステップS11:NO)には、モータ駆動制御装置1は駆動指令信号Scが入力されるまで待機する。
【0089】
駆動指令信号Scが入力された場合(ステップS12:YES)、モータ駆動制御装置1は、モータ4のフィードバック制御を開始する(ステップS12)。具体的には、フィードバック制御部12が、モータ4の回転速度S3が駆動指令信号Scによって指定された目標回転速度S1に一致するように、フィードバック制御部12において、PID制御演算によって操作量Sadを算出し、駆動制御信号生成部14が、操作量Sad(=S2)に基づいて駆動制御信号Sdを生成する。これにより、モータ4が回転する。
【0090】
次に、モータ駆動制御装置1は、モータ電流の監視を開始する(ステップS13)。具体的には、電流サンプリング部17が電流検出回路6から入力される電圧をモータ電流として計測(サンプリング)を開始し、変動判定部18が電流サンプリング部17によって計測されたモータ電流のサンプリング値に基づいて、モータ電流の変動の有無に関する判定処理を開始する。
【0091】
次に、モータ駆動制御装置1は、駆動指令信号Scが変更されたか否かを判定する(ステップS14)。具体的には、駆動指令信号Scが入力されていない状態から駆動指令信号Scが入力された場合や、駆動指令信号Scによって新たに指定された目標回転速度S1が直前に指定されていた目標回転速度S1と一致しない場合に、モータ駆動制御装置1は、駆動指令信号Scが変更されたと判定する(ステップS14:YES)。この場合、補正指示部19が補正カウンタのカウント値をリセットし(n→0)、操作量の補正を停止させ、ステップS14に戻る(ステップS15)。
【0092】
一方、駆動指令信号Scによって指定された目標回転速度S1が直前に指定されていた目標回転速度S1と一致している場合には、モータ駆動制御装置1は、駆動指令信号Scが変更されていないと判定し(ステップS14:NO)、モータ電流の変動が検出されたか否かを判定する(ステップS16)。
【0093】
具体的には、変動判定部18は、モータ電流の周期的な変動が検出されたか否かを判定する。モータ電流の周期的な変動が検出された場合には(ステップS16:YES)、補正指示部19が、補正カウンタ20のカウント値をインクリメントする(ステップS17)。
【0094】
次に、モータ駆動制御装置1は、フィードバック制御部12によって算出された操作量Sadを補正する(ステップS18)。具体的には、上述したように、補正部13が、補正カウンタ20のカウント値に応じて、駆動制御信号SdとしてのPWM信号のデューティ比およびデューティ比を更新する周期の少なくとも一つが調整されるように操作量Sadを補正し、補正後の操作量S2を出力する。その後、モータ駆動制御装置1は、ステップS14に戻る。
【0095】
一方、モータ電流の周期的な変動が検出されなかった場合には(ステップS16:NO)、モータ駆動制御装置1は、補正カウンタ20のカウント値が0であるか否かを判定する(ステップS19)。補正カウンタ20のカウント値が0でない、すなわちカウント値が1以上である場合には(ステップS19:NO)、モータ駆動制御装置1は、補正カウンタ20のカウント値に応じて、フィードバック制御部12によって算出された操作量Sadを補正する(ステップS18)。
【0096】
補正カウンタ20のカウント値が0である場合には(ステップS19:YES)、モータ駆動制御装置1は、操作量Sadの補正を行わない(ステップS20)。その後、モータ駆動制御装置1は、ステップS14に戻る。
【0097】
以上、本実施の形態に係るモータ駆動制御装置1は、モータ4に流れる電流(モータ電流)の変動を検出した場合に、フィードバック制御に基づく操作量を補正する。これによれば、人によるモータの動作状態の観測結果によらず、フィードバック制御における操作量Sadの補正を自動的に行うことが可能となる。
【0098】
具体的には、モータ駆動制御装置1は、モータ電流の周期的な変動を検出した場合に、フィードバック制御部12によって算出された操作量Sadを補正する。これによれば、モータが数秒間隔で周期的にうなりを伴って回転速度が変動する不安定な状態が発生した場合に、モータ駆動制御装置1が自ら、その不安定な状態を検出し、フィードバック制御(例えば、PID制御)における操作量Sadの補正を自動的に行うことができるので、モータ4の回転を安定させることが可能となる。
【0099】
また、モータ駆動制御装置1は、電流変動検出部16によってモータ電流の変動が検出された回数をカウントする補正カウンタ20を更に有し、モータ駆動制御装置1は、補正カウンタ20のカウント値に応じて操作量Sadを補正する量を段階的に増やす。
【0100】
これによれば、モータ電流の変動が解消されるまで、操作量Sadの補正が段階的に実行されるので、モータの安定した回転を実現するために必要な適切な操作量を自動的に設定することができる。
【0101】
また、モータ駆動制御装置1は、操作量Sadの補正として、駆動制御信号生成部14に与える操作量Sadを小さくすること、および駆動制御信号生成部14に与える操作量Sadを更新する周期を長くすることの少なくとも一方を行う。
具体的には、モータ駆動制御装置1は、フィードバック制御部12によって算出された駆動制御信号Sd(PWM信号)のデューティ比を指定する値が小さくなるように、操作量Sadを補正する。これによれば、上述したように、モータ4(コイル)に与える電力(電流)を小さくすることができるので、フィードバック制御演算に基づく操作量が過剰であることに起因するモータの不安定な状態を解消することが可能となる。
【0102】
また、モータ駆動制御装置1は、駆動制御信号生成部14に与える駆動制御信号Sd(PWM信号)のデューティ比を指定する値を更新する周期が長くなるように、操作量Sadを補正する。これによれば、実質的なフィードバック制御周期が長くなるので、モータ4に与える電力を緩やかに変化させることができ、フィードバック制御演算に基づく操作量が過剰であることに起因するモータの不安定な状態を解消することが可能となる。
【0103】
≪実施の形態の拡張≫
以上、本発明者らによってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0104】
例えば、上記実施の形態では、フィードバック制御をPID制御として説明したが、フィードバック制御はPID制御に限定されず、PI制御などであってもよい。
【0105】
また、上記実施の形態では、モータ駆動制御装置1の変動判定部18がモータ電流の周期的な変動を検出したとき、補正部13が操作量の補正を行う場合を例示したが、これに限られず、変動判定部18がモータ電流の変動が検出した場合に速やかに、補正部13が操作量の補正を行うようにしてもよい。
【0106】
また、上記実施の形態では、モータ電流のサンプリング値の最大値と最小値の差を算出し、その差が所定の閾値を超えている場合にモータ電流が変動していると判定する例を説明したが、これに限られない。例えば、変動判定部18は、一定期間毎にモータ電流のサンプリング値の平均値を算出し、隣り合う期間のモータ電流の平均値の差が所定の閾値を超えていた場合に、モータ電流が変動していると判定してもよい。
【0107】
また、上述のフローチャートは一例であって、これらに限定されるものではなく、例えば、各ステップ間に他の処理が挿入されていてもよいし、処理が並列化されていてもよい。
【0108】
上記実施の形態において、モータ4の種類は、ブラシレスDCモータに限定されない。また、モータ4は、単相に限られず複数相(例えば3相)のブラシレスDCモータであってもよい。
【符号の説明】
【0109】
1…モータ駆動制御装置、2…制御回路、3…駆動回路、4…モータ、5…位置検出装置、6…電流検出回路、11…駆動指令信号解析部、12…フィードバック制御部、13…補正部、14…駆動制御信号生成部、15…回転速度算出部、16…電流変動検出部、17…電流サンプリング部、18…変動判定部、19…補正指示部、20…補正カウンタ、100…モータユニット、S1…目標回転速度、S2…操作量、S3…回転速度、S5…補正指示信号、Sad…操作量、Sc…駆動指令信号、Sd…駆動制御信号、Sf…変動検出信号、Sp…位置検出信号、Lvdd…電源ライン、Vdc…直流電圧、Gp…比例ゲイン、Gi…積分ゲイン、Gd…微分ゲイン、Sdif…回転速度誤差、Sgp…比例演算値、Sgi…積分演算値、Sgd…微分演算値、21…減算器、22…PID制御器、23…比例演算部、24…積分演算部、25…微分演算部、26…加算器。