(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記モータに供給される電流が安定状態にあり、且つ、前記モータの起動時からの前記レベルシフト部の温度上昇量が予め定められた量以上になったことを条件に、前記算出処理を実行するよう構成されている請求項1に記載のモータ制御装置。
前記算出処理では、前記増幅率をゲインAに設定した状態のもとで前記制御部に取り込まれた電圧検出値の平均値を電圧検出値VAとし、前記増幅率をゲインAからゲインBに切り換えた状態のもとで前記制御部に取り込まれた電圧検出値の平均値を電圧検出値VBとする請求項1又は2に記載のモータ制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、モータの起動後
の同モータの駆動中、検出回路の温度が上昇してゆき、同検出回路のレベルシフト部の温度も同様に上昇してゆ
くと、同レベルシフト部による昇圧後の電圧に上昇側へのずれ(温度ドリフト)が生じ、制御部に取り込まれる電圧検出値には上記温度ドリフトに起因するオフセット量が生じる。
【0007】
制御部に取り込まれる電圧検出値に上記オフセット量が生じている場合、その電圧検出値が目標値となるようモータの駆動指令値を補正するフィードバック制御が行われると、補正後の駆動指令値に基づきモータを駆動したときに同モータに供給される電流が適正値よりも減少してしまう。これは、上記フィードバック制御で用いられる目標値は、モータの起動時に定められた基準電圧、すなわち上記オフセット量を考慮せずに定められた基準電圧をもとに設定されているためである。そして、上記フィードバック制御が行われたときにモータに供給される電流が適正値よりも減少すると、同モータによって駆動されるオイルポンプの吐出流量及び吐出圧が不足するおそれがある。
【0008】
ちなみに、モータの起動後であってレベルシフト部の温度上昇が生じた後、同モータに供給される電流が「0」となる状況下で制御部に取り込まれる電圧検出値を基準電圧として再設定すれば、その再設定後の基準電圧は上記オフセット量を考慮して定められた値となる。このため、上記再設定後の基準電圧をもとに上記目標値を設定すれば、上記フィードバック制御が行われたときに同モータに供給される電流が適正値よりも減少してしまうことは抑制され、同モータによって駆動されるオイルポンプの吐出流量及び吐出圧が不足することも抑制される。
【0009】
しかし、車両に搭載されるオイルポンプは常にオイルを吐出するよう要求されるため、そのオイルポンプを駆動するモータの起動後には同モータに供給される電流が「0」になるという状況はほとんど生じない。このため、上述したように基準電圧が上記オフセット量を考慮した値となるよう同基準電圧を再設定し、その再設定後の基準電圧に基づき上記目標値を設定することは難しい。従って、上記フィードバック制御が行われたときに同モータに供給される電流が適正値よりも減少してしまうことを抑制できず、その電流の減少に起因するオイルポンプの吐出流量及び吐出圧の不足を抑制することもできない。
【0010】
本発明の目的は、モータでオイルポンプを駆動する際に同ポンプの吐出流量及び吐出圧が不足することを抑制できるモータ制御装置を提供することにある。
【課題を解決するための手段】
【0011】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するモータ制御装置は、次のような検出回路及び制御部を備える。上記検出回路は、駆動指令値に基づき駆動されるモータの駆動回路に設けられたシャント抵抗の両端の電圧を昇圧するレベルシフト部及び同電圧を増幅する増幅部を有する。また、上記制御部は、検出回路での昇圧及び増幅後の電圧である電圧検出値を取り込み、その電圧検出値が目標値となるよう駆動指令値を補正するフィードバック制御を行うとともに、モータに供給される電流が「0」であるときの上記電圧検出値を基準電圧として上記目標値を設定する。上記増幅部は、シャント抵抗の両端の電圧を増幅する際の増幅率をゲインAに設定する一方、そのゲインAよりも大きいゲインBに切り換えることが可能となっている。また、上記制御部は、レベルシフト部の温度上昇に伴って上記電圧検出値に生じるオフセット量を算出する算出処理、及び、そのオフセット量分の補正を上記取り込んだ電圧検出値に加える電圧補正処理を行うよう構成される。上記算出処理は、増幅部における電圧の増幅率をゲインAに設定した状態のもとで制御部に取り込まれた電圧検出値をVAとし、上記フィードバック制御を停止し上記増幅率をゲインBに切り換えた状態のもとで制御部に取り込まれた電圧検出値をVBとしたとき、次のように上記オフセット量を算出する。すなわち、上記基準電圧に対する電圧検出値VAの上昇量とゲインAとの比が電圧検出値VAに対する電圧検出値VBの上昇量とゲインAに対するゲインBの増加量との比に等しくなることに基づき、上記オフセット量を算出する。そして、上記電圧補正処理による補正を加えた後の電圧検出値が上記フィードバック制御で用いられて駆動指令値が求められる。上記モータ制御装置は、こうして求められた駆動指令値に基づきモータを駆動するよう構成されている。
【0012】
上記構成によれば、算出処理を通じて上記オフセット量を算出することができ、その算出されたオフセット量分の補正が制御部に取り込まれた電圧検出値に対し補正処理を通じて加えられる。この補正処理による補正後の電圧検出値は、上記オフセット量の影響が取り除かれた状態となる。このため、上記フィードバック制御を通じて上記電圧検出値が上記目標値に近づくようモータの駆動指令値が補正されたとき、同モータに供給される電流が適正値よりも減少することを抑制できる。その結果、上記フィードバック制御が行われたときにモータに供給される電流が適正値よりも減少することにより、同モータによって駆動されるオイルポンプの吐出流量及び吐出圧が不足することを抑制できる。
【0013】
なお、上記制御部は、モータに供給される電流が安定状態にあり、且つ、モータの起動時からのレベルシフト部の温度上昇量が予め定められた量以上になったことを条件に、上記算出処理を実行するよう構成されていることが好ましい。
【0014】
この構成によれば、モータに供給される電流が安定状態にあることを条件に、算出処理による上記オフセット量の算出が行われるため、モータに供給される電流の変動が上記算出されるオフセット量に悪影響を及ぼすことを回避できる。また、前記モータの起動時からのレベルシフト部の温度上昇量が予め定められた量以上になったことを条件に、算出処理による上記オフセット量の算出が行われるため、その算出を必要なときに行うことができる。
【0015】
また、上記算出処理では、増幅率をゲインAに設定した状態のもとで制御部に取り込まれた電圧検出値の平均値を電圧検出値VAとし、増幅率をゲインAからゲインBに切り換えた状態のもとで制御部に取り込まれた電圧検出値の平均値を電圧検出値VBとすることが好ましい。
【0016】
この構成によれば、制御部に取り込まれた電圧検出値に変動が生じたとしても、その電圧検出値の平均値が電圧検出VA,VBとされるため、それら電圧検出値VA,VBに上記変動が大きな影響を及ぼすことは抑制される。
【発明を実施するための形態】
【0018】
[第1実施形態]
以下、モータ制御装置の第1実施形態について、
図1〜
図5を参照して説明する。
図1に示すモータ1は、自動車等の車両に設けられたエンジンの潤滑等に用いるオイルを吐出するオイルポンプを駆動するためのものであって、車両に搭載されたモータ制御装置2を通じてPWM制御される。モータ制御装置2は、オイルポンプに対するオイルの吐出要求等に応じてモータ1を駆動するための駆動指令値(デューティ比)を定め、そのデューティ比に基づきモータ1への給電を行うことにより上記PWM制御を行う。
【0019】
モータ制御装置2は、モータ1への給電を行う駆動回路3を備えている。この駆動回路3は、電界効果トランジスタ4,5の直列回路、電界効果トランジスタ6,7の直列回路、電界効果トランジスタ8,9の直列回路を並列接続したインバータ回路を有している。そして、電界効果トランジスタ4,6,8は電源16に接続されており、一方で電界効果トランジスタ5,7,9はシャント抵抗15を介して接地されている。また、電界効果トランジスタ4,5間の部分、電界効果トランジスタ6,7間の部分、及び電界効果トランジスタ8,9間の部分は、給電ライン10,11,12を介して、モータ1のU相コイル、V相コイル、及びW相コイルに接続されている。
【0020】
モータ制御装置2は、モータ1の駆動に用いられる上記デューティ比を定める制御部13と、そのデューティ比に応じて駆動回路3の電界効果トランジスタ4,5,6,7,8,9を駆動するプリドライバ14と、を備えている。制御部13は上記デューティ比をプリドライバ14に出力する。プリドライバ14は、上記デューティ比に基づき電界効果トランジスタ4,5,6,7,8,9を駆動するための駆動指令値Ga,Gb,Gc,Gd,Ge,Gfを生成する。そして、プリドライバ14は、生成した駆動指令値Ga,Gb,Gc,Gd,Ge,Gfを電界効果トランジスタ4,5,6,7,8,9のゲート端子に印加することにより、電界効果トランジスタ4,5,6,7,8,9を駆動する。こうした電界効果トランジスタ4,5,6,7,8,9の駆動により、モータ1の各相コイルに供給される電流が調整されて同モータ1が駆動される。
【0021】
また、上記制御部13は、モータ1の各相コイルに供給される電流が適正値となるよう上記デューティ比を補正するフィードバック制御を行う。こうしたフィードバック制御を行うため、モータ制御装置2には次のような検出回路17が設けられている。すなわち、モータ制御装置2では、駆動回路3におけるシャント抵抗15の両端の電圧が、上記検出回路17を介して電圧検出値として制御部13に取り込まれる。制御部13は、取り込んだ電圧検出値が上記電流の適正値に対応する目標値となるよう上記デューティ比を補正する。これにより、モータ1に供給される電流を適正値とするための上記フィードバック制御が行われる。
【0022】
また、上記検出回路17には、制御部13に取り込まれた上記電圧検出値を同制御部13において適正に認識できるよう、上記シャント抵抗15の両端の電圧を昇圧するレベルシフト部18、及び、上記電圧を増幅する増幅部19が設けられている。そして、上記検出回路17のレベルシフト部18での昇圧及び増幅部19での増幅が行われた後の電圧が、上記電圧検出値として制御部13に取り込まれる。ちなみに、上記増幅部19は、シャント抵抗15の両端の電圧を増幅する際の増幅率をゲインAに設定する一方、そのゲインAよりも大きいゲインBに切り換えることが可能となっている。
【0023】
図2は、上記フィードバック制御を行いつつ増幅部19での増幅率をゲインAとしたときに制御部13に取り込まれる電圧検出値、及び、上記フィードバック制御を停止して増幅部19での増幅率をゲインBとしたときに制御部13に取り込まれる電圧検出値を示している。
【0024】
制御部13は、増幅部19での増幅率をゲインAとした状態のもと、制御部13に取り込まれる電圧検出値が上記目標値(例えば3.0v)となるよう、上述したフィードバック制御を実行する。なお、制御部13は、取り込んだ電圧検出値の上記目標値を次のように設定する。すなわち、制御部13は、ユーザーによって車両の始動ボタンが押されたとき、言い換えればモータ1の起動時であって同モータ1に供給される電流が「0」であるときの上記電圧検出値(例えば2.5v)を基準電圧Vbaseとし、その基準電圧Vbaseをもとに上記目標値を設定する。
【0025】
ところで、車両に搭載されるオイルポンプは常にオイルを吐出するよう要求されるため、そのオイルポンプを駆動するモータ1の起動後には、モータ1に供給される電流が「0」になるという状況はほとんど生じない。このため、モータ1の起動後には、同モータ1の駆動が続くことになる。
こうしたモータ1の駆動
中、検出回路17の温度が上昇してゆき、同検出回路17のレベルシフト部18の温度も同様に上昇してゆ
くと、同レベルシフト部18による昇圧後の電圧に上昇側へのずれ(温度ドリフト)が生じ、制御部13に取り込まれる電圧検出値には上記温度ドリフトに起因するオフセット量が生じる。
【0026】
制御部13に取り込まれる電圧検出値に上記オフセット量が生じている場合、その電圧検出値が目標値(この例では3.0v)となるよう上記デューティ比を補正するフィードバック制御が行われると、上記目標値に調整されたときの電圧検出値には上記オフセット量(
図2にΔVで示す)が含まれた状態となる。しかし、このように制御部13に取り込まれる電圧検出値にオフセット量ΔVが含まれた状態のもと、上述したフィードバック制御が行われた場合には、そのフィードバック制御による補正後のデューティ比に基づきモータ1を駆動したとき、同モータ1に供給される電流が適正値よりも減少してしまう。
【0027】
これは、上記フィードバック制御で用いられる目標値は、モータ1の起動時に定められた基準電圧Vbase(この例では2.5v)、すなわち上記オフセット量ΔVを考慮せずに定められた基準電圧Vbaseをもとに設定されているためである。そして、上記フィードバック制御が行われたときにモータ1に供給される電流が適正値よりも減少すると、同モータ1によって駆動されるオイルポンプの吐出流量及び吐出圧が不足するおそれがある。
【0028】
こうした問題に対処するため、制御部13は、レベルシフト部18の温度上昇に伴って上記電圧検出値に生じるオフセット量ΔVを増幅部19における増幅率の切り換えを用いて算出する算出処理、及び、そのオフセット量ΔV分の補正を制御部13に取り込まれた電圧検出値に加える電圧補正処理を行う。以下、上記算出処理及び上記補正処理について個別に詳しく説明する。
【0029】
上記算出処理では、増幅部19における電圧の増幅率をゲインAに設定した状態のもとで制御部13に取り込まれた電圧検出値をVAとし、上記フィードバック制御を停止しつつ上記増幅率をゲインBに切り換えた状態のもとで制御部13に取り込まれた電圧検出値(例えば3.8v)をVBとしたとき、次のように上記オフセット量ΔVを算出する。すなわち、基準電圧Vbase、電圧検出値VA,VB、及びゲインA,Bに基づき、次の比例式(1)を用いて上記オフセット量ΔVを算出する。
【0030】
ΔV=(VA−Vbase)−(VB−VA)・{A/(B−A)} …(1)
この比例式(1)は、基準電圧Vbaseに対する電圧検出値VAの上昇量とゲインAとの比が、電圧検出値VAに対する電圧検出値VBの上昇量とゲインAに対するゲインBの増加量との比に、等しくなることを利用して得られる。すなわち、オフセット量ΔVが「0」であると仮定すると、「(VA−Vbase):A」が「(VB−VA):(B−A)」と等しいことから、次の式(2)が成り立つ。
【0031】
(VA−Vbase)/A=(VB−VA)/(B−A) …(2)
しかし、レベルシフト部18の温度上昇に伴って上記オフセット量ΔVが「0」よりも大きくなったときには、式(2)に示す関係が上記オフセット量ΔVを含む次の式(3)に示す関係に変化する。
【0032】
{VA−(Vbase+ΔV)}/A=(VB−VA)/(B−A) …(3)
そして、この式(3)を変形することにより、オフセット量ΔVを算出するための上記比例式(1)が得られる。
【0033】
一方、上記補正処理では、上記算出処理を通じて算出されたオフセット量ΔV分の補正が、制御部13に取り込まれた電圧検出値に対して加えられる。この補正処理による補正後の電圧検出値は、上記オフセット量ΔVの影響が取り除かれた状態となる。このため、上記フィードバック制御で用いられる目標値が上記オフセット量ΔVを考慮せずに定められた基準電圧Vbaseをもとに設定されているとしても、上記フィードバック制御を通じて上記電圧検出値が上記目標値に近づくよう上記デューティ比が補正されたとき、同モータ1に供給される電流が適正値よりも減少することを抑制できる。
【0034】
図3〜
図5は、制御部13を通じて実行される上記算出処理及び上記補正処理の実行手順を示すフローチャートである。
図3のフローチャートにおいて、ステップ103〜109(S103〜S109)は上記補正処理に相当し、S110は上記補正処理に相当する。制御部13は、S101の処理として、モータ1に供給される電流が安定しているか否かを判断する。モータ1に供給される電流が安定しているとの判断は、例えば所定のタイミング毎に検出回路17を介して制御部13に取り込まれた電圧検出値の変動量が、予め定められた判定値未満である状態が所定時間以上続いたことに基づいてなされる。S101でモータ1に供給される電流が安定していると判断された場合にはS102に進む。
【0035】
制御部13は、S102の処理として、レベルシフト部18の温度がモータ1の起動時から予め定められた所定値以上、すなわち上記温度ドリフトが生じるほど温度が上昇したか否かを判断する。レベルシフト部18の温度が上記所定値以上上昇したとの判断は、例えば次のように行うことが考えられる。すなわち、モータ1に供給される電流の同モータ1の起動時からの積算値を求め、その積算値が予め定められた閾値(上記温度ドリフトの生じる温度上昇量に対応する値)以上になったとき、レベルシフト部18の温度がモータ1の起動時から上記所定値以上上昇したと判断する。なお、これに代えて、レベルシフト部18を含む検出回路17の温度を検出する温度センサを設け、その温度センサによって検出された温度に基づいて上記判断を行うようにしてもよい。
【0036】
S101とS102とのいずれかの処理で否定判断がなされた場合には、S101以降の処理が繰り返される。また、S102でレベルシフト部18の温度がモータ1の起動時から予め定められた所定値以上上昇したと判断された場合には、S103〜S105の一連の処理に進む。制御部13は、S103の処理として上記フィードバック制御を停止し、その後にS104の処理として増幅部19での増幅率をゲインAからゲインBに切り換える。更に、制御部13は、S105の処理として、上記フィードバック制御を停止して増幅部19の増幅率をゲインBとした状態のもとで、制御部13に取り込まれた電圧検出値を用いて電圧検出値VBを設定するためのVB設定処理を実行する。
【0037】
図4は、上記VB設定処理の詳細な実行手順を示すフローチャートである。制御部13は、
図4のフローチャートにおけるS201の処理として、所定時間経過毎に検出回路17から出力された電圧検出値を取り込む。制御部13は、続くS202の処理として、取り込んだ電圧検出値の前回値と今回値との差が所定値未満であるか否か、すなわち取り込んだ電圧検出値の変動が電圧検出値VBの設定に悪影響を及ぼさない程度であるか否かを判断する。S202において、否定判断であれば
図3のS101に戻り、肯定判断であれば
図4のS203に進む。制御部13は、S203の処理として、所定時間経過毎に行われる電圧検出値の取り込みが複数回(n回)分行われたか否かを判断する。ここで否定判断であればS201に戻り、肯定判断であればS204に進む。制御部13は、S204の処理としてn回分の電圧検出値の平均値を電圧検出値VBとする。その後、
図3のフローチャートに戻ってS106に進む。
【0038】
制御部13は、S106の処理として増幅部19の増幅率をゲインBからゲインAに切り換え、その後にS107の処理として上記フィードバック制御を再開する。制御部13は、続くS108の処理として、上記フィードバック制御を実行しつつ増幅部19の増幅率をゲインAとした状態のもとで、制御部13に取り込まれた電圧検出値を用いて電圧検出値VAを設定するためのVA設定処理を実行する。
【0039】
図5は、上記VA設定処理の詳細な実行手順を示すフローチャートである。制御部13は、
図5のフローチャートにおけるS301の処理として、所定時間経過毎に検出回路17から出力された電圧検出値を取り込む。制御部13は、続くS302の処理として、取り込んだ電圧検出値の前回値と今回値との差が所定値未満であるか否か、すなわち取り込んだ電圧検出値の変動が電圧検出値VAの設定に悪影響を及ぼさない程度であるか否かを判断する。S302において、否定判断であれば
図3のS101に戻り、肯定判断であれば
図5のS303に進む。制御部13は、S303の処理として、所定時間経過毎に行われる電圧検出値の取り込みが複数回(n回)分行われたか否かを判断する。ここで否定判断であればS301に戻り、肯定判断であればS304に進む。制御部13は、S304の処理としてn回分の電圧検出値の平均値を電圧検出値VAとする。その後、
図3のフローチャートに戻ってS109に進む。
【0040】
制御部13は、S109の処理として、基準電圧Vbase、電圧検出値VA,VB、及びゲインA,Bに基づき、上記比例式(1)を用いてオフセット量ΔVを算出する。その後、制御部13は、S110の処理として、上記デューティ比を求めるために用いられる電圧検出値に対し、上記オフセット量ΔV分の補正を加える。この補正により、上記デューティ比を算出するために用いられる電圧検出値から、上記オフセット量ΔVの影響が取り除かれた状態となる。このため、上記フィードバック制御で用いられる目標値が上記オフセット量ΔVを考慮せずに定められた基準電圧Vbaseをもとに設定されているとしても、上記フィードバック制御を通じて補正された上記デューティ比を用いてモータ1がPWM制御されたとき、同モータ1に供給される電流が適正値よりも減少することは抑制される。
【0041】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
(1)レベルシフト部18の温度上昇に伴って、制御部13に取り込まれる電圧検出値にオフセット量ΔVによる影響が及ぶとしても、その影響を上記算出処理及び上記補正処理を通じて取り除くことができる。これにより、上記フィードバック制御の実行時にモータ1に供給される電流が適正値よりも減少することを抑制でき、その減少に伴うオイルポンプの吐出流量及び吐出圧の不足も抑制することができる。
【0042】
(2)オフセット量ΔVを算出するための算出処理は、モータ1に供給される電流が安定状態にあり、且つ、モータ1の起動時からのレベルシフト部18の温度上昇量が予め定められた所定値以上になったことを条件に実行される。そして、モータ1に供給される電流が安定状態にあることを条件に、上記算出処理によるオフセット量ΔVの算出が行われることにより、モータ1に供給される電流の変動が上記算出されるオフセット量ΔVに悪影響を及ぼすことを回避できる。また、モータ1の起動時からのレベルシフト部18の温度上昇量が予め定められた所定値以上になったことを条件に、上記算出処理によるオフセット量ΔVの算出を行うことにより、その算出を必要なときに行うことができる。
【0043】
(3)上記算出処理では、増幅部19での増幅率をゲインAに設定した状態のもとで制御部13に取り込まれた電圧検出値の平均値を電圧検出値VAとし、増幅部19での増幅率をゲインAからゲインBに切り換えた状態のもとで制御部13に取り込まれた電圧検出値の平均値を電圧検出値VBとしている。この場合、制御部13に取り込まれた電圧検出値に多少の変動が生じたとしても、その電圧検出値の平均値である電圧検出値VA,VBとされるため、それら電圧検出値VA,VBに上記変動が大きな影響を及ぼすことは抑制されるようになる。
【0044】
(4)電圧検出値VA,VBを設定すべく、制御部13にn回分の電圧検出値の取り込みが行われる途中で、その電圧検出値の変動が電圧検出値VA,VBに悪影響を及ぼすほど大きくなった場合、上記n回分の電圧検出値の取り込みがやり直される。このため、設定された電圧検出値VA,VBに上記変動の影響が生じないようにすることができる。
【0045】
[第2実施形態]
次に、モータ制御装置の第2実施形態について、
図6〜
図8を参照して説明する。
図6〜
図8は、この実施形態における算出処理及び補正処理の実行手順を示すフローチャートである。
図6のフローチャートにおいて、S401の処理は、第1実施形態における
図3のS101の処理に相当する。制御部13は、
図6のS401でモータ1に供給される電流が安定していると判断すると、S402に進んでVA設定処理を実行する。従って、この実施形態では、モータ1に供給される電流が安定しているときには、レベルシフト部18の温度に関係なくVA設定処理が実行されるようになる。
【0046】
図6は、この実施形態におけるVA設定処理の詳細な実行手順を示すフローチャートである。制御部13は、
図7のフローチャートにおけるS501の処理として、所定時間経過毎に検出回路17から出力された電圧検出値を取り込む。制御部13は、続くS502の処理として、取り込んだ電圧検出値の前回値と今回値との差が所定値未満であるか否かを判断する。そして、S502において、肯定判断であればS504に進み、否定判断であればS503に進む。制御部13は、S503の処理として、S502で否定判断がなされた回数を表すカウンタC1をインクリメントする。その後、S504に進む。
【0047】
制御部13は、S504の処理として、所定時間経過毎に行われる電圧検出値の取り込みが複数回(n回)分行われたか否かを判断する。ここで否定判断であればS501に戻り、肯定判断であればS505に進む。制御部13は、S505の処理として、上記カウンタC1が所定値未満であるか否かを判断する。なお、ここでの所定値としては、S502での否定判断を検出回路17で生じたノイズによるものと見なすことが可能なほど小さい値が用いられる。S505で否定判断であればS508に進む。制御部13は、S508の処理として、カウンタC1を「0」にリセットする。その後、
図6のフローチャートにおけるS401に戻る。
【0048】
一方、
図7のS505で肯定判断であればS506に進む。制御部13は、S506の処理として、同制御部13に取り込まれたn回分の電圧検出値のうち、カウンタC1がインクリメントされたときの電圧検出値(今回値)、すなわちノイズ発生時の分とみなされる電圧検出値を除き、残りの電圧検出値の平均値を電圧検出値VAとする。制御部13は、続くS507の処理としてカウンタC1を「0」にリセットする。その後、
図6のフローチャートに戻ってS403に進む。S403〜S405の処理は、第1実施形態における
図3のS102〜S104の処理に相当する。
【0049】
制御部13は、
図7のS403の処理として、レベルシフト部18の温度がモータ1の起動時から予め定められた所定値以上上昇したか否かを判断する。ここで否定判断であればS401に戻り、肯定判断であればS404に進む。制御部13は、S404の処理として上記フィードバック制御を停止し、その後にS405の処理として増幅部19での増幅率をゲインAからゲインBに切り換える。更に、制御部13は、S406の処理として、上記フィードバック制御を停止して増幅部19の増幅率をゲインBとした状態のもとでVB設定処理を実行する。
【0050】
図8は、この実施形態におけるVB設定処理の詳細な実行手順を示すフローチャートである。制御部13は、
図8のフローチャートにおけるS601の処理として、所定時間経過毎に検出回路17から出力された電圧検出値を取り込む。制御部13は、続くS602の処理として、取り込んだ電圧検出値の前回値と今回値との差が所定値未満であるか否かを判断する。そして、S602において、肯定判断であればS604に進み、否定判断であればS603に進む。制御部13は、S603の処理として、S602で否定判断がなされた回数を表すカウンタC2をインクリメントする。その後、S604に進む。
【0051】
制御部13は、S604の処理として、所定時間経過毎に行われる電圧検出値の取り込みが複数回(n回)分行われたか否かを判断する。ここで否定判断であればS601に戻り、肯定判断であればS605に進む。制御部13は、S605の処理として、上記カウンタC2が所定値未満であるか否かを判断する。なお、ここでの所定値としては、S602での否定判断を検出回路17で生じたノイズによるものと見なすことが可能なほど小さい値が用いられる。S605で否定判断であればS608に進む。制御部13は、S608の処理として、カウンタC2を「0」にリセットする。その後、
図6のフローチャートにおけるS401に戻る。
【0052】
一方、
図8のS605で肯定判断であればS606に進む。制御部13は、S606の処理として、同制御部13に取り込まれたn回分の電圧検出値のうち、カウンタC2がインクリメントされたときの電圧検出値(今回値)、すなわちノイズ発生時の分とみなされる電圧検出値を除き、残りの電圧検出値の平均値を電圧検出値VBとする。制御部13は、続くS607の処理としてカウンタC2を「0」にリセットする。その後、
図6のフローチャートに戻ってS407に進む。S407及びS408の処理は第1実施形態における
図3のS107及びS108の処理に相当し、S409及びS410の処理は第1実施形態における
図3のS109及びS110の処理に相当する。
【0053】
制御部13は、
図6のS407の処理として、増幅部19の増幅率をゲインBからゲインAに切り換え、その後にS408の処理として上記フィードバック制御を再開する。更に、制御部13は、S409の処理として、基準電圧Vbase、電圧検出値VA,VB、及びゲインA,Bに基づき、上記比例式(1)を用いてオフセット量ΔVを算出する。その後、制御部13は、S410の処理として、上記デューティ比を求めるために用いられる電圧検出値に対し、上記オフセット量ΔV分の補正を加える。
【0054】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
(5)モータ1に供給される電流が安定しているときには、レベルシフト部18の温度に関係なくVA設定処理が実行される。このため、レベルシフト部18の温度がモータ1の起動時から所定値以上上昇したとき、電圧検出値VAが既に求められている可能性が高い。そして、このときに電圧検出値VAが既に求められている場合、レベルシフト部18の温度がモータ1の起動時から所定値以上上昇した後、電圧検出値VBを求めるだけでオフセット量ΔVを算出することができるようになる。従って、レベルシフト部18の温度がモータ1の起動時から所定値以上上昇した後の早期にオフセット量ΔVを算出し、そのオフセット量ΔVの補正をデューティ比を求めるために用いられる電圧検出値に対し加えることができる。
【0055】
(6)電圧検出値VAを設定するに当たり、カウンタC1が所定値未満であれば、制御部13に取り込まれたn回分の電圧検出値のうち、ノイズ発生時の分とみなされる電圧検出値を除き、残りの電圧検出値を用いて電圧検出値VBが設定される。従って、電圧検出値VBの設定頻度を第1実施形態よりも高めることができる。
【0056】
(7)電圧検出値VBを設定するに当たり、カウンタC2が所定値未満であれば、制御部13に取り込まれたn回分の電圧検出値のうち、ノイズ発生時の分とみなされる電圧検出値を除き、残りの電圧検出値を用いて電圧検出値VBが設定される。従って、電圧検出値VBの設定頻度を第1実施形態よりも高めることができる。
【0057】
[その他の実施形態]
なお、上記各実施形態は、例えば以下のように変更することもできる。
・電圧検出値VAは、制御部13に取り込まれた電圧検出値の平均値としているが、必ずしもそうした平均値とする必要はない。例えば、増幅部19での増幅率をゲインAとした状態のもと、制御部13に所定のタイミングで取り込まれた電圧検出値をそのまま電圧検出値VAとしてもよい。
【0058】
・電圧検出値VBは、制御部13に取り込まれた電圧検出値の平均値としているが、必ずしもそうした平均値とする必要はない。例えば、増幅部19での増幅率をゲインBとした状態のもと、制御部13に所定のタイミングで取り込まれた電圧検出値をそのまま電圧検出値VBとしてもよい。
【0059】
・第1実施形態において、レベルシフト部18の温度がモータ1の起動時から所定値以上上昇したことを条件に電圧検出値VA,VBの設定を行う代わりに、その条件を省略して所定時間経過毎(例えば5s経過毎)に電圧検出値VA,VBの設定を行うようにしてもよい。
【0060】
・第2実施形態において、レベルシフト部18の温度がモータ1の起動時から所定値以上上昇したことを条件に電圧検出値VBの設定を行う代わりに、その条件を省略して所定時間経過毎(例えば5s経過毎)に電圧検出値VBの設定を行うようにしてもよい。
【0061】
・検出回路17におけるレベルシフト部18及び増幅部19の配置については、必ずしも
図1に示されるような配置態様を採用する必要はなく、レベルシフト部18と増幅部19とが直列となる配置態様など、その他の配置態様を採用することも可能である。