(57)【要約】【課題】回転速度検出装置において、経過時間が長くなった場合に零への減衰率が小さくなることを防止し、零速付近での回転速度推定の精度の向上を図る。【解決手段】４カウントの位相差の差分を使用する方式や、１カウントの位相差の差分を使用する方式のうち、どちらかの方式を選択してしまうのではなく、これらを時間経過に応じて使いわける。さらに、４カウントか１カウントのどちらかの位相差だけを使用するのではなく、３カウントや２カウントという中間のパルス数も有効に利用する。【選択図】図１
2018100832.tif 000002
【特許請求の範囲】
【請求項１】
回転角度検出センサから出力された９０°位相差の２相信号に基づいて、トリガ信号および正転／逆転信号を出力するエッジ検出回路と、
前記トリガ信号の論理和と正転／逆転信号に基づいて、アップ／ダウンカウントを行って位相を検出し、エッジ位相を出力する位相カウンタと、
基準クロックをカウントしてエッジ時刻を出力する時刻／割込用カウンタと、
前記エッジ時刻に基づいて最新エッジを選択する最新エッジ選択部と、
前記最新エッジのエッジ位相とこれと同一種類の前回エッジ位相との偏差を、前記最新エッジのエッジ時刻とこれと同一種類の前回エッジ時刻の偏差で徐してパルス周波数を出力する第１除算器と、
割込時間から前記エッジ時刻を減算して経過時間として出力する減算器と、
前記経過時間に基づいて、エッジ時刻選択信号と仮想パルス数選択信号を出力する制限速度用エッジ選択部と、
前記仮想パルス数選択信号に基づいて選択したカウント数を、前記エッジ時刻選択信号に基づいて前記経過時間の中から選択したパルス休止期間で除した制限速度を出力する第２除算器と、
前記パルス休止期間が零速判定時間以上か否かを判定する零速判定部と、
を備え、
エッジ検出があれば前記パルス周波数を出力し、
エッジ検出が無く、前記パルス休止期間が零速判定時間よりも小さければ前記パルス周波数を前記制限速度で制限した値を出力し、
エッジ検出が無く、前記パルス休止期間が零速判定時間以上であれば、０を出力することを特徴とする速度検出装置。
【請求項２】
前記制限速度用エッジ選択部は、
前記経過時間のうち最大時間のものが予め設定した時間よりも小さければカウント数＝４を選定して前記パルス休止期間を前記経過時間のうち最大時間のものとし、
前記経過時間のうち２番目に長い時間が予め設定した時間よりも小さければカウント数＝３を選定して前記パルス休止期間を前記経過時間のうち２番目に長い時間とし、
前記経過時間のうち３番目に長い時間が予め設定した時間よりも小さければカウント数＝２を選定して前記パルス休止期間を前記経過時間のうち３番目に長い時間とし、
前記経過時間のうち４番目に長い時間が零速判定時間よりも小さければカウント数＝１を選定して前記パルス休止期間を前記経過時間のうち４番目に長い時間とし、
前記経過時間のうち４番目に長い時間が零速判定時間よりも大きければ、零速とすることを特徴とする請求項１記載の速度検出装置。
【請求項３】
前記制限速度用エッジ選択部は、
前記経過時間のうち最大時間のものが予め設定した時間よりも小さければカウント数＝４を選定して前記パルス休止期間を前記経過時間のうち最大時間のものとし、
前記経過時間のうち４番目に長い時間が零速判定時間よりも小さければカウント数＝１を選定して前記パルス休止期間を前記経過時間のうち４番目に長い時間とし、
前記経過時間のうち４番目に長い時間が零速判定時間よりも大きければ零速とすることを特徴とする請求項１記載の速度検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変速のモータ等における回転速度を検出する速度検出装置およびその速度検出方法に関する。
【背景技術】
【０００２】
対象とする回転位置センサは９０度位相差をもつ２相パルスエンコーダであり、パルス数とそのパルスが発生した時間間隔を計測して速度を検出する方式を想定している。
【０００３】
一般的に、パルス数の計測や発生時刻のラッチなどはディジタル回路で行われている。ディジタル演算器（ＣＰＵ）により速度検出演算を実行する割込処理を行い、この計測したパルス数や発生時刻を読み出して速度を演算する方式を用いている。実現方法は種々存在するが、一般的な方法で説明する。
【０００４】
エンコーダの出力パルス周波数は速度に比例しており、低速になるとパルス周期が割込間隔よりも長くなり、パルスが発生しないため計測情報が無い割込処理状態になる。これをパルス休止期間と呼ぶことにする。本願発明は、このような低速域におけるパルス休止期間において、速度検出が出来ない場合の速度推定方法について改善方法を提案するものである。
【０００５】
先行文献としては、特許文献１がある。この原理については、非特許文献１の２章に記載されている。
【０００６】
また、パルス休止期間の速度推定（最大速度の制限値）に関しては、非特許文献１に「タウマチック方式」として原理が説明されている。
【０００７】
まず、先行技術の内容について説明する。
【０００８】
（１）パルスエンコーダの原理
図４はパルスエンコーダの原理図であり、回転スリットの構造とセンサの位置関係を定義したものである。
【０００９】
（ａ）回転円板１７にはＮｐｐ個のスリットがあり、各スリットをＳ０，Ｓ１，…，Ｓ（Ｎｐｐ−１）とする。この各スリットＳ０，Ｓ１，…，Ｓ（Ｎｐｐ−１）には２か所のエッジがあり、スリットＳ０の場合には各エッジをｐ（０），ｑ（０）とする。また、このスリットを矢印の方向に移動させる場合を正転と定義する。
【００１０】
（ｂ）固定側には２個の回転角度検出センサＡ，Ｂが組み込まれており、回転円板１７を正転方向に回転させると、スリットＳ０，Ｓ１，Ｓ２通過時に回転角度検出センサＡ，Ｂから２つのパルス波形が出力される。
【００１１】
（ｃ）スリットの幅をスリットピッチに対して１／２とし、回転角度検出センサＡ，Ｂの取り付け位置をスリットピッチの１／４だけずらして配置すれば、回転角度検出センサＡ，Ｂの出力信号（以下、Ａ相信号とＢ相信号と称する）の２相信号には、１８０°方形波でかつ位相が９０°だけずれた波形が出力される。
【００１２】
（ｄ）Ｚ相に関しては、回転円板１７にスリットＳＺを一個だけ追加し、固定側には検出センサＺを追加する。これにより、１回転に１パルスの信号を出力する。この検出センサＺの出力信号（以下、Ｚ相信号と称する）は本願発明と無関係であるが、これを説明用の位相原点として利用する。
【００１３】
上記のエンコーダを正転方向、かつ、一定速度で回転している場合には、図５のようなＡ相信号，Ｂ相信号，Ｚ相信号の波形例となる。Ａ相信号とＢ相信号のパルス信号は、スリットＳ０，Ｓ１，…，Ｓｎ，…（ｎ：０〜Ｎｐｐ１の整数値）に対応し、立ち上がりや立下りのエッジはｐ（ｎ），ｑ（ｎ）のスリットエッジに対応している。
【００１４】
したがって、パルス波形よりスリットのエッジ位相を検出することができる。
【００１５】
表１は４種類のＡ相信号，Ｂ相信号のエッジと２種類の回転方向（正転・逆転）の組み合わせを示したものである。トリガ信号Ｅ０〜Ｅ３は、表１の横方向の論理和、つまり、各エッジの正転方向と逆転方向の論理和を取ったものとし、正転方向に回転（Ｆｏｒ）と逆転方向に回転（Ｒｅｖ）は表１の縦方向の論理和をとったものとする。そして、４種類のエッジ信号と正転・逆転判定より、カウンタを増減させて位相を計測する。
【００１６】
特許文献１および本願発明の特徴は、この４種類のエッジについて、個別の発生時刻とカウンタ値を計測することであり、これにより後述する波形の発生誤差の対策を行うことができる。
【００１７】
【表１】
2018100832.tif 000003
【００１８】
（２）速度検出の原理
図６は、このようなパルスエンコーダの信号から、ディジタル回路やＣＰＵなどを使って速度を検出する従来の構成例である。これは、ディジタル計測回路とその他の割込処理の２種類に大別できる。
【００１９】
（２−１）ディジタル計測回路１
エンコーダパルスの発生時刻を正確に計測する必要があるため、このディジタル計測回路１は高速な基準クロックによって動作するディジタル回路で構成する。さらに、このディジタル計測回路１は次のような構成となっている。
【００２０】
（ａ）エッジ検出回路２
回転角度検出センサＡ，Ｂの出力信号から、表１により回転位相に応じた４種類のトリガ信号Ｅ０〜Ｅ３を出力する。
【００２１】
また、表１の回転方向は正転／逆転信号として出力する。これを位相カウンタ部３のＤｏｗｎ／Ｕｐ制御に使用する。正転／逆転信号は、正転の場合Ｄｏｗｎ／Ｕｐ制御ではＬ、逆転の場合Ｄｏｗｎ／Ｕｐ制御ではＨとなる。
【００２２】
（ｂ）位相カウンタ部３
この位相カウンタ部３は、ＯＲ回路８において各トリガ信号Ｅ０〜Ｅ３の論理和を取ったものをイネーブル信号４Ｆとして入力する。また、位相カウンタ部３は、正転／逆転信号をＤｏｗｎ／Ｕｐ制御のために入力する。位相カウンタ部３は、このイネーブル信号４Ｆが有効で、かつ、Ｄｏｗｎ／Ｕｐ＝Ｌであればカウントアップする。また、イネーブル信号４Ｆが有効で、かつ、Ｄｏｗｎ／Ｕｐ＝Ｈの時はカウントダウンの動作を行う。これにより位相カウンタ値Ｃは、回転円板１７がスリットの１ピッチ相当だけ回転すると４カウントする。
【００２３】
そして、スリットＳ０，Ｓ１，…，Ｓｎのように正転方向にスリットが移動すると、上位のカウンタ値が増加方向に変化する。
【００２４】
（ｃ）基準時刻発生／割込用カウンタ４
４種類のトリガ信号Ｅ０〜Ｅ３が発生した時刻を計測するために基準クロックをカウントアップして基準時刻を示すタイマ値Ｔとする。また、この基準クロックを分周し、ＣＰＵの速度検出演算用の割込信号Ｉｎｔｒを出力する。
【００２５】
（ｄ）位相ラッチ／時刻ラッチＬＥ１０〜Ｅ１３，ＬＥ２０〜ＬＥ２３，ＳＲ−ＦＦ
４種類のトリガ信号Ｅ０〜Ｅ３が発生した時刻において、タイマ値Ｔをラッチすることにより発生時刻を計測する。本願発明では、４種類のトリガ信号Ｅ０〜Ｅ３に対応して、下記のラッチ回路を構成している。
・ラッチＬＥ１０〜ＬＥ１３：トリガ信号Ｅ０〜Ｅ３発生時に、位相カウンタ値Ｃをラッチ（計測）する
・ラッチＬＥ２０〜ＬＥ２３：ラッチＬＥ１０〜ＬＥ１３と連動し、タイマ値Ｔをラッチ（計測）する。
・エッジ有無検出フラグ用ＳＲ−ＦＦ５：トリガ信号Ｅ０〜Ｅ３をセット信号とし、割込信号Ｉｎｔｒを共通なリセットとするＳＲフリップフロップ回路であり、このＳＲ−ＦＦ５の出力信号ｅｓ０〜ｅｓ３により割込周期間におけるエッジ発生有無を判断する。
【００２６】
（ｅ）レジスタＲ１０〜Ｒ１３，Ｒ２０〜Ｒ２３，Ｒ５０〜Ｒ５３，Ｒ６０
上記のディジタル回路の計測値をＣＰＵで読み出すデータ群はデータ間の同時性を確保する必要がある。そのため、前記のラッチＬＥ１０〜ＬＥ１３，ＬＥ２０〜ＬＥ２３，ＳＲ−ＦＦの出力を、割込信号Ｉｎｔｒ発生時に、同時に、２段目のレジスタＲ１０〜Ｒ１３，Ｒ２０〜Ｒ２３，Ｒ５０〜Ｒ５３，Ｒ６０群に保持させる。ＣＰＵからはこの割込周期間は変化しない次段のラッチから読み出す。ＣＰＵからアクセスする２段目のラッチをレジスタと呼び、このレジスタには下記のものがある。また、図６では、このレジスタからの読み出し動作をＲの記号を付けたスイッチとして模擬している。
・レジスタＲ１０〜Ｒ１３：ラッチＬＥ１０〜ＬＥ１３の位相データをラッチするレジスタ
・レジスタＲ２０〜Ｒ２３：ラッチＬＥ２０〜ＬＥ２３の時刻データをラッチするレジスタ
・レジスタＲ５０〜Ｒ５３：ＳＲ−ＦＦ５の出力データをラッチするレジスタ
・レジスタＲ６０：割込信号Ｉｎｔｒ発生時の時刻Ｔの値をラッチするレジスタ，割込時刻を計測する。
【００２７】
（２−２）ＣＰＵの割り込み処理
ＣＰＵは割込信号Ｉｎｔｒにより起動される割込処理で、上記のレジスタ値を読み出して速度演算処理を行う。ＯＲ回路６では、ＳＲ−ＦＦ５（レジスタＲ５０〜Ｒ５３）の出力信号ｅ０〜ｅ３を入力し、その論理和をエッジ発生・休止期間を区別する速度検出有効信号ＳｅｌＥｎとして出力する。
【００２８】
また、比較器Ｃｏｍｐ６０によりパルス休止期間ΔＴτが設定した零速判定時間ＴLIM4より長くなると速度が零であると判断して零速判定信号ＳｅｌＺｅｒｏを出力する。この速度検出有効信号ＳｅｌＥｎと零速判定信号ＳｅｌＺｅｒｏにより、速度演算処理には次のような３種類の異なる動作を実行する。
【００２９】
（ア）スイッチＳＷＥｎ＝「速度検出有効信号（エッジ有り）」→速度検出演算
保存しておいた過去の位相情報・時刻情報と最新の読出値より速度を計算する。
【００３０】
（イ）スイッチＳＷＥｎ＝「速度検出有効信号（エッジ無）」，零速判定信号ＳＷＺｅｒｏ≠「零速」→タウマチック処理
これは、直前のパルスが休止しており、まだ零速判定に至っていない状態である。基本的には前回の速度検出値を保持するが、非特許文献１の「タウマチック処理」と呼ばれる処理を行って、割込直後にパルスが発生すると仮定した場合の制限速度Ｆτを計算し、これにより保持している検出速度を修正する。
【００３１】
本願発明は、このタウマチック処理の部分に新たな機能を追加するものであり、それ以外の速度検出や零速判定処理は従来のままである。すでに、特許文献１に記述されているので本願明細書での詳細な説明は省略する。
【００３２】
（ウ）スイッチＳＷＥｎ＝「速度検出有効信号（エッジ無）」，ＳＷＺｅｒｏ＝「零速」→零速設定
パルス休止期間ΔＴτが予め設定した零速判定時間ＴLIM4を経過した状態であり、強制的に速度検出を零にする。
【００３３】
まず、従来の速度演算方式の原理を簡単に説明しておく。
【００３４】
ここでは、４種類の位相レジスタＲ１０〜Ｒ１３の読出値をエッジ位相Ｃ０〜Ｃ３とする。この値は差分を取るために前回エッジ位相Ｃ０ｚ〜Ｃ３ｚとして保存しておく必要があるので、イネーブル付きのラッチＬＥ３０〜ＬＥ３３とレジスタＲ３０〜Ｒ３３とのダブルラッチ構成で表している。
【００３５】
具体的なＣＰＵの動作としてトリガ信号Ｅ０における例を説明すると、レジスタＲ５０の読出値により直前の割込期間におけるトリガ信号Ｅ０の発生有無を判別し、「トリガ（エッジ）有り」の場合のみレジスタＲ１０の値を読み出してエッジ位相Ｃ０をメモリに格納する。
【００３６】
また、この格納動作と同時にＬＥ３０，Ｒ３０から更新前の位相検出データ（エッジ位相）を前回エッジ位相Ｃ０ｚとしてメモリに転送する。これにより、割込時刻の直前のエッジ位相Ｃ０がメモリに格納され、差分を取るための前回の割り込み以前のエッジ位相Ｃ０ｚがメモリに格納される。
【００３７】
したがって、エッジ位相Ｃ０と前回エッジ位相Ｃ０ｚには、割込周期程度およびそれ以上の時間差における位相差が現れる。残りのトリガ信号Ｅ１〜Ｅ３までの３種類のエッジ位相Ｃ１〜Ｃ３についても、同様に前回エッジ位相Ｃ１ｚ〜Ｃ３ｚを保持する。
【００３８】
位相読み出しと同様に、４種類のトリガ信号Ｅ０〜Ｅ３に応じて、時刻についてもレジスタＲ５０〜Ｒ５３のエッジの有無情報によりエッジ時刻Ｔ０〜Ｔ３のエッジ発生時刻を読み出す。さらに、同様に、ラッチＬＥ４０〜ＬＥ４３とレジスタＲ４０〜Ｒ４３のダブルラッチ構成で示した部分にて、前回の割り込み以前のエッジ時刻Ｔ０ｚ〜Ｔ３ｚを保存する。
【００３９】
また、このダブルラッチで表した機能は、図６のようなハードウェアのラッチ回路でもＣＰＵのソフトウェア（メモリと組み合わせ）でも、どちらでも実現することもできる。
【００４０】
以上の計測および読出値から、下記のような速度検出演算やタウマチック処理などを行う。
【００４１】
（ア）速度検出演算
特許文献１の速度検出演算の特徴は、４種類のエッジ検出情報から精度のよい同一エッジを選択して演算することにある。そのため、エッジ時刻Ｔ０〜Ｔ３から割込時刻に最も近い最新のエッジを最新エッジ選択部７で判定し、最新エッジ選択信号ＳｅｌＥｄｇｅとして出力する。
【００４２】
この最新エッジ選択信号ＳｅｌＥｄｇｅによりスイッチＳＷＣ１０では４種類のエッジに関するエッジ位相Ｃ０〜Ｃ３の中から最新エッジのエッジ位相を選択し、スイッチＳＷＣ２０では前回エッジ位相Ｃ０ｚ〜Ｃ３ｚの中から、これと同一種類の位相を選択する。
【００４３】
同様に、計測時刻についても、スイッチＳＷＴ１０ではエッジ時刻Ｔ０〜Ｔ３の中から最新エッジのエッジ時刻を選択し、スイッチＳＷＴ２０では前回エッジ時刻Ｔ０ｚ〜Ｔ３ｚの中から同一エッジの前回エッジ時刻をそれぞれ選択する。
【００４４】
そして、差分器９により最新エッジのエッジ位相とこれと同一種類の前回エッジ位相の位相差を算出し、差分器１０により最新エッジのエッジ時刻とこれと同一種類の前回エッジ時刻の時間差を算出する。除算器Ｄｉｖ１により、前記位相差を前記時間差で除することにより回転速度（パルス周波数Ｆｓ）に変換する。
【００４５】
そして、直前の割込期間に少なくとも一種類のエッジが発生している場合には、ＳＲ−ＦＦ５の出力信号ｅ０〜ｅ３の論理和である速度検出有効信号ＳｅｌＥｎがイネーブル（「エッジ有」）となり、後段のスイッチＳＷＥｎにて除算器Ｄｉｖ１の出力が最終の速度検出出力Ｆｄｅｔとして選択される。これが、特許文献１で示された速度検出法の要点である。
【００４６】
（イ）タウマチック処理
もし、直前の割込期間にどのエッジも発生しなければ速度検出有効信号ＳｅｌＥｎがディスエーブル（「エッジ無」）となり、その場合には、スイッチＳＷＥｎが切り替わり、このタウマチック処理か零速設定のどちらかが行われる。
【００４７】
パルスエッジの休止期間には速度検出ができないが、もし割込信号Ｉｎｔｒの発生時刻に次のパルスが発生したと仮定して推定速度を計算すると、現在の速度はこれ以下であるはずである。もし、実速度がその推定速度以上であれば既にパルスが発生しているはずであり、それ以上の速度であることはあり得ない。
【００４８】
したがって、過去の速度検出結果の保持値をこの推定速度以下に制限すれば、保持速度がより正確になるように補正・修正することができる。そこで、仮想パルスにより推定した速度を以降では制限速度Ｆτと呼ぶことにする。
【００４９】
この機能を図６では次のように表した。まず、減算器１４ａ〜１４ｄにより、レジスタＲ６０でラッチした現在の割込時刻ｔｓとエッジ時刻Ｔ０〜Ｔ３との差分（経過時間）をとる。最古エッジ選択部１１にて、４種類の経過時間（ｔｓ−Ｔ０，ｔｓ−Ｔ１，ｔｓ−Ｔ２，ｔｓ−Ｔ３）のうちから最古エッジ選択信号ＳｅｌτＴａを出力する。スイッチＳＷＴ６０により最古エッジ選択信号ＳｅｌτＴａに基づいて、経過時間ｔｓ−Ｔ０，ｔｓ−Ｔ１，ｔｓ−Ｔ２，ｔｓ−Ｔ３の中から最古の時刻を選出し、制限速度計測時間（パルス休止期間）ΔＴτとして出力する。
【００５０】
位相差の方は、最新エッジに対して次のエッジ種類が発生するものと仮定して、スリット１周期相当の４カウントとする。そして、除算器Ｄｉｖ２により４カウントからパルス休止期間ΔＴτを除して制限速度Ｆτを演算する。
【００５１】
ここで、正転と逆転に応じて位相差の４カウントの符号を切り替えるべきだが、ここでは制限速度という特性を利用して、正の４パルスを使用して正の制限速度を計算しておき、この正の値を負値にした制限速度の間に制限するリミッタ処理Ｌｉｍ１０で制限したＦｌｉｍを出力する回路に置き換えてある。これは、もし正負の符号に誤りが存在しても、確実に制限を加えられるように工夫したものである。
【００５２】
（ウ）零速設定
もし、前述のパルス休止期間ΔＴτが零速判定時間ＴLIM4よりも長くなった場合には、比較器Ｃｏｍｐ６０から零速選択信号ＳｅｌＺｅｒｏを出力して、スイッチＳＷＺｅｒｏにより出力値を強制的に零に切りかえる。
【００５３】
以上が、従来方式の概要である。
【先行技術文献】
【特許文献】
【００５４】
【特許文献１】特開平６−１１８０９０号公報
【非特許文献】
【００５５】
【非特許文献１】山本  康弘，吉田  康宏，山田  哲夫，市岡  忠士，「オーバーラップ速度検出方式の提案と速度オブザーバの特性改善」，電気学会，論文誌Ｄ、Ｖｏｌ．１１５，１１号，ｐｐ１３１６−１３２４
【非特許文献２】センサ・インターフェーシングｎｏ．２メカトロニクス・センサ活用編，ｐｐ１３１−１４２，ＣＱ出版（１９８３／０４），ISBN-10:4789835723
【発明の概要】
【発明が解決しようとする課題】
【００５６】
図６のような構成の従来方式の問題点を、図７に示すタイムチャートの例を用いて説明する。
【００５７】
図７は、回転速度が低下して零速度になる減速停止時であり、低速になって割込信号（サンプル信号）Ｉｎｔｒの周期間に、パルスエッジが発生しない休止期間が生じ始めている例である。
【００５８】
図７では、上段からＡ相信号，Ｂ相信号，発生したエッジの種類を示す番号，位相カウンタ値Ｃ，割込信号Ｉｎｔｒ（速度検出タイミングに相当），そして最下段に速度検出と制限速度を示してある。
【００５９】
各記号にはパルスエッジを区別するためａ，ｂ，ｃの添え字を付け、パルスエッジが発生したときの位相カウンタ値Ｃと時刻Ｔの組み合わせを（Ｃａ，Ｔａ），（Ｃｂ，Ｔｂ），…として表している。
【００６０】
エッジ発生直後の速度検出タイミング（割込信号Ｉｎｔｒ発生時刻：以下、割込時刻と称する）は、ｔｓ（ａ），ｔｓ（ｂ），…とした。速度検出タイミングのうち、パルスエッジが休止してタウマチック処理を適用する場合には、ｘ、ｙ、ｚの添え字を付けた。
【００６１】
パルス周波数Ｆｓは以下の式となる。
【００６２】
【数１】
2018100832.tif 000004
【００６３】
ここで、ｍ，ｎ，ｉは整数であり、（４ｍ＋ｉ）と（４ｎ−ｉ）は図中のａ，ｂ，ｃに相当した選択番号のことである。また、θは位相角の一般形であり、図７では、整数である位相カウンタＣａ，Ｃｂに相当する。数１ではこれらの差が４の整数倍の関係にあることを明示したいため、このような表記にしたが、以降では具体的なａ，ｂ，ｃ，…の記号を付して説明する。
【００６４】
まず、図７の（ア）に示すように、ａのエッジとｅエッジの情報から、１スリット周期に相当する４カウント差の位相差と時間差を計算し、Ｆｓ（ａ，ｅ）＝（Ｃｅ−Ｃａ）／（Ｔｅ−Ｔａ）として割込時刻ｔｓ（ａ）の割込処理にて速度検出の演算を行う。図７では、このｅエッジが最後のパルスであり、以降は回転が停止してパルスが発生しなくなる例として示してある。
【００６５】
以降の割込処理ではパルスが休止状態と判断してタウマチック処理を行うが、図７の（イ）に示すように割込時刻ｔｓ（ｘ）場合には精度を優先して４パルス幅を使用したいので、４種類の前回エッジ時刻Ｔ０ｚ〜Ｔ３ｚから最古のエッジであるｂエッジを選択し、これに対して４カウント加算したパルスつまりＣｅ＋1のパルスが割込時刻ｔｓ（ｘ）に発生すると仮定して制限速度Ｆτ（ｔｓ（ｘ））を計算する。
【００６６】
Ｆτ（ｔｓ（ｘ））＝（Ｃｅ＋１−Ｃｂ）／（ｔｓ（ｘ）−Ｔｂ）＝４／（ｔｓ（ｘ）−Ｔｂ）
同様に割込時刻ｔｓ（ｙ）や割込時刻ｔｓ（ｚ）の割込処理では、仮想する位相差は４のままで、時間差だけが（ｔｓ（ｙ）−Ｔｂ）と（ｔｓ（ｚ）−Ｔｂ）のように増加するため、制限速度Ｆτ（ｔｓ（ｙ）），Ｆτ（ｔｓ（ｚｙ））は時間の経過によって減少していく。つまり、この減衰特性は最古のパルス発生時刻Ｔｂに対して制限速度Ｆτ４（Ｔｂ，ｔ）のように双曲線関数となる。そして、パルス周波数Ｆｓ（ａ，ｅ）は、この制限速度Ｆτ４（Ｔｂ，ｔ）以下に制限される。
【００６７】
しかし、このＦτ４（Ｔｂ，τ）の双曲線は最初のうちは急激に減衰するものの、検出速度に近づいて制限動作するころの減衰率は小さくなっており、なかなか零に漸近しない。これは、精度を重視して、４［ｃｏｕｎｔ］を位相差に設定したことが要因となっている。
【００６８】
もし、４種類の前回エッジ時刻Ｔ０ｚ〜Ｔ３ｚから最新エッジ（Ｃｅ，Ｔｅ）を過去のエッジとして選択し、位相差を１［ｃｏｕｎｔ］として制限速度を計算したとすると、制限速度Ｆτ１（Ｔｅ，ｔ）の双曲線になる。こちらは、制限速度Ｆτ４（Ｔｂ，ｔ）よりも早く零に近づいており、こちらを使った方がより速く零速に減衰させることができる。
【００６９】
しかし、この方式は、パルスの９０°位相差を利用する方式であるため、現在の技術で述べたようにエッジの発生バラツキによる誤差が大きいという問題も有している。
【００７０】
なお、図８は、エッジの発生バラツキによる誤差を説明する図である。Ａ相パルスの立ち上がりエッジからＢ相パルスの立ち上がりエッジまでの期間に、Ｘ１ｍｉｎ〜Ｘ１ｍａｘのバラツキによる誤差が発生することがわかる。Ａ相とＢ相の位相差は、図４のセンサの取り付け位置の誤差によるものであり、各相のＨ／Ｌの比率差はセンサの感度によるものであるので、どちらもバラツキが大きい。これに対して、１周期（Ｔ＝１）はスリットの加工精度による誤差が生じるが、前述の２つのバラツキ成分よりも相対的に誤差が小さい。
【００７１】
このように、タウマチック方式による制限速度を計算する場合に、精度を重視して４カウント（スリット一周期）の差分を使用する場合は零に漸近するのに時間を要し、応答を重視して１カウント（最小分解能）の差分を選定する場合にはエッジの発生バラツキによる誤差の影響を受ける。
【００７２】
以上示したようなことから、速度検出装置において、経過時間が長くなると零への減衰率が小さくなることを防止し、零速付近での回転速度推定の精度の向上を図ることが課題となる。
【課題を解決するための手段】
【００７３】
本発明は、前記従来の問題に鑑み、案出されたもので、その一態様は、回転角度検出センサから出力された９０°位相差の２相信号に基づいて、トリガ信号および正転／逆転信号を出力するエッジ検出回路と、前記トリガ信号の論理和と正転／逆転信号に基づいて、アップ／ダウンカウントを行って位相を検出し、エッジ位相を出力する位相カウンタと、基準クロックをカウントしてエッジ時刻を出力する時刻／割込用カウンタと、前記エッジ時刻に基づいて最新エッジを選択する最新エッジ選択部と、前記最新エッジのエッジ位相とこれと同一種類の前回エッジ位相との偏差を、前記最新エッジのエッジ時刻とこれと同一種類の前回エッジ時刻の偏差で徐してパルス周波数を出力する第１除算器と、割込時間から前記エッジ時刻を減算して経過時間として出力する減算器と、前記経過時間に基づいて、エッジ時刻選択信号と仮想パルス数選択信号を出力する制限速度用エッジ選択部と、前記仮想パルス数選択信号に基づいて選択したカウント数を、前記エッジ時刻選択信号に基づいて前記経過時間の中から選択したパルス休止期間で除した制限速度を出力する第２除算器と、前記パルス休止期間が零速判定時間以上か否かを判定する零速判定部と、を備え、エッジ検出があれば前記パルス周波数を出力し、エッジ検出が無く、前記パルス休止期間が零速判定時間よりも小さければ前記パルス周波数を前記制限速度で制限した値を出力し、エッジ検出が無く、前記パルス休止期間が零速判定時間以上であれば、０を出力することを特徴とする。
【００７４】
また、その一態様として、前記制限速度用エッジ選択部は、前記経過時間のうち最大時間のものが予め設定した時間よりも小さければカウント数＝４を選定して前記パルス休止期間を前記経過時間のうち最大時間のものとし、前記経過時間のうち２番目に長い時間が予め設定した時間よりも小さければカウント数＝３を選定して前記パルス休止期間を前記経過時間のうち２番目に長い時間とし、前記経過時間のうち３番目に長い時間が予め設定した時間よりも小さければカウント数＝２を選定して前記パルス休止期間を前記経過時間のうち３番目に長い時間とし、前記経過時間のうち４番目に長い時間が零速判定時間よりも小さければカウント数＝１を選定して前記パルス休止期間を前記経過時間のうち４番目に長い時間とし、前記経過時間のうち４番目に長い時間が零速判定時間よりも大きければ、零速とすることを特徴とする。
【００７５】
また、他の態様として前記制限速度用エッジ選択部は、前記経過時間のうち最大時間のものが予め設定した時間よりも小さければカウント数＝４を選定して前記パルス休止期間を前記経過時間のうち最大時間のものとし、前記経過時間のうち４番目に長い時間が零速判定時間よりも小さければカウント数＝１を選定して前記パルス休止期間を前記経過時間のうち４番目に長い時間とし、前記経過時間のうち４番目に長い時間が零速判定時間よりも大きければ零速とすることを特徴とする。
【発明の効果】
【００７６】
本発明によれば、速度検出装置において、パルス休止期間であっても、休止期間の長さに応じて検出速度をすみやかに零に収束させることができ、零速付近での回転速度推定の精度の向上を図ることが可能となる。
【図面の簡単な説明】
【００７７】
【図１】実施形態における速度検出方式を示すブロック図。
【図２】制限速度用エッジ選択を示すタイムチャート。
【図３】実施形態における減速時の速度検出を示すタイムチャート。
【図４】パルスエンコーダの原理を示す概略図。
【図５】回転位相と信号の定義を示すタイムチャート。
【図６】従来の速度検出方式を示すブロック図。
【図７】従来技術における減速時の速度検出を示すタイムチャート。
【図８】パルス波形の位相誤差成分を示す図。
【発明を実施するための形態】
【００７８】
本願発明は、４カウントの位相差の差分を使用する方式や、１カウントの位相差の差分を使用する方式のうち、どちらかの方式を選択してしまうのではなく、これらを時間経過に応じて使いわけることを提案するものである。さらに、位相差を４カウントか１カウントのどちらかだけに固執せず、３カウントや２カウントという中間のパルス数も有効に利用することを提案するものである。
【００７９】
［実施形態］
本実施形態における速度検出装置のブロック図を図１に示す。図１に示すように、本実施形態１における速度検出装置は、制限速度演算部１３ｂのみが従来技術の制限速度演算部１３ａと異なっており、それ以外は従来技術と同じ構造である。従来技術と同様の構成については説明を省略する。
【００８０】
制限速度演算部１３ｂでも、原理的に同様なパルスが発生しない休止期間おけるタウマチック方式を演算している。これを４種類のエッジを個別に検出・計測する方式に拡張し、経過時間（パルス休止期間）に応じて逐次に選択する機能を有している。
【００８１】
まず、最新の割込時刻ｔｓをレジスタＲ６０でサンプリングして読み出す。
【００８２】
次に、減算器１５ａ〜１５ｄにおいて、この割込時刻ｔｓから、前回およびそれ以前の割込処理で読み出している４種類のエッジ時刻Ｔ０〜Ｔ３を減算して、過去のエッジからの経過時間（ｔｓ−Ｔ０）〜（ｔｓ−Ｔ３）を計算する。
【００８３】
制限速度用エッジ選択部１２では、図２のフローチャートにしたがって、経過時間（ｔｓ−Ｔ０）〜（ｔｓ−Ｔ３）のうち、どのエッジとの経過時間を使って制限速度Ｆτを算出するかを選択する。具体的には、経過時間（ｔｓ−Ｔ０）〜（ｔｓ−Ｔ３）のうちどれをパルス休止期間ΔＴτとするかを選択するエッジ時刻選択信号ＳｅｌτＴと、その選択されたエッジに対応する仮想するカウント数（エッジ位相差）を選択する仮想パルス数選択信号ＳｅｌτＣを出力する。
【００８４】
問題は、このエッジの選択方法であり、図２のようなフローチャートなどにより決めるものとする。
【００８５】
本実施形態の発想としては、経過時間の長い最も古いエッジ情報から最初に判断し、もし経過時間が長すぎる場合には次に古い時刻のエッジに順に判断を繰り返す。この選択により、時間が経過すると、制限速度を計算する仮想のパルスカウント差分値ΔＣτが４→３→２→１［ｃｏｕｎｔ］の順に切り替わるようになる。
【００８６】
図２のフローチャートで示したエッジ選択機能について下記に説明する。
【００８７】
Ｓ１：パルス休止期間ΔＴτ［０］＝ｔ−Ｔ０，ΔＴτ［１］＝ｔ−Ｔ１，ΔＴτ［２］＝ｔ−Ｔ２，ΔＴτ［３］＝ｔ−Ｔ３を演算する。
【００８８】
Ｓ２：４種類のエッジ発生時刻のうち古い順に、エッジ種類を示すエッジ番号を設定しておく。具体的には、パルス休止期間ΔＴτ［０］，ΔＴτ［１］，ΔＴτ［２］，ΔＴτ［３］のうち最大時間のエッジ番号をＳｅｌ４ｔｈ，パルス休止期間ΔＴτ［０］，ΔＴτ［１］，ΔＴτ［２］，ΔＴτ［３］のうち２番目に長い時間のエッジ番号をＳｅｌ３ｒｄ，パルス休止期間ΔＴτ［０］，ΔＴτ［１］，ΔＴτ［２］，ΔＴτ［３］のうち３番目に長い時間のエッジ番号をＳｅｌ２ｎｄ，パルス休止期間ΔＴτ［０］，ΔＴτ［１］，ΔＴτ［２］，ΔＴτ［３］のうち最新のエッジ番号をＳｅｌ１ｓｔとする。
【００８９】
Ｓ３：最大のパルス休止期間ΔＴτ［Ｓｅｌ４ｔｈ］と予め設定した時間差Ｔτを比較し、ΔＴτ［Ｓｅｌ４ｔｈ］≦Ｔτの場合はＳ４へ移行し、ΔＴτ［Ｓｅｌ４ｔｈ］＞Ｔτの場合はＳ５へ移行する。
【００９０】
Ｓ４：４ｃｏｕｎｔモードを選択する。エッジ時刻選択信号ＳｅｌτＴにはＳｅｌ４ｔｈのエッジ番号を選択し、仮想パルス数選択信号についてはＳｅｌτＣ＝３つまりΔＣτ＝４［ｃｏｕｎｔ］を使用する番号を選択する。よって、ΔＴτ＝ΔＴτ［Ｓｅｌ４ｔｈ］，ΔＣτ＝４となる。
【００９１】
Ｓ５：Ｓ３でパルス休止期間ΔＴτ［Ｓｅｌ４ｔｈ］が時間差Ｔτを超過していれば、双曲線の減衰率が小さくなっているものとして、パルス休止期間ΔＴτ［Ｓｅｌ３ｒｄ］と時間差Ｔτを比較し、ΔＴτ［Ｓｅｌ３ｒｄ］≦Ｔτの場合はＳ６へ移行し、ΔＴτ［Ｓｅｌ３ｒｄ］＞Ｔτの場合はＳ７へ移行する。
【００９２】
Ｓ６：３ｃｏｕｎｔモードを選択する。エッジ時刻選択信号ＳｅｌτＴにはＳｅｌ３ｒｄのエッジ番号を選択し、仮想パルス数選択信号ＳｅｌτＣは３［ｃｏｕｎｔ］を選択する番号（＝２）を選択する。よって、ΔＴτ＝ΔＴτ［Ｓｅｌ３ｒｄ］，ΔＣτ＝３となる。
【００９３】
Ｓ７：パルス休止期間ΔＴτ［Ｓｅｌ２ｎｄ］と時間差Ｔτを比較し、ΔＴτ［Ｓｅｌ２ｎｄ］≦Ｔτの場合はＳ８へ移行し、ΔＴτ［Ｓｅｌ２ｎｄ］＞Ｔτの場合はＳ９へ移行する。
【００９４】
Ｓ８：２ｃｏｕｎｔモードを選択する。エッジ時刻選択信号ＳｅｌτＴにはＳｅｌ２ｎｄのエッジ番号を選択し、仮想パルス数選択信号ＳｅｌτＣは２［ｃｏｕｎｔ］を選択する番号（＝１）を選択する。よって、ΔＴτ＝ΔＴτ［Ｓｅｌ２ｎｄ］，ΔＣτ＝２となる。
【００９５】
Ｓ９：次に、４番目、すなわち、最新エッジのパルス休止期間ΔＴτ［Ｓｅｌ１ｓｔ］と零速判定として設定した零速判定時間ＴLIM1を比較し、ΔＴτ［Ｓｅｌ１ｓｔ］≦ＴLIM1の場合はＳ１０へ移行し、ΔＴτ［Ｓｅｌ１ｓｔ］＞ＴLIM1の場合はＳ１１へ移行する。
【００９６】
Ｓ１０：１ｃｏｕｎｔモードを選択する。エッジ時刻選択信号ＳｅｌτＴにはＳｅｌ１ｓｔのエッジ番号を選択し、仮想パルス数選択信号ＳｅｌτＣは１［ｃｏｕｎｔ］を選択する番号（＝０）を選択する。よって、ΔＴτ＝ΔＴτ［Ｓｅｌ１ｓｔ］，ΔＣτ＝１となる。
【００９７】
Ｓ１１：比較器Ｃｏｍｐ６１から出力される零速判定信号ＳｅｌＺｅｒｏ＝「零速」として、強制的に零速度にするようにスイッチＳＷｚｅｒｏの切替信号を選択する。この場合は選択速度を演算しても出力は利用されないので演算処理をスキップする。
【００９８】
Ｓ１２：「４カウントモード」〜「２カウントモード」が選択されている場合は、比較器Ｃｏｍｐ６１から出力される零速判定信号ＳｅｌＺｅｒｏ＝「τ制限」とする。エッジに対応したエッジ時刻選択信号ＳｅｌτＴと仮想パルス数選択信号Ｓｅｌτｃを選択して、制限速度Ｆτ＝ＳｅｌτＣ／ＳｅｌτＴ（ΔＣτ／ΔＴτ）を計算し、リミッタ１６により、保持されている検出速度に対して正負のリミッタ動作を行う。
【００９９】
さらに、「１カウントモード」の場合には、経過時間が長くなった場合に零速に切替、それ以前なら他のモードと同様に制限速度による保持速度のリミッタ動作を行う。
【０１００】
以上の構成により、経過時間に応じて，４カウント→３カウント→２カウント→１カウントモードの順に４種類のエッジが順番に切り替わる。 
【０１０１】
実施形態１の動作を，図３のタイムチャート例で説明する。
【０１０２】
図７と同様に、（ア）のように（Ｃａ，Ｔａ）−（Ｃｅ，Ｔｅ）のエッジ期間で速度検出した後にパルスが休止し、以降では制限速度を演算して保持されている検出速度を補正する状態である。
【０１０３】
最初は（イ）の区間のように、従来技術と同様に制限速度を「４カウントモード」の仮想パルスで計算する。この場合は、図３の最下段のチャートに示す制限速度Ｆτ4（Ｔb，ｔs）の関数で制限される。
【０１０４】
しかし、（ウ）の区間のように時間が経過して（ｔｓ−Ｔｂ＞Ｔτ）となると、「４カウントモード」の経過時間が長 くなりすぎたものと判断して、「３カウントモード」に移行する。この場合は図３の制限速度Ｆτ3（Ｔc，ｔs）の関数で制限されるようになり、より零に近い方向に制限されて零への減衰が速くなる。
【０１０５】
さらに、（エ）の区間のように時間が経過して（ｔｓ−Ｔｃ＞Ｔτ）となると「２カウントモード」に移行する。この場合は、制限速度Ｆτ2（Ｔd，ｔs）の関数で制限されるようになり、さらにより零に近い方向に減衰するようになる。
【０１０６】
そして、（オ）のように時間が経過して（ｔｓ−Ｔｄ＞Ｔτ）となると「１カウントモード」に移行する。この場合は制限速度Ｆτ1（Ｔe，ｔs）の関数で制限されるので、最も減衰率が大きくなる。
【０１０７】
最後に、（ｔｓ−Ｔｅ＞ＴLIM1）となると時間が十分に経過したので、強制的に零速に切り替える。  
【０１０８】
このように、経過時間に応じて「４カウントモード」から順に「１カウントモード」に切り替えることにより、制限速度が徐々により零に近い方に制限されるため、「４カウントモード」だけを使用した場合の問題点であった、経過時間が長くなると零への減衰率が小さくなることを防止できる。
【０１０９】
これにより、減速時の制限速度の演算精度が向上し、零速付近での回転速度推定の精度が向上する。
【０１１０】
また、４個の制限速度の計算モードを順番に切り替えていくので、「１カウントモード」だけを使用した場合の誤差の影響も少なくなる。さらに、その間に「３カウントモード」および「２カウントモード」も追加したので、モード切替時の制限速度の急変量も少なくすることができる。
【０１１１】
なお、このモード切替時の制限速度の急変を許容するのであれば、「３カウントモード」および「２カウントモード」を追加しなくともよい。「４カウント→１カウント」，「４カウント→３カウント→１カウント」，「４カウント→２カウント→１カウント」に切り換える方法としてもよい。
【０１１２】
以上、本発明において、ディジタル回路とＣＰＵのソフトで実現する方法に限定し、記載された具体例に対してのみ詳細に説明したが、本発明の技術思想の範囲で多彩な変形および修正が可能であることは、当業者にとって明白なことであり、このような変形および修正が特許請求の範囲に属することは当然のことである。
【符号の説明】
【０１１３】
１…ディジタル計測回路
２…エッジ検出回路
３…位相カウンタ
４…基準時刻発生／割込カウンタ
５…ＳＲ−ＦＦ
６…ＯＲ回路
７…最新エッジ選択部
９，１０…減算部
１２…制限速度用エッジ選択部
１３ａ，１３ｂ…制限速度演算部
１４ａ〜１４ｄ…減算器
１５ａ〜１５ｄ…減算器
１６…リミッタ
１７…回転円板
【図１】
2018100832.tif 000005
【図２】
2018100832.tif 000006
【図３】
2018100832.tif 000007
【図４】
2018100832.tif 000008
【図５】
2018100832.tif 000009
【図６】
2018100832.tif 000010
【図７】
2018100832.tif 000011
【図８】
2018100832.tif 000012