JP7006513B2 - モータ制御装置 - Google Patents
モータ制御装置 Download PDFInfo
- Publication number
- JP7006513B2 JP7006513B2 JP2018108792A JP2018108792A JP7006513B2 JP 7006513 B2 JP7006513 B2 JP 7006513B2 JP 2018108792 A JP2018108792 A JP 2018108792A JP 2018108792 A JP2018108792 A JP 2018108792A JP 7006513 B2 JP7006513 B2 JP 7006513B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- cycle
- timer
- rotation speed
- electric angle
- 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.)
- Active
Links
Images
Landscapes
- Control Of Motors That Do Not Use Commutators (AREA)
Description
本開示は、ブラシレスモータのロータ位置を推定する技術に関する。
下記特許文献1には、3個のホールICを用いてブラシレスモータのロータ位置を検出する技術が記載されている。具体的には、マイクロコンピュータ(以下、マイコン)が有するハードウェアタイマを利用して、1個のホールIC信号の電気角周期を表す周期カウント値Ccy計測すると共に、予め設定された処理周期毎にハードウェアタイマの瞬時値を表す瞬時カウント値Cinを取得する。そして、ロータ位置を表す電気角θ[deg]を、下式を用いて算出する。
θ=Cin÷Ccy×360[deg]
しかしながら、発明者の詳細な検討の結果、特許文献1に記載の従来技術では、ロータが、タイマの計測範囲外となるような低速で動作している場合、ロータ位置を精度よく推定できないという課題が見出された。
即ち、ハードウェアタイマのビット幅は固定値であるため、ハードウェアタイマを動作させるクロックの周波数によって、ロータ回転数の分解能と、計測可能なロータ回転数の下限(以下、下限回転数)とが決まる。実際には、要求される分解能が得られるようにクロックの周波数を設定することによって、下限回転数が決まる。
そして、ロータが下限回転数より低い回転数で動作(以下、低速動作)している場合、一周期の計測が終了する前にハードウェアタイマのカウント値が飽和するため、周期を正確に計測できない。その結果、ハードウェアタイマのカウント値からはロータ位置を推定できず、3個のホールICから出力される信号のパターンから60[deg]間隔という荒い精度でロータ位置を推定することになる。つまり、従来技術では、低速動作時には、ロータ位置の推定精度が劣化し、モータ制御の性能が損なわれていた。
本開示の1つの局面は、ロータの位置を精度よく推定できる範囲を、回転数のより低い範囲に拡大する技術を提供することにある。
本開示の一態様によるモータ制御装置(1)は、ブラシレスモータを駆動する。モータ制御装置は、パターン生成部(31)と、第1周期計測部(35)と、第2周期計測部(32)と、相当値算出部(36)と、瞬時値調停部(37)と、電気角算出部(38)と、を備える。
パターン生成部は、電気角周期の間に取り得る複数の回転位置に対応した検出パターンを生成する。電気角周期は、ロータが電気角で1回転する期間である。
第1周期計測部は、第1タイマ(3c)を用いて、電気角周期を表す第1周期値を算出
する。第1タイマは、予め設定されたビット幅を有し、ロータの回転数の分解能に応じて周期が設定されたクロック信号に従ってカウント動作を行い、検出パターンに従って電気角周期毎にカウント値がリセットされるハードウェアタイマである。
第1周期計測部は、第1タイマ(3c)を用いて、電気角周期を表す第1周期値を算出
する。第1タイマは、予め設定されたビット幅を有し、ロータの回転数の分解能に応じて周期が設定されたクロック信号に従ってカウント動作を行い、検出パターンに従って電気角周期毎にカウント値がリセットされるハードウェアタイマである。
第2周期計測部は、第2タイマを用いて、検出パターンが変化する周期を表す第2周期値を算出する。第2タイマは、クロック信号の周期より長く設定されたカウント周期毎にカウント動作を行い、検出パターンが変化する毎にカウント値がリセットされる。
相当値算出部は、第2タイマのカウント値である第2タイマ値を取得し、該第2タイマ値を、検出パターンと第2周期値とを用いて、タイマ相当値に換算する。タイマ相当値は、電気角周期の基点となるタイミングから第2タイマ値が得られたタイミングまでの期間を、カウント周期でカウントした値に相当する。
低速判定部は、ロータの回転数が、下限回転数より小さいか否かを判定する。下限回転数は、第1タイマのカウント値を第1タイマ値として、電気角周期の間に第1タイマ値が飽和するロータの回転数である。
瞬時値調停部は、低速判定部にて、ロータの回転数が下限回転数以上であると判定された場合は第1タイマ値を選択し、下限回転数より小さいと判定された場合はタイマ相当値を選択する。
電気角算出部は、選択部で選択された値である瞬時値と第1周期値とを用いて、電気角周期内での電気角を表す基準電気角を算出する。
このような構成によれば、ロータの回転数が下限回転数以上である場合、第1タイマ値を用いて、電気角周期内での位相である基準電気角が算出される。また、ロータの回転数が下限回転数より小さい場合、より低速のカウント周期で動作する第2タイマのカウント値を用いて、検出パターンが変化する期間内での位相を、電気角周期内での位相に換算したタイマ相当値を用いて、基準電気角が算出される。
このような構成によれば、ロータの回転数が下限回転数以上である場合、第1タイマ値を用いて、電気角周期内での位相である基準電気角が算出される。また、ロータの回転数が下限回転数より小さい場合、より低速のカウント周期で動作する第2タイマのカウント値を用いて、検出パターンが変化する期間内での位相を、電気角周期内での位相に換算したタイマ相当値を用いて、基準電気角が算出される。
このため、ロータの回転数が、第1タイマでは測定不能な下限回転数より低い場合でも、ロータ位置を精度よく測定することができる。また、高速性が要求される第1タイマにはハードウェアタイマが用いられるが、より低速な第2タイマはソフトウェアによって構成することができる。第2タイマをソフトウェアで構成した場合、カウント値のビット幅もハードウェアに制約されることがないため、任意の大きさに設定でき、これにより、測定可能な回転数の下限値を大幅に改善することができる。
また、第2タイマを用いた測定結果を、第1タイマ値と同等のタイマ相当値に変換しており、ロータの回転数に応じて第1タイマ値およびタイマ相当値のいずれかを瞬時値として選択するため、いずれが選択された場合でも同一の演算によって基準電気角を算出できる。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.構成]
図1に示すモータ制御装置1は、ブラシレスモータ5を駆動制御する装置である。ブラシレスモータ5は、三相モータであり、ロータ51と、複数のステータ52と、3個のホールIC53とを備える。
[1.構成]
図1に示すモータ制御装置1は、ブラシレスモータ5を駆動制御する装置である。ブラシレスモータ5は、三相モータであり、ロータ51と、複数のステータ52と、3個のホールIC53とを備える。
ロータ51は、複数の磁極対を回転自在に支持する。磁極対には、永久磁石が用いられる。磁極対は、ロータ51の外周においてN極とS極とが交互かつ均等に並ぶように配置される。本実施形態では、磁極対の数をNとして、N=5である場合について例示するが、これに限定されるものではなく、磁極対の数は任意でよい。
ステータ52は、ロータ51の周囲に等角度間隔で配置され、巻線が巻回される。ステータ52は、U相、V相およびW相のいずれかの巻線がそれぞれ巻回される。本実施形態では、ステータ52の数が3である場合について例示するが、これに限定されるものではなく、ステータ52の数は、3の倍数であればよい。
3個のホールIC53は、いずれもホール素子が組み込まれた集積回路であり、ロータと一体に回転する永久磁石の磁極を検出して、磁極の極性に対応した信号レベルを有する検出信号Su,Sv,Swを出力する。検出信号Su,Sv,Swの信号レベルは、例えば、ホールIC53と対向する磁極がN極であるときにハイレベルHi、S極であるときにロウレベルLoとなる。
3個のホールIC53は、電気角で120[deg]ずつ離れた位置に配置される。電気角とは、個々のホールIC53が出力する検出信号の1周期を360[deg]とした時の角度を表す。ここでは、ロータ51が5個の磁極対(即ち、磁極数は10)を有するため、機械角では、24(=120/5)[deg]ずつ離れた位置に配置される。但し、機械角での配置間隔は24[deg]に限るものではなく、例えば96(=120/5+360/5)[deg]でもよい。機械角とは、ロータ51の1回転を360[deg]としたときの角度を表す。これにより、3つの検出信号Su,Sv,Swは、図4に示すように、120[deg]ずつ位相が異なる。
モータ制御装置1は、インタフェース(以下、I/F)部2と、制御部3と、駆動回路4とを備える。
I/F部2は、3つの検出信号Su,Sv,Swを入力し、これらの信号に、増幅処理や波形整形処理などを施して制御部3へ出力する。
I/F部2は、3つの検出信号Su,Sv,Swを入力し、これらの信号に、増幅処理や波形整形処理などを施して制御部3へ出力する。
制御部3は、検出信号Su,Sv,Swにより電気角60[deg]単位で表現される低精度な回転位置から、より高精度に回転位置を表現する基準電気角θを推定し、この基準電気角θに応じたデューティ比を有するPWM信号を生成して、駆動回路4に出力する。
駆動回路4は、PWM信号に応じた所定の周期で各相のステータ52の巻線に通電することで、巻線と磁極との間に発生する吸引力および反発力によって、ロータ51を回転させる。
制御部3は、CPU3aと、例えば、RAM又はROM等の半導体メモリ(以下、メモリ3b)と、ハードウェアタイマ3cと、を有するマイクロコンピュータを備える。制御部3の各機能は、CPU3aが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ3bが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、制御部3は、1つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
メモリ3bには、プログラムの他、制御部3の機能を実現するために必要なデータとしてパターンテーブルが記憶される。パターンテーブルは、図2に示すように、検出パターン(U,V,W)と、該検出パターン(U,V,W)に対応づけられるリミット値とが記憶されている。検出パターン(U,V,W)は、検出信号Su,Sv,Swによって表現される信号レベルの組み合わせパターンである。なお、図1に示したロータ51の時計周りをCW、反時計周りをCCWと表記するものとして、検出パターン(U,V,W)は、ロータ51の回転方向がCWである場合に変化する順番に記憶される。各検出パターンのリミット値は、それぞれ上限角および下限角を有する。上限角と下限角とは、両者の差が60[deg]となり、且つ、順方向に並ぶ先の検出パターンの上限角と後の検出パターンの下限角とが一致するように設定される。ここでは、検出信号Su,Sv,SwのハイレベルHiを1、ロウレベルLoを0で表すものとする。そして、検出パターン(U,V,W)が(1,0,1)である場合における下限角を基準(即ち、0[deg])にして設定される。
ハードウェアタイマ3cは、第1タイマに相当する。ハードウェアタイマ3cは、カウント値が16ビットで表現される。ハードウェアタイマ3cは、所定の周波数を有するクロックCKによって駆動される。ハードウェアタイマ3cのカウント値を第1タイマ値HCとして出力すると共に、いずれか一つのホールIC53からの検出信号、ここではU相の検出信号Suの立ち上がりエッジをトリガに、カウント値を第1周期値Crとして保存し、計測用のカウンタをリセットする。
ハードウェアタイマ3cを駆動するクロックCKの周波数fhwt[Hz]は、ロータ51の回転数(以下、ロータ回転数)がNrated[rpm]の時に、±Nerror[rpm]以下の回転数精度が得られるように設定される。詳しくは、ロータ回転数Nratedに相当する電気角周期を、周波数fhwtでカウントしたときのカウント値を求め、そのカウント値を1カウント変化させたときにロータ回転数の変化がNerror以下となるように、周波数fhwtを設定する。但し、周波数fhwtは、ハードウェアタイマ3cの駆動用に用意されたクロックを分周することで得られる周波数の中から、上記条件を満たす最小の周波数が選択される。なお、ハードウェアタイマ3cのビット数は、上述の16ビットに限定されるものではない。
周波数がfhwtである場合、ハードウェアタイマ3cのカウント値がカウント開始から飽和するまでに要する時間が216/fhwt[s]である。また、ハードウェアタイマ3cによって検出可能なロータ回転数の下限である下限回転数は60÷極対数÷(216/fhwt)[rpm]となる。
制御部3は、図3に示すように、パターン生成部31と、第2周期計測部32と、回転判定部33と、低速判定部34と、第1周期計測部35と、相当値算出部36と、瞬時値調停部37と、電気角算出部38と、信号生成部39と、を備える。これら制御部3に含まれる各部の機能を実現する手法は、ソフトウェアに限るものではなく、その一部又は全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル
回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。
回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。
なお、瞬時値調停部37、電気角算出部38、および信号生成部39は、予め設定された処理周期Tp毎に処理が実行される。処理周期Tpは、例えば、fp[Hz]として、Tp=1/fp[s]に設定される。また、第2周期計測部32、回転判定部33、低速判定部34、および相当値算出部36は、処理周期Tpより長く設定されたカウント周期Tc毎に処理が実行される。カウント周期Tcは処理周期Tpの整数倍の長さを有する。
パターン生成部31は、処理周期Tp毎に、検出信号Su,Sv,Swの信号レベルがハイレベルかロウレベルかを判断し、判断結果である検出パターン(U,V,W)をバッファに記憶する。パターン生成部31は、現在の検出パターンである現パターンと、バッファに記憶された検出パターンである前パターンとを比較して、現パターンが前パターンから変化したか否かを判断し、その判断結果を表す切替信号Sxを生成する。パターン生成部31は、現パターンが前パターンから変化した場合に、バッファの記憶内容を更新する。切替信号Sxは、第2周期計測部32に入力される。バッファの記憶内容は、第2周期計測部32、回転判定部33および相当値算出部36に入力される。
第2周期計測部32は、ソフトウェアによって実現されるタイマである第2タイマを有する。第2周期計測部32は、カウント周期Tc毎に第2タイマのカウント動作を実行し、切替信号Sxに従い、検出パターン(U,V,W)の変化をトリガとしてカウント値がリセットされる。第2周期計測部32は、リセットの直前に得られるカウント値を、パターンが変化する周期Tptを表す第2周期値Cptとして出力する。また、第2周期計測部32は、リセット時点からの経過時間に対応した値として、カウント値C2を出力する。第2周期値Cptは低速判定部34および相当値算出部36に入力され、カウント値C2は相当値算出部36に入力される。
回転判定部33は、図2に示したパターンテーブルを参照して、過去に取得された検出パターンと新たに取得された検出パターンとを比較し、検出パターン(U,V,W)の変化の仕方から、ロータ51の回転方向を判定し、その判定結果を示す回転判定信号Srを出力する。つまり、検出パターン(U,V,W)が、パターンテーブルの上から下へ向かうように変化する場合はCWと判定し、下から上へ向かうように変化する場合はCCWと判定する。回転判定信号Srは、相当値算出部36および電気角算出部38に入力される。
低速判定部34は、第2周期計測部32で計測された第2周期値Cptが予め設定された低速閾値を超えたか否かを判断し、その判断結果を表す低速判定信号Svを出力する。低速判定信号Svは、第1周期計測部35および瞬時値調停部37に入力される。低速閾値は、ロータ回転数の下限回転数に相当するパターン周期Tptを、カウント周期Tcで除した値に設定される。つまり、低速判定部34は、第2周期値Cptが低速閾値を超えている場合に、ロータ回転数が下限回転数に満たない、即ち、ハードウェアタイマ3cでは計測不能な回転数まで低下していると判定する。また、低速判定部34は、カウント値C2が低速閾値を超えてもリセットされない場合にも、ロータ回転数が下限回転数に満たないと判定する。
第1周期計測部35は、周期バッファ351と、周期調停部353とを備える。
ハードウェアタイマ3cは、ハードウェアタイマ3cが検出信号Suに従ってリセットされる毎に、リセット直前のカウント値Crを、周期バッファ351に記憶する。バッファリングは、ソフトウェアにより実行される。周期バッファ351は、ロータ51の磁極対と同数である過去5回分のカウント値Crが少なくとも記憶される。なお、図3において[n]はバッファに記憶された最新のカウント値Crであることを表す。[max]は
ハードウェアタイマ3cのカウント値の上限である飽和値を表す。周期バッファ351は、[n]を第1データとし、[max]を第2データとして出力する。
ハードウェアタイマ3cは、ハードウェアタイマ3cが検出信号Suに従ってリセットされる毎に、リセット直前のカウント値Crを、周期バッファ351に記憶する。バッファリングは、ソフトウェアにより実行される。周期バッファ351は、ロータ51の磁極対と同数である過去5回分のカウント値Crが少なくとも記憶される。なお、図3において[n]はバッファに記憶された最新のカウント値Crであることを表す。[max]は
ハードウェアタイマ3cのカウント値の上限である飽和値を表す。周期バッファ351は、[n]を第1データとし、[max]を第2データとして出力する。
周期調停部353は、低速判定信号Slowに従って、第1データ[n]および第2データ[max]のいずれかを選択し、ロータ51の電気角周期を表す第1周期値Ccyの算出に必要な周期データDcyとして出力する。具体的には、低速判定信号Slowにより、ロータ回転数が下限回転数より低下していることが示されている場合は、第2データ[max]が周期データDcyとして選択される。ロータ回転数が下限回転数以上である場合は、第1データ[n]が周期データDcyとして選択される。選択された周期データDcyは、電気角算出部38に入力される。
相当値算出部36は、符号付与部361と、リミット設定部362と、換算部363と、を備える。
符号付与部361は、カウント周期Tc毎に第2周期計測部32からカウント値C2および第2周期値Cptを取得し、(1)式に従って、パターン周期内での位相を表す符号付きカウント値SCを算出する。
符号付与部361は、カウント周期Tc毎に第2周期計測部32からカウント値C2および第2周期値Cptを取得し、(1)式に従って、パターン周期内での位相を表す符号付きカウント値SCを算出する。
SC=Sign×(C2÷Cpt)×([max]×60÷360) (1)
即ち、符号付与部361は、カウント値C2を第2周期値Cptで除した結果に、ハードウェアタイマ3cのカウント値の上限である飽和値[max]をパターン周期(即ち、60[deg])分の値に換算した値を乗じ、更に、回転判定信号Srに従って符号Signを付与することで符号付きカウント値SCを算出する。符号Signは、具体的には、回転判定信号Srにより示される回転方向がCWである場合はプラス符号となり、回転方向がCCWである場合はマイナス符号となる。
即ち、符号付与部361は、カウント値C2を第2周期値Cptで除した結果に、ハードウェアタイマ3cのカウント値の上限である飽和値[max]をパターン周期(即ち、60[deg])分の値に換算した値を乗じ、更に、回転判定信号Srに従って符号Signを付与することで符号付きカウント値SCを算出する。符号Signは、具体的には、回転判定信号Srにより示される回転方向がCWである場合はプラス符号となり、回転方向がCCWである場合はマイナス符号となる。
リミット設定部362は、パターン生成部31から検出パターン(U,V,W)を取得し、パターンテーブルを参照して、取得した検出パターン(U,V,W)に応じた下限角αLおよび上限角αUを取得し、(2)(3)式に従って、下限値CLおよび上限値CUを算出する。
CL=αL÷360×[max] (2)
CU=αU÷360×[max] (3)
即ち、リミット設定部362は、取得した下限角αLおよび上限角αUを、それぞれ360[deg]で除した結果に、ハードウェアタイマ3cのカウント値の上限である飽和値[max]を乗じることで、下限値CLおよび上限値CUを算出する。この下限値CLおよび上限値CUは、取得した検出パターン(U,V,W)の状態が維持されている間に、タイマ相当値Ceが取り得る値の範囲を表す。
CU=αU÷360×[max] (3)
即ち、リミット設定部362は、取得した下限角αLおよび上限角αUを、それぞれ360[deg]で除した結果に、ハードウェアタイマ3cのカウント値の上限である飽和値[max]を乗じることで、下限値CLおよび上限値CUを算出する。この下限値CLおよび上限値CUは、取得した検出パターン(U,V,W)の状態が維持されている間に、タイマ相当値Ceが取り得る値の範囲を表す。
換算部363は、回転判定信号Srに従い、回転方向がCWである場合は下限値CLを基準値Cfとして選択し、回転方向がCCWである場合は上限値CUを基準値Cfとして選択する。また、換算部363は、選択された基準値Cfに、符号付与部361からの符号付きカウント値SCを加算する。具体的には、回転方向がCWの場合は、基準値Cfである下限値CLとプラス符号のカウント値との加算が実行され、回転方向がCCWの場合は、基準値Cfである上限値CUとマイナス符号のカウント値との加算、即ち、上限値CUからのカウント値の減算が実行される。更に換算部363は、加算結果が下限値CLから上限値CUまでの許容範囲内にある場合は、加算結果をそのままタイマ相当値Ceとして出力する。また換算部363は、加算結果が許容範囲外にある場合は、ガード値によって制限された値をタイマ値Ceとして出力する。具体的には、加算結果が、上限値CUより大きな値であれば、ガード値である上限値CUをタイマ相当値Ceとし、下限値CLより小さな値であれば、ガード値である下限値CLをタイマ相当値Ceとして出力する。タ
イマ相当値Ceは、瞬時値調停部37に入力される。
イマ相当値Ceは、瞬時値調停部37に入力される。
つまり、相当値算出部36では、検出パターン(U,V,W)によって特定される電気角で60[deg]の範囲内での位相(即ち、ロータ51の回転位置)を推定し、更に、検出パターン(U,V,W)を用いて電気角で360[deg]の範囲(即ち、1周期)内での位相を表す値に換算したものをタイマ相当値Ceとして出力する。
瞬時値調停部37は、低速判定信号Svに従い、ロータ回転数が下限回転数以上である場合は、第1タイマ値HCを選択し、ロータ回転数が下限回転数より低い場合は、タイマ相当値Ceを選択して、選択された値を瞬時値Cinとして出力する。瞬時値Cinは、電気角算出部38に入力される。
電気角算出部38は、周期データDcyを第1周期値Ccyとし、この第1周期値Ccyと、瞬時値Cinと、回転判定信号Srとに基づき、回転判定信号SrがCWの時は(4)式に従って、回転判定信号SrがCCWの時は(5)式に従って、基準電気角θを算出する。(4)及び(5)式は、回転方向によりロータ位置と立上がりエッジの関係が180[deg]変化することを意味する。
θ=Cin÷Ccy×360[deg] (4)
θ=-Cin÷Ccy×360+180[deg] (5)
ここでは、第1周期値Ccyとして、周期データDcyをそのまま用いているが、これに限定されるものではない。例えば、過去N周期分の周期データDcyをD1~DNで表すものとして、(6)式に示すように、機械角で1周期分に相当する電気角でN周期分の周期データD1~DNの平均値を、第1周期値Ccyとして用いてもよい。なお、平均化するデータ数は、N個に限定されるものではない。
θ=-Cin÷Ccy×360+180[deg] (5)
ここでは、第1周期値Ccyとして、周期データDcyをそのまま用いているが、これに限定されるものではない。例えば、過去N周期分の周期データDcyをD1~DNで表すものとして、(6)式に示すように、機械角で1周期分に相当する電気角でN周期分の周期データD1~DNの平均値を、第1周期値Ccyとして用いてもよい。なお、平均化するデータ数は、N個に限定されるものではない。
Ccy=(D1+D2+…+DN)/N (6)
信号生成部39は、基準電気角θに従って、ステータ52の巻線の通電制御に用いる3種類のPWM信号を生成する。
信号生成部39は、基準電気角θに従って、ステータ52の巻線の通電制御に用いる3種類のPWM信号を生成する。
[2.動作]
図4に示すように、検出信号Su,Sv,Swは、電気角で120degずつずれたタイミングで信号レベルが変化し、回転方向が一定である場合、電気角周期(即ち、360deg)の間に6つの検出パターン(U,V,W)が現れる。
図4に示すように、検出信号Su,Sv,Swは、電気角で120degずつずれたタイミングで信号レベルが変化し、回転方向が一定である場合、電気角周期(即ち、360deg)の間に6つの検出パターン(U,V,W)が現れる。
第1タイマ値HCは処理周期Tp毎に取得される。第2タイマ値C2は、カウント周期Tc毎に取得される。なお、第2タイマ値C2は、第1タイマ値HCより緩やかに変化する。
図示を省略するが、第1周期値Ccyは、処理周期Tp毎またはカウント周期Tc毎に取得され、その値は電気角の1周期毎に変化する。第2周期値Cptは、カウント周期Tc毎に取得され、その値は、電気角の60[deg]毎に変化する。タイマ相当値Ceは、カウント周期Tc毎に算出される。
基準電気角θは、処理周期Tp毎に算出される。
回転判定信号Srは、処理周期Tp毎に確認され、検出パターン(U,V,W)が変化するタイミングで変化する。低速判定値Svは、カウント周期Tc毎に確認される。
低速判定は、カウント周期毎に行われる。
回転判定信号Srは、処理周期Tp毎に確認され、検出パターン(U,V,W)が変化するタイミングで変化する。低速判定値Svは、カウント周期Tc毎に確認される。
低速判定は、カウント周期毎に行われる。
第1周期値Ccyは、周期データDcyに基づいて処理周期Tp毎またはカウント周期
Tc毎に算出され、基準電気角θは、瞬時値Cinと第1周期値Ccyを用いて処理周期Tp毎に算出される。
Tc毎に算出され、基準電気角θは、瞬時値Cinと第1周期値Ccyを用いて処理周期Tp毎に算出される。
瞬時値Cinは、ロータ回転数が下限回転数以上である非低速動作時には第1タイマ値HCが用いられ、ロータ回転数が下限回転数より小さい低速動作時にはタイマ相当値Ceが用いられる。
非低速動作時には、周期データDcyとして第1データ[n]が選択される。つまり、ハードウェアタイマ3cから得られる電気周期のカウント値である第1データ[n]が、周期データDcy、ひいては第1周期値Ccyとして使用される。
低速動作時には、周期データDcyとして第2データ[max]が選択される。つまり、下限回転数のときの周期を表す飽和値が、周期データDcy、ひいては第1周期値Ccyとして使用される。
図4では、ロータ51が非低速動作である場合のタイミング図を示しているが、低速動作である場合、検出信号Su,Sv,Sw、検出パターン(U,V,W)が時間軸方向に引き伸ばされる点、ハードウェアタイマ3cの代わりにソフトウェアで動作する第2タイマを用いて算出された瞬時値Cin(即ち、タイマ相当値Ce)が用いられる点以外は、同様なタイミング図となる。
図5は、回転方向が変化するときに回転数がゼロとなる前後で生じる低速動作時において、タイマ相当値に基づいて算出される基準電気角θおよび検出パターンから設定されるガード値を例示したグラフである。図5の下側のグラフにおいて、実線は基準電気角θであり、一点鎖線はガード値であり、破線は基準電気角θの理論値である。
低速動作時には、第1周期値Ccyの算出に、下限回転数の時の周期を表すカウント値[max]が用いられるため、回転数がゼロに近づくほど、第1周期値Ccyは実際の値より小さく見積もられることになり、基準電気角θは、理論値より大きめの値が算出される。しかし、検出パターン(U,V,W)が変化するパターン周期毎にガード値が設定され、ガード値によって基準電気角θの値が制限されるため、パターン周期を跨いで誤差が蓄積されることがない。
なお、ガード値は、検出パターン(U,V,W)に従って設定されるため、応答性よく正しく設定されるが、回転方向の判定は、複数のパターン周期に渡る検出パターンの比較が必要であり、実際の状況に対して遅延が生じる。この影響で、図5中の時刻6の周辺では、実際には電気角が減少しているにも関わらず、基本電気角θが増加するというずれが生じている。しかし、回転方向の判定が正しく反映された後の基本電気角θは、理論値とのずれが十分に抑制されている。
[3.効果]
以上詳述した第1実施形態によれば、以下の効果を奏する。
(1)モータ制御装置1では、ロータ回転数がハードウェアタイマ3cでは測定不能となる下限回転数より低い場合、より低速のカウント周期Tcで動作する第2タイマを用いて基準電気角θを算出する。このため、ロータ回転数が、下限回転数より低い場合でも、ロータ位置を精度よく推定することができる。具体的には、fhwt[Hz]のクロックで動作するハードウェアタイマ3cでは、計測可能な下限回転数は60÷極対数÷(216/fhwt)[rpm]である。これに対して、カウント周期Tc(>1/fhwt)のクロックで動作することに相当する第2タイマを用いることで、計測可能な下限回転数を60÷極対数÷(216/(1/Tc))[rpm]に引き下げることができる。
以上詳述した第1実施形態によれば、以下の効果を奏する。
(1)モータ制御装置1では、ロータ回転数がハードウェアタイマ3cでは測定不能となる下限回転数より低い場合、より低速のカウント周期Tcで動作する第2タイマを用いて基準電気角θを算出する。このため、ロータ回転数が、下限回転数より低い場合でも、ロータ位置を精度よく推定することができる。具体的には、fhwt[Hz]のクロックで動作するハードウェアタイマ3cでは、計測可能な下限回転数は60÷極対数÷(216/fhwt)[rpm]である。これに対して、カウント周期Tc(>1/fhwt)のクロックで動作することに相当する第2タイマを用いることで、計測可能な下限回転数を60÷極対数÷(216/(1/Tc))[rpm]に引き下げることができる。
(2)第2タイマを用いる場合、電気角周期内での位相を直接計測するのではなく、検出パターン(U,V,W)が変化するパターン周期と、パターン周期内での位相とを計測し、これを電気角周期内での位相を表すタイマ相当値に換算している。このため、電気角周期内での位相を直接計測する場合と比較して、より短時間で基準電気角を推定できる。また、タイマ相当値Ceは、第1タイマ値HCと同等の値であるため、瞬時値Cinとしていずれの値が選択された場合でも、基準電気角θを同一の演算によって算出でき、従来の構成を有効利用できる。
(3)パターン周期内での位相を計測する時に、検出パターン(U,V,W)に応じたガード値を設定することで、パターン周期内での誤差が、パターン周期を跨いで蓄積されることがないようにされている。従って、低速動作時は、回転数変化に対する外乱の寄与度大きいにも関わらず、その影響を、個々のパターン周期内だけに留めることができ、全体としての基準電気角θの推定精度を向上させることができる。
(4)第2タイマは、ソフトウェアにより実現されるため、カウント値のビット幅を、ハードウェアに制約されることなく任意の大きさに設定できるため、計測可能な回転数の下限値を大幅に改善できる。
[4.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
(a)上記実施形態では、一つの第2タイマを用いて一つのカウント相当値Ceが算出されるように構成されているが、カウント周期Tcの異なる複数の第2タイマを用いて複数のカウント相当値Ceが算出されるように構成されてもよい。即ち、カウント周期Tcを長くするほど、より低速まで計測できる一方で回転数の分解能が低下する。つまり、計測対象となる回転数に応じた分解能を実現する複数のカウント相当値Ceを用いることで、必要な分解能を保持しつつ、計測可能な回転速度の下限をより引き下げることができる。
(b)上記実施形態では、相当値算出部36は、検出パターン(U,V,W)と回転方向とで決まる値を基準として、符号付きカウント値SCを加算することで、タイマ相当値Ceを算出しているが、本開示は、これに限定されるものではない。例えば、直前のパターン周期の最後に得られた値を基準として、符号付きカウント値SCを加算することで、タイマ相当値Ceを算出してもよい。この場合、回転方向の判定が誤っている場合でも、パターン周期の開始時点の値は、常に、直前のパターン周期の終了時点の値となる。このため、回転方向の判定が誤っている場合に、そのパターン周期でのタイマ相当値Ceは、開始から終了まで一定の値となるものの、実際の位相変化とは逆方向にタイマ相当値Ceが変化することを阻止できる。
(c)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
(d)上述したモータ制御装置の他、当該モータ制御装置を構成要素とするシステム、当該モータ制御装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、ロータ位置の推定方法など、種々の形態で本開示を実現することもできる。
1…モータ制御装置、2…インタフェース部、3…制御部、3a…CPU、3b…メモリ、3c…ハードウェアタイマ、4…駆動回路、5…ブラシレスモータ、31…パターン生成部、32…第2周期計測部、33…回転判定部、34…低速判定部、35…第1周期計測部、36…相当値算出部、37…瞬時値調停部、38…電気角算出部、39…信号生成部、51…ロータ、52…ステータ、53…ホールIC、351…周期バッファ、353…周期調停部、361…符号付与部、362…リミット設定部、363…換算部。
Claims (4)
- ブラシレスモータ(5)を駆動するモータ制御装置(1)であって、
ロータ(51)が電気角で1回転する期間を電気角周期として、前記電気角周期の間に取り得る複数の回転位置に対応した検出パターン(U,V,W)を生成するように構成されたパターン生成部(31)と、
予め設定されたビット幅を有し、回転速度の分解能に応じて周期が設定されたクロック信号に従ってカウント動作を行い、前記検出パターンに従って前記電気角周期毎にカウント値がリセットされるハードウェアタイマである第1タイマ(3c)を用いて、前記電気角周期を表す第1周期値(Ccy)を計測するように構成された第1周期計測部(35)と、
前記クロック信号の周期より長く設定されたカウント周期(Tc)毎にカウント動作を行い、前記検出パターンが変化する毎にカウント値がリセットされる第2タイマを用いて、前記検出パターンが変化する周期を表す第2周期値(Cpt)を計測するように構成された第2周期計測部(32)と、
前記第2タイマのカウント値である第2タイマ値(C2)を取得し、該第2タイマ値を、前記検出パターンと前記第2周期値とを用いて、前記カウント周期でカウントした値に相当するタイマ相当値(Ce)に換算するように構成された相当値算出部(36)と、
前記第1タイマのカウント値を第1タイマ値(HC)として、前記電気角周期の間に前記第1タイマ値が飽和する前記ロータの回転数を下限回転数として、前記ロータの回転数が、前記下限回転数より小さいか否かを判定する低速判定部(34)と、
前記低速判定部にて、前記ロータの回転数が前記下限回転数以上であると判定された場合は前記第1タイマ値を選択し、前記下限回転数より小さいと判定された場合は前記タイマ相当値を選択するように構成された瞬時値調停部(37)と、
前記瞬時値調停部で選択された値である瞬時値(Cin)と前記第1周期値とを用いて、前記電気角周期内での電気角を表す基準電気角(θ)を算出するように構成された電気角算出部(38)と
を備えるモータ制御装置。 - 請求項1に記載のモータ制御装置であって、
前記相当値算出部は、前記検出パターン毎に予め設定された下限値から上限値までの範囲内で前記タイマ相当値を生成するように構成された
モータ制御装置。 - 請求項1又は請求項2に記載のモータ制御装置であって、
前記第1周期計測部は、前記電気角周期毎に取得される前記カウント値の変化が、予め設定された許容範囲内である場合は、複数の前記電気角周期に渡る前記カウント値の平均値を前記第1周期値とし、該カウント値の変化が前記許容範囲を超える場合は、最新の前記カウント値を前記第1周期値とするように構成された、
モータ制御装置。 - 請求項1から請求項3までのいずれか1項に記載のモータ制御装置であって、
前記第1周期計測部は、前記ロータの回転数が、前記下限回転数より小さい場合、前記第1タイマの飽和値を前記第1周期値とするように構成された、
モータ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018108792A JP7006513B2 (ja) | 2018-06-06 | 2018-06-06 | モータ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018108792A JP7006513B2 (ja) | 2018-06-06 | 2018-06-06 | モータ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019213376A JP2019213376A (ja) | 2019-12-12 |
JP7006513B2 true JP7006513B2 (ja) | 2022-01-24 |
Family
ID=68847076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018108792A Active JP7006513B2 (ja) | 2018-06-06 | 2018-06-06 | モータ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7006513B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5709693B2 (ja) | 2011-08-26 | 2015-04-30 | 三菱電機株式会社 | モータ制御装置 |
-
2018
- 2018-06-06 JP JP2018108792A patent/JP7006513B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5709693B2 (ja) | 2011-08-26 | 2015-04-30 | 三菱電機株式会社 | モータ制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019213376A (ja) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5502605B2 (ja) | モータ制御装置 | |
KR102588927B1 (ko) | 모터 제어방법 | |
US7190145B2 (en) | Method and apparatus for improving speed measurement quality in multi-pole machines | |
JP6695247B2 (ja) | モータ制御装置及びモータ制御装置の制御方法 | |
CN109768755B (zh) | 半导体装置、角度值校正电路及其方法 | |
KR101655297B1 (ko) | 리니어 홀 센서 위치보정장치 및 그 위치보정방법 | |
US7786686B2 (en) | Method and device for estimating the angular position of the rotor of a brushless motor | |
JP7006513B2 (ja) | モータ制御装置 | |
JP5709693B2 (ja) | モータ制御装置 | |
JP2022103046A (ja) | 信号生成装置 | |
JP3472533B2 (ja) | モータ制御装置 | |
JP6207458B2 (ja) | 電動機の制御装置 | |
JP4127000B2 (ja) | モータ制御装置 | |
CN110463022B (zh) | 电动机控制装置以及电动机控制方法 | |
JP2011117769A (ja) | 回転角検出装置、モータ制御装置、および電動パワーステアリング装置 | |
CN114690846B (zh) | 信号生成装置 | |
JP7468390B2 (ja) | モータ制御装置 | |
WO2024004474A1 (ja) | 角度検出装置および角度検出方法 | |
JP6402276B1 (ja) | 電動機の界磁位置検出方法 | |
JP3553861B2 (ja) | デジタル入力信号のデューティ比検出回路 | |
JP6699241B2 (ja) | インバータ装置 | |
KR101806695B1 (ko) | 모터의 위치 정밀도 향상방법 | |
JP2003009576A (ja) | ロータ位置検知装置 | |
JP2024507359A (ja) | 改善された位置測定を通したモータ制御のためのシステムおよび方法 | |
JP4793236B2 (ja) | 同期電動機の初期位相設定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210218 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211220 |