(57)【特許請求の範囲】
【請求項１】
所定周波数の第１のパルス信号を発生する発振手段と、前記第1のパルス信号を分周して第2のパルス信号を発生する分周手段と、前記第2のパルス信号のパルスを入力してパルスエッジを遅延させる遅延手段と、周波数指令に基づいて前記分周手段に対する分周率指令及び、前記遅延手段に対する遅延指令を算出してそれぞれ設定する演算手段とを有する離散的に周波信号を生成可能なパルス生成回路において、
前記遅延手段は、前記遅延指令に基づいて所定のタイミングで順次シリアル信号を発生するシリアル信号発生手段と、該シリアル信号波形を入力とするローパスフィルタ手段と、該ローパスフィルタ手段の出力を所定レベルと比較する比較手段と、該比較手段の比較結果に基づいて１つ以上のパルス信号を生成するパルス生成手段を有することを特徴とするパルス生成回路。
【請求項２】
前記シリアル信号発生手段の出力する信号は、上記ローパスフィルタ手段の出力信号が遅延時間に対応する電圧に設定されるまでの電圧発生区間と、この電圧を時間に変換するまでの電圧時間変換区間の２つからなることを特徴とする請求項１に記載のパルス生成回路。
【請求項３】
前記電圧発生区間は、上記シリアル信号発生手段から遅延時間に対応する２進表記のデータを所定のタイミングで順次出力することを特徴とする請求項２に記載のパルス生成回路。
【請求項４】
前記２進表記のデータは、遅延時間に比例する値に−1を掛けた値であることを特徴とする請求項３に記載のパルス生成回路。
【請求項５】
前記電圧時間変換区間は、前記電圧発生区間で前記ローパスフィルタ手段によって最終的に出力された電圧を半分にするために、前記シリアル信号発生手段から所定時間の間第１のレベルを出力すると共に、この所定時間以降には第２のレベルとすることを特徴とする請求項２、３または４に記載のパルス生成回路。
【請求項６】
前記ローパスフィルタ手段の定数は、該ローパスフィルタへのステップ入力信号に対して該ローパスフィルタの出力信号が上記所定のタイミングに相当する時間で該ステップ入力信号に対して１／２のレベルに到達するように設定されることを特徴とする請求項１から５のいずれかに記載のパルス生成回路。
【請求項７】
前記シリアル信号発生手段は、ワンチップマイコン等で用いられるシリアル通信手段用ユニットであって、該シリアル通信手段は該ワンチップマイコンで演算された分周率に従って、該ワンチップマイコンに内蔵されたタイマーユニットから順次発生するタイミングで起動され、該ワンチップマイコンの演算結果に基いた遅延データをシリアルデータに変換して出力することを特徴とする請求項１から６のいずれかに記載のパルス発生回路。
【請求項８】
前記電圧発生区間において発生した電圧を検出する電圧検出手段と、該電圧検出手段で検出された電圧と所望の値とを比較し、許容範囲を超えていたらシリアル送信データを補正する補正手段を持つことを特徴とする請求項１から７のいずれかに記載のパルス生成回路。
【請求項９】
予め前記シリアル信号発生手段からいくつかのシリアルデータを送信してローパスフィルタを通過して出力される電圧を測定し、あらかじめ求められている遅延時間と、電圧発生区間の電圧の関係から求められる所望遅延量に対する電圧に対応するシリアルデータを決定することを特徴とする請求項１から８のいずれかに記載のパルス生成回路。
【請求項１０】
電気−機械エネルギー変換素子により振動が励起される振動体と、該振動によって該振動体に接触する接触体と該振動体とを相対移動させる振動型アクチュエータの駆動回路に於いて、
請求項１から９のいずれかに記載のパルス発生手段と、該パルス発生手段の出力パルスと前記発振手段の出力信号に同期して複数の位相の異なるパルスを発生する駆動パルス発生手段と、前記駆動パルス発生手段の出力信号が入力され増幅された交流電圧を振動型アクチュエータに印加する電力増幅手段からなることを特徴とする振動型アクチュエータの駆動回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル的に周波数が設定できる発振回路及び振動型アクチュエータの駆動回路に関するものである。
【０００２】
【従来の技術】
一般に、振動波モータ等の振動型アクチュエータは、駆動振動が形成される振動体と、前記振動体に加圧接触する接触体とを有し、前記振動体と前記接触体とを前記駆動振動により相対的に移動させるようにしたものである。
【０００３】
そして、前記振動体は、一般に、弾性体と、電気−機械エネルギー変換素子としての圧電素子とにより構成され、例えば弾性体に対して空間的に互いに９０°の位相差を持った位置に駆動相を有する圧電素子を配置し、この２つの駆動相に互いに９０°の位相差を持つ２相の交番信号を印加することによって弾性体上に進行波を発生させ、これに接触体を圧接して摩擦力により駆動力を得るようにしている。
【０００４】
なお、振動体と接触体との接触部には適切な摩擦力を得るための摩擦材が接着、塗布、または形成される。
【０００５】
振動型アクチュエータの特徴として、電磁力を用いたアクチュエータと比較して、低速での駆動トルクが大きい、応答性がよい、可聴域以上の振動を利用しているため人間が駆動音を感じないため静かであるといった点が上げられる。
【０００６】
一般に、振動型アクチュエータは大きな電圧が必要なため、線形増幅器により駆動信号を増幅するか、トランスにより昇圧するか、インダクタンス素子とスイッチング素子を組み合わせて、振動波アクチュエータの容量成分との共振を利用する等、一方法または複数の方法を組み合わせて昇圧を行っている。
【０００７】
また、振動型アクチュエータの駆動速度を制御する方法として、駆動電圧、駆動周波数、および駆動相間の位相がある。このうち、周波数による制御は単独で広いダイナミックレンジと分解能を両立でき、また最近発達しているディジタル回路との整合性が良いので好んで用いられている。
【０００８】
このような振動型アクチュエータの制御回路としては、特開平11-178373号公報に記載のように、振動型アクチュエータの駆動周波数を生成する手段としてラダー抵抗型D/A変換器とRCフィルタを用いた遅延手段を用い、数10KHzの駆動周波数でありながら、数Hzの分解能を持つディジタル発振器を用いていた。
【０００９】
また、特許第2669023号公報には、ディジタル的に周波数を小刻みに変化させてその中間の周波数を擬似的に発生させるように構成したものが記載されている。
【００１０】
【発明が解決しようとする課題】
しかしながら、特開平11-178373号公報に記載の回路では、駆動周波数の分解能を高めていくに従ってD/A変換器のビット数が増加するため、これをIC等で構成する場合、ICのピン数が増加すると共に、実装面積も広くする必要があった。また、特許第2669023号公報に記載の回路では、擬似的に周波数を高分解能にするため、実際には周波数が変動しており、振動型アクチュエータの速度変動が発生する問題があった。またこの変動を小さくするためには非常に高周波の基準クロックを必要とするためコスト的に不利であった。
【００１１】
【課題を解決するための手段】
上記目的を達成する為、本出願に係る第１の発明は、シリアル信号発生手段とアナログフィルタによって遅延手段を構成することで、ラダー抵抗型D/A変換器を不用とし部品点数を大幅に削減した。
【００１２】
本出願に係る第2の発明は、シリアル信号を遅延データに対応する電圧を生成する信号を出力する区間と該電圧を遅延時間に変換するための信号を出力する区間に分けたことである。
【００１３】
本出願に係る第3の発明は、上記シリアル信号発生手段は遅延時間に対応する遅延データの下位ビットから順次出力することで遅延時間を発生させたことである。
【００１４】
本出願に係る第4の発明は、遅延時間に比例するデータに−1を掛けた値を遅延データとし、単純な演算で遅延データを計算したことである。
【００１５】
本出願に係る第5の発明は、上記電圧時間変換区間のシリアル信号発生手段の出力信号を第１のレベルの後に第２のレベルを出力することで、上記電圧発生区間で発生した電圧を時間に変換したことである。
【００１６】
本出願に係る第6の発明は、ローパスフィルタ手段の定数を、該ローパスフィルタへのステップ入力信号に対して該ローパスフィルタの出力信号が上記所定のタイミングに相当する時間で該ステップ入力信号に対して１／２のレベルまで到達するように設定することで、シリアル信号のデータと上記ローパスフィルタの出力信号が比例するようにしたことである。
【００１７】
本出願に係る第７の発明は、上記パルス発生手段を公知のワンチップマイコンのシリアル通信手段を用いて実現したことである。
【００１８】
本出願に係る第8の発明は、電圧発生区間で発生した電圧を検出することで、ローパスフィルタの時定数の誤差を検出し、これを補正する補正手段を設けたことである。
【００１９】
本出願に係る第9の発明は、あらかじめ電圧発生区間で発生する電圧とシリアルデータの関係を求め、所望の遅延量に対応するシリアルデータをこの関係をもとにして決定することである。
【００２０】
本出願に係る第10の発明は、振動型アクチュエータで高精度な制御を行う装置に於いて、本出願のパルス発生手段を用いたことである。
【００２１】
【発明の実施の形態】
（第１の実施の形態）
図１は本発明の第１の実施形態を示す。
【００２２】
図１は、固定周期を持つパルスを基準とし、その周期の整数分の１の時間単位で周期をコントロールする為に相対的な遅延時間を任意に設定できるように構成した周波信号生成回路ブロック図である。
【００２３】
図１に於いて、１は水晶等の圧電素子を用いた発振回路で、上記固定周期のパルスを発生している。２は不図示の指令手段からの周波数指令に基づいて発振回路１からのCLK信号のタイミングで遅延時間を決定して出力する遅延時間指令手段である。
【００２４】
３は遅延時間指令手段２のパラレル出力データをシリアル信号に変換するパラレル−シリアル変換手段（以下P−S変換手段３と略す）で、遅延時間指令手段２からのEQA＝１が入力されると遅延時間指令手段２のパラレル出力データをCLK信号に同期してシリアル信号に変換する。４は抵抗RとコンデンサCからなるローパスフィルタ、5は遅延時間指令手段2からのEQA=1が入力されるとローパスフィルタ4のコンデンサにチャージされた電荷をリセットするリセット手段である。
【００２５】
6は公知のシュミット・トリガー入力のインバータ（以下INV6と略す）、7はINV6の出力信号の立ち上がりまたは立ち下がりの変化を検出し、変化を検出する毎に所定のパルス幅の信号を発生するエッジ検出手段で、遅延時間指令手段２からのEQ0＝１が入力されるとエッジ検出が許可され、エッジが検出されると、予め決められたパルス幅のパルスを出力し、エッジ検出許可を解除するように構成されている。
【００２６】
図２は遅延時間指令手段２の構成を示すブロック図を示す。
【００２７】
８は不図示の指令手段からの周波数指令の下位８ビットが入力され、EQA＝１の信号が後記する分周器１０から入力されると、CLK信号の立ち上がりのタイミングで８ビットの積算レジスタから周波数指令の下位８ビットを減算し、結果を積算レジスタに設定し、アンダーフローがあればBOに出力する積算器である。
【００２８】
９は上記周波数指令の下位８ビット以外の上位ビットに積算器8からのBO信号（0 or 1）を加算して出力する加算器である。
【００２９】
１０は２進加算器９からの出力を読み込みダウンカウントする分周器で、出力EQA=1はダウンカウントした結果が１０であることを示し、出力EQ0＝１はダウンカウント結果が０であることを示す。また、分周器10は、出力EQ0＝１でCLK信号が入力されると、カウント値に２進加算器9の出力値が入力される。
【００３０】
１１は積算器８の出力をビット０からビット７に割り当て、ビット９に１、ビット８に０を設定して１０ビットにビット拡張するビット拡張手段である。
【００３１】
図３は図１、図２の各部の波形を示すタイミングチャートである。図３は不図示の指令手段からの周波数指令が１６進数のE7Aの場合を示している。この場合下位８ビットは7Aであり、上位ビットはEとなる。従って、積算器８はEQA=1が入力される毎に7Aが減算されることになる。ここで積算器８が7Aづつ減算されて62、E8、6E、F4の順に積算結果が変化する場面について説明する。
【００３２】
発振回路１のCLK信号の１周期ごとに２進加算器９からの出力値を分周器１０でダウンカウントするが、信号BOが0の場合はE（16進数）からダウンカウントする。そしてダウンカウント値がA（10進数の10）になると１CLKパルス分だけEQA=1となる。
【００３３】
そこで、EQA=1が入力された積算器８は周波数指令の下位８ビットを減算する。例えば積算器8の出力が16進数の62であったなら、周波数指令の下位8ビット7Aが減算され、その結果E8が積算器８から出力され、さらにアンダーフローによりBO=1が２進加算器９に出力される。すると、２進加算器９は信号BOを周波数指令の上位ビットに加算して分周器１０に出力し、次回の分周器１０のダウンカウント数を１回増やしてF（16進数）からダウンカウントするようにしている。
【００３４】
この様にして分周器１０のダウンカウント値がAになるごとに積算器８で周波数指令の下位8ビットの減算が繰り返されると共に、分周器１０ではダウンカウント値が0になるごとに２進加算器９の出力を入力してダウンカウントを繰り返す。
【００３５】
この様にして計算された積算器８の積算結果は遅延時間に相当し、ビット拡張手段１１で上位２ビットに10（2進数）を付け足して10ビットにビット拡張してP-S変換手段３に出力している。
【００３６】
P-S変換手段３では、EQA=1の時のCLK信号の立ち上がりで遅延時間指令手段2からのDelay信号を取り込むと共に、この信号を下位ビットから順にシリアルデータとしてCLK信号の立ち上がりに同期してSO信号を出力している。
【００３７】
P-S変換手段３から出力されるSO信号は、ローパスフィルタ４に入力され、FO信号に示すように滑らかな波形に変換している。
【００３８】
また、EQA=1ではローパスフィルタ４の出力がリセット手段５によって0Vにリセットされているので、P-S変換手段３から最下位ビットのデータがSO信号として出力される際には必ずローパスフィルタ４の出力は0Vから始まるようになっている。そして、ローパスフィルタ４の出力はINV6でパルス信号IOに変換される。
【００３９】
そして、エッジ検出手段７でパルス信号IOの立ち上がりエッジを検出するが、シリアル信号がP-S変換手段３から最後まで出力されるまではエッジを検出しないようにEQ0=1になるまではエッジの検出を許可しないように構成されている。
【００４０】
EQ0=1が入力されるとエッジ検出が許可され、許可後にIO信号の最初の立ち上がりエッジが入力されると所定のパルス幅の信号をPOに出力すると共に、次にEQ0=1が入力されるまでIO信号の立ち上がりエッジの検出を許可しないように構成されている。
【００４１】
ここで、遅延時間の誤差を少なくするためにはローパスフィルタ４の時定数が重要なファクターとなる。その時定数は上記発振回路１の出力するCLK信号の周期をTとするとローパスフィルタ４へのステップ入力に対して周期Tの時間後にローパスフィルタ４の出力がステップ入力の半分になるようにするためにT÷ln2（２の自然対数）となるようにローパスフィルタ４のR、Cの値が決定される。例えば周期Tを100nSecとすれば、時定数はおよそ144ｎSecとなり、ローパスフィルタ４のコンデンサを100pFとすれば抵抗はおよそ1.44KΩとなる。ただし、コンデンサの容量や、抵抗の値はローパスフィルタ４に対する出力回路の出力抵抗（ここではパラレルシリアル変換手段３の出力抵抗）やローパスフィルタの出力が接続される素子の入力容量（ここではINV６の入力容量）や、回路パターンの持つ浮遊容量や配線抵抗、配線インダクタンス等の影響も考慮してローパスフィルタの時定数は決定される。
【００４２】
特に高周波領域では配線の影響は大きいので抵抗やコンデンサなどの既存の部品を使わずに、回路基板の銅箔パターンで時定数を決定しても良い。
【００４３】
こうすることで、例えばローパスフィルタ４のコンデンサのチャージがリセットされた状態から入力に５Vの電圧が印加され、周期Tの時間が経過するとこのコンデンサには2.5Vの電圧を発生する電荷がチャージされることになる。
【００４４】
また、この周期Tとはシリアル信号の１ビットあたりの時間を示しており、もし、CLK信号の立ち上がりと立下りの両エッジを使ってシリアル信号をCLK周期の半分の周期毎に１ビットづつ出力した場合には周期Tの半分の時間を上式のTに置き換えて計算された時定数となる。
【００４５】
同様にして、CLK信号２パルスごとにシリアル信号を発生させた場合には周期Tは倍の値として計算する必要がある。この様な時定数を設定されたローパスフィルタ４は、下位ビットから順にシリアル信号を入力すると、ローパスフィルタ４の出力には該シリアル信号に比例する電圧が発生する。
【００４６】
以下にこの原理を説明した後に、遅延時間を発生させるための原理を説明する。初めに、シリアル信号が２ビットの場合について説明する。
【００４７】
ローパスフィルタ４に5Vを入力し、CLK信号の周期Tが経過すると、ステップ入力の半分であるからローパスフィルタ４の出力は2.5Vとなる。入力が0Vなら0Vのままである。
【００４８】
ここで、シリアル信号が５V、0Vの順で変化した場合について考える。ローパスフィルタ４の出力は最初の周期Ｔを系化すると2.5Vとなり、次の周期Tを経過すると入力電圧0Vとローパスフィルタ４の出力2.5Vの差がステップ入力に相当するので半分の電圧だけ変化して1.25Vとなる。次にシリアル信号が５Vのまま周期Tの２倍経過すると最初の１周期分で2.5Vであるから、次の１周期では入力電圧5Vとローパスフィルタ４の出力2.5Vの差がステップ入力に相当するので半分の電圧だけ変化するから3.75Vとなる。
【００４９】
つまり、図４に示すようにシリアルデータが00、01、10、11（２進数）に対応してローパスフィルタの出力電圧は0V、1.25V、2.5V、3.75Vとなることがわかる。ビット数が増えても同様で、8ビットのシリアルデータを入力した場合、ローパスフィルタ４の出力電圧は（シリアルデータ）÷256×5Vの電圧が出力されることになる。
【００５０】
次に遅延時間を発生させるための原理を説明する。
【００５１】
図５は遅延時間を説明するタイミングチャートである。
【００５２】
タイミングSEにおいて、8ビットのシリアルデータによってこれに比例した電圧がローパスフィルタ４の出力信号F0に現れている。タイミングSEからシリアル信号S0は周期Tの時間だけ0Vになり最後に5Vになっている。まず、最初の0Vをローパスフィルタ４に入力することで（シリアルデータ）÷256×5Vで計算される電圧を（シリアルデータ）÷256×2.5Vにしている。そうすることで全てのシリアルデータ（00,20,60,B0,FF(16進数)）に対してローパスフィルタ４から出力される電圧は2.5Vより小さくなる。
【００５３】
この後にシリアル信号S0を5Vにすると、5Vを入力する前のローパスフィルタの出力電圧が2.5Vに近いほど、早いタイミングでローパスフィルタ４の出力信号F0がINV6の閾値電圧（例えば2.5V）を超えるので遅延時間の小さいパルス信号P0を得ることが出来る。
【００５４】
ここで、5Vを入力する前のローパスフィルタの出力信号F0が0Vの場合には、周期Tを経過するとローパスフィルタ４の出力が2.5Vになり、2.5Vの閾値を超えるタイミングがSE+2のタイミングと同じになる。そのため、周期Tの時間の中にシリアルデータのビット数分の分割数の遅延時間を発生させることが可能になる。ここで、INV6の閾値電圧は2.5Vより大きく、原理的には5Vより小さければ必ずローパスフィルタ４の出力がこの閾値をよぎるので遅延パルスの生成が出来、閾値によって遅延時間の絶対値は変化するが、シリアルデータによって決まる相対遅延時間については変化しない。
【００５５】
また、この閾値を大きな値とするとローパスフィルタ４の出力電圧の変化の傾きが小さくなるので、ノイズの影響によって、遅延時間にバラツキが発生してしまう。そのため閾値を入力電圧に対して7割程度を超えないようにするのが妥当と思われる。閾値を変える方法としては、INV6を入力特性や電源電圧を異なるものにしたり、ローパスフィルタ４への入力電圧を変えたり、ローパスフィルタ４の出力電圧を抵抗分圧などして小さくする方法等がある。この様にして遅延時間を細かくディジタル的に設定出来るので発振回路１のCLK信号が10MHｚ程度（周期100ｎSec）でもパルス信号の周期を数100ｐSecの分解能で発生させることが出来る。またPLLなどの制御ループが存在しないので非常に高速に周波数を変化させることが出来る。
【００５６】
（第２の実施の形態）
図６は本発明の第２の実施形態を示す。
【００５７】
図６の回路ブロック図は、本発明のパルス生成手段を用いて公知の振動型アクチュエータの回転制御を行なうように構成されている。また、図７、８は振動型アクチュエータの一つである円環型のアクチュエータの例を示す構成図である。先に振動型アクチュエータの構成について図７、図８を用いて説明し、その後に図６のブロック図を説明する。
【００５８】
まずアクチュエータの簡単な説明をする。
【００５９】
図７において、振動体はリング状に形成された弾性部材100の片面側に電気−機械エネルギー変換素子としての圧電素子１０４が接着されて構成されており、弾性体100の他面側にロータ101が不図示の加圧手段で加圧接触されている。102は弾性体100に接着され、ロータ101との間に挟まれている摩擦材、103はロータ中心に接続された回転軸である。圧電素子104は図8に示す形状で、表面の電極が複数の電極に分割されている。またこの電極は２つの駆動用電極グループ（104−ａ，104−ｂ）と一つのセンサ電極部（104−ｃ）からなっており、以下それぞれ104−ａをA相、104−ｂをB相、104−ｃをS相と言う。
【００６０】
図７に示す振動型アクチュエータは、このA相とB相に時間的位相差が９０度の交流電圧を印加することで弾性体100の駆動部に進行性の振動波を発生させ、この振動の力を弾性体100に摩擦材102を介して加圧接触しているロータ101へ摩擦力を介して伝達し、ロータ101を回転するように構成されている。このように振動型アクチュエータは、２つの交流電圧を印加することでロータ101と振動体が相対的に回転することになる。
【００６１】
そして、回転軸103には被駆動対象物が接続されると共に振動体とロータ101の相対的な回転角を検出するための不図示の回転検出手段が接続されている。
【００６２】
次に図６の説明を行なう。
【００６３】
図６において、１２はCPUで、タイマー割り込み機能及びシリアル同期通信機能を備えている。１３はローパスフィルタで、２つの抵抗とコンデンサからなっている。ローパスフィルタ１３には、CPU１２からのシリアル送信データ信号が入力されており、CPU12のシリアル通信レートをB[bps]とすると、R2=3×R1で0.75×R1×C×B×ln2＝１の関係となるように抵抗値及び静電容量が設定されている。
【００６４】
14及び15は公知のシュミット・トリガー入力のインバータで（以下INV14、INV15と略す）、INV14はローパスフィルタ13の出力が所定の電圧を超えると0Vを出力するようになっている。INV15はCPU１２のシリアル同期通信の同期信号であるSCK信号を反転している。
【００６５】
16はカウンタで、INV15からの信号の立ち上がり、つまりSCK信号の立下りごとに１加算する構成となっており、CPU12からのCLR信号が0Vになるとカウント値が0にリセットされる。
【００６６】
又、カウント値が７以上になるとGE7=0（カウント値が6以下では１を出力）を出力し、GE7=0を出力した後はCLR信号が入力されるまでカウントが禁止されるようになっている。
【００６７】
17は公知の論理NOR素子で（以下NOR17と略す）、INV14の出力I1信号とカウンタ16の出力のGE7信号の双方が0Vの際に出力が5Vとなる。18はNOR17の出力の立ち上がりエッジに同期して４相のパルスを生成するパルス生成手段であり、CPU12からのON/OFF=1で４相パルスを出力し、ON/OFF=0で４相パルスを停止する。
【００６８】
また、CPU12からのDIR信号によって４相パルスの位相を切り替えるようになっており、これによって振動型アクチュエータの回転方向が切り替わる。
【００６９】
Q1からQ4までの素子は公知のMOSFETであり、パルス生成手段１８からの４相のパルスで駆動され、トランスT1、T2で昇圧された交流電圧が弾性体100に接着されている圧電素子104-a、104-bに印加されるようになっている。
【００７０】
圧電素子104-aと圧電素子104-bに印加される電圧は略同じ電圧振幅で、同一周波数で位相が90°ずれた電圧であり、CPU12からのDIR信号によってこの90°の位相を正又は負の位相に切り替え、振動型アクチュエータのロータ101の回転方向を切り替えている。
【００７１】
また、振動型アクチュエータのロータの回転角を検出する不図示の回転検出手段の信号がCPU12に接続されており、振動型アクチュエータ（ロータ）の回転角を検出する構成になっている。ここで、振動型アクチュエータの駆動電圧をこの様な発振手段を用いることの利点について簡単な説明を加えておく。
【００７２】
一般に振動型アクチュエータは数10KHｚの駆動電圧で駆動され、その多くは駆動周波数を変化させることで被移動体との相対的な速度を制御している。図９に振動型アクチュエータと駆動周波数と被移動体の移動速度の関係の例を示す。
【００７３】
図9は、数KHｚの駆動周波数の変化で移動速度の変化が大きいこと、周波数Frを境にして非対称な特性であることを表している。このことから、被移動体の移動を滑らかに且つ移動速度を高精度に制御するためには、駆動周波数の設定分解能を高くすることが要求される。分解能が数Hz程度が望まれる。
【００７４】
また、ディジタル的にこれを発生させるには非常に高い基準クロックを必要とすると共に、非常に高速な論理回路や大規模な回路による並列処理が必要となる。これをアナログ的にVCOなどで行なう場合、周波数の精度や、ノイズによる影響が懸念される。このようにディジタル的に設定でき、且つ分解能の高い発振手段は振動型アクチュエータで高精度な制御を行なう上で重要な要素である。
【００７５】
ここで図6の動作説明に戻る。図10、11は各部の動作波形を示すタイミングチャートである。
【００７６】
CLKはCPU12の動作クロックで、最低でも１命令実行するのに１クロック周期を必要とする。TINT信号はCPU12内部のタイマー割り込み信号で、割り込み間隔はタイマー割り込みが発生する毎に演算により設定される。TXDはシリアル同期通信のシリアルデータ信号であり、シリアルデータは上位２ビットが10（２進数）と設定され、下位６ビットが演算によって得られた遅延時間に相当する値が設定される。SCK信号はCPU12のシリアル同期通信の同期信号であり、シリアルデータがTXDに出力されるごとに１パルス出力している。この１パルスを出力するのに要する時間はCPU12に設定されたシリアル通信のボーレート（ビットレート）で決められた時間によっている。またシリアルデータのビット数が8ビットであるが、シリアルデータを連続して送ることで８ビット以上でも可能である。
【００７７】
F1信号はローパスフィルタ13にTXD信号を入力した結果であり、第１の実施の形態と同様の波形を示している。ここで第１の実施の形態と異なるのはローパスフィルタのゲインを下げたことである。抵抗分圧によって出力電圧は第１の実施の形態と比較して0.75倍になっており、最大電圧は3.75Vである。この様に抵抗分圧によってINV14の閾値（2.5V）を変えずに相対的に閾値を変更することが出来る。
【００７８】
GE7信号はカウンタ16でSCK信号をカウントすることでシリアル信号の最後のデータが送出されたことを検出しており、本実施の形態ではカウント値が７以上でGE7信号を発生させたが、カウント値が例えばA（16進数）以上としたりして他の値を選べば、CPU12からのシリアルデータと連動させることで任意にシリアルデータのビット数を設定することが出来る。
【００７９】
シリアルデータの最後を検出することでINV14で検出されたパルス信号のうち必要なパルスエッジのみをNOR17によって検出でき、第１の実施の形態と同様にしてP1信号には周波数分解能の高いパルス信号を得ることが出来る。
【００８０】
図11はパルス生成手段18の出力信号波形を示すタイミングチャートで、CPU12からのDIR信号及びON/OFF信号で信号の位相やON/OFFが設定されている。
【００８１】
図12、図13に不図示の振動型アクチュエータの速度を制御する場合のフローチャートを示す。図12は不図示の振動型アクチュエータの速度制御のメインルーチンであり、図13はタイマー割り込みで動作するルーチンである。
【００８２】
まず、図12を説明する。
【００８３】
Ｓ−１：初期設定では、変数Vに速度指令を設定し、変数Fに起動時の初期周波数を設定する。変数Fは駆動周波数の４倍の周波数の周期に相当する値である。
【００８４】
変数TDはタイマー割り込みのタイミングを設定するための変数で、周波数データ変数F（12ビット幅）の上位6ビットのデータをAND演算で取り出し、64で割った値である。変数Tはタイマー割り込みの周期及び遅延データを計算する変数で、初期値は0である。
【００８５】
変数Pには振動型アクチュエータのロータ101の回転を検出するための不図示のエンコーダ信号によって検出された回転角に相当する現在位置が代入される。変数P0は回転速度を計算するための変数で、前回に検出された位置データが代入される。初期状態では振動型アクチュエータは停止状態なので、変数Pの値が代入される。
【００８６】
変数Cは位置を検出するタイミングを検出するためのカウンタ変数で、タイマー割り込みが発生するごとに１加算され、C=10になると変数Pが変数P0に代入されると共にその時の位置が変数Pに代入される。なお、図１３に示す変数SDはシリアル送信されるデータであり、初期では0に設定される。そしてカウンタ16のカウント値をCLR信号で0にリセットする。
【００８７】
Ｓ−２：各変数が初期化された後で、変数TDがタイマー割り込み用の比較値に代入され、タイマー割り込みを許可する（Ｓ−３）。
【００８８】
そして、パルス生成手段18にONが指令され（Ｓ−４）、振動型アクチュエータに駆動電圧が供給されロータ101が回転する。
【００８９】
そして、Ｓ−５において停止指令が入力されるまでは、タイマー割り込みが10回発生する毎に（ｓ−６）、現在位置を表す変数Pと前回の位置を表す変数P0から速度が検出して変数VSに代入し、指令速度を表す変数Vから現在速度を表す変数VSを引いてゲインGを掛けた値が駆動周波数を表す変数Fに加算され、カウンタ変数Cが0にリセットされ、現在位置を表す変数Pの値を変数P0に代入され（Ｓ−７）、この動作が繰り返される。
【００９０】
一方、Ｓ−５において停止指令が入力されると、パルス生成手段18にOFFが指令され（Ｓ−８）、振動型アクチュエータは停止する。
【００９１】
ここで、駆動周波数を表す変数Fに代入されている値は上述したように駆動周波数の４倍の周期に相当する値なので、変数Fの内容が増加すると駆動周波数が下がり、図9に示したように、起動時の周波数を振動体の共振周波数Frより高い周波数に選んでおけば、変数Fが増加して駆動周波数が下がって共振周波数Frに近づき、振動型アクチュエータの回転速度は増加する。
【００９２】
つまり、指令速度Vより現在速度を表す変数VSが小さい場合、変数Fが増加するので振動型アクチュエータの回転速度が増加し、指令速度を表す変数Vの値に近づいていき、最終的に指令速度を表す変数Vの値に到達するのである。
【００９３】
では、図13を用いてタイマー割り込みルーチンの説明を行なう。
【００９４】
Ｓ−１：まず、タイマー割り込みが発生するとすぐに変数SDに設定された遅延データに相当する値をシリアル送信する。シリアル送信した後に、次のシリアル送信データを計算して変数SDに代入しタイマー割り込みタイミングの計算を行い、タイマー割り込みの比較値に設定し、最後にシリアルデータの送信終了を待って01（16進数）をシリアル送信してから（Ｓ−１８）、タイマー割り込みを許可して（Ｓ−１９）、メインルーチンに復帰するのが基本動作である。
【００９５】
この他に、タイマー割り込みが発生する毎にカウンタ変数Cに１を加算し（Ｓ−１２）、Ｓ−１３で、C=10になるごとに、変数P0へ変数Pを代入し変数Pへ現在位置を代入している（Ｓ−１５）。
【００９６】
Ｓ−１４：遅延情報に相当するシリアル送信データ変数SD及びタイマー割り込み間隔を決定する変数TDを計算する。
【００９７】
この計算方法について説明する。変数Tを用いてこれらの値は計算されており、変数Tはタイマー割り込みが発生するごとに、下位6ビットがAND演算で取り出され、これに周波数変数Fを加算した値が代入される。この変数T（12ビット）の上位6ビットがタイマー割り込み用の比較データに相当し、AND演算で切り出した後に64で割って変数TDに代入している。変数SDは変数Tの負の値を計算した後に下位6ビットをAND演算で取り出し、80（16進数）とOR演算をしたものを代入している。この演算の意味を間単に説明する。
【００９８】
まず負の値を計算する理由であるが、変数Tの下位6ビットは実際の遅延量に相当する値となるが、図5で説明したようにシリアルデータとして送信する値が大きな値になるほど遅延量が少なくなるので、負の値をとることで遅延量が正しい値となるようにしている。
【００９９】
シリアルデータは下位ビットから送信されるが、80（16進数）とOR演算を行なったことで、上位2ビットが01（2進数）の順で送信され、この0が送信されている区間でローパスフィルタ13の出力信号F1が半分になり、INV14の入力の閾値より小さい値となり、最後の1が送信されてからしばらくするとローパスフィルタ13の出力信号F1はINV14の閾値を超え、信号P1にパルス信号が出力される。
【０１００】
最後に、最初の１バイトのシリアルデータを送信した後に01（16進数）を送信することで、最初のシリアルデータが出力されて1が出力された状態で終了しているTXD信号を0に戻すようにしている。
【０１０１】
また、最下位ビットを１にしているのは、ローパスフィルタ13の出力信号F1がSCK信号１クロック分では閾値に到達しない場合があるため、2クロック分だけF1を1にすることで必ず閾値に到達するようにしたものである。
【０１０２】
以上のようにして振動型アクチュエータに印加される周波数が設定され、振動型アクチュエータの速度制御が行なわれる。また、本方式では遅延時間と遅延データの間が線系ではないので多少周波数にジッタが生ずる。これを補正するために補正テーブルを設け、変数SDの値をテーブルによって変換してからシリアル送信するようにしても良い。
【０１０３】
また、実際の遅延時間やローパスフィルタ13の出力をCPU12で計測し、シリアルデータと遅延時間の関係の補正テーブルを作成し、これを用いて必要な遅延時間からシリアルデータを求めて設定しても良い。
【０１０４】
【発明の効果】
以上説明したように、本出願に係る第１から3の発明によれば、シリアル信号発生手段とアナログフィルタによって遅延手段を構成することで、ラダー抵抗型D/A変換器を不用とし部品点数を大幅に削減した。
【０１０５】
本出願に係る第４、５、6の発明によれば、単純な演算で遅延データを計算したことである。
【０１０６】
本出願に係る第７の発明によれば、上記パルス発生手段を公知のワンチップマイコンのシリアル通信手段を用いて実現したことで専用のパルス発生回路を構成しなくても簡単な構成でCPUに高分解能の発振手段を追加できるようにしたことである。
【０１０７】
本出願に係る第8、9の発明によれば、ローパスフィルタのパラメータの誤差や、非線形なしリアルデータと遅延時間の関係を補正できるので、周波数変動の少ないパルス生成を可能とした。
【０１０８】
本出願に係る第10の発明によれば、振動型アクチュエータで高精度な制御を行う装置に於いて、本出願のパルス発生手段を用いたことで、簡単な回路で周波数分解能の高く高精度なパルス生成手段を提供したことである。
【図面の簡単な説明】
【図１】第1の実施の形態を示すブロック図
【図２】第1の実施の形態の遅延時間指令手段の構成を示すブロック図
【図３】図１の各部の信号波形を示すタイミングチャート
【図４】第１の実施の形態の電圧発生原理を説明する図表
【図５】第１の実施の形態の遅延時間生成原理を説明するためのタイミングチャート
【図６】第2の実施の形態を示すブロック図
【図７】第２の実施の形態の振動型アクチュエータの例を示す外形図
【図８】図７の振動型アクチュエータの圧電素子を示す平面図
【図９】図７の振動型アクチュエータの駆動周波数と速度の関係を示す図
【図１０】第２の実施の形態の各部の信号波形を示すタイミングチャート
【図１１】第２の実施の形態のパルス生成手段の出力信号波形を示すタイミングチャート
【図１２】第２の実施の形態のCPUの動作を示すフローチャートで、速度制御のメインルーチンを示す。
【図１３】第２の実施の形態のCPUの動作を示すフローチャートで、タイマー割り込みで動作するルーチンを示す。
【符号の説明】
１…発振回路、２…演算手段、３…シリアル−パラレル変換手段、４、１３…ローパスフィルタ、５…リセット手段、６、１４、１５…インバータ、７…エッジ検出手段、８…積算器、９…加算器、１０、１６…カウンタ、１１…ビット拡張手段、１２…ＣＰＵ、１７…NOR素子、１８…パルス生成手段、１００…振動体、１０１…ロータ、１０４…圧電素子。
【図１】
0003814561.tif 000002
【図２】
0003814561.tif 000003
【図３】
0003814561.tif 000004
【図４】
0003814561.tif 000005
【図５】
0003814561.tif 000006
【図６】
0003814561.tif 000007
【図７】
0003814561.tif 000008
【図８】
0003814561.tif 000009
【図９】
0003814561.tif 000010
【図１０】
0003814561.tif 000011
【図１１】
0003814561.tif 000012
【図１２】
0003814561.tif 000013
【図１３】
0003814561.tif 000014