【実施例1】
【0042】
図1は実施例1の速度検出装置の構成を示している。
図1の構成は大きく分けて、左側の「ディジタル検出回路」と右側の「CPU演算」に分けられる。ディジタル検出回路の部分は、基本的には特許文献1や非特許文献1の検出回路と同様である。しかし4多重方式回路や正転と逆転との切り替えまで考慮すると複雑になるので、本発明では、説明を簡素にするために、パルスエンコーダからの出力パルスを波形整形する波形整形回路の出力は、後述する
図3のような正転パルス(Edg_up)のみの1相パルス信号に限定して取り扱うことにする。
【0043】
図1において、50は回転機の回転角度を検出するパルスエンコーダであり、モータなどの回転体の位相に応じてパルス信号を発生する。
【0044】
51はパルスエンコーダ50からの出力パルスを波形整形する波形整形回路であり、パルスエンコーダ50の出力パルスの立上り、立下がりの各エッジを検出し、位相に相当するカウンタのUP/DOWN信号(Edg_up/Edg_dw)に変換する。
【0045】
52は、波形整形回路51から出力されるカウンタのUP/DOWN信号のOR演算を行ってパルス発生信号Edgを出力するOR回路である。以降、「パルス発生信号」を「パルス」と簡素化して使用する場合もある。
【0046】
53は、波形整形回路51で検出されたパルスの立上りエッジ、立下りエッジによりアップ/ダウンカウントを行い、カウント値をパルス位相値(θpp)として出力するパルス位相アップダウンカウンタであり、UP/DOWN信号(Edg_up/Edg_dw)によりカウンタ値θppをインクリメント(Up)/デクリメント(Dw)する。
【0047】
54は、パルスの発生時刻を計測するための基準時刻を生成するタイマ回路であり、ディジタル回路の基準クロックをカウントして時刻データtを出力する。またタイマ回路54は、CPUからD型フリップフロップ55を介して入力されるサンプル周期設定に応じて、該サンプル周期毎に割込信号Smpl(m)を出力する機能も有している。
【0048】
ここで、Smpl(m)の(m)は発生するタイミングを示すための識別子であり、mの具体的な値については「m1,m2,m3…」として表す。56は、前記パルス発生信号Edgが発生したときのタイマ回路54から出力された時刻データtを記憶保持し、パルス発生時刻tppとして出力するパルス発生時刻計測回路であり、OR回路52の出力(Edg)をイネーブル信号とするラッチ回路(DEN−ff)で構成されている。
【0049】
57は、OR回路52からのパルス発生信号Edgによりセットされ、タイマ回路54からの割込信号Smpl(m)によりリセットされ、該割込信号の発生周期の間にパルスエッジ(Edg)が発生したか否かを検出するフリップフロップ回路である。このフリップフロップ回路57は、セット優先のSR−フリップフロップ(SRff)回路であり、割込信号Smpl(m)間にパルスエッジ(Edg)が発生していなければ「0」、発生していれば「1」のパルス有無フラグを出力し、次段の読み出し用バッファ58に出力(厳密には、受信側のEN(イネーブル)信号発生時にデータの転送が行われる)。
【0050】
このように割込信号Smpl(m)は、速度検出演算が可能/不可能であるかの判定のためにフリップフロップ回路57に使用されるだけでなく、後述する多段バッファから成る読み出し用バッファ58のデータ転送の制御にも利用される。したがって、前記3種類の「パルス有無フラグとパルス位相値θppとパルス発生時刻tpp」は同時に更新される。
【0051】
読み出し用バッファ58は、前記タイマ回路54からの割込信号Smpl(m)をイネールブル信号として、パルス位相アップダウンカウンタ53から送出されるパルス位相値θpp、パルス発生時刻計測回路56から送出されるパルス発生時刻tppおよびフリップフロップ回路57から送出されるパルス有無フラグ(パルス有無信号)を各々保持する。
【0052】
この読み出し用バッファ58は、割込信号Smpl(m)の発生時刻における「パルス有無フラグ」、「パルス位相値θpp」、「パルス発生時刻tpp」の3個の瞬時値を記憶するラッチ回路58a〜58c(図示Dff1〜Dff3)で構成されている。
【0053】
ラッチ回路58a〜58cの出力側はCPUなどから計測値として読み出すものであり、複数のデータがバスアクセスされる期間中に値が変化して同時性が失われないように、割込信号Smpl(m)の発生タイミングで同時にラッチさせ、それ以外の期間では値を保持させている。
【0054】
尚、前記波形整形回路51、OR回路52、パルス位相アップダウンカウンタ53、タイマ回路54、D型フリップフロップ55、パルス発生時刻計測回路56、フリップフロップ回路57および読み出し用バッファ58によってパルス情報取得部を構成している。
【0055】
61は前記ラッチ回路58b(Dff2)のレジスタ値(パルス位相値θpp)を読み出して記憶するパルス位相バッファ(多段バッファ;Buff2)であり、62は前記ラッチ回路58c(Dff3)のレジスタ値(パルス発生時刻tpp)を読み出して記憶するパルス時刻バッファ(多段バッファ;Buff3)である。
【0056】
63は、複数サンプル周期前に取得され、パルス位相バッファ61、パルス時刻バッファ62に記憶されたパルス情報(パルス位相値θpp、パルス発生時刻tpp)を選択するための選択信号(Sel)を設定する速度差データ選択回路(選択信号設定部)である。選択信号Selは、具体的にはサンプル周期毎に出力される割込信号Smpl(m)の識別子である(m)の値であり、複数サンプル周期前に相当する値に設定される。
【0057】
64は、前記パルス位相バッファ61に記憶されたパルス位相情報のうち、前記選択信号Selが示す複数サンプル周期前の(過去の)パルス位相情報を選択する前回値選択用セレクタ(Select2)(過去情報選択部)である。
【0058】
65は、前記パルス時刻バッファ62に記憶されたパルス時刻情報のうち、前記選択信号Selが示す複数サンプル周期前の(過去の)パルス時刻情報を選択する前回値選択用セレクタ(Select3)(過去情報選択部)である。
【0059】
前記パルス位相バッファ61およびパルス時刻バッファ62は、従来の例えば特許文献1では最新のパルス情報を1段目のバッファに、過去のパルス情報を2段目のバッファに記憶させておき、この2個の情報に基づいて速度検出値を演算するものであったが、本発明では
図2に示すように、多段のFIFO(ファーストインファーストアウト)動作をするスタックメモリ(多段バッファ)に拡張している。
【0060】
図2において、71は、
図1の割込信号Smpl(m)(タイマ回路54の出力)およびパルス有無信号(ラッチ回路Dff1の出力)の論理積を演算するAND回路である。
【0061】
72は、
図1の読み出し用バッファ58から読み出されたパルス位相情報およびパルス発生時刻情報(検出データ)を格納する多段バッファであり、最新情報を記憶するラッチ回路72−0(Dff0)(最新情報記憶用バッファ)と、過去情報を記憶するn段(nは整数)のラッチ回路72−1〜72−5(Dff1〜Dff5)(過去情報記憶用バッファ)とで構成されている。
【0062】
尚本実施例では、過去情報記憶用バッファであるn段のラッチ回路を5つとして構成しているが、他の複数段数で構成してもよい。また、
図1の読み出し用バッファ58のラッチ回路58a〜58cのDff1〜Dff3と、
図2のラッチ回路72−1〜72−3のDff1〜Dff3は同一記号の表記を使用しているが、これらは異なる回路である。
【0063】
ラッチ回路72−0のD端子には、読み出し用バッファ58のラッチ回路58bの出力(パルス位相情報)又はラッチ回路58cの出力(パルス時刻情報)が検出データとして入力される。
【0064】
ラッチ回路72−0のQ出力はラッチ回路72−1のD端子に入力され、ラッチ回路72−1のQ出力はラッチ回路72−2のD端子に入力され、ラッチ回路72−2のQ出力はラッチ回路72−3のD端子に入力され、ラッチ回路72−3のQ出力はラッチ回路72−4のD端子に入力され、ラッチ回路72−4のQ出力はラッチ回路72−5のD端子に入力されている。
【0065】
各ラッチ回路72−0〜72−5は、割込信号とパルス有無信号の論理積をとったAND回路71の出力をイネーブル信号とし、読み込みデータの書き込みや、バッファ間(ラッチ回路72−0〜72−5間)のデータ移動が割込処理により実行される。
【0066】
このように割込信号とパルス有無信号の論理積信号をイネーブル信号としているため、パルス有無信号(パルス有無フラグ)が「パルスが発生」した場合のみ各バッファ(ラッチ回路72−0〜72−5)を動作させ、パルスが無い場合には過去の値を保持させることができる。このようなパルス有無信号によるデータ転送制限機能を有しているため、回転速度が低下してパルス発生周期が割込信号周期よりも長くなって「パルス休止」状態になっても対応できる。
【0067】
図2の73は、
図1の前回値選択用セレクタ64,65(Select2,Select3)の機能を実現する前回値選択用セレクタであり、ラッチ回路72−1〜72−5の各Q出力であるデータData(1)〜Data(5)のうち、速度差データ選択回路63(スタックバッファ)からの選択信号Selが示す複数サンプル周期前のデータを選択する。
【0068】
前記選択信号SelをCPUへの設定により切り替える(速度差データ選択回路63における選択信号を変更する)ことにより、固定したサンプル周期でデータをラッチさせていても、任意のサンプル回数より以前の時刻で発生したパルスの情報を取り出すことが可能になる。
【0069】
図1の66は、パルス位相バッファ61内の最新パルス位相と、前回値選択用セレクタ64で選択された複数サンプル周期前のパルス位相との差分を計算する減算器(Sub2)であり、67は、パルス時刻バッファ62内の最新パルス時刻と、前回値選択用セレクタ65で選択された複数サンプル周期前のパルス時刻との差分を計算する減算器(Sub3)である。
【0070】
68は、減算器66の出力である位相差分を、減算器67の出力である時間差分で除算して速度検出1(速度検出値)を出力する除算器である。前記減算器66,67および除算器68によって本発明の速度検出演算部を構成している。
【0071】
前記パルス位相バッファ61、パルス時刻バッファ62、速度差データ選択回路63、前回値選択用セレクタ64,65、減算器66,67、除算器68は、CPU演算機能の構成要素としてソフトウェアなどで実装することを想定している。
【0072】
尚、前記速度差データ選択回路63の選択信号Selをどのように決定するかは、「発明が解決しようとする課題」の欄で述べたように、速度演算を計算する時間間隔は短いほうが応答性能を高くでき、逆に長いほうが精度が良いことに鑑みて、エンコーダの種類やパルス数およびジッタの発生量などから経験的に設定するなどの方法が考えられる。
【0073】
次に、上記のように構成された装置の動作を
図3のタイムチャートとともに説明する。
図3ではモータなどの回転機が正転方向に一定速度で回転している状態の例を示しており、(a)は波形整形回路51からパルス位相アップダウンカウンタ53に出力されるup信号であるEdg_upを示している。
【0074】
図3(b)はパルス位相アップダウンカウンタ53の位相カウンタ値、すなわちパルス位相値θppと時間tの関係である時間位相特性を示し、
図3(c)はタイマ回路54から出力される割込信号Smpl(m)を示し、
図3(d)はパルス位相バッファ61の位相θ(m)の最新データの更新状況を示し、
図3(e)はパルス時刻バッファ62のパルス時刻t(m)の最新データの更新状況を示している。
【0075】
図3(f)は、特許文献1のように2個の連続するサンプル周期で読み出した位相と時刻の情報から速度を検出する従来方式による速度検出値を速度検出1’として示し、
図3(g)は、
図1の実施例による速度検出値を速度検出1として示している。
【0076】
図3において、Edg_upのパルスがほぼ一定間隔で発生しており、位相カウンタ値θpp(θ1,θ2,θ3,…)もパルス発生ごとにインクリメントしている。ここでは後述の説明のために、個々のEdg_upパルスに識別用の番号を割り振ってある。このパルス発生時と同時に時刻データtpp(t1,t2,t3,…)もパルス発生時刻計測回路56(DEN−ff)にラッチされている。
【0077】
これに対して、割込信号Smpl(m1,m2,m3,…)が発生するタイミングでラッチ回路58b(Dff2)にθppが、ラッチ回路58c(Dff3)にtppが各々ラッチされ、CPUはこのラッチデータを読み出して、FIFOスタック動作をするバッファ(パルス位相バッファ61、パルス時刻バッファ62)に記憶する。
図3では、バッファの最新データの更新状況をθ(m)とt(m)に示しており、もしサンプル割込信号(Smpl)の周期間中に複数のパルスが発生した場合には、最後にラッチされた最新時刻のパルス情報が読み出される。
【0078】
例えば
図3(c)のSmplのm3とm4の間では、
図3(a)に示すEdg_upの3個のパルス7,8,9が発生しているため、最後にラッチされたパルス9のパルス情報が読み出され、
図3(d),(e)のθ6→θ9、t6→t9へ更新される。
【0079】
従来方式による速度検出1’では、2個の連続するサンプル周期で読み出した位相と時刻情報から速度演算を行っていた。
図3(f)ではそれを具体的にどの時刻のサンプル情報を使っていつ演算するかを明示している。
【0080】
例えば、Smpl(m4)の時刻では、最新位相θ9と最新時刻t9を読み出し、前回のバッファ値であるθ6とt6との差分より、速度検出ω1’(m4)=(θ9−θ6)/(t9−t6)を計算していた。これを
図3(b)の時間位相特性において図示すると、実線の矢印のようなパルス間で速度検出をしていることに相当している。
【0081】
一方実施例1による速度検出1は、過去の情報を「複数サンプル前の情報」とすることにより、等価的に速度計測期間を長くするものであり、
図3(g)において、どの時刻のサンプル情報を使って、いつ演算するのかを明示している。
【0082】
尚
図3(g)の例では、
図1の速度差データ選択回路63において設定される「複数サンプル周期前」を指定する選択信号Selの値を、「4サンプル周期前」に設定している。
【0083】
例えばSmpl(m4)の時刻においては、最新情報θ9とt9に対して、前回値としてSmpl(4−4)=Smpl(0)のサンプルタイミングで読み出した情報である位相θ0と時刻t0が選択され、速度検出1を、ω1(m4)=(θ9−θ0)/(t9−t0)として計算する。
【0084】
そして同様に、次のサンプルタイミングSmpl(5)では最新情報θ11、t11と、前回値としてSmpl(5−4)=Smpl(1)のサンプルタイミングで読み出した情報であるθ1、t1との差分より速度検出1が更新される。
【0085】
これを
図3(b)の時間位相特性において図示すると、破線の矢印のようなパルス間で速度検出をしていることに相当している。
【0086】
本実施例1によれば、サンプル周期(割込周期)自体を長い時間に変更する方式ではなく、一定のサンプル周期に設定しておき、過去の情報をスタックできるバッファとそれから任意のデータを選択できる機能を使うことにより、あたかもサンプル周期を長くしたような精度の速度検出が可能になる。
【0087】
さらに、サンプル周期自体を長くしてしまうと、速度検出値の更新周期も同じように間延びしてしまい、速度検出波形が時間軸でも速度軸でも粗く変化するようになる。これに対して、実施例1の方式では、
図3のように速度検出データはサンプル割込信号Smpl(m)の周期でデータを小刻みに更新するので、時間軸も速度軸も小刻みに変化するようになる。これは、データを更新する周期が長いことに起因するムダ時間成分を抑制できることを意味しており、その分だけ速度応答を改善できる効果もある。
【0088】
さらに、Smpl(m)の周期は速度指令や速度制御演算の周期でもあるので、エンコーダの性能(パルス分解能やバラツキ)などにかかわらず、制御装置ではできるだけ短くかつ一定にしておきたい。その点でも、本発明方式ではサンプル周期を固定して、速度検出期間のみ任意に長くすることができるので、速度検出以外の制御系に対して影響を与えないという、装置全体の制御系から見た利点もある。
【実施例2】
【0089】
実施例1では、固定割込周期であっても、速度検出期間を可変にできる構成を示した。これは、CPU内部のメモリ機能などを有効利用すれば簡単に実現できる。さらに、速度演算回数を増やせば、異なる速度検出期間を有する複数の速度検出演算を実行することもできる。そこで、複数の速度検出を有効利用することが実施例2のポイントであり、これらを速度制御と組み合わせることにより機能改善を図っている。
【0090】
図4に、速度検出1と速度検出2の2個の速度検出演算を実行する例を示す。
図4において、
図1と異なる部分を説明すると、選択信号設定部として、
図1の速度差データ選択回路63に代えて第1のサンプル周期前に取得され記憶されたパルス情報を選択するための第1の選択信号Sel1(前回1)と、第1のサンプル周期前よりも過去の第2のサンプル周期前に取得され記憶されたパルス情報を選択するための第2の選択信号Sel2(前回2)とを設定する速度差データ選択回路83が設けられている。
【0091】
また、第1の過去情報選択部として、第1の選択信号Sel1によりパルス位相バッファ61内の第1のサンプル周期前のパルス位相情報を選択する前回値1選択用セレクタ64−1と、パルス時刻バッファ62内の第1のサンプル周期前のパルス時刻情報を選択する前回値1選択用セレクタ65−1とが設けられている。
【0092】
また、第2の過去情報選択部として、第2の選択信号Sel2によりパルス位相バッファ61内の第2のサンプル周期前のパルス位相情報を選択する前回値2選択用セレクタ64−2と、パルス時刻バッファ62内の第2のサンプル周期前のパルス時刻情報を選択する前回値2選択用セレクタ65−2とが設けられている。
【0093】
また、第1の速度検出演算部として、パルス位相バッファ61の最新パルス位相と前回値1選択用セレクタ64−1によって選択された第1のサンプル周期前のパルス位相との差分を計算する減算器66−1と、パルス時刻バッファ62の最新パルス発生時刻と前回値1選択用セレクタ65−1によって選択された第1のサンプル周期前のパルス発生時刻との差分を計算する減算器67−1と、減算器66−1の偏差出力である位相差分を、減算器67−1の偏差出力である時間差分で除算して速度検出1(第1の速度検出値)を出力する除算器68−1とが設けられている。
【0094】
また、第2の速度検出演算部として、パルス位相バッファ61の最新パルス位相と前回値2選択用セレクタ64−2によって選択された第2のサンプル周期前のパルス位相との差分を計算する減算器66−2と、パルス時刻バッファ62の最新パルス発生時刻と前回値2選択用セレクタ65−2によって選択された第2のサンプル周期前のパルス発生時刻との差分を計算する減算器67−2と、減算器66−2の偏差出力である位相差分を、減算器67−2の偏差出力である時間差分で除算して速度検出2(第2の速度検出値)を出力する除算器68−2とが設けられている。
【0095】
その他の部分は
図1と同一に構成されている。
【0096】
図4の構成において、速度検出演算までの各動作は
図1と同様であり、異なる速度検出期間により演算した速度検出1と速度検出2を得ることができる。
【0097】
このように、2種類の速度検出において異なる速度検出期間を設定しておき、それぞれの速度検出の長所を生かすことにより、発明が解決しようとする課題の欄で示した「速度検出周期が短いとジッタによる速度誤差が大きくなり、逆に長いとムダ時間が長くなって応答性能に制限が生じる」という課題を対策することができる。その対策を行った回転機の速度制御系の構成図が
図5であり、本発明を一般的な比例積分(微分)制御(PI(D)制御)と呼ばれる速度制御方式に適用した例である。
【0098】
図5では、CPU演算部分を枠として表現して中央に配置してあり、この枠外の左側が
図1や
図4のディジタル検出回路に相当し、該ディジタル検出回路内のパルスエンコーダ50以外の各回路を速度検出回路100としている。
【0099】
CPU演算部分のASR制御部(Automatic Speed Regulator;自動速度制御部)200は、次のように構成されている。
【0100】
速度指令発生部201は、時間に応じて回転機の目標速度を速度指令として出力し、速度制御はこれに追従する動作を行う。
【0101】
速度検出演算部210は
図4右側のCPU演算部分に相当し、速度検出1と速度検出2という、速度検出期間が異なる2種類の速度検出値を出力する。
【0102】
減算器202において速度指令と速度検出1の偏差がとられ、減算器203において速度指令と速度検出2の偏差がとられる。
【0103】
204は減算器202の偏差出力に対して比例(微分)制御を行う比例制御項としてのP(D)制御部であり、205は減算器203の偏差出力に対して積分制御を行う積分制御項としてのI制御部である。
【0104】
P(D)制御部204およびI制御部205の各出力を加算器206で加算したPI制御出力は、回転機に発生させたいトルク指令に相当する。
【0105】
300は、加算器206の出力であるトルク指令を回転機に流す電流指令に変換するトルク/電流指令変換部である。
【0106】
トルク/電流指令変換部300の出力は減算器400において電流検出値(実電流)との偏差がとられる。
【0107】
ACR制御部500は、減算器400の偏差出力に対してACR制御を行って出力電圧指令を出力するものであり、前記電流指令に実電流が追従するように電流制御(ACR)する。
【0108】
上記の構成において、ASR制御部200内のPI制御は、「P制御が高速な応答性能を実現し、I制御が定常誤差などをゆっくりと補正する」という2種類の機能を組み合わせた制御方式である。したがって速度指令との偏差をとる速度検出情報もこれに対応した機能を十分に発揮できる性質を有するものを使用すればよい。
【0109】
そこで本実施例では、
図4の速度検出1を得るための第1の選択信号Sel1を、例えば2サンプル周期前のパルス情報を選択するための選択信号に設定し、速度検出2を得るための第2の選択信号Sel2を、例えば8サンプル周期前のパルス情報を選択するための選択信号に設定しておく。これによって、速度検出1は短い検出期間を有し、速度検出2は長い検出期間を有することになる。
【0110】
図5のASR制御部200における比例制御(P(D)制御部204)は応答性の性能に影響するので、速度検出1の検出期間が短い情報を使用してムダ時間を少なくし、比例項の制御ゲインをできるだけ高く設定して応答性能を高める。
【0111】
一方で、積分項の時定数は機械の慣性モーメントにより決まる値であり、通常は速度検出周期よりも長いことが多い。そこで、積分項(I制御部205)の速度検出には、ムダ時間の大きな信号を用いても悪影響は少ないことを利用して、速度検出2の計測時間が長い(ムダ時間は大きいが精度が良い)情報を使用する。
【0112】
このように、2種類の速度検出が有している特長が発揮できるように、制御項によって使用する速度情報を使い分けることにより、「速度制御精度と応答性能」とを両立する制御系を構築することができる。
【実施例3】
【0113】
実施例2の
図4および
図5では、2種類の速度検出を組み合わせたPI制御方式を提示したが、速度指令については共通な最新の速度指令を使用している。しかし速度と時間の関係を示す
図6のように、一定加速度で加速している場合を考えると、速度検出2のように速度検出時間を長く設定するとムダ時間も長くなってしまうため、変化している速度指令(実線)に対して速度検出(破線)の追従遅れが大きくなる。
【0114】
この追従遅れ成分はI制御(205)内に蓄積されてしまい、加速中に網塗り部分が積算されることになる。次に速度指令が一定速度に移行すると、積算した積分項を吐き出す必要があるために、一定な速度指令よりも斜線部のようにオーバーシュートする。実施例3では、この加減速後のオーバーシュートを抑制する対策を行う。具体的には、実施例2のようにPI制御のうち積分(I)制御側の速度検出を速度検出2としておき、さらに積分制御の速度指令にも改善を加えるものである。
【0115】
速度指令の修正方法の構成例を
図7に示す。
図7において
図4と異なる部分を説明すると、まず速度指令をディジタル回路内のフリップフロップ90(DEN−ff)に書き込み、フリップフロップ90の出力にディジタル回路のクロック周期Tcを乗算器91で乗算する。
【0116】
乗算器91の出力(位相成分)は、位相の前回値θref_clk(位相指令積算器93のQ出力)と位相の増分(乗算器91の出力)を加算する加算器92と、D型フリップフロップで構成される位相指令積算器93と、OR回路52の出力をイネーブル信号とするフリップフロップ回路94とから成る積分回路(速度指令/位相指令変換回路)に投入され、フリップフロップ回路94のQ出力には速度指令を時間積分した位相指令θrefが得られる。このため、前記積分回路は模擬的な回転位相指令発生器とみなすことができる。
【0117】
58dは前記位相指令θrefをラッチするラッチ回路(Dff4)(位相指令読み出し用バッファ)であり、パルス位相アップダウンカウンタ53の出力をラッチするラッチ回路58bと同様に割込信号Smpl(m)をイネーブル信号としている。
【0118】
95は、ラッチ回路58dのQ出力(位相指令)を読み出して多段にスタックする位相指令バッファ(Buff4)であり、速度検出側の例えばパルス位相バッファ61と同様に最新情報記憶用バッファおよびn段(nは整数)の過去情報記憶用バッファとで構成されている。
【0119】
96は、速度差データ選択回路83から出力される第2の選択信号Sel2によって指定された段の、位相指令バッファ95の過去情報記憶用バッファ内の第2のサンプル周期前の位相指令を選択する位相指令選択用セレクタ(第3の過去情報選択部)である。
【0120】
尚、位相指令バッファ95は例えば
図2と同様の多段バッファで構成される。
【0121】
97は、位相指令バッファ95の最新情報記憶用バッファ内の最新位相指令と、前記位相指令選択用セレクタ96によって選択された第2のサンプル周期前の位相指令との差分を計算する減算器である。
【0122】
98は、減算器97の出力である位相指令差分を、減算器67−2の出力である時間差分で除算して平均化速度指令を出力する除算器である。
【0123】
尚、ラッチ回路58d、位相指令バッファ95、位相指令選択用セレクタ96、減算器97および除算器98によって、本発明の平均化速度指令演算部を構成している。
【0124】
その他の部分は
図4と同一に構成されている。
【0125】
図7のように構成された装置を、
図5と同様の速度制御系に適用した構成例を
図8に示す。
図8のASR制御部200’内の220は
図7の速度検出演算部および平均化速度指令演算部を表している。
【0126】
図8においてI制御部205は、減算器213の出力である平均化速度指令と速度検出2の偏差分に対して積分制御を行うものであり、その他の部分は
図5と同様に構成されている。
【0127】
本実施例3では、実施例2に対して、さらに速度指令を積分演算することにより位相指令に変換し、これから元の速度情報に戻す際に、速度検出2と同期した時刻でラッチさせた位相指令バッファ95の情報を使用して平均化速度指令を計算するようにしたので、速度と時間の関係を示す
図9のように、細い実線の速度指令が加速中においても、太い実線の平均化速度指令が破線の速度検出2の時間遅れとほぼ同じ程度の遅れ時間を有するようになる。
【0128】
その結果、積分(I)制御を、この平均化速度指令と速度検出2との差分で演算するように変更することにより、加速中において検出時間遅れ成分がI制御部205の積分器に積算される量が抑制され、一定速度に移行した際のオーバーシュート量を抑制することができる。この、平均化速度指令に遅延を挿入するのは、実施例2と同様に、「積分項の時定数は機械の慣性モーメントにより決まる値であり、通常は速度検出周期よりも長いことが多い」ことを利用するものである。
【0129】
ジッタを含むパルスエンコーダでは、検出速度にオフセット誤差が生じるのを抑制するために、例えば実施例2のように積分制御に使用する速度検出の検出期間を長くすると、増加した時間遅れ成分により加減速状態にて積分項に蓄積される値が大きくなり、一定速度に移行した際のオーバーシュートが大きくなる。これに対し実施例3では速度検出とほぼ同等な遅れ時間を有する速度指令、すなわち「平均化速度指令」を生成し、速度検出との差分をとるようにしたので、
図9で述べたように加減速後の速度のオーバーシュート量を小さくすることができる。すなわち、速度制御の精度が向上される。