IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社明電舎の特許一覧

<>
  • 特開-速度検出装置および速度検出方法 図1
  • 特開-速度検出装置および速度検出方法 図2
  • 特開-速度検出装置および速度検出方法 図3
  • 特開-速度検出装置および速度検出方法 図4
  • 特開-速度検出装置および速度検出方法 図5
  • 特開-速度検出装置および速度検出方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024000028
(43)【公開日】2024-01-05
(54)【発明の名称】速度検出装置および速度検出方法
(51)【国際特許分類】
   G01P 3/489 20060101AFI20231225BHJP
【FI】
G01P3/489 Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022098538
(22)【出願日】2022-06-20
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【弁理士】
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【弁理士】
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】毛塚 信貴
(72)【発明者】
【氏名】小崎 圭輝
(72)【発明者】
【氏名】赤池 秀一
(72)【発明者】
【氏名】小熊 功太
(57)【要約】
【課題】エンコーダの種類を問わず、検出遅延が少なく高分解能の回転数検出演算を行うことができる速度検出装置を提供する。
【解決手段】エンコーダ1の種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部3と、エンコーダ1の出力に位相検出処理を施した位相情報θencを、前記トリガを用いてラッチし保持する位相情報ラッチ回路4と、前記ラッチ回路4に保持された位相情報の複数回前の情報を記憶する位相検出バッファ5-1~5-nと、前記ラッチ回路4の今回の位相情報と前記バッファ5-1~5-nに記憶された一番古い位相情報との差分θcalと、回転数検出周期Tsmpに前記バッファの個数に対応した係数nを乗算した回転数検出演算用時間情報Tcalとに基づいて、回転数検出値Nrを演算する回転数検出値演算部(減算器8、乗算器9)と、を備えた。
【選択図】 図1
【特許請求の範囲】
【請求項1】
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持するラッチ回路と、
前記ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、回転数検出周期に前記位相検出バッファの個数に対応した係数を乗算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする速度検出装置。
【請求項2】
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持する位相情報ラッチ回路と、
前記エンコーダの出力に対する位相検出処理に同期した時刻処理を、位相時刻計測用カウンタの出力に対して施して得たエンコーダ情報取得時の位相時刻情報を、前記速度検出用位相検出トリガを用いてラッチし、回転数検出周期として保持する時刻情報ラッチ回路と、
前記位相情報ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記時刻情報ラッチ回路に保持された回転数検出周期の複数回前の情報を記憶する複数の位相時刻バッファと、
前記位相情報ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、前記時刻情報ラッチ回路に保持された今回の回転数検出周期と前記位相時刻バッファに記憶された一番古い回転数検出周期との差分を演算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする速度検出装置。
【請求項3】
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持する位相情報ラッチ回路と、
前記エンコーダの出力に対する位相検出処理に同期した時刻処理を、位相時刻計測用カウンタの出力に対して施して得たエンコーダ情報取得時の位相時刻情報を、前記速度検出用位相検出トリガを用いてラッチし、回転数検出周期として保持する時刻情報ラッチ回路と、
前記位相情報ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記時刻情報ラッチ回路に保持された回転数検出周期の複数回前の情報を記憶する複数の位相時刻バッファと、
前記エンコーダの回転数検出分解能と求められる回転数検出分解能の関係から、演算に使用する位相検出バッファおよび位相時刻バッファを選択するバッファ選択処理部と、
前記位相情報ラッチ回路に保持された今回の位相情報と前記バッファ選択処理部によって選択された位相検出バッファに記憶された位相情報との差分を演算した回転数検出演算用位相情報と、前記時刻情報ラッチ回路に保持された今回の回転数検出周期と前記バッファ選択処理部によって選択された位相時刻バッファに記憶された回転数検出周期との差分を演算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする速度検出装置。
【請求項4】
前記バッファ選択処理部は、バッファ個数、エンコーダ分解能、回転数検出処理周期、求められる回転数検出分解能の関係が(13)式の条件を満たすバッファ個数を選択し、そのバッファ個数が示す位相検出バッファおよび位相時刻バッファを、演算に使用する位相検出バッファおよび位相時刻バッファに決定することを特徴とする請求項3に記載の速度検出装置。
【数13】
【請求項5】
電動機の位相・回転数を検出するエンコーダを用いた速度検出方法であって、
位相ラッチトリガ選択処理部が、複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理ステップと、
ラッチ回路が、前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持するラッチステップと、
位相検出バッファが、前記ラッチ回路に保持された位相情報の複数回前の情報を記憶する記憶ステップと、
回転数検出値演算部が、前記ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、回転数検出周期に前記位相検出バッファの個数に対応した係数を乗算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算ステップと、を備えたことを特徴とする速度検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電動機(以下、モータと称することもある)の位相・回転数を検出する検出器を有するシステムに係り、特にモータの回転数やトルクを高精度に制御するために回転数を高精度に検出することを目的として、回転数の検出遅延が少なく検出分解能を高くするための機構に関する技術分野である。
【背景技術】
【0002】
従来、電動機の回転速度を検出する装置は、例えば特許文献1に記載のものが提案されていた。
【0003】
特許文献1には、パルスエンコーダに関する回転数検出方式が記載されている。特許文献1の方式では、パルスエンコーダのパルス出力にジッタがある場合に発生する回転数検出のオフセット誤差を抑制することを目的としている。抑制するためにパルス位相バッファとパルス発生時刻バッファを持つ構成をとって、複数前のパルス発生時の位相と時刻から回転数を演算する方式である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-25391号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1は、パルスエンコーダのみに言及している。このため、パルスエンコーダ用の回転数検出構成となっており、エンコーダの位相情報を通信などの手法において一定周期で離散値を検出するエンコーダなどにはそのまま適用できない問題点がある。
【0006】
また、モータを制御する場合に回転数情報は様々な制御に使用される。このため、回転数を遅延なく高精度に検出することが要求される。回転数の遅延を少なくするには検出周期を速くする必要があるが、周期を速くすると検出分解能が落ちることが良く知られている。また、検出分解能を高くするためには検出周期を遅くする必要がある。
【0007】
本発明は、上記課題を解決するものであり、その目的は、エンコーダの種類を問わず、検出遅延が少なく高分解能の回転数検出演算を行うことができる速度検出装置および速度検出方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するための請求項1に記載の速度検出装置は、
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持するラッチ回路と、
前記ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、回転数検出周期に前記位相検出バッファの個数に対応した係数を乗算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする。
【0009】
請求項2に記載の速度検出装置は、
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持する位相情報ラッチ回路と、
前記エンコーダの出力に対する位相検出処理に同期した時刻処理を、位相時刻計測用カウンタの出力に対して施して得たエンコーダ情報取得時の位相時刻情報を、前記速度検出用位相検出トリガを用いてラッチし、回転数検出周期として保持する時刻情報ラッチ回路と、
前記位相情報ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記時刻情報ラッチ回路に保持された回転数検出周期の複数回前の情報を記憶する複数の位相時刻バッファと、
前記位相情報ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、前記時刻情報ラッチ回路に保持された今回の回転数検出周期と前記位相時刻バッファに記憶された一番古い回転数検出周期との差分を演算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする。
【0010】
請求項3に記載の速度検出装置は、
電動機の位相・回転数を検出するエンコーダを用いた速度検出装置であって、
複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理部と、
前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持する位相情報ラッチ回路と、
前記エンコーダの出力に対する位相検出処理に同期した時刻処理を、位相時刻計測用カウンタの出力に対して施して得たエンコーダ情報取得時の位相時刻情報を、前記速度検出用位相検出トリガを用いてラッチし、回転数検出周期として保持する時刻情報ラッチ回路と、
前記位相情報ラッチ回路に保持された位相情報の複数回前の情報を記憶する複数の位相検出バッファと、
前記時刻情報ラッチ回路に保持された回転数検出周期の複数回前の情報を記憶する複数の位相時刻バッファと、
前記エンコーダの回転数検出分解能と求められる回転数検出分解能の関係から、演算に使用する位相検出バッファおよび位相時刻バッファを選択するバッファ選択処理部と、
前記位相情報ラッチ回路に保持された今回の位相情報と前記バッファ選択処理部によって選択された位相検出バッファに記憶された位相情報との差分を演算した回転数検出演算用位相情報と、前記時刻情報ラッチ回路に保持された今回の回転数検出周期と前記バッファ選択処理部によって選択された位相時刻バッファに記憶された回転数検出周期との差分を演算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算部と、を備えたことを特徴とする。
【0011】
請求項4に記載の速度検出装置は、請求項3において、
前記バッファ選択処理部は、バッファ個数、エンコーダ分解能、回転数検出処理周期、求められる回転数検出分解能の関係が(13)式の条件を満たすバッファ個数を選択し、そのバッファ個数が示す位相検出バッファおよび位相時刻バッファを、演算に使用する位相検出バッファおよび位相時刻バッファに決定することを特徴とする。
【0012】
【数13】
【0013】
請求項5に記載の速度検出方法は、
電動機の位相・回転数を検出するエンコーダを用いた速度検出方法であって、
位相ラッチトリガ選択処理部が、複数のトリガ信号のうち、前記エンコーダの種類に応じたトリガ信号を選択して速度検出用位相検出トリガとして出力する位相ラッチトリガ選択処理ステップと、
ラッチ回路が、前記エンコーダの出力に対して位相検出処理を施した位相情報を、前記速度検出用位相検出トリガを用いてラッチし、保持するラッチステップと、
位相検出バッファが、前記ラッチ回路に保持された位相情報の複数回前の情報を記憶する記憶ステップと、
回転数検出値演算部が、前記ラッチ回路に保持された今回の位相情報と前記位相検出バッファに記憶された一番古い位相情報との差分を演算した回転数検出演算用位相情報と、回転数検出周期に前記位相検出バッファの個数に対応した係数を乗算した回転数検出演算用時間情報とに基づいて、回転数検出値を演算する回転数検出値演算ステップと、を備えたことを特徴とする。
【発明の効果】
【0014】
(1)請求項1~5に記載の発明によれば、エンコーダの種類を問わず、検出遅延が少なく高分解能の回転数検出演算を行うことができる。
(2)請求項2に記載の発明によれば、エンコーダ情報取得時の位相時刻情報を利用しているので、エンコーダの位相情報の取得周期を考慮して回転数検出演算を行うことができる。
(3)請求項3、4に記載の発明によれば、要求される回転数検出分解能の回転数検出演算を行うことができる。
【図面の簡単な説明】
【0015】
図1】本発明の実施例1における速度検出構成図。
図2】本発明の速度検出用位相検出トリガとして、外部割込み信号トリガを適用した場合の動作を示す説明図。
図3】本発明の速度検出用位相検出トリガとして、通信割込み信号トリガを適用した場合の動作を示す説明図。
図4】本発明の実施例2における速度検出構成図。
図5】本発明の実施例2において、処理時間の誤差を考慮した動作を説明するタイミングチャート。
図6】本発明の実施例3における速度検出構成図。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。
【実施例0017】
図1は本提案方式における速度検出構成図であり、実施例1の速度検出装置の構成を示している。図1において1は、モータの位相・回転数を検出するエンコーダであり、2はエンコーダ1の出力に対して、エンコーダの種類に応じた位相検出処理を施してエンコーダ検出位相θenc(位相情報)を出力する位相検出処理部である。
【0018】
3は、入力されるエンコーダ選択フラグ(enc_flg)が示すエンコーダの種類に応じて、複数のトリガ信号のうちいずれかを選択して速度検出用位相検出トリガ(Trig_Ndet)として出力するトリガ選択スイッチ13を有した位相ラッチトリガ選択処理部3である。
【0019】
本実施例では、位相ラッチトリガ選択処理部3の複数のトリガ信号として、外部割込み信号トリガ(Trig_eirq)、通信割込み信号トリガ(Trig_comrq)、内部割込み信号トリガ(Trig_iirq)等を設定しているが、これに限らず他のトリガを設定してもよい。
【0020】
4は、位相検出処理部2から出力されるエンコーダ検出位相θencを、前記トリガ選択スイッチ13から出力された速度検出用位相検出トリガTrig_Ndetを許可信号としてラッチし、速度検出用エンコーダ検出位相θdetとして保持する位相情報ラッチ回路である。
【0021】
-1~5-nは位相情報ラッチ回路4の速度検出用エンコーダ検出位相θdetを読出し、検出周期の複数回前の情報(θdetの前回値~n回前の値)を記憶する位相検出バッファである。
【0022】
6は、位相情報ラッチ回路4にラッチされた今回の位相情報(今回の速度検出用エンコーダ検出位相θdet)と位相検出バッファに記憶された一番古い位相情報(位相検出バッファ5-nの速度検出用エンコーダ検出位相θdet[n]との差分を演算して、回転数検出演算用位相情報(回転数検出演算用位相θcal)を出力する減算器である。
【0023】
7は、回転数検出周期Tsmpに位相検出バッファ5-1~5-nの個数Nに対応した係数(ゲイン)を乗算して回転数検出演算用時間情報(回転数検出演算用時間Tcal)を出力する乗算器である。
【0024】
8は、減算器6の出力(回転数検出演算用位相θcal)から乗算器7の出力(回転数検出演算用時間Tcal)を除算する除算器、9は、60[s]÷360[°]を予め演算した係数である1/6を除算器8の出力に乗算して回転数検出値Nrを出力する乗算器である。
【0025】
前記位相検出バッファ5-1~5-n、減算器6、乗算器7、9、除算器8によって速度検出処理部100を構成している。
【0026】
ここで、回転数検出(速度検出)は次の(1)式で表すことができる。
【0027】
【数1】
【0028】
位相検出差分[°]=位相検出今回値[°]-位相検出前回値[°]
(1)式からわかるように回転数検出周期を短くすると回転数検出値の分解能が悪くなる。しかし、回転数検出値の分解能を良くしようとして回転数検出周期を遅くすると検出遅延が大きくなる。検出遅延が大きくなると、指令に対する追従遅れや負荷変動に対する追従遅れが発生するなど制御性能が悪化する。
【0029】
次に、図1の方式における動作を説明する。
【0030】
エンコーダ情報(エンコーダ1の出力)から位相検出処理部2により検出された位相検出値(エンコーダ検出位相θenc)を、位相ラッチトリガ選択処理部3から出力されるトリガ信号(Trig_Ndet)により位相情報ラッチ回路4によりラッチし保持する。
【0031】
トリガ信号で位相検出値を保持することにより、どのようなエンコーダを使用した場合においても速度検出処理部100から見た位相は、速度検出周期で保持される信号となるため同一の位相情報として扱える。
【0032】
位相ラッチトリガ選択処理部3では、エンコーダの種類に応じたトリガ信号を選択する。本例ではトリガ信号として、外部割込み信号トリガ(Trig_eirq)と通信割込み信号トリガ(Trig_comrq)、内部割込み信号トリガ(Trig_iirq)を例に動作を説明する。
【0033】
まず、外部割込み信号トリガ(Trig_eirq)と内部割込み信号トリガ(Trig_iirq)を適用した場合の動作を説明する。外部割込み信号トリガと内部割込み信号トリガは同様の動作となる。外部割込み信号と内部割込み信号は回転数検出処理を動作させるデバイスが回転数検出処理周期の決定に関して、外部タイマを基準としているか内部タイマを基準としているかで使用する信号を決定する。
【0034】
図2に、トリガ選択スイッチ13が外部割込み信号トリガTrig_eirqを選択した場合の、外部割込み信号トリガ生成用タイマ(Trig_eirq生成用タイマ)、外部割込み信号トリガTrig_eirq、エンコーダ検出位相θenc、速度検出用エンコーダ検出位相θdetの一例を示す。
【0035】
位相情報ラッチ回路4のイネーブル端子ENに外部割込み信号トリガTrig_eirqが入力される時刻t1,t2,t3において、それら各時刻におけるエンコーダ検出位相θencの値が位相情報ラッチ回路4にラッチされ、速度検出用エンコーダ検出位相θdetとして保持される。
【0036】
内部割込み信号トリガTrig_iirqの場合は、図2のTrig_eirq生成用タイマとTrig_eirqをTrig_iirq生成用タイマとTrig_iirqに置き換えればよい。
【0037】
例えば、特許文献1のようにパルスエンコーダの場合には位相検出周期と回転数検出周期が同期していない。このような場合には、一度回転数検出周期で位相情報を保持する必要がある。回転数検出周期Tsmpが外部割込み信号トリガを許可信号として動作するので、外部割込み信号トリガTrig_eirqで一度θencの情報を保持しθdetとする。このためθdetはTsmp周期の信号となることがわかる。
【0038】
次に、通信割込み信号トリガTrig_comrqを適用した場合の動作例を図3に示す。図3は、エンコーダと通信で位相情報をやり取りする場合の、位相確定信号(速度検出よりも速い周期にシステムで設定された、位相を確定する信号)、通信割込み信号トリガTrig_comrq、エンコーダ検出位相θenc、速度検出用エンコーダ検出位相θdetの一例を示す。
【0039】
エンコーダと通信で位相情報をやり取りするような場合には、位相検出周期と回転数検出周期は下記(2)式の関係がある。
【0040】
【数2】
【0041】
(2)式の条件を満たさないと回転数検出時に使用する検出周期が位相検出差分情報の検出周期と異なってしまい、正確に回転数を検出できないためである。
【0042】
また、エンコーダと通信で位相情報をやり取りするような場合には、かならず通信遅れが発生する。この通信遅れを考慮して位相情報を保持する必要がある。
【0043】
図3において、時刻tzで位相確定信号が確立されてから通信時間Tx遅れた時刻t1にてエンコーダ検出位相θencが確定する。
【0044】
この時に、通信割込み信号トリガTrig_comrqを出力し、このTrig_comrqで一度θencの情報を位相情報ラッチ回路4によって保持しθdetとする。
【0045】
その後は通信割込み信号トリガTrig_comrqが入力される時刻t2、t3において、それら各時刻におけるエンコーダ検出位相θencの値が位相情報ラッチ回路4にラッチされ、速度検出用エンコーダ検出位相θdetとして保持される。このためθdetはTsmp周期の信号となることがわかる。
【0046】
次に回転数検出処理の動作を説明する。速度検出用エンコーダ検出位相θdetを位相検出バッファ5-1~5-nに入力し、値を記憶する。回転数検出値を算出するための位相検出差分は、位相検出今回値とバッファから出力される位相検出値とする。1個前の位相検出バッファ5-1の値を使用した時の回転数検出値は(3)式となり、2個前の位相検出バッファ5-2の値を使用した時の回転数検出値は(4)式となる。
【0047】
【数3】
【0048】
【数4】
【0049】
(4)式は分母の値が(3)式より大きくなっており、(4)式の方が分解能は良くなる。分母の時間は異なるが(3)式と(4)式は同周期で更新されるため、検出遅延は等しくなる。
【0050】
位相検出差分に使用するバッファ5-1~5-nの個数をnとおくと、分母の時間も検出周期のn倍する必要があるので、乗算器7において検出周期(Tsmp)をn倍する。位相検出差分(減算器6の出力)を除算器8において検出周期のn倍(乗算器7の出力Tcal)で除算し、乗算器9において1/6を乗算することにより回転数検出値Nrを算出する。
【0051】
ここで位相検出バッファ5-1~5-nの個数に関する設定は、求められる回転数検出値を満たすような個数を設定すればよく、(5)式に示すバッファ個数とする。
【0052】
【数5】
【0053】
以上のように本実施例1によれば、エンコーダの種類を問わず、検出遅延が少なく高分解能の回転数検出演算を行うことができる。
【実施例0054】
図4に実施例2における速度検出の構成を示す。本実施例2では、位相時刻を正確に記録するために、図1(実施例1)の構成に、位相検出と同期して位相時刻を保持する処理を追加し、位相時刻にもバッファを設けている。
【0055】
図4において図1と同一部分は同一符号をもって示し、その部分の説明は省略する。21は位相時刻計測用カウンタである。22は、位相時刻計測用カウンタ21の出力に対して、位相検出処理部2の位相検出と同期した時刻処理を行ってエンコーダ情報取得時の位相時刻情報Tθencを出力する位相時刻処理部である。
【0056】
24は、位相時刻処理部22から出力される位相時刻情報Tθencを、前記トリガ選択スイッチ13から出力された速度検出用位相検出トリガTrig_Ndetを許可信号としてラッチし、回転数検出周期Tsmpとして保持する時刻情報ラッチ回路である。
【0057】
25-1~25-nは時刻情報ラッチ回路24の回転数検出周期Tsmpを読出し、検出周期の複数回前の情報(Tsmpの前回値~n回前の値)を記憶する位相時刻バッファである。
【0058】
26は、時刻情報ラッチ回路24にラッチされた今回の回転検出周期Tsmpと位相時刻バッファに記憶された一番古い回転数検出周期(位相時刻バッファ25-nの回転数検出周期Tsmp[n]との差分を演算して、回転数検出演算用時間情報(Tcal)を出力する減算器である。
【0059】
8は、減算器6の出力(回転数検出演算用位相θcal)から減算器26の出力(回転数検出演算用時間Tcal)を除算する除算器、9は、60[s]÷360[°]を予め演算した係数である1/6を除算器8の出力に乗算して回転数検出値Nrを出力する乗算器である。
【0060】
前記位相検出バッファ5-1~5-n、位相時刻バッファ25-1~25-n、減算器6、26、除算器8、乗算器9によって速度検出処理部200を構成している。
【0061】
回転数検出処理を実施する周期は一定周期となるが、位相情報の取得時刻は一定になるとは限らない。例えば、特許文献1のようにパルスエンコーダの位相はパルスのエッジで計測するがパルス間の計測周期は回転数検出処理とは厳密には異なる。
【0062】
また、エンコーダ情報を通信で取得するような場合を考える。回転数検出処理を実施するCPUからエンコーダ情報を要求する信号を送ってエンコーダ情報を取得するような場合には、CPUからエンコーダ情報を要求する信号が一定周期になるとは限らない。これは、CPUでは複数の処理周期がありかつ優先度が設定されている。また、同一処理周期内でも条件によって実行可否がある処理などがあり、優先度の高い処理や条件によっては同一処理内の処理量が変わるため、速度検出処理が実際に処理される周期は一定であるとは限らない。
【0063】
図5に処理時間誤差を考慮したタイミングチャートを示す。図5図3と同様に通信割込み信号トリガを適用した場合の動作を示すが、図5の上から1段目、2段目は理想状態での位相確定信号、通信割り込み信号トリガTrig_comrqを示し、上から3段目、4段目は処理時間誤差を考慮した位相確定信号、通信割り込み信号トリガTrig_comrqを示している。
【0064】
図5において、時刻tzで位相確定信号が確立されてから通信時間Tx遅れた時刻t1にてエンコーダ検出位相θencが確定する。
【0065】
理想状態においては、次に通信割り込み信号トリガTrig_comrqが立上る時刻t2におけるθencの値が位相情報ラッチ回路4にラッチされ速度検出用エンコーダ検出位相θdetとして保持されるが、処理時間誤差を考慮した場合は、時刻t2から処理時間誤差分だけ遅れた時刻t2’にTrig_comrqが立上るので、時刻t2’におけるθencの値がラッチされθdetとして保持される。
【0066】
このため時刻t1からt2’までの期間は、理想状態での回転数検出周期Tsmpに1個目の位相時刻バッファ25-1(回転数検出周期の前回値が記憶されたバッファ)の分の誤差Terr1を加えた回転数検出周期となる。
【0067】
また、理想状態においては、次に通信割り込み信号トリガTrig_comrqが立上る時刻t3におけるθencの値が位相情報ラッチ回路4にラッチされ速度検出用エンコーダ検出位相θdetとして保持されるが、処理時間誤差を考慮した場合は、時刻t3から処理時間誤差分だけ遅れた時刻t3’にTrig_comrqが立上るので、時刻t3’におけるθencの値がラッチされθdetとして保持される。
【0068】
このため時刻t2’からt3’までの期間は、理想状態での回転数検出周期Tsmpに2個目の位相時刻バッファ25-2(回転数検出周期の前々回値が記憶されたバッファ)の分の誤差Terr2を加えた回転数検出周期となる。
【0069】
このように、理想状態では回転数検出周期が一定であるが、処理時間の誤差により回転数検出周期にずれが発生する。この場合には、位相も差異が発生する。位相に差異が発生するため、時間を考慮しないと精度良く回転数検出が実施できない。
【0070】
上記のように、速度処理周期は固定であっても、エンコーダの種類に応じて位相情報を取得する時刻は一定になるとは限らないし、時刻にずれが生じた状態で位相を検出すると位相の差分にも誤差が発生するため回転数検出を精度よく行えないことがわかる。
【0071】
そこで本実施例2では、回転数検出を精度良く実施するため、位相情報を取得する時刻の誤差を考慮し位相時刻に関しても、トリガ選択スイッチ13から出力されるTrig_Ndetを許可信号として時刻情報ラッチ回路24で保持する。
【0072】
そして保持した値を速度検出処理の回転数検出周期(Tsmp)に設定する。回転数検出周期は位相時刻バッファ25-1~25-nに入力して記憶する。回転数検出値を算出するための回転数検出演算用時間(Tcal)は、回転数検出周期今回値と位相時刻バッファから出力される回転数検出周期とする。
【0073】
例えば、位相時刻バッファの個数を3個とした場合の回転数検出周期の理想値からの誤差を下記に説明する。
【0074】
回転数検出周期と位相時刻取得に関する今回値の誤差:Terr0、
回転数検出周期バッファ1個目(位相時刻バッファ25-1)と位相時刻取得に関する誤差:Terr1、
回転数検出周期バッファ2個目(位相時刻バッファ25-2)と位相時刻取得に関する誤差:Terr2、
回転数検出周期バッファ3個目(位相時刻バッファ25-3)と位相時刻取得に関する誤差:Terr3とする。
【0075】
この場合における回転数検出周期演算は(6)式となり、回転数検出周期演算理想値は(7)式となる。そして、除算器8および乗算器9により演算される、誤差を含んだ回転数検出値は(8)式となり、回転数検出理想値は(9)式となる。
【0076】
【数6】
【0077】
【数7】
【0078】
【数8】
【0079】
【数9】
【0080】
これら(6)式~(9)式からもわかる通り、回転数検出周期を固定値とした場合の誤差を本実施例2では補償することができる。
【0081】
以上のように本実施例2によれば、実施例1の効果に加えて、エンコーダ情報取得時の位相時刻情報を利用しているので、エンコーダの位相情報の取得周期を考慮して回転数検出演算を行うことができる。
【実施例0082】
本実施例3では、実施例2の構成に加えて、位相検出バッファと位相時刻バッファでどの値を使用するかを選択する処理部を設け、エンコーダ選択に応じて最適なバッファを選択することにより、要求される回転数検出分解能の回転数検出演算が行えるように構成した。
【0083】
図6に、実施例3における速度検出の構成を示す。図6において図4と同一部分は同一符号をもって示し、その部分の説明は省略する。
【0084】
30は、入力されるエンコーダ選択フラグ(enc_flg)に基づいて、前記エンコーダ1の回転数検出分解能と求められる回転数検出分解能の関係から、演算に使用する位相検出バッファ5-1~5-nおよび位相時刻バッファ25-1~25-nを選択し決定する、バッファ選択信号を生成して出力するバッファ選択処理部である。
【0085】
31は、前記バッファ選択信号で決定された位相検出バッファ(5-1~5-nのいずれかのバッファ)を選択する位相検出バッファ選択スイッチ、32は、前記バッファ選択信号で決定された位相時刻バッファ(25-1~25-nのいずれかのバッファ)を選択する位相時刻バッファ選択スイッチである。
【0086】
前記バッファ選択処理部30、位相検出バッファ選択スイッチ31、位相時刻バッファ選択スイッチ32は、バッファ個数、エンコーダ分解能、回転数検出処理周期、求められる回転数検出分解能の関係が、後述の(13)式の条件を満たすバッファ個数を選択し、そのバッファ個数が示す位相検出バッファおよび位相時刻バッファを、演算に使用する位相検出バッファおよび位相時刻バッファに決定するものである。
【0087】
前記位相検出バッファ5-1~5-n、位相時刻バッファ25-1~25-n、減算器6、26、除算器8、乗算器9、バッファ選択処理部30、位相検出バッファ選択スイッチ31、位相時刻バッファ選択スイッチ32によって速度検出処理部300を構成している。
【0088】
バッファ選択処理部30では、求められる回転数検出分解能と使用するエンコーダの回転数検出分解能より、バッファの使用個数を設定する。求められる回転数検出分解能とエンコーダの回転数検出分解能の関係は、(10)式となる。
【0089】
【数10】
【0090】
ここで、エンコーダ回転数検出分解能は(11)式で示せる。
【0091】
【数11】
【0092】
エンコーダ分解能はパルスエンコーダの場合は1回転のパルス数、アブソリュートエンコーダの場合はbit数を示す。
【0093】
回転数検出周期は(12)式となり、これより、バッファの個数は(13)式より演算可能である。
【0094】
【数12】
【0095】
【数13】
【0096】
(13)式より、バッファ個数の最小値はエンコーダによって異なることがわかる。バッファ選択処理部30ではエンコーダ選択フラグに応じて、バッファ個数を選択し、使用するバッファを決定する。この選択したバッファを使用して回転数検出処理を行うことにより、エンコーダ選択に応じた最適なバッファ個数を選択できる。
【0097】
以上のように本実施例3によれば、実施例1、2の効果に加えて、要求される回転数検出分解能の回転数検出演算を行うことができる。
【符号の説明】
【0098】
1…エンコーダ
2…位相検出処理部
3…位相ラッチトリガ選択処理部
4…位相情報ラッチ回路
-1~5-n…位相検出バッファ
6、26…減算器
7、9…乗算器
8…除算器
13…トリガ選択スイッチ
21…位相時刻計測用カウンタ
22…位相時刻処理部
24…時刻情報ラッチ回路
25-1~25-n…位相時刻バッファ
30…バッファ選択処理部
31…位相検出バッファ選択スイッチ
32…位相時刻バッファ選択スイッチ
100、200、300…速度検出処理部
図1
図2
図3
図4
図5
図6