(57)【要約】【課題】本発明は、サーボモータの制御信号を算出する際に、高速かつ正確な開平が可能な開平演算回路および開平演算回路を搭載した制御回路を提供することにある。【解決手段】開平演算回路１は、開平すべき第１入力値（Ａ）から第２入力値（Ｂ）を減算する減算回路（１０）と、減算回路の減算結果を第１入力値に対する第２入力値の偏差（ｅ）とし、偏差をなくす演算を行って、第１入力値を開平した解（√Ａ）を算出する解算出回路（２０）と、解算出回路の演算結果を２乗し、当該２乗値を第２入力値として減算回路に出力する２乗値算出回路（３０）と、を有する。【選択図】図１
2012059059.tif 000002
【特許請求の範囲】
【請求項１】
開平すべき第１入力値から第２入力値を減算する減算回路と、
前記減算回路の減算結果を前記第１入力値に対する前記第２入力値の偏差とし、前記偏差をなくす演算を行って、前記第１入力値を開平した解を算出する解算出回路と、
前記解算出回路の演算結果を２乗し、当該２乗値を前記第２入力値として前記減算回路に出力する２乗値算出回路と、
を有する開平演算回路。
【請求項２】
前記解算出回路は、
比例係数に前記偏差を乗ずる乗算回路を有する
請求項１記載の開平演算回路。
【請求項３】
前記解算出回路は、
比例係数に前記偏差を乗ずる乗算回路と、
前記偏差を時間積分する積分回路と、
を有する
請求項１または２記載の開平演算回路。
【請求項４】
前記解算出回路の演算結果が許容範囲を超えた場合には、当該演算結果が前記許容範囲内となるように、当該演算結果の値を制限する制限回路を有する
請求項１から３のいずれか一に記載の開平演算回路。
【請求項５】
前記制御値を、第１制御値と第２制御値とを用いて算出する制御値算出回路を有し、
前記制御値算出回路は、
前記第１制御値の２乗値を算出する第１の２乗値算出回路と、
前記第２制御値の２乗値を算出する第２の２乗値算出回路と、
前記第１の２乗値算出回路の出力値と前記第２の２乗値算出回路の出力値とを加算または減算し、当該加算または減算結果を前記制御値として、前記減算回路の第１入力に出力する加減算回路と、
を有する
請求項１から４のいずれか一に記載の開平演算回路。
【請求項６】
値を開平する開平演算回路と、
前記開平演算回路が開平した値を用いて、制御対象を制御する制御回路と、
を有し、
前記開平演算回路は、
開平すべき第１入力値から第２入力値を減算する減算回路と、
前記減算回路の減算結果を前記第１入力値に対する前記第２入力値の偏差とし、前記偏差をなくす演算を行って、前記第１入力値を開平した解を算出する解算出回路と、
前記解算出回路の演算結果を２乗し、当該２乗値を前記第２入力値として前記減算回路に出力する２乗値算出回路と、
を有する制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、サーボモータの制御信号を算出する際に用いる開平演算回路に関するものである。また、本発明は、開平演算回路を搭載した制御回路に関するものである。
【背景技術】
【０００２】
図１３は、電圧に対するｄ−ｑ軸変換の一例を示す図である。図１３に図示するように、ｄ軸方向成分の電圧値を電圧Ｖｄとし、ｑ軸方向成分の電圧値を電圧Ｖｑとするとき、制御信号としての電圧ベクトルＶａの大きさは、（Ｖｑ２＋Ｖｄ２）１／２である。以下、電圧ベクトルＶａの大きさを単に「電圧Ｖａ」と言う。
【０００３】
たとえば、サーボモータの制御において、電圧Ｖａには制限があり、それが制限値を超えると、サーボモータに意図する電圧が印加できなくなり、電流制御が不安定になるばかりでなく、モータのドライバやサーボモータに過電流が流れる恐れがある。
そのため、電圧Ｖａが制限値を超えないように監視する必要がある。
そこで、サーボモータを制御する制御回路は、ｄ軸方向成分の電圧Ｖｄおよびｑ軸方向成分の電圧Ｖｑを用いて、各々の２乗和（Ｖｑ２＋Ｖｄ２）を算出し、これを開平することにより、電圧Ｖａ＝（Ｖｑ２＋Ｖｄ２）１／２を求める。
【０００４】
任意の値の開平方法には、たとえば、ニュートン法がある（特許文献１）。ニュートン法には、丸め誤差が少なく、複素解や重解を求めることができるという利点がある反面、開平すべき値を正規化せねばならず、開平すべき値によっては、解が収束するまでに時間を要するという不利益がある。さらに解が修練される過程での途中の解は、不連続で使用することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１３４２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
たとえば、ニュートン法を用いて、その都度、電圧Ｖａを求めた場合、電圧Ｖａを得るまでに時間を要すると、即応性が問題となり、サーボモータをより正確に制御することが困難となる。
【０００７】
そこで、サーボモータの制御信号を算出する際に、高速かつ正確な開平が可能な開平演算回路が望まれている。更に、その開平演算回路を搭載した制御回路が望まれている。なお、この要望は、サーボモータに限らず、種々の制御においても同様である。
【０００８】
本発明は、たとえば、サーボモータの制御信号を算出する際に、高速かつ正確な開平が可能な開平演算回路を提供することにある。更に、本発明は、その開平演算回路を搭載した制御回路を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の開平演算回路は、開平すべき第１入力値から第２入力値を減算する減算回路と、前記減算回路の減算結果を前記第１入力値に対する前記第２入力値の偏差とし、前記偏差をなくす演算を行って、前記第１入力値を開平した解を算出する解算出回路と、前記解算出回路の演算結果を２乗し、当該２乗値を前記第２入力値として前記減算回路に出力する２乗値算出回路と、を有する。
【００１０】
本発明の制御回路は、値を開平する開平演算回路と、前記開平演算回路が開平した値を用いて、制御対象を制御する制御回路と、を有し、前記開平演算回路は、開平すべき第１入力値から第２入力値を減算する減算回路と、前記減算回路の減算結果を前記第１入力値に対する前記第２入力値の偏差とし、前記偏差をなくす演算を行って、前記第１入力値を開平した解を算出する解算出回路と、前記解算出回路の演算結果を２乗し、当該２乗値を前記第２入力値として前記減算回路に出力する２乗値算出回路と、を有する。
【発明の効果】
【００１１】
本発明の開平演算回路によれば、たとえば、サーボモータの制御信号を算出する際に、高速かつ正確な開平が可能となる。そのため、本発明の開平演算回路を有する制御回路によれば、制御対象をより正確に駆動することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の開平演算回路の基本構成例を示すブロック図である。
【図２】図２は、本発明の第１実施形態に係る開平演算回路の構成例を示すブロック図である。
【図３】図３は、本発明の第１実施形態に係る積分係数ＫＩの調整により、演算値Ｄの収束が変化することを説明するための図である。
【図４】図４は、本発明の第１実施形態に係る演算値の収束を説明するための図である。
【図５】図５は、本発明の第２実施形態に係る開平演算回路の構成例を示すブロック図である。
【図６】図６は、電流に対するｄ−ｑ軸変換の一例を示す図である。
【図７】図７は、本発明の第３実施形態に係る電流の制限値の一例を示す図である。
【図８】図８は、本発明の第３実施形態に係る開平演算回路の構成例を示すブロック図である。
【図９】図９は、電流に対するｄ−ｑ軸変換の一例を示す図である。
【図１０】図１０は、本発明の第４実施形態に係る開平演算回路の構成例を示すブロック図である。
【図１１】図１１は、第５実施形態に係るサーボ制御回路の構成例を示すブロック図である。
【図１２】図１２は、本発明に係る開平演算回路の変形例を示すブロック図である。
【図１３】図１３は、電圧に対するｄ−ｑ軸変換の一例を示す図である。
【発明を実施するための形態】
【００１３】
本発明の開平演算回路による開平の原理を図１に関連づけて説明する。先ず、本発明の開平演算回路の基本構成例について説明する。
【００１４】
図１は、本発明の開平演算回路の構成例を示すブロック図である。
図１に図示する開平演算回路１は、減算回路１０、解算出回路２０および２乗値算出回路３０を有する。
【００１５】
減算回路１０は、値Ａを第１入力とし、２乗値算出回路３０が求めた算出値√Ｂの２乗値Ｂを第２入力とし、値Ａから２乗値Ｂを減算して、偏差ｅ＝Ａ−Ｂを求め、これを解算出回路２０に出力する。
【００１６】
解算出回路２０は、減算回路１０から偏差ｅを入力すると、基本的には、（１）式に示す演算を行う。
【００１７】
（数１）
Ｉ（ｔ）＝ＫＩ＊∫ｅ（ｔ）ｄｔ                                      …（１）
【００１８】
（１）式は、積分制御（Ｉ補償）を示し、積分ゲインを示す係数ＫＩに偏差を乗じたものを積算したものである。説明の便宜上、（１）式に示すＩ（ｔ）を「積分制御値Ｉ」とも呼ぶ。（１）式では、偏差ｅを時間ｔの関数として「ｅ（ｔ）」と表記している。
【００１９】
解算出回路２０は、偏差ｅを０にするように、すなわち、２乗値Ｂが値Ａに近づくように、積分係数ＫＩに偏差ｅを乗じて積分制御値Ｉを算出し、これを算出値√Ｂとして２乗値算出回路３０に出力する。
【００２０】
２乗値算出回路３０は、解算出回路２０から算出値√Ｂを入力すると、これを２乗して２乗値Ｂを求め、これを第２入力として減算回路１０に出力する。
【００２１】
次に、本発明の開平演算回路の動作について説明する。
【００２２】
減算回路１０が、値Ａと、２乗値算出回路３０が求めた算出値√Ｂの２乗値Ｂとを入力すると、減算回路１０、解算出回路２０および２乗値算出回路３０によって構成されているループＬ内で、下記のフィードバック演算が行われる。
【００２３】
具体的には、減算回路１０が、偏差ｅを求めると、解算出回路２０は、偏差ｅを０にするように、すなわち、２乗値Ｂが値Ａに近づくように、積分制御値Ｉを算出し、これを算出値√Ｂとして２乗値算出回路３０に出力する。すると、２乗値算出回路３０が、算出値√Ｂを２乗して２乗値Ｂを求め、これを第２入力として減算回路１０に出力する。
【００２４】
ループＬ内で行われるフィードバック演算は、１次遅れの伝達関数で表される安定系のフィードバック演算であるため、やがて、偏差ｅが０に近づく。このとき、解算出回路２０の算出値√Ｂは、一定の値に収束する。
【００２５】
このことは、２乗値Ｂが値Ａと同一であることを示す。したがって、２乗値算出回路３０の入力値、すなわち、解算出回路２０の算出値√Ｂが、値Ａを開平した値、すなわち、解Ｙ＝√Ａである。
【００２６】
［第１実施形態］
図２は、本発明の第１実施形態に係る開平演算回路の構成例を示すブロック図である。
図２に図示する開平演算回路１Ａは、第１乗算回路１１、第２乗算回路１２、加算回路１３、減算回路１４、演算回路１５および第３乗算回路１６を有する。
【００２７】
ここで、本発明の開平演算回路の各構成要素と、図２に図示する開平演算回路１Ａの各構成要素との対応関係について説明する。
本発明の減算回路は、減算回路１４に対応する。
本発明の解算出回路は、演算回路１５に対応する。
本発明の２乗値算出回路は、第３乗算回路１６に対応する。
本発明の乗算回路は、比例制御回路１５１に対応する。
本発明の積分回路は、積分制御回路１５２に対応する。
本発明の制御値算出回路は、本発明の第１の２乗値算出回路に対応する第１乗算回路１１と、本発明の第２の２乗値算出回路に対応する第２乗算回路１２と、本発明の加減算回路に対応する加算回路１３とを有する。
【００２８】
開平演算回路１Ａは、たとえば、サーボモータを制御する制御回路（図１２参照）に搭載される。開平演算回路１Ａは、たとえば、サーボモータの制御値（制御信号）としての、電圧Ｖｄおよび電圧Ｖｑを入力し、図１３に図示する電圧Ｖａ＝√（Ｖｑ２＋Ｖｄ２）を求める。
その際に、開平演算回路１Ａは、ループＬ内でフィードバック演算（ＰＩ（Proportional＋Integral）制御）を行うことにより、電圧Ｖａを２乗した目標値Ｃ２＝Ａ２＋Ｂ２＝Ｖｑ２＋Ｖｄ２を開平する。ループＬは、減算回路１４、演算回路１５および第３乗算回路１６によって構成されている。
【００２９】
第１乗算回路１１は、第１入力端子ＩＮ１に入力された電圧Ｖｑ（＝Ａ）を２乗して、２乗値Ａ２＝Ｖｑ２を求め、これを加算回路１３に出力する。
第２乗算回路１２は、第２入力端子ＩＮ２に入力された電圧Ｖｄ（＝Ｂ）を２乗して、２乗値Ｂ２＝Ｖｄ２を求め、これを加算回路１３に出力する。
【００３０】
加算回路１３は、第１乗算回路１１から２乗値Ａ２＝Ｖｑ２を入力し、第２乗算回路１２から２乗値Ｂ２＝Ｖｄ２を入力すると、両者の和Ｃ２＝Ａ２＋Ｂ２＝Ｖｑ２＋Ｖｄ２を求め、これを目標値Ｃ２として減算回路１４に出力する。この目標値Ｃ２が、開平すべき値である。
【００３１】
減算回路１４は、加算回路１３から目標値Ｃ２を入力（第１入力）し、第３乗算回路１６から２乗値Ｄ２を入力（第２入力）すると、目標値Ｃ２から２乗値Ｄ２を減算して、前者に対する後者の偏差（オフセット）ｅ＝Ｃ２−Ｄ２を求め、これを演算回路１５に出力する。
【００３２】
演算回路１５は、比例制御（Ｐ補償）に加え、積分制御（Ｉ補償）を用いることにより（ＰＩ制御）、より安定かつ高速な開平を可能にしている。そのため、演算回路１５は、比例制御を行う比例制御回路１５１と、積分制御を行う積分制御回路１５２とを有する。演算回路１５は、減算回路１４から偏差ｅを入力すると、基本的には、（２）式に示す演算を行う。
【００３３】
【数２】
2012059059.tif 000003
【００３４】
（２）式において、右辺の第１項目のＰ（ｔ）は、（１）式に示すとおり、比例制御（Ｐ補償）を示す。右辺の第２項目のＩ（ｔ）は、積分制御（Ｉ補償）を示す。このＩ（ｔ）は、偏差ｅを累積した値、つまり、偏差ｅを時間ｔで積分した値（時間積分値）に、積分ゲインを示す比例係数ＫＩを乗じたものである。説明の便宜上、（２）式に示すＩ（ｔ）を「積分制御値Ｉ」ともいう。
【００３５】
演算回路１５は、偏差ｅを０にするように、すなわち、２乗値Ｄ２が目標値Ｃ２に近づくように、（２）式に示す制御値ＰＩを算出し、これを演算値Ｄとして第３乗算回路１６に出力する。
【００３６】
比例制御回路１５１は、乗算回路によって構成されている。比例制御回路１５１は、（２）式に示すＰ（ｔ）を算出し、これを比例制御値Ｐとして積分制御回路１５２に出力する。比例制御回路１５１は、ループＬの応答性（ゲイン）、すなわち、演算値Ｄが収束するまでの時間を調整する役割を果たす。
【００３７】
上述したように、比例制御値Ｐは、比例ゲインを示す比例係数Ｋｐに偏差ｅを乗じたものであるから、偏差ｅが同じであっても、比例係数Ｋｐを調整することにより、ループＬの応答性が変化する。
【００３８】
図３は、本発明の第１実施形態に係る積分係数ＫＩの調整により、演算値Ｄの収束が変化することを説明するための図である。横軸は時間ｔを示し、縦軸は演算回路１５の演算値Ｄを示す。
【００３９】
比例係数Ｋｐ＝Ｋｐ１の場合、演算値Ｄは、図３の破線に示すように、単調増加しながら、求めるべき解Ｙ＝Ｖａ（電圧Ｖａ）に収束する。図３の説明においては、積分制御回路１５２による積分制御の効果を考慮しないものとする。
比例制御回路１５１が行う演算は、偏差ｅに比例係数Ｋｐを乗じる演算である。そのため、比例係数Ｋｐが比例係数Ｋｐ１より大きくなると（Ｋｐ１＞Ｋｐ２）、演算値Ｄは、図３の実線に示すように、単調増加しながら、比例係数Ｋｐ＝Ｋｐ１の場合よりも時間的に速く、求めるべき解Ｙ＝Ｖａに収束する。
このように、比例係数Ｋｐを調整することで、偏差ｅを速く０に近づけることができる。
【００４０】
このように、比例係数Ｋｐを調整することで、応答性、すなわち、開平の演算速度を向上させることができる。比例係数Ｋｐの値を調整する際には、モータの回転速度に対するｄ−ｑ軸変換（速度変換）などの応答性も考慮し、安定したフィードバック演算が可能となる範囲内で、比例係数Ｋｐを調整することが望ましい。
【００４１】
積分制御回路１５２は、積分回路によって構成されている。積分制御回路１５２は、（２）式に示すＩ（ｔ）を算出し、これを積分制御値Ｉとする。そして、積分制御回路１５２は、積分制御値Ｉと比例制御回路１５１から入力された比例制御値Ｐとを加算し、（２）式に示す制御値ＰＩを求め、これを演算値Ｄとして第３乗算回路１６および出力端子ＯＵＴに出力する。
積分制御回路１５２が用いる比例係数ＫＩは、積分ゲインを決定する定数であるから、これを好適に設定することで、フィードバック演算の安定性および演算値Ｄが収束するまでの速度を向上させることができる。積分制御回路１５２は、言わば、ローパスフィルタの役割も果たす。
【００４２】
第３乗算回路１６は、積分制御回路１５２から演算値Ｄを入力すると、演算値Ｄを２乗して２乗値Ｄ２を求め、これを減算回路１４に第２入力として出力する。
ただし、第３乗算回路１６は、演算開始時には、初期値Ｄ０を設定し、初期値Ｄ０の２乗値Ｄ０２を求め、これを減算回路１４に出力する。
【００４３】
初期値Ｄ０は、Ｄ０＝０でもよいが、フィードバック演算を用いて解を求めるため、解Ｙ＝Ｖａ＝（Ｖｑ２＋Ｖｄ２）１／２に近い値であるほど、演算値Ｄが収束するまでの時間が速くなる。
【００４４】
開平演算回路１の動作を、図２に関連づけて説明する。
【００４５】
第３乗算回路１６は、演算開始時に、初期値Ｄ０を設定しておく。演算開始時に、目標値Ｃ２が減算回路１４に入力されるまでは、演算回路１５の制御値ＰＩはＰＩ＝０である。
【００４６】
第１乗算回路１１が２乗値Ａ２＝Ｖｑ２を算出し、第２乗算回路１２が２乗値Ｂ２＝Ｖｄ２を算出し、加算回路１３が、開平すべき値としての目標値Ｃ２＝Ａ２＋Ｂ２を算出する。
【００４７】
すると、減算回路１４、演算回路１５および第３乗算回路１６によって構成されているループＬ内で、下記のフィードバック演算が行われる。
【００４８】
具体的には、減算回路１４が、偏差ｅ＝Ｃ２−Ｄ２を求めると、演算回路１５は、偏差ｅをなくすように、すなわち、２乗値Ｄ２が目標値Ｃ２に近づくように、制御値ＰＩを算出し、これを演算値Ｄとして第３乗算回路１６に出力する。すると、第３乗算回路１６が、演算値Ｄを２乗して２乗値Ｄ２を求め、これを減算回路１４に出力する。
【００４９】
やがて、偏差ｅが０に近づく。このとき、演算回路１５が算出した制御値ＰＩ、すなわち、演算値Ｄは、一定の値に収束する。この演算値Ｄが、求めるべき解Ｙ＝Ｖａ＝（Ｖｑ２＋Ｖｄ２）１／２、すなわち、開平した値である。
【００５０】
図４は、本発明の第１実施形態に係る演算値の収束を説明するための図である。横軸は時間ｔを示し、縦軸は演算回路１５の演算値Ｄを示す。
図４の実線で図示するように、時間ｔ＝０で示される演算開始から時間ｔ１までは、比例制御回路１５１が行う比例制御により、演算値Ｄは、解Ｙ＝Ｖａの近傍まで単調に増加する。その後、積分制御回路１５２が行う積分制御により、演算値Ｄは、解Ｙ＝Ｖａの近傍で増減を繰り返しながら、偏差ｅが０に近づくように、解Ｙ＝Ｖａに急速に収束してゆき、時間ｔ２において、演算値Ｄが解Ｙ＝Ｖａに収束する。
【００５１】
ニュートン法を用いて開平を行う場合、初期値を与えなければならず、初期値によっては解が求まらないことがある。また、正規化が必要である。
【００５２】
これに対し、開平演算回路１Ａは、安定したフィードバック演算を利用して開平を行うので、初期値Ｄ０に依存せずに、解が一義的に求まる。ＰＩ制御の特性により、演算値Ｄが解Ｙ＝Ｖａの近傍に達するまでは時間を要するものの（０＜ｔ＜ｔ１）、演算値Ｄは解Ｙ＝Ｖａに急速に収束する（ｔ１＜ｔ＜ｔ２）。
以上の観点から、高速かつ正確に電圧Ｖａを求めることができる。更には、フィードバック演算を利用しているため、回路構成を簡素化することができる。
【００５３】
たとえば、開平演算回路１Ａがサーボモータを制御する制御回路に搭載された場合、開平すべき値は、主に、電圧または電流を基にした制御値である。サーボモータの特性上、電圧や電流の変化は、緩やか（連続的な変化）であるため、ある値を開平した後、次に開平すべき値の解は、ある程度予測可能である。そのため、次に開平すべき値の解を初期値Ｄ０とすれば、更に高速な開平が可能となる。
【００５４】
上述したように、開平演算回路１Ａは、任意の値を高速かつ正確に開平することができるという効果を奏するが、サーボモータの制御のように、開平演算回路１Ａを連続系の制御に用いた場合には、更に高速な開平が可能となる顕著な効果を得ることができる。
【００５５】
［第２実施形態］
第２実施形態について説明する。上述したように、サーボモータの制御において、電圧Ｖａには制限があり、それが制限値を越えると、、サーボモータに意図する電圧が印加できなくなり、電流制御が不安定になるばかりでなく、過電流などで、モータのドライバーやサーボモータを破損する恐れがある。第２実施形態では、このような事態を回避可能にする開平演算回路を図６に関連づけて説明する。なお、第１実施形態と異なる点を説明する。
【００５６】
図５は、本発明の第２実施形態に係る開平演算回路の構成例を示すブロック図である。
図５に図示する開平演算回路１Ｂは、第１実施形態に係る開平演算回路１Ａと同様の構成を有するが、演算回路１５にリミッタ回路１５３が設けられている。
【００５７】
なお、本発明の制限回路は、リミッタ回路１５３に対応する。
【００５８】
リミッタ回路１５３は、積分制御回路１５２の出力を制限する役割を果たす。具体的には、リミッタ回路１５３は、積分制御回路１５２から閾値ｔｈ以上の値を持つ演算値Ｄ≧ｔｈが入力された場合、閾値ｔｈを越えた分の値をカットした演算値Ｄ＝ｔｈを第３乗算回路１６に出力する。
閾値ｔｈは、使用するサーボモータに応じて設定される電圧Ｖａ（後述の電流Ｉａでもよい）の制限値である。
更に、リミッタ回路１５３は、積分制御回路１５２から負の値を持つ演算値Ｄ＜０が入力された場合、負の値をカットした演算値Ｄ＝０を第３乗算回路１６に出力する。
【００５９】
このように、リミッタ回路１５３が、演算値Ｄを０以上、閾値ｔｈ以下となる許容範囲内に制限するので、電圧Ｖａが制限値を越えた場合であっても、安定したサーボモータの制御が可能となる。
上述したとおり、ＰＩ制御の特性により、演算値Ｄは収束するものの、図４に図示する時間ｔ１までは、演算値Ｄが解Ｙ＝Ｖａの近傍で増減を繰り返すため、一時的に演算値Ｄが負、つまり、根号の中身がＶｑ２＋Ｖｑ２＜０となる恐れがある。この場合、フィードバックが破綻し、正しい解が得られないことがある。
しかしながら、リミッタ回路１５３により、演算値Ｄが負になったとしても、演算値ＤがＤ＝０に設定され、フィードバックが破綻することなく、正しい解を得ることができる。
【００６０】
［第３実施形態］
第３実施形態について説明する。図６は、電流に対するｄ−ｑ軸変換の一例を示す図である。図６に図示するように、ｄ軸方向成分の電流値を電流Ｉｄとし、ｑ軸方向成分の電流値を電流Ｉｑとするとき、制御信号（制御値）としての電流ベクトルＩａの大きさは、（Ｉｑ２＋Ｉｄ２）１／２である。以下、電流ベクトルＩａの大きさを単に「電流Ｉａ」と呼ぶ。
たとえば、サーボモータには、この電流Ｉａがその制御に用いられる。電流Ｉａ自体は、図２に図示する開平演算回路１Ａ、より好適には、図５に図示する開平演算回路１Ｂを用いて、電圧Ｖａの算出と同様にして算出される。
【００６１】
取り分け、サーボモータは、回転速度が安定するまでの時間が他のモータよりも短いので、電流のばたつきが多く、電流が、瞬間的にモータがとり得ることが可能な電流の制限値Ｉｌｉｍを越えることも珍しくない。
当然ながら、電圧Ｖａの場合と同様に、電流Ｉａも、制限値Ｉｌｉｍ以下となる必要がある。そのためには、電流Ｉａが、図６の２点鎖線で示される制限値Ｉｌｉｍとなるか、あるいは、制限値Ｉｌｉｍ以内にあればよい。
なお、制限値Ｉｌｉｍは、原点Ｏを中心とした同心円を描き、使用するモータに応じて設定される値である。
【００６２】
図７は、本発明の第３実施形態に係る電流Ｉａの制限値の一例を示す図である。
ここでは、電流Ｉａが制限値Ｉｌｉｍを越えた場合、電流Ｉａを制限値Ｉｌｉｍに制限するものと仮定する。この場合、図７に図示するように、電流ＩａをＩａ＝Ｉｌｉｍとし、そのｄ軸方向成分の電流を電流Ｉｄとし、そのｑ軸方向成分の電流を電流Ｉｑ＝Ｉｑｌｉｍとすれば、電流Ｉｑ＝Ｉｑｌｉｍは、Ｉｑｌｉｍ＝（Ｉｌｉｍ２−Ｉｄ２）１／２により、算出することができる。ただし、電流Ｉａ＝Ｉｌｉｍと電流Ｉｄとが既知であるものとする。
【００６３】
第３実施形態では、本発明の開平演算回路を用いて、ｑ軸方向成分の電流Ｉｑｌｉｍを算出する場合について説明する。なお、第１および第２実施形態と異なる点を説明する。
【００６４】
図８は、本発明の第３実施形態に係る開平演算回路の構成例を示すブロック図である。
図８に図示する開平演算回路１Ｃは、図５に図示する加算回路１３の代わりに、減算回路１３ａを有する。
【００６５】
ここで、本発明の開平演算回路の各構成要素と、図８に図示する開平演算回路１Ｃの各構成要素との対応関係について説明する。
本発明の制御値算出回路は、本発明の第１の２乗値算出回路に対応する第１乗算回路１１と、本発明の第２の２乗値算出回路に対応する第２乗算回路１２と、本発明の加減算回路に対応する減算回路１３ａとを有する。
【００６６】
第１および第２実施形態では、開平すべき値Ｖａ＝Ｃ２＝（Ｖｑ２＋Ｖｄ２）が足し算で表わされるため、加算回路１３が用いられたが、第３実施形態では、開平すべき値としての目標値Ｃ２＝Ｉｑｌｉｍ２＝Ｉｌｉｍ２−Ｉｄ２が引き算で表わされる。そのため、減算回路１３ａが用いられている。
【００６７】
第１乗算回路１１が、電流Ｉａ＝Ｉｌｉｍの２乗値Ａ２＝Ｉｌｉｍ２を算出し、第２乗算回路１２が、電流Ｉｄの２乗値Ｂ２＝Ｉｄ２を算出すると、減算回路１３ａは、２乗値Ａ２＝Ｉｌｉｍ２から２乗値Ｂ２＝Ｉｄ２を減算し、目標値Ｃ２＝Ｉｑｌｉｍ２＝Ｉｌｉｍ２−Ｉｄ２を算出する。そして、減算回路１３ａは、目標値Ｃ２を減算回路１４に出力する。
【００６８】
目標値Ｃ２が求められた後の開平演算回路１Ｃの動作は、第２実施形態に係る開平演算回路１Ｂの動作と同様である。フィードバック演算によって、収束した演算値Ｄ＝Ｉｑｌｉｍが、解Ｙ＝（Ｉｌｉｍ２−Ｉｄ２）１／２である。
【００６９】
無論、開平すべき値が、Ｃ２＝Ｉｌｉｍ２−Ｉｄ２であるので、解Ｙの根号の中身が正、すなわち、Ｉｌｉｍ−Ｉｄ≧０を満足する必要がある。本実施形態では、予め、電流Ｉａを制限値Ｉｌｉｍに制限しているため（Ｉａ＝Ｉｌｉｍ）、Ｉｌｉｍ−Ｉｄ≧０を常に満足し、解Ｙの根号の中身が負になることはない。
【００７０】
本実施形態のように、電流Ｉａあるいは制限された電流Ｉｑｌｉｍを算出する場合においても、高速かつ正確な開平が可能となるだけではなく、回路構成を簡素化することができる。取り分け、たとえば、サーボモータの電流制御のように、電流のばたつきが多い場合に、顕著な効果を奏する。
【００７１】
［第４実施形態］
第４実施形態について説明する。図９は、電流に対するｄ−ｑ軸変換の一例を示す図である。
図９に図示するように、電流ＩａをＩａ＝Ｉｌｉｍとし、そのｄ軸方向成分の電流を電流Ｉｄ＝Ｉｄｌｉｍとし、そのｑ軸方向成分の電流を電流Ｉｑとする。
第４実施形態では、本発明の開平演算回路を用いて、ｄ軸方向成分の電流Ｉｄｌｉｍを算出する場合について説明する。なお、第１から第３実施形態と異なる点を説明する。
【００７２】
図１０は、本発明の第４実施形態に係る開平演算回路の構成例を示すブロック図である。
図１０に図示する開平演算回路１Ｄは、図８に図示する開平演算回路１Ｃと同様の構成である。
【００７３】
第１乗算回路１１が、電流Ｉａ＝Ｉｌｉｍの２乗値Ａ２＝Ｉｌｉｍ２を算出し、第２乗算回路１２が、電流Ｉｑの２乗値Ｂ２＝Ｉｑ２を算出すると、減算回路１３ａは、２乗値Ａ２＝Ｉｌｉｍ２から２乗値Ｂ２＝Ｉｑ２を減算し、目標値Ｃ２＝Ｉｄｌｉｍ２＝Ｉｌｉｍ２−Ｉｑ２を算出する。そして、減算回路１３ａは、目標値Ｃ２を減算回路１４に出力する。
【００７４】
目標値Ｃ２が求められた後の開平演算回路１Ｄの動作は、第２および第３実施形態に係る開平演算回路１Ｂ、１Ｃの動作と同様である。フィードバック演算によって、収束した演算値Ｄ＝Ｉｄｌｉｍが、解Ｙ＝（Ｉｌｉｍ２−Ｉｑ２）１／２である。
【００７５】
本実施形態のように、電流Ｉｄｌｉｍを算出する場合においても、高速かつ正確な開平が可能となるだけではなく、回路構成を簡素化することができる。取り分け、たとえば、サーボモータの電流制御のように、電流のばたつきが多い場合に、顕著な効果を奏する。
【００７６】
第１実施形態から第４実施形態で述べた、開平演算回路１Ａ〜１Ｄは、加算回路、減算回路、乗算回路、積分回路、リミッタ回路などのハードウェアによって構成されている。
開平演算回路１Ａ〜１Ｄが持つ各構成要素の機能を、たとえば、ＨＤＬ（Hardware Description Language；ハードウェア記述言語）を用いて設計し、これを、たとえば、ＩＣ（集積回路）に搭載することができる。
【００７７】
［第５実施形態］
第１実施形態から第４実施形態で述べた、開平演算回路１Ａ〜１Ｄは、たとえば、サーボモータを制御するサーボ制御回路に搭載することができる。第５実施形態では、一例として、図２に図示する開平演算回路１Ａを搭載したサーボ制御回路について説明する。
【００７８】
図１１は、第５実施形態に係るサーボ制御回路の構成例を示すブロック図である。
図１１に図示するサーボ制御回路２は、開平演算回路１Ａ、制御回路２１、駆動回路２２および検出回路２３を有する。
なお、本発明の制御回路は、サーボ制御回路２に対応する。
【００７９】
サーボ制御回路２は、フィードバック制御を行って、制御対象としてのサーボモータ２４の回転数（回転速度）を検出しながら、その目標値との偏差（オフセット）をなくすように、サーボモータ２４の回転数を制御する。
【００８０】
開平演算回路１Ａは、電圧Ｖｑ、Ｖｄを入力し、電圧Ｖｑの２乗と電圧Ｖｑの２乗との和（Ｖｑ２＋Ｖｄ２）を開平して、電圧Ｖａ＝（Ｖｑ２＋Ｖｄ２）１／２を算出する。電圧Ｖａが制限値を越えた場合には、開平演算回路１Ａは、電圧Ｖａを制限値に制限する。
そして、開平演算回路１Ａは、開平の解としての電圧Ｖａを制御回路２１に出力する。
【００８１】
制御回路２１は、開平演算回路１Ａから入力された電圧Ｖａを用いて、駆動回路２２を制御するための制御信号ＣＴＬを発生させ、これを駆動回路２２に出力する。
【００８２】
駆動回路２２は、制御回路２１から入力された制御信号ＣＴＬと、検出回路２３から入力された検出信号ＣＨとを用いて、制御ループＬａ内にて、フィードバック制御を行いながら、サーボモータ２４の回転数がその目標値となる駆動信号ＤＲＶを発生させ、これをサーボモータ２４に出力する。
なお、制御ループＬａは、駆動回路２２、サーボモータ２４および検出回路２３によって構成されている。検出信号ＣＨｂには、サーボモータ２４の回転数を示す信号が含まれている。
【００８３】
検出回路２３は、ロータリーエンコーダの機能を有し、サーボモータ２４の回転軸２４１に接続されている。検出回路２３は、サーボモータ２４の回転軸２４１の回転変位を検出し、これをデジタル値に変換する。そして、検出回路２３は、デジタル値に変換したサーボモータ２４の回転数を検出信号ＣＨとして駆動回路２２に出力する。
【００８４】
サーボモータ２４は、たとえば、その回転軸２４１を、その時計回りまたは反時計回りに回転可能なＡＣ（交流）モータである。サーボモータ２４は、たとえば、リニアモータであっても差し支えない。サーボモータ２４は、駆動回路２２から入力された駆動信号ＤＲＶに応じた回転速度で、その回転軸２４１を回転させる。
【００８５】
サーボ制御回路２には、高速な開平が可能な開平演算回路１Ａが搭載されているため、サーボモータ２４の駆動対象の位置、速度、角度などの変化に素早く追従して、サーボモータ２４の回転数をより正確に制御することができる。
このような利点を有するサーボ制御回路２は、たとえば、ＮＣ（Numerical Control）装置やＣＴ（Computed Tomography）装置のサーボモータの制御部分に用いることができる。
【００８６】
本発明の実施形態は、上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
たとえば、図１２に図示する開平演算回路１Ｅは、図２に図示する開平演算回路１Ａと同様の構成であるが、積分制御回路１５２とリミッタ回路１５３との間に、微分回路（Ｄ補償）１５４が設けられている。この微分回路１５４は、偏差ｅを時間微分した値（ｄｅ（ｔ）／ｄｔ）に微分ゲインを示す比例係数Ｋｄを乗じる演算を行う。
開平演算回路１Ｅは、積分制御回路１５２と微分回路１５４との間に設けられているスイッチＳＷがオンのときに、ＰＩＤ（Proportional＋Integral＋Differential）制御を行って、目標値Ｃ２を開平する。
このように、スイッチＳＷを選択的にオン／オフすることで、ＰＩＤ制御を選択的に行うこともできる。
【符号の説明】
【００８７】
１、１Ａ、１Ｂ、１Ｃ、１Ｄ…開平演算回路、１１…第１乗算回路、１２…第２乗算回路、１３…加算回路、１３ａ…減算回路、１４…減算回路、１５…演算回路、１５１…比例制御回路、１５２…積分制御回路、１５３…リミッタ回路、１５４…微分回路（Ｄ補償）、１６…第３乗算回路、２…サーボ制御回路、２１…制御回路、２２…駆動回路、２３…検出回路、２４…サーボモータ、２４１…回転軸。
【図１】
2012059059.tif 000004
【図２】
2012059059.tif 000005
【図３】
2012059059.tif 000006
【図４】
2012059059.tif 000007
【図５】
2012059059.tif 000008
【図６】
2012059059.tif 000009
【図７】
2012059059.tif 000010
【図８】
2012059059.tif 000011
【図９】
2012059059.tif 000012
【図１０】
2012059059.tif 000013
【図１１】
2012059059.tif 000014
【図１２】
2012059059.tif 000015
【図１３】
2012059059.tif 000016