JP2005156208A - 位相速度検出装置 - Google Patents

位相速度検出装置 Download PDF

Info

Publication number
JP2005156208A
JP2005156208A JP2003391706A JP2003391706A JP2005156208A JP 2005156208 A JP2005156208 A JP 2005156208A JP 2003391706 A JP2003391706 A JP 2003391706A JP 2003391706 A JP2003391706 A JP 2003391706A JP 2005156208 A JP2005156208 A JP 2005156208A
Authority
JP
Japan
Prior art keywords
phase
pulse
signal
digital value
phase signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003391706A
Other languages
English (en)
Other versions
JP4289983B2 (ja
Inventor
Ikuo Kotani
郁雄 小谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyo Electric Manufacturing Ltd
Original Assignee
Toyo Electric Manufacturing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyo Electric Manufacturing Ltd filed Critical Toyo Electric Manufacturing Ltd
Priority to JP2003391706A priority Critical patent/JP4289983B2/ja
Publication of JP2005156208A publication Critical patent/JP2005156208A/ja
Application granted granted Critical
Publication of JP4289983B2 publication Critical patent/JP4289983B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

【課題】 シャフトレス輪転印刷機の同期制御や工作機械の位置決め装置において、停止中や低速回転時のみならず高速回転中においてもロータリーエンコーダの回転位相と回転速度を安定して高精度に検出すること。
【解決手段】 90°位相差の2相のA相、B相の正弦波と1回転の基準信号を示すZ相を出力する正弦波インクリメンタルエンコーダ1bの出力を位相速度検出装置2e入力する。位相速度検出装置2eは、正転又は逆転方向を問わずZ相信号から正確な基準原点信号を生成する。また、A相及びB相信号からシンクロA相信号、シンクロB相信号、パルス位相、A相デジタル値及びB相デジタル値を検出し、該シンクロA相信号、シンクロB相信号及びパルス位相を完全に同期させ、A相デジタル値とB相デジタル値を基準にシンクロA相信号とシンクロB相信号を監視してパルス位相を補正し、超高精度の回転位相と回転速度を検出する。
【選択図】 図1

Description

本発明はシャフトレス輪転印刷機や工作機械などの高精度が要求される複数の電動機の同期制御や位置決め制御に関し、特に、電動機が停止中や低速回転中だけでなく高速回転中においても電動機の位相や速度を超高精度で検出する装置に関するものである。
複数の電動機間の高精度な同期制御を行うシャフトレス輪転印刷機や精密な位置決めを行う工作機械などにおいては、電動機もしくは出力軸の位相や速度を精度良く検出しなければならず、その為に精度の良いロータリーエンコーダが必要であるが、従来このロータリーエンコーダはアブソリュートエンコーダやインクリメントエンコーダが使用されている。
そして、アブソリュートエンコーダを使用して位相の検出精度を向上させる為に、アブソリュートのデジタル信号の他にこれを補間するアナログ信号も具備するアブソリュートエンコーダが従来考案されている(例えば、特許文献1参照)。
しかし、かような改善が行われているが依然としてデジタル信号も使用するもので、デジタル信号の桁数分のトラックやセンサーをアブソリュートエンコーダに内蔵させ、外部においては多数の信号線を準備する必要がある。又、通常アブソリュートエンコーダは、制御装置側から位相の読み込みを指令した後、実際に位相データを獲得するまでに時間を要することもあり、特に高速で運転中の回転体の位相を短時間で検出することは困難もしくは不可能であった。
一方、インクリメンタルエンコーダでは、回転に応じて複数のサイクルを発生し、90°の位相差を有する2相の矩形波であるA相とB相出力と1回転を識別するZ相出力を有するものがあり(以下、矩形波インクリメンタルエンコーダと称す)、前記A相とB相出力の矩形波の立ち上がり又は立ち下がりを制御装置側の位相カウンタで計数し、前記Z相により該位相カウンタをゼロにリセットすることにより回転位相を求めることが従来実施されている(例えば、特許文献2参照)。
この方法では、前記のカウンタで矩形波のエッジを計数するだけなのでリアルタイムに回転位相を検出できる利点がある。しかし、該矩形波インクリメンタルエンコーダの分解能は例えば現状において1回転あたり約20000パルスが上限と考えられ、これを通常行われるように×4逓倍して使用したとき1回転あたりの位相の検出分解能は80000が限界となる。
かように、検出分解能に制約があるので任意の時刻の位相を検出するには限界があり、これを図により示せば図31の(a)の如くとなる。
すなわち該図31の(a)において、任意の時刻t1が前記矩形波インクリメンタルエンコーダの矩形波の立ち上がり又は立ち下がりのエッジと離れている程、検出する位相の誤差は大きくなる。
ここで、インクリメンタルエンコーダは前記の矩形波を出力するものの他、2相の正弦波を出力するエンコーダ(以下、正弦波インクリメンタルエンコーダと称す)があり、これを用いて従来から位相の検出が行われている(例えば特許文献3参照)。
図31の(b)に該正弦波インクリメンタルエンコーダの出力波形の例を示す。同図に示すように、90°位相差の正弦波であるA相とB相はインクリメンタルエンコーダの1回転毎に複数サイクルの正弦波を出力する。そして、図31の(b)の任意の時刻t1におけるA相とB相の値をそれぞれa1、b1とすれば、このときの位相はA相とB相をパルス化してこのエッジを計数したパルス位相Cを粗い位相とし、マイクロコントローラなどを使用して次の(1)式から密な位相である補間位相αを求めることができる。
α=αmax×{arcTAN(a1/b1)}/90・・・・・(1)式
かように、前記図31の(a) の矩形波インクリメンタルエンコーダの場合と相違して、該図31の(b)の正弦波インクリメンタルエンコーダでは任意の時刻t1における補間位相を上記(1)式に依り得ることが可能で、該補間位相と前記パルス位相を組み合わせて高精度の回転位相を求めるものである。
ここで、図31の(b)において電気角90°はマイクロコントローラなどによりαmaxなるデジタル値で検出し、θ°はαなるデジタル値で検出するものとしている。例えば、補間位相を無符号の12ビットのデータサイズとすればαmaxは4095となる。
図32の(a)は、前記パルス位相をYビットの分解能で、前記補間位相をXビットの分解能で検出するときの1回転の位相の合成を説明するものであり、図32の(b)はパルス位相がC、補間位相がαの場合を示すものである。そして、説明を容易とする為に具体例で示せば、正弦波インクリメンタルエンコーダの1回転当たりのサイクル数が512のとき、これを×4逓倍して使用すれば前記パルス位相Cの分解能は2048となり、前記補間位相を12ビットのデータサイズとすれば該補間位相αの分解能は4096となり、このとき1回転の位相は下記の(2)式の分解能となる。
4096×4×512=8,388,608・・・・・・・・・・・(2)式
かような手段により、1回転の位相を非常に高い分解能で求めることが可能である。
実開昭56−96322号 特許第3073727号 特開2000−314638
図33は前記特許文献2など、従来から実施されている矩形波インクリメンタルエンコーダを使用して回転位相を検出するとき、1回転の原点を前記Z相出力より得て前記位相カウンタをゼロにリセットし、A相とB相出力の矩形波の立ち上がり又は立ち下がりを前記位相カウンタで計数して回転位相を得る経緯を示すものである。
図33の(a)は前記矩形波インクリメンタルエンコーダのA相、B相及びZ相出力を示し、図33の(b)は前記位相カウンタの時間的推移を示す。
ここで、前記Z相出力が ’1’となる期間は前記図33の(a)に示すとおり一定のパルス幅を有するもので、これにより前記図33の(b)に示す回転位相において、期間P及びQに示すとおり回転位相が不必要にゼロとなる期間が発生し高精度の回転位相を得るに支障があった。
又、正弦波インクリメンタルエンコーダを使用する場合は前記図32の(a)で示したとおり、前記パルス位相と前記補間位相の合成により1回転の位相を高分解能で求め得るが、前記パルス位相と前記補間位相の組み合わせに誤りが発生すると正しい回転位相や回転速度を得ることができない。
本発明は上記問題点を解決するためになされたものであって、本発明の目的は、回転方向が正転であっても逆転であっても、インクリメンタルエンコーダを使用して正確な1回転の基準を生成せしめ、高精度の回転位相と回転速度を検出することができ、また、正弦波インクリメンタルエンコーダもしくは正弦波インクリメンタルエンコーダが付属する電動機が停止中や低速回転中のみならず高速回転中であっても、前記パルス位相と前記補間位相を常に正確に検出し、超高精度の回転位相と回転速度を得ることにある。
上記課題を本発明においては、次のように解決する。
(1)90°位相差の2つの正弦波であるA相信号とB相信号のインクリメンタル信号を出力する正弦波インクリメンタルエンコーダを用い、A相信号とB相信号を本発明の請求項1の位相速度検出装置に入力する。この正弦波インクリメンタルエンコーダは1回転に複数サイクルのA相信号と前記B相信号を出力する。
上記位相速度検出装置は、A相及びB相のコンパレータとパルス抽出器を内蔵し、該コンパレータは前記A相信号とB相信号から、それぞれ2値化した矩形A相信号と矩形B相信号を生成して上記パルス抽出器に出力する。
上記パルス抽出器は、上記矩形A相信号と矩形B相信号から、クロック信号に同期した正弦波インクリメンタルエンコーダの正転パルス又は逆転パルスを抽出し出力する。また、前記矩形A相信号と前記矩形B相信号の立上がり、立下りをクロック信号に同期させた、シンクロA相信号とシンクロB相信号を、前記正転パルスと前記逆転パルスに同期して出力する。
(2)本発明の請求項2の発明は、上記A相信号とB相信号のインクリメンタル信号に加えて、1回転を識別するZ相信号を出力する正弦波インクリメンタルエンコーダを用い、上記請求項1の位相速度検出装置に、上記Z相のコンパレータと原点検出器を内蔵させる。上記Z相のコンパレータは、上記Z相信号から2値化した矩形Z相信号を生成する。
上記原点検出器には、前記パルス抽出器が出力する前記正転パルスと前記逆転パルスと、上記矩形Z相信号が入力され、上記原点検出器は、上記正転パルスが出力されているか逆転パルスが出力されているかに応じて前記正弦波インクリメンタルエンコーダの回転方向を識別する。また、前記正弦波インクリメンタルエンコーダが正転方向に回転しているときは前記矩形Z相信号の先端または後端から短い所定のパルス幅の基準原点信号を出力し、前記正弦波インクリメンタルエンコーダが逆転方向に回転しているときは前記矩形Z相信号の後端または先端から短い所定のパルス幅の基準原点信号を出力する。
以上のように基準原点信号を出力することで、Z相信号から短いパルス幅の基準原点信号を生成することができ、また、正転方向に回転する場合と逆転方向に回転する場合で位相が正確に一致する前記基準原点信号を生成することができる。
(3)本発明の請求項3の位相速度検出装置は、請求項2の位相速度検出装置に、パルス位相検出器を内蔵させる。
上記パルス位相検出器は、前記正弦波インクリメンタルエンコーダの前記A相信号とB相信号の1回転当たりのサイクル数による最大パルス位相より充分に大きい値をカウントし出力するアップダウンカウンタと、選択手段を備える。
上記パルス位相検出器のアップダウンカウンタのアップカウント端子、ダウンカウント端子には、それぞれ前記パルス抽出器が出力する前記正転パルスと前記逆転パルスが入力され、アップダウンカウンタのリセット端子には、前記原点検出器が出力する前記基準原点信号が入力され、上記アップダウンカウンタは、上記正転パルスが入力されたときアップカウントし、上記逆転パルスが入力されたダウンカウントし、上記リセット端子に基準原点信号が入力されたときゼロにリセットされる。
上記選択手段は、上記アップ・ダウンカウンタの出力が正のときは、そのカウント値を前記正弦波インクリメンタルエンコーダのパルス位相として出力し、前記アップ・ダウンカウンタの出力が負のときは前記最大パルス位相に1を加算した最大パルス数と前記アップ・ダウンカウンタのカウント値を加算したものを前記正弦波インクリメンタルエンコーダのパルス位相として出力する。
(4)本発明の請求項4の位相速度検出装置は、請求項3の位相速度検出装置に、A/D変換器とコントローラを内蔵させる。
上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力する。
また、前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであり、この場合、該Vhが該Vl以上である。
上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、コントローラは、以下のようにして、パルス位相を補正する。
(i) 前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行う。
また、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行う。
(ii)前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を減算する補正を行う。
また、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を減算する補正を行う。
(5)本発明の請求項5の位相速度検出装置は、請求項3の位相速度検出装置に、A/D変換器とコントローラを内蔵させる。
上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力する。
また、前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであり、この場合、該Vhが該Vl未満である。
上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、コントローラは、以下のようにして、パルス位相を補正する。
(i) 前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を減算する補正を行い、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を減算する補正を行う。
また、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を減算する補正を行い、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を減算する補正を行う。
(ii)前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行う。
また、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行う。
(6)本発明の請求項6の位相速度検出装置は、請求項3の位相速度検出装置に、A/D変換器とコントローラを内蔵させる。
上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力する。
また、前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであり、この場合、該Vhが該Vl以上である。
上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、コントローラは、以下のようにして、パルス位相を補正する。
(i) 前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値がゼロで前記B相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値がゼロで前記B相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行う。
また、前記B相デジタル値がゼロで前記A相デジタル値が負で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値がゼロで前記A相デジタル値が正で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行う。
(ii)前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値がゼロのときは前記パルス位相についての補正を行なわず、前記B相デジタル値がゼロのときも前記パルス位相について補正を行なわない。
(7)本発明の請求項7の位相速度検出装置は、請求項3の位相速度検出装置に、A/D変換器とコントローラを内蔵させる。
上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力する。
また、前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであり、この場合、該Vhが該Vl未満である。
上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、コントローラは、以下のようにして、パルス位相を補正する。
(i) 前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値がゼロのときは前記パルス位相についての補正を行なわず、前記B相デジタル値がゼロのときも前記パルス位相について補正を実施しない。
(ii)前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値がゼロで前記B相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値がゼロで前記B相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行う。
また、前記B相デジタル値がゼロで前記A相デジタル値が正で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値がゼロで前記A相デジタル値が負で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行う。
(8)本発明の請求項8の位相速度検出装置は、請求項4,5,6または請求項7の位相速度検出装置において、発信器が出力するパルスを計数する基準カウンタとデータラッチを設ける。
そして、上記発信器が出力するパルスのエッジに同期したラッチ指令により、同一時刻の前記基準カウンタの出力値と前記パルス位相と前記シンクロA相信号と前記シンクロB相信号と前記A相デジタル値及び前記B相デジタル値をラッチして、所定の時間間隔で前記コントローラに入力する。
上記コントローラは、上記時間間隔における上記基準カウンタの出力値の変化量より、上記時間間隔と前記正弦波インクリメンタルエンコーダの回転位相の変化量を検出し、上記時間間隔と回転位相の変化量より上記正弦波インクリメンタルエンコーダの回転速度を演算し検出する。
本発明においては、正弦波インクリメンタルエンコーダもしくは正弦波インクリメンタルエンコーダが付属する電動機が停止中や低速回転中のみならず高速回転中であっても、回転位相と回転速度を常に精度よく検出することを可能となる。
これにより、高速回転中の複数の電動機相互の高精度の同期制御や、高速の位置決め制御を実現することができる。
以下、本発明の一実施例を図面に基づいて説明する。
図1は請求項1に、図5は請求項2に、図10は請求項3に、図13は請求項4、請求項5、請求項6及び請求項7に関わる実施例を説明し、図29は請求項8に関わる実施例を説明するものである。
図1は実施例1の全体の構成を説明する図であり、図2、図3及び図4は実施例1を更に詳細に説明するものである。始めに図1において1aは正弦波インクリメンタルエンコーダ、2aは位相速度検出装置であり、該位相速度検出装置2aは3、5及び6の機器を内蔵し、3はコンパレータ、5は一定周波数の基準クロックを生成する発信器、6は本実施例によるパルス抽出器であり次にこれらについて順次説明を行う。
前記コンパレータ3は、前記正弦波インクリメンタルエンコーダ1aが出力するA相とB相の正弦波を' 0' と' 1' の2値の矩形A相信号と矩形B相信号に変換するものであり、該矩形A相信号と矩形B相信号は、上記パルス抽出器6のPA入力とPB入力に接続され、前記発信器5は該パルス抽出器6のCLK入力に基準クロックCLKを供給する。 次に、前記パルス抽出器6のQ1出力とQ2出力は例えば、前記正弦波インクリメンタルエンコーダ1aが正転方向に回転するときQ1出力に回転に応じた正転パルスを、前記正弦波インクリメンタルエンコーダ1aが逆転方向に回転するときQ2出力に回転に応じた逆転パルスを出力する。そして、前記パルス抽出器6のQA出力とQB出力は、回転に応じた正転パルスを送出する前記Q1出力、又は逆転パルスを送出する前記Q2出力を生成するに至った前記PA入力と前記PB入力の状態を保持したシンクロA相信号QAとシンクロB相信号QBを出力する。
次に、前記正弦波インクリメンタルエンコーダ1aが正転方向に回転するとき、前記パルス抽出器6の動作について更に図2を参照しつつ説明する。
図2の(a)は前記正弦波インクリメンタルエンコーダ1aが正転のときのA相とB相の出力の時間的推移を示し、正転のとき例えばB相がA相より90°の進みとし、前記正弦波インクリメンタルエンコーダ1aが1回転でA相及びB相の正弦波はそれぞれNサイクル生成するものとしている。
図2の(b)は前記A相のコンパレータ3の出力の時間的推移を示すもので、該コンパレータ3はA相の正弦波入力を概略ゼロと比較して' 0' と' 1' の2値信号である矩形A相信号を出力し前記パルス抽出器6のPA入力となる。そして、同様に図2の(c)は前記B相のコンパレータ3の出力の矩形B相信号の時間的推移を示すと共に前記パルス抽出器6のPB入力を示す。ここで、前記図2の(b)の(1) と(2) は前記PA入力のそれぞれ立ち上がりと立ち下がりを示し、前記図2の(c)の(3) と(4) は前記PB入力のそれぞれ立ち上がりと立ち下がりを示し、これらの説明は後述するものである。
更に、図2の(d)は前記発信器5が出力する基準クロックCLKの時間的推移を示し、該基準クロックCLKは前記パルス抽出器6のCLK入力に接続されている。ここで、該図2の(d)は説明の為、前記図2の(a)から図2の(c)と対比して目視できるように示すが、実用例を示せば前記図2の(a)において1回転当たりのNが例えば512サイクルで回転速度が1800rpm(revolutions per minute)のとき、前記図2の(a)のA相又はB相の正弦波の周波数は15.36KHzとなり、一方前記図2の(d)に示す前記発信器5の基準クロックの周波数は例えば20MHzである。かように、前記発信器5の周波数は前記正弦波インクリメンタルエンコーダ1aのA相とB相が出力する正弦波の周波数に比して充分に高く選定するものである。
次に、図2の(e)は前記正弦波インクリメンタルエンコーダ1aが正転方向に回転しているとき、前記パルス抽出器6のQ1出力に回転に応じた正転パルスを出力する状態を示す。該図2の(e)は前記図2の(a)で示す入力周波数の×4逓倍のパルス周波数の例で、このとき実用例を示せば、前記図2の(a)において1回転当たりのNが例えば512サイクルのとき、前記正弦波インクリメンタルエンコーダ1aは1回転で512×4逓倍で2048個の正転パルスを生成することとなる。
又、前述のとおり前記図2の(e)は前記図2の(a)で示す入力周波数の×4逓倍のパルス周波数の例で示したが×1逓倍あるいは×2逓倍であってもよい。ここで、図2の(f)は前記正弦波インクリメンタルエンコーダ1aが逆転方向に回転するとき、前記パルス抽出器6の逆転パルスを出力するQ2出力の状態を示すが、正転方向に回転しているとき該Q2出力は変化しない。
そして、図2の(g)と(h)は前記パルス抽出器6が出力するシンクロA相信号QAとシンクロB相信号QBの時間的遷移を示すもので、回転に応じたパルスを出力する前記Q1出力又はQ2出力を生成した前記PA入力と前記PB入力の状態を保持し出力する。これを更に説明すれば、前記図2の(b)の(1) で示すPA入力の立ち上がりは前記図2の(d)の基準クロックCLKで同期化され、図2の(e)の時刻t1における正転パルスを生成する。そして、前記図2の(d)の基準クロックCLKにより前記正転パルスと正確に同期した前記図2の(g)で示すとおりシンクロA相信号QAが' 1' となる。更に前記図2の(b)の(2) で示すPA入力の立ち下がりは基準クロックCLKで同期化され、前記図2の(e)の時刻t2における正転パルスを生成すると同時に、前記図2の(g)で示すとおりシンクロA相信号QAが' 0' となる。同様に前記図2の(c)の(3) と(4) におけるPB入力の立ち上がりと立ち下がりは基準クロックCLKで同期化され、前記図2の(e)の時刻t3とt4における正転パルスを生成すると同時に、前記図2の(h)で示すとおりシンクロB相信号QBが' 1' 、' 0' と変化する。
すなわち、本実施例は前記図2の(g)と(h)で示す前記パルス抽出器6が出力するシンクロA相信号QAとシンクロB相信号QBの変化を、前記図2の(e)で示す正転パルスと時間的に厳密に同期せしめ、これにより前記図2の(e)のQ1出力の正転パルスを生成した相がA相に起因するかB相に起因するか、前記シンクロA相信号QAとシンクロB相信号QBをモニタすることにより常に正確に認識することを可能とするものである。なお、上記では、PBの立ち上がり(3) 、立下り(4) の際の時刻t3,t4で生ずるパルスについて説明したが、t1、t2の間に図示されるパルス、t3、t4の間に図示されるパルスもPBの立ち上がり、立ち下がりの時点に生ずるパルスである。
次に、図3は前記正弦波インクリメンタルエンコーダ1aが逆転方向に回転するとき前記パルス抽出器6の動作を説明するものである。図3の(a)は前記正弦波インクリメンタルエンコーダ1aが逆転するときのA相とB相の出力の時間的推移を示し、図2の(a)に換えてA相がB相より90°の進みとなる。又、図3の(a)から(h)において図2の(a)から(h)と同じ記号を付すものはこれと同じ前記パルス抽出器6の入力や出力を示しその説明は割愛する。
ここで、前記図3の(b)の(5) と(6) は前記パルス抽出器6のPA入力のそれぞれ立ち上がりと立ち下がりを示し、前記図3の(c)の(7) と(8) は前記PB入力のそれぞれ立ち上がりと立ち下がりを示す。そして、前記図3の(b)の(5) で示すPA入力の立ち上がりは図3の(d)の基準クロックCLKで同期化され、図3の(f)の時刻t5における逆転パルスを生成する。そして、前記図3の(d)の基準クロックCLKにより該逆転パルスと正確に同期した図3の(g)で示すシンクロA相信号QAが' 1' となる。更に前記図3の(b)の(6) で示すPA入力の立ち下がりは基準クロックCLKで同期化され、前記図3の(f)の時刻t6における逆転パルスを生成すると同時に、前記図3の(g)で示すとおりシンクロA相信号QAが' 0' となる。同様に前記図3の(c)の(7) と(8) におけるPB入力の立ち上がりと立ち下がりは基準クロックCLKで同期化され、前記図3の(f)の時刻t7とt8における逆転パルスを生成すると同時に、前記図3の(h)で示すとおりシンクロB相信号QBが' 1' 、' 0' と変化する。なお、逆転のときは図3の(e)に示す前記パルス抽出器6の正転パルスのQ1出力は変化しない。
かように本実施例は正転のときと同様に逆転方向に回転するときも、前記図3の(g)と(h)で示す前記パルス抽出器6の出力であるシンクロA相信号QAとシンクロB相信号QBの変化を前記図3の(f)で示す逆転パルスと時間的に正確に同期せしめ、これにより前記図3の(f)のQ2出力の逆転パルスを生成した相がA相に起因するかB相に起因するか、前記シンクロA相信号QAとシンクロB相信号QBをモニタすることにより常に正確に認識することを可能とするものである。
次に、図4に前記パルス抽出器6の一実施例を示す。図4において6はパルス抽出器であり、PA入力、PB入力、CLK入力、Q1出力、Q2出力、QA出力及びQB出力は前記図1で同じ記号を付すものと同じでありその説明は割愛する。そして、601、603、605、607及び609はNOTゲートであり、602、604、606、608、613、614、615及び616はDフリップフロップであり、610はANDゲート、611及び612はORゲートである。なお、本実施例の以下の説明において、各種フリップフロップのCLK入力は入力する信号の立ち上がりでラッチ動作をするものとする。
始めに、前記Dフリップフロップ602、604とNOTゲート603、605は前記PA入力の立ち上がりと立ち下がりを検出するものであり、同様に前記Dフリップフロップ606、608とNOTゲート607、609は前記PB入力の立ち上がりと立ち下がりの検出に用いる。ここで、Dフリップフロップ602のQ出力を(602Q)と表記しNOTゲート603の出力を(/602Q)と表記し、前記Dフリップフロップ604、606、608及びNOTゲート605、607、609のそれぞれの出力もこれに準じて表記すれば、ANDゲート610の(1) を付すものは次の論理演算を実行する。
(1) :( 602Q) ∩ (/604Q) ∩ (606Q) ・・・・・・(3)式
上記(3)式の第1項と第2項の(( 602Q)∩(/604Q) )により前記図2の(b)の(1) の立ち上がりを検出し、更に第3項の(∩(606Q))によりB相が' 1' であることより正転を検出し、前記図2の(e)の時刻t1における正転パルスを生成するに至る。同様に、図4のANDゲート610の(2) から(4) を付すものはそれぞれ次の(4)式から(6)式に示す論理演算を実行し、これらの第1項と第2項から立ち上がり又は立ち下がりを検出し更に第3項により正転を検出し、前記図2の(e)の時刻t2、t3及びt4における正転パルスを生成するに至る。ここで、前記図2の(b)と(c)で付す(1) から(4) は前記図4のANDゲート610に付す(1) から(4) に対応しているので留意されたい。
(2) :( /602Q) ∩ ( 604Q) ∩ (/606Q) ・・・・・・・(4)式
(3) :( 606Q) ∩ (/608Q) ∩ (/602Q) ・・・・・・・(5)式
(4) :( /606Q) ∩ ( 608Q) ∩ ( 602Q) ・・・・・・・(6)式
そしてこの(1) から(4) のANDゲート610の出力は前記ORゲート611を経由して前記Dフリップフロップ613に送られ、該Dフリップフロップ613は前記CLK入力の立ち上がりに同期して正転パルスをQ1出力に送出する。
一方、ANDゲート610の(5) から(8) を付すものはそれぞれ次の(7)式から(10)式の論理演算を実行し、前記図3の(b)、(c)の(5) から(8) を付すエッヂを検出し、前記図3の(f)の時刻t5からt8における逆転パルスを生成するに至る。
(5) :( 602Q) ∩ (/604Q) ∩ (/606Q) ・・・・・・・(7)式
(6) :( /602Q) ∩ ( 604Q) ∩ ( 606Q) ・・・・・・・(8)式
(7) :( 606Q) ∩ (/608Q) ∩ ( 602Q) ・・・・・・・(9)式
(8) :( /606Q) ∩ ( 608Q) ∩ (/602Q) ・・・・・・(10)式
この(5) から(8) のANDゲート610の出力は前記ORゲート612を経由して前記Dフリップフロップ614に送られ、該Dフリップフロップ614は前記CLK入力の立ち上がりに同期して逆転パルスをQ2出力に送出する。
更に、前記(3)式から(10)式の出力が' 1' となるのはこれらの式の第1項目の前記Dフリップフロップ602又は606の出力が変化する時に依るもので、前記図4において該Dフリップフロップ602と606の出力は、前記Dフリップフロップ615と616を経由して前記シンクロA相信号QAと前記シンクロB相信号QBの出力に送出されるものである。そして、該Dフリップフロップ615と616と前記Dフリップフロップ613と614は同一の前記CLK信号の立ち上がりに同期して動作するものである。 これにより、本実施例は前記Q1出力とQ2出力から送出される正転パルスと逆転パルスと、時間的に正確に同期せしめた前記正弦波インクリメンタルエンコーダ1aのA相とB相を2値化し保持した前記シンクロA相信号QAと前記シンクロB相信号QBを送出し、前記正転パルスと逆転パルスを生成した相がA相に起因するかB相に起因するか、前記シンクロA相信号QAと前記シンクロB相信号QBをモニタすることにより正確に認識することを可能とするものである。
ここで、前記図4において前記NOTゲート601は前記基準クロックCLKを反転し、前記PA入力とPB入力の立ち上がりと立ち下がりを検出するDフリップフロップ602、604と607、609のCLK入力にクロックを供給するもので、これによりそれぞれのANDゲート610の出力に依り得られる正転パルスと逆転パルスを前記基準クロックCLKの立ち下がりに同期して生成させ、基準クロックCLKの立ち上がりに同期する前記Dフリップフロップ613、614、615及び616のD入力に充分なデータセットアップ時間を確保する為、便宜的に設けたものである。
又、前記図4の前記ORゲート611及び612は前記正弦波インクリメンタルエンコーダ1aのA相とB相を×4逓倍する例で示したが、これに換えて×2逓倍や×1逓倍するものであっても良い。又、前記Q1出力とQ2出力をそれぞれ正転パルスと逆転パルスを出力する実施例で示したが、これに換えて例えばQ1出力を正転及び逆転方向に回転するに応じて歩進パルスを生成するものとし、Q2出力を正転のときは例えば' 0' を逆転のときは' 1' を出力するものとし、このQ1出力とQ2出力と時間的に正確に同期せしめた、前記正弦波インクリメンタルエンコーダ1aのA相とB相を2値化した前記シンクロA相信号QAと前記シンクロB相信号QBを送出させても良い。
図5は実施例2の全体の構成を説明する図であり、図6,図7、図8及び図9は実施例2を更に詳細に説明するものである。該図5において1bは正弦波インクリメンタルエンコーダで前記図1の正弦波インクリメンタルエンコーダ1aに1回転を識別するZ相信号を付加したものであり、2bは位相速度検出装置、4はコンパレータ、7は本実施例による原点検出器で、その他図1と同じ記号を付す3、5及び6はこれと同じ機能を有しその説明を割愛する。
始めに、前記正弦波インクリメンタルエンコーダ1bは前記Z相信号を出力するもので、図6を参照してこれの説明を行う。該図6は前記正弦波インクリメンタルエンコーダ1bが出力する信号を説明し、該図6の(a)は前記図2の(a)と同じくA相とB相の出力の時間的推移を示しその説明は割愛する。次に、該図6の(b)は例えばLowレベルを0V、Highレベルを5Vとして前記正弦波インクリメンタルエンコーダ1bの出力するZ相の出力の時間的推移を示す。該図6の(b)で示すとおり、Z相は1回転毎にHighレベルとなり1回転を識別するものである。そして、前記図5において該正弦波インクリメンタルエンコーダ1bのZ相の出力は、前記位相速度検出装置2bが内蔵するコンパレータ4で波形整形され' 0' と' 1' に2値化された矩形Z相信号となり、後述する原点検出器7のPZ入力に送出される。
次に、図5の前記原点検出器7はP1入力、P2入力、PZ入力、CLK入力及びQZ出力を有し、該P1入力には前記パルス抽出器6のQ1出力から送出される前記正転パルスが入力され、前記P2入力には前記Q2出力からの前記逆転パルスが入力される。又、前記原点検出器7の前記PZ入力には前述するとおり前記コンパレータ4の出力が入力され、前記CLK入力には前記発信器5からの基準クロックCLKが入力される。そして、前記PZ入力に入力される前記矩形Z相信号はパルス幅が広いもしくは不定のものであるが、前記原点検出器7により正転方向に回転するときも逆転方向に回転するときも、前記正弦波インクリメンタルエンコーダ1bの同じ位相で発生する短いパルス幅の正確な基準原点信号を前記QZ出力から送出するものである。
次に図7を参照して、この原点検出器7の動作について更に詳細に説明する。始めに図7の(a)は前記正弦波インクリメンタルエンコーダ1bが正転及び逆転方向に回転するときのA相とB相の出力の時間的推移を示し、正転は時刻t3迄、逆転は時刻t3以降としている。そして、図7の(b)は前記正弦波インクリメンタルエンコーダ1bのZ相出力の時間的推移を前記図7の(a)のA相とB相の出力と対比して示しており、説明を容易とする為に正転のとき時刻t1からt2でZ相が出力した後、速やかに時刻t3で回転方向が逆転したとしている。ここで該図7の(b)において、正転のときの時刻t1における前記正弦波インクリメンタルエンコーダ1bの位相は、逆転のときの時刻t5における位相と同一であることに留意されたい。同様に正転のときの時刻t2における前記正弦波インクリメンタルエンコーダ1bの位相は、逆転のときの時刻t4における位相と同一であることに留意されたい。
次に、図7の(c)は前記原点検出器7のCLK入力の時間的推移を示し、該CLK入力の1周期をToscとしている。そして、図7の(d)は前記原点検出器7のQZ出力の時間的推移を示すもので、図示するとおり正転のときは時刻t1における前記Z相の立ち上がりに同期してパルス幅がToscの基準原点信号を生成し、逆転のときは時刻t5における前記Z相の立ち下がりに同期してパルス幅がToscの基準原点信号を生成し前記QZ出力とするものである。かように本実施例は、前記正弦波インクリメンタルエンコーダ1bの出力するZ相のパルス幅が広いものであっても短時間にパルス幅を定めた基準原点信号を生成すると共に、正転のときも逆転のときも前記正弦波インクリメンタルエンコーダ1bの同じ位相で、正確に前記基準原点信号を生成するものである。
かような前記原点検出器7の一実施例を図8に示し説明する。該図8において原点検出器7、P1入力、P2入力、PZ入力、CLK入力及びQZ出力は前記図5で説明するものと同じでその説明は割愛し、701、705、706及び707はNOTゲートであり、702はJKフリップフロップ、703及び704はDフリップフロップ、708及び709はANDゲート、710はORゲートである。始めに、前記JKフリップフロップ702は前記図5のパルス抽出器6が出力する正転パルスのP1入力と逆転パルスのP2入力をそれぞれK、J入力とし、これによりQ出力は前記正弦波インクリメンタルエンコーダ1bの回転方向を検出することとなり正転のときは0、逆転のときは1となる。そして、正転のときはNOTゲート705を経由して後述のANDゲート708を選択し、逆転のときは同じく後述のANDゲート709を選択する。ここで、K、J入力の前記正転パルスと前記逆転パルスが前記基準クロックCLKの立ち上がりに同期して変化する場合、該K,J入力のデータセットアップ時間を確保する為、便宜上、NOTゲート701を設け、前記基準クロックCLKの立ち下がりに同期してJKフリップフロップ702のQ出力に回転方向を送出するとしている。
同じく前記図8において、直列に接続された前記Dフリップフロップ703と704はPZ入力の前記矩形Z相信号の立ち上がりと立ち下がりを検出する為のものであり、前記ANDゲート708は前記Dフリップフロップ703と前記NOTゲート706の出力から正転のときの基準原点信号を生成し、前記ANDゲート709は前記Dフリップフロップ704と前記NOTゲート707の出力から逆転のときの基準原点信号を生成する。そして、前記ORゲート710に依り前記ANDゲート708と709の出力は1つにまとめられQZ出力に基準原点信号を出力することになる。
前記図8の実施例について図9を参照しつつ更に説明する。該図9は原点検出器7の動作を説明するもので、図9の(a)は前記正弦波インクリメンタルエンコーダ1bが正転及び逆転方向に回転するときのA相とB相の出力の時間的推移を示し、時刻t1迄は正転、時刻t1以降は逆転方向に回転するものとしている。図9の(b)は前記原点検出器7の正転パルスであるP1入力を示すもので、前記図2の(e)で示した信号と同一であり説明は割愛し、同様に図9の(c)は前記原点検出器7の逆転パルスであるP2入力を示すもので、前記図3の(f)で示した信号と同一であり説明は割愛する。そして、図9の(d)と(e)はそれぞれ前記原点検出器7のPZ入力とQZ出力を示す。
ここで、前記図9の時間T1とT2の期間を拡大して、前記図9の(e)の基準原点信号のQZ出力を生成する経緯を次に説明する。図9の(f)、(g)及び(h)は前記図9の(b)、(c)及び(d)をそれぞれ拡大して示し、図9の(i)は基準クロックCLKが入力されるCLK入力を示し1周期をToscとしており、実用例を示せば基準クロックCLKが20MHzのときToscは僅か0.05μSとなる。
次に、図9の(j)は回転方向を検出する前記JKフリップフロップ702の出力を示し、例えば前記図9の(f)における時刻t40の正転パルスにより時刻t41において' 0' となり、逆転については前記図9の(g)における時刻t50の逆転パルスにより時刻t51において' 1' となる。かように前記JKフリップフロップ702の出力は前記正弦波インクリメンタルエンコーダ1bの回転方向を示し、時間T1における正転のときは前記NOTゲート705を経由して前記ANDゲート708を選択し、時間T2における逆転のときは前記ANDゲート709を選択する。
次に、図9の(k)と(l)は前記Dフリップフロップ703と704の出力を示すが、該Dフリップフロップ703と704は前記PZ入力のシフターであり、従って前記図9の(h)の時刻t60におけるPZ入力の立ち上がりは前記図9の(k)においては時刻t61にて、前記図9の(l)においては時刻t62にて' 0' から' 1' となる。そして、正転のとき選択される前記ANDゲート708の出力は図9の(m)の時刻t61からt62で示すとおり' 1' となる。同様に前記図9の(h)の時刻t70におけるPZ入力の立ち下がりは前記図9の(k)においては時刻t71にて、前記図9の(l)においては時刻t72にて' 1' から' 0' となり、逆転のとき選択される前記ANDゲート709の出力は図9の(n)の時刻t71からt72で示すとおり' 1' となるものである。
そして、前記ANDゲート708と709の出力は、前記ORゲート710により図9の(o)に示す如くパルス幅Toscの基準原点信号となりQZ出力に送出されるものである。かように、前記図9の(e)に示したQZ出力の生成について前記図9の(f)から(o)で説明した。ここで、前記図9の(a)と(e)において、正転のときQZが' 1' となる時刻t2における前記正弦波インクリメンタルエンコーダ1bの位相と、逆転のときQZが' 1' となる時刻t3における前記正弦波インクリメンタルエンコーダ1bの位相は等しいものであり、これにより、前記正弦波インクリメンタルエンコーダ1bの1回転の原点を正転のときも逆転のときも等しく検出するものである。又、前記図9の(d)で示すとおりPZ入力の' 1' であるパルス幅が長いものであっても、前記図9の(e)と(o)で示す基準原点信号となるQZ出力は、前記基準クロックCLKによりパルス幅がToscと充分に短いものであり、これにより、前記正弦波インクリメンタルエンコーダ1bの1回転の原点を精度良く検出するものである。なお、これまでの説明では前記図(d)と(e)に示すとおり、基準原点信号は正転のときはZ相信号の先端から逆転のときは後端から得るとしたが、これに換えて正転のときはZ相信号の後端から逆転のときは先端から得るとしても良いのは明かである。
図10は実施例3の全体の構成を説明する図であり、図11と図12は実施例3を更に詳細に説明するものである。始めに該図10において2cは位相速度検出装置、8は本実施例によるパルス位相検出器で、その他図5と同じ記号を付す1b、3、4、5、6及び7はこれと同じ機能を有しその説明を割愛する。
そして、前記位相速度検出装置2cは本実施例によるパルス位相検出器8を内蔵し、該パルス位相検出器8はP1入力、P2入力、PZ入力及びjビットデータサイズのパルス位相出力を有し、該P1入力には前記パルス抽出器6のQ1出力から送出される正転パルスが入力され、前記P2入力には前記パルス抽出器6のQ2出力からの逆転パルスが入力される。又、前記PZ入力には前記原点検出器7から回転方向が正転であっても逆転であっても、前記正弦波インクリメンタルエンコーダ1bの正確な基準原点信号が入力される。これにより、前記パルス位相検出器8は正転方向及び逆転方向に回転するときも、前記正弦波インクリメンタルエンコーダ1bの正確なパルス位相を出力するものである。
次に、図11は前記パルス位相検出器8の一実施例を示すもので、該図11において801はアップ・ダウンカウンタ、802は係数器、803は加算器及び804はセレクタである。そして、前記アップ・ダウンカウンタ801は、前記P1入力をUP入力によりアップカウントし前記P2入力をDOWN入力によりダウンカウントするもので、前記P1入力には前記図2の(e)で説明する前記パルス抽出器6のQ1出力から送出される正転パルスが入力されるものである。ここで、以下の説明を容易とする為に実用例を示せば、前記正弦波インクリメンタルエンコーダ1bは1回転当たり512サイクルのA相又はB相の正弦波を発生し、これを×4逓倍して正転パルスを生成するとすれば1回転の最大パルス数は2048となる。
そして、この正転パルスを計数することにより、前記正弦波インクリメンタルエンコーダ1bの回転位相は、1回転が0から最大パルス位相が2047の範囲で検出できることとなる。そして、2047を16進数で表記すれば7FFhであり2進数では111、1111、1111bと最大11ビットのデータサイズとなるが、このとき、前記アップ・ダウンカウンタ801の計数するカウント値の最大は11ビットを越えて大きい、例えば16ビットとするものである。なお、本発明において16進数で数値を表記するときは数値の末尾に' h' を、2進数で数値を表記するときは数値の末尾に' b' を添えるものとする。
次に、前記P2入力には、前記図3の(f)で説明する前記パルス抽出器6のQ2出力から送出される逆転パルスが入力され、前記アップ・ダウンカウンタ801のDOWN入力への信号となる。そして、前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するとき、前記アップ・ダウンカウンタ801が16ビットデータサイズとすれば、カウント値は例えば次のとおりダウンカウントする。
0001h
0000h
FFFFh
FFFEh=1111、1111、1111,1110b・・・・(11)式
ここで、前記アップ・ダウンカウンタ801のデータサイズは充分大きく選定しているので該カウント値はダウンカウントによりゼロとなることはなく、後述するRST入力により1回転毎にゼロにリセットされるものであり、これにより前記カウント値の最上位ビット(以下、MSBと称す)は必ず符号ビットとなる。
前記アップ・ダウンカウンタ801が出力するカウント値について、以上で説明したことを要約すれば、前記正弦波インクリメンタルエンコーダ1bが1回転することにより検出するパルス位相の最大値をiビットのデータサイズとすれば、前記アップ・ダウンカウンタ801が計数するカウント値はiビットを充分に越えるjビットのデータサイズとするものである。
次に前記図11において、前記アップ・ダウンカウンタ801が出力するjビットのカウント値は、前記セレクタ804と加算器803に送られる。ここで、該図11において数値データの流れは太線で示すものであり、本発明の他の図の説明においても同様とする。そして、係数器802は前記正弦波インクリメンタルエンコーダ1bの最大パルス位相をPmaxとすれば、これに1を加算した(Pmax+1)となる1回転当たりの最大パルス数なる定数を出力する。これを具体例により示せば、最大パルス位相Pmaxが2047のとき係数器802は最大パルス数2048を出力するものである。
そして、前記加算器803は前記アップ・ダウンカウンタ801の出力と前記係数器802の出力を加算したデータを前記セレクタ804に出力し、前記セレクタ804はA1からAjからなるA入力に、前述のとおり前記アップ・ダウンカウンタ801が出力するカウント値を入力し、B1からBjからなるB入力に、前記加算器803が出力するデータを入力する。そして、該セレクタ804はS入力に' 0' が入力されたときはA入力を選択し、S入力に' 1' が入力されたときはB入力を選択してQ1からQjよりなるQ出力へ出力し、これにより、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも、逆転方向に回転するときも常に正しくパルス位相を検出するものである。
次に、図12により前記図11の一実施例の動作について更に説明する。図12の(a)は前記P1入力の正転パルスの時間的推移を示し、時刻t3迄と時刻t8以降において正転パルスが入力されるとし、図12の(b)は前記P2入力の逆転パルスの時間的推移を示し、時刻t4から時刻t7迄逆転パルスが入力されるとし、図12の(c)は前記PZ入力の状態を示し時刻t1、t2,t5,t6及びt9で1回転の原点を検出し' 1' になるとしている。
そして、図12の(d)は前記アップ・ダウンカウンタ801が出力するカウント値を示し、正転のときは例えば時刻t1からカウントアップし、時刻t2において最大パルス位相Pmaxに達すると共に前記PZ入力によりいったんゼロにリセットされつつカウントアップを継続し、逆転のときは時刻t4よりカウントダウンし、時刻t5においてカウント値はゼロになると共に前記PZ入力によってもゼロとなる。
そして、時刻t5以降は前記(11)式で説明したとおり負の方向にカウントダウンを継続し、時刻t6において負の最大パルス位相(−Pmax)に達すると共に、前記PZ入力により一旦ゼロにリセットされつつカウントダウンを継続する。かように、前記図12の(d)で示すとおり前記アップ・ダウンカウンタ801の出力は、前記正弦波インクリメンタルエンコーダ1bの位相を正負で検出するものである。
次に、図12の(e)は前記アップ・ダウンカウンタ801の出力のMSBであるQjのワンビット出力、すなわち前記セレクタ804のS入力を示し、該Qj出力は前記図12の(d)に示すカウント値が正のとき' 0' 、負のとき' 1' となる。
そして、図12の(f)は前記セレクタ804の出力、すなわち前記パルス位相検出器8が出力するパルス位相の時間的推移を示し、時刻t5迄は前記セレクタ804のS入力は' 0' であることより、前記アップ・ダウンカウンタ801の出力がそのままパルス位相として前記セレクタ804の出力となり、時刻t5以降は前記セレクタ804のS入力は' 1' であることより、前記加算器803の出力がパルス位相として前記セレクタ804の出力となる。
ここで、前記係数器802の出力値を(Pmax+1)とすれば、
(Pmax+1)−アップ・ダウンカウンタ801の出力・・・・(12)式
なる値が前記加算器803の出力となり、前記図12の(f)の時刻t5以降で示すとおりパルス位相は正数で得ることができる。
又、前記図12の(f)の時刻t6においてPZ入力が' 1' となるとき、逆転のときはパルス位相が最大パルス位相にプリセットされるべきものであるが、前記図12の(d)の時刻t6で示すとおり、前記アップ・ダウンカウンタ801は正転のときと同様にゼロにリセットするのみで、簡単な構成で前記正弦波インクリメンタルエンコーダ1bのパルス位相検出器を実現するものである。
かように本実施例は、前記アップ・ダウンカウンタ801のカウント値のデータサイズを最大パルス位相よりも充分大きくすることを特徴とし、これにより前記正弦波インクリメンタルエンコーダ1bの最大パルス位相が異なるものを使用するときも、前記係数器802の値を変更するのみでパルス位相を検出可能とし、又、前記アップ・ダウンカウンタ801のカウント値が負のときは該カウント値のMSBを用いることにより前記(12)式による位相をパルス位相とし、正転のときのみならず逆転のときも常に正のパルス位相を得るものである。
又、正転のときのみならず逆転方向に回転するときも、前記PZ入力により前記アップ・ダウンカウンタ801のカウント値をゼロにリセットすればよい特徴がある。そして、前記パルス位相検出器8のPZ入力には、前記図7の(d)において説明した正転のときも逆転のときも、前記正弦波インクリメンタルエンコーダ1bの同じ位相で生成される極めてパルス幅の狭い基準原点信号が供給されているので、超高精度の回転位相を検出できる特徴がある。
図13は本発明の請求項4、請求項5、請求項6及び請求項7に関わる実施例4の全体の構成を説明するものであり、図14は前記図13の全体の動作を説明する図である。始めに前記図13において、2dは位相速度検出装置、9はマイクロプロセッサ又はデジタルシグナルプロセッサなどを使用するものであるが以下の説明においてはマイクロコントローラと称し、10はパラレル出力ポート、11及び12はパラレル入力ポート、13及び14はA/D変換器であり、その他前記図10と同じ記号を付すものはこれと同じ機能を有しその説明を割愛する。
そして、前記マイクロコントローラ9のD1からDnはデータバスをCはリード、ライト信号及びアドレスなどのコントロール信号を表し、前記パラレル出力ポート10及び前記パラレル入力ポート11、12においてDを付すものはデータ入力を、Qを付すものはデータ出力を示し、Cはコントロール信号の入力を示す。
又、A/D変換器13及び14はそれぞれ前記正弦波インクリメンタルエンコーダ1bのA相信号とB相信号を入力し、ST入力がアクティブになるとA/D変換を実行して、アナログの正弦波である前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値をD1からDk出力へ送出し、Cはコントロール信号の入力を示すものである。
そして、前記マイクロコントローラ9は前記パラレル入力ポート11経由で前記パルス位相検出器8が出力するパルス位相を、前記パラレル入力ポート12経由で前記パルス抽出器6が出力する前記シンクロA相信号とシンクロB相信号を、前記パラレル出力ポート10経由で前記A/D変換器13及び14のST入力をアクティブとして、前記A相デジタル値とB相デジタル値を連続して入力する。これにより、前記マイクロコントローラ9は前記正弦波インクリメンタルエンコーダ1bの回転位相を精度良く検出するものである。 ここで、前記マイクロコントローラ9のC出力、パラレル出力ポート10のC入力、パラレル入力ポート11、12のC入力及びA/D変換器13、14のC入力は、リード、ライト信号やアドレス信号など通常、マイクロコントローラを使用するときのコントロール信号を表し説明を割愛する。
次に、請求項4からの本発明について説明する前に、図14により前記図13の全体の動作について予め説明する。図14の(a)は前記正弦波インクリメンタルエンコーダ1bのA相とB相出力の時間的推移を表し、時刻t3において前記A/D変換器13、14の変換値であるA相デジタル値とB相デジタル値をそれぞれa1、b1としている。
又、該図14の(a)に対応して、図14の(b)と(c)は前記パルス抽出機6が出力する前記シンクロA相信号QAとシンクロB相信号QBの時間的推移を表し、図14の(d)は前記原点検出器7が出力する前記基準原点信号QZの時間的推移を、図14の(e)は前記パルス位相検出器8が出力するパルス位相の時間的推移を示す。
そして、該図14の(d)の時刻t4においてQZは' 1' になるとし、このとき前記図14の(e)においてパルス位相はゼロにリセットされるものである。更に、該図14の(e)において時刻t1にて前記パルス位相は(c−4)とし、以降は前記図14の(b)のQAと図14の(c)のQBの変化と共に+1ずつカウントアップし、時刻t2においては(c+2)、時刻t3においては(c+6)となり、前述のとおり時刻t4においてゼロとなり、以降は1,2・・・と推移するものである。なお、該図14の(e)において前記パルス位相は、前記正弦波インクリメンタルエンコーダ1bのA相とB相の一周期を便宜的に4逓倍して検出する例で示している。
次に、図14の(f)は前記正弦波インクリメンタルエンコーダ1bの仮想上の補間位相の時間的推移を模擬的に示し、図14の(g)は前記マイクロコントローラ9が、前記正弦波インクリメンタルエンコーダ1bの回転位相を検出するタイミングを示す。
始めに、前記図14の(e)で示す前記パルス位相は、前記正弦波インクリメンタルエンコーダ1bのA相とB相の一周期を4逓倍して計数するものであり、図14の(f)は前記パルス位相の最下位ビット(該A相とB相の一周期の4分の1以下)の補間位相の仮想上の時間的推移を示す。
これを更に説明すれば、前記図14の(a)において時間T3で示す区間が一周期の4分の1であり、この区間の補間位相は前記図14の(f)の時間T3に示す如くゼロからαmaxの間で推移するものである。
そして、該マイクロコントローラ9は、前記図13に図示しない電動機の制御など種々のジョブをも実行するものであるが、1スキャン毎に前記正弦波インクリメンタルエンコーダ1bの回転位相の検出を、例えば前記図14の(g)に示す時刻t1、t2及びt3にて処理を行うとしている。
そして、該回転位相の検出の為に、前記マイクロコントローラ9は前記パルス位相検出器8が出力するパルス位相と、前記A/D変換器13と14が出力するA相デジタル値とB相デジタル値を連続して入力し、前記補間位相の検出は前記図14の(a)の時刻t3で入力したa1とb1から前記(1)式により例えばαを得るものである。
かように、粗い位相として前記パルス位相を、密な位相として補間位相を検出し、前記図32の(a)による前記正弦波インクリメンタルエンコーダ1bの回転位相を超高精度で得ることとなる。
ここで、前記正弦波インクリメンタルエンコーダ1bの回転位相を超高精度で得る為には、例えば前記図14の(e)の時刻t3において、パルス位相(C+6)と補間位相αの組み合わせを正しく検出しなければならず、前記位相速度検出装置2dを構成する電子部品のばらつきが有るときも、前記正弦波インクリメンタルエンコーダ1bが高速で回転するときも、前記パルス位相を時間T3の始めの時刻においては(C+5)と 又、時間T3の終わりの時刻においては(C+7)と誤って検出してはならない。
以上のとおり実施例4について説明を明かとする為、始めに前記図13の全体の動作について前記図14を参照しつつ説明を行ったものであるが、以下に請求項4に関する発明から順次説明を行う。
図15は前記図13における前記コンパレータ3の動作を説明するもので、図15の(a)は前記正弦波インクリメンタルエンコーダ1bが正転のときのA相とB相の出力の時間的推移を示し、これに対応して図15の(b)と(c)は、A相とB相の前記コンパレータ3の出力を前記パルス抽出器6で保持したシンクロA相信号QAとシンクロB相信号QBの時間的推移を示す。
そして、前記コンパレータ3は入力がVh以上で' 1' となり入力がVl未満で' 0' となるものであるが、前記図15はVhがVlを越えて大きいときの動作を示すものであって、例えば前記図15の(a)の時刻t1においては前記正弦波インクリメンタルエンコーダ1bのA相がVhを越えるので、前記図15の(b)に示すとおりシンクロA相信号QAは' 0' から' 1' となり、時刻t2においてはA相がVl未満となるので、前記図15の(b)に示すとおりシンクロA相信号QAは' 1' から' 0' となる。
以上はA相について説明したが、B相のシンクロB相信号QBについても同様に前記図15の(c)に示す如くとなり、該シンクロB相信号QBが前記QAより90°進みとなる。ここで、図15の(d)、(e)及び(f)は前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転する場合でこれの説明は後述する。
次に、図16は前記コンパレータ3が前記図15の(a)、(b)及び(c)で示す特性を有して、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転し、A相とB相の出力がゼロ付近をクロスするとき、本発明による前記パルス位相検出器8が検出するパルス位相の補正を説明するもので、図16の(a)、(b)及び(c)は、前記図15の(a)、(b)及び(c)と同じくそれぞれ前記正弦波インクリメンタルエンコーダ1bのA相とB相の出力、前記パルス抽出器6が出力するシンクロA相信号QA及びシンクロB相信号QBを示す。
始めに図16の(a)において、前記図13における前記マイクロコントローラ9が、前記A/D変換器13及び14から入力する前記A相デジタル値と前記B相デジタル値をそれぞれVA、VBと表記する。そして、前記マイクロコントローラ9はプログラムにより図示しない仮想コンパレータvaとvbを内蔵し、前記A相デジタル値VAが正のときは前記仮想コンパレータvaを' 1' とし負のときは該vaを' 0' とし、同様に前記B相デジタル値VBが正のときは前記仮想コンパレータvbを' 1' とし負のときは該vbを' 0' とするものである。
次に、図16の(a)と(b)について説明すると、時刻t1において前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり前記シンクロA相信号QAも' 0' で、該vaとQAは一致するので、前記パルス位相は正しいものとし補正を行わない。次に、時刻t2において前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり、一方、前記シンクロA相信号QAは' 0' で、該vaとQAは不一致なので前記パルス位相は補正が必要であり、前記A相デジタル値VAが正で前記シンクロA相信号QAより進んでいるので前記パルス位相に1を加える補正を行い、時刻t3においては、前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり前記シンクロA相信号QAも' 1' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わない。
同様に、時刻t4において前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり前記シンクロA相信号QAも' 1' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わず、時刻t5においては、前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり前記シンクロA相信号QAは' 1' で、該vaとQAは不一致なので前記パルス位相は補正が必要であり、前記A相デジタル値VAが負でシンクロA相信号QAより進んでいるので前記パルス位相に1を加える補正を行う。さらに、時刻t6において前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり前記シンクロA相信号QAは' 0' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わない。そして、上記を要約すると前記パルス位相の補正は下記のとおりとなる。
時刻t1: VA<0よりva=0、QA=0→一致するので補正は不要
時刻t2: 0<VAよりva=1、QA=0→不一致なので補正が必要
このときはVAがゼロを立ち上がりでクロスするときで、va
がQAより正転方向に進みとなり( +1) の補正を行う
時刻t3: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t4: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t5: VA<0よりva=0、QA=1→不一致なので補正が必要
このときはVAがゼロを立ち下がりでクロスするときで、va
がQAより正転方向に進みとなり( +1) の補正を行う
時刻t6: VA<0よりva=0、QA=0→一致するので補正は不要
上記は、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのA相について説明したが、同様にB相について前記図16の(a)と(c)を参照して、前記パルス位相の補正は下記のとおりとなる。
時刻t7: 0<VBよりvb=1、QB=1→一致するので補正は不要
時刻t8: VB<0よりvb=0、QB=1→不一致なので補正が必要
このときはVBがゼロを立ち下がりでクロスするときで、vb
がQBより正転方向に進みとなり( +1) の補正を行う
時刻t9: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t10: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t11: 0<VBよりvb=1、QB=0→不一致なので補正が必要
このときはVBがゼロを立ち上がりでクロスするときで、vb
がQBより正転方向に進みとなり( +1) の補正を行う
時刻t12: 0<VBよりvb=1、QB=1→一致するので補正は不要
以上で説明した前記図16は、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのパルス位相の補正を説明するものであるが、次に、逆転方向に回転する場合を説明する。始めに、図15の(d)、(e)及び(f)は前記図15の(a)、(b)及び(c)と同じ信号の逆転の場合の時間的推移を示し、このとき前記シンクロB相信号QBは前記シンクロA相信号QAより90°遅れとなる。そして、図17は前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するときの前記パルス位相の補正を説明するもので、図17の(a)、(b)及び(c)は前記図16の(a)、(b)及び(c)と同じ信号の逆転の場合を示し、A相から順次、前記パルス位相の補正について説明する。
時刻t21: VA<0よりva=0、QA=0→一致するので補正は不要
時刻t22: 0<VAよりva=1、QA=0→不一致なので補正が必要
このときはVAがゼロを立ち上がりでクロスするときで、va
がQAより逆転方向に進みとなり( −1) の補正を行う
時刻t23: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t24: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t25: VA<0よりva=0、QA=1→不一致なので補正が必要
このときはVAがゼロを立ち下がりでクロスするときで、va
がQAより逆転方向に進みとなり( −1) の補正を行う
時刻t26: VA<0よりva=0、QA=0→一致するので補正は不要
かように、逆転方向に回転するときで前記パルス位相に補正が必要となるときは、前記図16と相違して進みの(−1)の補正を行うものである。
次に、前記図17の(a)と(c)を参照して、前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するときのB相の前記パルス位相の補正について説明する。
時刻t27: 0<VBよりvb=1、QB=1→一致するので補正は不要
時刻t28: VB<0よりvb=0、QB=1→不一致なので補正が必要
このときはVBがゼロを立ち下がりでクロスするときで、vb
がQBより逆転方向に進みとなり( −1) の補正を行う
時刻t29: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t30: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t31: 0<VBよりvb=1、QB=0→不一致なので補正が必要
このときはVBがゼロを立ち上がりでクロスするときで、vb
がQBより逆転方向に進みとなり( −1) の補正を行う
時刻t32: 0<VBよりvb=1、QB=1→一致するので補正は不要
以上で説明した前記図16及び図17における前記パルス位相の補正を、前記マイクロコントローラ9のプログラムにより実施する例を図18に示し説明する。ここで、本実施例においては、該図18に示すように' f' と共に付す追番により処理を行うブロックもしくは処理のルートを指すものとし、前記マイクロコントローラ9は該図18においてブロックf1、f2及びf3の次の処理を始めに行う。
f1:A相デジタル値VAとB相デジタル値VBを入力する。又、シンクロA相信号QAとシンクロB相信号QBを入力した後f2へ。
f2:VAがゼロのとき、パルス位相の補正は実施せずルートf21を経て処理を終える。VAがゼロでないときはf3へ。
f3:VBがゼロのとき、パルス位相の補正は実施せずルートf21を経て処理を終える。VBがゼロでないときはf4へ。
かように、前記A相デジタル値VA又はB相デジタル値VBがゼロのときは、前記図16及び図17による前記パルス位相の補正を実施せず処理を終える。
次に、前記図18のブロックf4からブロックf6はA相について前記パルス位相の補正を行うか否かを判定し、A相について該パルス位相の補正を行うときは、ブロックf7とf8で回転方向により補正量を(+1)とするか(−1)とするかを決定するものである。
始めに、ブロックf4からブロックf5を経てブロックf7に至るルートf5n迄の処理について説明すると、ブロックf4において前記A相デジタル値VAがゼロ未満のときはブロックf5に至り(ブロックf4において' no' のときはVAがゼロ以下であるが、ブロックf2においてVAがゼロのときを除外しているので、ブロックf5に至るときは' ゼロ未満' となる)、このとき前記仮想コンパレータvaは' 0' となる。
次にブロックf5において前記シンクロA相信号QAが' 1' のときルートf5nに至る。
すなわち、ルートf5nに至るときは、前記仮想コンパレータvaが' 0' 、前記シンクロA相信号QAが' 1' と不一致となり前記パルス位相の補正が必要であって、このときは前記仮想コンパレータvaが' 0' なのでA相が立ち下がりの場合であり、正転のときは前記図16の時刻t5における補正が、逆転のときは前記図17の時刻t25における補正が必要となる。
次にブロックf7において、前記図16の時刻t5を参照すれば、A相の立ち下がりにおいて前記B相デジタル値VBが負のとき回転方向を正転と判定して、パルス位相の(+1)の補正を行うブロックf14へ分岐し、前記図17の時刻t25を参照すれば、A相の立ち下がりにおいて前記B相デジタル値VBが正のとき回転方向を逆転と判定して、パルス位相の(−1)の補正を行うブロックf15へ分岐する。
以上の、ブロックf4からブロックf5を経てルートf5nに至る経緯とブロックf7の処理について要約すると次のとおりであり、前記図16及び図17の処理と対比して示す。
f5n: f4にてVA<0よりva=0,f5にてQA=1となり、
vaとQAは不一致で補正が必要でブロックf7へ
このルートf5nはA相が立ち下がりのときである
f7: 0<VBを満たさないときは正転でf14へ ・・・・・・ 図16の時刻t5
0<VBを満たすときは逆転でf15へ ・・・・・・ 図17の時刻t25
同様に、ブロックf4からブロックf6を経てルートf6nに至る経緯とブロックf8の処理について要約すると次のとおりであり、前記図16及び図17の処理と対比して示す。
f6n: f4にて0<VAよりva=1,f6にてQA=0となり、
vaとQAは不一致で補正が必要でブロックf8へ
このルートf6nはA相が立ち上がりのときである
f8: 0<VBを満たすときは正転でf14へ ・・・・・・ 図16の時刻t2
0<VBを満たさないときは逆転でf15へ ・・・・・・ 図17の時刻t22
次に、ブロックf4からブロックf5を経てルートf5yに至る経緯と、ブロックf4からブロックf6を経てルートf6yに至る経緯は以下のとおりで、このときは前記パルス位相の補正を必要とせずB相の処理へ移る。
f5y: f4にてVA<0よりva=0,f5にてQA=0
vaとQAは一致するので補正が不要でブロックf9へ
図16の時刻t1、t6又は図17の時刻t21、t26のときである
f6y: f4にて0<VAよりva=1,f6にてQA=1
vaとQAは一致するので補正が不要でブロックf9へ
図16の時刻t3、t4又は図17の時刻t23とt24のときである
以上で、前記図18において、A相についてブロックf4からf8で行う前記パルス位相の補正について説明したが、次に、B相についてブロックf9からf13で行うパルス位相の補正について説明を行う。
前記図18のブロックf9からブロックf11はB相について前記パルス位相の補正が必要か否かを判定し、ブロックf12とf13で回転方向により、補正量を(+1)とするか(−1)とするかを決定するものである。
始めに、ブロックf9よりブロックf10を経てブロックf12に至るルートf10n迄の処理は、ブロックf9において前記B相デジタル値VBがゼロ未満のときはブロックf10に至り(ブロックf9において' no' のときはVBがゼロ以下であるが、ブロックf3においてVBがゼロのときを除外しているので、ブロックf10に至るときは' ゼロ未満' となる)、このとき前記仮想コンパレータvbは' 0' となる。
次にブロックf10において前記シンクロB相信号QBが' 1' のときルートf10nに至る。
すなわち、ルートf10nに至るときは、前記仮想コンパレータvbが' 0' 、前記シンクロB相信号QBが' 1' と不一致となり前記パルス位相の補正が必要であって、このときは前記仮想コンパレータvbが' 0' なのでB相が立ち下がりの場合であり、正転のときは前記図16の時刻t8における補正を、逆転のときは前記図17の時刻t28における補正が必要となる。
次にブロックf12において、前記図16の時刻t8を参照すれば、B相の立ち下がりにおいて前記A相デジタル値VAが正のとき回転方向を正転と判定してパルス位相の(+1)の補正を行うブロックf14へ分岐し、前記図17の時刻t28を参照すれば、B相の立ち下がりにおいて前記A相デジタル値VAが負のとき回転方向を逆転と判定してパルス位相の(−1)の補正を行うブロックf15へ分岐する。
以上の、ブロックf9からブロックf10を経てルートf10nに至る経緯と、ブロックf12の処理について要約すると次のとおりであり、前記図16及び図17の処理と対比して示す。
f10n:f9にてVB<0よりvb=0,f10にてQB=1
vbとQBは不一致で補正が必要でブロックf12へ
このルートf10nはB相が立ち下がりのときである
f12: 0<VAを満たすときは正転でf14へ ・・・・・・図16の時刻t8
0<VAを満たさないときは逆転でf15へ ・・・・・・ 図17の時刻t28
同様に、ブロックf9からブロックf11を経てルートf11nに至る経緯と、ブロックf13の処理について要約すると次のとおりとなり、前記図16及び図17の処理と対比して示す。
f11n:f9にて0<VBよりvb=1,f11にてQB=0となり、
vbとQBは不一致で補正が必要でブロックf13へ
このルートf11nはB相が立ち上がりのときである
f13: 0<VAを満たさないときは正転でf14へ ・・・・・・ 図16の時刻t11
0<VAを満たすときは逆転でf15へ ・・・・・・ 図17の時刻t31
そして、ブロックf9からブロックf10を経てルートf10yに至る経緯と、ブロックf9からブロックf11を経てルートf11yに至る経緯は以下のとおりで、このときは前記パルス位相の補正を必要とせずルートf21を経て図18の処理を終える。
f10y:f9にてVB<0よりvb=0,f10にてQB=0
vbとQBは一致するので補正が不要でエンドへ
図16の時刻t9、t10又は図17の時刻t29、t30のときである
f11y:f9にて0<VBよりvb=1,f11にてQB=1
vbとQBは一致するので補正が不要でエンドへ
図16の時刻t7、t12又は図17の時刻t27とt32のときである
かようにして、前記マイクロコントローラ9は前記図18の処理を周期的に行うもので、前記コンパレータ3が前記図15に示す動作を行うとき、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも逆転方向に回転するときも、前記図16、図17及び図18に示すとおり、前記正弦波インクリメンタルエンコーダ1bのA相とB相がゼロをクロスするとき前記パルス位相の補正を行う。
この補正は、前記A相デジタル値VA及びB相デジタル値VBを基準として前記パルス位相の補正を行い、前記図32の(a)の上位桁のパルス位相を正確に求めるものである。そして、前記図32の(a)の下位桁の補間位相は、前記パルス位相を補正するときに基準とした前記A相デジタル値VA及びB相デジタル値VBを用いて前記(1)式から得るものである。
かようにして、パルス位相と補間位相の組み合わせは常に正しいことを補償せしめ、前記正弦波インクリメンタルエンコーダ1bが低速のみならず高速で回転するときも、常に正しい回転位相を検出することを可能とする。
ここで、かようなパルス補正が必要となるのは、前記図13においてパルス抽出機6やパルス位相検出器8からなるパルス位相の検出機構と、A/D変換器13、14からなる補間位相の検出機構が異なるものであり、両検出機構において動作レベルのばらつきや動作時間の遅延等によりパルス位相と補間位相の組み合わせが常に正しいことが補償されない為である。
次に、図19、図20、図21及び図22により請求項5に関する実施例について説明する。始めに、図19は前記図15と異なる前記コンパレータ3の動作を示すもので、図19の(a)は前記正弦波インクリメンタルエンコーダ1bが正転のときのA相とB相の出力の時間的推移を示し、これに対応して図19の(b)と(c)は、A相とB相の前記コンパレータ3の出力を前記パルス抽出器6で保持したシンクロA相信号QAとシンクロB相信号QBの時間的推移を示す。
そして、前記コンパレータ3は入力がVh以上で' 1' となり入力がVl未満で' 0' となるものであるが、前記図19はVhがVl未満のときの動作を示すものであって、例えば前記図19の(a)の時刻t1においては前記正弦波インクリメンタルエンコーダ1bのA相がVhを越えるので、前記図19の(b)に示すとおりシンクロA相信号QAは' 0' から' 1' となり、時刻t2においてはA相がVl未満となるので、前記図19の(b)に示すとおりシンクロA相信号QAは' 1' から' 0' となる。
以上はA相について説明したが、B相のシンクロB相信号QBについても同様に前記図19の(c)に示す如くとなり、該シンクロB相信号QBが前記QAより90°進みとなる。そして、図19の(d)、(e)及び(f)は前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転する場合でこれの説明は後述する。
ここで、前記図15のVhがVlを越えて大きいときは前記コンパレータ3が通常のヒステリシス特性を有するときであり、これとは別に、前記図19のVhがVl未満のときを考慮するのは、前記コンパレータ3など装置を構成する電子部品に特性のばらつきが有るときも、確実に前記正弦波インクリメンタルエンコーダ1bの回転位相を検出する為である。
次に、図20は前記コンパレータ3が前記図19の(a)、(b)及び(c)で示す特性を有して、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転し、A相とB相の出力がゼロ付近をクロスするとき、本実施例による前記パルス位相検出器8が検出するパルス位相の補正を説明するもので、図20の(a)、(b)及び(c)は、前記図19の(a)、(b)及び(c)と同じくそれぞれ前記正弦波インクリメンタルエンコーダ1bのA相とB相の出力、前記パルス抽出器6が出力するシンクロA相信号QA及びシンクロB相信号QBを示す。
始めに図20の(a)において、前記図13における前記マイクロコントローラ9が前記A/D変換器13、及び14から入力する前記A相デジタル値と前記B相デジタル値をそれぞれVA、VBと表記する。そして、前記マイクロコントローラ9はプログラムにより図示しない仮想コンパレータvaとvbを内蔵し、前記A相デジタル値VAが正のときは前記仮想コンパレータvaを' 1' とし負のときは該vaを' 0' とし、同様に前記B相デジタル値VBが正のときは前記仮想コンパレータvbを' 1' とし負のときは該vbを' 0' とするものである。
次に、図20の(a)と(b)について説明すると、時刻t41において前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり前記シンクロA相信号QAも' 0' で、該vaとQAは一致するので、前記パルス位相は正しいものとし補正を行わない。
次に、時刻t42において前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり、一方前記シンクロA相信号QAは' 1' で、該vaとQAは不一致なので前記パルス位相は補正が必要であり、前記A相デジタル値VAが負で前記シンクロA相信号QAより遅れているので前記パルス位相から1を減ずる補正を行い、時刻t43においては、前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり前記シンクロA相信号QAも' 1' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わない。
同様に、時刻t44において前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり前記シンクロA相信号QAも' 1' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わず、時刻t45においては、前記A相デジタル値VAは正なので前記仮想コンパレータvaは' 1' となり前記シンクロA相信号QAは' 0' で、該vaとQAは不一致なので前記パルス位相は補正が必要であり、前記A相デジタル値VAが正でシンクロA相信号より遅れているので前記パルス位相から1を減ずる補正を行う。
時刻t46において前記A相デジタル値VAは負なので前記仮想コンパレータvaは' 0' となり前記シンクロA相信号QAは' 0' で、該vaとQAは一致するので前記パルス位相は正しいものとし補正を行わない。そして、上記を要約すると前記パルス位相の補正は下記のとおりとなる。
時刻t41: VA<0よりva=0、QA=0→一致するので補正は不要
時刻t42: VA<0よりva=0、QA=1→不一致なので補正が必要
このときはVAがゼロを立ち上がりでクロスするときで、va
がQAより正転方向に遅れとなり( −1) の補正を行う
時刻t43: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t44: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t45: 0<VAよりva=1、QA=0→不一致なので補正が必要
このときはVAがゼロを立ち下がりでクロスするときで、va
がQAより正転方向に遅れとなり( −1) の補正を行う
時刻t46: VA<0よりva=0、QA=0→一致するので補正は不要
上記は、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのA相について説明したが、同様にB相について前記図20の(a)と(c)を参照して、前記パルス位相の補正は下記のとおりとなる。
時刻t47: 0<VBよりvb=1、QB=1→一致するので補正は不要
時刻t48: 0<VBよりvb=1、QB=0→不一致なので補正が必要
このときはVBがゼロを立ち下がりでクロスするときで、vb
がQBより正転方向に遅れとなり( −1) の補正を行う
時刻t49: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t50: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t51: VB<0よりvb=0、QB=1→不一致なので補正が必要
このときはVBがゼロを立ち上がりでクロスするときで、vb
がQBより正転方向に遅れとなり( −1) の補正を行う
時刻t52: 0<VBよりvb=1、QB=1→一致するので補正は不要
以上で説明した前記図20は、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのパルス位相の補正を説明するものであるが、次に、逆転方向に回転する場合を説明する。
始めに、図19の(d)、(e)及び(f)は前記図19の(a)、(b)及び(c)と同じ信号の逆転の場合の時間的推移を示し、このとき前記シンクロB相信号QBは前記シンクロA相信号QAより90°遅れとなる。そして、図21は前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するときの前記パルス位相の補正を説明するもので、図21の(a)、(b)及び(c)は前記図20の(a)、(b)及び(c)と同じ信号の逆転の場合を示し、A相から順次、前記パルス位相の補正について説明する。
時刻t61: VA<0よりva=0、QA=0→一致するので補正は不要
時刻t62: VA<0よりva=0、QA=1→不一致なので補正が必要
このときはVAがゼロを立ち上がりでクロスするときで、vaがQAより逆転方向に遅れとなり( +1) の補正を行う
時刻t63: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t64: 0<VAよりva=1、QA=1→一致するので補正は不要
時刻t65: 0<VAよりva=1、QA=0→不一致なので補正が必要
このときはVAがゼロを立ち下がりでクロスするときで、vaがQAより逆転方向に遅れとなり( +1) の補正を行う
時刻t66: VA<0よりva=0、QA=0→一致するので補正は不要
かように、逆転方向に回転するときで前記パルス位相に補正が必要となるときは、前記図20と相違して遅れの(+1)の補正を行うものである。
次に、前記図21の(a)と(c)を参照して、前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するとき、同様にB相の前記パルス位相の補正について説明する。
時刻t67: 0<VBよりvb=1、QB=1→一致するので補正は不要
時刻t68: 0<VBよりvb=1、QB=0→不一致なので補正が必要
このときはVBがゼロを立ち下がりでクロスするときで、vb
がQBより逆転方向に遅れとなり( +1) の補正を行う
時刻t69: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t70: VB<0よりvb=0、QB=0→一致するので補正は不要
時刻t71: VB<0よりvb=0、QB=1→不一致なので補正が必要
このときはVBがゼロを立ち上がりでクロスするときで、vb
がQBより逆転方向に遅れとなり( +1) の補正を行う
時刻t72: 0<VBよりvb=1、QB=1→一致するので補正は不要
以上で説明した前記図20及び図21における前記パルス位相の補正を、前記マイクロコントローラ9のプログラムにより実施する例を図22に示し説明する。ここで、前記図18と同様に該図22において、' f' と共に付す追番により処理を行うブロックもしくは処理のルートを指すものとし、前記マイクロコントローラ9は該図22においてブロックf1、f2及びf3の次の処理を始めに行う。
f1:A相デジタル値VAとB相デジタル値VBを入力する。又、シンクロA相信号
QAとシンクロB相信号QBを入力した後f2へ。
f2:VAがゼロのとき、パルス位相の補正は実施せずルートf21を経て処理を終える。VAがゼロでないときはf3へ。
f3:VBがゼロのとき、パルス位相の補正は実施せずルートf21を経て処理を終える。VBがゼロでないときはf4へ。
かように、前記A相デジタル値VA又はB相デジタル値VBがゼロのときは、前記図20及び図21による前記パルス位相の補正を実施せず処理を終える。
次に、前記図22のブロックf4からブロックf6はA相について前記パルス位相の補正を行うか否かを判定し、A相についてパルス位相の補正を行うときは、ブロックf7とf8で回転方向により補正量を(+1)とするか(−1)とするかを決定するものである。
始めに、ブロックf4からブロックf5を経てブロックf7に至るルートf5n迄の処理について説明すると、ブロックf4において前記A相デジタル値VAがゼロ未満のときはブロックf5に至り(ブロックf4において' no' のときはVAがゼロ以下であるが、ブロックf2においてVAがゼロのときを除外しているので、ブロックf5に至るときは' ゼロ未満' となる)、このとき前記仮想コンパレータvaは' 0' となる。
次にブロックf5において前記シンクロA相信号QAが' 1' のときルートf5nに至る。
すなわち、ルートf5nに至るときは、前記仮想コンパレータvaが' 0' 、前記シンクロA相信号QAが' 1' と不一致となり前記パルス位相の補正が必要であって、このときは前記仮想コンパレータvaが' 0' なのでA相が立ち上がりの場合であり、正転のときは前記図20の時刻t42における補正が、逆転のときは前記図21の時刻t62における補正が必要となる。
次にブロックf7において、前記図20の時刻t42を参照すれば、A相の立ち上がりにおいて前記B相デジタル値VBが正のとき回転方向を正転と判定して、パルス位相を(−1)の補正を行うブロックf15へ分岐し、前記図21の時刻t62を参照すれば、A相の立ち上がりにおいて前記B相デジタル値VBが負のとき回転方向を逆転と判定して、パルス位相を(+1)の補正を行うブロックf14へ分岐する。
以上の、ブロックf4からブロックf5を経由してルートf5nに至る経緯と、ブロックf7の処理について要約すると次のとおりであり、前記図20及び図21の処理と対比して示す。
f5n: f4にてVA<0よりva=0,f5にてQA=1となり、
vaとQAは不一致で補正が必要でブロックf7へ
このルートf5nはA相が立ち上がりのときである
f7: 0<VBを満たすときは正転でf15へ ・・・・・・ 図20の時刻t42
0<VBを満たさないときは逆転でf14へ ・・・・・・ 図21の時刻t62
同様に、ブロックf4からブロックf6を経由してルートf6nに至る経緯と、ブロックf8の処理について要約すると次のとおりであり、前記図20及び図21の処理と対比して示す。
f6n: f4にて0<VAよりva=1,f6にてQA=0となり
vaとQAは不一致で補正が必要でブロックf8へ
このルートf6nはA相が立ち下がりのときである。
f8: 0<VBを満たさないときは正転でf15へ ・・・・・・ 図20の時刻t45
0<VBを満たすときは逆転でf14へ ・・・・・・ 図21の時刻t65
次に、ブロックf4からブロックf5を経てルートf5yに至る経緯と、ブロックf4からブロックf6を経てルートf6yに至る経緯は以下のとおりで、このときは前記パルス位相の補正を必要とせずB相の処理へ移る。
f5y: f4にてVA<0よりva=0,f5にてQA=0
vaとQAは一致するので補正が不要でブロックf9へ
図20の時刻t41、t46、又は図21の時刻t61、t66のときである。
f6y: f4にて0<VAよりva=1,f6にてQA=1
vaとQAは一致するので補正が不要でブロックf9へ
図20の時刻t43、t44又は図21の時刻t63とt64のときである。
以上で、前記図22においてA相についてブロックf4からf8で行う前記パルス位相の補正について説明したが、次に、B相についてブロックf9からf13で行うパルス位相の補正について説明を行う。
前記図22のブロックf9からブロックf11はB相について前記パルス位相の補正を行うか否かを判定し、ブロックf12とf13で回転方向により、補正量を(+1)とするか(−1)とするかを決定するものである。
始めに、ブロックf9よりブロックf10を経てブロックf12に至るルートf10n迄の処理は、ブロックf9において前記B相デジタル値VBがゼロ未満のときはブロックf10に至り(ブロックf9において' no' のときはVBがゼロ以下であるが、ブロックf3においてVBがゼロのときを除外しているので、ブロックf10に至るときは' ゼロ未満' となる)、このとき前記仮想コンパレータvbは' 0' となる。
次にブロックf10において前記シンクロB相信号QBが' 1' のときルートf10nに至る。
すなわち、ルートf10nに至るときは、前記仮想コンパレータvbが' 0' と、前記シンクロB相信号QBが' 1' と不一致となり前記パルス位相の補正が必要であって、このときは前記仮想コンパレータvbが' 0' なのでB相が立ち上がりの場合であり、正転のときは前記図20の時刻t51における補正が、逆転のときは前記図21の時刻t71における補正が必要となる。
次にブロックf12において、前記図20の時刻t51を参照すれば、B相の立ち上がりにおいて前記A相デジタル値VAが負のとき回転方向を正転と判定してパルス位相の(−1)の補正を行うブロックf15へ分岐し、前記図21の時刻t71を参照すれば、B相の立ち上がりにおいて前記A相デジタル値VAが正のとき回転方向を逆転と判定してパルス位相の(+1)の補正を行うブロックf14へ分岐する。
以上の、ブロックf9からブロックf10を経てルートf10nに至る経緯と、ブロックf12の処理について要約すると次のとおりであり、前記図20及び図21の処理と対比して示す。
f10n:f9にてVB<0よりvb=0,f10にてQB=1となり
vbとQBは不一致で補正が必要でブロックf12へ
このルートf10nはB相が立ち上がりのときである。
f12: 0<VAを満たさないときは正転でf15へ ・・・・・・ 図20の時刻t51
0<VAを満たすときは逆転でf14へ ・・・・・・図21の時刻t71
同様に、ブロックf9からブロックf11を経てルートf11nに至る経緯と、ブロックf13の処理について要約すると次のとおりとなり、前記図20及び図21の処理と対比して示す。
f11n:f9にて0<VBよりvb=1,f11にてQB=0となり
vbとQBは不一致で補正が必要でブロックf13へ
このルートf11nはB相が立ち下がりのときである。
f13: 0<VAを満たすときは正転でf15へ ・・・・・・図20の時刻t48
0<VAを満たさないときは逆転でf14へ ・・・・・・ 図21の時刻t68
そして、ブロックf9からブロックf10を経てルートf10yに至る経緯と、ブロックf9からブロックf11を経てルートf11yに至る経緯は以下のとおりで、このときは前記パルス位相の補正を必要とせずルートf21を経て図22の処理を終える。
f10y:f9にてVB<0よりvb=0,f10にてQB=0
vbとQBは一致するので補正が不要でエンドへ
図20の時刻t49、t50、又は図21の時刻t69、t70のときである。
f11y:f9にて0<VBよりvb=1,f11にてQB=1
vbとQBは一致するので補正が不要でエンドへ
図20の時刻t47、t52、又は図21の時刻t67とt72のときである。
かようにして、前記マイクロコントローラ9は前記図22の処理を周期的に行い、前記コンパレータ3が前記図19に示す動作を行うとき、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも逆転方向に回転するときも前記図20、図21及び図22に示すとおり、前記正弦波インクリメンタルエンコーダ1bのA相とB相がゼロをクロスするときも前記パルス位相の補正を行い、前記正弦波インクリメンタルエンコーダ1bが低速のみならず高速で回転するときも、常に正しいパルス位相を検出するものである。
ここで、前記図13において、前記パルス位相検出器8が出力するパルス位相の補正の実施例を、前記図18と図22に示し説明を行うものであるが、該実施例では前記正弦波インクリメンタルエンコーダ1bの前記A相デジタル値VA、又は前記B相デジタル値VBがゼロのときを除外するものであった。
次に、前記図13において該VA又はVBがゼロのとき、本発明による前記パルス位相の補正の実施例を示し説明する。
始めに、図23、図24及び図25は、前記図13における前記コンパレータ3が前記図15の(a)から(f)で示す特性を有するときで、前記正弦波インクリメンタルエンコーダ1bのA相信号又はB相信号がゼロのときであって、請求項6に関わる前記パルス位相の補正の実施例を説明するものである。そして、図23について説明すれば、図23の(a)は前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのA相信号とB相信号の時間的推移を示し、図23の(b)と(c)はそれぞれ前記パルス抽出器6が出力するシンクロA相信号QA及びシンクロB相信号QBを示す。そして、前記図23の(a)では前記コンパレータ3が動作するレベルを前記図15の(a)と同じくVh及びVlとし、VhがVlより大きい場合であって、前記図13における前記マイクロコントローラ9が前記A/D変換器13及び14から入力する前記A相デジタル値とB相デジタル値をそれぞれVA、VBとしている。そして、該A相デジタル値VAは時刻t13及びt14においてゼロになるとし、前記B相デジタル値VBは時刻t15及びt16においてゼロになるとし、次に、A相を例とすれば図23の(b)に示すとおり、前記シンクロA相信号QAは時刻(t13+Δt13)において' 1' に、時刻(t14+Δt14)において' 0' に遅延して変化するものである。
次に、図23の(d)は前記パルス位相検出器8が出力するパルス位相を示し、該パルス位相は前記シンクロA相信号QAと前記シンクロB相信号QBと、完全に同期してカウントアップ又はダウンするもので、A相を例にすれば時刻(t13+Δt13)にて前記シンクロA相信号QAが' 1' となる時に前記パルス位相は(C−1)から(C)に、時刻(t14+Δt14)にて前記シンクロA相信号QAが' 0' となる時に前記パルス位相は(C+1)から(C+2)にカウントアップする。
そして、図23の(e)は前記マイクロコントローラ9が前記A相デジタル値VAとB相デジタル値VBから算出し得る補間位相を仮想的に連続して表し、例えば時刻t13からt15迄、補間位相はゼロから増大し最大補間位相がαmax迄カウントアップするものである。
ここで、前記マイクロコントローラ9が、例えば時刻t13においてA相デジタル値VAがゼロであることより補間位相をゼロと検出した時、前記パルス位相は前記図23の(d)で示すとおり(C−1)である。然るに、図23の(e)において点Aのパルス位相を(C−1)とすれば、該点Aより補間位相が増大し最大補間位相αmaxに到達した後ゼロとなる点B、すなわち時刻t13のパルス位相は1を加えて(C)と補正すべきであり、この補正後の仮想パルス位相の時間的推移を図23の(f)に示す。かように、前記図23の(d)に示すパルス位相が理想的な前記図23の(f)とならない理由は、前記コンパレータ3を実現するに当たり、' 1' を検出するレベルVhと' 0' を検出するレベルVlを共にゼロとすることは非実用的もしくは実現が不可能であって、VhとVlが前記図15のとおりとなることを禁じ得ない為である。
そして、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するとき、A相について上記に示した本発明による補正の処理を要約すれば、前記マイクロコントローラ9は前記図23の(a)に示すA相の立ち上がりの時刻t13においてA相デジタル値VAがゼロを検出し、前記図23の(b)に示す如く前記シンクロA相信号QAが' 0' を検出した時、前記Vhがゼロより大きいことに起因し、該シンクロA相信号QAが' 1' となるべきところが遅延してパルス位相がカウントアップしていないと判定し、前記図23の(d)の時刻t13のパルス位相(C−1)に1を加える補正を行い(C)とする。 同様に、前記マイクロコントローラ9は前記図23の(a)に示すA相の立ち下がりの時刻t14においてA相デジタル値VAがゼロを検出し、前記図23の(b)に示す如く前記シンクロA相信号QAが' 1' を検出した時、Vlがゼロより小さいことに起因し、該シンクロA相信号QAが' 0' となるべきところが遅延していると判定し、前記図23の(d)の時刻t14のパルス位相(C+1)に1を加える補正を行い(C+2)とする。
以上はA相について説明を行ったがB相についても同様に、前記マイクロコントローラ9は前記図23の(a)の時刻t15及びt16においてB相デジタル値VBがゼロを検出した時、A相と同様の処理を行うものである。
以上で説明した図23は、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときであるが、次に逆転方向に回転するとき、前記マイクロコントローラ9が前記正弦波インクリメンタルエンコーダ1bのA相信号又はB相信号をゼロと検出したとき、前記パルス位相の補正を図24に依り説明するもので、該図24の(a)から(e)は前記図23のそれと同じ信号の時間的推移を示し、図24の(d)においてはパルス位相が時間の推移とともにカウントダウンし、図24の(e)における補間位相も減少方向に推移するものである。そして、図24の(a)において前記A相デジタル値VAは時刻t33及びt34においてゼロになるとし、前記B相デジタル値VBは時刻t35及びt36においてゼロになるとし、A相を例とすれば図24の(b)に示すとおり、前記シンクロA相信号QAは時刻(t33+Δt33)において' 1' に、時刻(t34+Δt34)において' 0' に遅延して変化するものである。
そして、図24の(d)の前記パルス位相検出器8が出力するパルス位相は、前記シンクロA相信号QAとB相デジタル値VBと、完全に同期してカウントアップ又はダウンするもので、A相を例にすれば時刻(t33+Δt33)にて前記シンクロA相信号QAが' 1' となる時に前記パルス位相は(C)から(C−1)に、時刻(t34+Δt34)にて前記シンクロA相信号QAが' 0' となる時に前記パルス位相は(C−2)から(C−3)にカウントダウンする。そして、図24の(e)は、前記マイクロコントローラ9が前記A相デジタル値VAとB相デジタル値VBから算出し得る補間位相を仮想的に連続して表し、例えば時刻t33からt36迄、補間位相は最大補間位相がαmaxからゼロ迄カウントダウンするものである。
ここで、前記マイクロコントローラ9は、例えば前記図24の(a)の時刻t33の点BにおいてA相デジタル値VAをゼロと検出したとき、補間位相を前記図24の(e)の点Bに示すとおりゼロと算出するもので、このとき前記図24の(d)で示すとおり前記パルス位相は(C)である。ここで、図24の(e)において点Aのパルス位相を(C)とすれば、該点Aより補間位相が減少してゼロとなる点Bのパルス位相も同じく(C)で正しい。かように、前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するとき、前記マイクロコントローラ9がA相デジタル値VA又はB相デジタル値VBをゼロと検出しても、正転のときと相違してパルス位相を補正する必要が無いものである。
以上で説明した前記図13のコンパレータが前記図15の動作特性を有するとき、正転のときは前記図23、逆転のときは前記図24で説明した前記パルス位相の補正を、前記マイクロコントローラ9のプログラムにより実施する例を図25に示し説明する。始めに、前記マイクロコントローラ9は該図25においてブロックf1、f2及びf3の次の処理を行う。
f1:A相デジタル値VA、B相デジタル値VB、シンクロA相信号QA、シンクロB相信号QB及びパルス位相を入力した後f2へ。
f2:VAがゼロのときはf4へ、VAがゼロでないときはf3へ。
f3:VBがゼロのときはf4へ、VBがゼロでないときはパルス位相の補正は実施せずルートf3nを経て処理を終える。
かように、前記A相デジタル値VA又はB相デジタル値VBがゼロのときは、前記図23及び図24による前記パルス位相の補正を実施するものでブロックf4へ進む。
次に、ブロックf4では前記正弦波インクリメンタルエンコーダ1bの回転方向の検出を行い、逆転のときは前記図24において説明したとおり、前記パルス位相の補正は必要としないのでルートf4nを経て処理を終え、正転のときはブロックf5へ進み、前記図23において説明したパルス位相の補正を行う。なお、回転方向の検出は例えば、パルス位相が前スキャンより増加していれば正転、減少していれば逆転とすればよい。
そして、ブロックf5は前記A相デジタル値VAがゼロであるか、前記B相デジタル値VBがゼロであるかを判定し、ブロックf6からf8はA相の前記VAがゼロのときの前記パルス位相の補正に関するもので、前記図23を参照し次の処理を行う。
f5: VAがゼロのときはf6へ進み、A相によるパルス位相の補正を行う。VAがゼロでないときはVBがゼロでありf9へ進み、B相によるパルス位相の補正を行う。 f6: VAがゼロでVBが正のときはVAが立ち上がりのときでf8へ進む。又VAがゼロでVBが負のときはVAが立ち下がりのときでf7へ進む。
f7: このときはVAが立ち下がりのときゼロとなるときで、このときQAが' 1' ならばQAが' 0' となるが遅れているので、f12へ進み前記パルス位相に1を加える補正を行う。QAが' 0' のとき補正は不要でf11nを経て処理を終える。
f8: このときはVAが立ち上がりのときゼロとなるときで、このときQAが' 0' ならばQAが' 1' となるを遅れているので、f12へ進み前記パルス位相に1を加える補正を行う。QAが' 1' のとき補正は不要でf11nを経て処理を終える。
次に、ブロックf9からf11は、B相の前記VBがゼロのときの前記パルス位相の補正に関するもので、A相と同様に前記図23を参照し次の処理を行う。
f9: VBがゼロでVAが負のときはVBが立ち上がりのときでf11へ進む。また、VBがゼロでVAが正のときはVBが立ち下がりのときで、f10へ進む。
f10: このときはVBが立ち下がりのときゼロとなるときで、このときQBが' 1' ならばQBが' 0' となるを遅れているので、f12へ進み前記パルス位相に1を加える補正を行う。QBが' 0' のとき補正は不要でf11nを経て処理を終える。
f11: このときはVBが立ち上がりのときゼロとなるときで、このときQBが' 0' ならばQBが' 1' となるを遅れているので、f12へ進み前記パルス位相に1を加える補正を行う。QBが' 1' のとき補正は不要でf11nを経て処理を終える。
かようにして、前記図13のコンパレータ3が前記図15に示す動作を行うとき、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも逆転方向に回転するときも前記図23、図24及び図25に示すとおり、前記マイクロコントローラ9が前記正弦波インクリメンタルエンコーダ1bのA相デジタル値VA又はB相デジタル値VBをゼロと検出したときに前記パルス位相の補正を行う。これにより、前記正弦波インクリメンタルエンコーダ1bが低速のみならず高速で回転するときも、常に正しいパルス位相を検出するものである。
次に、前記図13における前記コンパレータ3が、前記図19の(a)から(f)で示す特性を有するときであって、前記正弦波インクリメンタルエンコーダ1bのA相信号又はB相信号がゼロのとき、請求項7に関わる前記パルス位相の補正の実施例を図26、図27及び図28により説明する。
始めに、図26について前記図23と類似して、図26の(a)は前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときのA相信号とB相信号の時間的推移を示し、図26の(b)と(c)はそれぞれ前記パルス抽出器6が出力するシンクロA相信号QA及びシンクロB相信号QBを示す。
そして、前記図26の(a)では前記コンパレータ3が動作するレベルを前記図19の(a)と同じくVh及びVlとし、VhがVlより小さい場合であって、前記図13における前記マイクロコントローラ9が前記A/D変換器13及び14から入力する前記A相デジタル値とB相デジタル値をそれぞれVA、VBとしている。そして、該A相デジタル値VAは時刻t53及びt54においてゼロになるとし、前記B相デジタル値VBは時刻t55及びt56においてゼロになるとし、次にA相を例とすれば図26の(b)に示すとおり、前記シンクロA相信号QAは時刻(t53−Δt53)において' 1' に、時刻(t54−Δt54)において' 0' に早期に変化するものである。
次に、図26の(d)は前記パルス位相検出器8が出力するパルス位相を示し、該パルス位相は前記シンクロA相信号QAと前記シンクロB相信号QBと、完全に同期してカウントアップ又はダウンするもので、A相を例にすれば時刻(t53−Δt53)にて前記シンクロA相信号QAが' 1' となる時に前記パルス位相は(C−1)から(C)に、時刻(t54−Δt54)にて前記シンクロA相信号QAが' 0' となる時に前記パルス位相は(C+1)から(C+2)にカウントアップする。
そして、図26の(e)は前記マイクロコントローラ9が前記A相デジタル値VAとB相デジタル値VBから算出し得る補間位相を仮想的に連続して表し、例えば時刻t53からt55迄、補間位相はゼロから最大補間位相がαmax迄カウントアップするものである。
かような前記図26において、A相デジタル値VA又はB相デジタル値VBがゼロのときのパルス位相の補正について次に示すと、前記マイクロコントローラ9は、例えば前記図26の(a)の時刻t53の点BにおいてA相デジタル値VAをゼロと検出したとき、補間位相を前記図26の(e)の点Bに示すゼロと算出するもので、このとき前記図26の(d)で示すとおり前記パルス位相は(C)である。
ここで、図26の(e)において点Aのパルス位相を(C−1)とすれば、該点Aより補間位相が増大し最大補間位相αmaxに到達した後ゼロとなる点B、すなわち時刻t53のパルス位相は1を加えて(C)となるべきもので、前記図26の(d)から得られるパルス位相と等しい。これは、時刻t53より時間Δt53だけ早い時刻に、前記図26のパルス位相がカウントアップされる為である。
かように、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するとき、前記マイクロコントローラ9がA相デジタル値VA又はB相デジタル値VBをゼロと検出しても、パルス位相を補正する必要が無いものである。
以上で説明した図26は、前記コンパレータ3が前記図19の(a)から(f)で示す特性を有するときに、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときであるが、次に逆転方向に回転するとき、前記マイクロコントローラ9が前記正弦波インクリメンタルエンコーダ1bのA相信号又はB相信号をゼロと検出したとき、前記パルス位相の補正を図27に依り説明するもので、該図27の(a)から(e)は前記図26のそれと同じ信号の時間的推移を示し、図27の(d)においてはパルス位相が時間の推移とともにカウントダウンし、図27の(e)における補間位相も減少方向に推移するものである。
そして、図27の(a)において前記A相デジタル値VAは時刻t73及びt74においてゼロになるとし、前記B相デジタル値VBは時刻t75及びt76においてゼロになるとし、A相を例とすれば図27の(b)に示すとおり、前記シンクロA相信号QAは時刻(t73−Δt73)において' 1' に、時刻(t74−Δt74)において' 0' に早期に変化するものである。
そして、図27の(d)の前記パルス位相検出器8が出力するパルス位相は、前記シンクロA相信号QAとB相デジタル値VBと、完全に同期してカウントアップ又はダウンするもので、A相を例にすれば時刻(t73−Δt73)にて前記シンクロA相信号QAが' 1' となる時に前記パルス位相は(C)から(C−1)に、時刻(t74−Δt74)にて前記シンクロA相信号QAが' 0' となる時に前記パルス位相は(C−2)から(C−3)にカウントダウンする。
そして、図27の(e)は、前記マイクロコントローラ9が前記A相デジタル値VAとB相デジタル値VBから算出し得る補間位相を仮想的に連続して表し、例えば時刻t75からt73迄、補間位相は最大補間位相がαmaxからゼロ迄カウントダウンするものである。
かような前記図27において、A相デジタル値VA又はB相デジタル値VBがゼロのときのパルス位相の補正について次に示すと、前記マイクロコントローラ9は、例えば前記図27の(a)の時刻t73の点BにおいてA相デジタル値VAをゼロと検出したとき、補間位相を前記図27の(e)の点Bに示すとおりゼロと算出するもので、このとき前記図27の(d)で示すとおり前記パルス位相は(C−1)である。
ここで、図27の(e)において点Aのパルス位相を(C)とすれば、該点Aより補間位相が減少しゼロとなる点B、すなわち時刻t73のパルス位相も本来(C)のままであり、これにより時刻t73における前記図27の(d)で示す前記パルス位相は1を加算する補正が必要である。
かように、パルス位相の補正が必要となる理由は、前記コンパレータ3を実現するに当たり、' 1' を検出するレベルVhと' 0' を検出するレベルVlを共にゼロとすることは非実用的もしくは実現が不可能であって、VhとVlが前記図15又は前記図19のとおりとなることを禁じ得ない為である。
そして、前記正弦波インクリメンタルエンコーダ1bが逆転方向に回転するとき、A相について上記に示した本実施例による補正の処理を要約すれば、前記マイクロコントローラ9は前記図27の(a)に示すA相の立ち上がりの時刻t73においてA相デジタル値VAがゼロを検出し、前記図27の(b)に示す如く前記シンクロA相信号QAが' 1' を検出した時、前記Vhがゼロより小さいことに起因し、該シンクロA相信号QAが' 0' であるべきところが早期に' 1' に変化してパルス位相が余分にダウンカウントしていると判定し、前記図27の(d)の時刻t73のパルス位相(C−1)に1を加えて戻す補正を行い(C)とする。
同様に、前記マイクロコントローラ9は前記図27の(a)に示すA相の立ち下がりの時刻t74においてA相デジタル値VAがゼロを検出し、前記図27の(b)に示す如く前記シンクロA相信号QAが' 0' を検出した時、Vlがゼロより大きいことに起因し、該シンクロA相信号QAが' 1' であるべきところが早期に' 0' に変化してパルス位相が余分にダウンカウントしていると判定し、前記図27の(d)の時刻t74のパルス位相(C−3)に1を加えて戻す補正を行い(C−2)とする。
以上はA相について説明を行ったがB相についても同様に、前記マイクロコントローラ9は前記図27の(a)の時刻t75及びt76においてB相デジタル値VBをゼロと検出した時、A相と同様の処理を行うものである。
以上で説明した前記図13のコンパレータ3が前記図19の動作特性を有するとき、正転のときは前記図26、逆転のときは前記図27で説明した前記パルス位相の補正を、前記マイクロコントローラ9のプログラムにより実施する例を図28に示し説明する。始めに、前記マイクロコントローラ9は該図28においてブロックf1、f2及びf3の次の処理を行う。
f1:A相デジタル値VA、B相デジタル値VB、シンクロA相信号QA、シンクロB相信号QB及びパルス位相を入力した後f2へ。
f2:VAがゼロのときはf4へ、VAがゼロでないときはf3へ。
f3:VBがゼロのときはf4へ、VBがゼロでないときはパルス位相の補正は実施せずルートf3nを経て処理を終える。
かように、前記A相デジタル値VA又はB相デジタル値VBがゼロのときは、前記図26及び図27による前記パルス位相の補正を実施するものでブロックf4へ進む。
次に、ブロックf4では前記正弦波インクリメンタルエンコーダ1bの回転方向の検出を行い、正転のときは前記図26において説明したとおり前記パルス位相の補正は必要としないのでルートf4yを経て処理を終え、逆転のときはブロックf15へ進み、前記図27において説明したパルス位相の補正を行う。
なお、回転方向の検出は例えば、パルス位相が前スキャンより増加していれば正転、減少していれば逆転とすればよい。
そして、図28のブロックf15は前記A相デジタル値VAがゼロであるか、前記B相デジタル値VBがゼロであるかを判定し、ブロックf16からf18はA相の前記VAがゼロのときの前記パルス位相の補正に関するもので、前記図27を参照し次の処理を行う。
f15: VAがゼロのときはf16へ進み、A相によるパルス位相の補正を行う。VAがゼロでないときはVBがゼロでありf19へ進み、B相によるパルス位相の補正を行う。
f16: VAがゼロでVBが負のときはVAが立ち上がりのときでf18へ進む。また、VAがゼロでVBが正のときはVAが立ち下がりのときでf17へ進む。
f17: このときはVAが立ち下がりのときゼロとなるときで、このときQAが' 0' ならばQAが' 0' となるが早まってパルス位相が余分にダウンカウントしているのでf22へ進み、前記パルス位相に1を加えて戻す補正を行う。QAが' 1' のとき補正は不要でf21nを経て処理を終える。
f18: このときはVAが立ち上がりのときゼロとなるときで、このときQAが' 1' ならばQAが' 1' となるが早まってパルス位相が余分にダウンカウントしているのでf22へ進み、前記パルス位相に1を加えて戻す補正を行う。QAが' 0' のとき補正は不要でf21nを経て処理を終える。
次に、ブロックf19からf21は、B相の前記VBがゼロのときの前記パルス位相の補正に関するもので、A相と同様に前記図27を参照し次の処理を行う。
f19: VBがゼロでVAが正のときはVBが立ち上がりのときでf21へ進む。また、VBがゼロでVAが負のときはVBが立ち下がりのときでf20へ進む。
f20: このときはVBが立ち下がりのときゼロとなるときで、このときQBが' 0ならばQBが' 0' となるが早まってパルス位相が余分にダウンカウントしているのでf22へ進み、前記パルス位相に1を加えて戻す補正を行う。QBが' 1' のとき補正は不要でf21nを経て処理を終える。
f21: このときはVBが立ち上がりのときゼロとなるときで、このときQBが' 1' ならばQBが' 1' となるが早まってパルス位相が余分にダウンカウントしているのでf22へ進み、前記パルス位相に1を加えて戻す補正を行う。QBが' 0' のとき補正は不要でf21nを経て処理を終える。
かようにして、前記図13のコンパレータ3が前記図19に示す動作を行うとき、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも逆転方向に回転するときも前記図26、図27及び図28に示すとおり、前記マイクロコントローラ9が前記正弦波インクリメンタルエンコーダ1bのA相デジタル値VA又はB相デジタル値VBをゼロと検出したときに前記パルス位相の補正を行う。
これにより、前記正弦波インクリメンタルエンコーダ1bが低速のみならず高速で回転するときも、常に正しいパルス位相を検出するものである。
これ迄を要約すれば、90°位相差の2相のA相、B相の正弦波と1回転の基準信号を示すZ相を出力する正弦波インクリメンタルエンコーダを使用して、正転又は逆転方向を問わずZ相信号から正確な基準原点信号を生成すると共に、A相及びB相信号からシンクロA相信号、シンクロB相信号、パルス位相、A相デジタル値及びB相デジタル値を検出し、該シンクロA相信号、シンクロB相信号及びパルス位相は完全に同期して動作をするよう構成し、A相デジタル値とB相デジタル値を基準にシンクロA相信号とシンクロB相信号を前記マイクロコントローラ9により監視し、前記図18、図22、図25及び図28の全てのパルス位相の補正の処理を繰り返し実行することに依り、いかなるときもパルス位相と補間位相の組み合わせを正しく検出することが可能となる。
また、前記図13の正弦波インクリメンタルエンコーダ1bは図示するとおり、前記位相速度検出装置と僅かにA相、B相及びZ相の信号線を接続するのみで、20ビットを越える分解能の回転位相を安定して得ることが可能となり極めてコストメリットがあるものである。
図29は実施例5の全体の構成を説明する図であり、図30は実施例5の動作を更に説明するものである。
始めに、該図29において2eは位相速度検出装置、15はNOTゲート、16はDフリップフロップであり、17、18及び20はそれぞれiビット、2ビット及びmビットのデータラッチで、CLK入力の立ち上がりでD入力をラッチしてQ出力に送出する。19は基準カウンタ、21はパラレル入力ポートである。その他、図13と同じ記号を付すものはこれらと同じ機能を有しその説明を割愛する。
更に図29において、前記NOTゲート15は前記発信器5の出力の基準クロックCLKを反転した信号を、前記Dフリップフロップ16のCLK入力に供給し、該Dフリップフロップ16のD入力に加えられる信号をラッチし出力する。すなわち、前記Dフリップフロップ16のD入力の信号は、前記基準クロックの立ち下がりに同期化されるものである。
ここで、前記基準クロックCLKの立ち上がりではなく立ち下がりでラッチするとしているのは、後述するデータラッチ17、18及び20のD入力に加えられる信号は前記基準クロックCLKの立ち上がりで変化するものとしており、便宜上、データラッチのD入力対CLK入力のデータのセットアップ時間を満たす為である。
そして、前記マイクロコントローラ9から任意のタイミングで出力されるラッチ指令は、前記パラレル出力ポート10を経由し上述の前記Dフリップフロップ16で前記基準クロックCLKの立ち下がりに同期化された後、前記A/D変換器13及び14のA/D変換の開始と前記データラッチ17、18及び20のD入力のラッチを同時に実施することとなる。
次に、前記データラッチ17は前記パルス位相検出器8が出力する前記パルス位相を入力とし、前記データラッチ18は前記パルス抽出器6が出力する前記シンクロA相信号とシンクロB相信号を入力とする。
又、基準カウンタ19は前記基準クロックCLKの立ち上がりで動作するmビットのカウンタであり、該基準カウンタ19はベースタイムを出力し、該ベースタイムは前記データラッチ20の入力となる。そして、前記マイクロコントローラ9は前記A/D変換器13及び14のA相デジタル値とB相デジタル値と、パラレル入力ポート11、12及び21を経由して前記前記データラッチ17、18及び20の出力を入力し、これにより前記基準クロックCLKの立ち下がりに同期した同一時刻の前記A相デジタル値、B相デジタル値、前記パルス位相、前記シンクロA相信号、シンクロB相信号及びベースタイムを得ることとなる。
更に、図30により図29の本発明による速度検出の動作について説明する。図30の(a)は前記マイクロコントローラ9のスキャンの状態を表すもので、該マイクロコントローラ9は、前記図29に図示しない電動機の制御など種々のジョブを実行するものであるが、前記正弦波インクリメンタルエンコーダ1bの回転位相や回転速度の検出を、1スキャン毎に例えば図30の(a)に示す時刻t1、t2の' 1' となるそれぞれM1とM2で表す期間で行うとしている。次に、図30の(b)は前記マイクロコントローラ9により前記Dフリップフロップ16のD入力に加えられるラッチ指令を、図30の(c)は前記基準クロックCLKを、図30の(d)は前記Dフリップフロップ16のQ出力から送出される同期化されたラッチ指令を表している。前記マイクロコントローラ9は、前記図30の(a)の時刻t1から始まるM1の期間内でラッチ指令を出力し、該ラッチ指令は前記パラレル出力ポート10を経由し前記Dフリップフロップ16のD入力に加えられ、前記図30の(b)のR1に示す如くラッチ指令となる。そして、該ラッチ指令R1は前記Dフリップフロップ16により、前記図30の(c)の時刻t11における前記基準クロックCLKの立ち下がりに同期化され、前記図30の(d)のS1に示す如く同期化されたラッチ指令となる。
次に、図30の(e)は前記正弦波インクリメンタルエンコーダ1bのA相信号とB相信号を、図30の(f)は前記マイクロコントローラ9が演算し得る仮想上の連続した補間位相を、図30の(g)は前記パルス位相検出器8が出力するパルス位相の時間的推移を示す。
そして、前記図30の(d)の同期化されたラッチ指令S1により時刻t11において、前記A/D変換器13と14の出力は前記図30の(e)の点U1のA相デジタル値と点V1のB相デジタル値を保持し、前記図30の(g)では前記パルス位相(C−1)を前記データラッチ17に保持し、図30に図示しないが前記図29における前記シンクロA相信号、シンクロB相信号を前記データラッチ18に保持し、前記ベースタイムを前記データラッチ20に保持することとなる。
次に、前記マイクロコントローラ9は前記図30の(a)のM1の期間内において、これらの保持したデータを前記A/D変換器13、14及びデータラッチ17、18、20から入力すると共に、前記の点U1のA相デジタル値と点V1のB相デジタル値より、図30の(f)の点W1の補間位相を演算するものである。
以上は、前記マイクロコントローラ9の時刻t1における処理を説明したが、次のスキャンの時刻t2においても同様の処理を行う。
すなわち、該マイクロコントローラ9は前記図30の(a)の時刻t2から始まるM2の期間でラッチ指令を出力し、これにより前記Dフリップフロップ16のD入力に加えられる信号は、前記図30の(b)のR2に示す如くラッチ指令となる。
そして、該ラッチ指令R2は前記図30の(c)の時刻t21における前記基準クロックCLKの立ち下がりに同期化され、前記図30の(d)のS2に示す如く同期化されたラッチ指令となり、該同期化されたラッチ指令S2により時刻t21において、前記A/D変換器13と14の出力は前記図30の(e)の点U2のA相デジタル値と点V2のB相デジタル値を保持し、前記図30の(g)においては前記パルス位相(C+2)と、図30に図示しないが前記図29における前記シンクロA相信号、シンクロB相信号と、前記ベースタイムをそれぞれ前記データラッチ17、18及び20に保持することとなる。 そして、前記マイクロコントローラ9は前記図30の(a)のM2の期間内において、これらの保持したデータを前記A/D変換器13、14及びデータラッチ17、18、20から入力すると共に、前記の点U2のA相デジタル値と点V2のB相デジタル値より、図30の(f)の点W2の補間位相を演算するものである。
ここで、本実施例の特徴は、前記図30の(a)で示した前記マイクロコントローラ9のスキャンにより決定される任意の時刻、例えばt1やt2において、前記正弦波インクリメンタルエンコーダ1bのパルス位相と補間位相を得ることにより回転位相を常時正確に検出することが可能で、これにより更に、例えば時刻t11とt21間の回転位相の変化量も極めて精度良く検出するものである。
又、図30の(c)を参照して、時刻t11においてラッチされ入力される前記基準カウンタ19によるベースタイムは、時刻t12における前記基準クロックCLKの立ち上がり迄を計数したものであり、同様に時刻t21においてラッチされ入力される前記基準カウンタ19によるベースタイムは、時刻t22における前記基準クロックCLKの立ち上がり迄を計数したものである。
そして、時刻t21で得た上記のベースタイムから時刻t11で得た上記のベースタイムを減算したものに、前記基準クロックCLKの周期を乗算して得られるスキャン時間は図30の(d)に示す時間ΔT1となる。
ここで、前記発信器5は極めて精度の優れた水晶振動子を使用するもので、該発信器5が出力する基準クロックCLKは、周波数の安定度と共に波形のデューティも一定で安定している為、前記時間ΔT1は同じく図30の(d)に図示する時間ΔT11に等しい。 かようにして得られるスキャン時間ΔT11は、前記基準クロックCLKの2つの離れたエッジ間の該基準クロックCLKのパルス数と該基準クロックCLKの周期を乗算したもので、極めて正確なスキャン時間を得るものである。そして、前記正弦波インクリメンタルエンコーダ1bの回転速度は図30を例にすれば、時刻t21における前記パルス位相と前記補間位相からなる回転位相から時刻t11における回転位相を減算してスキャン時間ΔT11における回転位相の変化量を求め、これを前記スキャン時間ΔT11で除して求めるものであり、本発明による回転位相の変化量とスキャン時間ΔT11は極めて精度良く検出するものであるから、該回転位相の変化量とスキャン時間を演算して得られる前記正弦波インクリメンタルエンコーダ1bの回転速度も、極めて精度が良いものとすることができる。
かような本発明により、前記正弦波インクリメンタルエンコーダ1bが正転方向に回転するときも逆転方向に回転するときも、又停止中や低速回転中のみならず高速で回転中であっても、前記原点検出器7によりZ相信号から正確な1回転の基準を生成すると共に、前記図18、前記図22、前記図25及び図27により前記パルス位相の補正を行い、この補正後のパルス位相と補間位相により超高精度の回転位相と回転速度の検出を可能とし、これにより、シャフトレス輪転印刷機など複数の電動機間の高精度の同期制御や高速の位置決め制御を実現するものである。
実施例1の全体の構成を説明する図である。 正転のとき図1のパルス抽出器の動作を詳細に説明する図である。 逆転のとき図1のパルス抽出器の動作を詳細に説明する図である。 パルス抽出器の一実施例を説明する図である。 実施例2の全体の構成を説明する図である。 正弦波インクリメンタルエンコーダが出力する信号を説明する図である。 原点検出器の動作を詳細に説明する図である。 原点検出器の一実施例を説明する図である。 図9の原点検出器の一実施例の動作を説明する図である。 実施例3の全体の構成を説明する図である。 パルス位相検出器の一実施例を説明する図である。 図11のパルス位相検出器の一実施例の動作を説明する図である。 実施例4の全体の構成を説明する図である。 図13の実施例4の全体の動作を説明する図である。 コンパレータの動作その1を説明する図である。 パルス位相の補正を説明する図−その1である。 パルス位相の補正を説明する図−その2である。 図16と図17のパルス位相の補正の実施例を説明する図である。 コンパレータの動作その2を説明する図である。 パルス位相の補正を説明する図−その3である。 パルス位相の補正を説明する図−その4である。 図20と図21のパルス位相の補正の実施例を説明する図である。 パルス位相の補正を説明する図−その5である。 パルス位相の補正を説明する図−その6である。 図23と図24のパルス位相の補正の実施例を説明する図である。 パルス位相の補正を説明する図−その7である。 パルス位相の補正を説明する図−その8である。 図26と図27のパルス位相の補正の実施例を説明する図である。 実施例5の全体の構成を説明する図である。 速度検出を説明する図である。 インクリメンタル信号を説明する図である。 1回転の位相検出を説明する図である。 従来の回転位相の検出を説明する図である。
符号の説明
1a 正弦波インクリメンタルエンコーダ
1b 正弦波インクリメンタルエンコーダ
2a 位相速度検出装置
2b 位相速度検出装置
2c 位相速度検出装置
2d 位相速度検出装置
2e 位相速度検出装置
3 コンパレータ
4 コンパレータ
5 発信器
6 パルス抽出器
601 NOTゲート
602 Dフリップフロップ
603 NOTゲート
604 Dフリップフロップ
605 NOTゲート
606 Dフリップフロップ
607 NOTゲート
608 Dフリップフロップ
609 NOTゲート
610 ANDゲート
611 ORゲート
612 ORゲート
613 Dフリップフロップ
614 Dフリップフロップ
615 Dフリップフロップ
616 Dフリップフロップ
7 原点検出器
701 NOTゲート
702 JKフリップフロップ
703 Dフリップフロップ
704 Dフリップフロップ
705 NOTゲート
706 NOTゲート
707 NOTゲート
708 ANDゲート
709 ANDゲート
710 ORゲート
8 パルス位相検出器
801 アップ・ダウンカウンタ
802 係数器
803 加算器
804 セレクタ
9 マイクロコントローラ
10 パラレル出力ポート
11 パラレ入力ポート
12 パラレ入力ポート
13 A/D変換器
14 A/D変換器
15 NOTゲート
16 Dフリップフロップ
17 データラッチ
18 データラッチ
19 カウンタ
20 データラッチ
21 パラレル入力ポート

Claims (8)

  1. 90°位相差を有する2つの正弦波であるA相信号とB相信号のインクリメンタル信号を出力する正弦波インクリメンタルエンコーダの前記A相信号と前記B相信号を入力とし、該正弦波インクリメンタルエンコーダの回転位相速度を検出する位相速度検出装置であって、
    上記正弦波インクリメンタルエンコーダは1回転毎に複数サイクルの前記A相信号と前記B相信号を出力するものであり、
    上記位相速度検出装置はA相及びB相のコンパレータとパルス抽出器を内蔵し、該コンパレータは前記A相信号とB相信号から、それぞれ2値化した矩形A相信号と矩形B相信号を生成して上記パルス抽出器に出力し、
    上記パルス抽出器は、上記矩形A相信号と矩形B相信号から、上記正弦波インクリメンタルエンコーダの正転時にはクロック信号に同期した正転パルス信号を、また、逆転時にはクロック信号に同期した逆転パルス信号を抽出して出力するとともに、
    上記矩形A相信号と矩形B相信号の立上がり、立下りをクロック信号に同期させた、シンクロA相信号とシンクロB相信号を出力する
    ことを特徴とする位相速度検出装置。
  2. 上記正弦波インクリメンタルエンコーダは、A相信号とB相信号のインクリメンタル信号に加えて、1回転を識別するZ相信号を出力するものであり、
    上記位相速度検出装置は、上記Z相のコンパレータと原点検出器を内蔵し、
    上記Z相のコンパレータは、上記Z相信号から2値化した矩形Z相信号を生成し、
    上記原点検出器には、前記パルス抽出器が出力する前記正転パルスと前記逆転パルスと、上記矩形Z相信号が入力され、
    上記原点検出器は、上記正転パルスが出力されているか逆転パルスが出力されているかに応じて前記正弦波インクリメンタルエンコーダの回転方向を識別し、
    前記正弦波インクリメンタルエンコーダが正転方向に回転しているときは前記矩形Z相信号の先端または後端から短い所定のパルス幅の基準原点信号を出力し、
    前記正弦波インクリメンタルエンコーダが逆転方向に回転しているときは前記矩形Z相信号の後端または先端から短い所定のパルス幅の基準原点信号を出力する
    ことを特徴とする請求項1の位相速度検出装置。
  3. 上記位相速度検出装置は、パルス位相検出器を内蔵し、該パルス位相検出器は、前記正弦波インクリメンタルエンコーダの前記A相信号とB相信号の1回転当たりのサイクル数による最大パルス位相より充分に大きい値をカウントし出力するアップダウンカウンタと、選択手段を備え
    上記パルス位相検出器のアップダウンカウンタのアップカウント端子、ダウンカウント端子には、それぞれ前記パルス抽出器が出力する前記正転パルスと前記逆転パルスが入力され、アップダウンカウンタのリセット端子には、前記原点検出器が出力する前記基準原点信号が入力され、
    上記アップダウンカウンタは、上記正転パルスが入力されたときアップカウントし、上記逆転パルスが入力されたダウンカウントし、上記リセット端子に基準原点信号が入力されたときゼロにリセットされるものであり、
    上記選択手段は、上記アップ・ダウンカウンタの出力が正のときは、そのカウント値を前記正弦波インクリメンタルエンコーダのパルス位相として出力し、
    前記アップ・ダウンカウンタの出力が負のときは前記最大パルス位相に1を加算した最大パルス数と前記アップ・ダウンカウンタのカウント値を加算したものを前記正弦波インクリメンタルエンコーダのパルス位相として出力する
    ことを特徴とする請求項2の位相速度検出装置。
  4. 上記位相速度検出装置はA/D変換器とコントローラを内蔵し、
    上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力するものであり、
    前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであって、該Vhが該Vl以上であり、
    上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、
    前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、
    また、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、
    前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を減算する補正を行い、
    また、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を減算する補正を行う
    ことを特徴とした請求項3の位相速度検出装置。
  5. 上記位相速度検出装置はA/D変換器とコントローラを内蔵し、
    上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力するものであり、
    前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであって、該Vhが該Vl未満であり、
    上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、
    前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を減算する補正を行い、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、
    また、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を減算する補正を行い、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を減算する補正を行い、
    前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、
    また、前記B相デジタル値が負で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値が正で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行う
    ことを特徴とした請求項3の位相速度検出装置。
  6. 上記位相速度検出装置はA/D変換器とコントローラを内蔵し、
    上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力するものであり、
    前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであって、該Vhが該Vl以上であり、
    上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、
    前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値がゼロで前記B相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値がゼロで前記B相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、
    また、前記B相デジタル値がゼロで前記A相デジタル値が負で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値がゼロで前記A相デジタル値が正で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、
    前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値がゼロのときは前記パルス位相についての補正を行なわず、前記B相デジタル値がゼロのときも前記パルス位相について補正を行なわない
    ことを特徴とした請求項3の位相速度検出装置。
  7. 上記位相速度検出装置はA/D変換器とコントローラを内蔵し、
    上記A/D変換器は、前記正弦波インクリメンタルエンコーダが出力する前記A相信号とB相信号をデジタル値に変換したA相デジタル値とB相デジタル値を出力するものであり、
    前記A相及びB相のコンパレータは、前記A相信号と前記B相信号をハイレベルと判定するレベルVhと、ロウレベルと判定するレベルVlと比較して、前記A相信号と前記B相信号から前記矩形A相信号と前記矩形B相信号を生成するものであって、該Vhが該Vl未満であり、
    上記コントローラには、前記パルス位相検出器の出力である前記パルス位相と、前記パルス抽出器が出力するシンクロA相信号とシンクロB相信号と、前記A/D変換器が出力する前記A相デジタル値及びB相デジタル値が連続して入力され、
    前記正弦波インクリメンタルエンコーダが正転で回転しているとき、前記A相デジタル値がゼロのときは前記パルス位相についての補正を行なわず、前記B相デジタル値がゼロのときも前記パルス位相について補正を行なわず、
    前記正弦波インクリメンタルエンコーダが逆転で回転しているとき、前記A相デジタル値がゼロで前記B相デジタル値が負で前記シンクロA相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記A相デジタル値がゼロで前記B相デジタル値が正で前記シンクロA相信号が' 0' のときは前記パルス位相について1を加算する補正を行い、
    前記B相デジタル値がゼロで前記A相デジタル値が正で前記シンクロB相信号が' 1' のときは前記パルス位相について1を加算する補正を行い、前記B相デジタル値がゼロで前記A相デジタル値が負で前記シンクロB相信号が' 0' のときは前記パルス位相について1を加算する補正を行う
    ことを特徴とした請求項3の位相速度検出装置。
  8. 上記位相速度検出装置は、発信器が出力するパルスを計数する基準カウンタとデータラッチを備え、
    上記発信器が出力するパルスのエッジに同期したラッチ指令により、同一時刻の前記基準カウンタの出力値と前記パルス位相と前記シンクロA相信号と前記シンクロB相信号と前記A相デジタル値及び前記B相デジタル値をラッチして、所定の時間間隔で前記コントローラに入力し、
    上記コントローラは、上記時間間隔における上記基準カウンタの出力値の変化量より、上記時間間隔と前記正弦波インクリメンタルエンコーダの回転位相の変化量を検出し、上記時間間隔と回転位相の変化量より上記正弦波インクリメンタルエンコーダの回転速度を演算し検出する
    ことを特徴とする請求項4,5,6または請求項7の位相速度検出装置。
JP2003391706A 2003-11-21 2003-11-21 位相速度検出装置 Expired - Lifetime JP4289983B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003391706A JP4289983B2 (ja) 2003-11-21 2003-11-21 位相速度検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003391706A JP4289983B2 (ja) 2003-11-21 2003-11-21 位相速度検出装置

Publications (2)

Publication Number Publication Date
JP2005156208A true JP2005156208A (ja) 2005-06-16
JP4289983B2 JP4289983B2 (ja) 2009-07-01

Family

ID=34718644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003391706A Expired - Lifetime JP4289983B2 (ja) 2003-11-21 2003-11-21 位相速度検出装置

Country Status (1)

Country Link
JP (1) JP4289983B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007198805A (ja) * 2006-01-24 2007-08-09 Ricoh Co Ltd 位置検出装置、位置検出方法及び画像形成装置
WO2009104576A1 (ja) * 2008-02-20 2009-08-27 株式会社明電舎 回転体の位相・速度検出装置
JP2014231990A (ja) * 2013-05-28 2014-12-11 株式会社東芝 信号処理装置
JP2019070603A (ja) * 2017-10-11 2019-05-09 東洋電機製造株式会社 Abz相の分周装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108731707B (zh) * 2018-06-04 2021-01-01 大族激光科技产业集团股份有限公司 双增量式编码器测量绝对位置方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007198805A (ja) * 2006-01-24 2007-08-09 Ricoh Co Ltd 位置検出装置、位置検出方法及び画像形成装置
WO2009104576A1 (ja) * 2008-02-20 2009-08-27 株式会社明電舎 回転体の位相・速度検出装置
JP2009198231A (ja) * 2008-02-20 2009-09-03 Meidensha Corp 回転体の位相・速度検出装置
JP2014231990A (ja) * 2013-05-28 2014-12-11 株式会社東芝 信号処理装置
JP2019070603A (ja) * 2017-10-11 2019-05-09 東洋電機製造株式会社 Abz相の分周装置

Also Published As

Publication number Publication date
JP4289983B2 (ja) 2009-07-01

Similar Documents

Publication Publication Date Title
CN105306050B (zh) 时钟生成电路
US20150129744A1 (en) A/d converter, solid-state image sensor and imaging system
US7930121B2 (en) Method and apparatus for synchronizing time stamps
US20130073250A1 (en) Sensor arrangement for speed measurement
US9166843B2 (en) Digital pulse width generator and method for generating digital pulse width
CN1912549B (zh) 编码器输出的内插方法和内插电路
JP4289983B2 (ja) 位相速度検出装置
JP5601292B2 (ja) デジタル位相同期回路および物理量検出センサ
JP6903543B2 (ja) Abz相の分周装置
CN110518907B (zh) 信号生成电路及其方法、数字时间转换电路及其方法
JP5408980B2 (ja) 2値化回路及び回転検出装置
JP4352921B2 (ja) 回転位置検出装置
JP5023051B2 (ja) パルス合成回路
US9319050B1 (en) Multiple synchronizable signal generators using a single field programmable gate array
US7535382B2 (en) High speed quadrature counter
CN101517896A (zh) A/d变换器
JP4519183B2 (ja) Ab相信号発生器、rdコンバータ及び角度検出装置
WO2012106079A1 (en) Advanced converters for memory cell sensing and methods
CN112383257B (zh) 基于ad2s1210旋变解码芯片的旋变反馈信号分频方法和系统
JP2010074637A (ja) アップダウンカウンタ装置
JPH11241927A (ja) 位置検出装置
Ismail et al. Integrally accurate resolver-to-digital converter (RDC)
TWI790124B (zh) 校正電路及校正方法
US8908823B2 (en) Digital period divider
JP3067729B2 (ja) エンコーダの信号処理方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090331

R150 Certificate of patent or registration of utility model

Ref document number: 4289983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

EXPY Cancellation because of completion of term