以下、本発明の実施形態を図に基づいて説明する。
(第1実施形態)
図1〜図22に基づいて、本実施形態に係るモータ制御装置を説明する。なお図1ではモータ制御装置100の他に、モータ200、内燃機関300、バルブタイミング変換部310、カム角センサ340、および、クランク角センサ350を図示している。そして図2、図3、図11、および、図12それぞれでは後述する電気角を括弧つきで図示し、回転角センサ70にハッチングを施している。また図12では煩雑と成ることを避けるために符号を省略し、回転状態を明りょうとするために後述の永久磁石212の1つのN極にハッチングを施している。また、記述が細かくなった結果、参考信号と回転信号とが不明瞭となることを避けるため、図5、および、図13〜図18では同期信号と位置信号とにハッチングを施して表している。
モータ制御装置100はモータ200の回転を制御することで、内燃機関300のカムシャフト320とクランクシャフト330の位相差(以下、カム位相と示す)を制御するものである。図1に示すようにモータ制御装置100は3つのステータ線91〜93を介してモータ200と電気的に接続され、モータ200はバルブタイミング変換部310を介して内燃機関300と機械的に連結されている。以下においては先ずモータ200、バルブタイミング変換部310、および、内燃機関300を説明した後、モータ制御装置100について詳説する。
図2に示すようにモータ200は出力軸を持つロータ210、および、ロータ210の周りに設けられたステータ220を有する。ロータ210は円柱形状の鉄芯211と、この鉄芯211に埋め込まれた永久磁石212と、を有する。本実施形態では永久磁石212のN極とS極とが交互に隣接するように鉄芯211の軸周りに等間隔で埋め込まれており、隣り合うN極とS極の隣接間隔が45°になっている。これにより複数の永久磁石212にて発生される磁束はロータ210が90°回転する毎に周期的に変化し、機械角90°に対して電気角が360°になっている。この永久磁石212から発せられる磁束が後述の回転角センサ70にて検出される。
これに対してステータ220は円筒形状のケース221と、このケース221の内周面に設けられた突極222と、突極222に巻き回されたステータコイル223と、を有する。ケース221の内周面に12個の突極222が等間隔で設けられ、2つの突極222の最短隣接間隔がロータ210の軸周りにて機械角で30°(電気角で120°)になっている。ステータコイル223としては図4に示すようにU相ステータコイル224、V相ステータコイル225、W相ステータコイル226を有する。上記した12個の突極222にU相ステータコイル224、V相ステータコイル225、W相ステータコイル226が順に隣接するように巻き回され、それぞれ隣接間隔が機械角で90°(電気角で360°)の関係にある4つの突極222に巻き回されている。3つのステータコイル224〜226は図4に示すようにY結線され、それぞれ対応するインバータ40の2つのスイッチの中点に結線されている。例えば図4に示すスイッチ41,44がオン状態になるとステータコイル224,225が電源のプラス端子とマイナス端子とに接続され、ステータコイル224,225に電流が流れる。この電流の流動によってステータコイル224,225から磁束が発生され、この磁束がロータ210の永久磁石212に作用することでロータ210に回転トルクが発生する。これによりモータ200の出力軸が自立回転する。
上記したモータ200の出力軸はバルブタイミング変換部310を介してカムシャフト320と連結されている。そしてバルブタイミング変換部310はチェーンを介してクランクシャフト330と連結されている。内燃機関300の駆動によってクランクシャフト330が回転し始めると、それに伴ってバルブタイミング変換部310とともにカムシャフト320とモータ200の出力軸も回転し始める。この回転によってカムシャフト320のカムジャーナルに設けられたカムロブが回転する。カムロブの回転により吸気弁と排気弁が燃焼室に対して上下動し、吸気弁にて燃焼室への吸気が行われ、排気弁にて燃焼室からの排気が行われる。
内燃機関300が例えば4サイクルエンジンの場合、吸気弁若しくは排気弁に対応するカムシャフト320のカムロブは、クランクシャフト330が2回転すると1回転する。通常、吸気弁と排気弁の位相はカムシャフト320の回転角度で換算するとおよそ180°ずれている。この位相差は、上記したカム位相をモータ制御装置100、モータ200、および、バルブタイミング変換部310によって制御することで調整可能となっている。
図示しないがバルブタイミング変換部310は上記したチェーンを介して伝達されるクランクシャフト330の回転トルクをカムシャフト320に伝達しつつ、カムシャフト320をクランクシャフト330に対して相対的に回転させる遊星歯車機構を有する。バルブタイミング変換部310は上記したチェーンが連結される環状のリングギヤ、および、リングギヤの中に設けられた円盤状のピニオンギヤとバルブギヤを有する。リングギヤはチェーンを介してクランクシャフト330に連結され、バルブギヤはカムシャフト320に連結されている。そしてピニオンギヤはモータ200の出力軸に連結されている。リングギヤの内側面に歯が形成され、ピニオンギヤおよびバルブギヤそれぞれの外側面に歯が形成されている。このリングギヤの内側面の歯とピニオンギヤの歯とが噛み合わさり、ピニオンギヤの歯とバルブギヤの歯とが噛み合わさっている。したがってクランクシャフト330が回転するとその回転トルクがチェーンを介してリングギヤに伝達され、これによってリングギヤが回転する。するとピニオンギヤがバルブギヤの周りを公転し、これによってバルブギヤが回転する。この結果、クランクシャフト330とともにカムシャフト320が回転する。
カムシャフト320におけるクランクシャフト330との位相差(カム位相)を維持する場合、モータ制御装置100はモータ200によってピニオンギヤを自転させずにバルブギヤの周りを公転させることで、バルブギヤとリングギヤとを同一の速さで回転させる。しかしながらカム位相を進角若しくは遅角する場合、モータ制御装置100はモータ200によってピニオンギヤを自転させつつバルブギヤの周りを公転させることで、バルブギヤをリングギヤに対して相対的に回転させる。モータ200の出力軸がクランクシャフト330よりも速く公転するとカム位相が進角され、出力軸がクランクシャフト330よりも遅く公転するとカム位相が遅角される。進角若しくは遅角によってカム位相が目標とする位相に到達すると、モータ200の出力軸をリングギヤと同一の速さで公転させる。これによって調整後のカム位相が維持される。このモータ200によるカム位相制御によって、吸気タイミングと排気タイミングが調整される。
図1に示すようにモータ200には回転角センサ70が設けられ、内燃機関300にはカム角センサ340とクランク角センサ350が設けられている。回転角センサ70によってモータ200の回転状態を示すセンサ信号が検出され、カム角センサ340とクランク角センサ350によってカムシャフト320の回転角度とクランクシャフト330の回転角度が検出される。モータ制御装置100はセンサ信号に基づいてモータ200の回転角度を算出し、カムシャフト320の回転角度とクランクシャフト330の回転角度とに基づいて内燃機関300の回転数を算出する。モータ制御装置100は算出した内燃機関300の回転数とモータ200の回転角度とに基づいてモータ200を制御する。こうすることでモータ制御装置100はカム位相制御を行う。
なおカム位相制御を行うためには上記した目標とする位相を算出しなくてはならない。この目標とする位相は、ユーザーのアクセル踏込量を示すアクセル開度センサや内燃機関300の吸入空気量を計測するエアフローメータなどの車両の走行状態を示す各種センサ信号に基づいて、モータ制御装置100にて算出される。以下、モータ制御装置100について詳説する。
図1に示すようにモータ制御装置100は、コントロールユニット10とアクチュエータユニット60を有する。コントロールユニット10は電子制御部20、ドライバ30、および、電源回路50を有し、これらが1つのケース内に収納されている。そしてアクチュエータユニット60は回転角センサ70、回転検出部80、および、信号保持タイマ90を有し、これらが1つのケース内に収納されている。アクチュエータユニット60のケース内にはモータ200も収納されており、コントロールユニット10はステータ線91〜93を介してモータ200と電気的に接続され、信号線94〜96を介してアクチュエータユニット60と電気的に接続されている。ステータ線91〜93を介してコントロールユニット10からモータ200へとモータ200の回転を制御するための回転電流が出力される。そして回転信号線94を介してアクチュエータユニット60からコントロールユニット10へとモータ200の回転状態を示す回転信号が出力される。また電源信号線95,96を介してコントロールユニット10からアクチュエータユニット60へと電源電圧が供給される。コントロールユニット10が特許請求の範囲に記載のモータ制御部に相当し、電子制御部20とドライバ30とによって特許請求の範囲に記載のインバータ制御部が構成されている。
電子制御部20は回転トルクの増減方向、回転トルク量、および、モータ200の回転方向それぞれを定めるための信号として、PWM駆動信号、トルク方向信号、および、復元センサ信号を生成し、これらをドライバ30に出力するものである。なお復元センサ信号とは、後述するように回転信号に基づいて復元されるセンサ信号である。ドライバ30は電子制御部20から入力される上記の各種信号に基づいてインバータ40を制御するものである。インバータ40は図4に示すようにスイッチ41〜46を有し、これらがドライバ30によって開閉制御されることでモータ200のステータコイル224〜226に回転電流を流すものである。電源回路50はアクチュエータユニット60に電源電圧を供給するものである。
回転角センサ70はセンサ素子として複数のホール素子71〜73を有するものである。ホール素子71〜73それぞれはモータ200の回転角度および回転方向に応じたアナログの検知信号を生成するものである。図示しないが回転角センサ70はホール素子71〜73から出力されるアナログの検知信号をデジタルのセンサ信号に変換するためのAD変換部を有する。したがって回転角センサ70にて生成された3つのセンサ信号が回転検出部80に入力される。回転検出部80は3つのセンサ信号に基づいて回転信号を生成し、その回転信号を電子制御部20に出力するものである。信号保持タイマ90は、後述するようにモータ200の回転が停止した状態においても上記の回転信号を回転検出部80から電子制御部20へ出力させるためのものである。以下、ユニット10,60それぞれの構成要素について個別に説明する。
電子制御部20は、信号処理部21、カム位相制御部22、モータ回転数制御部23、および、回転数計測タイマ24を有する。信号処理部21には図5に示す回転信号が回転検出部80から入力される。回転信号にはマスク、同期信号、および、位置信号が含まれている。マスクは矩形信号であり、同期信号にはモータ200の回転方向が含まれている。そして位置信号にはモータ200の回転角度に基づく予測回転角度が含まれている。この予測回転角度については後で詳説する。
図6に示すように同期信号としては、モータ200が正転している場合と逆転している場合の2種類がある。同期信号には3つのパルスが含まれており、1つ目のパルスと2つ目のパルスの間隔αが正転時と逆転時とでは異なっている。この同期信号の生成については後述するが、信号処理部21は図5に示すマスクの立ち下がりエッジを検出すると、その後に入力される同期信号の1つ目と2つ目のパルスの入力間隔αを検出する。この入力間隔αがα1の場合に信号処理部21はモータ200が正転していると判定し、α2の場合にモータ200が逆転していると判定する。信号処理部21は回転方向を検出すると、その情報をモータ回転数制御部23に出力する。
図6に示すように正転と逆転それぞれにおいても同期信号に含まれる1つ目のパルスと3つ目のパルスの間隔βは同一で一定である。また図5に示すようにマスクの立ち下がりエッジから同期信号の終わり(同期信号の3つ目のパルスの立ち下がりエッジ)までの間隔γも一定である。そこで信号処理部21は間隔β,γに基づいて、同期信号が正常か否かも検出する。
図7および図8に示すように位置信号は、ロータ210の6つの回転角度範囲に対応して6種類ある。この位置信号の生成については後述するが、位置信号はロータ210の回転角度に応じたパルス信号である。信号処理部21は位置信号に含まれるパルスの数を検出し、その数に応じて3つのセンサ信号を復元する。そしてこれら3つの復元されたセンサ信号をドライバ30に出力する。また信号処理部21は回転数計測タイマ24を用いて、マスクの立ち下がりエッジ間隔を検出する。こうすることで信号処理部21はモータ200の現在の回転数(現在回転数)を算出し、それをカム位相制御部22とモータ回転数制御部23それぞれに出力する。なお、単位計測時間当たりに入力されるマスクの立ち下がりエッジのカウント数に基づいて現在回転数を算出してもよい。信号処理部21の具体的な処理については後で詳説する。
カム位相制御部22は上記した車両の走行状態を示す各種センサ信号や内燃機関300の回転数、および、信号処理部21から出力される現在回転数に基づいて目標とするモータ200の回転数(目標回転数)を決定するものである。カム位相制御部22は上記の各種センサ信号に基づいて、車両の走行状態に適合する目標と成るカム位相を算出する。次いでカム位相制御部22は、この目標とするカム位相とするための回転数(目標回転数)を算出し、この目標回転数を含めた指示信号をモータ回転数制御部23に出力する。
モータ回転数制御部23は指示信号に含まれる目標回転数、および、信号処理部21から入力される現在回転数と回転方向に基づいてトルクの増減方向(トルク方向)とその発生量とを決定するものである。モータ回転数制御部23は目標回転数が現在回転数よりも高い場合、回転トルクの増減方向をモータ200の回転が促進される方向にすることを決定する。その反対に目標回転数が現在回転数よりも低い場合、モータ回転数制御部23は回転トルクの発生方向をモータ200の回転が妨げられる方向にすることを決定する。またモータ回転数制御部23は目標回転数と現在回転数との乖離幅に基づいてトルクの発生量を算出し、モータ200が電気角で60°回転する間に後述の下段スイッチ42,44,46それぞれをオン状態とする時間(デューティ比)を算出する。
モータ回転数制御部23はトルク方向を示す信号としてトルク方向信号と、デューティ比を決定する信号としてPWM駆動信号を生成する。トルク方向信号はモータ200の回転方向とトルク方向とが一致する場合(回転が促進される方向の場合)にLoレベル、その反対に両者が相違する場合(回転が阻害される方向の場合)にHiレベルの信号である。PWM駆動信号はパルス周期が一定で、そのパルス幅が下段スイッチ42,44,46それぞれのオン時間に依存するパルス信号である。目標回転数と現在回転数との乖離が大きくなるとPWM駆動信号のパルス幅が長くなり、目標回転数と現在回転数との乖離が小さくなるとPWM駆動信号のパルス幅が短くなる。モータ回転数制御部23はこれら2つの信号をドライバ30に出力する。
ドライバ30は信号処理部21にて復元されたセンサ信号、および、モータ回転数制御部23から入力されるトルク方向信号とPWM駆動信号それぞれに基づいてインバータ40を制御する。ドライバ30は図9に示す回転角度と復元センサ信号との関係、および、図10に示す回転角度と制御信号との関係を記憶しており、これらの関係と復元センサ信号とに基づいてインバータ40に制御信号を出力する。またドライバ30は時間経過にともなって3つの復元センサ信号の電圧レベルがどのように変化したかを判定する。例えば図9に示すように復元U相センサ信号、復元V相センサ信号、復元W相センサ信号の電圧レベルがLo,Lo,HiからHi,Lo,Hiへと変化した場合、ドライバ30はモータ200が正転していると判定する。これとは異なり、復元U相センサ信号、復元V相センサ信号、復元W相センサ信号の電圧レベルがLo,Lo,HiからLo,Hi,Hiへと変化した場合、ドライバ30はモータ200が逆転していると判定する。このようにドライバ30は、図9に示す3つの復元センサ信号の電圧レベルの組み合わせが時間経過に伴って実線矢印で示すように左から右へと変化する場合にモータ200は正転していると判定する。それとは逆にドライバ30は、図9に示す3つの復元センサ信号の電圧レベルの組み合わせが時間経過に伴って破線矢印で示すように右から左へと変化する場合にモータ200は逆転していると判定する。
ドライバ30は上記したようにロータ210の現在の回転方向(実回転方向)を検出すると、その実回転方向とトルク方向信号に含まれる回転トルクの増減方向(トルク方向)とを比較する。ドライバ30は実回転方向とトルク方向の両者が一致する場合(回転を促進する方向の場合)に回転トルクの発生量が増加するようにインバータ40の駆動を制御する。具体的に言えば、例えばモータ200が正転している場合、図10に示すように制御信号をIからVIへと順次変化させる。こうすることで出力軸の回転が促進されて回転速度が速くなる。またドライバ30は実回転方向とトルク方向の両者が相違する場合(回転を妨げる方向の場合)に回転トルクの発生量が減少するようにインバータ40の駆動を制御する。具体的に言えば、例えばモータ200が正転していて、制御信号Iを出力していた場合、そこから回転角度で180°進んだ(遅れた)制御信号VIを出力する。そしてその後に制御信号をVIからVI、そしてIからVIへと順次変化させる。こうすることでトルクの発生方向が実回転方向とトルク方向の両者が一致する場合とは反対となり、出力軸の回転が妨げられて回転速度が遅くなる。なお出力軸を逆転させる場合、制御信号をVIからIへと順次逆向きに変化させる。
図10に記号Pで示すようにドライバ30は下段スイッチ42,44,46をオンオフ制御するが、それはPWM駆動信号のパルス周期およびパルス幅それぞれに基づいて行われる。下段スイッチ42,44,46それぞれが断続的にオン状態となる周期はPWM駆動信号のパルス周期に依存し、そのオン時間はPWM駆動信号のパルス幅に依存する。したがってPWM駆動信号のパルス幅が長くなると下段スイッチ42,44,46のオン時間が長くなり、PWM駆動信号のパルス幅が短くなると下段スイッチ42,44,46のオン時間が短くなる。オン時間が長くなるとトルクの発生量が増大し、それによってモータ200の回転を促進若しくは妨げる量が増大する。
以上示したように、目標回転数と現在回転数、回転方向、および、トルク方向とに基づいてドライバ30がインバータ40の駆動を制御する。こうすることで、モータ200の回転数が目標回転数に一致するように回転電流がステータコイル224〜226に流れ、カム位相が進角、遅角、若しくは、維持される。
インバータ40は図4に示すようにステータコイル224〜226それぞれに対応するスイッチ41〜46を有している。本実施形態においてスイッチ41〜46はそれぞれNチャネル型MOSFETであり、特許請求の範囲に記載のスイッチング素子に相当する。電源のプラス端子からマイナス端子に向かってU相スイッチ41,42、V相スイッチ43,44、および、W相スイッチ45,46それぞれが直列接続され、これら対を成す2つのスイッチが並列接続されている。そしてU相スイッチ41,42の中点にU相ステータコイル224の一端が接続され、V相スイッチ43,44の中点にV相ステータコイル225の一端が接続され、W相スイッチ45,46の中点にW相ステータコイル226の一端が接続されている。これらステータコイル224〜226それぞれの他端が互いに結線され、ステータコイル224〜226がY結線されている。
ドライバ30から制御信号I〜VIの内の1つが出力されると、図10に記号Hiで示すように3つの上段スイッチ41,43,45の内の1つがオン状態とされ、図10に記号Pで示すように3つの下段スイッチ42,44,46の内の1つが断続的にオン状態とされる。これにより電源のプラス端子側に接続された上段スイッチ41,43,45が順次オン状態とされ、電源のマイナス端子側に接続された下段スイッチ42,44,46が順次断続的にオン状態とされる。こうすることで3つのステータコイル224〜226の内の2つが電源のプラス端子とマイナス端子とに断続的に直列接続され、ステータコイルに回転電流が断続的に流れる。この結果回転トルクがロータ210に断続的に発生し、モータ200の出力軸が回転する。
上記したように回転角センサ70は3つのホール素子71〜73を有するが、図2に示すようにこれら3つのホール素子71〜73はロータ210の永久磁石212の上方に位置している。またこれも上記したように永久磁石212にて発生される磁束はロータ210が機械角で90°(電気角で360°)回転する毎に周期的に変化する。そのためロータ210が機械角で90°(電気角で360°)回転すると、3つのホール素子71〜73それぞれを透過する磁束の向きが反転する。図2および図3に示すように3つのホール素子71〜73はロータ210の軸周りにおいて機械角で隣接角度30°(電気角で120°)で設けられている。これにより3つのホール素子71〜73を透過する永久磁石212の磁束は電気角で120°ずれており、3つのホール素子71〜73から出力される検知信号の位相も120°ずれている。そして図11に示すように3つのホール素子71〜73の内の真ん中に位置する第2ホール素子72は、自身に最も近いW相ステータコイル226と機械角で7.5°(電気角で30°)ずれるように配置されている。以下においては特に断わらない限り、回転角度を電気角で表す。
以上のホール素子71〜73の配置構成により、図12の(a)に示すように磁石212のN極がV相ステータコイル225と対向している状態において第2ホール素子72がN極とS極との間に位置する。この場合ホール素子71,73それぞれの電圧レベルは変化しないが、第2ホール素子72の電圧レベルは変化する。これは図5に示す時間t1で生じ、その回転角度は0°である。その後、ロータ210の回転角度が60°になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t2までは電圧レベルが変化しない。
図12の(b)に示すように磁石212のN極がステータコイル225,226の間と対向している状態において第1ホール素子71がN極とS極との間に位置する。この場合ホール素子72,73それぞれの電圧レベルは変化しないが、第1ホール素子71の電圧レベルは変化する。これは図5に示す時間t2で生じ、その回転角度は60°である。その後、ロータ210の回転角度が120°になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t3までは電圧レベルが変化しない。
図12の(c)に示すように磁石212のN極がW相ステータコイル226と対向している状態において第3ホール素子73がN極とS極との間に位置する。この場合ホール素子71,72それぞれの電圧レベルは変化しないが、第3ホール素子73の電圧レベルは変化する。これは図5に示す時間t3で生じ、その回転角度は120°である。その後、ロータ210の回転角度が180°になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t4までは電圧レベルが変化しない。
図12の(d)に示すように磁石212のN極がステータコイル224,226の間と対向している状態において第2ホール素子72がN極とS極との間に位置する。この場合ホール素子71,73それぞれの電圧レベルは変化しないが、第2ホール素子72の電圧レベルは変化する。これは図5に示す時間t4で生じ、その回転角度は180°である。その後、ロータ210の回転角度が240°になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t5までは電圧レベルが変化しない。
図12の(e)に示すように磁石212のN極がU相ステータコイル224と対向している状態において第1ホール素子71がN極とS極との間に位置する。この場合ホール素子72,73それぞれの電圧レベルは変化しないが、第1ホール素子71の電圧レベルは変化する。これは図5に示す時間t5で生じ、その回転角度は240°である。その後、ロータ210の回転角度が300°になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t6までは電圧レベルが変化しない。
最後に図12の(f)に示すように磁石212のN極がステータコイル224,225の間と対向している状態において第3ホール素子73がN極とS極との間に位置する。この場合ホール素子71,72それぞれの電圧レベルは変化しないが、第3ホール素子73の電圧レベルは変化する。これは図5に示す時間t6で生じ、その回転角度は300°である。その後、ロータ210の回転角度が360°(0°)になるまでは3つのセンサ信号の電圧レベルが一定となる。すなわち図5に示す時間t7までは電圧レベルが変化しない。
回転検出部80は上記の3つのセンサ信号に基づいて回転信号を生成するものである。回転検出部80は図13に示すように、エッジ検出部81、角度方向判定部82、位置信号生成部83、マスク生成部84、および、信号合成部85を有する。エッジ検出部81には上記した3つのセンサ信号が入力される。これら3つのセンサ信号の内の1つは、上記したようにロータ210の回転角度が60°進む毎に電圧レベルが変化する。エッジ検出部81はこの3つのセンサ信号のパルスの立ち上がりエッジと立ち下がりエッジそれぞれを検出する度に1つのパルス(トリガ信号)を生成し、それを位置信号生成部83とマスク生成部84それぞれに出力する。以上によりロータ210が回転角度で60°進む毎にトリガ信号が位置信号生成部83とマスク生成部84それぞれに入力される。
角度方向判定部82は3つのセンサ信号に基づいてモータ200の回転角度と回転方向とを検出するものである。角度方向判定部82は図9に示すセンサ信号と回転角度との関係を記憶しており、この記憶と3つのセンサ信号とに基づいて回転角度を検出する。また角度方向判定部82は信号処理部21と同様にして、図9の関係と3つのセンサ信号の電圧レベルの変化パターンに基づいてモータ200の実回転方向を検出する。角度方向判定部82は回転角度を示す角度信号、および、回転方向を示す方向信号それぞれを位置信号生成部83に出力する。
位置信号生成部83は角度信号と方向信号とに基づいて同期信号と位置信号を生成し、トリガ信号が入力されるとそれを信号合成部85に出力するものである。位置信号生成部83は方向信号を読み込み、方向信号に含まれるモータ200の回転方向を検出する。また位置信号生成部83は角度信号を読み込み、その回転角度を検出する。そして位置信号生成部83は検出した回転角度を、モータ200の回転方向に回転角センサ70の回転角度分解能分だけ(60°だけ)進めた予測回転角度を検出する。位置信号生成部83はトリガ信号が入力されると、図6に示す回転方向の含まれた同期信号と図8に示す予測回転角度の含まれた位置信号を順に出力する。
例えば位置信号生成部83が上記したように予測回転角度ではなく角度信号に基づいて位置信号を生成した場合、図5に示す参考信号が回転検出部80から出力される。しかしながら上記したように位置信号生成部83は予測回転角度を位置信号に含ませるため、図5に斜線矢印で示すように参考信号よりも60°だけ位相の進んだ回転信号が回転検出部80から信号処理部21に出力される。図7に示すように予測回転角度はロータ210の実際の回転角度よりも60°進んだ角度となっている。したがって図8の(a)〜(f)の位置信号を信号処理部21が順に検出した場合、図5および図7に示す3つの復元センサ信号を生成し、それをドライバ30に出力する。ドライバ30は上記したように図9および図10の関係に基づいて制御信号I〜VIを順に出力する。
マスク生成部84は同期信号の検出タイミングを決定し、実回転数を計測するためのマスクを生成するものである。マスク生成部84はトリガ信号が入力されない限り、Hiレベルの信号を出力し続ける。しかしながらトリガ信号が入力されると、マスク生成部84は所定時間だけ出力信号の電圧レベルをLoレベルに下げる。このLoレベルに下げる時間は、同期信号と位置信号が位置信号生成部83から順次出力され終わるまでに要する時間よりも長く設定される。
信号合成部85はマスク生成部84から入力されるマスクと位置信号生成部83から入力される同期信号と位置信号を合成し、回転信号を生成するものである。具体的に言えば信号合成部85はORゲートであり、マスクの電圧レベルがLoレベルの時に同期信号と位置信号が信号合成部85からマスクとともに出力される。
以上の構成により、3つのセンサ信号の内の1つの電圧レベルが変化する毎に回転検出部80から回転信号が順次出力される。換言すれば、モータ200が60°回転する毎に回転検出部80から回転信号が順次出力される。
なお、モータ200が回転を停止した場合、センサ信号の電圧レベルは一定となり、エッジ検出部81にはセンサ信号のパルスの立ち上がりエッジや立ち下がりエッジが入力されなくなる。この場合エッジ検出部81からトリガ信号が出力されなくなり、信号合成部85からはHiレベルの信号が回転信号として出力され続けることとなる。この結果電子制御部20にて回転角度を検出することができなくなり、インバータ40の駆動を制御することができなくなる。そこで本実施形態に係る回転検出部80では、図13に示すように信号保持タイマ90からエッジ検出部81へとパルス信号が出力される構成となっている。信号保持タイマ90は時間を計測し、その計測時間が閾値時間(例えば50ms)を超えるとパルスをエッジ検出部81へと出力するものである。エッジ検出部81は3つのセンサ信号に含まれるパルスの立ち上がりエッジと立ち下がりエッジを検出する毎にトリガ信号を生成して出力するが、このトリガ信号は信号保持タイマ90にも入力される。信号保持タイマ90はトリガ信号が入力されると計測時間をリセットし、再び時間を計測することを始める。モータ200が回転し、センサ信号の電圧レベルが変化している場合、信号保持タイマ90の計測時間が閾値時間を超えることは無く、信号保持タイマ90からパルスがエッジ検出部81に入力されることはない。しかしながら上記したようにモータ200が回転を停止した場合、計測時間がリセットされないため、信号保持タイマ90からエッジ検出部81へと閾値時間経過毎にパルスが出力される。したがって閾値時間経過毎にエッジ検出部81からトリガ信号が出力され、信号合成部85から回転信号が出力される。これによりモータ200の停止時においても回転方向と予測回転角度を含む回転信号が電子制御部20に定期的に出力される。これによって電子制御部20はモータ200の停止時においてもインバータ40の駆動を制御することが可能となっている。
次に、信号処理部21の状態判定を図14〜図18に基づいて説明する。そしてその後に信号処理部21の具体的な処理フローを図19〜図22に基づいて説明する。上記したようにモータ200が回転を停止した場合、信号保持タイマ90によって定期的にパルスが出力される。そのため同期信号と位置信号を含む回転信号が定期的に回転検出部80から信号処理部21に出力される。しかしながらモータ200は回転していないため、定期的に出力される回転信号に含まれる位置信号は図14にハッチングで示すように同一となる。したがって信号処理部21は順次入力される回転信号に含まれる位置信号が同一の場合、モータ200は回転を停止していると判定する。
モータ200が正転している場合、回転信号に含まれる位置信号は、図8の(a)から(f)へと向かって順に変化することが期待される。しかしながら図15にて破線で囲って示すように次に来ることが期待される位置信号が回転信号に含まれていない場合、この回転信号を出力するセンサ部位(回転角センサ70、回転検出部80、および、回転信号線94の少なくとも1つ)に異常が生じた可能性がある。したがって信号処理部21は次に来ることが期待される位置信号を検出しなかった場合、センサ部位に異常が生じたと判定し、3つの復元センサの全てをLoレベルに固定する。この場合ドライバ30はスイッチ41〜46の全てをオフ状態として、モータ200の駆動を一時的に停止する。
図16にて破線で囲って示すように同期信号に異常が生じた場合、信号処理部21は同期信号を検出することができなくなる。この結果、信号処理部21は同期信号の次に来る位置信号を検出することができず、その位置信号に基づいて復元センサ信号を生成することができなくなる。この後に信号処理部21は同期信号を読み込めたとしても、その読み込んだ同期信号の次に検出する位置信号は、図16にて一点鎖線で示す位置信号である。この読み込んだ位置信号は、保持していた位置信号の次に来ることが期待される位置信号ではない。したがってこの場合、信号処理部21は上記したようにセンサ部位に異常が生じたと判定し、3つの復元センサの全てを一時的にLoレベルに固定する。これによりモータ200の駆動制御を一時的に停止する。
図17にて破線で囲って示すようにマスクの一部が立ち下がる異常が生じた場合、信号処理部21はその立ち上がりエッジの後に、図6に示す同期信号が入力されたか否かを判定する。信号処理部21は図5および図6に示す間隔β,γに基づいて、同期信号が正常か否かを検出するが、読み込んだ信号は同期信号ではないので、同期信号は異常であると判定する。この後に信号処理部21は同期信号を読み込めたとしても、その読み込んだ同期信号の次に検出する位置信号は、図17にて一点鎖線で示す位置信号である。この読み込んだ位置信号は、保持していた位置信号の次に来ることが期待される位置信号ではない。したがってこの場合、信号処理部21は上記したようにセンサ部位に異常が生じたと判定し、3つの復元センサの全てを一時的にLoレベルに固定する。これによりモータ200の駆動制御を一時的に停止する。
図18にてハッチングを変えて同期信号を示すように、モータ200の実回転方向が変化することがある。この場合、信号処理部21は逆転の同期信号を検出すると、その同期信号を検出する前に検出した位置信号を逆回転方向に60°進めた位置信号に基づいて復元センサ信号を生成する。
次に、信号処理部21の具体的な処理フローを図19〜図22に基づいて説明する。信号処理部21は、1つの回転信号が入力される毎にこの処理フローを開始から終了まで行うことを繰り返す。したがってこの処理フローは、iを1以上7以下の自然数とすると、図5に示す時間tiからti+1の期間毎に行われる。その期間はマスクの立ち下がりエッジ間隔に相当する。
信号処理部21はマスクの立ち下がりエッジを検出すると、ステップS10においてモータ回転数制御部23から入力されるトルク方向信号に基づいてトルク方向を判定する。信号処理部21はトルク方向の初期値としては正転方向に沿うトルク方向を記憶しており、これは順次入力されるトルク方向信号によって更新される。信号処理部21はステップS10の処理の後にステップS20へと進む。
ステップS20へ進むと信号処理部21は記憶している回転方向とトルク方向とが一致するか否かを判定する。信号処理部21は回転方向の初期値としては正転方向を記憶しており、これは順次入力される回転信号によって更新される。信号処理部21は回転方向とトルク方向とが一致する場合にステップS30へと進み、その反対に両者が相違する場合にステップS40へと進む。
ステップS30へ進むと信号処理部21は記憶している位置信号に基づく復元センサ信号を出力する。上記したようにモータ200が停止している場合においても回転検出部80から回転信号が定期的に送られてくるので、モータ200の復帰時においてはこの定期的に送られてくる回転信号に含まれる位置信号を信号処理部21は記憶している。信号処理部21はステップS30の処理の後にステップS40へと進む。
ステップS40へ進むと信号処理部21は回転数計測タイマ24の値(マスクの立ち下がりエッジ間の時間)を取り込み、これによってモータ200の回転数を計測してそれを保持する。この後に信号処理部21はステップS50へと進む。
ステップS50へ進むと信号処理部21は再び回転数を計測するために回転数計測タイマ24の値をリセットし、回転数計測タイマ24をゼロから計測し始めさせる。この後に信号処理部21はステップS60へと進む。
ステップS60へ進むと信号処理部21は同期信号を読み取ることができたか否かを判定する。すなわち図16に示すように同期信号が欠けていないか、若しくは、図17に示すようにマスクの立ち下がりエッジの入力後の信号が同期信号であるか否かを判定する。同期信号を読み取ることができたと判定すると信号処理部21は図20に示すステップS70へ進む。これとは反対に同期信号を読み取ることができない(同期信号が異常である)と判定すると信号処理部21は図22に示すステップS190へと進む。
ステップS70へ進むと信号処理部21は同期信号に含まれる回転方向を判定する。すなわち図6に示すように同期信号に含まれる1つめのパルスの立ち上がりエッジと2つめのパルスの立ち下がりエッジの間隔αが、α1なのかそれともα2なのかを判定する。間隔αがα1の場合、信号処理部21はモータ200が正転していると判定し、間隔αがα2の場合、信号処理部21はモータ200が逆転していると判定する。この後に信号処理部21はステップS80へと進む。
ステップS80へ進むと信号処理部21はステップS70にて判定した回転方向を保持し、ステップS90へと進む。
ステップS90へ進むと信号処理部21は、ステップS80にて新たに記憶(保持)した回転方向とステップS10にて読み込んだトルク方向が不一致か否かを判定する。信号処理部21は回転方向とトルク方向とが不一致と判定した場合にステップS100へと進み、その反対に両者が一致と判定した場合にステップS110へと進む。なお、新たに記憶した回転方向がトルク方向と不一致となる場合、回転方向が逆転したことを示している。
ステップS100へ進むと信号処理部21は記憶している位置信号よりも60°前の位置信号に基づく復元センサ信号を出力し、ステップS110へと進む。これにより同期信号の読み込み後すぐに、逆転方向に応じた復元センサ信号がドライバ30に出力される。
ステップS110へ進むと、ステップS60にて読み込んだ同期信号とともに1つの回転信号に含まれる位置信号を読み込み、それを保持する。この後に信号処理部21は図21に示すステップS120へと進む。
ステップS120へ進むと信号処理部21は新たに記憶(保持)した位置信号が図8に示す6つの正規の位置信号のいずれかであるか否かを判定する。信号処理部21は新たに記憶した位置信号が正規の信号であると判定するとステップS130へと進み、これとは反対に位置信号が正規の信号ではないと判定するとステップS140へと進む。
ステップS130へ進むと信号処理部21は新たに記憶した位置信号が以前記憶していた位置信号に対してステップS80にて記憶した回転方向に1つ進んだ位置信号に相当するか否かを、図8に示す関係に基づいて判定する。読み込んだ位置信号が以前記憶していた位置信号に対して回転方向に1つ進んだ位置信号であると判定すると信号処理部21はステップS150へと進む。そして信号処理部21はモータ200が正常回転していると判定し、1つの回転信号に対する処理を終了する。これとは異なり、例えば図15にて破線で囲って示すように読み込んだ位置信号が以前記憶していた位置信号に対して回転方向に1つ進んだ位置信号ではないと判定すると信号処理部21はステップS160へと進む。
ステップS160へ進むと信号処理部21は新たに記憶した位置信号が、以前記憶していた位置信号と同一か否かを判定する。図14に示すように両者が同一の場合に信号処理部21はステップS170へと進み、モータ200が回転を停止していると判定する。そして1つの回転信号に対する処理を終了する。これとは異なり、例えば図15にて破線で囲って示すように新たに記憶した位置信号が以前記憶していた位置信号とは異なると判定すると信号処理部21はステップS140へと進む。
フローを少し遡り、ステップS120において新たに記憶した位置信号が正規の信号ではないと判定すると信号処理部21はステップS140へと進む。同様にして、ステップS160において新たに記憶した位置信号が以前記憶していた位置信号ではないと判定すると信号処理部21はステップS140へと進む。ステップS140へ進むと信号処理部21は、位置信号が異常なので、センサ部位(回転角センサ70、回転検出部80、および、回転信号線94の少なくとも1つ)に異常が生じたと判定する。次いで信号処理部21はステップS180へと進み、3つの復元センサの電圧レベルを全てLoレベルにしてモータ200の制御を一時的に停止する。そして1つの回転信号に対する処理を終了する。
フローを遡り、図19に示すステップS60において同期信号が読み取れなかったと判定すると、信号処理部21は図22に示すステップS190へと進む。ステップS190へ進むと信号処理部21は同期信号を読み取れなかったので、記憶している位置信号に基づく復元センサ信号を出力する。そして信号処理部21はステップS200へと進む。
ステップS200へ進むと信号処理部21は、次に入力されるマスクの立ち下がりエッジを検出するべく、ステップS50以降において回転数計測タイマ24にて計測していた計測値に、ステップS40にて取り込んだ回転数計測タイマ24の値を加算する。そして信号処理部21は1つの回転信号に対する処理を終了する。
次に、本実施形態に係るモータ制御装置100の作用効果を説明する。上記したように1つの回転信号線94を介してアクチュエータユニット60からコントロールユニット10へとモータ200の回転状態を示す回転信号が出力される。これによれば電子制御部が回転検出部の機能を担い、3つのホール素子それぞれが3つの信号線を介してコントロールユニットに接続される構成と比べて、コントロールユニット10に接続される信号線の数が低減される。
上記したように信号処理部21は回転信号を読み込んだ後に、その回転信号に基づく復元センサ信号をドライバ30に出力し、ドライバ30は復元センサ信号に基づいてインバータ40を制御する。信号処理部21が回転信号を読み込む間に、モータ200は所定角度(電気角で60°)だけ回転する。そのためドライバ30が実際にインバータ40を制御しようとする際のモータ200の回転角度は、回転信号を生成した時の回転角度から、モータ200がその回転方向に電気角で60°だけ回転した時の回転角度となる。そこで上記したように回転検出部80は、モータ200が現在の回転角度からその回転方向に電気角で60°だけ回転した後の予測回転角度を回転信号に含ませる。これによりドライバ30がインバータ40を制御しようとする際のモータ200の回転角度と、回転信号に含まれる予測回転角度とが一致する。以上により、ドライバ30はモータ200の実際の回転角度に応じた制御信号をインバータ40に出力し、それによってモータ200の回転を制御することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
(第1の変形例)
本実施形態では回転検出部80が3つのセンサ信号に基づいてモータ200の回転角度と回転方向とを検出し、その回転方向に検出した回転角度を電気角で60°だけ進めた予測回転角度を回転信号に含ませる例を示した。しかしながらこの構成とは異なり、回転検出部80が3つのセンサ信号に基づいてモータ200の回転角度と回転方向とを検出し、その検出した回転角度そのものを回転信号に含ませてもよい。ただしこの場合、信号処理部21は回転信号を読み込んだ後、それに含まれる回転角度を回転方向に電気角で60°だけ進めた復元センサ信号を生成する。これによっても、本実施形態と同様にして、ドライバ30からモータ200の実際の回転角度に応じた制御信号がインバータ40に出力される。上記変形例の場合、図5に示す参考信号が回転信号に相当することとなる。
(その他の変形例)
本実施形態ではドライバ30がセンサ信号に基づいてモータ200の回転方向を検出する例を示した。しかしながらドライバ30に信号処理部21にて検出されたモータ200の回転方向が入力される構成を採用することもできる。
本実施形態では回転角センサ70がセンサ素子としてホール素子を有する例を示した。しかしながらセンサ素子としては磁気信号を電気信号に変換する磁電変換素子であれば適宜採用することができる。またセンサ素子の数として3つの例を示したが、センサ素子の数としては3つ以上であればよい。