(57)【特許請求の範囲】
【請求項１】
角度の入力を受け該角度に基づいて、モータの出力トルクを指令値通りに制御周期ごとに制御するための該制御周期ごとの該指令値を生成する指令部と、
前記モータの出力トルクを計測した第１の計測値を生成する第１の計測部と、
前記指令値と前記第１の計測値との双方を入力し該指令値と該第１の計測値とが一致するように前記モータの回転を制御する制御部と、
前記モータの回転速度を計測する第２の計測部と、
前記回転速度を第１の角度に変換する第１の角度変換部と、
前記制御部への前記指令値の入力タイミングから該指令値が反映された前記第１の計測値の該制御部への入力タイミングまでの遅れ時間に相当する時間を、前記回転速度に応じた、前記制御周期よりも精細な分解能で表わした第２の角度に変換する第２の角度変換部と、
前記第１の角度と前記第２の角度とを加算して第３の角度を生成する加算部とを有し、
前記指令部が、前記第３の角度の入力を受け該第３の角度に基づいて前記指令値を生成するものであることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばモータに自動車のエンジンの動作を模擬させたシステムにおけるモータの制御等、制御対象物の制御を行なう制御装置に関する。
【背景技術】
【０００２】
従来より、制御対象物に指令値通りの動作を行なわせるために、その制御対象物の動作を計測して計測値を求め、その計測値が指令値と一致するように制御対象物を制御する、いわゆるフィードバック制御が行なわれている。
【０００３】
このフィードバック制御の場合、指令値の入力タイミングからその指令値が反映された計測値の入力タイミングまでの遅れ時間が制御対象物の動作に影響を与え、正確な制御を行なうことができない場合がある。
【０００４】
これを解消するために、従来より、例えば応答遅れ時間を学習してその応答遅れ時間学習値をディレイ時間として設定する提案や、制御系等による制御遅れを補償する補償回路の提案、フィードフォワードによる遅れ補正を行なう提案がなされている。
【０００５】
しかしながら、近年では制御はデジタル的に一定の制御時間間隔ごとに行なわれるため、例えば遅れ時間が０．０１２３４５６７８９ｓｅｃであって制御時間間隔が０．０１ｓｅｃ間隔であった場合、遅れ時間０．０１ｓｅｃに相当する補償を行なうことになり、０．００２３４５６７８９ｓｅｃ分の補償誤差が生じる。制御時間間隔が０．００１ｓｅｃ間隔であったとしても、遅れ時間０．０１２ｓｅｃに相当する補償を行なうことになるため、０．０００３４５６７８９ｓｅｃ相当の誤差が生じる。近年では、極めて高精度な制御を行なうことが要求されることも多い。ところが、無視できるレベルの誤差で遅れ時間を設定できる程度に制御時間間隔を狭めることは、制御装置の動作速度等の関係から困難な場合も多い。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１７７２４６号公報
【特許文献２】特開平９−１３１０７０号公報
【特許文献３】特開２００５−１９２３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記事情に鑑み、制御系の遅れ時間を高精度に補償した制御を行なうことが可能な制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明の制御装置は、
角度の入力を受けその角度に基づいて、モータの出力トルクを指令値通りに制御周期ごとに制御するための制御周期ごとの指令値を生成する指令部と、
モータの出力トルクを計測した第１の計測値を生成する第１の計測部と、
指令値と第１の計測値との双方を入力し指令値と第１の計測値とが一致するようにモータの回転を制御する制御部と、
モータの回転速度を計測する第２の計測部と、
上記回転速度を第１の角度に変換する第１の角度変換部と、
制御部への指令値の入力タイミングからその指令値が反映された第１の計測値の制御部への入力タイミングまでの遅れ時間に相当する時間を、上記回転速度に応じた、上記制御周期よりも精細な分解能で表わした第２の角度に変換する第２の角度変換部と、
上記第１の角度と上記第２の角度とを加算して第３の角度を生成する加算部とを有し、
上記指令部が、上記第３の角度の入力を受けその第３の角度に基づいて指令値を生成するものであることを特徴とする。
【発明の効果】
【００１０】
上記指令部には角度が入力され、その角度に基づいて指令値が生成される。指令値の生成は一定の制御時間間隔で行なわれるシステムであっても、角度自体は十分な桁数の数値で設定できるように、その指令部を構成することは容易である。
【００１１】
本発明は、回転速度と遅延時間をそれぞれ角度に変換して、互いに加算し、その加算した角度を指令部に入力する構成としたため、指令部からはその遅延時間が正確に反映された指令値を生成することができ、高精度な制御が可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態の制御装置の制御対象であるモータを含む、自動車のシミュレートシステムを示す図である。
【図２】比較例としての制御装置を示すブロック図である。
【図３】トルク指令値とトルク計測値の一例を示す図である。
【図４】本発明の一実施形態の制御装置のブロック図である。
【図５】図４に１つのブロックで示す遅れ時間・進角変換部の内部構成を示したブロック図である。
【図６】図４に示す制御装置における、トルク指令値とトルク計測値の一例を示す図である。
【図７】演算周期ごとに直接的に補償しようとした場合の誤差の説明図である。
【図８】演算周期分解能と角度分解能との関係を示した図である。
【図９】シミュレート結果を示した図である。
【図１０】図９の区間Ｘについて時間軸（横軸）を拡大して示した図である。
【図１１】図９の区間Ｙについて時間軸（横軸）を拡大して示した図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を説明する。
【００１４】
図１は、本発明の一実施形態の制御装置の制御対象であるモータを含む、自動車のシミュレートシステムを示す図である。
【００１５】
この図１には、自動車のエンジン模擬用のモータ１０が示されている。このモータ１０は、本発明の一実施形態の制御装置（後述する）が制御対象としているモータである。このモータ１０の出力軸には、自動車のトランスミッション２０が接続されている。また、このモータ１０の出力軸には、その出力軸のトルクと回転速度を計測する計測器５０が備えられている。さらに、このシステム１には、左右の車輪模擬用の２台のモータ３０，４０が接続されている。
【００１６】
２台のモータ３０，４０からは、様々な道路条件、例えば平坦なアスファルト面、登り坂等における車輪の負荷が模擬される。また、モータ１０はエンジン模擬用であって、実物のエンジンによるトルク変動を伴う出力と同等の出力が生成される。
【００１７】
ここでは、エンジン模擬用のモータ１０を制御する制御装置について説明する。
【００１８】
尚、モータ３０，４０の制御は公知の従来通りのものを用いることとし、ここでは、それらのモータ３０，４０の制御についての説明は割愛する。
【００１９】
以下では、図１に示すシステム１のモータ１０の制御を担う制御装置に関し、先ずは比較例の制御装置を説明し、その後、本発明の一実施形態としての制御装置を説明する。
【００２０】
図２は、比較例としての制御装置を示すブロック図である。
【００２１】
この制御装置１００Ａには、モータ制御器１１０が備えられている。このモータ制御器１１０から出力された制御信号はインバータ６０に入力され、インバータ６０はその制御信号に応じてモータ１０を駆動する。モータ１０の出力軸はトランスミッション２０に連結されており、その出力軸のトルクと回転速度を計測する計測器５０が備えられている。その計測器５０で計測されたトルク計測値は、モータ制御器１１０にフィードバックされる。
【００２２】
また、計測器５０で計測されたモータ１０の回転速度はクランク角度演算器１２０に入力されて、その回転速度［ｒ／ｍｉｎ］が、時間積算によりクランク角度［ｄｅｇ］に変換される。このクランク角度は、エンジンモデル１３０に入力される。このエンジンモデル１３０は、入力されたクランク角度に基づいてトルク指令値を生成する演算器である。このエンジンモデル１３０で生成されたトルク指令値はモータ制御器１１０に入力される。モータ制御器１１０はエンジンモデル１３０で生成されたトルク指令値と計測器５０で計測されたトルク計測値の入力を受け、トルク計測値がトルク指令値と一致するように制御するための制御信号が生成される。この制御信号は、上述の通り、インバータ６０に入力され、インバータ６０は、モータ１０をその制御信号に応じて駆動する。
【００２３】
図３は、トルク指令値とトルク計測値の一例を示す図である。
【００２４】
ここでは、４サイクルエンジンの動作を模擬しており、クランク角度０［ｄｅｇ］〜７２０［ｄｅｇ］の中でトルクが大きく４回上下動している。
【００２５】
この図３では、トルク計測値は、トルク指令値に比べ遅れている。この遅れは、モータ制御器１１０にトルク指令値が入力されてから、そのモータ制御器１１０に、そのトルク指令値が反映されたトルク計測値が入力されるまでの間の時間遅れである。すなわち、この場合、トランスミッション２０には、モータ１０から意図したタイミングよりも遅れたタイミングでトルクが伝達されることになり、その分シミュレートに誤差を生じ高精度なシミュレートが行なわれない。
【００２６】
以下に説明する実施形態の制御装置は、エンジンモデル１３０から、トルク指令値を、この遅れ時間相当分だけ早いタイミングでモータ制御器１１０に供給することにある。この実施形態の制御装置では、その遅れ時間相当分の時間を角度に変換し、その角度分だけ補正したクランク角度を算出して補正後のクランク角度をエンジンモデル１３０に入力する構成とし、この構成により、制御装置の演算周期の分解能に左右されない正確な補償を実現している。
【００２７】
図４は、本発明の一実施形態の制御装置のブロック図である。この図４に示す制御装置１００Ｂは、図２に示す比較例の制御装置１００Ａと同一の構成要素に、さらに遅れ時間・進角変換部１４０と加算器１５０が追加されている。この遅れ時間・進角変換部１４０は、本発明にいう第２の角度変換部の一例に相当する。また、加算器１５０は、本発明にいう加算部の一例に相当する。さらに、モータ制御器１１０、クランク角度演算器１２０、およびエンジンモデル１３０は、本発明にいう、それぞれ、制御部、第１の角度変換部、および指令部の各一例に相当する。また、計測器５０は、本発明にいう第１の計測器の一例と第２の計測器の一例との双方に相当する。
【００２８】
図５は、図４に１つのブロックで示す遅れ時間・進角変換部の内部構成を示したブロック図である。
【００２９】
この遅れ時間・進角変換部１４０には、計測器５０で計測された回転速度［ｒ／ｍｉｎ］が入力され、また、上述の遅れ時間に相当する時間［ｓ］が設定されている。
【００３０】
この遅れ時間・進角変換部１４０では、入力されてきた回転速度［ｒ／ｍｉｎ］に（２π／６０）が乗算されて角速度［ｒａｄ／ｓ］が求められ、この角速度［ｒａｄ／ｓ］に遅れ時間に相当する時間［ｓ］が乗算され、さらに（３６０／２π）が乗算されて、遅れ時間を角度に変換した補正値［ｄｅｇ］が生成される。図４にも示す加算器１５０では、この補正値［ｄｅｇ］が、クランク角度演算器１２０により算出されたクランク角度［ｄｅｇ］に加算されることにより、クランク角度［ｄｅｇ］がその補正値［ｄｅｇ］だけ進められたクランク角度に補正される。この補正後のクランク角度［ｄｅｇ］は、図４に示すエンジンモデル１３０に入力される。したがって、エンジンモデル１３０からは、本来のタイミングよりもその補正値［ｄｅｇ］分だけ進んだ、進角済みのトルク指令値が出力される。
【００３１】
図６は、図４に示す制御装置における、トルク指令値とトルク計測値の一例を示す図である。
【００３２】
この図６には、上から順に、本来のタイミングのトルク指令値と、トルク計測値と、進角済みのトルク指令値が示されている。進角済みのトルク指令値は、本来のタイミングのトルク指令値に対し上述の補正値［ｄｅｇ］だけ進んでいる。したがってトルク計測値は本来のタイミングのトルク指令値とほとんど誤差なしに一致している。
【００３３】
図４に示す制御装置１００Ｂの場合、遅れ時間に相当する時間を一度設定しておくだけで、その時間が、演算周期ごとにその時点の回転速度に応じた角度補正値［ｄｅｇ］に変換され、その角度補正値［ｄｅｇ］によりクランク角度［ｄｅｇ］が補正される。このように、本実施形態の制御装置１００Ｂによれば、遅れ時間が容易に補償される。
【００３４】
また、以下に説明するように、本実施形態の場合、極めて高精度な補正が行なわれる。
【００３５】
図７は、演算周期ごとに直接的に補償しようとした場合の誤差の説明図である。また、図８は、演算周期分解能と角度分解能との関係を示した図である。
【００３６】
ここでは、回転速度＝１０００［ｒ／ｍｉｎ］の場合について例示する。
【００３７】
この図７のＮｏ．１〜Ｎｏ．５のいずれも、回転速度＝１０００［ｒ／ｍｉｎ］であって、かつ遅れ時間＝０．０１２３４５６７８９［ｓ］であるとする。これらの回転速度＝１０００［ｒ／ｍｉｎ］と遅れ時間＝０．０１２３４５６７８９［ｓ］とから、その遅れ時間をその回転速度に応じた角度［ｄｅｇ］に変換すると、「遅れ時間による設定したい角度＝７４．０７４０７３４［ｄｅｇ］となる。Ｎｏ．１〜Ｎｏ．５における制御周期を、それぞれ０．０１［ｓ］、０．００１［ｓ］、…、０．０００００１［ｓ］とすると、その制御周期［ｓ］に応じた固定演算周期で設定した遅れ時間は、それぞれ、０．０１［ｓ］、０．０１２［ｓ］、…、０．０１２３４５［ｓ］となり、またそれらの各固定演算周期で設定した遅れ時間［ｓ］を角度［ｄｅｇ］に変換すると、それぞれ、６０［ｄｅｇ］、７２［ｄｅｇ］、…、７４．０７［ｄｅｇ］となる。すなわち、制御周期＝０．０１［ｓ］の場合、遅れ時間＝０．０１２３４５６７８９［ｓ］をそのまま設定することはできず、遅れ時間＝０．０１［ｓ］の設定となる。あるいは角度［ｄｅｇ］で設定する場合、その遅れ時間＝０．０１［ｓ］に対応した角度＝６０［ｄｅｇ］となる。すなわち、遅れ時間＝０．０１２３４５６７８９［ｓ］に対応する設定したい角度は、７４．０７５０７３４［ｄｅｇ］であるにもかかわらず、固定演算周期＝０．０１［ｓ］に対応する角度は６０［ｄｅｇ］となり、間に誤差（７４．０７５０７３４［ｄｅｇ］−６０［ｄｅｇ］＝１４．０７５０７３４［ｄｅｇ］）が生じる。角度の制御目標精度を０．０５［ｄｅｇ］とすると、制御周期は、Ｎｏ．４の０．００００１［ｓ］程度にする必要がある。制御周期＝０．００００１［ｓ］であれば、誤差は、７４．０７４０７３４−７４．０４＝０．０３４［ｄｅｇ］となり、制御目標精度０．０５［ｄｅｇ］未満となる。このように極めて短かい制御周期で動作する制御装置を構成するのは難しく、実現できたとしても高価となるおそれがある。
【００３８】
これに対し、図４に示す制御装置１００Ｂを、例えばｄｏｕｂｌｅ型＝６４ビットで演算を行なう装置として構成すると、１５桁の小数まで設定することができ、設定したい角度＝７４．０７４０７３４［ｄｅｇ］を、十分な余裕を持って全桁設定可能であり、制御周期が例えば０．０１［ｓ］であってもその０．０１［ｓ］ごとに極めて正確な補正角度を得て、極めて正確な補正後のクランク角度［ｄｅｇ］を生成し、高精度な制御を行なうことができる。
【００３９】
図９は、シミュレート結果を示した図である。
【００４０】
ここには、上から順に、クランク角度、本来のタイミングのトルク指令値、トルク計測値、進角済みのトルク指令値について、エンジンが停止した状態からエンジンを始動し、アイドル回転速度を維持するまでの間の、各時間波形が示されている。
【００４１】
また、図１０，図１１は、図９の、それぞれ区間Ｘ、区間Ｙについて時間軸（横軸）を拡大して示した図である。
【００４２】
区間Ｘと区間Ｙとでは回転速度が少し異なっており、そのため、波形の周期（クランク角度０［ｄｅｇ］〜７２０［ｄｅｇ］の間の時間長）が異なっている。
【００４３】
本実施形態の場合、このように波形の周期（クランク角度０［ｄｅｇ］〜７２０［ｄｅｇ］の間の時間長）が異なっていても、進角済みのトルク指令値は、常に遅れ時間分に相当する角度だけ正確に進んだトルク指令値となっており、したがって、トルク計測値は、回転速度の変動があっても、本来のタイミングのトルク指令値と常に位相も一致した同一の波形が得られる。
【００４４】
尚、上述の実施形態の場合、図５に示すように、遅れ時間に相当する時間［ｓ］は固定値として設定されているが、制御対象物や制御対象要素によっては、条件によって遅れ時間が変化するものもある。その場合は、遅れ時間に相当する時間の、条件ごとのマップを作成しておいて、その時間を条件に応じて変更する構成としてもよい。
【００４５】
また、上述の実施形態は、トルク指令値を与えモータ１０にエンジントルクを模擬させる例であるが、本発明は、これに限られるものではなく、回転系であるか往復移動する並進系であるかを問わず、様々な制御対象物を制御する制御装置に適用可能である。
【符号の説明】
【００４６】
１    システム
１０，３０，４０    モータ
２０    トランスミッション
５０    計測器
６０    インバータ
１００Ａ，１００Ｂ    制御装置
１１０    モータ制御器
１２０    クランク角度演算器
１３０    エンジンモデル
１４０    遅れ時間・進角変換部
１５０    加算器
【図１】
0005545871.tif 000002
【図２】
0005545871.tif 000003
【図３】
0005545871.tif 000004
【図４】
0005545871.tif 000005
【図５】
0005545871.tif 000006
【図６】
0005545871.tif 000007
【図７】
0005545871.tif 000008
【図８】
0005545871.tif 000009
【図９】
0005545871.tif 000010
【図１０】
0005545871.tif 000011
【図１１】
0005545871.tif 000012