説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
(実施形態の概要)
図1は、実施の形態の概要に係る制御装置の構成を示すブロック図である。図1において、制御装置100は、第1位相シフタ101と、第2位相シフタ102と、合成器103と、信号生成器104とを備える。制御装置100は、キャリア周波数fcで励磁されたレゾルバから出力された少なくとも2相の信号を変換処理して、2相の信号を所定の位相差とする。
第1位相シフタ101は、キャリア周波数fcより低い周波数f1の極で、レゾルバの第1位相信号の位相をシフトし、位相をシフトした第1位相信号を合成器103に出力する。
第2位相シフタ102は、キャリア周波数fcより高い周波数f2の極で、レゾルバの第2位相信号の位相をシフトし、位相をシフトした第2位相信号を合成器103に出力する。
信号生成器104は、キャリア信号の誤差成分を打ち消す補正信号を生成する。そして、信号生成器104は、キャリア信号の誤差成分を打ち消す補正信号を合成器103に出力する。
合成器103は、位相をシフトした第1位相信号と、位相をシフトした第2位相信号と、キャリア信号の誤差成分を打ち消す補正信号とを合成し、合成した信号を外部に出力する。
このように、実施形態の概要に係る制御装置は、レゾルバのキャリア信号に起因する誤差成分を打ち消す補正信号を生成し、補正信号を位相変調信号に重畳することにより、キャリア信号に起因するノイズを除去できる。
(実施の形態1)
実施の形態1では、実施の形態の概要で説明した制御装置100の詳細な構成及び制御装置100を用いたモータの制御について説明する。図2は、実施の形態1に係る制御装置の構成を示すブロック図である。図2において、図1と同一の構成については、同一の番号を付し、説明を省略する。
図2において、制御装置200は、アナログ回路300と、カウンタ回路400と、マイコン制御器500と、パワー回路600とを備える。そして、制御装置200は、レゾルバ201からの信号に基づいてモータ202の回転を制御する。レゾルバ201とモータ202は、ロータ部分が共に回転軸203に固定され、共に回転する。なお、マイコン制御器500とカウンタ回路400とを1つの半導体基板に形成された1つの半導体集積回路装置としてのマイクロプロセッサチップとし、アナログ回路300が1つの半導体基板に形成された1つの半導体集積回路装置としてのアナログフロントエンドチップとし、上記マイクロプロセッサチップとアナログフロントエンドチップとを樹脂によって封止された1つの半導体パーケージとされた半導体装置内に内蔵させて良い。あるいは、マイコン制御器500とカウンタ回路400とアナログ回路300とを1つの半導体基板に形成された1つの半導体集積回路装置とし、その半導体集積回路装置を樹脂によって封止された1つの半導体パーケージとされた半導体装置内に内蔵させて良い。レゾルバ201は、更に励磁コイル204と、検出コイル205と、検出コイル206とを備える。励磁コイル204は、入力された電気信号により磁場を発生するコイルである。検出コイル205及び206は、磁場の変動を検出して電気信号として出力するコイルである。
レゾルバ201では、励磁コイル204、検出コイル205及び検出コイル206がステータ部分に配置され、ロータ部分の回転により磁場の変動が検出される。レゾルバ201は、ロータの回転による磁場の変動を少なくとも2相以上の電気信号として検出できるものであれば良く、例えば、ロータ部分に励磁コイル204が配置され、検出コイル205及び検出コイル206がステータ部分に配置され、ロータ部分の回転による磁場の変動が検出されてもよい。
そして、検出コイル205と検出コイル206は、互いに所定の角度で配置されることにより、検出コイル205と検出コイル206は、磁場の変動を互いに異なる相の信号として検出する。例えば、検出コイル205と検出コイル206とが90°の角度で配置されることにより、検出コイル205で正弦波が検出され、検出コイル206で余弦波が検出される。
次にアナログ回路300の構成について説明する。アナログ回路300は、励磁回路301と、位相シフタ101と、位相シフタ102と、信号生成器104と、バンドパスフィルタ329と、OPアンプOP302、OP315、OP320、OP327及びOP330と、トランジスタTR303及びTR304と、ダイオードD305及びD306と、抵抗R145、R147、R311、R312、R313、R314、R316、R317、R318、R319、R325、R326及びR328と、キャパシタC146とを備える。また、抵抗R325、R326及びR328と、OPアンプOP327とで合成器103を構成する。
励磁回路301は、基準クロック信号を分周した周波数fcで正弦波のキャリア信号を生成し、キャリア信号をOPアンプOP302に出力する。
OPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304、ダイオードD305及びD306は、キャリア信号を増幅し、増幅後のキャリア信号をレゾルバ201の励磁コイル204に出力する。
OPアンプOP315及び抵抗R311、R312、R313及びR314は、差動アンプを構成し、検出コイル205において検出された信号を増幅して位相シフタ101に出力する。同様にOPアンプOP320及び抵抗R316、R317、R318、R319は、差動アンプを構成し、検出コイル206において検出された信号を増幅して位相シフタ102に出力する。
位相シフタ101の出力と位相シフタ102の出力は、それぞれ抵抗R325、R326を介して接続することにより、キャリア周波数をロータ回転角で位相変調された信号が得られる。さらに、キャリア信号の誤差成分を打ち消す補正信号が、抵抗R145、R147を介して位相変調された信号に合成される。これらの信号合成の詳細については後述する。
OPアンプOP327及び抵抗R328は反転増幅回路を構成し、キャリア周波数をロータ回転角で位相変調され、キャリア信号の誤差成分を打ち消された信号を増幅して、バンドパスフィルタ329に出力する。
バンドパスフィルタ329は、位相変調信号の所定の周波数範囲以外を減衰し、OPアンプOP330に出力する。例えば、所定の周波数範囲は、キャリア周波数がロータの回転速度により変化しうる範囲である。
OPアンプOP330は、コンパレータを構成して、位相変調信号を方形波に整形し、CLK同期回路403に出力する。
次にカウンタ回路400の構成について説明する。カウンタ回路400は、基準CLK回路401と、励磁CLK回路402と、位相差カウンタ404と、CLK同期回路403とを備える。
基準CLK回路401は、基準周波数の信号を生成し、生成した基準クロック信号を励磁CLK回路402、CLK同期回路403、位相差カウンタ404及びタイマ142に出力する。
励磁CLK回路402は、基準CLK回路401において生成された基準クロック信号を分周し、分周により得られたキャリア周波数のクロック信号を励磁回路301及び位相差カウンタ404に出力する。
CLK同期回路403は、整形された位相変調信号と整形されたキャリア信号とを同期検波し、検波信号を位相差カウンタ404及び位置演算器501に出力する。
位相差カウンタ404は、同期検波により得られた位相差を基準周波数の分解能で計数し、計数結果を位置演算器501及び三相変換器509に出力する。
次に、マイコン制御器500の構成について説明する。マイコン制御器500は、位置演算器501と、シリアル通信器502と、減算器503と、位置ゲイン演算器504と、微分処理器505と、減算器506と、速度ゲイン演算器507と、トルク演算器508と、三相変換器509と、乗算器510、511及び512とを備える。
位置演算器501は、検波信号と位相差の計数結果とから位置検出値を算出し、減算器503及び微分処理器505に出力する。
シリアル通信器502は、外部からの位置指示信号を受信し、位置指令値を減算器503に出力する。減算器503は、位置検出値から位置指令値を減算し、得られた位置偏差を位置ゲイン演算器504に出力する。
位置ゲイン演算器504は、位置偏差に所定の位置ゲインを乗じて、モータ202の目標速度を算出する。微分処理器505は、回転位置を表す検出信号を微分して、モータ202の回転速度を算出する。減算器506は、目標速度から速度検出値を減算し、得られた速度偏差を速度ゲイン演算器507に出力する。
速度ゲイン演算器507は、速度偏差に速度ゲインを乗じて、トルク指令値を算出する。トルク演算器508は、トルク指令値からモータ202の各相に流す電流指令値を算出する。三相変換器509は、位相差の計数結果から三相信号を生成し、三相信号を乗算器510、511及び512にそれぞれ出力する。
乗算器510、511及び512は、それぞれ電流指令値に三相信号を乗算して、三相の制御信号を生成し、三相の制御信号をパワー回路600に出力する。パワー回路600は、三相の制御信号に基づいてモータ202を三相PWM(Pulse Width Modulation)制御するインバータである。
次に、信号生成器104の内部構成及び周辺の構成について説明する。図2において、信号生成器104は、A/D変換器141と、タイマ142と、キャリア振幅位相補正器143と、D/A変換器144とを備える。
A/D変換器141は、合成器103において、位相をシフトした第1位相信号、位相をシフトした第2位相信号、及びキャリア信号の誤差成分を打ち消す補正信号が合成された信号をアナログ/デジタル変換し、変換後の信号をキャリア振幅位相補正器143に出力する。
タイマ142は、基準CLK回路401において生成された基準クロック信号を分周し、分周後の信号をキャリア振幅位相補正器143に出力する。なお、分周後の信号は、キャリア信号と同じ周波数の信号である。
キャリア振幅位相補正器143は、補正信号を生成して、D/A変換器144に出力する。またキャリア振幅位相補正器143は、キャリア誤差成分が最も小さくなるように補正信号の位相と振幅を任意に変更する。具体的には、キャリア振幅位相補正器143は、タイマ142において分周された信号を所定の振幅と所定の位相に設定して、補正信号を生成する。また、キャリア振幅位相補正器143は、位相と振幅を変化させることにより、キャリア誤差成分が最も小さくなる位相及び振幅を探す。そして、キャリア振幅位相補正器143は、キャリア誤差成分が最も小さくなるように、補正信号の位相及び振幅を設定する。位相と振幅の変更動作については後述する。
D/A変換器144は、補正信号をデジタル/アナログ変換し、変換後の補正信号を、抵抗R145、R147を介してOPアンプOP327の反転入力端子に出力する。
抵抗R145は、一端をD/A変換器144に接続し、他端を抵抗R147及びキャパシタC146に接続する。キャパシタC146は一端を抵抗R145に接続し、他端を接地する。このような構成により、抵抗R145とキャパシタC146はローパスフィルタを形成する。
以上の構成により、制御装置200はロータの回転角を検出し、モータを制御するが、制御装置200内の構成である位相シフタ101及び102は、位相をシフトできる構成であればいずれも適用できる。例えば、位相をシフトできる構成として、OPアンプを用いたオールパスフィルタが好適である。このOPアンプを用いた位相シフタについて図3を用いて説明する。図3は、実施の形態1の位相シフタの構成を示す回路図である。図3において、位相シフタ101は、OPアンプOP701と、抵抗R702、R703及びR704と、キャパシタC705とを備える。
レゾルバ201の検出コイル205からの信号は、抵抗R702を介してOPアンプ701の反転入力端子に接続し、抵抗R703を介してOPアンプ701の非反転入力端子に接続する。また、OPアンプ701の非反転入力端子は、キャパシタC705を介して接地される。また、OPアンプ701の出力端子は、抵抗R704を介してOPアンプ701の反転入力端子に接続する。
以上の構成により、位相シフタ101は、OPアンプを用いたオールパスフィルタを構成する。位相シフタ102についても同様の構成とすることができる。
位相シフト及び極はオールパスフィルタの伝達関数により決定できるので、抵抗R703のインピーダンス及びキャパシタC705のキャパシタンスは、所望の位相シフト及び極により決定される。
ここで、キャリア周波数fcと、位相シフタ101の極の周波数f1と、位相シフタ102の極の周波数f2とは、f1=fc/n且つf2=fc×n(nは任意の正の実数)を満たすことにより位相シフタ101の位相シフトと位相シフタ102位相シフトの差を90°とすることができる。
例えば、抵抗R702、R703及びR704のインピーダンスを100kΩとし、キャパシタC705のキャパシタンスを80pFとすることにより、f1=1.99kHzの極とすることができる。また、抵抗R702、R703及びR704のインピーダンスを100kΩとし、キャパシタC705のキャパシタンスを135pFとすることにより、f2=11.8kHzの極とすることができる。
f1=1.99Hz及びf2=11.8kHzは、キャリア周波数fc=4.88kHzに対してf1=fc/n且つf2=fc×n(nは任意の正の実数)の関係を満たしているので、位相シフタ101の位相シフトと位相シフタ102位相シフトの差を90°となる。
次に回転角の検出処理について図2と共に説明する。まず、励磁回路301において生成されたキャリア信号は、OPアンプOP302、トランジスタTR303及びTR304において増幅され、励磁コイル204に入力される。
励磁コイル204で発生した磁場は、レゾルバ201のロータ部分の回転により変動が生じる。そして、この磁気の変動が検出コイル205及び206において検出される。
例えば、正弦波sinωtのキャリア信号で励磁コイル204を1相励磁し、検出コイル205及び206において検出された2相出力信号を増幅すると、増幅後の2相出力信号X1、X2は、それぞれ
X1=n・E0・sinθ×sinωt
X2=n・E0・cosθ×sinωt
で定義される。ここで、ωはキャリア信号の角運動量(角速度)、tは時間、θはレゾルバ201のロータの回転角、E0は、キャリア信号の振幅、nはレゾルバ変圧比を示す。
ここで位相シフタ101における位相シフトφ1、位相シフタ102における位相シフトφ2とし、位相シフタ101及び102にオールパスフィルタを用いると、φ1−φ2=−90°に設計できる。例えば、キャリア周波数fc=4.88kHzに対して、位相シフタ101の極の周波数を1.99Hz、位相シフタ102の極の周波数を11.8kHzとすることにより、φ1−φ2=−90°とすることができる。
そして位相シフタ101及び102におけるフィルタ後の信号は、
X1=n・E0・sinθ×sin(ωt−φ1)
X2=n・E0・cosθ×sin(ωt−φ2)
で定義される。
ここで、−φ2=−φ1−90°の関係より以下の関係式が導き出される。
X2=n・E0・cosθ×sin(ωt−φ1−90°)
=−n・E0・cosθ×cos(ωt−φ1)
合成器103において、位相シフタ102及び103における位相シフト後の信号X1とX2が合成される。ここで、X1とX2を加算すると、以下の関係式が導き出される。
Y=X1+X2
=n・E0・sinθ×sin(ωt−φ1)−n・E0・cosθ×cos(ωt−φ1)
=−n・E0・cos(ωt−φ1+θ)
すなわち、キャリア周波数(角周波数)ωがロータ回転角θで位相変調された信号が得られる。図4は、キャリア信号と位相変調された信号の例を示すグラフである。図4において、縦軸は振幅を示し、横軸は時間を示す。図4に示すように、キャリア信号と位相変調された信号とは、周波数が同じで位相が異なる信号である。したがって、キャリア信号と位相変調された信号との位相差により、ロータの回転角を算出することができる。
例えば、位相変調された信号を方形波に整形し、キャリア周波数のクロック信号との位相差を検出する方法が好適である。図5は、キャリア周波数のクロック信号と整形後の位相変調された信号の位相差を示すグラフである。図5において、縦軸は振幅を示し、横軸は時間を示す。図5に示すように、キャリア周波数のクロック信号と整形後の位相変調された信号とは、ロータの回転角に対応する位相差がある。
CLK同期回路403において、このキャリア周波数ωがロータ回転角θで位相変調された信号と、キャリア周波数のクロック信号とを同期化することにより、検波信号を得る。
上述のロータ回転角の算出方法によれば、キャリア周波数fcより低い周波数f1の極で、レゾルバの第1位相信号の位相をシフトし、キャリア周波数fcより高い周波数f2の極で、レゾルバの第2位相信号の位相をシフトし、位相をシフトした第1位相信号と、位相をシフトした第2位相信号とを合成することにより、検出角度の精度が良く、且つ回路規模が小さい制御装置を提供することができる。
そして、得られた検出信号に基づき、マイコン制御器500及びパワー回路600において、モータが制御される。
次に、キャリア信号の誤差成分について説明する。図6は、キャリア誤差成分がない場合のキャリア信号及びレゾルバ信号の例を示す図である。図6において、縦軸は振幅を示し、横軸は時間を示す。キャリア誤差成分がない場合、図6に示すように、レゾルバ信号は、キャリア信号がレゾルバのロータの回転角で変調された位相変調信号であり、それぞれ正弦波、余弦波の波形である。またレゾルバ信号の包絡線も、それぞれ、ノイズのない波形である。
一方、レゾルバに巻き線バラツキがあると、位相変調信号に固定位相のキャリア信号がキヤリア誤差成分(残留成分)として残ってしまう。図7は、キャリア誤差成分がある場合のキャリア信号及びレゾルバ信号の例を示す図である。図7において、縦軸は振幅を示し、横軸は時間を示す。キャリア誤差成分がある場合、図7に示すように、レゾルバ信号は、キャリア誤差成分を含むキャリア信号がレゾルバのロータの回転角で変調された位相変調信号となるので、キャリア誤差成分もロータの回転角で変調される。
キャリア誤差成分がある場合、2相出力信号X1、X2は、それぞれ
X1=n・E0・(α+sinθ)×sinωt
X2=n・E0・(β+cosθ)×sinωt
となる。ここで、ωはキャリア信号の角運動量(角速度)、tは時間、θはレゾルバ201のロータの回転角、E0は、キャリア信号の振幅、nはレゾルバ変圧比、α及びβは誤差成分を示す。
そして位相シフタ101及び102におけるフィルタ後の信号は、
X1=n・E0・(α+sinθ)×sin(ωt−φ1)
X2=n・E0・(β+cosθ)×sin(ωt−φ2)
となる。
ここで上述したように、−φ2=−φ1−90°の関係より以下の関係式が導き出される。
X2=n・E0・(β+cosθ)×sin(ωt−φ1−90°)
=−n・E0・(β+cosθ)×cos(ωt−φ1)
合成器103において、位相シフタ102及び103における位相シフト後の信号X1とX2が合成される。ここで、X1とX2を加算すると、以下の関係式が導き出される。
Y=X1+X2
=n・E0・(α+sinθ)×sin(ωt−φ1)−n・E0・(β+cosθ)×cos(ωt−φ1)
最終的にX1とX2の加算結果として、以下の式が導き出される。以下の式の第2項がキャリア誤差成分に該当する。信号生成器104は、以下の式の第2項に該当する誤差成分を打ち消す補正信号を生成することになる。
合成器103における合成後の信号について、キャリア誤差成分の有無を図8及び9に示す。図8は、キャリア誤差成分がない場合の合成後の信号の例を示す図である。図8において、縦軸は振幅を示し、横軸は時間を示す。キャリア誤差成分がない場合、図8に示すように、合成後の信号は、キャリア信号がレゾルバのロータの回転角で変調された位相変調信号であり、余弦波の波形である。
図9は、キャリア誤差成分がある場合の合成後の信号の例を示す図である。図9において、縦軸は振幅を示し、横軸は時間を示す。キャリア誤差成分がある場合、図9に示すように、合成後の信号は、キャリア信号がレゾルバのロータの回転角で変調された位相変調信号に、キャリア誤差成分が加えられた波形となっている。制御装置100は、このキャリア誤差成分を打ち消す。
次に制御装置100の動作について説明する。図10及び図11は、実施の形態1に係る制御装置の動作の一例を示すフローチャートである。
まずステップS1001において、レゾルバ201の励磁コイル204にキャリア信号を印加し、振幅と位相が初期値に設定された補正信号が合成器104に印加され、ステップS1002に進む。
ステップS1002において、モータ202を一定速度で連続回転させ、ステップS1003に進む。
ステップS1003において、合成器103において合成された合成信号がピークタイミングでA/D変換され、ステップS1004に進む。
ステップS1004において、A/D変換された合成信号が位相別でキャリア振幅位相補正器143にバッファされ、ステップS1005に進む。
ステップS1005において、モータ202が一回転した場合、ステップS1006に進み、モータ202が一回転していない場合、ステップS1003に戻る。
ステップS1006において、キャリア振幅位相補正器143において、バッファされた合成信号のピーク値の最大値と、ピーク値の最小値の差からキャリア誤差成分(残留誤差)の振幅が算出され、ステップS1007に進む。
ステップS1007において、キャリア振幅位相補正器143において、補正信号の位相が所定量(所定角度単位で)変更され、ステップS1008に進む。
ステップS1008において、キャリア振幅位相補正器143において、補正信号の位相の変更が360°に達しているか否か判断される。補正信号の位相の変更が360°に達している場合、ステップS1009に進む。また、補正信号の位相の変更が360°に達していない場合、ステップS1003に戻る。
ステップS1009において、キャリア振幅位相補正器143において、キャリア誤差成分が最も小さくなる、補正信号の位相が決定される。具体的には、ステップS1003からステップS1008の処理が0°から360°まで位相別に行われ、キャリア誤差成分が最も小さくなった位相が、補正信号の位相に設定される。この設定された位相の補正信号で、ステップS1010以降の処理が行われる。
ステップS1010において、ステップS1009で位相が設定された補正信号、位相をシフトした第1位相信号、及び位相をシフトした第2位相信号が合成された合成信号が、ピークタイミングでA/D変換され、ステップS1011に進む。
ステップS1011において、A/D変換された合成信号が位相別でキャリア振幅位相補正器143にバッファされ、ステップS1012に進む。
ステップS1012において、モータ202が一回転した場合、ステップS1013に進み、モータ202が一回転していない場合、ステップS1010に戻る。
ステップS1013において、キャリア振幅位相補正器143において、バッファされた合成信号のピーク値の最大値と、ピーク値の最小値の差からキャリア誤差成分(残留誤差)の振幅が算出され、ステップS1014に進む。
ステップS1014において、キャリア振幅位相補正器143において、補正信号の振幅が所定量変更され、ステップS1015に進む。
ステップS1015において、キャリア振幅位相補正器143において、補正信号の振幅の変更が、調整可能な範囲全てに渡って行われたか否か判断される。補正信号の振幅の変更が調整可能な範囲全てに渡って行われている場合、ステップS1016に進む。また、補正信号の振幅の変更が調整可能な範囲全てに渡って行われていない場合、ステップS1010に戻る。
ステップS1016において、キャリア振幅位相補正器143において、キャリア誤差成分が最も小さくなる、補正信号の振幅が決定され、振幅と位相の設定処理が終了する。具体的には、ステップS1010からステップS1015の処理が調整可能な範囲の振幅全てに行われ、キャリア誤差成分が最も小さくなった振幅が、補正信号の振幅に設定される。
この動作は出荷時の校正動作で、一度だけ実行すれば良い。したがって、位相及び振幅の設定した値は、マイコン制御器500内の不揮発メモリに格納しても良い。また、この動作が出荷後に行われても良い。例えば、この動作が電源投入時などに行う初期化動作時に行われても良い。
このように実施の形態1の制御装置によれば、巻き線誤差の影響で発生するレゾルバのキャリア誤差成分(残留成分)を打ち消す補正信号を生成し、誤差成分が最小となる補正信号の位相と振幅をサーチして、補正信号を位相変調信号に重畳することにより、キャリア信号に起因するノイズを除去することができる。
(実施の形態2)
実施の形態2では、レゾルバに4相コイルを用いる例について説明する。図12は、実施の形態2に係る信号変換器及び制御装置の構成を示すブロック図である。
図12において、図2と同一の構成については、同一の番号を付し、説明を省略する。図12において、制御装置800は、コイル801、802、803及び804と、抵抗R811、R812、R813、R814とを備える。
励磁回路301は、基準クロック信号を分周した周波数fcで正弦波のキャリア信号を生成し、キャリア信号をOPアンプOP302に出力する。OPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304、ダイオードD305及びD306は、キャリア信号を増幅し、増幅後のキャリア信号をレゾルバ201のコイル801、802、803及び804に出力する。
コイル801は、一方をOPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304から構成される増幅回路の出力に接続され、他方をOPアンプOP315の反転入力端子に接続される。
また、コイル803は、一方をOPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304から構成される増幅回路の出力に接続され、他方をOPアンプOP315の非反転入力端子に接続する。
OPアンプOP315は、0相のコイル801と180相のコイル803の出力を差動増幅する差動アンプを構成する。
同様に、コイル802は、一方をOPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304から構成される増幅回路の出力に接続され、他方をOPアンプOP320の反転入力端子に接続される。
また、コイル804は、一方をOPアンプOP302、プッシュプル接続されたトランジスタTR303及びTR304から構成される増幅回路の出力に接続され、他方をOPアンプOP320の非反転入力端子に接続する。
OPアンプOP320は、90相のコイル802と270相のコイル804の出力を差動増幅する差動アンプを構成する。
このように、実施の形態2の信号変換器及び制御装置は、レゾルバに4相コイルを用いてロータの回転角度を精度良く検出することができる。
(実施の形態3)
実施の形態3では、実施の形態1または2の信号生成器104の詳細な構成について説明する。図13は、実施の形態3に係る信号生成器の構成を示すブロック図である。図13において、信号生成器104は、A/D変換器141と、タイマ142と、キャリア振幅位相補正器143と、D/A変換器144とを備える。タイマ142は、タイミングカウンタ1301を備える。キャリア振幅位相補正器143は、カウンタ1302と、データテーブル1303を備える。D/A変換器144は、パルス発生器1304と、ローパスフィルタ1305を備える。
タイミングカウンタ1301は、基準クロック信号を分周し、分周後の信号をカウンタ1302に出力する。この分周後の信号は、PWM Dutyを変更するタイミング信号である。そして、この信号に基づいて、CMI(Compere Match Interrupt)1割り込み処理が行われる。
カウンタ1302は、CMI1割り込みの信号を受けた回数をPWM Dutyデータ指定カウンタとして計数し、PWM Dutyデータ指定カウンタをデータテーブル1303に出力する。
データテーブル1303は、PWM Dutyデータ指定カウンタと、PWM Dutyデータ指定カウンタに対応する正弦波のパターンとを関連づけて記憶している。そして、データテーブル1303は、PWM Dutyデータ指定カウンタに対応する正弦波のパターンをパルス発生器1304に出力する。
たとえば、カウンタ1302がPWM Dutyデータ指定カウンタを0から99までカウントする場合、データテーブル1303は、0から99まで100通りの正弦波のパターンを記憶する。なお、この正弦波のパターンは、波形及び周期を定義するものであれば、いずれも適用できる。
パルス発生器1304は、カウンタ1302から出力された正弦波のパターンに基づいてPWMパルス信号を生成する。そして、パルス発生器1304は、PWMパルス信号をローパスフィルタ1305に出力する。そして、カウンタ1302から出力された正弦波のパターンが変更された場合、パルス発生器1304は、変更後の正弦波のパターンを繰り返すPWMパルス信号を生成する。
ローパスフィルタ1305は、パルス発生器1304において生成されたPWMパルス信号の高周波成分を減衰させる。減衰後の補正信号は、抵抗R145、R147を介してOPアンプOP327の反転入力端子に出力される。
以上の構成により、信号生成器104は、補正信号の位相を変えることができる。信号生成器104は、A/D変換器141の振幅測定結果をモニターしながら、データ指定カウンタ(データテーブルのインデックスに相当)の初期値を変えることにより、補正信号の位相を変えることができる。なお、信号生成器104は、同じくA/D変換器141の振幅測定結果をモニターしながら、データテーブル値に掛ける係数を変える若しくは別の正弦波発生テーブルを参照することにより、補正信号の振幅を変えることもできる。
次に、信号生成器104の動作について説明する。図14は、補正信号のPWMデューティを変更するタイミングを示すタイミング図である。図14において、横軸は時刻を示す。また、図14では、上からCMI1信号、CMI1割り込み処理、TCORA(Time COnstant Register A)、データ指定カウンタを示している。
信号生成器104において、CMI1信号が所定の時間間隔でタイミングカウンタ1301からカウンタ1302に出力される。CMI1信号による割り込み処理が入ると、PWM Dutyデータ指定カウンタで指示されるデータテーブルの値にTCORAを書き換える。そして、カウンタ1302は、データ指定カウンタをカウントアップする。このカウントアップしたデータ指定カウンタは、次のCMI1割り込み処理において、TCORAに反映される。
以上の動作により、信号生成器104は、割り込み処理が入る毎に正弦波のパターンを変更することができる。
次に、PWMパルスタイミングについて説明する。図15は、PWMパルスタイミングを示すタイミング図である。図15において、横軸は時刻を示す。また、図15では、上からTMO1(TiMe Out 1)、TCNT(Timer CouNTer)、PCLK(Peripheral CLocK)を示す。TCNTは、PWMパルス信号の最小区間に対応する。
図15では、PWMのデューティの分解能を40とし、PWMパルス信号の振幅を変える例について説明する。
図15に示すように、TCORAは、TMO1に示すPWMパルス中で信号がオンになっている期間である。したがって、TCORAを変化させることにより、信号の振幅を制御することができる。また、TCORB(Time COnstant Register B)は、PWMパルスの周期を示す。
PWMのデューティの解像度を40とした場合、TCORAは、TCORBの1/40〜40/40の値を取りうる。このTCORAを変化させてPWMパルスのデューティ比を変化させることにより、信号の振幅を制御することができる。
このように、実施の形態3の信号生成器によれば、PWMデューティを変更するタイミングの割り込み回数をカウントし、カウントした回数に対応する正弦波パターンに基づいてPWMパルス信号を生成することにより、補正信号の位相及び/または振幅を変えることができる。
なお、上記各実施の形態において、カウンタ回路400及びマイコン制御器500は、ASIC(Application Specific Integrated Circuit)等のハードウェアまたはソフトウェアで実施できる。また、処理の一部をソフトウェアで実施し、それ以外をハードウェアで実施することとしても良い。ソフトウェアで実施する際には、マイクロプロセッサ等の1つあるいは複数のCPU(Central Processing Unit)を有するコンピュータシステムに機能ブロックの処理に関するプログラムを実行させればよい。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
たとえば、キャリア周波数及び位相シフトは、いずれも上記実施の形態の数値に限定されるものではない。