(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025144385
(43)【公開日】2025-10-02
(54)【発明の名称】モータ制御装置、及びプログラム
(51)【国際特許分類】
H02M 7/48 20070101AFI20250925BHJP
H02P 27/08 20060101ALI20250925BHJP
【FI】
H02M7/48 E
H02P27/08
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024044131
(22)【出願日】2024-03-19
(71)【出願人】
【識別番号】000000929
【氏名又は名称】カヤバ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】塚田 広隆
【テーマコード(参考)】
5H505
5H770
【Fターム(参考)】
5H505AA16
5H505BB06
5H505CC01
5H505DD03
5H505DD06
5H505EE49
5H505GG04
5H505HA09
5H505HB01
5H505JJ03
5H505JJ16
5H505JJ25
5H505LL22
5H505LL24
5H770AA15
5H770BA01
5H770CA06
5H770DA03
5H770DA41
5H770EA01
5H770GA11
5H770HA02X
5H770HA07Z
(57)【要約】
【課題】誤検出を抑制して、モータを適切に制御する。
【解決手段】モータ制御装置11は、インバータ14と、電圧検出部20と、電流算出部と、を有する。電流算出部は、全ての直列回路のスイッチング素子T1がオン状態となる第1期間の長さが所定長さ以上である場合には、第1期間中に電圧検出部20が検出した電圧と、全ての直列回路のスイッチング素子T2がオン状態となる第2期間W2中に電圧検出部20が検出した電圧と、に基づいて、第2期間に電圧を検出した期間よりも後の第2期間における電流値を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1スイッチング素子、及び第2スイッチング素子を有する直列回路が、モータの相毎に設けられて、前記モータの各相に交流電圧を印加するインバータと、
それぞれの前記直列回路の、前記第2スイッチング素子と接地点との間に設けられて、前記第2スイッチング素子と前記接地点との間における電圧を検出する電圧検出部と、
前記電圧検出部が検出した電圧に基づき、前記第2スイッチング素子と接地点との間における電流値を算出する電流算出部と、
を有し、
前記電流算出部は、
全ての前記直列回路の前記第1スイッチング素子がオン状態となる第1期間の長さが所定長さ以上である場合には、前記第1期間中に前記電圧検出部が検出した電圧と、全ての前記直列回路の前記第2スイッチング素子がオン状態となる第2期間中に前記電圧検出部が検出した電圧と、に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
モータ制御装置。
【請求項2】
前記第1期間の長さが前記所定長さ未満である場合には、前記第1期間の長さが前記所定長さ未満である期間よりも前であって、前記第1期間の長さが所定長さ以上である場合に検出した電圧と、前記第2期間中に前記電圧検出部が検出した電圧と、に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
請求項1に記載のモータ制御装置。
【請求項3】
前記電流算出部は、
前記モータの起動時において、前記第2スイッチング素子と前記接地点との間に電流が流れない状態で前記電圧検出部が検出した電圧が第1所定範囲内である場合に、その電圧を0Aとする対応関係を設定し、
前記モータの運転時において、前記第1期間中に前記電圧検出部が検出した電圧と、前記第2期間中に前記電圧検出部が検出した電圧と、前記対応関係とに基づき、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
請求項1または2に記載のモータ制御装置。
【請求項4】
前記電流算出部は、
前記第1期間で前記電圧検出部が検出した電圧が、前記第1所定範囲より範囲が広い第2所定範囲内である場合に、前記第1期間中に前記電圧検出部が検出した電圧と、前記第2期間中に前記電圧検出部が検出した電圧と、前記対応関係とに基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出し、
前記第1期間で前記電圧検出部が検出した電圧が、前記第2所定範囲外である場合には、前記第1期間中に前記電圧検出部が電圧を検出した期間よりも前に前記第2所定範囲内となった第1期間で検出した電圧と、前記第2期間中に前記電圧検出部が検出した電圧と、前記対応関係とに基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
請求項3に記載のモータ制御装置。
【請求項5】
前記電流算出部は、
前記第1期間で前記電圧検出部が検出した電圧が、前記第1所定範囲より範囲が広い第2所定範囲内である場合に、前記第1期間中に前記電圧検出部が検出した電圧を0Aとするように前記対応関係を補正し、前記第2期間中に前記電圧検出部が検出した電圧と、補正した前記対応関係に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
請求項3に記載のモータ制御装置。
【請求項6】
第1スイッチング素子、及び第2スイッチング素子を有する直列回路が、モータの相毎に設けられて、前記モータの各相に交流電圧を印加するインバータと、
それぞれの前記直列回路の、前記第2スイッチング素子と接地点との間に設けられて、前記第2スイッチング素子と前記接地点との間における電圧を検出する電圧検出部とを有するモータ制御装置の制御方法をコンピュータに実行させるプログラムであって、
前記電圧検出部が検出した電圧に基づき、前記第2スイッチング素子と接地点との間における電流値を算出するステップを前記コンピュータに実行させ、
前記電流値を算出するステップにおいては、
全ての前記直列回路の前記第1スイッチング素子がオン状態となる第1期間の長さが所定長さ以上である場合には、前記第1期間中に前記電圧検出部が検出した電圧と、全ての前記直列回路の前記第2スイッチング素子がオン状態となる第2期間中に前記電圧検出部が検出した電圧と、に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、及びプログラムに関する。
【背景技術】
【0002】
電動パワーステアリング装置などに用いられるモータを制御するモータ制御装置が知られている。このようなモータ制御装置は、駆動用のインバータの各相に流れる交流電流の電流値を検出する場合がある。インバータの各相に流れる電流の電流値を検出することにより、モータの回転位置を推定したり、モータの回転速度を制御したりすることができる。
【0003】
特許文献1には、3相ブラシレスモータと、上アームスイッチング素子及び下アームスイッチング素子の直列接続回路を相毎に備えるインバータと、インバータの各相の下アームスイッチング素子と接地点との間に設けられる電流検出器と、を備えるモータ制御装置が記載されている。特許文献1においては、全相の上アームスイッチング素子がオン状態であるときに検出された第1電流検出値の総和と、全相の下アームスイッチング素子がオン状態であるときに検出された第2電流検出値の総和との差を算出し、差が閾値より小さい場合に、第1電流検出値に基づいて電流検出器の検出出力のオフセット補正を行う旨が記載されている。特許文献1によると、このようなオフセット補正を行うことで、スイッチング素子のショート故障の際に、誤った電流検出値に基づいてオフセット補正されることが抑制される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特許文献1のように全相の上アームスイッチング素子がオン状態となる期間(全相のシャント抵抗に電流が流れない期間)は、PMW信号のデューティ比によって決まる。例えば全相の上アームスイッチング素子がオン状態となる期間が短い場合などにおいては、その期間における電圧や電流の検出が難しくなり、全相の上アームスイッチング素子がオン状態となる期間ではない期間での検出値を、全相の上アームスイッチング素子がオン状態となる期間の検出値として、誤検出してしまうおそれがある。従って、誤検出を抑制して、モータを適切に制御することが求められている。
【0006】
本発明は、上記に鑑みてなされたものであって、誤検出を抑制して、モータを適切に制御可能な、モータ制御装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示に係るモータ制御装置は、第1スイッチング素子、及び第2スイッチング素子を有する直列回路が、モータの相毎に設けられて、前記モータの各相に交流電圧を印加するインバータと、それぞれの前記直列回路の、前記第2スイッチング素子と接地点との間に設けられて、前記第2スイッチング素子と前記接地点との間における電圧を検出する電圧検出部と、前記電圧検出部が検出した電圧に基づき、前記第2スイッチング素子と接地点との間における電流値を算出する電流算出部と、を有し、前記電流算出部は、全ての前記直列回路の前記第1スイッチング素子がオン状態となる第1期間の長さが所定長さ以上である場合には、前記第1期間中に前記電圧検出部が検出した電圧と、全ての前記直列回路の前記第2スイッチング素子がオン状態となる第2期間中に前記電圧検出部が検出した電圧と、に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する。
【0008】
本開示に係るプログラムは、第1スイッチング素子、及び第2スイッチング素子を有する直列回路が、モータの相毎に設けられて、前記モータの各相に交流電圧を印加するインバータと、それぞれの前記直列回路の、前記第2スイッチング素子と接地点との間に設けられて、前記第2スイッチング素子と前記接地点との間における電圧を検出する電圧検出部とを有するモータ制御装置の制御方法をコンピュータに実行させるプログラムであって、前記電圧検出部が検出した電圧に基づき、前記第2スイッチング素子と接地点との間における電流値を算出するステップを前記コンピュータに実行させ、前記電流値を算出するステップにおいては、全ての前記直列回路の前記第1スイッチング素子がオン状態となる第1期間の長さが所定長さ以上である場合には、前記第1期間中に前記電圧検出部が検出した電圧と、全ての前記直列回路の前記第2スイッチング素子がオン状態となる第2期間中に前記電圧検出部が検出した電圧と、に基づいて、前記第2期間に電圧を検出した期間よりも後の前記第2期間における前記電流値を算出する。
【発明の効果】
【0009】
本発明によれば、誤検出を抑制して、モータを適切に制御できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施形態に係るモータシステムの模式的な回路図である。
【
図2】
図2は、制御装置の模式的なブロック図である。
【
図3】
図3は、モータの運転時におけるPWM信号の一例を示すグラフである。
【
図4】
図4は、本実施形態に係る電流値の算出の処理フローを説明するフローチャートである。
【
図5】
図5は、モータの運転時におけるPWM信号の他の例を示すグラフである。
【発明を実施するための形態】
【0011】
以下に、本発明の好適な実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。
【0012】
(モータシステム)
図1は、本実施形態に係るモータシステムの模式的な回路図である。
図1に示すように、本実施形態に係るモータシステム1は、モータ10と、モータ10を制御するモータ制御装置11とを有する。モータシステム1は、例えば車両の電動ステアリング装置に用いられ、車両のステアリングシャフトに操舵補助力を付与する。すなわち、モータ制御装置11によりモータ10を駆動して、モータ10の駆動力により、ステアリングシャフトに操舵補助力を付与する。ただし、モータシステム1の用途はそれに限られず任意であってよい。
【0013】
(モータ)
モータ10は、複数相の交流モータである。モータ10の相数は任意であってよいが、本実施形態では、U相、V相及びW相の3相であり、モータ10は3相交流モータであるといえる。
【0014】
(モータ制御装置)
図1に示すように、モータ制御装置11は、電源部12と、インバータ14と、インバータ駆動回路16と、抵抗部18と、電圧検出部20と、制御装置22とを有する。モータ制御装置11は、電源部12からの直流電流をインバータ14にて交流電流に変換して、変換した交流電流をモータ10に供給して、モータ10を駆動する。
【0015】
(電源部)
電源部12は、インバータ14に電流を供給する電源である。電源部12は、直流電流をインバータ14に供給する。
【0016】
(インバータ)
インバータ14は、電源部12から供給された直流電流を交流電流に変換して、モータ10に供給する回路である。インバータ14は、モータ10に電圧を印加する(電流を供給する)複数のスイッチング素子を有する。本実施形態では、インバータ14は、スイッチング素子T1U、T1V、T1W、T2U、T2V、T2Wを有する。スイッチング素子T1U、T1V、T1W、T2U、T2V、T2Wとしては、例えば、FET(電界効果トランジスタ)、より詳しくはMOSFET(金属酸化膜半導体電界効果トランジスタ)が用いられてよい。
【0017】
スイッチング素子T1U、T2Uは、電源部12に対して直列に接続されている。具体的には、スイッチング素子T1Uのドレインが、電源部12のプラス側に接続されており、スイッチング素子T1Uのソースが、スイッチング素子T2Uのドレインに接続されており、スイッチング素子T2Uのソースが、電源部12のマイナス側に接続されている。また、スイッチング素子T1Uのソースとスイッチング素子T2Uのドレインとの接続箇所が、モータ10のU相(U相のステータコイル)に接続されている。また、スイッチング素子T1U、T2Uのゲートは、インバータ駆動回路16に接続されている。スイッチング素子T1U、T2Uは、制御装置22により、インバータ駆動回路16からスイッチング素子T1U、T2UのゲートへのPWM(Pulse Width Modulation)信号の入力が制御されることで、オン(電流を通す状態)とオフ(電流を遮断する状態)とが切り替えられる。
【0018】
スイッチング素子T1V、T2Vは、電源部12に対して直列に接続されている。スイッチング素子T1V、T2Vは、スイッチング素子T1U、T2Uと並列に、電源部12に接続されている。具体的には、スイッチング素子T1Vのドレインが、電源部12のプラス側に接続されており、スイッチング素子T1Vのソースが、スイッチング素子T2Vのドレインに接続されており、スイッチング素子T2Vのソースが、電源部12のマイナス側に接続されている。また、スイッチング素子T1Vのソースとスイッチング素子T2Vのドレインとの接続箇所が、モータ10のV相(V相のステータコイル)に接続されている。また、スイッチング素子T1V、T2Vのゲートは、インバータ駆動回路16に接続されている。スイッチング素子T1V、T2Vは、制御装置22により、インバータ駆動回路16からスイッチング素子T1V、T2VのゲートへのPWM信号の入力が制御されることで、オンとオフとが切り替えられる。
【0019】
スイッチング素子T1W、T2Wは、電源部12に対して直列に接続されている。スイッチング素子T1W、T2Wは、スイッチング素子T1U、T2U及びスイッチング素子T1V、T2Vと並列に、電源部12に接続されている。具体的には、スイッチング素子T1Wのドレインが、電源部12のプラス側に接続されており、スイッチング素子T1Wのソースが、スイッチング素子T2Wのドレインに接続されており、スイッチング素子T2Wのソースが、電源部12のマイナス側に接続されている。また、スイッチング素子T1Wのソースとスイッチング素子T2Wのドレインとの接続箇所が、モータ10のW相(W相のステータコイル)に接続されている。また、スイッチング素子T1W、T2Wのゲートは、インバータ駆動回路16に接続されている。スイッチング素子T1W、T2Wは、制御装置22により、インバータ駆動回路16からスイッチング素子T1W、T2WのゲートへのPWM信号の入力が制御されることで、オンとオフとが切り替えられる。
【0020】
以降において、スイッチング素子T1U、T1V、T1Wを区別しない場合は、スイッチング素子T1(第1スイッチング素子)と記載し、スイッチング素子T2U、T2V、T2Wを区別しない場合は、スイッチング素子T2(第2スイッチング素子)と記載する。この場合、スイッチング素子T1、T2は、電源部12に対して直列に接続されており、スイッチング素子T1のソースとスイッチング素子T2のドレインとの接続箇所が、モータ10のいずれか1相に接続されているといえる。スイッチング素子T1、T2は、モータ10のいずれかの相に接続される直列回路を構成しているといえる。すなわち例えば、スイッチング素子T1U、T2Uが、モータ10のU相に接続される直列回路を構成し、スイッチング素子T1V、T2Vが、モータ10のV相に接続される直列回路を構成し、スイッチング素子T1W、T2Wが、モータ10のW相に接続される直列回路を構成しているといえる。
【0021】
なお、本実施形態では、それぞれのスイッチング素子T1、T2には、ボディダイオードが並列に接続されているが、必須の構成ではない。
【0022】
(インバータ駆動回路)
インバータ駆動回路16は、インバータ14に接続されており、制御装置22によって制御されることで、スイッチング素子T1、T2を駆動する回路である。インバータ駆動回路16は、それぞれのスイッチング素子T1のゲートに接続されており、スイッチング素子T1のゲートに、スイッチング素子T1を駆動させるPWM信号を出力する。また、インバータ駆動回路16は、それぞれのスイッチング素子T2のゲートに接続されており、スイッチング素子T2のゲートに、スイッチング素子T2を駆動させるPWM信号を出力する。
【0023】
(抵抗部)
抵抗部18は、各相の(それぞれの直列回路の)スイッチング素子T2に接続される抵抗である。抵抗部18は、各相のスイッチング素子T2と接地点との間に設けられる。すなわち本実施形態では、抵抗部18として、U相のスイッチング素子T2Uと接地点との間に設けられる抵抗部18Uと、V相のスイッチング素子T2Vと接地点との間に設けられる抵抗部18Vと、W相のスイッチング素子T2Wと接地点との間に設けられる抵抗部18Wとが設けられる。なお、抵抗部18は、例えばシャント抵抗であってよい。
【0024】
(電圧検出部)
電圧検出部20は、各相の(それぞれの直列回路の)スイッチング素子T2と接地点との間に設けられて、各相のスイッチング素子T2と接地点との間における電圧を検出する装置である。本実施形態では、電圧検出部20は、抵抗部18と並列にスイッチング素子T2に接続される。すなわち、電圧検出部20は、スイッチング素子T2と抵抗部18との間の箇所と、抵抗部18と接地点との間の箇所とに接続されて、スイッチング素子T2と接地点との間における電圧を検出する。本実施形態では、電圧検出部20として、U相のスイッチング素子T2Uと接地点との間に設けられる電圧検出部20Uと、V相のスイッチング素子T2Vと接地点との間に設けられる電圧検出部20Vと、W相のスイッチング素子T2Wと接地点との間に設けられる電圧検出部20Wとが設けられる。
【0025】
電圧検出部20は、電圧を検出可能な任意の装置であってよいが、検出した電圧を示す信号を出力する装置であってよい。例えば、本実施形態では、電圧検出部20は、入力された電圧を増幅する増幅回路(差動増幅回路)を含む。電圧検出部20においては、スイッチング素子T2と接地点との間における電圧が増幅回路に入力されて、増幅回路において、入力された電圧を増幅して出力する。また、本実施形態では、電圧検出部20は、AD変換回路を有する。この場合、増幅回路で増幅されたアナログ信号である電圧は、AD変換回路でデジタル信号に変換されて、増幅された電圧値を示す信号として、電圧検出部20から出力される。
【0026】
(制御装置)
図2は、制御装置の模式的なブロック図である。制御装置22は、モータ10を制御する装置(マイコン)である。
図2に示すように、制御装置22は、記憶部30と制御部32とを有する。記憶部30は、制御部32の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。記憶部30が記憶する制御部32用のプログラムは、制御装置22が読み取り可能な記録媒体に記憶されていてもよい。
【0027】
制御部32は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部32は、電流算出部40と素子制御部42とを含む。制御部32は、記憶部30からプログラム(ソフトウェア)を読み出して実行することで、電流算出部40と素子制御部42とを実現して、それらの処理を実行する。なお、制御部32は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、電流算出部40と素子制御部42の処理の少なくとも一部を、ハードウェア回路で実現してもよい。
【0028】
電流算出部40は、電圧検出部20が検出した電圧に基づき、スイッチング素子T2と接地点との間における電流値を算出する。素子制御部42は、電流算出部40が算出した電流値に基づき、スイッチング素子T1、T2を制御する。具体的には、素子制御部42は、電流算出部40が算出した電流値に基づき、スイッチング素子T1、T2に入力するPWM信号を設定し、インバータ駆動回路16からスイッチング素子T1、T2に、設定したPWM信号を出力させる。電流算出部40及び素子制御部42のより詳細な処理内容は後述する。
【0029】
(モータの制御)
次に、モータ制御装置11によるモータ10の制御について説明する。
【0030】
(モータの起動時の制御)
モータ10の起動時において、モータ制御装置11は、各相のスイッチング素子T2と接地点との間(すなわち各相の抵抗部18)に電流が流れない状態で、電圧検出部20に電圧を検出させる。電流算出部40は、各相の抵抗部18に電流が流れない状態における、電圧検出部20が検出した電圧を基準として、電圧と電流値との対応関係を、相毎に算出する。ここでの対応関係とは、電圧検出部20が検出した電圧と、抵抗部18に流れる電流値との、対応関係を示す情報である。対応関係とは、電圧を変数として電流値を解とする式形式の情報であってよい。電流算出部40は、モータ10の起動時において、この対応関係を用いることで、電圧検出部20が検出した電圧から電流値を算出できる。なお、モータ10の起動時とは、モータ10に交流電流を印加してモータ10を運転させる前の状態(モータ10に交流電流を印加しない状態)であって、モータ10に交流電圧を印加して運転を開始させるための準備期間を指す。
【0031】
本実施形態では、電流算出部40は、各相の抵抗部18に電流が流れない状態で電圧検出部20が検出した電圧値に対して、電流値が0Aとなるように、対応関係を設定する。より詳しくは、本実施形態では、電流算出部40は、電圧検出部20から出力された、増幅された電圧値を示す信号を取得して、その信号が示す電圧値に対して、電流値が0Aとなるように、対応関係を設定する。例えば、対応関係は、次の式(1)に示すものであってよい。
【0032】
I=a・(V-b) ・・・(1)
【0033】
ここで、Iは電流値(A)であり、Vは電圧(V)である。aは、電圧と電流値との比例関係を示す係数であり、予め設定される固定値である。bは、各相の抵抗部18に電流が流れない状態における、電圧検出部20が検出した電圧に基づいて設定される係数であり、その状態において電圧検出部20が検出した電圧値そのものであってよい。本実施形態では、bは、各相の抵抗部18に電流が流れない状態で電圧検出部20が検出した電圧値(増幅回路で増幅されて電圧検出部20から出力される電圧値)をVとした場合に、式(1)の左辺が0(A)となるような値に設定される。例えばaが16(mV/A)でVが2.5(V)である場合、bは2.5(V)となる。
【0034】
このように、抵抗部18に電流が流れない状態で検出された電圧に基づいて、対応関係を設定することで、電圧検出部20による電圧の増幅度合いなどの、電圧検出部20による検出の個体差を加味でき、電圧検出部20が検出した電圧から電流値を適切に算出できる。
【0035】
なお、本実施形態においては、電流算出部40は、各相の抵抗部18に電流が流れない状態で電圧検出部20が検出した電圧が、第1所定範囲内である場合に、その電圧値を用いて、対応関係を設定する。一方、電流算出部40は、各相の抵抗部18に電流が流れない状態で電圧検出部20が検出した電圧が、第1所定範囲外である場合に、その電圧値を用いた対応関係の設定は行わない。すなわち、電圧検出部20が検出した電圧が第1所定範囲を外れた異常値である場合には、その電圧値を用いた対応関係の設定を行わない。検出した電圧が第1所定範囲外である場合には、各相の抵抗部18に電流が流れない状態で電圧検出部20に再度電圧を検出させて、対応関係を算出してもよいし、異常が起きているとしてモータ10の起動を停止してよい。このように、第1所定範囲内の電圧を用いて対応関係を算出することで、異常な電圧を用いて対応関係を設定することを抑制して、電流値を適切に算出できる。
【0036】
ここでの第1所定範囲は、任意に設定されてよい。例えば、電圧検出部20が、0Vの電圧を所定電圧値(例えば2.5V)に増幅するように設計されていた場合、所定電圧値に対して所定値(例えば0.1V)を差し引いた下限電圧値から、所定電圧値に対して所定値(例えば0.1V)を足した上限電圧値までの範囲を、第1所定範囲としてよい。
【0037】
(モータの運転時の制御)
モータ10の運転時において、モータ制御装置11は、電源部12から直流電流を流しつつ、スイッチング素子T1、T2にPWM信号を供給することで、電源部12からの直流電流を交流電流に変換して、モータ10の各相に供給する。これにより、モータ10が駆動する。具体的には、モータ制御装置11は、電流算出部40により、各相のスイッチング素子T2と接地点との間(すなわち各相の抵抗部18)に電流が流れているタイミングにおいて、スイッチング素子T2と接地点との間(すなわち各相の抵抗部18)に流れる電流値を算出させる。電流算出部40は、各相の抵抗部18に電流が流れているタイミングで電圧検出部20が検出した電圧と、電圧と電流値との対応関係とに基づいて、電流値を算出する。すなわち対応関係が式(1)に示すものである場合、電流算出部40は、電圧検出部20が検出した電圧を式(1)のVとして、式(1)のIを電流値として算出する。
【0038】
そして、モータ制御装置11は、素子制御部42により、電流算出部40が算出した電流値に基づいて、その電流値の算出に用いた電圧を検出した期間よりも後の期間における、各スイッチング素子T1、T2に供給するPWM信号を設定する。具体的には、素子制御部42は、電流算出部40が算出した電流値に基づいて、それぞれのスイッチング素子T1、T2に供給するPWM信号の、デューティ比(本例では、PWM信号の1周期に対する、ハイレベルの信号を印加する期間の比率)を設定する。素子制御部42は、設定したPWM信号を、インバータ駆動回路16から各スイッチング素子T1、T2に供給させる。これにより、設定したPWM信号が各スイッチング素子T1、T2に供給されて、モータ10の各相に交流電流が供給される。なお、素子制御部42は、電流算出部40が算出した電流値だけでなく、モータ10のロータの回転角(位相)を検出するセンサ(非図示)によって検出されたロータの回転角にも基づいて、PWM信号を設定してもよい。
【0039】
以下、PWM信号の設定方法の例について、より詳しく説明する。
図3は、モータの運転時におけるPWM信号の一例を示すグラフである。本実施形態においては、素子制御部42は、基準波形Lと、調整値Hとに基づき、PWM信号のデューティ比を設定する。基準波形Lとは、PWM信号のデューティ比を設定するための基準となる波形である。基準波形Lは、時間の経過に応じて値が変化する波形となっており、予め設定されている。本実施形態においては、基準波形Lは、
図3に示すように、三角波形状となっており、三角波比較方式でデューティ比が設定されるといえる。具体的には、本実施形態に係る基準波形Lは、時間経過に従って所定の傾きで値が直線状に上昇し、最大値に達したら、時間経過に従って所定の傾きで値が直線状に低下し、最小値に達したら、所定の傾きで値が直線状に上昇する、というサイクルが繰り返される波形になっている。本実施形態では、基準波形Lの上昇時の傾きと低下時の傾きとは、予め設定されており、一定値として変化しない。基準波形Lの上昇時の傾きと低下時の傾きとは、任意に設定されてよいが、上昇時の傾きの絶対値と低下時の傾きの絶対値とは、同じ値であることが好ましい。
【0040】
調整値Hとは、基準波形Lの値に対応する値(
図3の基準波形Lの縦軸の値と同次元の値)であり、PWM信号のオン(ハイ)とオフ(ロー)とを切り替えるタイミングを示す値である。調整値Hは、電流算出部40が算出した電流値に基づいて設定され、電流算出部40が算出した電流値に応じて値が変化する。調整値Hは、モータ10の相毎に設定される。本実施形態においては、
図3に示すように、調整値Hとして、U相の調整値HUと、V相の調整値HVと、W相の調整値WHとが設定される。
【0041】
本実施形態では、素子制御部42は、時間の経過に応じて変化する基準波形Lの値と、電流値に基づき設定された調整値Hとに基づいて、PWM信号をオンにするタイミングとオフにするタイミングとを設定して、PWM信号のデューティ比を設定する。例えば
図3の例では、素子制御部42は、線L2Uに示すように、基準波形Lの値が、U相の調整値HU未満の値から、調整値HUと同じ値に切り替わったタイミングt1Uにおいて、U相のスイッチング素子T2UへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Uに示すように、タイミングt1Uから所定期間後のタイミングt2Uにおいて、U相のスイッチング素子T1UへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L1Uに示すように、基準波形Lの値が、U相の調整値HUより高い値から、調整値HUと同じ値に切り替わったタイミングt3Uにおいて、スイッチング素子T1UへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Uに示すように、タイミングt3Uから所定期間後のタイミングt4Uにおいて、スイッチング素子T2UへのPWM信号を、オフからオンに切り替える。
【0042】
同様に、
図3の例では、素子制御部42は、線L2Vに示すように、基準波形Lの値が、V相の調整値HV未満の値から、調整値HVと同じ値に切り替わったタイミングt1Vにおいて、V相のスイッチング素子T2VへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Vに示すように、タイミングt1Vから所定期間後のタイミングt2Vにおいて、V相のスイッチング素子T1VへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L1Vに示すように、基準波形Lの値が、V相の調整値HVより高い値から、調整値HVと同じ値に切り替わったタイミングt3Vにおいて、スイッチング素子T1VへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Vに示すように、タイミングt3Vから所定期間後のタイミングt4Vにおいて、スイッチング素子T2VへのPWM信号を、オフからオンに切り替える。
【0043】
同様に、
図3の例では、素子制御部42は、線L2Wに示すように、基準波形Lの値が、W相の調整値HW未満の値から、調整値HWと同じ値に切り替わったタイミングt1Wにおいて、W相のスイッチング素子T2WへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Wに示すように、タイミングt1Wから所定期間後のタイミングt2Wにおいて、W相のスイッチング素子T1WへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L1Wに示すように、基準波形Lの値が、W相の調整値HWより高い値から、調整値HWと同じ値に切り替わったタイミングt3Wにおいて、スイッチング素子T1WへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Wに示すように、タイミングt3Wから所定期間後のタイミングt4Wにおいて、スイッチング素子T2WへのPWM信号を、オフからオンに切り替える。
【0044】
ただし、
図3における、各スイッチング素子T1、T2へのPWM信号は、一例であり、電流算出部40が算出した電流値(本例ではその電流値に基づき設定された調整値H)に応じて、適宜設定される。
【0045】
(電圧検出部の温度ドリフト)
以上のように、各スイッチング素子T1、T2へのPWM信号は、電流算出部40が算出した電流値に基づき設定される。また、電流算出部40は、上述のように、各相の抵抗部18に電流が流れているタイミングで電圧検出部20が検出した電圧と、モータ10の起動時に設定された対応関係とに基づいて、電流値を算出する。しかしながら、モータ10の運転が開始すると、モータ10の温度上昇に伴い、電圧検出部20の温度も上昇する。電圧検出部20は、温度に応じて出力する電圧が変化する特性(温度ドリフト特性)を持っている場合があり、モータ10の起動時に設定された電圧と電流値の対応関係と、運転時における実際の電圧と電流値との対応関係とが、異なってしまうおそれがある。例えば、電圧検出部20は、入力された電圧(抵抗部18における電圧)を増幅して出力するが、電圧の増幅度合いが温度により変化して、電流算出部40に出力される信号(増幅された電圧を示す信号)が、抵抗部18における実際の電圧値から乖離してしまい、結果として、算出される電流値も、実際に抵抗部18を流れた電流値から乖離してしまうおそれがある。これにより、温度変化が起きた際に、モータを適切に制御できなくなるおそれがある。
【0046】
それに対して、本実施形態においては、各相の抵抗部18に電流が流れていないタイミングにおいても、電圧検出部20に電圧を検出させる。そして、本実施形態では、電流算出部40により、各相の抵抗部18に電流が流れていないタイミングで検出された電圧と、各相の抵抗部18に電流が流れているタイミングで検出された電圧とに基づいて、電流値を算出させる。より詳しくは、電流算出部40は、後述の第1期間W1a(各相の抵抗部18に電流が流れない期間)で検出された電圧と、後述の第2期間W2a(各相の抵抗部18に電流が流れる期間)で検出された電圧と、上述の対応関係と、に基づいて、第2期間W2aよりも後の第2期間W2bにおける電流値を算出する。具体的には、電流算出部40は、後述するように、第2期間W2a中の電流値を、第1期間W1a中の電流値でオフセット補正して、第2期間W2b中の電流値を算出する。これにより、各相の抵抗部18に電流が流れていないタイミングでの電圧も考慮して電流値を算出できるため、温度ドリフト特性も考慮して、算出される電流値が、実際に抵抗部18を流れた電流値から乖離することを抑制できる。
【0047】
ただし、各相の抵抗部18に電流が流れていない期間は、その期間よりも前に設定されたPWM信号のデューティ比によって決まる。従って、各相の抵抗部18に電流が流れていない期間は、短くなる場合もあり、その期間での電圧検出が難しくなる場合がある。例えば、抵抗部18に電流が流れている期間での電圧を、各相の抵抗部18に電流が流れていない期間での電圧として誤検出してしまうおそれがある。このように誤検出した場合、電流値を適切に算出できず、モータを適切に制御できなくなるおそれがある。それに対して、本実施形態においては、各相の抵抗部18に電流が流れていない期間における電圧を適切に用いることができるように、電流値を算出する際の処理を行う。以下、具体的に説明する。
【0048】
(電流値の算出)
以降において、全ての相(全ての直列回路)のスイッチング素子T1(本例ではスイッチング素子T1U、T1V、T1W)がオン状態となる期間を、言い換えれば、全ての相のスイッチング素子T1へのPWM信号がオンとなる期間を、第1期間W1とする。第1期間W1においては、全ての相のスイッチング素子T2がオフ状態(全ての相のスイッチング素子T2へのPWM信号がオフ)である。第1期間W1においては、全ての相の抵抗部18(全ての相のスイッチング素子T2と接地点との間)に、電流が流れない。また、全ての相のスイッチング素子T2(本例ではスイッチング素子T2U、T2V、T2W)がオン状態となる期間を、言い換えれば、全ての相のスイッチング素子T2へのPWM信号がオンとなる期間を、第2期間W2とする。第2期間W2においては、全ての相のスイッチング素子T1がオフ状態(全ての相のスイッチング素子T1へのPWM信号がオフ)である。第2期間W2においては、全ての相の抵抗部18(全ての相のスイッチング素子T2と接地点との間)に、電流が流れる。
【0049】
また、基準波形Lの1サイクル分の期間(
図3の例では基準波形が最小値となってから次に最小値となるまでの期間)を、1周期とする。そして、所定の周期Paにおける第1期間W1及び第2期間W2を、それぞれ第1期間W1a及び第2期間W2aとし、第1期間W1a及び第2期間W2aにおいて電圧を検出した場合を例にして、以降の説明を行う。なお、周期Paの次の周期Pbにおける第1期間W1及び第2期間W2を、それぞれ第1期間W1b及び第2期間W2bとする。
【0050】
(第1期間が所定長さ以上である場合)
電流算出部40は、第1期間W1aの長さ(時間長さ)が所定長さ以上である場合には、第1期間W1a中に電圧検出部20が検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧とに基づいて、次の周期Pbの第2期間W2bにおける、各相の抵抗部18に流れる電流値を算出する。すなわち、電流算出部40は、第1期間W1aの長さ(時間長さ)が所定長さ以上である場合に、第1期間W1a中及び第2期間W2a中に電圧検出部20Uが検出した電圧に基づき、第2期間W2bにおける抵抗部18Uに流れる電流値を算出し、第1期間W1a中及び第2期間W2a中に電圧検出部20Vが検出した電圧に基づき、第2期間W2bにおける抵抗部18Vに流れる電流値を算出し、第1期間W1a中及び第2期間W2a中に電圧検出部20Wが検出した電圧に基づき、第2期間W2bにおける抵抗部18Wに流れる電流値を算出する。そして、電流算出部40は、電流算出部40が算出した第2期間W2bにおける各相の電流値に基づいて、その第2期間W2bより後の期間(本例では周期Pbの次の周期)における、各相のスイッチング素子T1、T2へのPWM信号を設定する。具体的には、電流算出部40は、各相の電圧検出部20に、第1期間W1a中のタイミングと、第2期間W2a中のタイミングとにおいて、抵抗部18における電圧を検出させる。そして、電流算出部40は、各相の電圧検出部20が検出を行った第1期間W1aの長さが、所定長さ以上であるかを判定し、所定長さ以上である場合には、第1期間W1a中及び第2期間W2a中に電圧検出部20が検出した電圧に基づいて、第2期間W2bにおける、各相の抵抗部18に流れる電流値を算出する。なお、第1期間W1aの長さは、その第1期間W1aに出力されたPWM信号のデューティ比から把握できる。また、所定長さは、任意に設定されてよい。
【0051】
各相の電圧検出部20が電圧検出を行う第1期間W1a中のタイミングとは、全ての抵抗部18に電流が流れない任意のタイミングでよいが、例えば、基準波形Lが最大値となるタイミングから所定時間前のタイミングと、基準波形Lが最大値となるタイミングから所定時間後のタイミングとの、間のタイミングであってよく、好ましくは、基準波形Lが最大値となるタイミングであってよい。また、ここでの第2期間W2a中のタイミングとは、全ての抵抗部18に電流が流れる任意のタイミングでよいが、例えば、基準波形Lが最小値となるタイミングから所定時間前のタイミングと、基準波形Lが最小値となるタイミングから所定時間後のタイミングとの、間のタイミングであってよく、好ましくは、基準波形Lが最小値となるタイミングであってよい。
【0052】
電流算出部40は、第1期間W1a中及び第2期間W2a中に電圧検出部20が検出した電圧に基づいた任意の方法で、第2期間W2b中の電流値を算出してよいが、本実施形態では、第1期間W1a中に検出された電圧によりオフセット補正を行って、第2期間W2b中の電流値を算出する。具体的には、電流算出部40は、第1期間W1a中に電圧検出部20が検出した電圧に基づき、第1期間W1a中の電流値を算出し、第2期間W2a中に電圧検出部20が検出した電圧に基づき、第2期間W2a中の電流値を算出する。すなわち、電流算出部40は、第1期間W1a中に電圧検出部20が検出した電圧と対応関係とから、第1期間W1a中の電流値を算出し、第2期間W2a中に電圧検出部20が検出した電圧と対応関係とから、第2期間W2a中の電流値を算出する。そして、電流算出部40は、算出した第2期間W2a中の電流値と、算出した第1期間W1a中の電流値との差分から、第2期間W2b中の電流値を算出する。例えば本実施形態では、電流算出部40は、算出した第2期間W2a中の電流値から、算出した第1期間W1a中の電流値を差し引いて、その差し引いた値を、第2期間W2b中の電流値とする。すなわち、電流算出部40は、第2期間W2a中の電流値を、第1期間W1a中の電流値でオフセット補正して、第2期間W2b中の電流値を算出する。これにより、温度ドリフト特性を適切に考慮でき、電流値を適切に算出できる。
【0053】
ただし、オフセット補正の方法はこれに限られない。例えば、電流算出部40は、第1期間W1a中に電圧検出部20が検出した電圧に基づき、対応関係を補正してもよい。すなわち例えば、電流算出部40は、第1期間W1a中に電圧検出部20が検出した電圧に対して、電流値が0Aとなるように、対応関係(本例では式(1)の係数b)を補正する。そして、電流算出部40は、第2期間W2a中に電圧検出部20が検出した電圧と、補正した対応関係とに基づいて、第2期間W2b中の電流値を算出してもよい。
【0054】
(第1期間が所定長さ未満である場合)
電流算出部40は、全ての抵抗部18に電流が流れない第1期間W1aの長さが所定長さ未満である場合には、その第1期間W1aよりも前の第1期間W1(周期Paよりも前の周期)中に検出した電圧を用いて、電流値を算出する。すなわち例えば、今回の第1期間W1aの長さが所定長さ未満であるが、その第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧検出を行った第1期間W1がある場合には、その第1期間W1で検出した電圧と、今回の第2期間W2aで検出した電圧とに基づき、第2期間W2bにおける電流値を算出してよい。この場合の電流値の算出方法は、第1期間W1aの長さが所定長さ以上の場合の算出方法と同様であってよい。なお、今回の第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧検出を行った第1期間W1が複数ある場合は、過去の第1期間W1で検出したそれぞれの電圧の移動平均を算出して、その移動平均した電圧(移動平均電圧)を、今回の第1期間W1aで検出した電圧として扱うことが好ましい。すなわちこの場合、移動平均電圧を用いて、第2期間W2aにおける電流値をオフセット補正してよい。なお、移動平均電圧とは、今回の第1期間W1aで検出した電圧よりも前の所定数の第1期間W1で検出した電圧との、相加平均値を指す。また、今回の第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧検出を行った第1期間W1が複数ある場合には、それらの第1期間W1のうちで、最も遅い(今回の第1期間W1aに近い)第1期間W1における電圧を用いてもよい。さらに、今回の第1期間W1aの長さが所定長さ未満であり、今回の第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧検出を行った第1期間W1がない場合は、起動時に検出した電圧と今回の第2期間W2で検出した電圧とに基づき、電流値を算出してよい。
【0055】
以上のように、本実施形態では、時間長さが短い第1期間W1aにおける電圧を用いず、時間長さが所定長さ以上となる過去の第1期間W1に検出された電圧を用いて、オフセット補正を行って第2期間W2b中の電流値を算出する。これにより、時間長さが短く誤検出のリスクが高い第1期間W1aの電圧を用いず、誤検出のリスクが低い第1期間W1の電圧を用いて、オフセット補正を行うことが可能となる。従って、本実施形態によると、各相の抵抗部18に電流が流れていない期間における電圧を適切に用いつつ、温度ドリフト特性も考慮して、運転時における電流値を算出できる。
【0056】
なお、以上の説明では、各相の電圧検出部20は、第1期間W1aの長さに関わらず、第1期間W1a中のタイミングでの電圧検出を行っていたが、それに限られない。例えば、各相の電圧検出部20は、第1期間W1aの長さが所定長さ以上である場合にのみ、その第1期間W1a中のタイミングで電圧検出を行い、第1期間W1aの長さが所定長さ未満である場合には、その第1期間W1a中のタイミングで電圧検出を行わなくてもよい。
【0057】
また、以上の説明では、第1期間W1a(またはそれよりも過去の第1期間W1)の電圧と第2期間W1bの電圧とから、次の周期Pbの第2期間W2bの電流値を算出したが、それに限られない。例えば、第1期間W1a(またはそれよりも過去の第1期間W1)の電圧と第2期間W1bの電圧とから、周期Pbよりも更に後の周期の第2期間W2の電流値を算出してもよい。
【0058】
(第1期間での電圧が第2所定範囲内である場合)
また、電流算出部40は、第1期間W1aで電圧検出部20が検出した電圧が所定範囲としての第2所定範囲内である場合に、第1期間W1a中に電圧検出部20が検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧と、対応関係とに基づいて、第2期間W2bにおける、各相の抵抗部18に流れる電流値を算出する。すなわち本実施形態では、電流算出部40は、第1期間W1aの長さが所定長さ以上であり、かつ、第1期間W1aで検出した電圧が第2所定範囲内である場合に、第1期間W1a中及び第2期間W2a中に電圧検出部20が検出した電圧に基づいて、第2期間W2bにおける電流値を算出する。すなわち、電流算出部40は、第2期間W2a中の電流値を、第1期間W1a中の電流値でオフセット補正して、第2期間W2b中の電流値を算出する。そして、電流算出部40は、電流算出部40が算出した第2期間W2bにおける各相の電流値に基づいて、その第2期間W2b以降の期間(周期Pb以降の期間)における、各相のスイッチング素子T1、T2へのPWM信号を設定する。
【0059】
ここでの第2所定範囲は、任意に設定されてよいが、例えば、モータ10の起動時に対応関係を算出するために用いた第1所定範囲よりも、範囲が広いことが好ましい。例えば、電圧検出部20が、0Vの電圧を所定電圧値(例えば2.5V)に増幅するように設計されていた場合、所定電圧値に対して第1所定範囲における所定値よりも大きな値(例えば0.2V)を差し引いた下限電圧値から、所定電圧値に対して、第1所定範囲における所定値よりも大きな値(例えば0.2V)を足した上限電圧値までの範囲を、第2所定範囲としてよい。また例えば、モータ10の起動時であって各相の抵抗部18に電流が流れない状態で電圧検出部20が検出した電圧値を、起動電圧値とすると、その起動電圧値に対して所定値(例えば0.1V)を差し引いた下限電圧値から、起動電圧値に対して所定値(例えば0.1V)を足した上限電圧値までの範囲を、第2所定範囲としてよい。
【0060】
また、第2所定範囲は、一定であってもよいが、変化させてもよい。この場合例えば、モータ10の温度が高い程、第2所定範囲を広くしてよい。この場合例えば、モータ10又はモータ制御装置11に温度センサを設け、温度センサが検出した温度が、モータ10の起動時よりも所定温度以上高い場合における第2所定範囲を、モータ10の起動時よりも所定温度以上高くない場合における第2所定範囲よりも、広くしてもよい。また、温度センサが検出した温度が高くなるに従って、第2所定範囲を徐々に広げてもよい。
【0061】
(第1期間での電圧が第2所定範囲外である場合)
電流算出部40は、第1期間W1aで電圧検出部20が検出した電圧が第2所定範囲外である場合には、その第1期間W1aよりも前の第1期間W1中に検出した電圧を用いて、電流値を算出する。すなわち例えば、今回の第1期間W1aで検出した電圧が第2所定範囲外であるが、その第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧が第2所定範囲内となった第1期間W1がある場合には、その第1期間W1で検出した電圧と、今回の第2期間W2aで検出した電圧と、対応関係とに基づき、第2期間W2bにおける電流値を算出してよい。すなわち、電流算出部40は、第2期間W2a中の電流値を、第1期間W1aよりも前の第1期間W1中の電流値でオフセット補正して、第2期間W2b中の電流値を算出する。なお、今回の第1期間W1aよりも前に、時間長さが所定長さ以上となり、かつ電圧が第2所定範囲内となった第1期間W1が複数ある場合には、それらの第1期間W1のうちで、最も遅い(今回の第1期間W1に近い)第1期間W1における電圧を用いることが好ましい。
【0062】
以上のように、本実施形態では、第1期間W1aにおける電圧が第2所定範囲内である場合にのみ、その電圧を用いてオフセット補正を行う。これにより、異常値となっている可能性が高い第1期間W1aの電圧を用いず、正常値となっている第1期間W1の電圧を用いて、オフセット補正を行うことが可能となる。従って、本実施形態によると、各相の抵抗部18に電流が流れていない期間における電圧を適切に用いつつ、温度ドリフト特性も考慮して、運転時における電流値を算出できる。さらに、第1期間W1aが所定長さ以上であり、かつ電圧が第2所定範囲内であるものを用いることで、各相の抵抗部18に電流が流れていない期間における電圧をより適切に用いることができる。
【0063】
なお、以上の説明では、第1期間W1aの長さに応じて第1期間W1aにおける電圧を用いるかを決定する処理と、第1期間W1aにおける電圧の大きさに応じて第1期間W1における電圧を用いるかを決定する処理との、両方を行っていた。ただしそれに限られず、これらの処理のいずれか一方のみを行ってもよい。
【0064】
(第1期間における電圧検出の回数)
また、以上の説明では、第1期間W1における電圧検出の回数と第2期間W2における電圧検出の回数とが、同じであったが、それに限られず、第1期間W1における電圧検出の回数を、第2期間W2における電圧検出の回数よりも少なくしてもよい。すなわち例えば、電流算出部40は、所定周期毎(例えば1周期毎)に、電圧検出部20に第2期間W2での電圧検出を行わせ、所定周期よりも長い周期毎(例えば10周期毎)に、電圧検出部20に第1期間W1での電圧検出を行わせてよい。そして、第1期間W1で電圧検出が行われたら、以上で説明した処理を行って、第1期間W1における電圧を用いて、第2期間W2における電流値をオフセット補正してよい。その後、次に第1期間W1で電圧検出が行われるまでは、同じ第1期間W1での電圧を用いて、オフセット補正を行ってよい。すなわちこの場合、電流算出部40は、直近の第1期間W1で検出された電圧により、第2期間W2における電流値をオフセット補正してよい。これにより、処理負荷を軽減できる。
【0065】
(処理フロー)
次に、以上で説明した電流値の算出の処理フローを説明する。
図4は、本実施形態に係る電流値の算出の処理フローを説明するフローチャートである。
図4に示すように、モータ制御装置11は、各相の電圧検出部20に、第1期間W1aでの電圧と、第2期間W2aでの電圧とを検出させる(ステップS10)。モータ制御装置11の電流算出部40は、第1期間W1aの長さが所定期間以上であり(ステップS12;Yes)、かつ、第1期間W1aで検出した電圧が第2所定範囲内である場合(ステップS14;Yes)、第1期間W1aで検出した電圧と第2期間W2aで検出した電圧とに基づき、電圧を検出した後の第2期間W2bにおける電流値を算出する(ステップS16)。モータ制御装置11の素子制御部42は、算出された第2期間W2bにおける電流値に基づき、第2期間W2bよりも後の期間におけるPWM信号を設定して、各スイッチング素子T1、T2に出力して、モータ10を制御する。一方、第1期間W1aの長さが所定期間未満である場合(ステップS12;No)、及び、第1期間W1aで検出した電圧が第2所定範囲外である場合(ステップS14;No)、電流算出部40は、その第1期間W1aで検出した電圧を用いたオフセット補正を行わない(ステップS18)。この場合、電流算出部40は、過去の第1期間W1で検出したそれぞれの電圧の移動平均と第2期間W2aで検出した電圧を用いて、電圧を検出した後の第2期間W2における電流値を算出してもよい。また、今回の第1期間W1よりも前に、時間長さが所定長さ以上となり、かつ電圧検出を行った第1期間W1が複数ある場合には、それらの第1期間W1のうちで、最も遅い(今回の第1期間W1に近い)第1期間W1における電圧と第2期間W2aで検出した電圧を用いて、電圧を検出した後の第2期間W2bにおける電流値を算出してもよい。ステップS16又はステップS18を実行したら、本処理を終了する。
【0066】
(基準波形の他の例)
図5は、モータの運転時におけるPWM信号の他の例を示すグラフである。以上の説明では、三角波形状の基準波形Lを用いて、PWM信号を設定していたが、基準波形Lの形状は三角波に限られず、任意の形状であってよい。例えば、
図5に示すように、基準波形Lは、鋸波形状であってもよい。具体的には、
図5に示すように、本例に係る基準波形Lは、時間経過に従って所定の傾きで値が直線状に上昇し、最大値に達しタイミングで、値が最小値まで低下し、再度、時間経過に従って所定の傾きで最大値まで直線状に上昇する、という波形になっている。
【0067】
本例においては、素子制御部42は、線L1Uに示すように、基準波形Lの値が最大値から最小値に切り替わったタイミングt1Uにおいて、U相のスイッチング素子T1UへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Uに示すように、タイミングt1Uから所定期間後のタイミングt2Uにおいて、U相のスイッチング素子T2UへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L2Uに示すように、基準波形Lの値が、U相の調整値HUより低い値から、調整値HUと同じ値に切り替わったタイミングt3Uにおいて、スイッチング素子T2UへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Uに示すように、タイミングt3Uから所定期間後のタイミングt4Uにおいて、スイッチング素子T1UへのPWM信号を、オフからオンに切り替える。
【0068】
同様に、本例においては、素子制御部42は、線L1Vに示すように、基準波形Lの値が最大値から最小値に切り替わったタイミングt1Vにおいて、V相のスイッチング素子T1VへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Vに示すように、タイミングt1Vから所定期間後のタイミングt2Vにおいて、V相のスイッチング素子T2VへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L2Vに示すように、基準波形Lの値が、V相の調整値HVより低い値から、調整値HVと同じ値に切り替わったタイミングt3Vにおいて、スイッチング素子T2VへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Vに示すように、タイミングt3Vから所定期間後のタイミングt4Vにおいて、スイッチング素子T1VへのPWM信号を、オフからオンに切り替える。
【0069】
同様に、本例においては、素子制御部42は、線L1Wに示すように、基準波形Lの値が最大値から最小値に切り替わったタイミングt1Wにおいて、W相のスイッチング素子T1WへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L2Wに示すように、タイミングt1Wから所定期間後のタイミングt2Wにおいて、W相のスイッチング素子T2WへのPWM信号を、オフからオンに切り替える。そして、素子制御部42は、線L2Wに示すように、基準波形Lの値が、W相の調整値HWより低い値から、調整値HWと同じ値に切り替わったタイミングt3Wにおいて、スイッチング素子T2WへのPWM信号を、オンからオフに切り替える。そして、素子制御部42は、線L1Wに示すように、タイミングt3Wから所定期間後のタイミングt4Wにおいて、スイッチング素子T1WへのPWM信号を、オフからオンに切り替える。
【0070】
ただし、
図5における、各スイッチング素子T1、T2へのPWM信号は、一例であり、電流算出部40が算出した電流値(本例ではその電流値に基づき設定された調整値H)に応じて、適宜設定される。
【0071】
(効果)
以上で説明したように、本開示に係るモータ制御装置11は、スイッチング素子T1(第1スイッチング素子)、及びスイッチング素子T2(第2スイッチング素子)を有する直列回路が、モータ10の相毎に設けられて、モータ10の各相に交流電圧を印加するインバータ14と、それぞれの直列回路の、スイッチング素子T2と接地点との間に設けられて、スイッチング素子T2と接地点との間における電圧を検出する電圧検出部20と、電圧検出部20が検出した電圧に基づき、スイッチング素子T2と接地点との間における電流値を算出する電流算出部40と、を有する。電流算出部40は、全ての直列回路(全ての相)のスイッチング素子T1がオン状態となる第1期間W1aの長さが所定長さ以上である場合には、第1期間W1a中に電圧検出部20が検出した電圧と、全ての直列回路(相)のスイッチング素子T2がオン状態となる第2期間W2a中に電圧検出部20が検出した電圧と、に基づいて、第2期間W2aに電圧を検出した期間よりも後の第2期間W2bにおける電流値を算出する。本実施形態によると、時間長さが短く誤検出のリスクが高い第1期間W1の電圧を用いず、誤検出のリスクが低い第1期間W1の電圧を用いて、オフセット補正を行うことが可能となる。従って、本実施形態によると、各相の抵抗部18に電流が流れていない期間における電圧を適切に用いつつ、温度ドリフト特性も考慮して、運転時における電流値を算出できる。従って、本開示によると、誤検出を抑制して、モータを適切に制御できる。
【0072】
また、電流算出部40は、第1期間W1aの長さが所定長さ未満である場合には、第1期間W1aの長さが所定長さ未満である期間よりも前であって、第1期間W1の長さが所定長さ以上である場合に検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧に基づいて、第2期間W2aに電圧を検出した期間よりも後の第2期間W2bにおける電流値を算出する。本開示によると、第1期間W1aの長さが所定長さ未満である場合には、第1期間W1の長さが所定長さ以上である場合に検出した電圧を使用するため、誤検出を抑制しつつも、モータを適切に制御できる。
【0073】
電流算出部40は、モータ10の起動時において、スイッチング素子T2と接地点との間に電流が流れない状態で電圧検出部20が検出した電圧が第1所定範囲内である場合に、その電圧が0Aとなる対応関係を設定する。電流算出部40は、モータ10の運転時において、第1期間W1a中に電圧検出部20が検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧と、対応関係とに基づき、第2期間W2bにおける電流値を算出する。本開示によると、起動時に検出した電圧を0Aとする対応関係を設定して、運転時の電流値を算出するため、電圧検出部20の性能の個体差を考慮して、運転時の電流を適切に算出できる。
【0074】
電流算出部40は、第1期間W1aで電圧検出部20が検出した電圧が、第1所定範囲より範囲が広い第2所定範囲内である場合に、第1期間W1a中に電圧検出部20が検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧と、対応関係とに基づいて、第2期間W2bにおける電流値を算出する。電流算出部40は、第1期間W1aで電圧検出部20が検出した電圧が、第2所定範囲外である場合には、第1期間W1a中に電圧検出部20が電圧を検出した期間よりも前に第2所定範囲内となった第1期間W1で検出した電圧と、第2期間W2a中に電圧検出部20が検出した電圧と、対応関係とに基づいて、第2期間W1bに電圧を検出した期間よりも後の第2期間W2bにおける電流値を算出する。本開示によると、第2所定範囲を第1所定範囲より広くすることで、モータ10の運転時の温度上昇による電圧検出部20の温度ドリフトをより適切に考慮して、運転時の電流を適切に算出できる。
【0075】
電流算出部40は、第1期間W1aで電圧検出部20が検出した電圧が、第1所定範囲より範囲が広い第2所定範囲内である場合に、第1期間W1a中に電圧検出部20が検出した電圧を0Aとするように対応関係を補正し、第2期間W2a中に電圧検出部20が検出した電圧と、補正した対応関係に基づいて、第2期間W1bに電圧を検出した期間よりも後の第2期間W2bにおける電流値を算出する。本開示によると、温度変化が起きた際にも、モータを適切に制御できる。
【0076】
以上、本発明の実施形態及び実施例を説明したが、これら実施形態等の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態等の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0077】
1 モータシステム
10 モータ
11 モータ制御装置
12 電源部
14 インバータ
16 インバータ駆動回路
18 抵抗部
20 電圧検出部
22 制御装置
40 電流算出部
42 素子制御部
T1、T2 スイッチング素子
W1 第1期間
W2 第2期間