(57)【要約】【課題】比例積分制御方式が適用される速度制御システムにおいて、速度検出遅れによって生じる外乱を抑制することができるようにする。【解決手段】比例項のトルク指令成分（τ＿ｐ）は、速度指令値と速度検出値の差分に対して比例ゲイン（Ｋｐｓ）を乗算して求め、積分項のトルク指令成分（τ＿ｉ）は、速度指令値（ω＿ｒｅｆ）に速度指令の補正量（Δω＿ｆｂ）を加算した値を、サンプル演算ごとに積算して位相指令値（（θ＿ｒｅｆ）’）を演算し、該位相指令値（（θ＿ｒｅｆ）’）と、時間積分を施していない位相検出値（θ＿ｄｅｔ）との差分に対して、比例ゲイン（Ｋｐｓ）と積分時定数に相当する係数ゲイン（ｄＴ／Ｔｉｓ）を乗算することにより求め、前記補正量（Δω＿ｆｂ）は、トルクリミッタ５で作動した制限量を演算したトルク指令補正量（Δτ＿ｆｂ）に前記各ゲインの逆数（１／Ｋｐｓ、Ｔｉｓ／ｄＴ）を乗算して得る。【選択図】  図５
2018026947.tif 000002
【特許請求の範囲】
【請求項１】
パルスエンコーダを用いた速度検出と速度形の比例積分制御方式を適用した回転機の速度制御システムにおいて、
前記比例積分制御方式の比例項のトルク指令成分（τ＿ｐ）は、速度指令値（ω＿ｒｅｆ）と速度検出値（ω＿ｄｅｔ）の差分に対して比例ゲイン（Ｋｐｓ）を乗算して求め、
前記比例積分制御方式の積分項のトルク指令成分（τ＿ｉ）は、速度指令値（ω＿ｒｅｆ）に速度指令値の補正量（Δω＿ｆｂ）を加算した値を、サンプル演算ごとに積算して位相指令値（（θ＿ｒｅｆ）’）を演算し、該位相指令値（（θ＿ｒｅｆ）’）と位相検出値（θ＿ｄｅｔ）との差分に対して、比例ゲイン（Ｋｐｓ）と積分時定数に相当する係数ゲイン（ｄＴ／Ｔｉｓ）を乗算することにより求め、
前記比例項のトルク指令成分（τ＿ｐ）と積分項のトルク指令成分（τ＿ｉ）を加算し、該加算出力をトルク制限部に通して比例積分制御のトルク指令（τ＿ｐｉｏ）を出力し、
前記速度指令値の補正量（Δω＿ｆｂ）は、前記トルク制限部の出力成分からトルク制限部の入力成分を減算することにより、トルク制限部で作動した制限量をトルク指令補正量（Δτ＿ｆｂ）として演算し、該トルク指令補正量（Δτ＿ｆｂ）に、前記比例ゲインと積分時定数に相当する係数ゲインのそれぞれの逆数（１／Ｋｐｓ、Ｔｉｓ／ｄＴ）を乗算して求めることを特徴とする速度制御システム。
【請求項２】
前記速度検出値（ω＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出し、検出された各エッジをカウントしてパルス位相値としてラッチし、最新のパルス位相値とエッジ検出タイミング前の過去のパルス位相値との差である位相差を演算し、前記出力パルスの最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である時間差を演算し、前記演算された位相差を前記演算された時間差で除算して求めることを特徴とする請求項１に記載の速度制御システム。
【請求項３】
前記位相検出値（θ＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出してエッジ検出タイミングを求め、該エッジ検出タイミングで前記出力パルスをカウントしてパルス位相値としてラッチし、該ラッチされたパルス位相値をサンプル周期発生部で生成されるサンプルタイミングで読み出すことで得られ、
前記速度検出値（ω＿ｄｅｔ）は、前記得られた位相検出値（θ＿ｄｅｔ）のうち最新の位相検出値と前記エッジ検出タイミング前の過去の位相検出値との差である位相差を演算し、基準クロック信号をカウントして時刻情報とし、前記エッジ検出タイミングで前記出力パルスのカウント値が変化したときの時刻をラッチし、該ラッチされた時刻を前記サンプルタイミングで読み出すことでパルス発生時刻（Ｔｐｐ）を得、最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である第１の時間差を演算し、前記演算された位相差を前記演算された第１の時間差で除算して求められ、
前記基準クロック信号をカウントした時刻情報から前記サンプルタイミングで更新されるサンプル時刻（Ｔｓ）を計測し、前記パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間に相当するクロック差（Ｔｓ−Ｔｐｐ）を第２の時間差（ΔＴ＿ｅｓｔ）として演算し、
前記第２の時間差をサンプル周期（ｄＴ）で除して補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を求め、前記速度指令値（ω＿ｒｅｆ）と速度指令値の補正量（Δω＿ｆｂ）を加算した値に前記補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を乗算して位相差補正成分（Δθｒｅｆ＿ｅｓｔ）を求め、
前記位相指令値は、前記位相指令値（（θ＿ｒｅｆ）’）から、前記位相差補正成分（Δθｒｅｆ＿ｅｓｔ）を減算することによって、パルス発生時刻に近似した位相指令値（θ＿ｒｅｆ）として得られることを特徴とする請求項１に記載の速度制御システム。
【請求項４】
前記位相検出値（θ＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出してエッジ検出タイミングを求め、該エッジ検出タイミングで前記出力パルスをカウントしてパルス位相値としてラッチし、該ラッチされたパルス位相値をサンプル周期発生部で生成されるサンプルタイミングで読み出すことで得られ、
前記速度検出値（ω＿ｄｅｔ）は、前記得られた位相検出値（θ＿ｄｅｔ）のうち最新の位相検出値と前記エッジ検出タイミング前の過去の位相検出値との差である位相差を演算し、基準クロック信号をカウントして時刻情報とし、前記エッジ検出タイミングで前記出力パルスのカウント値が変化したときの時刻をラッチし、該ラッチされた時刻を前記サンプルタイミングで読み出すことでパルス発生時刻（Ｔｐｐ）を得、最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である第１の時間差を演算し、前記演算された位相差を前記演算された第１の時間差で除算して求められ、
前記基準クロック信号をカウントした時刻情報から前記サンプルタイミングで更新されるサンプル時刻（Ｔｓ）を計測し、前記パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間に相当するクロック差（Ｔｓ−Ｔｐｐ）を第２の時間差（ΔＴ＿ｅｓｔ）として演算し、
前記速度検出値（ω＿ｄｅｔ）と第２の時間差（ΔＴ＿ｅｓｔ）を乗算して、第２の時間差内で変化する位相の予測量（Δθ＿ｅｓｔ）を求め、該予測量を前記位相検出値（θ＿ｄｅｔ）に加算して、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を求め、
前記位相検出値（θ＿ｄｅｔ）に代えて前記位相検出値（θ＿ｄｅｔｅｓｔ）を、前記位相指令値（（θ＿ｒｅｆ）’）との差をとるために用いることを特徴とする請求項１に記載の速度制御システム。
【請求項５】
前記比例積分制御のトルク指令出力側に低域通過フィルタを設けたことを特徴とする請求項１ないし４のいずれか１項に記載の速度制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変速装置など、回転機（モータ、発電機等）などの回転速度を制御する速度制御システムに係り、速度フィードバック制御に使用されるＰＩ制御方式に関する。
【背景技術】
【０００２】
アブソリュートタイプのエンコーダでは分解能が高く、シリアル伝送などによって現在の位置情報を定期的に得ることができるので、正確な回転位相や速度を検出することができる。しかし環境の悪い分野などでは、歯車状の金属と磁気や高周波の原理を利用したセンサとを組み合わせた構成のパルスエンコーダなどが用いられている。パルスエンコーダには、サーボ用途などのエンコーダは数千パルス（２の１０〜１２乗）程度の高い分解能のものもあるが、耐環境性や機械振動などの問題がある場合は、（２の６〜８乗）程度という低い分解能のエンコーダが使用されることもある。本発明はこのような低分解能のパルスエンコーダを使用する場合を想定して、ＰＩ制御の方式を変更することにより速度制御性能の改善を図る。
【０００３】
ＰＩ制御には、位置形と速度形などの種類があるが、速度制御では速度形のＰＩ制御が使用されることが多い。速度形のＰＩ制御をサンプル値制御の離散系の演算ブロック図で現したものが図１である。この図１を従来例１とする。これは次の要素で構成されている。
【０００４】
（１）入力：速度指令値ω＿ｒｅｆ，エンコーダによる速度検出値ω＿ｄｅｔ
（２）比例ゲイン：Ｋｐｓ
（３）積分時定数：Ｔｉｓ
（４）サンプル周期（時間）：ｄＴ
（５）サンプラ、サンプル時間の遅延素子：Ｚ-1
（６）トルク指令出力：τ＿ｐｉｏ
（７）トルク指令出力のリミッタ値：±τ＿ｌｉｍ
ディジタル制御演算器で制御を実行するためには、サンプル値系（離散系）で取り扱う必要があり、この演算は速度制御用の割込信号（サンプルタイミング）により演算処理を開始する。パルスエンコーダの信号から速度検出するためには、まずハードウェアなどで実装された回路にて、パルスカウンタの値やそのパルス発生時刻などを計測しておき、ディジタル演算器ではサンプル周期ごとにその計測回路から検出情報を読み出している。処理としては、最初に速度検出演算を行った後に、図１のような速度制御演算を実行してトルク指令を出力する。
【０００５】
尚、速度検出演算に関する先行技術文献としては、特許文献１があり、この原理は非特許文献１に記載されている。
【０００６】
図１では、割込（サンプル）タイミングで速度検出を実行するので、割込周期（サンプル周期）で動作するサンプラ（ラッチ回路）（Ｚ-1）にてタイミングが制限されることを明示しており、入力部のサンプラ１ａ，１ｂでは、速度指令値ω＿ｒｅｆと速度演算後の速度検出値ω＿ｄｅｔがラッチされている。ＰＩ制御のうち、比例項では減算器２ａにおいて速度指令値から速度検出値を減算し、この差分に比例ゲインＫｐｓを乗算して比例項のトルク指令τ＿ｐとしている。積分項では、まず係数器３において、前記比例項のトルク指令τ＿ｐに積分時定数に相当する係数（ｄＴ／Ｔｉｓ）を乗算して、サンプル周期における積分項のトルク指令の増分に相当する積分項Δτ＿ｉ成分を計算する。
【０００７】
速度形ＰＩ制御では、サンプラ１ｃおよび減算器２ｂによりτ＿ｐ項を時間差分したもの（Δτ＿ｐ）と前記積分項Δτ＿ｉを加算器４ａにて加算し、それにサンプラ１ｄで遅らせた前回のトルク指令出力τ＿ｐｉｏを加算器４ｂにて加算して、更新したいトルク指令出力（τ＿ｐ＋τ＿ｉ）を計算する。しかし、トルクリミッタ値（±τ＿ｌｉｍ）に制限する必要があるので、トルクリミッタ（トルク制限部）５で制限された値が最終的なトルク指令出力τ＿ｐｉｏとなる。
【０００８】
これが基本的な速度形ＰＩ制御の構成例であり、これについては既に多くの文献などに記載されている。
【０００９】
さらに図１の構成を、図２（ａ），（ｂ），（ｃ）のように展開すると、図３のような、「位置形のＰＩ制御構成」に対してリミッタ動作時に積分項にフィードバックする機能を追加した構成にすることもできる。
【００１０】
図２（ａ）では、図１のサンプラ１ｃと１ｄの各入力（フィードバック分）を減算器２ｃ、サンプラ１ｅによってまとめ、サンプラ１ｅの加算先（加算器４ａ）を積分項に移動している。減算器２ｃの偏差出力はトルク補正量（フィードバック量）Δτ＿ｆｂとする。
【００１１】
図２（ｂ）では、図２（ａ）と同じ構成にてレイアウトのみ変更している。  
【００１２】
図２（ｃ）では、図２（ｂ）におけるτ＿ｐとτ＿ｉの加算部（加算器４ｂ）を図２（ｂ）の点Ａよりも前に移動している。点Ａの分岐をまたぐので、等価にするために、τ＿ｉとトルク補正量Δτ＿ｆｂを加算する加算器４ｃを追加して設けてある。
【００１３】
図３では、図２（ｃ）のΔτ＿ｆｂの加算先を前の加算器４ａに移動し、Δτ＿ｆｂのフィードバック部と、τ＿ｉを出力する積算部を分離させている。このため、図２（ｃ）の加算器４ａと４ｂの間に、加算器４ｄおよびサンプラ１ｆが設けられている。
【００１４】
この図３は、図１と機能は等価であるが、構成の形態が異なるので、これを従来例２とする。図１では積分項の成分が陽には表れていなかったが、図３では積分項の成分（速度指令値と速度検出値との差の時間積分）が明示されていることが特徴であり、これが図１との差異といえる。しかし、機能的には全く同じであり、同じ入力なら同じ動作結果を出力する。
【００１５】
ここで、本発明と似た目的の従来例として、図１と図３におけるエンコーダによる速度検出値ω＿ｄｅｔを求めるための速度検出装置およびその速度検出装置で求めた速度検出値を利用して制御を行う速度制御システムの例を図１５〜図１８に示す。
【００１６】
速度検出装置を示す図１５の構成は大きく分けて、左側の「ディジタル検出回路」と右側の「ＣＰＵ演算」に分けられる。ディジタル検出回路の部分は、基本的には特許文献１や非特許文献１の検出回路と同様である。
【００１７】
５０は回転機の回転角度を検出するパルスエンコーダであり、モータなどの回転体の位相に応じてパルス信号を発生する。２相のパルス信号が出力されるものであるが、ここでは１相パルス信号に簡素化して説明する。
【００１８】
５１はパルスエンコーダ５０からの出力パルスを波形整形する波形整形回路であり、パルスエンコーダ５０の出力パルスの立上り、立下がりの各エッジを検出し、位相に相当するカウンタのＵＰ／ＤＯＷＮ信号（Ｅｄｇ＿ｕｐ／Ｅｄｇ＿ｄｗ）に変換する。
【００１９】
５２は、波形整形回路５１から出力されるカウンタのＵＰ／ＤＯＷＮ信号のＯＲ演算を行ってパルス発生信号Ｅｄｇを出力するＯＲ回路である。以降、「パルス発生信号」を「パルス」と簡素化して使用する場合もある。
【００２０】
５３は、波形整形回路５１で検出されたパルスの立上りエッジ、立下りエッジによりアップ／ダウンカウントを行い、カウント値をパルス位相値（θｐｐ）として出力するパルス位相アップダウンカウンタであり、ＵＰ／ＤＯＷＮ信号（Ｅｄｇ＿ｕｐ／Ｅｄｇ＿ｄｗ）によりカウンタ値θｐｐをインクリメント（Ｕｐ）／デクリメント（Ｄｗ）する。
【００２１】
５４は、パルスの発生時刻を計測するための基準時刻を生成するタイマ回路であり、ディジタル回路の基準クロックをカウントして時刻データｔを出力する。またタイマ回路５４は、ＣＰＵからＤ型フリップフロップ５５を介して入力されるサンプル周期設定に応じて、該サンプル周期毎に割込信号Ｓｍｐｌ（ｍ）を出力する機能も有している。
【００２２】
ここで、Ｓｍｐｌ（ｍ）の（ｍ）は発生するタイミングを示すための識別子であり、ｍの具体的な値については「ｍ1，ｍ２，ｍ３…」として表す。５６は、前記パルス発生信号Ｅｄｇが発生したときのタイマ回路５４から出力された時刻データｔを記憶保持し、パルス発生時刻ｔｐｐとして出力するパルス発生時刻計測回路であり、ＯＲ回路５２の出力（Ｅｄｇ）をイネーブル信号とするラッチ回路（ＤＥＮ−ｆｆ）で構成されている。
【００２３】
５７は、ＯＲ回路５２からのパルス発生信号Ｅｄｇによりセットされ、タイマ回路５４からの割込信号Ｓｍｐｌ（ｍ）によりリセットされ、該割込信号の発生周期の間にパルスエッジ（Ｅｄｇ）が発生したか否かを検出するフリップフロップ回路である。このフリップフロップ回路５７は、セット優先のＳＲ−フリップフロップ（ＳＲｆｆ）回路であり、割込信号Ｓｍｐｌ（ｍ）間にパルスエッジ（Ｅｄｇ）が発生していなければ「０」、発生していれば「１」のパルス有無フラグを出力し、次段の読み出し用バッファ５８に出力する（厳密には、受信側のＥＮ（イネーブル）信号発生時にデータの転送が行われる）。
【００２４】
このように割込信号Ｓｍｐｌ（ｍ）は、速度検出演算が可能／不可能であるかの判定のためにフリップフロップ回路５７に使用されるだけでなく、後述する多段バッファから成る読み出し用バッファ５８のデータ転送の制御にも利用される。したがって、前記３種類の「パルス有無フラグとパルス位相値θｐｐとパルス発生時刻ｔｐｐ」は同時に更新される。
【００２５】
読み出し用バッファ５８は、前記タイマ回路５４からの割込信号Ｓｍｐｌ（ｍ）をイネールブル信号として、パルス位相アップダウンカウンタ５３から送出されるパルス位相値θｐｐ、パルス発生時刻計測回路５６から送出されるパルス発生時刻ｔｐｐおよびフリップフロップ回路５７から送出されるパルス有無フラグ（パルス有無信号）を各々保持する。
【００２６】
この読み出し用バッファ５８は、割込信号Ｓｍｐｌ（ｍ）の発生時刻における「パルス有無フラグ」、「パルス位相値θｐｐ」、「パルス発生時刻ｔｐｐ」の３個の瞬時値を記憶するラッチ回路５８ａ〜５８ｃ（図示Ｄｆｆ１〜Ｄｆｆ３）で構成されている。
【００２７】
ラッチ回路５８ａ〜５８ｃの出力側はＣＰＵなどから計測値として読み出すものであり、複数のデータがバスアクセスされる期間中に値が変化して同時性が失われないように、割込信号Ｓｍｐｌ（ｍ）の発生タイミングで同時にラッチさせ、それ以外の期間では値を保持させている。
【００２８】
尚、前記波形整形回路５１、ＯＲ回路５２、パルス位相アップダウンカウンタ５３、タイマ回路５４、Ｄ型フリップフロップ５５、パルス発生時刻計測回路５６、フリップフロップ回路５７および読み出し用バッファ５８によってパルス情報取得部を構成している。
【００２９】
６１は前記ラッチ回路５８ｂ（Ｄｆｆ２）のレジスタ値（パルス位相値θｐｐ）を読み出して記憶するパルス位相バッファ（多段バッファ；Ｂｕｆｆ２）であり、６２は前記ラッチ回路５８ｃ（Ｄｆｆ３）のレジスタ値（パルス発生時刻ｔｐｐ）を読み出して記憶するパルス時刻バッファ（多段バッファ；Ｂｕｆｆ３）である。
【００３０】
６３は、複数サンプル周期前に取得され、パルス位相バッファ６１、パルス時刻バッファ６２に記憶されたパルス情報（パルス位相値θｐｐ、パルス発生時刻ｔｐｐ）を選択するための選択信号（Ｓｅｌ）を設定する速度差データ選択回路（選択信号設定部）である。選択信号Ｓｅｌは、具体的にはサンプル周期毎に出力される割込信号Ｓｍｐｌ（ｍ）の識別子である（ｍ）の値であり、複数サンプル周期前に相当する値に設定される。
【００３１】
６４は、前記パルス位相バッファ６１に記憶されたパルス位相情報のうち、前記選択信号Ｓｅｌが示す複数サンプル周期前の（過去の）パルス位相情報を選択する前回値選択用セレクタ（Ｓｅｌｅｃｔ２）（過去情報選択部）である。
【００３２】
６５は、前記パルス時刻バッファ６２に記憶されたパルス時刻情報のうち、前記選択信号Ｓｅｌが示す複数サンプル周期前の（過去の）パルス時刻情報を選択する前回値選択用セレクタ（Ｓｅｌｅｃｔ３）（過去情報選択部）である。
【００３３】
前記パルス位相バッファ６１およびパルス時刻バッファ６２は、従来の例えば特許文献１では最新のパルス情報を１段目のバッファに、過去のパルス情報を２段目のバッファに記憶させておき、この２個の情報に基づいて速度検出値を演算するものであったが、この図１５では図１６に示すように、多段のＦＩＦＯ（ファーストインファーストアウト）動作をするスタックメモリ（多段バッファ）に拡張している。
【００３４】
図１６において、７１は、図１５の割込信号Ｓｍｐｌ（ｍ）（タイマ回路５４の出力）およびパルス有無信号（ラッチ回路Ｄｆｆ１の出力）の論理積を演算するＡＮＤ回路である。
【００３５】
７２は、図１５の読み出し用バッファ５８から読み出されたパルス位相情報およびパルス発生時刻情報（検出データ）を格納する多段バッファであり、最新情報を記憶するラッチ回路７２−０（Ｄｆｆ０）（最新情報記憶用バッファ）と、過去情報を記憶するｎ段（ｎは整数）のラッチ回路７２−１〜７２−５（Ｄｆｆ１〜Ｄｆｆ５）（過去情報記憶用バッファ）とで構成されている。
【００３６】
尚図１６では、過去情報記憶用バッファであるｎ段のラッチ回路を５つとして構成しているが、他の複数段数で構成してもよい。また、図１５の読み出し用バッファ５８のラッチ回路５８ａ〜５８ｃのＤｆｆ１〜Ｄｆｆ３と、図１６のラッチ回路７２−１〜７２−３のＤｆｆ１〜Ｄｆｆ３は同一記号の表記を使用しているが、これらは異なる回路である。
【００３７】
ラッチ回路７２−０のＤ端子には、読み出し用バッファ５８のラッチ回路５８ｂの出力（パルス位相情報）又はラッチ回路５８ｃの出力（パルス時刻情報）が検出データとして入力される。
【００３８】
ラッチ回路７２−０のＱ出力はラッチ回路７２−１のＤ端子に入力され、ラッチ回路７２−１のＱ出力はラッチ回路７２−２のＤ端子に入力され、ラッチ回路７２−２のＱ出力はラッチ回路７２−３のＤ端子に入力され、ラッチ回路７２−３のＱ出力はラッチ回路７２−４のＤ端子に入力され、ラッチ回路７２−４のＱ出力はラッチ回路７２−５のＤ端子に入力されている。
【００３９】
各ラッチ回路７２−０〜７２−５は、割込信号とパルス有無信号の論理積をとったＡＮＤ回路７１の出力をイネーブル信号とし、読み込みデータの書き込みや、バッファ間（ラッチ回路７２−０〜７２−５間）のデータ移動が割込処理により実行される。
【００４０】
このように割込信号とパルス有無信号の論理積信号をイネーブル信号としているため、パルス有無信号（パルス有無フラグ）が「パルスが発生」した場合のみ各バッファ（ラッチ回路７２−０〜７２−５）を動作させ、パルスが無い場合には過去の値を保持させることができる。このようなパルス有無信号によるデータ転送制限機能を有しているため、回転速度が低下してパルス発生周期が割込信号周期よりも長くなって「パルス休止」状態になっても対応できる。
【００４１】
図１６の７３は、図１５の前回値選択用セレクタ６４，６５（Ｓｅｌｅｃｔ２，Ｓｅｌｅｃｔ３）の機能を実現する前回値選択用セレクタであり、ラッチ回路７２−１〜７２−５の各Ｑ出力であるデータＤａｔａ（１）〜Ｄａｔａ（５）のうち、速度差データ選択回路６３（スタックバッファ）からの選択信号Ｓｅｌが示す複数サンプル周期前のデータを選択する。
【００４２】
前記選択信号ＳｅｌをＣＰＵへの設定により切り替える（速度差データ選択回路６３における選択信号を変更する）ことにより、固定したサンプル周期でデータをラッチさせていても、任意のサンプル回数より以前の時刻で発生したパルスの情報を取り出すことが可能になる。
【００４３】
図１５の６６は、パルス位相バッファ６１内の最新パルス位相と、前回値選択用セレクタ６４で選択された複数サンプル周期前のパルス位相との差分を計算する減算器（Ｓｕｂ２）であり、６７は、パルス時刻バッファ６２内の最新パルス時刻と、前回値選択用セレクタ６５で選択された複数サンプル周期前のパルス時刻との差分を計算する減算器（Ｓｕｂ３）である。
【００４４】
６８は、減算器６６の出力である位相差分を、減算器６７の出力である時間差分で除算して速度検出１（速度検出値）を出力する除算器である。前記減算器６６，６７および除算器６８によって本発明の速度検出演算部を構成している。
【００４５】
前記パルス位相バッファ６１、パルス時刻バッファ６２、速度差データ選択回路６３、前回値選択用セレクタ６４，６５、減算器６６，６７、除算器６８は、ＣＰＵ演算機能の構成要素としてソフトウェアなどで実装することを想定している。
【００４６】
尚、前記速度差データ選択回路６３の選択信号Ｓｅｌとして設定している。この選択信号Ｓｅｌをどのように決定するかは、「速度演算を計算する時間間隔は短いほうが応答性能を高くでき、逆に長いほうが精度が良い」という経験則に鑑みて、エンコーダの種類やパルス数およびジッタの発生量などから経験的に設定するなどの方法が考えられる。
【００４７】
図１５、図１６の構成によれば、複数パルス周期前のパルス情報から最新パルス情報までの速度検出期間を長くする（選択信号設定部で設定する）ことができ、速度検出における、パルス信号の発生時刻の揺らぎによるオフセット誤差を抑制して速度検出精度を向上させることができる。
【００４８】
図１５、図１６では、固定割込周期であっても、速度検出期間を可変にできる構成を示した。これは、ＣＰＵ内部のメモリ機能などを有効利用すれば簡単に実現できる。さらに、速度演算回数を増やせば、異なる速度検出期間を有する複数の速度検出演算を実行することもできる。そこで、複数の速度検出、例えば速度検出１と速度検出２の２個の速度検出演算を実行する例を図１７に示す。図１７において、図１５と異なる部分を説明すると、選択信号設定部として、図１５の速度差データ選択回路６３に代えて第１のサンプル周期前に取得され記憶されたパルス情報を選択するための第１の選択信号Ｓｅｌ１（前回１）と、第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶されたパルス情報を選択するための第２の選択信号Ｓｅｌ２（前回２）とを設定する速度差データ選択回路８３が設けられている。
【００４９】
また、第１の過去情報選択部として、第１の選択信号Ｓｅｌ１によりパルス位相バッファ６１内の第１のサンプル周期前のパルス位相情報を選択する前回値１選択用セレクタ６４−１と、パルス時刻バッファ６２内の第１のサンプル周期前のパルス時刻情報を選択する前回値１選択用セレクタ６５−１とが設けられている。
【００５０】
また、第２の過去情報選択部として、第２の選択信号Ｓｅｌ２によりパルス位相バッファ６１内の第２のサンプル周期前のパルス位相情報を選択する前回値２選択用セレクタ６４−２と、パルス時刻バッファ６２内の第２のサンプル周期前のパルス時刻情報を選択する前回値２選択用セレクタ６５−２とが設けられている。
【００５１】
また、第１の速度検出演算部として、パルス位相バッファ６１の最新パルス位相と前回値１選択用セレクタ６４−１によって選択された第１のサンプル周期前のパルス位相との差分を計算する減算器６６−１と、パルス時刻バッファ６２の最新パルス発生時刻と前回値１選択用セレクタ６５−１によって選択された第１のサンプル周期前のパルス発生時刻との差分を計算する減算器６７−１と、減算器６６−１の偏差出力である位相差分を、減算器６７−１の偏差出力である時間差分で除算して速度検出１（第１の速度検出値）を出力する除算器６８−１とが設けられている。
【００５２】
また、第２の速度検出演算部として、パルス位相バッファ６１の最新パルス位相と前回値２選択用セレクタ６４−２によって選択された第２のサンプル周期前のパルス位相との差分を計算する減算器６６−２と、パルス時刻バッファ６２の最新パルス発生時刻と前回値２選択用セレクタ６５−２によって選択された第２のサンプル周期前のパルス発生時刻との差分を計算する減算器６７−２と、減算器６６−２の偏差出力である位相差分を、減算器６７−２の偏差出力である時間差分で除算して速度検出２（第２の速度検出値）を出力する除算器６８−２とが設けられている。
【００５３】
その他の部分は図１５と同一に構成されている。  
【００５４】
図１７の構成において、速度検出演算までの各動作は図１５と同様であり、異なる速度検出期間により演算した速度検出１と速度検出２を得ることができる。
【００５５】
このように、２種類の速度検出において異なる速度検出期間を設定しておき、それぞれの速度検出の長所を生かすことにより、「速度検出周期が短いと速度誤差が大きくなり、逆に長いとムダ時間が長くなって応答性能に制限が生じる」という問題を対策することができる。その対策を行った回転機の速度制御系の構成図が図１８であり、図１７の速度検出装置を一般的な比例積分（微分）制御（ＰＩ（Ｄ）制御）と呼ばれる速度制御方式に適用した例である。
【００５６】
図１８では、ＣＰＵ演算部分を枠として表現して中央に配置してあり、この枠外の左側が図１５や図１７のディジタル検出回路に相当し、該ディジタル検出回路内のパルスエンコーダ５０以外の各回路を速度検出回路１００としている。
【００５７】
ＣＰＵ演算部分のＡＳＲ制御部（Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｄ  Ｒｅｇｕｌａｔｏｒ；自動速度制御部）２００は、次のように構成されている。
【００５８】
速度指令発生部２０１は、時間に応じて回転機の目標速度を速度指令として出力し、速度制御はこれに追従する動作を行う。
【００５９】
速度検出演算部２１０は図１７右側のＣＰＵ演算部分に相当し、速度検出１と速度検出２という、速度検出期間が異なる２種類の速度検出値を出力する。
【００６０】
減算器２０２において速度指令と速度検出１の偏差がとられ、減算器２０３において速度指令と速度検出２の偏差がとられる。
【００６１】
２０４は減算器２０２の偏差出力に対して比例（微分）制御を行う比例制御項としてのＰ（Ｄ）制御部であり、２０５は減算器２０３の偏差出力に対して積分制御を行う積分制御項としてのＩ制御部である。
【００６２】
Ｐ（Ｄ）制御部２０４およびＩ制御部２０５の各出力を加算器２０６で加算したＰＩ制御出力は、回転機に発生させたいトルク指令に相当する。
【００６３】
３００は、加算器２０６の出力であるトルク指令を回転機に流す電流指令に変換するトルク／電流指令変換部である。
【００６４】
トルク／電流指令変換部３００の出力は減算器４００において電流検出値（実電流）との偏差がとられる。
【００６５】
ＡＣＲ制御部５００は、減算器４００の偏差出力に対してＡＣＲ制御を行って出力電圧指令を出力するものであり、前記電流指令に実電流が追従するように電流制御（ＡＣＲ）する。
【００６６】
上記の構成において、ＡＳＲ制御部２００内のＰＩ制御は、「Ｐ制御が高速な応答性能を実現し、Ｉ制御が定常誤差などをゆっくりと補正する」という２種類の機能を組み合わせた制御方式である。したがって速度指令との偏差をとる速度検出情報もこれに対応した機能を十分に発揮できる性質を有するものを使用すればよい。
【００６７】
そこで図１７の速度検出１を得るための第１の選択信号Ｓｅｌ１を、例えば２サンプル周期前のパルス情報を選択するための選択信号に設定し、速度検出２を得るための第２の選択信号Ｓｅｌ２を、例えば８サンプル周期前のパルス情報を選択するための選択信号に設定しておく。これによって、速度検出１は短い検出期間を有し、速度検出２は長い検出期間を有することになる。
【００６８】
図１８のＡＳＲ制御部２００における比例制御（Ｐ（Ｄ）制御部２０４）は応答性の性能に影響するので、速度検出１の検出期間が短い情報を使用してムダ時間を少なくし、比例項の制御ゲインをできるだけ高く設定して応答性能を高める。
【００６９】
一方で、積分項の時定数は機械の慣性モーメントにより決まる値であり、通常は速度検出周期よりも長いことが多い。そこで、積分項（Ｉ制御部２０５）の速度検出には、ムダ時間の大きな信号を用いても悪影響は少ないことを利用して、速度検出２の計測時間が長い（ムダ時間は大きいが精度が良い）情報を使用する。
【００７０】
このように、２種類の速度検出が有している特長が発揮できるように、制御項によって使用する速度情報を使い分けることにより、「速度制御精度と応答性能」とを両立する制御系を構築することができる。
【００７１】
図１８の速度制御システムは、ディジタル演算器の性能が向上したので割込周期（サンプル周期）を短くすることができるようになったが、パルスエンコーダの分解能が従来のままであれば、速度検出時間を短くすると波形のバラツキの影響が逆に大きくなって、速度検出誤差が大きくなるという問題を改善するものである。すなわち、速度検出精度と速度検出の遅れ時間との相反する要求を満足するために、計測期間の長さが異なる２種類の速度検出を実装し、ＰＩ制御の比例項には短い計測期間の速度検出値を、積分項には長い計測期間の速度検出値を使用するように構成している。
【００７２】
これは、比例項は応答性能を実現するが、速度の制御精度を支配するのは積分成分である。そこで、積分項にだけ応答性よりも精度を重視した計測方法を適用するものである。この図１８の構成を参考例１とする。これは、パルス分解能が高い場合に有効であると想定しており、本発明の新規性のあるポイントを分かりやすくするために比較対象として示している。
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特許第３１７３１７４号公報
【非特許文献】
【００７４】
【非特許文献１】電気学会、電気論Ｄ，１５５巻１１号  ｐｐ１３１６−１３２４（平成７年）の２章
【発明の概要】
【発明が解決しようとする課題】
【００７５】
参考例１の構成はある程度のパルスエンコーダの分解能が高い場合を想定しており、一回転当たり数百パルス[ｐ／ｒ]以下という程度の低分解能なパルスエンコーダが適用される場合には、低速時のエンコーダのパルス周期が制御のサンプル周期に対してかなり低くなる。
【００７６】
そのため、割込処理にて速度検出演算を実行しようとしても、パルスが発生しない（休止している）ために計測情報が更新されておらず速度検出値が更新できない。これをパルスや速度検出の休止期間と呼ぶことにする。このようなパルス休止期間が生じると、実速度に対して制御器が速度を検出するまでの遅れ時間が長くなるし、その休止期間は前回値を保持させるなどの対策を採用すると、実速度との誤差も大きくなる。
【００７７】
図９は、その速度検出の遅れ時間やパルス休止期間による影響を説明するための模式的なタイムチャートである。図９（ａ）は、「Ａ相とＢ相」の２相エンコーダの出力パルス波形を表し、低速域でさらに速度が低下している状態を示している。
【００７８】
このパルスエッジを検出して位相カウンタをアップダウンカウントすることにより、図９（ｂ）のθｐｐのようなエンコーダパルス位相に相当するディジタル値の位相検出情報に変換する。図９（ｃ）に示す割込信号によりディジタル制御処理が起動されると、まず位相カウンタの値を読み出した後、以前の割込み時に読み出した位相や時刻情報との差分をとることにより図９（ｂ）の位相差Δθｐｐと時間差Δｔｐｐを求め、これらを除算（Δθｐｐ／Δｔｐｐ）して検出速度を計算する。しかし、この速度検出値は割込信号に同期した処理にて演算されているので、速度検出値ωｄｅｔと実速度ωｒを示す図９（ｄ）のように割込信号に同期して更新される波形として認識される。そうすると、実速度が変化している場合には、速度検出に必要なΔｔｐｐの時間幅による遅延成分や、パルス発生時刻と割込タイミングとの遅れ時間（図９（ｄ）中の（Ｄａ）に相当）が生じることになる。
【００７９】
さらに、時間が経過した後半のようにパルス周期が割込周期よりも長くなってくると、図中の楕円（点線）で示した割り込み処理において位相カウンタ値が更新していないことによる速度検出の休止期間が生じてくる。図９のパルス休止期間では、速度検出値は前回の検出値を保持させてあるが、これにより実速度との誤差が大きくなることが分かる。
【００８０】
以上のように、パルエンコーダを使用した速度検出においては下記の２種類の検出遅れが存在する。  
【００８１】
（遅延時間１）一つは２つのパルスエッジ間のサンプル時間差Δｔｐｐという時間幅に起因する遅れ成分とパルス発生時刻に対してディジタル演算のタイミングが遅れる成分の和である。これはパルスが休止しなくても、常に存在している。
【００８２】
（遅延時間２）もう一つは、パルス休止により速度検出ができないことによる遅延成分である。特に極低速にて遅れ要因が発生する。
【００８３】
これらの説明のために、図９（ｄ）の速度検出値ωｄｅｔを時間積分した位相がどうなるかを図９（ｂ）中に点線として模式的に表した。（遅延時間１）は図中の（Ｄａ）で示した計測パルス間隔の中間時刻とサンプル時刻との時間差分成分であり、この図９のように減速している場合には、この遅延時間だけ速度検出が遅れるので、速度検出誤差の要因となる。さらに、パルス休止による遅れ時間が発生してくると、図中の（Ｄｂ）のように速度検出が前回値を保持する期間も生じ、（遅延時間２）の遅延成分も追加されてくる。
【００８４】
通常は、この２種類の遅延時間に起因する速度検出誤差の影響として、実速度ωｒとの差異の大小により評価するが、本発明では速度制御の積分項に対する外乱として評価するために、図９（ｂ）では、速度検出を逆に時間積分して位相成分（θｉｎｔｇ＝∫（ωｄｅｔ）ｄｔ）に戻して、これと元のθpp（計測したパルス位相）の波形の位相誤差として表現してみた（図示（Ｄｃ））。
【００８５】
図９（ｂ）において、低速になるほど（遅延時間１）による速度検出誤差が時間積分されるので（Ｄｃ）に示す位相差は次第に大きくなっていくが、後半のパルス休止による（遅延時間２）が生じてくると、格段に位相誤差が大きくなっていく。
【００８６】
ＰＩ制御演算の積分項にも速度指令値と速度検出値の差分を時間積分しているので、このような位相誤差に比例した誤差が生じるはずである。さらに速度が急変する場合には、図９の（Ｄａ）に示すような検出時間の遅れによって生じる速度検出誤差はさらに大きくなってくるし、極低速域に急減速する場合には、図９の（Ｄｂ）のようなパルス休止遅れによる誤差成分が大きくなってくる。このようにこれらの遅延時間成分は、加減速時に蓄積される量が大きいので、加速後の一定速度への移行時にオーバーシュートが生じる要因となり、さらに低速で生じる後者の（遅延時間２）は、速度誤差が大きいだけでなく、制御のムダ時間成分も長くなるために不安定現象を発生させる要因となる。
【００８７】
まず、加速時のオーバーシュートの例を説明するための模式的なタイムチャートが図１０である。この図１０には、加速状態から一定速度に移行する速度指令に対する、「比例制御（Ｐ制御）」（図示特性線（１））、「速度検出に遅れ時間が無い理想的な場合のＰＩ制御」（図示特性線（２））および「速度検出に検出遅れが存在するＰＩ制御」（図示特性線（３））の３種類の速度応答特性を示してある。
【００８８】
Ｐ制御（特性線（１））の場合には、加速状態から一定速度に移行する際にオーバーシュートは発生しないが、指令値に到達する部分の応答が緩やかであり、また指令値に対する定常偏差が生じる。
【００８９】
次に、検出遅れの無い理想的な速度検出とＰＩ制御を組み合わせた（特性線（２））の場合には、積分項により加速期間の速度差が減少するので応答遅れが少なくなるが、破線のようにオーバーシュートが生じるようになる。これに対して、同じＰＩ制御でも速度検出遅れが存在すると実線のような応答波形（特性線（３））となり、加速期間では速度検出遅れによって速度指令値と速度検出値との速度差が大きく現われるので、正方向に加速時は、ＰＩ制御の積分項が正の方向に大きくなるという制御誤差が生じる。
【００９０】
そのため図１０の（ア）で示したように検出遅れによる速度誤差成分による積分項が過大に補正するために、加速期間の速度指令との速度差はより小さくなっているが、この加速期間に過大な積分項が蓄積されており、そのため定常速度に移行すると（イ）で示したように速度のオーバーシュートが大きくなってしまう。このように速度検出の遅延時間によってＰＩ制御の応答特性に外乱が生じてくるので、比例ゲインや積分時定数の設計においてもこの外乱を考慮し制御応答を低めに設計するのを配慮しておく必要がある。
【００９１】
これに重畳するように、低速域ではパルス休止期間による遅延成分が大きな外乱を生じさせるので、さらに不安定になりやすい。そのため、さらに制御応答を低く設計しておく必要がある。
【００９２】
従来例１（図１）や従来例２（図３）のＰＩ制御に、「低分解能なパルスエンコーダによる速度検出」を組み合わせた場合には、速度制御特性に理想状態に比して誤差が生じ、応答性能を低く設計する必要があったり、低速域で不安定になりやすいという問題点が存在する。
【００９３】
本発明は上記課題を解決するものであり、その目的は、速度検出遅れによって生じる外乱を抑制することができる速度制御システムを提供することにある。
【課題を解決するための手段】
【００９４】
上記課題を解決するための請求項１に記載の速度制御システムは、パルスエンコーダを用いた速度検出と速度形の比例積分制御方式を適用した回転機の速度制御システムにおいて、
前記比例積分制御方式の比例項のトルク指令成分（τ＿ｐ）は、速度指令値（ω＿ｒｅｆ）と速度検出値（ω＿ｄｅｔ）の差分に対して比例ゲイン（Ｋｐｓ）を乗算して求め、
前記比例積分制御方式の積分項のトルク指令成分（τ＿ｉ）は、速度指令値（ω＿ｒｅｆ）に速度指令値の補正量（Δω＿ｆｂ）を加算した値を、サンプル演算ごとに積算して位相指令値（（θ＿ｒｅｆ）’）を演算し、該位相指令値（（θ＿ｒｅｆ）’）と位相検出値（θ＿ｄｅｔ）との差分に対して、比例ゲイン（Ｋｐｓ）と積分時定数に相当する係数ゲイン（ｄＴ／Ｔｉｓ）を乗算することにより求め、
前記比例項のトルク指令成分（τ＿ｐ）と積分項のトルク指令成分（τ＿ｉ）を加算し、該加算出力をトルク制限部に通して比例積分制御のトルク指令（τ＿ｐｉｏ）を出力し、
前記速度指令値の補正量（Δω＿ｆｂ）は、前記トルク制限部の出力成分からトルク制限部の入力成分を減算することにより、トルク制限部で作動した制限量をトルク指令補正量（Δτ＿ｆｂ）として演算し、該トルク指令補正量（Δτ＿ｆｂ）に、前記比例ゲインと積分時定数に相当する係数ゲインのそれぞれの逆数（１／Ｋｐｓ、Ｔｉｓ／ｄＴ）を乗算して求めることを特徴としている。
【００９５】
また、請求項２に記載の速度制御システムは、請求項１において、前記速度検出値（ω＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出し、検出された各エッジをカウントしてパルス位相値としてラッチし、最新のパルス位相値とエッジ検出タイミング前の過去のパルス位相値との差である位相差を演算し、前記出力パルスの最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である時間差を演算し、前記演算された位相差を前記演算された時間差で除算して求めることを特徴としている。
【００９６】
上記構成によれば、積分項のトルク指令成分は、時間積分を施していない位相検出情報を直接用いているため、速度検出をする時間差の時間幅により生じる遅延時間による速度誤差の影響を受けなくすることができる。
【００９７】
このため、加減速中に検出遅れによる速度誤差成分が積分項に蓄積されることがなく、定常速度に移行した際のオーバーシュート量が抑制され、速度検出遅れの無い理想的な速度応答特性に近づけることができる。
【００９８】
また、請求項３に記載の速度制御システムは、請求項１において、前記位相検出値（θ＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出してエッジ検出タイミングを求め、該エッジ検出タイミングで前記出力パルスをカウントしてパルス位相値としてラッチし、該ラッチされたパルス位相値をサンプル周期発生部で生成されるサンプルタイミングで読み出すことで得られ、
前記速度検出値（ω＿ｄｅｔ）は、前記得られた位相検出値（θ＿ｄｅｔ）のうち最新の位相検出値と前記エッジ検出タイミング前の過去の位相検出値との差である位相差を演算し、基準クロック信号をカウントして時刻情報とし、前記エッジ検出タイミングで前記出力パルスのカウント値が変化したときの時刻をラッチし、該ラッチされた時刻を前記サンプルタイミングで読み出すことでパルス発生時刻（Ｔｐｐ）を得、最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である第１の時間差を演算し、前記演算された位相差を前記演算された第１の時間差で除算して求められ、
前記基準クロック信号をカウントした時刻情報から前記サンプルタイミングで更新されるサンプル時刻（Ｔｓ）を計測し、前記パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間に相当するクロック差（Ｔｓ−Ｔｐｐ）を第２の時間差（ΔＴ＿ｅｓｔ）として演算し、
前記第２の時間差をサンプル周期（ｄＴ）で除して補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を求め、前記速度指令値（ω＿ｒｅｆ）と速度指令値の補正量（Δω＿ｆｂ）を加算した値に前記補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を乗算して位相差補正成分（Δθｒｅｆ＿ｅｓｔ）を求め、
前記位相指令値は、前記位相指令値（（θ＿ｒｅｆ）’）から、前記位相差補正成分（Δθｒｅｆ＿ｅｓｔ）を減算することによって、パルス発生時刻に近似した位相指令値（θ＿ｒｅｆ）として得られることを特徴としている。
【００９９】
上記構成によれば、速度検出および速度制御（ＰＩ制御）の処理を実行するサンプル周期とエンコーダパルスの発生時刻の時間的な整合をとることができ、正確な位相指令を計算することができる。これによって、サンプル時刻とパルス発生時刻が非同期であることに起因する遅延時間成分について、遅延時間差に相当する位相成分を補正する効果が得られ、積分項に関する遅延時間の影響を抑制し、速度応答特性を、検出遅延の無いより理想的な応答特性に近づけることができる。
【０１００】
また、請求項４に記載の速度制御システムは、請求項１において、前記位相検出値（θ＿ｄｅｔ）は、前記パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出してエッジ検出タイミングを求め、該エッジ検出タイミングで前記出力パルスをカウントしてパルス位相値としてラッチし、該ラッチされたパルス位相値をサンプル周期発生部で生成されるサンプルタイミングで読み出すことで得られ、
前記速度検出値（ω＿ｄｅｔ）は、前記得られた位相検出値（θ＿ｄｅｔ）のうち最新の位相検出値と前記エッジ検出タイミング前の過去の位相検出値との差である位相差を演算し、基準クロック信号をカウントして時刻情報とし、前記エッジ検出タイミングで前記出力パルスのカウント値が変化したときの時刻をラッチし、該ラッチされた時刻を前記サンプルタイミングで読み出すことでパルス発生時刻（Ｔｐｐ）を得、最新のパルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である第１の時間差を演算し、前記演算された位相差を前記演算された第１の時間差で除算して求められ、
前記基準クロック信号をカウントした時刻情報から前記サンプルタイミングで更新されるサンプル時刻（Ｔｓ）を計測し、前記パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間に相当するクロック差（Ｔｓ−Ｔｐｐ）を第２の時間差（ΔＴ＿ｅｓｔ）として演算し、
前記速度検出値（ω＿ｄｅｔ）と第２の時間差（ΔＴ＿ｅｓｔ）を乗算して、第２の時間差内で変化する位相の予測量（Δθ＿ｅｓｔ）を求め、該予測量を前記位相検出値（θ＿ｄｅｔ）に加算して、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を求め、
前記位相検出値（θ＿ｄｅｔ）に代えて前記位相検出値（θ＿ｄｅｔｅｓｔ）を、前記位相指令値（（θ＿ｒｅｆ）’）との差をとるために用いることを特徴としている。
【０１０１】
上記構成によれば、時間遅れ成分に相当する、パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間（第２の時間差ΔＴ＿ｅｓｔ）において変化する位相の予測量（Δθ＿ｅｓｔ）を求め、これによって位相検出値（θ＿ｄｅｔ）を補正した、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を得ている。このため、このθ＿ｄｅｔｅｓｔを位相検出値として使用することにより、位相指令と位相検出の同時性について整合をとることができる。
【０１０２】
また、前記サンプル時刻（Ｔｓ）は、サンプルタイミングで（割込信号ごとに）更新されるため、時間遅れ成分に相当する第２の時間差（ΔＴ＿ｅｓｔ）および位相の予測量（Δθ＿ｅｓｔ）も更新され、その結果、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を更新させ続けるように働く。
【０１０３】
これによって、パルス休止により速度検出ができないことによる遅延成分を抑制することができる。
【０１０４】
また、請求項５に記載の速度制御システムは、請求項１ないし４のいずれか１項において、前記比例積分制御のトルク指令出力側に低域通過フィルタを設けたことを特徴としている。
【０１０５】
上記構成によれば、前記パルスエンコーダの位相分解能が低い場合などに、前記積分項がステップ状に変化する外乱を抑制することができる。
【発明の効果】
【０１０６】
（１）請求項１〜５に記載の発明によれば、積分項のトルク指令成分は、時間積分を施していない位相検出情報を直接用いているため、速度検出をする時間差の時間幅により生じる遅延時間による速度誤差の影響を受けなくすることができる。
【０１０７】
このため、加減速中に検出遅れによる速度誤差成分が積分項に蓄積されることがなく、定常速度に移行した際のオーバーシュート量が抑制され、速度検出遅れの無い理想的な速度応答特性に近づけることができる。  
【０１０８】
したがって、速度検出遅れによって生じる外乱を抑制することができる。
（２）請求項３に記載の発明によれば、速度検出および速度制御（ＰＩ制御）の処理を実行するサンプル周期とエンコーダパルスの発生時刻の時間的な整合をとることができ、正確な位相指令を計算することができる。これによって、サンプル時刻とパルス発生時刻が非同期であることに起因する遅延時間成分について、遅延時間差に相当する位相成分を補正する効果が得られ、積分項に関する遅延時間の影響を抑制し、速度応答特性を、検出遅延の無いより理想的な応答特性に近づけることができる。
（３）請求項４に記載の発明によれば、第２の時間差（ΔＴ＿ｅｓｔ）において変化する位相の予測量（Δθ＿ｅｓｔ）によって、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を求め、これを位相検出値として使用しているので、位相指令と位相検出の同時性について整合をとることができる。
【０１０９】
また、前記サンプル時刻（Ｔｓ）は、サンプルタイミングで（割込信号ごとに）更新されるため、時間遅れ成分に相当する第２の時間差（ΔＴ＿ｅｓｔ）および位相の予測量（Δθ＿ｅｓｔ）も更新され、その結果、割込時刻における補正された位相検出値（θ＿ｄｅｔｅｓｔ）を更新させ続けるように働く。
【０１１０】
これによって、パルス休止により速度検出ができないことによる遅延成分を抑制することができる。
（４）請求項５に記載の発明によれば、前記パルスエンコーダの位相分解能が低い場合などに、前記積分項がステップ状に変化する外乱を抑制することができる。
【図面の簡単な説明】
【０１１１】
【図１】速度制御システムで用いられるＰＩ制御方式の従来例１を示すブロック図。
【図２】速度制御システムで用いられるＰＩ制御方式の従来例１から従来例２へ変換する途中の構成を示すブロック図。
【図３】速度制御システムで用いられるＰＩ制御方式の従来例２を示すブロック図。
【図４】速度制御システムで用いられるＰＩ制御方式の従来例２から本発明方式へ変換する途中の構成を示すブロック図。
【図５】本発明の実施例１のブロック図。
【図６】本発明の実施例２のブロック図。
【図７】本発明の実施例３のブロック図。
【図８】本発明の実施例３の他の形態を示すブロック図。
【図９】低速時の速度検出における問題点を説明する図であって、（ａ）は２相のパルスエンコーダの出力信号波形図、（ｂ）はエンコーダパルス位相の特性図、（ｃ）は割込信号波形図、（ｄ）は検出速度と実速度の特性図。
【図１０】速度制御方式と速度検出の影響を比較した説明図。
【図１１】従来例１と実施例３の加速特性を説明するための速度特性図。
【図１２】従来例１と実施例３の加速特性を説明するためのトルク制御特性図。
【図１３】従来例１と実施例３の加速後に低速域へ減速する特性を説明するための速度特性図。
【図１４】従来例１と実施例３の加速後に低速域へ減速する特性を説明するためのトルク制御特性図。
【図１５】速度制御システムの参考例１に用いられる速度検出装置のベースとなる装置の構成図。
【図１６】図１５の要部の構成図。
【図１７】速度制御システムの参考例１に用いられる速度検出装置の構成図。
【図１８】速度制御システムの参考例１を示す構成図。
【発明を実施するための形態】
【０１１２】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図９（ｂ）では、パルスエンコーダによる検出位相θｐｐと速度検出値を時間積分した位相（θｉｎｔｇ＝∫（ωｄｅｔ）ｄｔ）とを示したが、発想を変えて、この位相差がＰＩ制御の積分項、つまり速度差の時間積分値に相当するとみなすことができる。この位相を利用することができるのは積分項に限るが、位相検出情報だけでよいので、速度検出遅れによって生じる外乱を抑制することができる。
【０１１３】
そこで、本実施形態例では、図３の離散系で構成したＰＩ制御ブロック図を、さらに等価な制御ブロックに展開して、ＰＩ制御の積分項を「“速度指令値を時間積分した位相指令”と“エンコーダの検出位相の差分”」を使用する形態に変形するように構成した。
【実施例１】
【０１１４】
実施例１の構成を図５に示す。これは図３の構成に対して、図４に示すような等価変換を行うことにより導出できる。まず図４（ａ）では、図３における積分項のトルク指令τ＿ｉを出力する積算部（サンプラ１ｆおよび加算器４ｄの回路）を、直前の加算器４ａの入力項に移動する。そうすると、積分ゲイン（ｄＴ／Ｔｉｓ）（係数器３）の後段（サンプラ１ｇおよび加算器４ｅの回路）と、トルク制限の超過量であるトルク補正量Δτ＿ｆｂのフィードバック項（サンプラ１ｈおよび加算器４ｆの回路）の２ヶ所に積算部が分岐して存在するようになる。
【０１１５】
次に図４（ａ）の積分ゲイン側の積算部（サンプラ１ｇおよび加算器４ｅの回路）を、速度指令値と速度検出値の差分演算の前（減算器２ａの入力側）に移動する。そうすると、図４（ｂ）のように、速度指令値ω＿ｒｅｆをサンプラ１ｉおよび加算器４ｇによって積算して位相指令θ＿ｒｅｆを演算し、速度検出値ω＿ｄｅｔをサンプラ１ｊおよび加算器４ｈによって積算して位相検出値θ＿ｄｅｔを演算するようになる。そしてθ＿ｒｅｆとθ＿ｄｅｔの偏差が減算器２ｄでとられ、減算器２ｄの偏差出力に比例ゲインＫｐｓが乗算された後、係数器３（積分ゲイン）に入力される。本来、速度を時間積分して位相に変換するためには、加算器４ｇと４ｈの前でサンプル時間ｄＴを乗算するが、簡素化のため係数器３にまとめている。
【０１１６】
さらに、図４（ｂ）におけるトルク制限の超過量であるトルク補正量Δτ＿ｆｂをフィードバックする先の加算器４ａの位置を、速度指令側の積算部（サンプラ１ｉおよび加算器４ｇの回路）よりも前に移動すると、図４（ｃ）の構成になる。ここで、減算器２ｄの出力側にはＫｐｓとｄＴ／Ｔｉｓゲインが存在するので、前記Δτ＿ｆｂのフィードバック側のループにはこのゲインの逆数、１／ＫｐｓとＴｉｓ／ｄＴを挿入してあり、この逆数を乗算した値は速度の単位の値Δω＿ｆｂ（速度指令値の補正量）となる。
【０１１７】
以上の変形、つまりブロックの移動は、一方に流れる信号の加算部分をさかのぼって移動させているだけであり機能的には等価な変換である。
【０１１８】
これを図５に展開するために、図４（ｃ）の比例項では速度検出を入力としていたが、位相検出（θ＿ｄｅｔ）を時間差分（時間微分に相当）して速度検出とする構成に置き換える。さらに、図４（ｃ）の積分項の速度検出を積分したθ＿ｄｅｔは、エンコーダの発生するパルスを計測して得られた位相情報（θ＿ｄｅｔ）ｉをサンプルした位相検出成分に置き換える（時間積分を施さずに位相検出情報を直接用いる）。こうすると、図３から等価変換した図４（ｃ）を経て、さらに速度指令値と速度検出値の速度差を時間積分したものが位相差に相当することを利用することにより、図５のようなほぼ同様な機能を実現する構成を得ることができる。
【０１１９】
図５において、速度検出値（ω＿ｄｅｔ）は、パルスエンコーダの出力パルスの立上り、立下がりの各エッジを検出し、検出された各エッジをカウントしてパルス位相値（θ＿ｄｅｔ）ｉとしてラッチ回路１１ａにラッチし、最新の（サンプル時刻の直前の）パルス位相値とエッジ検出タイミング前の過去のパルス位相値との差である位相差をラッチ回路１１ｂおよび減算器２ｅで演算し、前記出力パルスの発生時刻情報（（Ｔ＿ｄｅｔ）ｉ）をラッチ回路１１ｃにラッチし、前記最新の（サンプル時刻の直前の）パルス発生時刻とエッジ検出タイミング前の過去のパルス発生時刻との差である時間差（ΔＴ）をラッチ回路１１ｄおよび減算器２ｆで演算し、前記演算された位相差を、除算器１２ａにおいて前記演算された時間差（ΔＴ）で除算して求める。
【０１２０】
尚、前記速度検出値（ω＿ｄｅｔ）は例えば図１５、図１７の速度検出装置を用いることで得ることができる。
【０１２１】
ここで、図５の速度検出値（ω＿ｄｅｔ）を演算する部分は、他のサンプル時間（サンプル周期：ｄＴ）とは異なる時間差の記号「ΔＴ」を用いてあり、エンコーダパルスエッジの発生時刻の差分成分なので、制御のサンプルタイミングとは関係しない。そこで、他のサンプラ（Ｚ-1）と異なる記号を使用して、タイミング信号（エッジ検出タイミング信号）「Ｅｄｇ」と記載して差異を明示してある。詳細は実施例２の速度検出方式の部分で述べるが、エンコーダパルスの発生タイミングがサンプル周期と同期していないため、速度検出の時間差分を求める部分のＺ-1の動作タイミングとその時間差成分が制御演算のサンプル周期と異なるので、タイミングの整合処理が必要になるが、図５では原理の理解を主眼としているので、複雑な部分は省略して「Ｅｄｇ」の記号のみに簡素化して、異なるタイミングであることを強調した。
【０１２２】
このパルス発生時刻とサンプル時刻が非同期であることによって、「発明が解決しようとする課題」の欄で述べた（遅延時間１）の誤差の一部が生じるので、別項である実施例２や実施例３にてこの誤差の対策を提案している。
【０１２３】
従来例１、２から変換した後の図５は下記の構成となっている。図１の説明に使用した項目（１）から（７）については同じものであるので説明を省略し、差異の箇所のみ説明する。
【０１２４】
前述のように速度検出値ω＿ｄｅｔは、位相検出θ＿ｄｅｔの時間差分（微分に相当）に置き換える。具体的には、サンプル時刻の直前のパルス発生タイミング（Ｅｄｇ）における位相カウンタによる位相θ＿ｄｅｔと発生時刻Ｔ＿ｄｅｔを読み出し、すでに以前のサンプル処理にて読み出している位相と時間との差分をとり、位相差を時間差で除算して速度検出値ω＿ｄｅｔとしている。
【０１２５】
比例項は図１と同様に、ω＿ｒｅｆとω＿ｄｅｔの差分に比例ゲインＫｐｓを乗算して比例項のトルク指令成分τ＿ｐを計算しているが、差異があるのは積分項であり、速度検出のために時間差分とする前の位相情報θ＿ｄｅｔ（図９（ｂ）のθｐｐに相当）を直接に使用する。その代わり、速度指令値ω＿ｒｅｆをサンプラ１ｉおよび加算器４ｇによって時間積分（サンプル演算ごとに積算）して位相指令（θ＿ｒｅｆ）’を生成する。
【０１２６】
しかし厳密には、ＰＩ制御の出力がトルクリミッタ５のトルク制限に掛からない場合にはこれで問題無いのだが、速度形ＰＩ制御では最終出力前のトルク制限が動作した場合には積分項にフィードバック補正がかかるのでこの成分も考慮する必要がある。そこで、速度指令値ω＿ｒｅｆとこの積算部（サンプラ１ｉおよび加算器４ｇ）との間に、フィードバック補正成分Δω＿ｆｂ（速度指令値の補正量）を、加算器４ａで加算するような構成としている。
【０１２７】
そして、この補正後の速度指令値を積算（時間積分）して、トルクリミッタ５による制限動作を考慮した位相指令（θ＿ｒｅｆ）’を得ている。さらにこの位相指令（θ＿ｒｅｆ）’から位相検出値θ＿ｄｅｔを減算器２ｄによって減算して差分Δθ＿ｉを求め、これを従来例２の「速度指令値と速度検出値との差を時間積分した成分」に相当するものとみなし、このΔθ＿ｉにゲインＫｐｓ、ｄＴ／Ｔｉｓを乗算して積分成分のトルク指令τ＿ｉを演算する。
【０１２８】
あとは図３の従来例２と同様に、比例項τ＿ｐと積分項τ＿ｉを加算器４ｂで加算して（τ＿ｐ＋τ＿ｉ）を計算し、これをトルクリミッタ５にて（±τ＿ｌｉｍ）の範囲以内に制限して最終的なＰＩ制御の出力とする。
【０１２９】
トルクリミッタ５の出力側の値から入力側の値を引いたものがトルクリミッタ５により抑制されたトルク指令の超過量Δτ＿ｆｂ（トルク指令補正量）になるので、これに積分係数の逆数（Ｔｉｓ／ｄＴおよび１／Ｋｐｓ）を乗算して、次回の演算にて使用する前述の積分項の補正値Δω＿ｆｂ（速度指令値の補正量）とする。
【０１３０】
従来の速度差を積分する方式に比べて、エンコーダなどの位相分解能が低い場合には積分項がステップ状に変化する外乱が生じる。これに対しては、図５のＰＩ制御の出力の後段に、破線のブロック（図示ＬＰＦ）として、低域通過フィルタ（高域遮断フィルタ）１５などを追加して急変を抑制させるなどの対策方法を適用すればよい。ただし、上記の外乱による影響が少ない制御系の場合は、低域通過フィルタ１５を設けなくともよい。
【０１３１】
速度形の比例積分制御演算を図５のような構成とすることにより、図１と等価な制御演算が実現でき、かつ積分項に関しては速度検出ではなく時間積分をする前の位相情報を直接に使用していることにより、速度検出をする時間差の時間幅により生じる遅延時間による速度誤差の影響を受けなくすることができる。
【０１３２】
この遅延時間成分による速度検出誤差成分は速度が加減速する際に大きくなるが、この実施例１を適用すれば加減速中に速度検出誤差が速度制御の積分項に蓄積されることを防止でき、ひいては定常速度に移行時に発生していた速度のオーバーシュート成分を抑制することができる。トルク制限の動作を実現するために、積分項のフィードバック補正値Δω＿ｆｂにより位相指令（θ＿ｒｅｆ）’の積算演算部を修正する構成をとっているので、図１と同じ速度形のＰＩ制御として動作することができる。
【０１３３】
以上のように本実施例１によれば、従来の速度形ＰＩ制御を用いた速度制御系と等価な機能を実現しているが、「発明が解決しようとする課題」の欄で示した（遅延時間１）による速度誤差成分によって、速度形ＰＩ制御の積分項に積算される誤差を抑制することが出来る。そのため、加減速中に検出遅れによる速度誤差成分が積分項に蓄積されにくくなるので、定常速度に移行した際のオーバーシュート量が抑制でき、速度検出遅れの無い理想的な速度応答特性に近づけることができる。
【０１３４】
実施例１では、割込信号などのサンプルタイミングにて起動させる離散系の演算処理にて、パルス発生時にラッチした位相や時刻情報を読み出して速度検出をしているだけなので、そのままでは、速度情報は異なる割込タイミングが混在することになり厳密には矛盾が生じる。
【０１３５】
厳密にはエンコーダパルスの発生時刻はサンプルタイミングと無関係（非同期）に発生するので、より厳密に異なる時間の整合を取りたい場合には、パルス発生タイミングの前後の位相指令サンプル値から補間演算などによりパルス発生タイミングの位相指令推定値を求めればよく、この方法を用いればより精度が改善できる。
【０１３６】
特に図９のように、低速になってエンコーダパルスの休止期間が長くなってくると、指令位相の方だけがどんどん進んでしまうため、時刻の整合を取らないと位相差の誤差が大きく現われることになる。これは、「発明が解決しようとする課題」の欄にて説明をした（遅延時間２）に相当する影響が表れているとみなすこともできる。
【０１３７】
したがって、実施例１に対して、さらに「発明が解決しようとする課題」の欄で示した２種類の遅延時間成分の対策をする必要がある。この遅延時間の影響を抑制するために、以降では次に示す実施例２と実施例３のような２種類の対策を提案する。
【０１３８】
（実施例２の対策）…速度検出および速度制御（ＰＩ制御）の処理を実行するサンプル周期と、エンコーダパルスの発生時刻に時間的なずれがあるので、パルス発生時刻と時間的な整合をとった正確な位相指令を計算する。具体的には、サンプル時刻の位相指令をパルス発生時刻情報で補間演算などを適用する。
【０１３９】
（実施例３の対策）…速度検出および速度制御（ＰＩ制御）の処理を実行する割込周期で位相指令を更新しておき、今度は検出位相の方を補正する。具体的には、パルス発生時刻からの割込時刻前での位相進み量を予測して補正する。これにより、時間整合だけでなく、位相差がパルス分解能に相当する幅でステップ状に変化する問題を対策でき、さらにパルス休止期間中の位相補正機能も実現できる。
【実施例２】
【０１４０】
実施例２の構成を図６に示す。これは、速度指令値ω＿ｒｅｆを積算した位相指令値（θ＿ｒｅｆ）’の方を補正するものであり、パルス発生時刻における位相指令を補正計算により得るという対策である。
【０１４１】
図６の構成では、速度検出に使用するパルス時刻を明示する必要があるので、速度検出方法の一例を図中に追加して描いている。これは、下記のような計測回路や演算機能で構成されている。
【０１４２】
（１）ｐｐはエンコーダのパルス信号（図９（ａ）のＡ，Ｂ相信号に相当）である。  
【０１４３】
（２）エッジ検出部１６では、パルス信号の変化するエッジ検出タイミングＥｄｇを検出する。  
【０１４４】
（３）位相カウンタ１７は、エッジ検出タイミングにてカウンタ値をｕｐ／ｄｏｗｎさせて、位相に相当するカウント値を出力し、さらに、これをサンプラ１ｍ（Ｚ-1）にて、サンプル周期発生部３０で生成するサンプルタイミングｓ（図９（ｃ）の割込信号のタイミング）でラッチして位相情報θｐｐとする。位相カウンタ値はエッジ検出タイミングＥｄｇの時に更新された値をラッチ回路１１ｅに保持しており、速度検出を行うために読み出す位相データはサンプル周期でサンプラ１ｍにラッチしたものである。つまりＥｄｇとサンプルタイミングｓという異なる２段のラッチ構成となっているので、位相カウンタブロックの中に初段のＥｄｇで操作するラッチ回路１１ｅを描くことにより明示した。
【０１４５】
サンプルタイミングｓは速度検出や制御処理を開始する割込信号であるが、速度検出や制御処理で読み出すデータを計測回路内のレジスタにラッチするタイミング信号でもある。ディジタル演算器では、この割込信号で実行する処理において、このレジスタからラッチした計測値を読み出して位相θ＿ｄｅｔを得る。もし、計測した値の単位（パルス数[ｐ]）を回転角[ｒａｄ]に変換する場合は、係数２π／（４・Ｎｐｐ）を乗算して変換すればよい（ここで、Ｎｐｐ[ｐ／ｒ]はエンコーダのＡ相やＢ相の一回転当たりのパルス数）。図６では、サンプラ１ｍの出力側に乗算器１８を設けて回転角[ｒａｄ]に変換している。
【０１４６】
時間カウンタ１９では、水晶振動子などの正確でかつ高い周波数の基準クロック信号をカウントアップして時間に相当するカウンタ値ｔを出力し、Ｅｄｇタイミングで更新するラッチ回路１１ｆによって位相カウンタが変化したときの時刻をラッチし、さらにサンプルタイミング（割込タイミング）ｓでラッチ回路１ｎ（読み出しレジスタ；図中Ｚ-1）にラッチして、速度検出に使用する時刻情報Ｔｐｐを計測する。これも、ディジタル演算器で読み出され、時間の単位を[ｓ]として取り扱う場合には基準クロック信号の周期Ｔｃｌｋ[ｓ]を乗算して時間成分Ｔ＿ｄｅｔ[ｓ]に変換すればよい。図６では、サンプラ１ｎの出力側に乗算器２０ａを設けてＴ＿ｄｅｔの時間の単位を[ｓ（秒）]として取り扱っている。
【０１４７】
ディジタル演算器でこれらの位相と時刻情報を読み出した値から速度検出を得るためには、ラッチ回路１１ｇ、サンプラ１ｏにより前回のパルス発生時に読み出した位相情報θｐｐ＿ｚと最新の読み出し位相情報θｐｐを減算器２ｆで減算して位相差Δθｐｐを求め、ラッチ回路１１ｈ、サンプラ１ｐにより前回のパルス発生時に読み出した時刻情報Ｔｐｐ＿ｚと最新の読み出し時刻情報Ｔｐｐを減算器２ｇで減算して時間差ΔＴｐｐ（第１の時間差）を求め、除算器２１において位相差Δθｐｐを時間差ΔＴｐｐで除算して検出速度とする。
【０１４８】
速度検出の変換係数は前述の位相と時刻の変換係数（２π／４・Ｎｐｐ、Ｔｃｌｋ[ｓ]）を組み合わせればよいが、実際には機械角と電気角の変換係数である回転機の極対数（Ｐｏｌｅ／２）も考慮する必要がある。しかし図６では、極対数（Ｐｏｌｅ／２）は２極であると仮定してこの極対数の項は省略してある。
【０１４９】
２相パルスを出力するエンコーダの場合には、速度検出用の計測回路はさらに正転や逆転も考慮した複雑な構成になるのだが、図６では簡略化して機能記述のみにした。より詳細な方法については既に非特許文献１に記述されているのでここでは省略している。
【０１５０】
実施例２の提案内容は、前述の位相カウンタ１７が動作するタイミングＥｄｇに着目し、速度指令値の時間積分に相当する位相指令値（θ＿ｒｅｆ）’に対して、エンコーダパルス発生時刻の値が計測できるように、速度検出のθｐｐの計測回路と同様に、エッジ検出タイミングＥｄｇでラッチするサンプル回路（ラッチ回路１１ｅ〜１１ｈおよび加算器４ｇの出力側に設けたラッチ回路１１ｉ）と、サンプルタイミングｓで操作する読み出し用のレジスタ（サンプラ１ｍ〜１ｐおよびラッチ回路１１ｉと減算器２ｄの間に設けたサンプラ１ｒ）を挿入するものである。これにより、位相指令値（θ＿ｒｅｆ）’を得るタイミングを補正することにより（位相検出値θ＿ｄｅｔを減算器２ｄのマイナス入力とすることにより）、位相検出の発生時刻と時間的な整合を取ることが出来る。
【０１５１】
すなわち図６で示したような速度検出方法では、パルスエッジのタイミングＥｄｇにおける位相と時刻を計測しているので、速度指令値を積分した位相指令値（θ＿ｒｅｆ）’についても同じ時刻Ｅｄｇのタイミングでサンプルさせればパルス検出と同時刻の位相指令値（θ＿ｒｅｆ）’が得られ、時刻の整合問題が対策できる。図６では、位相指令値（θ＿ｒｅｆ）’を逐次演算してサンプラでラッチしている構成（図６（ａ），（ｂ））と、それと置き換えることのできる等価な補間演算方法（図６（ｃ））を記載している。
【０１５２】
最初のパルス位相と同じ時刻の位相指令をラッチする方法（図６（ａ），（ｂ））では、位相積分をディジタル回路で構成して基準クロックの単位で更新し続けておき、位相カウンタや時刻のラッチと同じ計測回路で検出することにより、パルス発生時刻と時間整合のとれた位相指令を得る。これにより、位相指令と位相検出の時間的な整合が取れるので、ひいてはＰＩ制御の積分項の誤差が抑制される。
【０１５３】
しかし、この機能をそのまま実装するためには、基準クロックという高速な周波数で位相指令値（θ＿ｆｅｆ）’を計算して更新しておく必要があり、専用の高速な演算回路が必要になる。そこで、これと等価な機能を速度検出演算処理における補間演算にて近似することを図６（ｃ）で提案する。
【０１５４】
すなわち、時間カウンタ１９の時刻情報から、前記サンプルタイミングｓで更新されるサンプラ１ｑによってサンプル時刻Ｔｓを計測し、パルス発生時刻（Ｔｐｐ）からサンプル時刻（Ｔｓ）までの経過時間に相当するクロック差（Ｔｓ−Ｔｐｐ）を減算器２ｈによって計測しておき、これに乗算器２０ｂの係数Ｔｃｌｋを乗算することで単位変換して時間差ΔＴ＿ｅｓｔ（第２の時間差）を得る。
【０１５５】
そして、位相指令の積算部分ではサンプル周期（図９の割込信号の周期）ｄＴに相当する増分が加算されているので、前記第２の時間差をサンプル周期（ｄＴ）で除して補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を求め、前記加算器４ａの出力に対して図６（ｃ）のように、乗算器２２によって前記補正比率（ΔＴ＿ｅｓｔ／ｄＴ）を乗算して位相差補正成分Δθｒｅｆ＿ｅｓｔを求める。
【０１５６】
そして減算器２ｉにおいて位相指令値（θ＿ｆｅｆ）’から位相差補正成分Δθｒｅｆ＿ｅｓｔを減算してパルス発生時刻に近似した位相指令値θ＿ｒｅｆ＿を得る。
【０１５７】
以上のように本実施例２によれば、積分項の位相差を演算する際に、両位相の時間整合をとることにより、「発明が解決しようとする課題」の欄で示した（遅延時間１）による成分のうち、パルス発生時刻とサンプル時刻が非同期であることに起因する遅延時間成分についても、発生パルスと速度制御のサンプルタイミングとの遅延時間差に相当する位相成分を補正する効果が得られ、積分項に関してはこの遅延時間の影響を抑制できる。ひいては、図１０で示したような速度応答特性も、より理想的な検出遅延の無い場合の応答特性に近づけることができる。
【実施例３】
【０１５８】
実施例２（図６）では、位相指令の方を補正演算して時間的な整合性を図った。しかし、「発明が解決しようとする課題」の欄の（遅延時間２）で示したような、パルス休止期間による遅延時間の問題が残っている。そこで、実施例３では位相検出に対して時間経過分に相当する位相予測を適用して補正する対策方法を提案するものであり、図７にその構成を示す。これは、実施例２にて挿入した指令位相のラッチ回路に相当する部分（図６の（ｂ），（ｃ））を取り除いて元に（図５の構成）に戻し、その代わりに位相検出の方に以降の補間機能を追加したものである。
【０１５９】
図７では、割込タイミングｓの時刻Ｔｓをラッチ回路１ｑでサンプルしておき、前回のパルス発生時刻Ｔｐｐから割込時刻Ｔｓまでの経過時間（クロック数）を減算器２ｈによって（Ｔｓ−Ｔｐｐ）として求める。これが位相補正したい時間遅れ成分であるので、この経過時間（Ｔｓ−Ｔｐｐ）に乗算器２０ｂの係数Ｔｃｌｋを掛けたΔＴ＿ｅｓｔ（第２の時間差）と、前回の速度検出値ω＿ｄｅｔとを乗算器２３にて乗算して、経過時間（Ｔｓ−Ｔｐｐ）の間に変化する位相の予測量Δθ＿ｅｓｔを求める。そしてこれを加算器４ｈにてパルス発生時刻の位相θ＿ｄｅｔに加算して割込（サンプル）時刻における補正された位相検出値θ＿ｄｅｔｅｓｔとみなす。
【０１６０】
ここで位相の予測量Δθ＿ｅｓｔはパルスの分解能θ＿ｓｔｅｐ＝２π／（４・Ｎｐｐ）以下のはずなので、パルス信号にノイズが混入して速度検出が異常になった場合を考慮して、保護用に、位相リミッタ２５によって正と負方向にそれぞれ｜θ＿ｓｔｅｐ｜のリミッタを掛けて（±θ＿ｓｔｅｐの幅に制限して）、過大なθ＿ｄｅｔｅｓｔとなることを防止している。これにより、速度検出異常時でも、位相検出の補正値θ＿ｄｅｔｅｓｔが過大になることはない。  
【０１６１】
尚、図７では係数器３と加算器４ｂの間に低域通過フィルタ２６を設けている。
【０１６２】
このように、速度演算処理を行うサンプル時刻とパルス発生時刻の情報から、速度検出位相の方を補正することが実施例３の構成である。実施例３によれば、位相指令と位相検出の時間の同時性について整合をとることができる。
【０１６３】
さらにこの実施例３によれば、パルス休止期間においても機能できるという特長がある。なぜならば、割込信号ごとにサンプル時刻Ｔｓが更新されるので、ΔＴ＿ｅｓｔ（第２の時間差）とΔθ＿ｅｓｔ（位相の予測量）も更新し続ける。そのため、パルス休止期間中においても、前回値を保持している位相検出θ＿ｄｅｔに対してΔθ＿ｅｓｔの補正成分の方が増加することにより、これらの合成結果である補正された位相検出値θ＿ｄｅｔｅｓｔを更新させ続けるように働く。
【０１６４】
これにより、「発明が解決しようとする課題」の欄で述べた（遅延時間２）の成分も抑制することができる。ひいては、速度形ＰＩ制御を適用する速度制御系において、積分項だけは速度検出の遅延時間による影響が零になるように近似することができる。
【０１６５】
また、図７の各箇所に点在するＫｐｓや１／Ｋｐｓの項を移動すれば、図８のように等価な回路に変換することもできる。図７ではトルクの単位を用いてＰＩ制御演算を行っていたが、トルクの単位を比例ゲインＫｐｓで除算すると速度（速度差）の単位となるので、図８では比例項や積分項の記号も“τ”→“Δω”に置換してある。またＫｐｓの移動による整合を取るために、トルクリミッタ値についても（１／Ｋｐｓ）を乗算して速度の単位に変換してある（速度リミッタ３５）。
【０１６６】
図８において図７と異なる部分を説明すると、減算器２ａの出力はΔω＿ｐ＝τ＿ｐ／Ｋｐｓとなり、加算器４ｂの出力は（Δω＿ｐ＋Δω＿ｉ）となり、減算器２ｃの出力はΔω＿ｆｂとなり、低域通過フィルタ２６の入力側はΔω＿ｉ＝τ＿ｉ／Ｋｐｓとなり、トルクリミッタ５が設けられていた箇所には、トルクリミッタ値±τ＿ｌｉｍに１／Ｋｐｓを乗算して得られた速度リミッタ値±Δω＿ｌｉｍで制限を行う速度リミッタ３５が配設され、低域通過フィルタ１５の手前で速度リミッタ３５の出力にＫｐｓを乗算してトルクに変換している。
【０１６７】
図７と図８は機能的には全く等価であるが、図８の方が乗算などの演算回数を少なくすることができる。
【０１６８】
以上のことから実施例１に対して実施例２と実施例３はほぼ同様な性能を有しており、実施例２ではサンプル周期ｄＴよりも小さな時間差成分しか補正していないので、微小な部分を無視すれば実施例１とほぼ同様な特性になる。
【０１６９】
また、実施例２と実施例３の差異は、減速してパルス休止が発生する一部の速度領域であり、パルスが休止しない速度域では同じ特性となる。実施例１と実施例２のシミュレーション結果を比較すると差異が微小であったこと、また、実施例３であれば実施例２の改善効果と低速域の改善効果の両方が確認できることから、代表して実施例３の方式について動作例を示すことにした。
【０１７０】
まず、「従来例１に実施例２の速度検出方式の部分のみを組み合わせた場合」を従来例とし、これに対して「実施例３の方式」を提案方法の代表例として、これらの２種類の方式の応答特性を比較する。評価条件については、定格速度まで加速する条件と、低速領域にて減速する条件の２種類の速度指令パターンを設定した。
【０１７１】
最初の評価条件は、「発明が解決しようとする課題」の欄で示した遅延時間（１）の成分を調べるために、０から、５０％と１００％の２段階に加速させて、定常速度へ移行時のオーバーシュート量や積分項の誤差蓄積の抑制効果を調べている。２種類の方式の速度制御特性を比較したものが図１１であり、速度制御の比例項と積分項および出力トルク指令の各特性について調べたものが図１２である。
【０１７２】
図１１を比較すると、０％から５０％に加速する場合には、（ｂ）図の実施例３の方がオーバーシュート量が小さくなっており、図１０のＰＩ制御特性のうち遅延時間の無い理想的な速度検出の特性（特性線（２））に似ている結果となった。
【０１７３】
これと同じ条件にて、速度制御の内部の比例項と積分項のトルク指令要素を比較したものが図１２である。従来例１には積分項自体は存在しないので、出力トルクから比例成分を減算した成分（τｐｉｏ−τ＿ｐ）を積分項τ＿ｉとみなした。
【０１７４】
従来例１を使用した場合の特性である（ａ）図では、速度検出遅延成分により加速時の積分項が大きくなる誤差が生じており、そして定常速度に移行する際にはこの積分項を減少させる必要があるためにτ＿ｐが大きな負の値に振れている。これに対して実施例３の（ｂ）図では、加速中に積分項が増加する誤差成分はほとんどなく、速度検出遅れによる誤差の蓄積量が抑制されていることが確認できる。そのため、定常速度に移行時も、τ＿ｐ項が負に振れる量も少ない。
【０１７５】
また、５０％から１００％に加速する場合には、トルク指令はトルクリミッタ値（τ＿ｌｉｍ＝２．０ｐｕ）に制限されている。このトルクリミッタが動作した場合には、積分項の蓄積量が増加してもトルクリミッタによるフィードバックにより制限されるため、（ａ）図と（ｂ）図の速度もトルクも特性はほぼ同じになる。（ａ）図と（ｂ）図では、トルクリミッタ動作時はほぼ同じ特性になっていることから、どちらも速度形ＰＩ制御として正常に動作していることが確認できており、基本的なＰＩ制御機能としては等価であることも確認できた。
【０１７６】
２つ目の評価条件として、「発明が解決しようとする課題」の欄で示した遅延時間（２）のパルス休止期間の特性を調べるために、０から５％に加速した後に、１％に減速させてパルス休止状態を発生させて、速度制御系の安定性や積分項の誤差蓄積の抑制効果を調べている。図１２と同様に、２種類の方式についての速度制御特性を比較したものが図１３であり、速度制御の比例項と積分項および出力トルク指令の特性を調べたものが図１４である。使用した回転機の定格回転数は１１８０[ｒｐｍ]、エンコーダはＮｐｐ＝１２８[ｐ／ｒ]として分解能を低く設定した。１％速度時のエンコーダのパルス周期は３９．７ｍｓ（Ａ相とＢ相のパルス間隔は９．９ｍｓ）であるのに対し、速度制御周期は１ｍｓとしている。したがって、図１３と図１４の特性はパルス休止期間を含んだ領域で動作していることになる。
【０１７７】
図１３、図１４にて５％から１％に減速すると、（ａ）図ではパルス休止時に速度検出が零を認識するとトルク補正が停止してしまい、実速度が負にオーバーシュートしやすくなる。それでも極低速領域が続くため、これによりパルス休止期間が長くなってしまい、速度検出（太い実線）に異常な値が発生している。これに対して、（ｂ）図では、減速時の実速度はオーバーシュートが少なく、かつ安定に制御できており、実施例３の方式によれば、パルス休止期間でも、位相検出の補正動作が継続されていることによって、速度制御の安定性が実現できることが分かる。
【符号の説明】
【０１７８】
１ａ〜１ｒ…サンプラ
２ａ〜２ｉ…減算器
３…係数器
４ａ〜４ｈ…加算器
５…トルクリミッタ
１１ａ〜１１ｉ…ラッチ回路
１２ａ，２１…除算器
１５，２６…低域通過フィルタ
１６…エッジ検出部
１７…位相カウンタ
１８，２０ａ，２０ｂ，２２，２３…乗算器
１９…時間カウンタ
２５…位相リミッタ
３０…サンプル周期発生部
３５…速度リミッタ
【図１】
2018026947.tif 000003
【図２】
2018026947.tif 000004
【図３】
2018026947.tif 000005
【図４】
2018026947.tif 000006
【図５】
2018026947.tif 000007
【図６】
2018026947.tif 000008
【図７】
2018026947.tif 000009
【図８】
2018026947.tif 000010
【図９】
2018026947.tif 000011
【図１０】
2018026947.tif 000012
【図１１】
2018026947.tif 000013
【図１２】
2018026947.tif 000014
【図１３】
2018026947.tif 000015
【図１４】
2018026947.tif 000016
【図１５】
2018026947.tif 000017
【図１６】
2018026947.tif 000018
【図１７】
2018026947.tif 000019
【図１８】
2018026947.tif 000020