(57)【要約】【課題】割込周期を変えずに、速度検出におけるオフセット誤差を抑制する。【解決手段】パルスエンコーダ５０の出力パルスに基づいて、設定したサンプル周期毎にパルス情報を取得するパルス情報取得部（５１〜５８）と、サンプル周期毎に、パルス位相情報を記憶するパルス位相バッファ６１と、パルス発生時刻情報を記憶するパルス時刻バッファ６２と、複数サンプル周期前に取得され記憶されたパルス情報を選ぶ選択信号Ｓｅｌによって、前記バッファ６１内の複数サンプル周期前のパルス位相情報を選択し、前記バッファ６２内の複数サンプル周期前のパルス発生時刻情報を選択する過去情報選択部（６４、６５）と、最新パルス位相と前記選択された複数サンプル周期前のパルス位相との差分と、最新パルス発生時刻と前記選択された複数サンプル周期前のパルス発生時刻との差分に基づいて速度検出値を演算する速度検出演算部（６６〜６８）と、を備えた。【選択図】  図１
2018025391.tif 000002
【特許請求の範囲】
【請求項１】
回転機の回転速度を検出する速度検出装置であって、
回転機の回転角度を検出するパルスエンコーダの出力パルスに基づいて、設定したサンプル周期毎に、パルス有無情報、パルス位相情報およびパルス発生時刻情報を取得するパルス情報取得部と、
前記サンプル周期毎に取得された前記パルス位相情報を各々記憶するパルス位相バッファと、
前記サンプル周期毎に取得された前記パルス発生時刻情報を各々記憶するパルス時刻バッファと、
複数サンプル周期前に取得され記憶されたパルス情報を選択するための選択信号を設定する選択信号設定部と、
前記選択信号設定部で設定された選択信号によって、前記パルス位相バッファ内の複数サンプル周期前のパルス位相情報を選択し、前記パルス時刻バッファ内の複数サンプル周期前のパルス発生時刻情報を選択する過去情報選択部と、
前記パルス位相バッファ内の最新パルス位相と前記過去情報選択部によって選択された複数サンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記過去情報選択部によって選択された複数サンプル周期前のパルス発生時刻との差分に基づいて速度検出値を演算する速度検出演算部と、
を備えたことを特徴とする速度検出装置。
【請求項２】
前記パルス情報取得部は、
前記パルスエンコーダからの出力パルスを波形整形してパルスの立上り、立下りの各エッジを検出する波形整形回路と、
前記波形整形回路で検出されたパルスの立上りエッジ、立下りエッジによりアップ／ダウンカウントを行い、カウント値をパルス位相値として出力するパルス位相アップダウンカウンタと、
基準クロックをカウントして時刻データを出力し、設定されたサンプル周期毎に割込信号を出力するタイマ回路と、
前記波形整形回路からパルスの各エッジの検出信号が入力されたときの前記タイマ回路の時刻データを記憶保持し、パルス発生時刻として出力するパルス発生時刻計測回路と、
前記波形整形回路からのパルスの各エッジの検出信号によりセットされ、前記タイマ回路からの割込信号によりリセットされ、該割込信号の発生周期の間にパルスが発生したか否かを示すパルス有無信号を出力するフリップフロップ回路と、
前記タイマ回路からの割込信号をイネーブル信号として、前記パルス位相アップダウンカウンタから送出されるパルス位相値、前記パルス発生時刻計測回路から送出されるパルス発生時刻および前記フリップフロップ回路から送出されるパルス有無信号を各々保持する読み出し用バッファと、を備え、
前記パルス位相バッファおよびパルス時刻バッファは、前記タイマ回路からの割込信号および前記読み出し用バッファからのパルス有無信号の論理積信号をイネーブル信号として、前記読み出し用バッファのパルス位相値およびパルス発生時刻を読み出して記憶する、最新情報記憶用バッファとｎ段（ｎは整数）の過去情報記憶用バッファとで各々構成され、
前記選択信号設定部の選択信号は、前記ｎ段の過去情報記憶用バッファのうちいずれかの段のバッファを指定する信号に設定され、
前記過去情報選択部は、前記ｎ段の過去情報記憶用バッファのうち前記選択信号設定部の選択信号で指定された段のバッファの情報を選択する、
ことを特徴とする請求項１に記載の速度検出装置。
【請求項３】
前記選択信号設定部は、
第１のサンプル周期前に取得され記憶されたパルス情報を選択するための第１の選択信号と、前記第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶されたパルス情報を選択するための第２の選択信号とを設定し、
前記過去情報選択部は、
前記第１の選択信号によって、前記パルス位相バッファ内の第１のサンプル周期前のパルス位相情報および前記パルス時刻バッファ内の第１のサンプル周期前のパルス時刻情報を選択する第１の過去情報選択部と、
前記第２の選択信号によって、前記パルス位相バッファ内の第２のサンプル周期前のパルス位相情報および前記パルス時刻バッファ内の第２のサンプル周期前のパルス時刻情報を選択する第２の過去情報選択部とを有し、
前記速度検出演算部は、
前記パルス位相バッファ内の最新パルス位相と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス発生時刻との差分に基づいて第１の速度検出値を演算する第１の速度検出演算部と、
前記パルス位相バッファ内の最新パルス位相と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス発生時刻との差分に基づいて第２の速度検出値を演算する第２の速度検出演算部とを有している
ことを特徴とする請求項１に記載の速度検出装置。
【請求項４】
前記選択信号設定部は、
第１のサンプル周期前に取得され記憶された、前記ｎ段の過去情報記憶用バッファのうち何れかの段を指定する第１の選択信号と、前記第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶された、前記ｎ段の過去情報記憶用バッファのうち何れかの段を指定する第２の選択信号とを設定し、
前記過去情報選択部は、
前記第１の選択信号によって指定された段の、前記パルス位相バッファの過去情報記憶用バッファ内の第１のサンプル周期前のパルス位相情報および前記パルス時刻バッファの過去情報記憶用バッファ内の第１のサンプル周期前のパルス時刻情報を選択する第１の過去情報選択部と、
前記第２の選択信号によって指定された段の、前記パルス位相バッファの過去情報記憶用バッファ内の第２のサンプル周期前のパルス位相情報および前記パルス時刻バッファの過去情報記憶用バッファ内の第２のサンプル周期前のパルス時刻情報を選択する第２の過去情報選択部とを有し、
前記速度検出演算部は、
前記パルス位相バッファの最新情報記憶用バッファ内の最新パルス位相と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファの最新情報記憶用バッファ内の最新パルス発生時刻と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス発生時刻との差分に基づいて第１の速度検出値を演算する第１の速度検出演算部と、
前記パルス位相バッファの最新情報記憶用バッファ内の最新パルス位相と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファの最新情報記憶用バッファ内の最新パルス発生時刻と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス発生時刻との差分に基づいて第２の速度検出値を演算する第２の速度検出演算部とを有している
ことを特徴とする請求項２に記載の速度検出装置。
【請求項５】
回転機の速度指令と回転機の速度検出値の偏差に対して比例制御を行う比例制御項と、回転機の速度指令と回転機の速度検出値の偏差に対して積分制御を行う積分制御項とを有して、回転機の速度制御を行う速度制御システムであって、
請求項３又は４に記載の速度検出装置を備え、
前記比例制御項における回転機の速度検出値として、前記速度検出装置の第１の速度検出演算部で演算された第１の速度検出値を用い、
前記積分制御項における回転機の速度検出値として、前記速度検出装置の第２の速度検出演算部で演算された第２の速度検出値を用いる、
ことを特徴とする速度制御システム。
【請求項６】
回転機の速度指令と回転機の速度検出値の偏差に対して比例制御を行う比例制御項と、回転機の速度指令と回転機の速度検出値の偏差に対して積分制御を行う積分制御項とを有して、回転機の速度制御を行う速度制御システムであって、
請求項４に記載の速度検出装置を備え、
回転機の速度指令を時間積分して位相指令を求める速度指令／位相指令変換回路を設け、
前記速度検出装置のタイマ回路からの割込信号をイネーブル信号として、前記速度指令／位相指令変換回路で求められた位相指令を保持する位相指令読み出し用バッファと、
最新情報記憶用バッファおよびｎ段（ｎは整数）の過去情報記憶用バッファとで構成され、前記速度検出装置の読み出し用バッファからのパルス有無信号をイネーブル信号として、前記位相指令読み出し用バッファ内の位相指令を読み出して記憶する位相指令バッファと、
前記速度検出装置の選択信号設定部で設定された第２の選択信号によって指定された段の、前記位相指令バッファの過去情報記憶用バッファ内の第２のサンプル周期前の位相指令を選択する第３の過去情報選択部と、
前記位相指令バッファの最新情報記憶用バッファ内の最新位相指令と前記第３の過去情報選択部によって選択された第２のサンプル周期前の位相指令との差分を、前記速度検出装置の第２の速度検出演算部における最新パルス発生時刻と第２のサンプル周期前のパルス発生時刻との差分で除算する演算回路とによって、
平均化速度指令を求める平均化速度指令演算部をさらに設け、
前記積分制御項における回転機の速度指令として、前記平均化速度指令演算部で求められた平均化速度指令を用い、
前記比例制御項における回転機の速度検出値として、前記速度検出装置の第１の速度検出演算部で演算された第１の速度検出値を用い、
前記積分制御項における回転機の速度検出値として、前記速度検出装置の第２の速度検出演算部で演算された第２の速度検出値を用いる
ことを特徴とする速度制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変速装置など、回転機（モータ、発電機等）などの回転速度を検出する方式およびその速度制御方式に関する。本発明が対象とする回転位置センサは９０度位相差をもつ２相パルスエンコーダであり、発生パルス数と時間差より速度を検出する。この速度検出期間の長さを変えると長所や短所が変化する。本発明は、これらの長所のみを生かすような検出方式や速度制御方式に関する。
【背景技術】
【０００２】
先行技術文献としては、特許文献１があり、この原理は非特許文献１に記載されている。特許文献１では、９０°位相差をもつ２相の方形波信号を出力するエンコーダにおいて、一定周期（速度演算周期信号ＳＭＰＬ）で速度を検出する方式を提案している。
【０００３】
特許文献１の特徴は、２相信号の９０°位相差の誤差が大きいので、４種類のパルスエッジに応じた４個の検出回路を搭載し、この４種類の検出値から同じエッジ種類のデータを選択して位相差や時間差を計算することにより速度検出の精度を改善したものである。
【０００４】
本発明では、基本的には従来例と同様に発生するパルスの位相差を時間差で除算して速度検出をするものであるが、特許文献１のような４多重方式という特長までは必要としていない。それよりも、一般的な速度検出周期を可変設定できるようにしたり、異なる速度検出期間を有する複数の速度検出を組み合わせたりする方式を提案するものである。
【０００５】
そこで説明を簡素化するために、１相パルス信号の例を採用して説明している。もしこの原理を特許文献１のような４多重方式にも拡張することは容易に実現できるので、ここでは異なる方式を組み合わせることについての説明は省略する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３１７３１７４号公報
【非特許文献】
【０００７】
【非特許文献１】電気学会、電気論Ｄ，１５５巻１１号  ｐｐ１３１６−１３２４（平成７年）の２章
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の速度検出方式では、エンコーダが出力するパルス信号を、高速クロックで動作するディジタル回路によりパルス発生時刻やパルスカウンタ値（位相情報）を逐次計測しておき、一定周期のサンプル信号にてディジタル回路内のラッチ（レジスタ）に記憶する。そして、このサンプル信号と同時に、ＣＰＵなどの演算処理装置に割込信号が与えられる。この割込信号により速度検出処理が起動されると、前記ラッチデータを読み出し、そして前回までに読み出した時刻や位相の検出情報との差分から速度検出演算を行っている。
【０００９】
本明細書にて対策する問題点は、このエンコーダが発生するパルス信号にジッタと呼ばれる発生時刻の揺らぎが生じると、速度検出にオフセット誤差が生じる現象であり、この誤差を抑制するために速度検出期間の長さを可変にして適切なものを選定することを提案する。
【００１０】
例えば図１０（ａ）のような一定速度における１相パルス信号の場合を考えると、パルスＰ１ａとＰ１ｂ、もう一つはパルスＰ１ｂとＰ１ｃのパルス間の検出情報より速度が検出できる。これに対して、ジッタによるパルス発生時刻の揺らぎにより誤差が発生する原理を示すために、図１０（ｂ）のようにパルスＰ１ｂの発生時刻がΔＴだけずれてパルスＰ２ｂの時刻で発生したと仮定して説明する。
【００１１】
理想的なジッタ誤差の無い図１０（ａ）では２回の速度検出が可能であり、パルスＰ１ａとＰ１ｂ間からは（１ａ）式、パルスＰ１ｂとＰ１ｃ間からは（１ｂ）式となる。同様に図１０（ｂ）の場合では、（２ａ）式と（２ｂ）式として演算することになる。
【００１２】
ω１ａｂ＝（θ１ｂ−θ１ａ）／（ｔ１ｂ−ｔ１ａ）…（１ａ）
ω１ｂｃ＝（θ１ｃ−θ１ｂ）／（ｔ１ｃ−ｔ１ｂ）…（１ｂ）
ω２ａｂ＝（θ２ｂ−θ２ａ）／（ｔ２ｂ−ｔ２ａ）…（２ａ）
ω２ｂｃ＝（θ２ｃ−θ２ｂ）／（ｔ２ｃ−ｔ２ｂ）…（２ｂ）
ここで、誤差の影響を具体的に示すために、仮の数値を代入してみる。速度計算上はエンコーダパルスの発生位相差は一定であると仮定するので、図１０（ａ）でも図１０（ｂ）でもパルス間の位相差は（３）式のように等しくなる。ここでは値を“１”と仮定している。
【００１３】
（θ１ｂ−θ１ａ）＝（θ１ｃ−θ１ｂ）＝（θ２ｂ−θ２ａ）＝（θ２ｃ−θ２ｂ）＝１…（３）
時間差については、図１０（ａ）のジッタが無い理想的なパルスの方は、（４）式のように２個の時間差は等しくなる。
【００１４】
（ｔ１ｂ−ｔ１ａ）＝（ｔ１ｃ−ｔ１ｂ）＝１…（４）
これに対して図１０（ｂ）側では、ジッタによる時間の揺らぎ（発生時刻のずれ）をΔＴ＝０．３と仮定すると、２個の時間差は（５ａ）式と（５ｂ）式のような異なる値になる。
【００１５】
（ｔ２ｂ−ｔ２ａ）＝１＋０．３＝１．３…（５ａ）
（ｔ２ｃ−ｔ２ｂ）＝１−０．３＝０．７…（５ｂ）
この仮定の下で、（１ａ）式と（１ｂ）式および（２ａ）式と（２ｂ）式の４個の速度を計算してみると次のような値になり、（１ａ’）式と（１ｂ’）式が示す真の速度１．０に対して、（２ａ’）式と（２ｂ’）式の方にはジッタによって生じた速度検出誤差が含まれていることが明らかになる。
【００１６】
ω１ａｂ＝（θ１ｂ−θ１ａ）／（ｔ１ｂ−ｔ１ａ）＝１／１＝１．０…（１ａ’）
ω１ｂｃ＝（θ１ｃ−θ１ｂ）／（ｔ１ｃ−ｔ１ｂ）＝１／１＝１．０…（１ｂ’）
ω２ａｂ＝（θ２ｂ−θ２ａ）／（ｔ２ｂ−ｔ２ａ）＝１／１．３≒０．７６９２３…（２ａ’）
ω２ｂｃ＝（θ２ｃ−θ２ｂ）／（ｔ２ｃ−ｔ２ｂ）＝１／０．７≒１．４２８５７…（２ｂ’）
次に従来例として、この速度検出誤差を統計手法により抑制する方法、つまり最も簡単な２回の平均値を取る方法を考える。
【００１７】
理想的なパルスの場合には、（１ａ’）式と（１ｂ’）式の平均値は（６）式となり、やはり真値のままである。
【００１８】
ω１ａｖｅ＿ａｃ＝（ω１ａｂ＋ω１ｂｃ）／２＝（１．０＋１．０）／２＝１．０…（６）
ジッタを含むパルスの方は、（２ａ’）式と（２ｂ’）式の平均値は（７）式となり真値とは一致しないので誤差は零にはならない。
【００１９】
ω２ａｖｅ＿ａｃ＝（ω２ａｂ＋ω２ｂｃ）／２≒（０．７６９２３＋１．４２８５７）／２＝１．０９８９…（７）
ジッタによる時間誤差を含むのは中間のパルスＰ１ｂのタイミングだけであるので、直感的にはその両側の速度の平均をとれば誤差を零にできると想定することが多い。しかし実際には統計処理では、オフセット誤差が残る。これが本発明の真の解決したい課題である。では、なぜ平均値が零にならないかについて次に説明する。
【００２０】
上記までは数値例を示したが、オフセット誤差の説明については図１１のグラフを使用する。図１１は横軸に（２ａ’）式と（２ｂ’）式の分母のような時間差（Ｔ）をとり、縦軸に（２ａ’）式と（２ｂ’）式の計算結果である速度検出（ω）をプロットしたものである。ジッタによる誤差時間（＋ΔＴ，−ΔＴ）が存在するので横軸の２点から垂線を引き、この垂線上に速度検出値をプロットしてみると、これらは原点に対して反比例の特性上に存在することになる。
【００２１】
誤差成分が分数の分母にのみ存在するために、反比例のような誤差分布になることは容易に想像がつく。もし、誤差分布が「傾きが−１の直線上」に存在してくれるならば、２点の平均値をとれば誤差は零になる。しかし（２ａ’）式と（２ｂ’）式の速度誤差のように、ジッタによる速度検出は反比例特性、つまり常に「−１の傾きの直線」よりも振幅が大きい方向の誤差を含んでしまう。したがって、大量の平均処理を行っても誤差を零にすることはできず、真値よりも常に振幅が大きくなるというオフセット誤差が残ってしまう。これが問題点であり、ここでは「ジッタによる速度のオフセット誤差」または単に「オフセット誤差」と呼ぶことにする。
【００２２】
上記の問題点は、ジッタというパルス発生時刻のバラツキが要因であり、その誤差が相対的に小さくなって無視できるほどの長い時間間隔で速度検出すれば、大きな速度誤差は生じないはずである。統計処理をするのではなく、速度検出演算時の分母の時間差の値が大きくなるように、つまり分子の位相差（パルスカウント数の差）を大きくするべきである。例えば図１０（ｂ）の例では、（７）式のように短い検出期間の速度検出を統計処理するよりも、（８）式のようにＰ２ａからＰ２ｃまでの３パルスという長い間隔にて、分子と分母を個別に積算してから除算する方がオフセット誤差の抑制には有効である。
【００２３】
ω２ａｖｅ＿ａｃ’＝（θ２ｃ−θ２ａ）／（ｔ２ｃ−ｔ２ａ）…（８）
従来より「検出期間を長くすると精度が良い」という経験則が知られていたが、厳密には「オフセット誤差」の原理までは一般的には認識されていないようである。そのため「計測時間を短くしておき、統計処理で解決できる」という誤解をされやすい。そこで以上のような詳細な説明を行うことにより、計測時間の適切な選定の重要性と、本課題に対しては統計処理の効果に限界が存在することを明らかにしてきた。ここまでは、速度検出という限定した部分であったが、以降からは速度制御系に視野を広げ、そして、このオフセット誤差を抑制するための方式を提案する。
【００２４】
特許文献１ではサンプル時間（ＣＰＵ割込周期）がこの速度検出時間を支配している。単純に精度を高めるには速度検出の時間差を長くすればよいが、同時に検出遅れ（ムダ時間）も大きくなってしまい、速度制御の応答性を制限する要因となってくる。逆に速度検出時間を短くすれば、速度検出誤差は大きいものの時間遅れ（ムダ時間）が小さくなるので、応答性は高くできる。しかし、ジッタによる速度検出誤差のバラツキが増加するために、モータの制御時に速度制御出力であるトルク指令に大きな脈動成分が生じてしまい、トルク品質が劣化する問題も生じる。
【００２５】
このジッタの発生要因について考えてみると、エンコーダの原理的な種類や組み立て精度などによるバラツキなどに起因するので発生量は一定ではない。そのため「速度制御精度と応答性能とを両立できる」という相反する要求を満足するには、個別のシステムの状況に応じて速度検出時間（割り込み周期）を調整・変更する必要がある。かといって、ＣＰＵ割込みの周期自体を変化させてしまうと、同じ割込処理で実行している速度制御以外の制御演算に対して特性変化をさせてしまう危惧も生じてくる。
【００２６】
本発明は上記課題を解決するものであり、その目的は、割込周期を変えることなく、速度検出におけるオフセット誤差を抑制して速度検出精度を向上させることができる速度検出装置および速度制御システムを提供することにある。
【課題を解決するための手段】
【００２７】
上記課題を解決するための請求項１に記載の速度検出装置は、回転機の回転速度を検出する速度検出装置であって、
回転機の回転角度を検出するパルスエンコーダの出力パルスに基づいて、設定したサンプル周期毎に、パルス有無情報、パルス位相情報およびパルス発生時刻情報を取得するパルス情報取得部と、
前記サンプル周期毎に取得された前記パルス位相情報を各々記憶するパルス位相バッファと、
前記サンプル周期毎に取得された前記パルス発生時刻情報を各々記憶するパルス時刻バッファと、
複数サンプル周期前に取得され記憶されたパルス情報を選択するための選択信号を設定する選択信号設定部と、
前記選択信号設定部で設定された選択信号によって、前記パルス位相バッファ内の複数サンプル周期前のパルス位相情報を選択し、前記パルス時刻バッファ内の複数サンプル周期前のパルス発生時刻情報を選択する過去情報選択部と、
前記パルス位相バッファ内の最新パルス位相と前記過去情報選択部によって選択された複数サンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記過去情報選択部によって選択された複数サンプル周期前のパルス発生時刻との差分に基づいて速度検出値を演算する速度検出演算部と、
を備えたことを特徴とする。
【００２８】
また、請求項２に記載の速度検出装置は、請求項１において、
前記パルス情報取得部は、
前記パルスエンコーダからの出力パルスを波形整形してパルスの立上り、立下りの各エッジを検出する波形整形回路と、
前記波形整形回路で検出されたパルスの立上りエッジ、立下りエッジによりアップ／ダウンカウントを行い、カウント値をパルス位相値として出力するパルス位相アップダウンカウンタと、
基準クロックをカウントして時刻データを出力し、設定されたサンプル周期毎に割込信号を出力するタイマ回路と、
前記波形整形回路からパルスの各エッジの検出信号が入力されたときの前記タイマ回路の時刻データを記憶保持し、パルス発生時刻として出力するパルス発生時刻計測回路と、
前記波形整形回路からのパルスの各エッジの検出信号によりセットされ、前記タイマ回路からの割込信号によりリセットされ、該割込信号の発生周期の間にパルスが発生したか否かを示すパルス有無信号を出力するフリップフロップ回路と、
前記タイマ回路からの割込信号をイネーブル信号として、前記パルス位相アップダウンカウンタから送出されるパルス位相値、前記パルス発生時刻計測回路から送出されるパルス発生時刻および前記フリップフロップ回路から送出されるパルス有無信号を各々保持する読み出し用バッファと、を備え、
前記パルス位相バッファおよびパルス時刻バッファは、前記タイマ回路からの割込信号および前記読み出し用バッファからのパルス有無信号の論理積信号をイネーブル信号として、前記読み出し用バッファのパルス位相値およびパルス発生時刻を読み出して記憶する、最新情報記憶用バッファとｎ段（ｎは整数）の過去情報記憶用バッファとで各々構成され、
前記選択信号設定部の選択信号は、前記ｎ段の過去情報記憶用バッファのうちいずれかの段のバッファを指定する信号に設定され、
前記過去情報選択部は、前記ｎ段の過去情報記憶用バッファのうち前記選択信号設定部の選択信号で指定された段のバッファの情報を選択する、
ことを特徴としている。
【００２９】
上記構成によれば、複数パルス周期前のパルス情報から最新パルス情報までの速度検出期間を長くする（選択信号設定部で設定する）ことができ、速度検出における、パルス信号の発生時刻のゆらぎによるオフセット誤差を抑制して速度検出精度を向上させることができる。
【００３０】
また、請求項３に記載の速度検出装置は、請求項１において、
前記選択信号設定部は、
第１のサンプル周期前に取得され記憶されたパルス情報を選択するための第１の選択信号と、前記第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶されたパルス情報を選択するための第２の選択信号とを設定し、
前記過去情報選択部は、
前記第１の選択信号によって、前記パルス位相バッファ内の第１のサンプル周期前のパルス位相情報および前記パルス時刻バッファ内の第１のサンプル周期前のパルス時刻情報を選択する第１の過去情報選択部と、
前記第２の選択信号によって、前記パルス位相バッファ内の第２のサンプル周期前のパルス位相情報および前記パルス時刻バッファ内の第２のサンプル周期前のパルス時刻情報を選択する第２の過去情報選択部とを有し、
前記速度検出演算部は、
前記パルス位相バッファ内の最新パルス位相と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス発生時刻との差分に基づいて第１の速度検出値を演算する第１の速度検出演算部と、
前記パルス位相バッファ内の最新パルス位相と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファ内の最新パルス発生時刻と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス発生時刻との差分に基づいて第２の速度検出値を演算する第２の速度検出演算部とを有している
ことを特徴とする。
【００３１】
また、請求項４に記載の速度検出装置は、請求項２において、
前記選択信号設定部は、
第１のサンプル周期前に取得され記憶された、前記ｎ段の過去情報記憶用バッファのうち何れかの段を指定する第１の選択信号と、前記第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶された、前記ｎ段の過去情報記憶用バッファのうち何れかの段を指定する第２の選択信号とを設定し、
前記過去情報選択部は、
前記第１の選択信号によって指定された段の、前記パルス位相バッファの過去情報記憶用バッファ内の第１のサンプル周期前のパルス位相情報および前記パルス時刻バッファの過去情報記憶用バッファ内の第１のサンプル周期前のパルス時刻情報を選択する第１の過去情報選択部と、
前記第２の選択信号によって指定された段の、前記パルス位相バッファの過去情報記憶用バッファ内の第２のサンプル周期前のパルス位相情報および前記パルス時刻バッファの過去情報記憶用バッファ内の第２のサンプル周期前のパルス時刻情報を選択する第２の過去情報選択部とを有し、
前記速度検出演算部は、
前記パルス位相バッファの最新情報記憶用バッファ内の最新パルス位相と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファの最新情報記憶用バッファ内の最新パルス発生時刻と前記第１の過去情報選択部によって選択された第１のサンプル周期前のパルス発生時刻との差分に基づいて第１の速度検出値を演算する第１の速度検出演算部と、
前記パルス位相バッファの最新情報記憶用バッファ内の最新パルス位相と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス位相との差分と、前記パルス時刻バッファの最新情報記憶用バッファ内の最新パルス発生時刻と前記第２の過去情報選択部によって選択された第２のサンプル周期前のパルス発生時刻との差分に基づいて第２の速度検出値を演算する第２の速度検出演算部とを有している
ことを特徴とする。
【００３２】
前記第２の選択信号で設定された第２のサンプル周期前と最新時刻の間は、第１の選択信号で設定された第１のサンプル周期前と最新時刻の間よりも速度検出期間が長い。このため上記構成によれば、異なる２つの速度検出期間による速度検出演算が可能となり、例えば短く設定した速度検出期間による速度検出演算（第１の速度検出演算部）と、長く設定した速度検出期間による速度検出演算（第２の速度検出演算部）とを行うことにより、早い応答性能を満たす速度検出値（第１の速度検出値）と、高い速度検出精度を満たす速度検出値（第２の速度検出値）の両方を得ることができる。
【００３３】
また、請求項５に記載の速度制御システムは、
回転機の速度指令と回転機の速度検出値の偏差に対して比例制御を行う比例制御項と、回転機の速度指令と回転機の速度検出値の偏差に対して積分制御を行う積分制御項とを有して、回転機の速度制御を行う速度制御システムであって、
請求項３又は４に記載の速度検出装置を備え、
前記比例制御項における回転機の速度検出値として、前記速度検出装置の第１の速度検出演算部で演算された第１の速度検出値を用い、
前記積分制御項における回転機の速度検出値として、前記速度検出装置の第２の速度検出演算部で演算された第２の速度検出値を用いる、
ことを特徴とする。
【００３４】
上記構成によれば、比例制御項の速度検出値として、速度検出期間が短く速い応答性能を満たす第１の速度検出値が用いられるため、ムダ時間が少なくなって応答性能が高められる。
【００３５】
また、積分制御項の速度検出値として、速度検出期間が長く高い速度検出精度を満たす第２の速度検出値が用いられるため、速度制御精度が高められる（速度検出期間が長く、ムダ時間が大となっても積分項の制御において、悪影響は少ない）。したがって、速度制御精度と応答性能とを両立する制御系を構築することができる。
【００３６】
また、請求項６に記載の速度制御システムは、
回転機の速度指令と回転機の速度検出値の偏差に対して比例制御を行う比例制御項と、回転機の速度指令と回転機の速度検出値の偏差に対して積分制御を行う積分制御項とを有して、回転機の速度制御を行う速度制御システムであって、
請求項４に記載の速度検出装置を備え、
回転機の速度指令を時間積分して位相指令を求める速度指令／位相指令変換回路を設け、
前記速度検出装置のタイマ回路からの割込信号をイネーブル信号として、前記速度指令／位相指令変換回路で求められた位相指令を保持する位相指令読み出し用バッファと、
最新情報記憶用バッファおよびｎ段（ｎは整数）の過去情報記憶用バッファとで構成され、前記速度検出装置の読み出し用バッファからのパルス有無信号をイネーブル信号として、前記位相指令読み出し用バッファ内の位相指令を読み出して記憶する位相指令バッファと、
前記速度検出装置の選択信号設定部で設定された第２の選択信号によって指定された段の、前記位相指令バッファの過去情報記憶用バッファ内の第２のサンプル周期前の位相指令を選択する第３の過去情報選択部と、
前記位相指令バッファの最新情報記憶用バッファ内の最新位相指令と前記第３の過去情報選択部によって選択された第２のサンプル周期前の位相指令との差分を、前記速度検出装置の第２の速度検出演算部における最新パルス発生時刻と第２のサンプル周期前のパルス発生時刻との差分で除算する演算回路とによって、
平均化速度指令を求める平均化速度指令演算部をさらに設け、
前記積分制御項における回転機の速度指令として、前記平均化速度指令演算部で求められた平均化速度指令を用い、
前記比例制御項における回転機の速度検出値として、前記速度検出装置の第１の速度検出演算部で演算された第１の速度検出値を用い、
前記積分制御項における回転機の速度検出値として、前記速度検出装置の第２の速度検出演算部で演算された第２の速度検出値を用いる
ことを特徴とする。
【００３７】
上記構成によれば、積分制御項において、加速中は、速度検出期間が長くムダ時間の大きい第２の速度検出値と平均化速度指令との差が小さくなり、速度検出遅れ時間による影響を小さくできる。このため、加速中に前記検出時間遅れ成分が積分器に溜まる量が抑制され、一定速度に移行した際の、前記積分器に溜まった量の放出によるオーバーシュートを抑制することができる。これによって速度制御の精度が向上する。
【発明の効果】
【００３８】
（１）請求項１〜６に記載の発明によれば、速度検出におけるオフセット誤差が抑制され、速度検出精度が向上する。
（２）請求項３、４に記載の発明によれば、異なる２つの速度検出期間による速度検出演算が可能となり、例えば短く設定した速度検出期間による速度検出演算（第１の速度検出演算部）と、長く設定した速度検出期間による速度検出演算（第２の速度検出演算部）とを行うことにより、早い応答性能を満たす速度検出値（第１の速度検出値）と、高い速度検出精度を満たす速度検出値（第２の速度検出値）の両方を得ることができる。
（３）請求項５に記載の発明によれば、比例制御項の速度検出値として、速度検出期間が短く速い応答性能を満たす第１の速度検出値が用いられるため、ムダ時間が少なくなって応答性能が高められる。
【００３９】
また、積分制御項の速度検出値として、速度検出期間が長く高い速度検出精度を満たす第２の速度検出値が用いられるため、速度制御精度が高められる（速度検出期間が長く、ムダ時間が大となっても積分項の制御において、悪影響は少ない）。したがって、速度制御精度と応答性能とを両立する制御系を構築することができる。
（４）請求項６に記載の発明によれば、積分制御項において、加速中に検出時間遅れ成分が積分器に溜まる量が抑制され、一定速度に移行した際の、前記積分器に溜まった量の放出によるオーバーシュートを抑制することができる。これによって速度制御の精度が向上する。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施例１による速度検出装置の全体構成図。
【図２】本発明の実施例１における要部構成図。
【図３】本発明の実施例１の速度検出装置の動作を説明するタイムチャート。
【図４】本発明の実施例２による速度検出装置の構成図。
【図５】本発明の実施例２による速度制御システムの構成図。
【図６】速度検出遅れ時間による速度指令との差分を起因として生じる問題点を説明する速度−時間特性図。
【図７】本発明の実施例３による速度検出装置の構成図。
【図８】本発明の実施例３による速度制御システムの構成図。
【図９】本発明の実施例３による効果を説明する速度−時間特性図。
【図１０】エンコーダが発生するパルス信号と位相、時刻の関係を示す説明図。
【図１１】パルス発生時刻が揺らいだ際に、平均処理では速度検出のオフセット誤差を無くすことができないことを表す説明図。
【発明を実施するための形態】
【００４１】
以下、図面を参照しながら本発明の実施の形態を説明するが、ディジタル回路とＣＰＵ演算は相互に置き換えが可能な部分があるので、本発明は下記の実施形態例に限定されるものではない。本実施形態では、まず最初に、割込周期は固定したままで、個別装置において速度検出時間を任意に可変設定できる方式を実施例１として提案する。それから、実施例２以降にて、さらに「速度制御精度と応答性能とを両立できる」改善策を提案する。
【実施例１】
【００４２】
図１は実施例１の速度検出装置の構成を示している。図１の構成は大きく分けて、左側の「ディジタル検出回路」と右側の「ＣＰＵ演算」に分けられる。ディジタル検出回路の部分は、基本的には特許文献１や非特許文献１の検出回路と同様である。しかし４多重方式回路や正転と逆転との切り替えまで考慮すると複雑になるので、本発明では、説明を簡素にするために、パルスエンコーダからの出力パルスを波形整形する波形整形回路の出力は、後述する図３のような正転パルス（Ｅｄｇ＿ｕｐ）のみの１相パルス信号に限定して取り扱うことにする。
【００４３】
図１において、５０は回転機の回転角度を検出するパルスエンコーダであり、モータなどの回転体の位相に応じてパルス信号を発生する。
【００４４】
５１はパルスエンコーダ５０からの出力パルスを波形整形する波形整形回路であり、パルスエンコーダ５０の出力パルスの立上り、立下がりの各エッジを検出し、位相に相当するカウンタのＵＰ／ＤＯＷＮ信号（Ｅｄｇ＿ｕｐ／Ｅｄｇ＿ｄｗ）に変換する。
【００４５】
５２は、波形整形回路５１から出力されるカウンタのＵＰ／ＤＯＷＮ信号のＯＲ演算を行ってパルス発生信号Ｅｄｇを出力するＯＲ回路である。以降、「パルス発生信号」を「パルス」と簡素化して使用する場合もある。
【００４６】
５３は、波形整形回路５１で検出されたパルスの立上りエッジ、立下りエッジによりアップ／ダウンカウントを行い、カウント値をパルス位相値（θｐｐ）として出力するパルス位相アップダウンカウンタであり、ＵＰ／ＤＯＷＮ信号（Ｅｄｇ＿ｕｐ／Ｅｄｇ＿ｄｗ）によりカウンタ値θｐｐをインクリメント（Ｕｐ）／デクリメント（Ｄｗ）する。
【００４７】
５４は、パルスの発生時刻を計測するための基準時刻を生成するタイマ回路であり、ディジタル回路の基準クロックをカウントして時刻データｔを出力する。またタイマ回路５４は、ＣＰＵからＤ型フリップフロップ５５を介して入力されるサンプル周期設定に応じて、該サンプル周期毎に割込信号Ｓｍｐｌ（ｍ）を出力する機能も有している。
【００４８】
ここで、Ｓｍｐｌ（ｍ）の（ｍ）は発生するタイミングを示すための識別子であり、ｍの具体的な値については「ｍ1，ｍ２，ｍ３…」として表す。５６は、前記パルス発生信号Ｅｄｇが発生したときのタイマ回路５４から出力された時刻データｔを記憶保持し、パルス発生時刻ｔｐｐとして出力するパルス発生時刻計測回路であり、ＯＲ回路５２の出力（Ｅｄｇ）をイネーブル信号とするラッチ回路（ＤＥＮ−ｆｆ）で構成されている。
【００４９】
５７は、ＯＲ回路５２からのパルス発生信号Ｅｄｇによりセットされ、タイマ回路５４からの割込信号Ｓｍｐｌ（ｍ）によりリセットされ、該割込信号の発生周期の間にパルスエッジ（Ｅｄｇ）が発生したか否かを検出するフリップフロップ回路である。このフリップフロップ回路５７は、セット優先のＳＲ−フリップフロップ（ＳＲｆｆ）回路であり、割込信号Ｓｍｐｌ（ｍ）間にパルスエッジ（Ｅｄｇ）が発生していなければ「０」、発生していれば「１」のパルス有無フラグを出力し、次段の読み出し用バッファ５８に出力（厳密には、受信側のＥＮ（イネーブル）信号発生時にデータの転送が行われる）。
【００５０】
このように割込信号Ｓｍｐｌ（ｍ）は、速度検出演算が可能／不可能であるかの判定のためにフリップフロップ回路５７に使用されるだけでなく、後述する多段バッファから成る読み出し用バッファ５８のデータ転送の制御にも利用される。したがって、前記３種類の「パルス有無フラグとパルス位相値θｐｐとパルス発生時刻ｔｐｐ」は同時に更新される。
【００５１】
読み出し用バッファ５８は、前記タイマ回路５４からの割込信号Ｓｍｐｌ（ｍ）をイネールブル信号として、パルス位相アップダウンカウンタ５３から送出されるパルス位相値θｐｐ、パルス発生時刻計測回路５６から送出されるパルス発生時刻ｔｐｐおよびフリップフロップ回路５７から送出されるパルス有無フラグ（パルス有無信号）を各々保持する。
【００５２】
この読み出し用バッファ５８は、割込信号Ｓｍｐｌ（ｍ）の発生時刻における「パルス有無フラグ」、「パルス位相値θｐｐ」、「パルス発生時刻ｔｐｐ」の３個の瞬時値を記憶するラッチ回路５８ａ〜５８ｃ（図示Ｄｆｆ１〜Ｄｆｆ３）で構成されている。
【００５３】
ラッチ回路５８ａ〜５８ｃの出力側はＣＰＵなどから計測値として読み出すものであり、複数のデータがバスアクセスされる期間中に値が変化して同時性が失われないように、割込信号Ｓｍｐｌ（ｍ）の発生タイミングで同時にラッチさせ、それ以外の期間では値を保持させている。
【００５４】
尚、前記波形整形回路５１、ＯＲ回路５２、パルス位相アップダウンカウンタ５３、タイマ回路５４、Ｄ型フリップフロップ５５、パルス発生時刻計測回路５６、フリップフロップ回路５７および読み出し用バッファ５８によってパルス情報取得部を構成している。
【００５５】
６１は前記ラッチ回路５８ｂ（Ｄｆｆ２）のレジスタ値（パルス位相値θｐｐ）を読み出して記憶するパルス位相バッファ（多段バッファ；Ｂｕｆｆ２）であり、６２は前記ラッチ回路５８ｃ（Ｄｆｆ３）のレジスタ値（パルス発生時刻ｔｐｐ）を読み出して記憶するパルス時刻バッファ（多段バッファ；Ｂｕｆｆ３）である。
【００５６】
６３は、複数サンプル周期前に取得され、パルス位相バッファ６１、パルス時刻バッファ６２に記憶されたパルス情報（パルス位相値θｐｐ、パルス発生時刻ｔｐｐ）を選択するための選択信号（Ｓｅｌ）を設定する速度差データ選択回路（選択信号設定部）である。選択信号Ｓｅｌは、具体的にはサンプル周期毎に出力される割込信号Ｓｍｐｌ（ｍ）の識別子である（ｍ）の値であり、複数サンプル周期前に相当する値に設定される。
【００５７】
６４は、前記パルス位相バッファ６１に記憶されたパルス位相情報のうち、前記選択信号Ｓｅｌが示す複数サンプル周期前の（過去の）パルス位相情報を選択する前回値選択用セレクタ（Ｓｅｌｅｃｔ２）（過去情報選択部）である。
【００５８】
６５は、前記パルス時刻バッファ６２に記憶されたパルス時刻情報のうち、前記選択信号Ｓｅｌが示す複数サンプル周期前の（過去の）パルス時刻情報を選択する前回値選択用セレクタ（Ｓｅｌｅｃｔ３）（過去情報選択部）である。
【００５９】
前記パルス位相バッファ６１およびパルス時刻バッファ６２は、従来の例えば特許文献１では最新のパルス情報を１段目のバッファに、過去のパルス情報を２段目のバッファに記憶させておき、この２個の情報に基づいて速度検出値を演算するものであったが、本発明では図２に示すように、多段のＦＩＦＯ（ファーストインファーストアウト）動作をするスタックメモリ（多段バッファ）に拡張している。
【００６０】
図２において、７１は、図１の割込信号Ｓｍｐｌ（ｍ）（タイマ回路５４の出力）およびパルス有無信号（ラッチ回路Ｄｆｆ１の出力）の論理積を演算するＡＮＤ回路である。
【００６１】
７２は、図１の読み出し用バッファ５８から読み出されたパルス位相情報およびパルス発生時刻情報（検出データ）を格納する多段バッファであり、最新情報を記憶するラッチ回路７２−０（Ｄｆｆ０）（最新情報記憶用バッファ）と、過去情報を記憶するｎ段（ｎは整数）のラッチ回路７２−１〜７２−５（Ｄｆｆ１〜Ｄｆｆ５）（過去情報記憶用バッファ）とで構成されている。
【００６２】
尚本実施例では、過去情報記憶用バッファであるｎ段のラッチ回路を５つとして構成しているが、他の複数段数で構成してもよい。また、図１の読み出し用バッファ５８のラッチ回路５８ａ〜５８ｃのＤｆｆ１〜Ｄｆｆ３と、図２のラッチ回路７２−１〜７２−３のＤｆｆ１〜Ｄｆｆ３は同一記号の表記を使用しているが、これらは異なる回路である。
【００６３】
ラッチ回路７２−０のＤ端子には、読み出し用バッファ５８のラッチ回路５８ｂの出力（パルス位相情報）又はラッチ回路５８ｃの出力（パルス時刻情報）が検出データとして入力される。
【００６４】
ラッチ回路７２−０のＱ出力はラッチ回路７２−１のＤ端子に入力され、ラッチ回路７２−１のＱ出力はラッチ回路７２−２のＤ端子に入力され、ラッチ回路７２−２のＱ出力はラッチ回路７２−３のＤ端子に入力され、ラッチ回路７２−３のＱ出力はラッチ回路７２−４のＤ端子に入力され、ラッチ回路７２−４のＱ出力はラッチ回路７２−５のＤ端子に入力されている。
【００６５】
各ラッチ回路７２−０〜７２−５は、割込信号とパルス有無信号の論理積をとったＡＮＤ回路７１の出力をイネーブル信号とし、読み込みデータの書き込みや、バッファ間（ラッチ回路７２−０〜７２−５間）のデータ移動が割込処理により実行される。
【００６６】
このように割込信号とパルス有無信号の論理積信号をイネーブル信号としているため、パルス有無信号（パルス有無フラグ）が「パルスが発生」した場合のみ各バッファ（ラッチ回路７２−０〜７２−５）を動作させ、パルスが無い場合には過去の値を保持させることができる。このようなパルス有無信号によるデータ転送制限機能を有しているため、回転速度が低下してパルス発生周期が割込信号周期よりも長くなって「パルス休止」状態になっても対応できる。
【００６７】
図２の７３は、図１の前回値選択用セレクタ６４，６５（Ｓｅｌｅｃｔ２，Ｓｅｌｅｃｔ３）の機能を実現する前回値選択用セレクタであり、ラッチ回路７２−１〜７２−５の各Ｑ出力であるデータＤａｔａ（１）〜Ｄａｔａ（５）のうち、速度差データ選択回路６３（スタックバッファ）からの選択信号Ｓｅｌが示す複数サンプル周期前のデータを選択する。
【００６８】
前記選択信号ＳｅｌをＣＰＵへの設定により切り替える（速度差データ選択回路６３における選択信号を変更する）ことにより、固定したサンプル周期でデータをラッチさせていても、任意のサンプル回数より以前の時刻で発生したパルスの情報を取り出すことが可能になる。
【００６９】
図１の６６は、パルス位相バッファ６１内の最新パルス位相と、前回値選択用セレクタ６４で選択された複数サンプル周期前のパルス位相との差分を計算する減算器（Ｓｕｂ２）であり、６７は、パルス時刻バッファ６２内の最新パルス時刻と、前回値選択用セレクタ６５で選択された複数サンプル周期前のパルス時刻との差分を計算する減算器（Ｓｕｂ３）である。
【００７０】
６８は、減算器６６の出力である位相差分を、減算器６７の出力である時間差分で除算して速度検出１（速度検出値）を出力する除算器である。前記減算器６６，６７および除算器６８によって本発明の速度検出演算部を構成している。
【００７１】
前記パルス位相バッファ６１、パルス時刻バッファ６２、速度差データ選択回路６３、前回値選択用セレクタ６４，６５、減算器６６，６７、除算器６８は、ＣＰＵ演算機能の構成要素としてソフトウェアなどで実装することを想定している。
【００７２】
尚、前記速度差データ選択回路６３の選択信号Ｓｅｌをどのように決定するかは、「発明が解決しようとする課題」の欄で述べたように、速度演算を計算する時間間隔は短いほうが応答性能を高くでき、逆に長いほうが精度が良いことに鑑みて、エンコーダの種類やパルス数およびジッタの発生量などから経験的に設定するなどの方法が考えられる。
【００７３】
次に、上記のように構成された装置の動作を図３のタイムチャートとともに説明する。図３ではモータなどの回転機が正転方向に一定速度で回転している状態の例を示しており、（ａ）は波形整形回路５１からパルス位相アップダウンカウンタ５３に出力されるｕｐ信号であるＥｄｇ＿ｕｐを示している。
【００７４】
図３（ｂ）はパルス位相アップダウンカウンタ５３の位相カウンタ値、すなわちパルス位相値θｐｐと時間ｔの関係である時間位相特性を示し、図３（ｃ）はタイマ回路５４から出力される割込信号Ｓｍｐｌ（ｍ）を示し、図３（ｄ）はパルス位相バッファ６１の位相θ（ｍ）の最新データの更新状況を示し、図３（ｅ）はパルス時刻バッファ６２のパルス時刻ｔ（ｍ）の最新データの更新状況を示している。
【００７５】
図３（ｆ）は、特許文献１のように２個の連続するサンプル周期で読み出した位相と時刻の情報から速度を検出する従来方式による速度検出値を速度検出１’として示し、図３（ｇ）は、図１の実施例による速度検出値を速度検出１として示している。
【００７６】
図３において、Ｅｄｇ＿ｕｐのパルスがほぼ一定間隔で発生しており、位相カウンタ値θｐｐ（θ１，θ２，θ３，…）もパルス発生ごとにインクリメントしている。ここでは後述の説明のために、個々のＥｄｇ＿ｕｐパルスに識別用の番号を割り振ってある。このパルス発生時と同時に時刻データｔｐｐ（ｔ１，ｔ２，ｔ３，…）もパルス発生時刻計測回路５６（ＤＥＮ−ｆｆ）にラッチされている。
【００７７】
これに対して、割込信号Ｓｍｐｌ（ｍ１，ｍ２，ｍ３，…）が発生するタイミングでラッチ回路５８ｂ（Ｄｆｆ２）にθｐｐが、ラッチ回路５８ｃ（Ｄｆｆ３）にｔｐｐが各々ラッチされ、ＣＰＵはこのラッチデータを読み出して、ＦＩＦＯスタック動作をするバッファ（パルス位相バッファ６１、パルス時刻バッファ６２）に記憶する。図３では、バッファの最新データの更新状況をθ（ｍ）とｔ（ｍ）に示しており、もしサンプル割込信号（Ｓｍｐｌ）の周期間中に複数のパルスが発生した場合には、最後にラッチされた最新時刻のパルス情報が読み出される。
【００７８】
例えば図３（ｃ）のＳｍｐｌのｍ３とｍ４の間では、図３（ａ）に示すＥｄｇ＿ｕｐの３個のパルス７，８，９が発生しているため、最後にラッチされたパルス９のパルス情報が読み出され、図３（ｄ），（ｅ）のθ６→θ９、ｔ６→ｔ９へ更新される。
【００７９】
従来方式による速度検出１’では、２個の連続するサンプル周期で読み出した位相と時刻情報から速度演算を行っていた。図３（ｆ）ではそれを具体的にどの時刻のサンプル情報を使っていつ演算するかを明示している。
【００８０】
例えば、Ｓｍｐｌ（ｍ４）の時刻では、最新位相θ９と最新時刻ｔ９を読み出し、前回のバッファ値であるθ６とｔ６との差分より、速度検出ω１’（ｍ４）＝（θ９−θ６）／（ｔ９−ｔ６）を計算していた。これを図３（ｂ）の時間位相特性において図示すると、実線の矢印のようなパルス間で速度検出をしていることに相当している。
【００８１】
一方実施例１による速度検出１は、過去の情報を「複数サンプル前の情報」とすることにより、等価的に速度計測期間を長くするものであり、図３（ｇ）において、どの時刻のサンプル情報を使って、いつ演算するのかを明示している。
【００８２】
尚図３（ｇ）の例では、図１の速度差データ選択回路６３において設定される「複数サンプル周期前」を指定する選択信号Ｓｅｌの値を、「４サンプル周期前」に設定している。
【００８３】
例えばＳｍｐｌ（ｍ４）の時刻においては、最新情報θ９とｔ９に対して、前回値としてＳｍｐｌ（４−４）＝Ｓｍｐｌ（０）のサンプルタイミングで読み出した情報である位相θ０と時刻ｔ０が選択され、速度検出１を、ω１（ｍ４）＝（θ９−θ０）／（ｔ９−ｔ０）として計算する。
【００８４】
そして同様に、次のサンプルタイミングＳｍｐｌ（５）では最新情報θ１１、ｔ１１と、前回値としてＳｍｐｌ（５−４）＝Ｓｍｐｌ（１）のサンプルタイミングで読み出した情報であるθ１、ｔ１との差分より速度検出１が更新される。
【００８５】
これを図３（ｂ）の時間位相特性において図示すると、破線の矢印のようなパルス間で速度検出をしていることに相当している。
【００８６】
本実施例１によれば、サンプル周期（割込周期）自体を長い時間に変更する方式ではなく、一定のサンプル周期に設定しておき、過去の情報をスタックできるバッファとそれから任意のデータを選択できる機能を使うことにより、あたかもサンプル周期を長くしたような精度の速度検出が可能になる。
【００８７】
さらに、サンプル周期自体を長くしてしまうと、速度検出値の更新周期も同じように間延びしてしまい、速度検出波形が時間軸でも速度軸でも粗く変化するようになる。これに対して、実施例１の方式では、図３のように速度検出データはサンプル割込信号Ｓｍｐｌ（ｍ）の周期でデータを小刻みに更新するので、時間軸も速度軸も小刻みに変化するようになる。これは、データを更新する周期が長いことに起因するムダ時間成分を抑制できることを意味しており、その分だけ速度応答を改善できる効果もある。
【００８８】
さらに、Ｓｍｐｌ（ｍ）の周期は速度指令や速度制御演算の周期でもあるので、エンコーダの性能（パルス分解能やバラツキ）などにかかわらず、制御装置ではできるだけ短くかつ一定にしておきたい。その点でも、本発明方式ではサンプル周期を固定して、速度検出期間のみ任意に長くすることができるので、速度検出以外の制御系に対して影響を与えないという、装置全体の制御系から見た利点もある。
【実施例２】
【００８９】
実施例１では、固定割込周期であっても、速度検出期間を可変にできる構成を示した。これは、ＣＰＵ内部のメモリ機能などを有効利用すれば簡単に実現できる。さらに、速度演算回数を増やせば、異なる速度検出期間を有する複数の速度検出演算を実行することもできる。そこで、複数の速度検出を有効利用することが実施例２のポイントであり、これらを速度制御と組み合わせることにより機能改善を図っている。
【００９０】
図４に、速度検出１と速度検出２の２個の速度検出演算を実行する例を示す。図４において、図１と異なる部分を説明すると、選択信号設定部として、図１の速度差データ選択回路６３に代えて第１のサンプル周期前に取得され記憶されたパルス情報を選択するための第１の選択信号Ｓｅｌ１（前回１）と、第１のサンプル周期前よりも過去の第２のサンプル周期前に取得され記憶されたパルス情報を選択するための第２の選択信号Ｓｅｌ２（前回２）とを設定する速度差データ選択回路８３が設けられている。
【００９１】
また、第１の過去情報選択部として、第１の選択信号Ｓｅｌ１によりパルス位相バッファ６１内の第１のサンプル周期前のパルス位相情報を選択する前回値１選択用セレクタ６４−１と、パルス時刻バッファ６２内の第１のサンプル周期前のパルス時刻情報を選択する前回値１選択用セレクタ６５−１とが設けられている。
【００９２】
また、第２の過去情報選択部として、第２の選択信号Ｓｅｌ２によりパルス位相バッファ６１内の第２のサンプル周期前のパルス位相情報を選択する前回値２選択用セレクタ６４−２と、パルス時刻バッファ６２内の第２のサンプル周期前のパルス時刻情報を選択する前回値２選択用セレクタ６５−２とが設けられている。
【００９３】
また、第１の速度検出演算部として、パルス位相バッファ６１の最新パルス位相と前回値１選択用セレクタ６４−１によって選択された第１のサンプル周期前のパルス位相との差分を計算する減算器６６−１と、パルス時刻バッファ６２の最新パルス発生時刻と前回値１選択用セレクタ６５−１によって選択された第１のサンプル周期前のパルス発生時刻との差分を計算する減算器６７−１と、減算器６６−１の偏差出力である位相差分を、減算器６７−１の偏差出力である時間差分で除算して速度検出１（第１の速度検出値）を出力する除算器６８−１とが設けられている。
【００９４】
また、第２の速度検出演算部として、パルス位相バッファ６１の最新パルス位相と前回値２選択用セレクタ６４−２によって選択された第２のサンプル周期前のパルス位相との差分を計算する減算器６６−２と、パルス時刻バッファ６２の最新パルス発生時刻と前回値２選択用セレクタ６５−２によって選択された第２のサンプル周期前のパルス発生時刻との差分を計算する減算器６７−２と、減算器６６−２の偏差出力である位相差分を、減算器６７−２の偏差出力である時間差分で除算して速度検出２（第２の速度検出値）を出力する除算器６８−２とが設けられている。
【００９５】
その他の部分は図１と同一に構成されている。  
【００９６】
図４の構成において、速度検出演算までの各動作は図１と同様であり、異なる速度検出期間により演算した速度検出１と速度検出２を得ることができる。
【００９７】
このように、２種類の速度検出において異なる速度検出期間を設定しておき、それぞれの速度検出の長所を生かすことにより、発明が解決しようとする課題の欄で示した「速度検出周期が短いとジッタによる速度誤差が大きくなり、逆に長いとムダ時間が長くなって応答性能に制限が生じる」という課題を対策することができる。その対策を行った回転機の速度制御系の構成図が図５であり、本発明を一般的な比例積分（微分）制御（ＰＩ（Ｄ）制御）と呼ばれる速度制御方式に適用した例である。
【００９８】
図５では、ＣＰＵ演算部分を枠として表現して中央に配置してあり、この枠外の左側が図１や図４のディジタル検出回路に相当し、該ディジタル検出回路内のパルスエンコーダ５０以外の各回路を速度検出回路１００としている。
【００９９】
ＣＰＵ演算部分のＡＳＲ制御部（Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｄ  Ｒｅｇｕｌａｔｏｒ；自動速度制御部）２００は、次のように構成されている。
【０１００】
速度指令発生部２０１は、時間に応じて回転機の目標速度を速度指令として出力し、速度制御はこれに追従する動作を行う。
【０１０１】
速度検出演算部２１０は図４右側のＣＰＵ演算部分に相当し、速度検出１と速度検出２という、速度検出期間が異なる２種類の速度検出値を出力する。
【０１０２】
減算器２０２において速度指令と速度検出１の偏差がとられ、減算器２０３において速度指令と速度検出２の偏差がとられる。
【０１０３】
２０４は減算器２０２の偏差出力に対して比例（微分）制御を行う比例制御項としてのＰ（Ｄ）制御部であり、２０５は減算器２０３の偏差出力に対して積分制御を行う積分制御項としてのＩ制御部である。
【０１０４】
Ｐ（Ｄ）制御部２０４およびＩ制御部２０５の各出力を加算器２０６で加算したＰＩ制御出力は、回転機に発生させたいトルク指令に相当する。
【０１０５】
３００は、加算器２０６の出力であるトルク指令を回転機に流す電流指令に変換するトルク／電流指令変換部である。
【０１０６】
トルク／電流指令変換部３００の出力は減算器４００において電流検出値（実電流）との偏差がとられる。
【０１０７】
ＡＣＲ制御部５００は、減算器４００の偏差出力に対してＡＣＲ制御を行って出力電圧指令を出力するものであり、前記電流指令に実電流が追従するように電流制御（ＡＣＲ）する。
【０１０８】
上記の構成において、ＡＳＲ制御部２００内のＰＩ制御は、「Ｐ制御が高速な応答性能を実現し、Ｉ制御が定常誤差などをゆっくりと補正する」という２種類の機能を組み合わせた制御方式である。したがって速度指令との偏差をとる速度検出情報もこれに対応した機能を十分に発揮できる性質を有するものを使用すればよい。
【０１０９】
そこで本実施例では、図４の速度検出１を得るための第１の選択信号Ｓｅｌ１を、例えば２サンプル周期前のパルス情報を選択するための選択信号に設定し、速度検出２を得るための第２の選択信号Ｓｅｌ２を、例えば８サンプル周期前のパルス情報を選択するための選択信号に設定しておく。これによって、速度検出１は短い検出期間を有し、速度検出２は長い検出期間を有することになる。
【０１１０】
図５のＡＳＲ制御部２００における比例制御（Ｐ（Ｄ）制御部２０４）は応答性の性能に影響するので、速度検出１の検出期間が短い情報を使用してムダ時間を少なくし、比例項の制御ゲインをできるだけ高く設定して応答性能を高める。
【０１１１】
一方で、積分項の時定数は機械の慣性モーメントにより決まる値であり、通常は速度検出周期よりも長いことが多い。そこで、積分項（Ｉ制御部２０５）の速度検出には、ムダ時間の大きな信号を用いても悪影響は少ないことを利用して、速度検出２の計測時間が長い（ムダ時間は大きいが精度が良い）情報を使用する。
【０１１２】
このように、２種類の速度検出が有している特長が発揮できるように、制御項によって使用する速度情報を使い分けることにより、「速度制御精度と応答性能」とを両立する制御系を構築することができる。
【実施例３】
【０１１３】
実施例２の図４および図５では、２種類の速度検出を組み合わせたＰＩ制御方式を提示したが、速度指令については共通な最新の速度指令を使用している。しかし速度と時間の関係を示す図６のように、一定加速度で加速している場合を考えると、速度検出２のように速度検出時間を長く設定するとムダ時間も長くなってしまうため、変化している速度指令（実線）に対して速度検出（破線）の追従遅れが大きくなる。
【０１１４】
この追従遅れ成分はＩ制御（２０５）内に蓄積されてしまい、加速中に網塗り部分が積算されることになる。次に速度指令が一定速度に移行すると、積算した積分項を吐き出す必要があるために、一定な速度指令よりも斜線部のようにオーバーシュートする。実施例３では、この加減速後のオーバーシュートを抑制する対策を行う。具体的には、実施例２のようにＰＩ制御のうち積分（Ｉ）制御側の速度検出を速度検出２としておき、さらに積分制御の速度指令にも改善を加えるものである。
【０１１５】
速度指令の修正方法の構成例を図７に示す。図７において図４と異なる部分を説明すると、まず速度指令をディジタル回路内のフリップフロップ９０（ＤＥＮ−ｆｆ）に書き込み、フリップフロップ９０の出力にディジタル回路のクロック周期Ｔｃを乗算器９１で乗算する。
【０１１６】
乗算器９１の出力（位相成分）は、位相の前回値θｒｅｆ＿ｃｌｋ（位相指令積算器９３のＱ出力）と位相の増分（乗算器９１の出力）を加算する加算器９２と、Ｄ型フリップフロップで構成される位相指令積算器９３と、ＯＲ回路５２の出力をイネーブル信号とするフリップフロップ回路９４とから成る積分回路（速度指令／位相指令変換回路）に投入され、フリップフロップ回路９４のＱ出力には速度指令を時間積分した位相指令θｒｅｆが得られる。このため、前記積分回路は模擬的な回転位相指令発生器とみなすことができる。
【０１１７】
５８ｄは前記位相指令θｒｅｆをラッチするラッチ回路（Ｄｆｆ４）（位相指令読み出し用バッファ）であり、パルス位相アップダウンカウンタ５３の出力をラッチするラッチ回路５８ｂと同様に割込信号Ｓｍｐｌ（ｍ）をイネーブル信号としている。
【０１１８】
９５は、ラッチ回路５８ｄのＱ出力（位相指令）を読み出して多段にスタックする位相指令バッファ（Ｂｕｆｆ４）であり、速度検出側の例えばパルス位相バッファ６１と同様に最新情報記憶用バッファおよびｎ段（ｎは整数）の過去情報記憶用バッファとで構成されている。
【０１１９】
９６は、速度差データ選択回路８３から出力される第２の選択信号Ｓｅｌ２によって指定された段の、位相指令バッファ９５の過去情報記憶用バッファ内の第２のサンプル周期前の位相指令を選択する位相指令選択用セレクタ（第３の過去情報選択部）である。  
【０１２０】
尚、位相指令バッファ９５は例えば図２と同様の多段バッファで構成される。
【０１２１】
９７は、位相指令バッファ９５の最新情報記憶用バッファ内の最新位相指令と、前記位相指令選択用セレクタ９６によって選択された第２のサンプル周期前の位相指令との差分を計算する減算器である。
【０１２２】
９８は、減算器９７の出力である位相指令差分を、減算器６７−２の出力である時間差分で除算して平均化速度指令を出力する除算器である。
【０１２３】
尚、ラッチ回路５８ｄ、位相指令バッファ９５、位相指令選択用セレクタ９６、減算器９７および除算器９８によって、本発明の平均化速度指令演算部を構成している。  
【０１２４】
その他の部分は図４と同一に構成されている。
【０１２５】
図７のように構成された装置を、図５と同様の速度制御系に適用した構成例を図８に示す。図８のＡＳＲ制御部２００’内の２２０は図７の速度検出演算部および平均化速度指令演算部を表している。
【０１２６】
図８においてＩ制御部２０５は、減算器２１３の出力である平均化速度指令と速度検出２の偏差分に対して積分制御を行うものであり、その他の部分は図５と同様に構成されている。
【０１２７】
本実施例３では、実施例２に対して、さらに速度指令を積分演算することにより位相指令に変換し、これから元の速度情報に戻す際に、速度検出２と同期した時刻でラッチさせた位相指令バッファ９５の情報を使用して平均化速度指令を計算するようにしたので、速度と時間の関係を示す図９のように、細い実線の速度指令が加速中においても、太い実線の平均化速度指令が破線の速度検出２の時間遅れとほぼ同じ程度の遅れ時間を有するようになる。
【０１２８】
その結果、積分（Ｉ）制御を、この平均化速度指令と速度検出２との差分で演算するように変更することにより、加速中において検出時間遅れ成分がＩ制御部２０５の積分器に積算される量が抑制され、一定速度に移行した際のオーバーシュート量を抑制することができる。この、平均化速度指令に遅延を挿入するのは、実施例２と同様に、「積分項の時定数は機械の慣性モーメントにより決まる値であり、通常は速度検出周期よりも長いことが多い」ことを利用するものである。
【０１２９】
ジッタを含むパルスエンコーダでは、検出速度にオフセット誤差が生じるのを抑制するために、例えば実施例２のように積分制御に使用する速度検出の検出期間を長くすると、増加した時間遅れ成分により加減速状態にて積分項に蓄積される値が大きくなり、一定速度に移行した際のオーバーシュートが大きくなる。これに対し実施例３では速度検出とほぼ同等な遅れ時間を有する速度指令、すなわち「平均化速度指令」を生成し、速度検出との差分をとるようにしたので、図９で述べたように加減速後の速度のオーバーシュート量を小さくすることができる。すなわち、速度制御の精度が向上される。
【符号の説明】
【０１３０】
５０…パルスエンコーダ
５１…波形整形回路
５２…ＯＲ回路
５３…パルス位相アップダウンカウンタ
５４…タイマ回路
５５…Ｄ型フリップフロップ
５６…パルス発生時刻計測回路
５７，９４…フリップフロップ回路
５８…読み出し用バッファ
５８ａ〜５８ｄ，７２−０〜７２−５…ラッチ回路
６１…パルス位相バッファ
６２…パルス時刻バッファ
６３，８３…速度差データ選択回路
６４，６５，７３…前回値選択用セレクタ
６４−１，６５−１…前回値１選択用セレクタ
６４−２，６５−２…前回値２選択用セレクタ
６６，６６−1，６６−２，６７，６７−１，６７−２，９７，２０２，２０３，２１３，４００…減算器
７１…ＡＮＤ回路
６８，６８−１，６８−２，９８…除算器
９１…乗算器
９３…位相指令積算器
９５…位相指令バッファ
１００…速度検出回路
２００，２００’…ＡＳＲ制御部
２０１…速度指令発生部
２０４…Ｐ（Ｄ）制御部
２０５…Ｉ制御部
３００…トルク／電流指令変換部
５００…ＡＣＲ制御部
【図１】
2018025391.tif 000003
【図２】
2018025391.tif 000004
【図３】
2018025391.tif 000005
【図４】
2018025391.tif 000006
【図５】
2018025391.tif 000007
【図６】
2018025391.tif 000008
【図７】
2018025391.tif 000009
【図８】
2018025391.tif 000010
【図９】
2018025391.tif 000011
【図１０】
2018025391.tif 000012
【図１１】
2018025391.tif 000013