(57)【要約】      （修正有）【課題】三角波の周波数の変更を、瞬時値であるロータ電気角に基づいて行うことが可能となり、一定の時間間隔を設けなければ算出できないロータ回転速度情報に基づく場合に比べて、ＰＷＭ信号のパルス数が増減することを極めて高い精度で防ぐ。【解決手段】三角波生成部は、ロータ７の回転速度を検出する第１の周期中に三角波θCAとロータ電気角θｍとの位相差を計測し、三角波θCAとロータ電気角θｍとの位相差の値が閾値を越えたときに、三角波θCAの周波数を変更する。【選択図】図２
2010098868.tif 000002
【特許請求の範囲】
【請求項１】
指令信号と三角波を出力してＰＷＭ信号を生成し、ＰＷＭ信号によってモータの駆動を制御する制御ユニットと、
ロータ電気角を検知する角度センサと、
を備え、
前記制御ユニットは、
前記ロータ電気角とトルク要求値とに基づいて指令信号の電圧値を定めて前記指令信号を出力し、
前記ロータ電気角に基づき、第1の周期ごとにロータ回転速度を算出し、
前記ロータ回転速度に基づき、前記第1の周期ごとに前記三角波の周波数を定めて前記三角波を出力する、
モータ駆動制御装置において、
前記制御ユニットは、前記第１の周期よりも短い第２の周期ごとに前記三角波の位相角と前記ロータ電気角との位相差を検知し、
出力された前記三角波の位相角と前記ロータ電気角との位相差の値が予め定めた閾値を越えたときに、前記三角波の周波数を変更する、
ことを特徴とするモータ駆動制御装置。
【請求項２】
請求項１記載のモータ駆動制御装置であって、
前記制御ユニットには、前記指令信号の1周期中に前記ＰＷＭ信号が出力すべきパルス数が指定パルス数として記憶され、
前記制御ユニットは、
前記ロータ電気角に前記指定パルス数を掛けた値を基準角として算出し、
前記第２の周期ごとに、前記三角波の位相角と前記基準角との位相差を検知し、
出力された前記三角波の位相角と前記基準角との位相差の値が前記閾値を越えたときに、前記三角波の周波数を変更する、
ことを特徴とするモータ駆動制御装置。
【請求項３】
請求項２に記載のモータ駆動制御装置であって、
前記閾値として、±１８０°が設定されていることを特徴とするモータ駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動制御装置に関し、特に、ロータの回転速度が急変したときにも安定したモータ駆動制御を行うことのできるモータ駆動制御装置に関する。
【背景技術】
【０００２】
電気自動車やハイブリッド自動車等の車両には、バッテリ等の直流電源が備えられ、また動力源として交流モータが備えられている。さらに、直流電源と交流モータとの間には、直流電力を交流電力に変換するインバータが備えられている。
【０００３】
インバータを介した交流モータの制御技術として、ＰＷＭ（パルス幅変調、Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御が知られている。ＰＷＭ制御は電圧形インバータにおける電圧変換制御の一つであり、パルス信号であるＰＷＭ信号を、インバータに備えられたスイッチング素子に供給し、スイッチング素子のオン／オフのタイミングを制御している。スイッチング素子のオン／オフのタイミングを調整することによって、モータに印加する電圧を制御することができる。
【０００４】
ＰＷＭ信号は、三角波比較法によって生成される。すなわち、モータに印加する電圧値を定めた指令信号と、キャリアとも呼ばれる三角波との電圧値を大小比較することによってＰＷＭ信号が生成される。
【０００５】
指令信号の電圧値は、ロータの電気角と、トルク要求値とに基づいて連続的に定められる。指令信号の波形は通常は正弦波状になり、モータとして永久磁石モータ等の同期モータを用いる場合には、指令信号の周期はトルク要求値やロータの回転速度の変化に伴って増減する。
【０００６】
また、三角波は、クロック信号を積分することによって得られる。クロック信号の周波数は自動車内の制御ユニット等によって設定される。
【０００７】
ＰＷＭ信号の生成にあたり、指令信号１周期あたりのＰＷＭ信号のパルス数は、指令信号の周波数に対する三角波の周波数の比によって定まる。たとえば指令信号の周波数に対する三角波の周波数の比が１５であれば指令信号１周期あたりのＰＷＭ信号のパルス数は１５個得られる。
【０００８】
他方、インバータが短時間に多くのオン／オフ切替を行なうとスイッチング損失によりスイッチング素子が過熱され、動作不全につながるおそれがある。スイッチング素子の加熱を防ぐため、スイッチング素子を複数個設けて、発熱を分散させることにより過熱を防ぐなどの対策が採られているが、近年、コスト低減等のため、インバータのスイッチング素子を従来よりも減らしている。このようなインバータにおいては上述のような対策を採れないので、スイッチング素子の過熱を防ぐため、指令信号１周期あたりのＰＷＭ信号のパルス数を比較的小さく設定する必要がある。
【０００９】
しかし、指令信号１周期あたりのＰＷＭ信号のパルス数を比較的小さく設定する場合、ＰＷＭ制御を安定して行なうためには、指令信号の周波数の変化に応じてクロック信号の周波数を変更し、指令信号１周期あたりのＰＷＭ信号のパルス数を一定に保つ同期ＰＷＭ制御を行う必要がある。
【００１０】
たとえば、ロータの回転速度を上げようとすると、指令信号の周波数が増加する。その一方でクロック信号の周波数は固定されている場合、指令信号１周期あたりのＰＷＭ信号のパルス数が低減する。
【００１１】
指令信号１周期あたりのＰＷＭ信号のパルス数が比較的多ければ（たとえば１５〜２０個）、パルス数の減少の影響は小さいが、指令信号１周期あたりのＰＷＭ信号のパルス数が比較的小さい場合に（たとえば５〜１０個）パルス数の減少の影響は大きくなる。このような場合に、指令信号１周期あたりのＰＷＭ信号のパルス数が低減してしまうと、指令信号が意図したとおりの電圧がインバータから出力されなくなる。その結果、インバータの過電流やモータの脱調などの制御不調につながるおそれがある。
【００１２】
そこで、ロータの回転速度（ｒｐｍ）を検知して、ロータ回転速度が急変してＰＷＭ信号のパルス数が変動する前に、三角波の周波数を変更することによりＰＷＭ信号のパルス数を一定値に保つ制御が知られている。例えば、特許文献1には、ロータの回転速度上昇率が閾値を越えたとき、三角波の周波数を高くする技術が開示されている。
【００１３】
【特許文献１】特開２００７−１５９３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ロータの回転速度算出はロータがある程度回転することにより算出される。通常は、トルク要求値の変化や走行抵抗の変動等の外的要因を考慮して、一定時間ごとにロータ電気角の変化量から回転速度を算出しており、算出には１〜３ミリ秒程度の時間がかかっている。したがって三角波を生成するクロック信号の周波数変更は１〜３ミリ秒程度の時間間隔を置いて行われる。
【００１５】
一方、ロータ電気角はモータの回転に比例して連続的に増減しており、特に車両用途では路面状況によりスリップでタイヤが空転するような場合など、ロータ電気角が急変する場合がある。この結果、ロータ電気角を用いて求める指令信号の周波数も１〜３ミリ秒の間に急変する場合があり、ロータが１回転する間にＰＷＭ信号のパルス数が増減する可能性がある。
【００１６】
そこで、本発明は、ＰＷＭ制御を行う際に、モータの回転変化に迅速に対応することを目的とする。
【００１７】
本発明は、指令信号と三角波を出力してＰＷＭ信号を生成し、ＰＷＭ信号によってモータの駆動を制御する制御ユニットと、ロータ電気角を検知する角度センサと、を備え、前記制御ユニットは、前記ロータ電気角とトルク要求値とに基づいて指令信号の電圧値を定めて前記指令信号を出力し、前記ロータ電気角に基づき、第1の時間間隔ごとにロータ回転速度を算出し、前記ロータ回転速度に基づき、前記第1の周期ごとに前記三角波の周波数を定めて前記三角波を出力する、モータ駆動制御装置において、前記制御ユニットは、前記第1の周期よりも短い第2の周期ごとに前記三角波の位相角と前記ロータ電気角との位相差を検知し、出力された前記三角波の位相角と前記ロータ電気角との位相差の値が予め定めた閾値を越えたときに、前記三角波の周波数を変更する、ことを特徴とする。
【００１８】
また、本発明は、前記制御ユニットには、前記指令信号の１周期中に前記ＰＷＭ信号が出力すべきパルス数が指定パルス数として記憶され、前記制御ユニットは、前記ロータ電気角に前記指定パルス数を掛けた値を基準角として算出し、
前記第２の周期ごとに、前記三角波の位相角と前記基準角との位相差を検知し、出力された前記三角波の位相角と前記基準角との位相差の値が前記閾値を越えたときに、前記三角波の周波数を変更する、ことを特徴とする。
【００１９】
また、本発明は、前記閾値として、±１８０°が設定されていることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、三角波の周波数の変更を、瞬時値であるロータ電気角に基づいて行うことが可能となる。したがって、一定の時間間隔を設けなければ算出できないロータ回転速度情報に基づく場合に比べて、ＰＷＭ信号のパルス数が増減することを極めて高い精度で防ぐことができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を用いて本発明に係る実施の形態につき詳細に説明する。
【００２２】
図１は、本発明に係る制御ユニット１、制御対象のモータ２、およびこれらの周辺機器を示す概略図である。なお、本実施形態に係るモータ２としては、永久磁石モータ等の同期モータが挙げられる。
【００２３】
制御ユニット１の構成について、下記に説明する。制御ユニット１は、指令信号生成部３、三角波生成部４、およびＰＷＭ制御部５を備えている。
【００２４】
指令信号生成部３は指令信号Ｓを生成し、ＰＷＭ制御部５に出力している。また、三角波生成部４は、三角波ＣＡを生成し、ＰＷＭ制御部５に出力している。ＰＷＭ制御部５は、指令信号Ｓと三角波ＣＡとを受信して、ＰＷＭ信号ＰＩを生成している。以下、指令信号生成部３、三角波生成部４、ＰＷＭ制御部５のそれぞれにおいて行われる操作、処理等について詳細に説明する。
【００２５】
まず、指令信号生成部３について説明する。指令信号生成部３は、レゾルバ等の回転角センサ６からロータ７の電気角θｍを受信し、また、ＨＶコントロールモジュール８からトルク要求値ＴＲを受信する。さらに、指令信号生成部３は、受信した電気角θｍとトルク要求値ＴＲとに基づいて指令信号Ｓを生成する。ここで、本実施形態における自動車は、いわゆるハイブリッド車であり、ＨＶコントロールモジュール８はアクセルペダルの踏み込み量を検知し、モータ２と図示しないエンジンとに送信すべきトルク要求値ＴＲを演算している。
【００２６】
指令信号生成部３は、ロータ電気角θｍの信号とトルク要求値ＴＲとに基づいて指令信号Ｓの電圧値Ｖｓを算出する。指令信号ＳはＰＷＭ制御部５に送信される。なお、指令信号生成部３は、ロータ７の電気角θｍとトルク要求値ＴＲとを連続的に受信しており、指令信号Ｓの電圧値Ｖｓは連続的に算出される。ここで、指令信号Ｓは、ロータ７と同期して出力されることから、指令信号Ｓの周期は、ロータ７の電気角θｍの周期とほぼ同一となる。
【００２７】
次に、三角波生成部４について説明する。三角波生成部４では、三角波生成部４内に設けられたクロック信号発生器９がクロック信号ＣＬＫを出力している。さらに、三角波生成部４は、クロック信号ＣＬＫを積分回路に供給して三角波ＣＡを生成している。ここで、制御ユニット１には、クロック信号ＣＬＫを出力するために指定パルス数Ｋｐが記憶されている。指定パルス数Ｋｐとは、指令信号Ｓの１周期分に相当する期間にＰＷＭ信号ＰＩが発生すべきパルス数を指定したものである。指定パルス数Ｋｐは予め制御ユニット１に設定されているか、または作業者が適宜設定入力する。
【００２８】
三角波ＣＡの生成は次のようにして行われる。三角波生成部４は、回転角センサ６からロータ電気角θｍを受信する。さらに、三角波生成部４はロータ７が１回転するまでロータ電気角θｍの値を計測し、ロータ７が１回転するとロータ回転速度Ｒｍｍ（ｒｐｍ）を算出して記憶する。なお、ロータ７が１回転するのは１〜３ミリ秒程度の時間を要する。つまり、三角波生成部４は、１〜３ミリ秒ごとにロータ回転速度Ｒｍｍを算出し、それまで記憶されていたロータ回転速度Ｒｍｍを更新する。
【００２９】
さらに、三角波生成部４は、ロータ回転速度Ｒｍｍからロータ回転周波数ｆｍを算出し、その周波数ｆｍにロータ７の極対数と指定パルス数Ｋｐとを掛けた値をクロック信号ＣＬＫの周波数ｆＣＬＫとする。クロック信号ＣＬＫは積分回路により積分され三角波ＣＡが生成される。三角波ＣＡはＰＷＭ制御部５に送信される。
【００３０】
ＰＷＭ制御部５では指令信号Ｓの電圧値Ｖｓと三角波ＣＡの電圧値ＶＣＡとの大小を比較して、パルス信号であるＰＷＭ信号ＰＩを生成する。
【００３１】
ＰＷＭ制御部５から出力されたＰＷＭ信号ＰＩはインバータ１０に送信される。インバータ１０では、スイッチング素子がＰＷＭ信号ＰＩに基いてオンオフ制御され、これによってインバータ１０に印加された直流電圧は、モータ２を駆動させる駆動電圧に変換される。モータ２は、ＨＶコントロールモジュール８からのトルク要求ＴＲに応じたトルクを発生させるために駆動する。
【００３２】
次に、制御ユニット１が行うモータ駆動制御について、図２から図１１に沿って説明する。
【００３３】
[モータ駆動制御の第１の実施形態]
制御ユニット１は、ロータ電気角θｍと三角波ＣＡの位相角θＣＡの位相差を算出し、位相差の値と、予め定めた閾値とを比較し、位相差の値が閾値を越えている場合には、ロータ７の回転速度が急変したものと判断し、ロータ７が１回転している間に三角波ＣＡの周波数を変更している。このようなモータ駆動制御を行うことにより、指令信号Ｓの１周期あたりのＰＷＭ信号ＰＩのパルス数が指定パルス数Ｋｐに保たれる。以下、本実施形態によるモータ駆動制御について詳細に説明する。
【００３４】
制御ユニット１内に設けられた三角波生成部４は、ロータ７が１回転している間、予め定めた計測タイミングごとにロータ電気角θｍと三角波ＣＡの位相角θＣＡの位相差を測定している。
【００３５】
図２に、ロータ電気角θｍの周期ｔ１[ｓｅｃ]における、ロータ電気角θｍおよび三角波ＣＡの位相角θＣＡの位相の時間変化を示す。なお、指定パルス数Ｋｐとして６を設定している。本実施形態においては、計測タイミングとして、三角波ＣＡの位相角θＣＡが０°になった時を設定している。この様に計測タイミングを設定すると、ロータ電気角θｍと三角波ＣＡの位相角θＣＡの位相差Δθの値は、θＣＡ＝０°よりロータ電気角θｍの値に等しくなるので測定が簡便である。図２に示すように、三角波生成部４は、三角波ＣＡの１周期ごとにロータ電気角θｍの値をサンプリングする。図２では、θｍ１からθｍ５まで５回にわたってロータ電気角θｍを取得し、これらの値と閾値との差を測定する。
【００３６】
三角波生成部４は、θｍ１からθｍ５のそれぞれに対して上限閾値Ｔｈθｍ＿ＵＬと下限閾値Ｔｈθｍ＿ＬＬの２種類の閾値を設定している。上限閾値Ｔｈθｍ＿ＵＬと下限閾値Ｔｈθｍ＿ＬＬとの設定方法について以下に説明する。
【００３７】
例えば、三角波ＣＡが２周期目に入ったときのロータ電気角θｍ１についての上限閾値Ｔｈθｍ１＿ＵＬと下限閾値Ｔｈθｍ１＿ＬＬを設定する場合を考える。上限閾値および下限閾値は、指令信号Ｓの１周期中にＰＷＭ信号ＰＩが出力するパルス数が指定パルス数Ｋｐより少なくなるとき、および多くなるときの条件をもとにして算出される。例えば、指定パルス数Ｋｐが６のとき、ＰＷＭ信号ＰＩが指令信号Ｓの１周期中に出力するパルス数が６でなくなるのは、指令信号Ｓの１周期中に三角波ＣＡの周期が５周期以下となるとき、または７周期以上となるときである。指令信号Ｓの周期はロータ７の電気角θｍの周期とほぼ同一であることを考慮すると、ロータ電気角θｍの１周期中の三角波ＣＡの周期が５周期以下、または７周期以上となるとき、指令信号Ｓの１周期中におけるＰＷＭ信号ＰＩのパルス数は指定パルス数から逸脱する。
【００３８】
ロータ電気角θｍの１周期中に三角波ＣＡが５周期出力される場合、三角波ＣＡが１周期目を終えた時点でのロータ電気角θｍは、３６０°÷５より７２°であるから、上限閾値Ｔｈθｍ１＿ＵＬとして７２°を得る。
【００３９】
一方、ロータ電気角θｍの１周期中に三角波ＣＡが７周期出力される場合、三角波ＣＡが１周期目を終えた時点でのロータ回転角θｍは３６０°÷７より５１．４°であるから、下限閾値Ｔｈθｍ１＿ＬＬとして５１．４°を得る。
【００４０】
以下同様にしてθｍ２からθｍ５まで順次下限閾値と上限閾値を算出する。θｍ１からθｍ５まで下限閾値と上限閾値が算出できたら、三角波生成部４にそれぞれの閾値を設定する。三角波生成部４は、ロータ電気角θｍ１からθｍ５のいずれかの値が下限閾値以下となり、または上限閾値以上となったら三角波ＣＡの周波数を変更する。三角波ＣＡの周波数を変更することにより、図３に示すように、三角波ＣＡの周期が６周期となるまでに掛かる時間がｔ１からｔ１’に短縮される。図３では、ロータ電気角θｍが上限閾値以上となったことを検知して、三角波ＣＡの周波数を増やす例を示している。三角波ＣＡの周波数を増やすことによって、指令信号Ｓの１周期中にＰＷＭ信号ＰＩが出力するパルス数を５つから６つに変更することができる。
【００４１】
なお、三角波生成部４は、三角波ＣＡの位相角θＣＡが０°の時からその次に０°になる時までの期間を演算期間として設定するのに代えて、任意の演算期間を定めることができる。
【００４２】
[モータ駆動制御の第２の実施形態]
以上の説明では、ロータの電気角θｍと三角波ＣＡの位相角θＣＡの位相差を直接測定したが、ロータの電気角θｍと三角波ＣＡの位相角θＣＡの位相差を測定しやすくするために、仮想的な角度値として、下記にて説明する基準角θＳと呼ぶ値を算出してもよい。
【００４３】
基準角θＳは下記の式１により算出される。
＜式１＞
θＳ＝（Ｋｐ×θｍ）−（３６０°×ｂ）
ここで、Ｋｐは指定パルス数、ｂはロータ電気角θｍの値に基いて設定される係数である。
【００４４】
ここで、係数ｂについて説明する。ｂは０からＫｐ−１までの自然数の値を取り得る。三角波生成部４はｂの値を設定する。具体的には、ロータ電気角θｍが０°から６０°までの間はｂ＝０とする。ロータ電気角θｍが６１°から１２０°までの間はｂ＝１とする。以下ロータ電気角θｍが６０°増えるごとにｂの値を１ずつ増加させる。ロータ電気角θｍが３６０°になったときに三角波生成部４はｂを０に戻す。以下この操作を繰り返す。この場合において、ロータ電気角θｍ、係数ｂ、基準角θＳは下記表１のように変化する。なお、指定パルス数Ｋｐを６に設定している。
【表１】
2010098868.tif 000003
【００４５】
ロータ７の回転速度が安定しているとき、ロータ電気角θｍの１周期中に基準角θＳの周期と三角波ＣＡの周期はともに６周期となり、三角波ＣＡの位相角θＣＡと基準角θＳの位相は一致する。このように、ロータ７の回転速度安定時に三角波ＣＡと周期および位相が等しくなるような基準角θＳを算出することにより、ロータ電気角θｍと三角波ＣＡの位相角θＣＡとの位相ずれを検出することが容易になる。
【００４６】
なお、基準角θＳの算出にあたり、制御ユニット１にもともと３６０°×ｎ（ｎは1以上の自然数）の成分を考慮しない機能が備わっている場合がある。この場合には、θＳ＝（Ｋｐ×θｍ）となる。
【００４７】
ロータ７の回転速度がタイヤのスリップ等により急変したときの基準角θＳと三角波の位相角θＣＡの状態を図４に示す。
【００４８】
ロータ７の回転速度が急変すると、ロータ電気角θｍから算出される基準角  θＳの位相も急変する。一方で、従来のモータ駆動制御においては、三角波ＣＡの周期はロータ１回転中は変わらない。したがって、三角波ＣＡの位相角θＣＡと基準角θＳの位相は図４ａに示すように徐々にずれ、三角波ＣＡの位相は基準角θＳよりも遅れる。
【００４９】
三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の時間変化を図４ｂに示す。三角波ＣＡの位相角θＣＡと基準角θＳとの位相差は、０°から−１８０°になるまで一次関数的に増加する。さらに、位相差が−１８０°を越えた時、それまでは３周期目の三角波ＣＡの位相角θＣＡと３周期目の基準角θＳとの位相差を測定していたのが、３周期目の三角波ＣＡの位相角θＣＡと４周期目の基準角θＳとの位相差が測定される。つまり、位相差を測定するにあたり、三角波ＣＡの位相角θＣＡと基準角θＳの周期の数が１つずれた状態になる。その後も、三角波ＣＡの位相角θＣＡは１周期ずれた基準角θＳと比較されて位相差が算出される。この結果、図４ａに示されるように、基準角θＳの６周期中に三角波ＣＡは５周期のみとなる。このとき、ＰＷＭ信号ＰＩのパルス数は指令信号Ｓの１周期当たり５個となり、指定パルス数の６よりも少なくなるため、制御ユニット１の制御不調につながる。
【００５０】
以上のように、三角波ＣＡの位相角θＣＡと基準角θＳの位相差が１８０°を越えると、三角波ＣＡの位相角θＣＡと基準角θＳとの周期の数がずれる。そこで、本実施形態では、三角波ＣＡの位相角θＣＡと基準角θＳの位相差が１８０°を越える前に三角波ＣＡの周波数を変更している。
【００５１】
具体的には、三角波生成部４は、所定の演算周期ごとに三角波ＣＡの位相角θＣＡと基準角θＳの位相差を測定し、現在時の位相差の値および現在時より１演算周期前の位相差の値をもとに現在時の次の演算周期における位相差の値を算出し、この値が±１８０°から逸脱するか否かを判定している。この制御について図５および図６に沿って説明する。
【００５２】
図５に、三角波生成部４が三角波ＣＡの周期を変更するか否かを判定する判定フローを示す。三角波生成部４は、演算周期を設定して三角波ＣＡの位相角    θＣＡと基準角θＳとの位相差を算出している（Ｓ１）。
【００５３】
三角波生成部４は、図６ａに示すように、演算周期ごとに三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を測定し、さらに、現在時ＴＣ（０）と１演算周期前ＴＣ（−１）の三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の値を基に、位相差が増加する際の傾きを算出し、現在時の次の演算周期ＴＣ（＋１）における三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を算出する（図５のＳ２）。
【００５４】
三角波生成部４は、現在時の次の演算周期ＴＣ（＋１）において三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が−１８０°以下、または１８０°以上になるか否かを判定する（Ｓ３）。−１８０°から１８０°の間であれば三角波ＣＡの周波数は変更しないが（Ｓ４）、−１８０°以下、または１８０°以上になると判断したときは三角波ＣＡの周波数を変更する（Ｓ５）。この結果、図６ａに示すように、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差は漸減し、図６ｂに示すように、基準角θＳの６周期中に三角波ＣＡも６周期出力することができる。
【００５５】
なお、現在時の次の演算周期ＴＣ（＋１）において、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が−１８０°以下になると判断した時には、三角波ＣＡの位相角θＣＡが基準角θＳに対して遅れているから、三角波生成部４は、三角波ＣＡを生成するクロック信号ＣＬＫの周波数を現在の周波数よりも増やして三角波ＣＡの位相を進める。位相を進めることにより、基準角θＳと三角波ＣＡの位相角θＣＡとの位相差は解消され、制御ユニット１が制御不調となるのを回避できる。
【００５６】
また、現在時の次の演算周期ＴＣ（＋１）において、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が＋１８０°以上になると判断した時には、三角波ＣＡの位相角θＣＡが基準角θＳに対して進んでいるから、三角波生成部４はクロック信号ＣＬＫの周波数を現在の周波数よりも減らして三角波ＣＡの位相を遅らせる。
【００５７】
このように、本実施形態では、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が±１８０°から逸脱することを逸脱前に予測することにより、制御ユニット１の制御不調を事前に防ぐことができる。
【００５８】
[モータ駆動制御の第３の実施形態]
上述の実施形態では、現在時ＴＣ（０）と１演算周期前ＴＣ（−１）の三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を基に、現在時の次の演算周期ＴＣ（＋１）における位相差の値が±１８０°から逸脱するか否かを予測していたが、これに代えて、予め閾値を設定し、現在時の三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の値がこの閾値を越えたことを検知することにより、三角波ＣＡの周波数を変更しても良い。この場合、少なくとも三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が±１８０°を越えなければ良いので、閾値として−１８０°から１８０°までの任意の値を閾値とすることができる。たとえば、連続的に三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を計測する場合、閾値として±１８０°を設定する。
【００５９】
また、実際にタイヤがスリップした場合を想定し、スリップ時のロータ回転速度Ｒｍａと、三角波生成部４が記憶しているロータ回転速度Ｒｍｍとの回転速度の差Δｒから閾値を予め算出することもできる。具体的には、回転速度の差Δｒの値にもとづいて、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の値が１演算周期中に増加する量ｘを算出し、この位相差の増加量ｘに応じて閾値を設定する。以下、閾値の算出方法について説明する。
【００６０】
下記の式２を使用することにより、１演算周期における三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の増加量ｘを算出することができる。
＜式２＞
2010098868.tif 000004
ここで、
ｘ：三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の値が１演算周期中に増加する量
Δｒ：実際のロータ回転速度Ｒｍａと、三角波生成部４が記憶しているロータ回転速度Ｒｍｍとの差
Ｔ：三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を算出する演算周期
Ｋｐ：指定パルス数
Ｐ：ロータの極対数
である。
【００６１】
例として、Δｒを１０００ｒｐｍ、Ｔを０．１ｍＳｅｃ、Ｋｐを６、Ｐを６として式２を計算すると、ｘとして２１．８°を得る。これは、ロータ７の回転速度が急変して、実際のロータの回転速度Ｒｍａが、三角波生成部４に記憶されているロータ回転速度Ｒｍｍより１０００ｒｐｍ早くなるとき、三角波ＣＡの位相角θＣＡと基準角θＳとの位相差は０．１ミリ秒ごとに２１．６°広がっていくことを示している。
【００６２】
式２より、１演算周期あたりの三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の増加量を求めたことにより、閾値を設定することが可能となる。すなわち、１演算周期あたりの三角波ＣＡの位相角θＣＡと基準角θＳとの位相差の増加量が２１．６°であるから、１８０°から２１．６°を減じた±１５８．４°を閾値として設定する。つまり、図７に示されるように、現在時の三角波ＣＡの位相角θＣＡと基準角θＳとの位相差が１５８．４°以上であるか、−１５８．４°以下であるときに、三角波ＣＡの周波数を変更する。
【００６３】
また、上述の例では演算周期を０．１ミリ秒としたが、別の例として、例えば演算周期が０．２ｍｓに設定されている場合には、閾値として±１３６．８°を設定する。
【００６４】
[三角波ＣＡの周期を変更する手段について]
以上、三角波ＣＡの位相角θＣＡとロータ電気角θｍ、または基準角θＳとの位相差をもとに、三角波の周波数を変更するか否かを判定する方法について説明した。次に、三角波ＣＡの周波数を変更すべきと判断した際に、どのようにして三角波ＣＡの周波数を変更するかについて以下に説明する。
【００６５】
本実施形態においては、三角波生成部４は、三角波の周波数を変更すべきと判断したとき、三角波ＣＡを生成するクロック信号ＣＬＫの周波数を現在の周波数よりも所定割合増減している。具体的には、三角波生成部４は、下記式３の係数ａに任意の値を設定してクロック信号ＣＬＫの周波数を変更する。
＜式３＞
新しいクロック周波数＝現在のクロック周波数×（１＋ａ）
【００６６】
ここで、ａは任意の実数を取り得る係数であり、例えば、三角波ＣＡの周波数を１割増やしたい場合はａ＝０．１と設定する。なお、モータ駆動制御が順調に行われている間はａ＝０が設定されている。一方、三角波ＣＡの周波数を１割減らしたい場合には上述の式３に照らし、ａの値として−０．１を設定する。
【００６７】
なお、これまで説明した実施形態において、制御ユニット１は、ロータ７の１回転中にクロック周波数ｆＣＬＫを変更した後は、再びロータ７の１回転によりロータ回転速度を算出し、そのロータ回転速度を基にして改めてクロック周波数ｆＣＬＫを設定している。しかし、これに代えて、ロータ７の１回転中に三角波ＣＡの周波数を変更した後は、ＰＷＭ信号ＰＩのパルス数を安定して確保するために、一定期間クロック周波数ｆＣＬＫを固定しても良い。
【００６８】
また、ロータ電気角θｍに指定パルス数Ｋｐを掛けた値を基準角θＳとして算出したが、三角波ＣＡの位相角θＣＡを指定パルス数Ｋｐで割った値を基準角θＳ’として算出し、ロータ電気角θｍとの位相差を計測しても良い。
【００６９】
また、本実施形態では、ロータが１回転するごとにロータ回転速度Ｒｍを算出していたが、この態様に限られず、ロータ回転速度Ｒｍを算出する任意のタイミングが設定されても良い。この場合においても、ロータ回転速度算出の周期よりも三角波ＣＡの位相角θＣＡと基準角θＳとの位相差を算出する周期を短く設定することにより、本発明の効果を得ることができる。
【図面の簡単な説明】
【００７０】
【図１】制御ユニット、モータとその周辺機器を示す概略図である。
【図２】ロータ電気角と三角波の位相角の時間変化を示す図である。
【図３】本発明に掛かるモータ駆動制御を実施した際のロータ電気角と三角波の位相を示す図である。
【図４ａ】ロータ回転速度が急変したときの三角波、基準角の位相を示す図である。
【図４ｂ】ロータ回転速度が急変したときの三角波、基準角の位相を示す図である。
【図５】三角波の周期を変更するか否かを判定するフローチャートである。
【図６ａ】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相と位相差を示す図である。
【図６ｂ】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相と位相差を示す図である。
【図７】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相差を示す図である。
【符号の説明】
【００７１】
１  制御ユニット、２  モータ、３  指令信号生成部、４  三角波生成部、５  ＰＷＭ制御部、６  回転角センサ、７  ロータ、８  ＨＶコントロールモジュール、９  クロック信号発生器、１０  インバータ
【図１】
2010098868.tif 000005
【図２】
2010098868.tif 000006
【図３】
2010098868.tif 000007
【図４ａ】
2010098868.tif 000008
【図４ｂ】
2010098868.tif 000009
【図５】
2010098868.tif 000010
【図６ａ】
2010098868.tif 000011
【図６ｂ】
2010098868.tif 000012
【図７】
2010098868.tif 000013
【手続補正書】
【提出日】平成20年10月17日(2008.10.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動制御装置に関し、特に、ロータの回転速度が急変したときにも安定したモータ駆動制御を行うことのできるモータ駆動制御装置に関する。
【背景技術】
【０００２】
電気自動車やハイブリッド自動車等の車両には、バッテリ等の直流電源が備えられ、また動力源として交流モータが備えられている。さらに、直流電源と交流モータとの間には、直流電力を交流電力に変換するインバータが備えられている。
【０００３】
インバータを介した交流モータの制御技術として、ＰＷＭ（パルス幅変調、Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御が知られている。ＰＷＭ制御は電圧形インバータにおける電圧変換制御の一つであり、パルス信号であるＰＷＭ信号を、インバータに備えられたスイッチング素子に供給し、スイッチング素子のオン／オフのタイミングを制御している。スイッチング素子のオン／オフのタイミングを調整することによって、モータに印加する電圧を制御することができる。
【０００４】
ＰＷＭ信号は、三角波比較法によって生成される。すなわち、モータに印加する電圧値を定めた指令信号と、キャリアとも呼ばれる三角波との電圧値を大小比較することによってＰＷＭ信号が生成される。
【０００５】
指令信号の電圧値は、ロータの電気角と、トルク要求値とに基づいて連続的に定められる。指令信号の波形は通常は正弦波状になり、モータとして永久磁石モータ等の同期モータを用いる場合には、指令信号の周期はトルク要求値やロータの回転速度の変化に伴って増減する。
【０００６】
また、三角波は、クロック信号を積分することによって得られる。クロック信号の周波数は自動車内の制御ユニット等によって設定される。
【０００７】
ＰＷＭ信号の生成にあたり、指令信号１周期あたりのＰＷＭ信号のパルス数は、指令信号の周波数に対する三角波の周波数の比によって定まる。たとえば指令信号の周波数に対する三角波の周波数の比が１５であれば指令信号１周期あたりのＰＷＭ信号のパルス数は１５個得られる。
【０００８】
他方、インバータが短時間に多くのオン／オフ切替を行なうとスイッチング損失によりスイッチング素子が過熱され、動作不全につながるおそれがある。スイッチング素子の加熱を防ぐため、スイッチング素子を複数個設けて、発熱を分散させることにより過熱を防ぐなどの対策が採られているが、近年、コスト低減等のため、インバータのスイッチング素子を従来よりも減らしている。このようなインバータにおいては上述のような対策を採れないので、スイッチング素子の過熱を防ぐため、指令信号１周期あたりのＰＷＭ信号のパルス数を比較的小さく設定する必要がある。
【０００９】
しかし、指令信号１周期あたりのＰＷＭ信号のパルス数を比較的小さく設定する場合、ＰＷＭ制御を安定して行なうためには、指令信号の周波数の変化に応じてクロック信号の周波数を変更し、指令信号１周期あたりのＰＷＭ信号のパルス数を一定に保つ同期ＰＷＭ制御を行う必要がある。
【００１０】
たとえば、ロータの回転速度を上げようとすると、指令信号の周波数が増加する。その一方でクロック信号の周波数は固定されている場合、指令信号１周期あたりのＰＷＭ信号のパルス数が低減する。
【００１１】
指令信号１周期あたりのＰＷＭ信号のパルス数が比較的多ければ（たとえば１５〜２０個）、パルス数の減少の影響は小さいが、指令信号１周期あたりのＰＷＭ信号のパルス数が比較的小さい場合に（たとえば５〜１０個）パルス数の減少の影響は大きくなる。このような場合に、指令信号１周期あたりのＰＷＭ信号のパルス数が低減してしまうと、指令信号が意図したとおりの電圧がインバータから出力されなくなる。その結果、インバータの過電流やモータの脱調などの制御不調につながるおそれがある。
【００１２】
そこで、ロータの回転速度（ｒｐｍ）を検知して、ロータ回転速度が急変してＰＷＭ信号のパルス数が変動する前に、三角波の周波数を変更することによりＰＷＭ信号のパルス数を一定値に保つ制御が知られている。例えば、特許文献1には、ロータの回転速度上昇率が閾値を越えたとき、三角波の周波数を高くする技術が開示されている。
【００１３】
【特許文献１】特開２００７−１５９３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ロータの回転速度算出はロータがある程度回転することにより算出される。通常は、トルク要求値の変化や走行抵抗の変動等の外的要因を考慮して、一定時間ごとにロータ電気角の変化量から回転速度を算出しており、算出には１〜３ミリ秒程度の時間がかかっている。したがって三角波を生成するクロック信号の周波数変更は１〜３ミリ秒程度の時間間隔を置いて行われる。
【００１５】
一方、ロータ電気角はモータの回転に比例して連続的に増減しており、特に車両用途では路面状況によりスリップでタイヤが空転するような場合など、ロータ電気角が急変する場合がある。この結果、ロータ電気角を用いて求める指令信号の周波数も１〜３ミリ秒の間に急変する場合があり、ロータが１回転する間にＰＷＭ信号のパルス数が増減する可能性がある。
【００１６】
そこで、本発明は、ＰＷＭ制御を行う際に、モータの回転変化に迅速に対応することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、指令信号と三角波を出力してＰＷＭ信号を生成し、ＰＷＭ信号によってモータの駆動を制御する制御ユニットと、ロータ電気角を検知する角度センサと、を備え、前記制御ユニットは、前記ロータ電気角とトルク要求値とに基づいて指令信号の電圧値を定めて前記指令信号を出力し、前記ロータ電気角に基づき、第1の時間間隔ごとにロータ回転速度を算出し、前記ロータ回転速度に基づき、前記第1の周期ごとに前記三角波の周波数を定めて前記三角波を出力する、モータ駆動制御装置において、前記制御ユニットは、前記第1の周期よりも短い第2の周期ごとに前記三角波の位相角と前記ロータ電気角との位相差を検知し、出力された前記三角波の位相角と前記ロータ電気角との位相差の値が予め定めた閾値を越えたときに、前記三角波の周波数を変更する、ことを特徴とする。
【００１８】
また、本発明は、前記制御ユニットには、前記指令信号の１周期中に前記ＰＷＭ信号が出力すべきパルス数が指定パルス数として記憶され、前記制御ユニットは、前記ロータ電気角に前記指定パルス数を掛けた値を基準角として算出し、
前記第２の周期ごとに、前記三角波の位相角と前記基準角との位相差を検知し、出力された前記三角波の位相角と前記基準角との位相差の値が前記閾値を越えたときに、前記三角波の周波数を変更する、ことを特徴とする。
【００１９】
また、本発明は、前記閾値として、±１８０°が設定されていることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、三角波の周波数の変更を、瞬時値であるロータ電気角に基づいて行うことが可能となる。したがって、一定の時間間隔を設けなければ算出できないロータ回転速度情報に基づく場合に比べて、ＰＷＭ信号のパルス数が増減することを極めて高い精度で防ぐことができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を用いて本発明に係る実施の形態につき詳細に説明する。
【００２２】
図１は、本発明に係る制御ユニット１、制御対象のモータ２、およびこれらの周辺機器を示す概略図である。なお、本実施形態に係るモータ２としては、永久磁石モータ等の同期モータが挙げられる。
【００２３】
制御ユニット１の構成について、下記に説明する。制御ユニット１は、指令信号生成部３、三角波生成部４、およびＰＷＭ制御部５を備えている。
【００２４】
指令信号生成部３は指令信号Ｓを生成し、ＰＷＭ制御部５に出力している。また、三角波生成部４は、三角波ＣＡを生成し、ＰＷＭ制御部５に出力している。ＰＷＭ制御部５は、指令信号Ｓと三角波ＣＡとを受信して、ＰＷＭ信号ＰＩを生成している。以下、指令信号生成部３、三角波生成部４、ＰＷＭ制御部５のそれぞれにおいて行われる操作、処理等について詳細に説明する。
【００２５】
まず、指令信号生成部３について説明する。指令信号生成部３は、レゾルバ等の回転角センサ６からロータ７の電気角θmを受信し、また、ＨＶコントロールモジュール８からトルク要求値ＴＲを受信する。さらに、指令信号生成部３は、受信した電気角θmとトルク要求値ＴＲとに基づいて指令信号Ｓを生成する。ここで、本実施形態における自動車は、いわゆるハイブリッド車であり、ＨＶコントロールモジュール８はアクセルペダルの踏み込み量を検知し、モータ２と図示しないエンジンとに送信すべきトルク要求値ＴＲを演算している。
【００２６】
指令信号生成部３は、ロータ電気角θmの信号とトルク要求値ＴＲとに基づいて指令信号Ｓの電圧値Ｖsを算出する。指令信号ＳはＰＷＭ制御部５に送信される。なお、指令信号生成部３は、ロータ７の電気角θmとトルク要求値ＴＲとを連続的に受信しており、指令信号Ｓの電圧値Ｖsは連続的に算出される。ここで、指令信号Ｓは、ロータ７と同期して出力されることから、指令信号Ｓの周期は、ロータ７の電気角θmの周期とほぼ同一となる。
【００２７】
次に、三角波生成部４について説明する。三角波生成部４では、三角波生成部４内に設けられたクロック信号発生器９がクロック信号ＣＬＫを出力している。さらに、三角波生成部４は、クロック信号ＣＬＫを積分回路に供給して三角波ＣＡを生成している。ここで、制御ユニット１には、クロック信号ＣＬＫを出力するために指定パルス数Ｋpが記憶されている。指定パルス数Ｋpとは、指令信号Ｓの１周期分に相当する期間にＰＷＭ信号ＰＩが発生すべきパルス数を指定したものである。指定パルス数Ｋpは予め制御ユニット１に設定されているか、または作業者が適宜設定入力する。
【００２８】
三角波ＣＡの生成は次のようにして行われる。三角波生成部４は、回転角センサ６からロータ電気角θmを受信する。さらに、三角波生成部４はロータ７が１回転するまでロータ電気角θmの値を計測し、ロータ７が１回転するとロータ回転速度Ｒｍｍ（ｒｐｍ）を算出して記憶する。なお、ロータ７が１回転するのは１〜３ミリ秒程度の時間を要する。つまり、三角波生成部４は、１〜３ミリ秒ごとにロータ回転速度Ｒｍｍを算出し、それまで記憶されていたロータ回転速度Ｒｍｍを更新する。
【００２９】
さらに、三角波生成部４は、ロータ回転速度Ｒｍｍからロータ回転周波数ｆmを算出し、その周波数ｆmにロータ７の極対数と指定パルス数Ｋpとを掛けた値をクロック信号ＣＬＫの周波数ｆCLKとする。クロック信号ＣＬＫは積分回路により積分され三角波ＣＡが生成される。三角波ＣＡはＰＷＭ制御部５に送信される。
【００３０】
ＰＷＭ制御部５では指令信号Ｓの電圧値Ｖsと三角波ＣＡの電圧値ＶCAとの大小を比較して、パルス信号であるＰＷＭ信号ＰＩを生成する。
【００３１】
ＰＷＭ制御部５から出力されたＰＷＭ信号ＰＩはインバータ１０に送信される。インバータ１０では、スイッチング素子がＰＷＭ信号ＰＩに基いてオンオフ制御され、これによってインバータ１０に印加された直流電圧は、モータ２を駆動させる駆動電圧に変換される。モータ２は、ＨＶコントロールモジュール８からのトルク要求ＴＲに応じたトルクを発生させるために駆動する。
【００３２】
次に、制御ユニット１が行うモータ駆動制御について、図２から図１１に沿って説明する。
【００３３】
[モータ駆動制御の第１の実施形態]
制御ユニット１は、ロータ電気角θmと三角波ＣＡの位相角θCAの位相差を算出し、位相差の値と、予め定めた閾値とを比較し、位相差の値が閾値を越えている場合には、ロータ７の回転速度が急変したものと判断し、ロータ７が１回転している間に三角波ＣＡの周波数を変更している。このようなモータ駆動制御を行うことにより、指令信号Ｓの１周期あたりのＰＷＭ信号ＰＩのパルス数が指定パルス数Ｋpに保たれる。以下、本実施形態によるモータ駆動制御について詳細に説明する。
【００３４】
制御ユニット１内に設けられた三角波生成部４は、ロータ７が１回転している間、予め定めた計測タイミングごとにロータ電気角θmと三角波ＣＡの位相角θCAの位相差を測定している。
【００３５】
図２に、ロータ電気角θmの周期ｔ１[ｓｅｃ]における、ロータ電気角θmおよび三角波ＣＡの位相角θCAの位相の時間変化を示す。なお、指定パルス数Ｋpとして６を設定している。本実施形態においては、計測タイミングとして、三角波ＣＡの位相角θCAが０°になった時を設定している。この様に計測タイミングを設定すると、ロータ電気角θmと三角波ＣＡの位相角θCAの位相差Δθの値は、θCA＝０°よりロータ電気角θmの値に等しくなるので測定が簡便である。図２に示すように、三角波生成部４は、三角波ＣＡの１周期ごとにロータ電気角θmの値をサンプリングする。図２では、θm1からθm5まで５回にわたってロータ電気角θmを取得し、これらの値と閾値との差を測定する。
【００３６】
三角波生成部４は、θm1からθm5のそれぞれに対して上限閾値Ｔｈθm＿ＵＬと下限閾値Ｔｈθm＿ＬＬの２種類の閾値を設定している。上限閾値Ｔｈθm＿ＵＬと下限閾値Ｔｈθm＿ＬＬとの設定方法について以下に説明する。
【００３７】
例えば、三角波ＣＡが２周期目に入ったときのロータ電気角θm1についての上限閾値Ｔｈθm1＿ＵＬと下限閾値Ｔｈθm1＿ＬＬを設定する場合を考える。上限閾値および下限閾値は、指令信号Ｓの１周期中にＰＷＭ信号ＰＩが出力するパルス数が指定パルス数Ｋpより少なくなるとき、および多くなるときの条件をもとにして算出される。例えば、指定パルス数Ｋpが６のとき、ＰＷＭ信号ＰＩが指令信号Ｓの１周期中に出力するパルス数が６でなくなるのは、指令信号Ｓの１周期中に三角波ＣＡの周期が５周期以下となるとき、または７周期以上となるときである。指令信号Ｓの周期はロータ７の電気角θmの周期とほぼ同一であることを考慮すると、ロータ電気角θmの１周期中の三角波ＣＡの周期が５周期以下、または７周期以上となるとき、指令信号Ｓの１周期中におけるＰＷＭ信号ＰＩのパルス数は指定パルス数から逸脱する。
【００３８】
ロータ電気角θmの１周期中に三角波ＣＡが５周期出力される場合、三角波ＣＡが１周期目を終えた時点でのロータ電気角θmは、３６０°÷５より７２°であるから、上限閾値Ｔｈθm1＿ＵＬとして７２°を得る。
【００３９】
一方、ロータ電気角θmの１周期中に三角波ＣＡが７周期出力される場合、三角波ＣＡが１周期目を終えた時点でのロータ回転角θmは３６０°÷７より５１．４°であるから、下限閾値Ｔｈθm1＿ＬＬとして５１．４°を得る。
【００４０】
以下同様にしてθm2からθm5まで順次下限閾値と上限閾値を算出する。θm1からθm5まで下限閾値と上限閾値が算出できたら、三角波生成部４にそれぞれの閾値を設定する。三角波生成部４は、ロータ電気角θm1からθm5のいずれかの値が下限閾値以下となり、または上限閾値以上となったら三角波ＣＡの周波数を変更する。三角波ＣＡの周波数を変更することにより、図３に示すように、三角波ＣＡの周期が６周期となるまでに掛かる時間がｔ１からｔ１’に短縮される。図３では、ロータ電気角θmが上限閾値以上となったことを検知して、三角波ＣＡの周波数を増やす例を示している。三角波ＣＡの周波数を増やすことによって、指令信号Ｓの１周期中にＰＷＭ信号ＰＩが出力するパルス数を５つから６つに変更することができる。
【００４１】
なお、三角波生成部４は、三角波ＣＡの位相角θCAが０°の時からその次に０°になる時までの期間を演算期間として設定するのに代えて、任意の演算期間を定めることができる。
【００４２】
[モータ駆動制御の第２の実施形態]
以上の説明では、ロータの電気角θmと三角波ＣＡの位相角θCAの位相差を直接測定したが、ロータの電気角θmと三角波ＣＡの位相角θCAの位相差を測定しやすくするために、仮想的な角度値として、下記にて説明する基準角θSと呼ぶ値を算出してもよい。
【００４３】
基準角θSは下記の式１により算出される。
＜式１＞
θS＝（Ｋp×θm）−（３６０°×ｂ）
ここで、Ｋpは指定パルス数、ｂはロータ電気角θmの値に基いて設定される係数である。
【００４４】
ここで、係数ｂについて説明する。ｂは０からＫp−１までの自然数の値を取り得る。三角波生成部４はｂの値を設定する。具体的には、ロータ電気角θmが０°から６０°までの間はｂ＝０とする。ロータ電気角θmが６１°から１２０°までの間はｂ＝１とする。以下ロータ電気角θmが６０°増えるごとにｂの値を１ずつ増加させる。ロータ電気角θmが３６０°になったときに三角波生成部４はｂを０に戻す。以下この操作を繰り返す。この場合において、ロータ電気角θm、係数ｂ、基準角θSは下記表１のように変化する。なお、指定パルス数Ｋpを６に設定している。
【表１】
2010098868.tif 000014
【００４５】
ロータ７の回転速度が安定しているとき、ロータ電気角θmの１周期中に基準角θSの周期と三角波ＣＡの周期はともに６周期となり、三角波ＣＡの位相角θCAと基準角θSの位相は一致する。このように、ロータ７の回転速度安定時に三角波ＣＡと周期および位相が等しくなるような基準角θSを算出することにより、ロータ電気角θmと三角波ＣＡの位相角θCAとの位相ずれを検出することが容易になる。
【００４６】
なお、基準角θSの算出にあたり、制御ユニット１にもともと３６０°×ｎ（ｎは1以上の自然数）の成分を考慮しない機能が備わっている場合がある。この場合には、θS＝（Ｋp×θm）となる。
【００４７】
ロータ７の回転速度がタイヤのスリップ等により急変したときの基準角θSと三角波の位相角θCAの状態を図４に示す。
【００４８】
ロータ７の回転速度が急変すると、ロータ電気角θmから算出される基準角  θSの位相も急変する。一方で、従来のモータ駆動制御においては、三角波ＣＡの周期はロータ１回転中は変わらない。したがって、三角波ＣＡの位相角θCAと基準角θSの位相は図４ａに示すように徐々にずれ、三角波ＣＡの位相は基準角θSよりも遅れる。
【００４９】
三角波ＣＡの位相角θCAと基準角θSとの位相差の時間変化を図４ｂに示す。三角波ＣＡの位相角θCAと基準角θSとの位相差は、０°から−１８０°になるまで一次関数的に増加する。さらに、位相差が−１８０°を越えた時、それまでは３周期目の三角波ＣＡの位相角θCAと３周期目の基準角θSとの位相差を測定していたのが、３周期目の三角波ＣＡの位相角θCAと４周期目の基準角θSとの位相差が測定される。つまり、位相差を測定するにあたり、三角波ＣＡの位相角θCAと基準角θSの周期の数が１つずれた状態になる。その後も、三角波ＣＡの位相角θCAは１周期ずれた基準角θSと比較されて位相差が算出される。この結果、図４ａに示されるように、基準角θSの６周期中に三角波ＣＡは５周期のみとなる。このとき、ＰＷＭ信号ＰＩのパルス数は指令信号Ｓの１周期当たり５個となり、指定パルス数の６よりも少なくなるため、制御ユニット１の制御不調につながる。
【００５０】
以上のように、三角波ＣＡの位相角θCAと基準角θSの位相差が１８０°を越えると、三角波ＣＡの位相角θCAと基準角θSとの周期の数がずれる。そこで、本実施形態では、三角波ＣＡの位相角θCAと基準角θSの位相差が１８０°を越える前に三角波ＣＡの周波数を変更している。
【００５１】
具体的には、三角波生成部４は、所定の演算周期ごとに三角波ＣＡの位相角θCAと基準角θSの位相差を測定し、現在時の位相差の値および現在時より１演算周期前の位相差の値をもとに現在時の次の演算周期における位相差の値を算出し、この値が±１８０°から逸脱するか否かを判定している。この制御について図５および図６に沿って説明する。
【００５２】
図５に、三角波生成部４が三角波ＣＡの周期を変更するか否かを判定する判定フローを示す。三角波生成部４は、演算周期を設定して三角波ＣＡの位相角    θCAと基準角θSとの位相差を算出している（Ｓ１）。
【００５３】
三角波生成部４は、図６ａに示すように、演算周期ごとに三角波ＣＡの位相角θCAと基準角θSとの位相差を測定し、さらに、現在時ＴＣ（０）と１演算周期前ＴＣ（−１）の三角波ＣＡの位相角θCAと基準角θSとの位相差の値を基に、位相差が増加する際の傾きを算出し、現在時の次の演算周期ＴＣ（＋１）における三角波ＣＡの位相角θCAと基準角θSとの位相差を算出する（図５のＳ２）。
【００５４】
三角波生成部４は、現在時の次の演算周期ＴＣ（＋１）において三角波ＣＡの位相角θCAと基準角θSとの位相差が−１８０°以下、または１８０°以上になるか否かを判定する（Ｓ３）。−１８０°から１８０°の間であれば三角波ＣＡの周波数は変更しないが（Ｓ４）、−１８０°以下、または１８０°以上になると判断したときは三角波ＣＡの周波数を変更する（Ｓ５）。この結果、図６ａに示すように、三角波ＣＡの位相角θCAと基準角θSとの位相差は漸減し、図６ｂに示すように、基準角θSの６周期中に三角波ＣＡも６周期出力することができる。
【００５５】
なお、現在時の次の演算周期ＴＣ（＋１）において、三角波ＣＡの位相角θCAと基準角θSとの位相差が−１８０°以下になると判断した時には、三角波ＣＡの位相角θCAが基準角θSに対して遅れているから、三角波生成部４は、三角波ＣＡを生成するクロック信号ＣＬＫの周波数を現在の周波数よりも増やして三角波ＣＡの位相を進める。位相を進めることにより、基準角θSと三角波ＣＡの位相角θCAとの位相差は解消され、制御ユニット１が制御不調となるのを回避できる。
【００５６】
また、現在時の次の演算周期ＴＣ（＋１）において、三角波ＣＡの位相角θCAと基準角θSとの位相差が＋１８０°以上になると判断した時には、三角波ＣＡの位相角θCAが基準角θSに対して進んでいるから、三角波生成部４はクロック信号ＣＬＫの周波数を現在の周波数よりも減らして三角波ＣＡの位相を遅らせる。
【００５７】
このように、本実施形態では、三角波ＣＡの位相角θCAと基準角θSとの位相差が±１８０°から逸脱することを逸脱前に予測することにより、制御ユニット１の制御不調を事前に防ぐことができる。
【００５８】
[モータ駆動制御の第３の実施形態]
上述の実施形態では、現在時ＴＣ（０）と１演算周期前ＴＣ（−１）の三角波ＣＡの位相角θCAと基準角θSとの位相差を基に、現在時の次の演算周期ＴＣ（＋１）における位相差の値が±１８０°から逸脱するか否かを予測していたが、これに代えて、予め閾値を設定し、現在時の三角波ＣＡの位相角θCAと基準角θSとの位相差の値がこの閾値を越えたことを検知することにより、三角波ＣＡの周波数を変更しても良い。この場合、少なくとも三角波ＣＡの位相角θCAと基準角θSとの位相差が±１８０°を越えなければ良いので、閾値として−１８０°から１８０°までの任意の値を閾値とすることができる。たとえば、連続的に三角波ＣＡの位相角θCAと基準角θSとの位相差を計測する場合、閾値として±１８０°を設定する。
【００５９】
また、実際にタイヤがスリップした場合を想定し、スリップ時のロータ回転速度Ｒｍａと、三角波生成部４が記憶しているロータ回転速度Ｒｍｍとの回転速度の差Δｒから閾値を予め算出することもできる。具体的には、回転速度の差Δｒの値にもとづいて、三角波ＣＡの位相角θCAと基準角θSとの位相差の値が１演算周期中に増加する量ｘを算出し、この位相差の増加量ｘに応じて閾値を設定する。以下、閾値の算出方法について説明する。
【００６０】
下記の式２を使用することにより、１演算周期における三角波ＣＡの位相角θCAと基準角θSとの位相差の増加量ｘを算出することができる。
＜式２＞
2010098868.tif 000015
ここで、
ｘ：三角波ＣＡの位相角θCAと基準角θSとの位相差の値が１演算周期中に増加する量
Δｒ：実際のロータ回転速度Ｒｍａと、三角波生成部４が記憶しているロータ回転速度Ｒｍｍとの差
Ｔ：三角波ＣＡの位相角θCAと基準角θSとの位相差を算出する演算周期
Ｋp：指定パルス数
Ｐ：ロータの極対数
である。
【００６１】
例として、Δｒを１０００ｒｐｍ、Ｔを０．１ｍＳｅｃ、Ｋpを６、Ｐを６として式２を計算すると、ｘとして２１．８°を得る。これは、ロータ７の回転速度が急変して、実際のロータの回転速度Ｒｍａが、三角波生成部４に記憶されているロータ回転速度Ｒｍｍより１０００ｒｐｍ早くなるとき、三角波ＣＡの位相角θCAと基準角θSとの位相差は０．１ミリ秒ごとに２１．６°広がっていくことを示している。
【００６２】
式２より、１演算周期あたりの三角波ＣＡの位相角θCAと基準角θSとの位相差の増加量を求めたことにより、閾値を設定することが可能となる。すなわち、１演算周期あたりの三角波ＣＡの位相角θCAと基準角θSとの位相差の増加量が２１．６°であるから、１８０°から２１．６°を減じた±１５８．４°を閾値として設定する。つまり、図７に示されるように、現在時の三角波ＣＡの位相角θCAと基準角θSとの位相差が１５８．４°以上であるか、−１５８．４°以下であるときに、三角波ＣＡの周波数を変更する。
【００６３】
また、上述の例では演算周期を０．１ミリ秒としたが、別の例として、例えば演算周期が０．２ｍｓに設定されている場合には、閾値として±１３６．８°を設定する。
【００６４】
[三角波ＣＡの周期を変更する手段について]
以上、三角波ＣＡの位相角θCAとロータ電気角θm、または基準角θSとの位相差をもとに、三角波の周波数を変更するか否かを判定する方法について説明した。次に、三角波ＣＡの周波数を変更すべきと判断した際に、どのようにして三角波ＣＡの周波数を変更するかについて以下に説明する。
【００６５】
本実施形態においては、三角波生成部４は、三角波の周波数を変更すべきと判断したとき、三角波ＣＡを生成するクロック信号ＣＬＫの周波数を現在の周波数よりも所定割合増減している。具体的には、三角波生成部４は、下記式３の係数ａに任意の値を設定してクロック信号ＣＬＫの周波数を変更する。
＜式３＞
新しいクロック周波数＝現在のクロック周波数×（１＋ａ）
【００６６】
ここで、ａは任意の実数を取り得る係数であり、例えば、三角波ＣＡの周波数を１割増やしたい場合はａ＝０．１と設定する。なお、モータ駆動制御が順調に行われている間はａ＝０が設定されている。一方、三角波ＣＡの周波数を１割減らしたい場合には上述の式３に照らし、ａの値として−０．１を設定する。
【００６７】
なお、これまで説明した実施形態において、制御ユニット１は、ロータ７の１回転中にクロック周波数ｆCLKを変更した後は、再びロータ７の１回転によりロータ回転速度を算出し、そのロータ回転速度を基にして改めてクロック周波数ｆCLKを設定している。しかし、これに代えて、ロータ７の１回転中に三角波ＣＡの周波数を変更した後は、ＰＷＭ信号ＰＩのパルス数を安定して確保するために、一定期間クロック周波数ｆCLKを固定しても良い。
【００６８】
また、ロータ電気角θmに指定パルス数Ｋpを掛けた値を基準角θSとして算出したが、三角波ＣＡの位相角θCAを指定パルス数Ｋpで割った値を基準角θS’として算出し、ロータ電気角θmとの位相差を計測しても良い。
【００６９】
また、本実施形態では、ロータが１回転するごとにロータ回転速度Ｒｍを算出していたが、この態様に限られず、ロータ回転速度Ｒｍを算出する任意のタイミングが設定されても良い。この場合においても、ロータ回転速度算出の周期よりも三角波ＣＡの位相角θCAと基準角θSとの位相差を算出する周期を短く設定することにより、本発明の効果を得ることができる。
【図面の簡単な説明】
【００７０】
【図１】制御ユニット、モータとその周辺機器を示す概略図である。
【図２】ロータ電気角と三角波の位相角の時間変化を示す図である。
【図３】本発明に掛かるモータ駆動制御を実施した際のロータ電気角と三角波の位相を示す図である。
【図４ａ】ロータ回転速度が急変したときの三角波、基準角の位相を示す図である。
【図４ｂ】ロータ回転速度が急変したときの三角波、基準角の位相を示す図である。
【図５】三角波の周期を変更するか否かを判定するフローチャートである。
【図６ａ】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相と位相差を示す図である。
【図６ｂ】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相と位相差を示す図である。
【図７】本発明に掛かるモータ駆動制御を実施した際の三角波と基準角の位相差を示す図である。
【符号の説明】
【００７１】
１  制御ユニット、２  モータ、３  指令信号生成部、４  三角波生成部、５  ＰＷＭ制御部、６  回転角センサ、７  ロータ、８  ＨＶコントロールモジュール、９  クロック信号発生器、１０  インバータ。