図面 (/)

技術 周波数制御装置、モータ駆動装置および光学機器

出願人 キヤノン株式会社
発明者 吉牟田淳基
出願日 2015年12月10日 (4年3ヶ月経過) 出願番号 2015-240719
公開日 2017年6月15日 (2年9ヶ月経過) 公開番号 2017-108540
状態 特許登録済
技術分野 位置、方向の制御 超音波モータ、圧電モータ、静電モータ パルスの操作
主要キーワード 閾値カウント 余剰値 設定位相差 High区間 設定デューティ比 コンペア値 カウンタ加算値 加速プロファイル
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年6月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

不必要な周波数成分が特定の帯域に含まれないようにPDM方式による周波数制御を行う。

解決手段

周波数制御装置は、設定された目標周波数を有するデジタル信号としての出力信号を、それぞれ目標周波数とは異なり、かつ互いに異なる周波数を有する複数の信号を用いて生成する信号生成手段120,100を有する。また、出力信号に混在する信号成分の周波数であって、目標周波数および上記複数の信号の周波数とは異なる混在周波数を推定する推定手段110と、混在周波数の推定結果に応じて、目標周波数または上記複数の信号の周波数のうち少なくとも1つをシフトする周波数シフト手段110とを有する。

概要

背景

パルス変調方式の1つとして、キャリア周期周波数変調するPFM(Pulse Frequency Modulation)方式がある。そして、PFM方式には、周波数を無段階に変化することができる方式と、使用する周波数クロック間引いて擬似的に周波数を変化させる方式とがある。前者の方式としては、例えばVCO(Voltage Controlled Oscillator)方式があり、入力電圧に対して比較的細かい周波数分解能を得ることができる。また、後者の方式としては、例えば入力クロックを一定に固定して単位時間当たりの平均周波数を変化させることで周波数分解能を上げるPDM(Pulse Density Modulation)方式がある。アナログ回路で実現されるVCO方式よりもデジタル回路で実現可能なPDM方式の方がコスト面では有利である。

ただし、PDM方式では所定時間ごとに周波数を変化させて時間軸で平均化することで高い周波数分解能を得るため、所定時間間隔観測すると、出力される周波数は一定にならず、ばらつきが生じる。このため、PDM方式(PDM制御)により生成された出力信号を入力とする駆動系の制御を行う場合に、該PDM制御において生じる周波数のばらつきは、駆動系の速度むら可聴帯域信号発生要因となる。

特許文献1には、振動型モータに与える駆動周波数分解能を、アダー器を用いたPDM制御によって高分解能化し、またアダー器を用いたPDM制御による周波数のばらつきにランダムノイズを加えてモータの制御を行うモータ駆動装置が開示されている。このモータ制御装置では、ランダムノイズを加えて周波数を分散させることで、特定の設定発振周波数に対するスペクトルが高い周波数成分の発生を回避し、これにより可聴帯域にピーキー周波数スペクトルの発生を回避する。

概要

不必要な周波数成分が特定の帯域に含まれないようにPDM方式による周波数制御を行う。周波数制御装置は、設定された目標周波数を有するデジタル信号としての出力信号を、それぞれ目標周波数とは異なり、かつ互いに異なる周波数を有する複数の信号を用いて生成する信号生成手段120,100を有する。また、出力信号に混在する信号成分の周波数であって、目標周波数および上記複数の信号の周波数とは異なる混在周波数を推定する推定手段110と、混在周波数の推定結果に応じて、目標周波数または上記複数の信号の周波数のうち少なくとも1つをシフトする周波数シフト手段110とを有する。

目的

本発明では、不必要な周波数成分が特定の帯域に含まれないようにPDM方式による周波数制御を行うことが可能な周波数制御装置およびこれを用いたモータ駆動装置等を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

設定された目標周波数を有するデジタル信号としての出力信号を、それぞれ前記目標周波数とは異なり、かつ互いに異なる周波数を有する複数の信号を用いて生成する信号生成手段と、前記出力信号に混在する信号成分の周波数であって、前記目標周波数および前記複数の信号の前記周波数とは異なる混在周波数を推定する推定手段と、前記混在周波数の推定結果に応じて、前記目標周波数または前記複数の信号の前記周波数のうち少なくとも1つをシフトする周波数シフト手段とを有することを特徴とする周波数制御装置

請求項2

前記周波数シフト手段は、推定された前記混在周波数が特定周波数帯域に含まれる場合に前記目標周波数または前記複数の信号の前記周波数のうち少なくとも1つをシフトすることを特徴とする請求項1に記載の周波数制御装置。

請求項3

前記特定周波数帯域は、人間の可聴帯域であり、前記目標周波数よりも低い周波数帯域であることを特徴とする請求項2に記載の周波数制御装置。

請求項4

前記信号生成手段は、カウンタ下限値からカウンタ上限値までの間で所定周期カウンタ値加算値ずつ増加させるカウンタ手段と、前記カウンタ値が前記カウンタ下限値と前記カウンタ上限値との間の所定値より大きいか小さいかに応じて前記出力信号のHighとLowを切り替えコンペアマッチ手段とを用いるアダー方式で前記出力信号を生成することを特徴とする請求項1から3のいずれか一項に記載の周波数制御装置。

請求項5

前記推定手段は、前記カウンタ上限値と前記加算値とを用いた演算により、複数の前記混在周波数のうち少なくとも1つの混在周波数よりも低い低域周波数を推定することを特徴とする請求項4に記載する周波数制御装置。

請求項6

前記推定手段は、複数の前記混在周波数のうち少なくとも1つの混在周波数よりも低い低域周波数を推定し、前記周波数シフト手段は、前記低域周波数が前記特定周波数帯域に含まれる場合に前記複数の信号のうち少なくとも1つの信号の前記周波数をシフトする場合において、前記周波数シフト手段は、前記周波数のシフト量を、前記低域周波数と前記特定周波数帯域の最高周波数とを用いて算出することを特徴とする請求項2に記載の周波数制御装置。

請求項7

電気機械エネルギー変換素子周波信号印加することで振動体振動励起し、前記振動体と該振動体に接触する接触体とを相対移動させる振動型モータを駆動するモータ駆動装置であって、前記周波信号を請求項1から6のいずれか1項に記載の周波数制御装置を用いて生成することを特徴とするモータ駆動装置。

請求項8

前記周波信号として互いに位相が複数の周波信号を生成し、前記複数の周波信号の周波数を一定として位相差を変化させる位相差制御と、前記位相差を一定として前記周波数を変化させる周波数制御とを切り替えて行い、前記周波数シフト手段は、前記位相差制御において前記目標周波数をシフトすることを特徴とする請求項7に記載のモータ駆動装置。

請求項9

前記周波数シフト手段は、前記目標周波数が前記特定周波数帯域に含まれる場合に該目標周波数をシフトし、前記特定周波数帯域は、前記振動型モータの共振周波数を含むことを特徴とする請求項7または8に記載のモータ駆動装置。

請求項10

前記振動型モータと、請求項7から9のいずれか一項に記載のモータ駆動装置と、前記振動型モータにより駆動される光学素子とを有することを特徴とする光学機器

請求項11

設定された目標周波数を有するデジタル信号としての出力信号を、それぞれ前記目標周波数とは異なり、かつ互いに異なる周波数を有する複数の信号を用いて生成する生成する周波数制御装置のコンピュータに、前記出力信号に混在する信号成分の周波数であって、前記目標周波数および前記複数の信号の前記周波数とは異なる混在周波数を推定させ、前記混在周波数の推定結果に応じて、前記目標周波数または前記複数の信号の前記周波数のうち少なくとも1つをシフトさせることを特徴とする周波数制御プログラム

技術分野

0001

本発明は、PDM方式を用いた周波数制御装置およびこれを用いて振動型モータを駆動するモータ駆動装置に関する。

背景技術

0002

パルス変調方式の1つとして、キャリア周期周波数変調するPFM(Pulse Frequency Modulation)方式がある。そして、PFM方式には、周波数を無段階に変化することができる方式と、使用する周波数クロック間引いて擬似的に周波数を変化させる方式とがある。前者の方式としては、例えばVCO(Voltage Controlled Oscillator)方式があり、入力電圧に対して比較的細かい周波数分解能を得ることができる。また、後者の方式としては、例えば入力クロックを一定に固定して単位時間当たりの平均周波数を変化させることで周波数分解能を上げるPDM(Pulse Density Modulation)方式がある。アナログ回路で実現されるVCO方式よりもデジタル回路で実現可能なPDM方式の方がコスト面では有利である。

0003

ただし、PDM方式では所定時間ごとに周波数を変化させて時間軸で平均化することで高い周波数分解能を得るため、所定時間間隔観測すると、出力される周波数は一定にならず、ばらつきが生じる。このため、PDM方式(PDM制御)により生成された出力信号を入力とする駆動系の制御を行う場合に、該PDM制御において生じる周波数のばらつきは、駆動系の速度むら可聴帯域信号発生要因となる。

0004

特許文献1には、振動型モータに与える駆動周波数分解能を、アダー器を用いたPDM制御によって高分解能化し、またアダー器を用いたPDM制御による周波数のばらつきにランダムノイズを加えてモータの制御を行うモータ駆動装置が開示されている。このモータ制御装置では、ランダムノイズを加えて周波数を分散させることで、特定の設定発振周波数に対するスペクトルが高い周波数成分の発生を回避し、これにより可聴帯域にピーキー周波数スペクトルの発生を回避する。

先行技術

0005

特許第4838567号公報

発明が解決しようとする課題

0006

しかしながら、特許文献1にて開示されたモータ駆動装置では、駆動周波数とは異なる周期的に発生する周波数成分に対してランダムノイズを加えることでスペクトル強度を分散させているだけに留まる。このため、周波数スペクトルの強度を分散させ、可聴帯域におけるスペクトル強度が高い周波数成分の発生を回避することは可能であるが、可聴帯域の信号自体は残存している。したがって、モータを搭載した装置の共振等によって可聴帯域の信号(異音)が増幅されるおそれがある。また、ランダムノイズによって所定時間間隔における周波数のばらつきが大きくなり、駆動系の速度むらを増大させるおそれがある。

0007

本発明では、不必要な周波数成分が特定の帯域に含まれないようにPDM方式による周波数制御を行うことが可能な周波数制御装置およびこれを用いたモータ駆動装置等を提供する。

課題を解決するための手段

0008

本発明の一側面としての周波数制御装置および周波数制御プログラムにより動作するコンピュータは、設定された目標周波数を有するデジタル信号としての出力信号を、それぞれ目標周波数とは異なり、かつ互いに異なる周波数を有する複数の信号を用いて生成し、出力信号に混在する信号成分の周波数であって目標周波数および上記複数の信号の周波数とは異なる混在周波数を推定する。そして、混在周波数の推定結果に応じて、目標周波数または上記複数の信号の周波数のうち少なくとも1つをシフトする。

0009

なお、振動型モータに印加する周波信号を周波数制御装置を用いて生成するモータ駆動装置および振動型モータと該モータ駆動装置と振動型モータにより駆動される光学素子とを有する光学機器も、本発明の他の一側面を構成する。

発明の効果

0010

本発明によれば、PDM方式による周波数制御において発生する望ましくない混在周波数を推定し、該混在周波数が特定の帯域に含まれないようにする周波数制御装置を実現することができる。そして、この周波数制御装置をモータ駆動装置や撮像装置に搭載することで、異音や速度むら等の発生を抑制することができる。

図面の簡単な説明

0011

本発明の実施例1である振動型モータ駆動装置の構成を示すブロック図。
実施例1におけるアダー方式でのPDM制御を行う発振部の構成を示すブロック図。
実施例1におけるPDM制御におけるカウンタによるカウント値の変化を説明する図。
実施例1である振動型モータ駆動回路のPDM制御におけるカウンタの挙動パルス出力との関係を示す図。
実施例1の振動型モータ駆動装置により一定周波数で駆動する際の処理を示すフローチャート
設定発振周波数に対して実際に発生する変調周波数と推定変調周波数との関係を示す図。
本発明の実施例2である撮像装置のAFステムの構成を示すブロック図。
実施例2におけるフォーカスレンズを駆動する際の処理を示すフローチャート。
実施例2における設定発振周波数と第1推定変調周波数および第2推定変調周波数との関係を示す図。

0012

以下、本発明の実施例について図面を参照しながら説明する。

0013

図1は、本発明の実施例1である周波数制御装置を含む振動型モータ駆動装置の構成を示す。図1において、振動型モータは、振動体170、電気機械エネルギー変換素子としての圧電素子180および接触体としての移動体160により構成されている。振動型モータ駆動装置は、マイクロコンピュータ(以下、CPUという)120、Aモード増幅回路130、Bモード増幅回路140、発振部100、推定部(推定手段および周波数シフト手段)110および位置検出器150により構成されている。CPU120、発振部100および推定部110により周波数制御装置が構成される。また、CPU120および発振部100により信号生成手段が構成され、推定部110により推定手段および周波数シフト手段が構成される。なお、CPU120、発振部100および推定部110は、単体または別々のコンピュータにより構成されている。

0014

振動型モータにおいて、互いに位相差を有する2相の周波信号(駆動信号)が印加された圧電素子180は高調波振動を発生する。振動体170は、圧電素子180に接合された弾性体であり、圧電素子180の振動によって2つの振動モード(AモードおよびBモード)の曲げ振動励起される。Aモードは振動体170の長辺方向における2次屈曲振動モードであり、Bモードは振動体170の短辺方向における1次屈曲振動モードである。AおよびBモードの振動に時間的な位相差を与えることで振動体170の表面に楕円運動を生じさせることができる。移動体160は、振動体170に加圧状態で接触しており、振動体170との摩擦によって振動体170に対して移動する。このようにして、振動体170と移動体160とが相対移動する。

0015

CPU120は、振動型モータ駆動装置の全体の制御を司る。CPU120は、出力パルスの周波数として外部から設定(指定)された発振周波数である設定発振周波数(目標周波数)FREQを示す信号を出力する。この設定発振周波数FREQは、推定部110で後述する周波数シフト処理を経た設定発振周波数FREQ′として発振部100に出力される。また、CPU120は、AモードおよびBモードの位相差として外部から設定された位相差である設定位相差PHASEを示す信号を発振部100に出力する。さらに、CPU120は、パルスデューティ比として外部から設定されたデューティ比である設定デューティ比UTYを示す信号と、発振部100の出力許可ENABLEを示す信号とを発振部100に出力する。発振部100は、これらFREQ′,PHASE,DUTY,ENABLEに応じて、振動型モータをAおよびBモードで駆動する出力信号を発生する発振動作を行う。

0016

発振部100には、所定ビット数(本実施例では30ビットであり、カウンタ最大値をCNTmaxとすると、CNTmax=230−1)のカウンタと、現在のカウンタ値閾値カウント値以上か否かを判断する比較器コンペアマッチ手段)とが設けられている。

0017

Aモード増幅回路130は、Aモードの駆動信号を増幅し、インダクタンス素子を介して振動型モータに印加する。Bモード増幅回路140は、Bモードの駆動信号を増幅し、同様にインダクタンス素子を介して振動型モータに印加する。

0018

位置検出器150は、移動体160の移動量または位置を検出し、検出結果をCPU120に出力する。CPU120は、位置検出器150から得られる位置情報と該位置情報から算出される速度情報とを用いて振動型モータの駆動を制御する。

0019

なお、本実施例では2つの振動モードで振動する振動体170に2相の駆動信号を供給する場合について説明するが、本発明の実施例はこれに限定されるものではない。

0020

次に、図2を用いて、本実施例におけるアダー器を用いたPDM方式による信号生成(以下、アダー方式のPDM制御または単にPDM制御という)の原理について説明する。また、駆動信号には、その周波数である駆動周波数とは異なる混在周波数である変調周波数の信号成分が混在する(以下、「変調周波数が発生する」という)が、その原因についても説明する。本実施例では、設定発振周波数FREQではPDM制御によって特定周波数帯域としての禁止周波数帯域に変調周波数が発生することを回避するため、設定発振周波数を変更、すなわちシフトする周波数シフト処理を行う。この周波数シフト処理については後に詳しく説明するが、周波数シフト処理を受けた設定発振周波数を、以下の説明では、シフト後の設定発振周波数という。

0021

図2には、発振部100の構成を示している。発振部100は、アダー器(加算器)101、Aモード比較器102、Bモード比較器103、Aモード増幅器104およびBモード増幅器105を含む。

0022

アダー器101は、シフト後の設定発振周波数FREQ′にて、後述する加算値クロック周期加算するものであり、カウンタを内蔵している。

0023

Aモード比較器102は、アダー器101のカウンタ値とDUTYによって設定されるコンペア値とを比較し、その比較結果に応じてパルス状のデジタル信号としての出力信号(以下、Aモード出力パルスという)を生成する。Aモード比較器102は、外部から設定されるDUTYの設定値に応じてパルス幅、つまりは出力信号の立上りタイミングを設定できるように構成されている。

0024

Bモード比較器103は、アダー器101のカウンタ値とDUTYおよびPHASEによって設定されるコンペア値とを比較し、その比較結果に応じてパルス状のデジタル信号としての出力信号(以下、Bモード出力パルスという)を生成する。Bモード比較器103も、Aモード比較器102と同様に、外部から設定されるDUTYの設定値に応じてパルス幅(出力信号の立上りタイミング)を設定できるように構成されている。また、Bモード比較器103は、Aモード出力パルスに対してBモード出力パルスがHigh/Lowになるカウント値をPHASEによって設定される。

0025

Aモード増幅器104およびBモード増幅器105はそれぞれ、Aモード比較器102およびBモード比較器103からのAモード出力パルスおよびBモード出力パルスを増幅して出力する。

0026

次に、アダー方式のPDM制御において出力されるパルスの所定周期内における周波数にばらつきが発生する原因について説明する。

0027

図3は、設定されたクロック周期ごとにある加算値をカウンタに加算していったときのカウンタ値の軌跡黒点で描いたグラフである。図3において、縦軸はアダー器101のカウント値を、横軸は時間を表す。加算値CNTaddは、アダー器101に入力されるシフト後の設定発振周波数FREQ′[Hz]、クロック周波数CLK[Hz]およびカウンタ上限値CNTmaxを用いると、
CNTadd=FREQ′×(CNTmax+1)/CLK
で求めることができる。

0028

カウンタ下限値からクロック周期ごとに加算値CNTaddの加算を繰り返していくと、あるタイミングでカウンタはカウンタ上限値を超えるオーバーフローを迎える。このときカウンタ値は0に戻り、オーバーフロー時の余剰値をカウンタ値に加算した状態から再度クロック周期ごとに加算値CNTaddを加算していく。従って、CNTaddが一定であれば、図3のように時間変化におけるカウンタ値は傾きが一定の三角波の軌跡を描く。

0029

カウント値がカウンタ下限値からカウンタ上限値(実際にはその近傍)に達するまでの期間をカウンタ周期と定義すると、オーバーフローが発生することでカウンタ周期ごとに初期値(オーバーフロー時の余剰値)が変化する。初期値がある値(カウンタ周期間隔における余剰値の変化量)よりも小さくなると、同カウンタ周期内におけるCNTaddの加算回数は1回増加する。

0030

加算回数が1回増加することで、出力されるパルス周期が1/CLK[sec]分長くなる。これがアダー方式のPDM制御における周波数ばらつきの原因である。したがって、シフト後の設定発振周波数FREQ′よりも高周波は発生しない。また、変調周波数はカウンタのオーバーフロー時の余剰値の大きさ(厳密にはカウンタ周期間隔における余剰値の変化量)に依存するため、余剰値が大きいほど高周波成分が発生しやすい。変調周波数の最大値は、設定発振周波数/2となり、また余剰値が0、つまりは(CNTmax+1)をCNTaddで割り切ることができれば変調周波数は発生しない。

0031

図3に示すように、カウンタ周期の1周期目では合計N+1回のCNTaddの加算が行われ、N+2回目の加算でカウンタがオーバーフローとなる。カウンタ周期2の周期目では1周期目のオーバーフロー余剰値Surplus1を初期値としてカウンタの累積が開始され、N回のCNTaddの加算が行われ、N+1回目の加算でカウンタがオーバーフローとなる。3周期目ではN+1回、4周期目ではN回と、カウンタ周期によってCNTaddの加算回数が異なる。周期によって加算回数が異なることがPDM制御の特徴でもあるが、一方でカウンタ周期による加算回数の変化が発生する頻度によってはユーザの可聴帯域や駆動系の共振帯域と変調周波数とが重なってしまい、制御上もしくは品質上で悪影響を及ぼす可能性がある。

0032

例えば、クロック周波数CLK=40MHz、カウンタ上限値CNTmax=230、シフト後の設定発振周波数FREQ′=70kHzとすると、加算値CNTadd=1879048.192となる。アダー器101が浮動小数点を扱わない場合は少数切り捨てられることで、CNTadd=1879048として表現される。この値がクロック周期ごとにカウンタに加算されていき、572クロック周期目でカウンタ上限値CNTmaxを超過する。

0033

次のカウンタ周期では、初期値を1073631として、同様にクロック周期ごとにCNTaddの加算が行われる。カウンタ周期の2周期目では、571クロック周期目でカウンタ上限値CNTmaxを超過する。以後のカウンタ周期では、572,571,572,571,572,571,571,572,・・・というようなクロック周期でカウンタ上限値CNTmaxを超過する。

0034

572のクロック周期に対応する周波数(第1の周波数)は69.3006993kHzであり、571のクロック周期に対応する周波数(第2の周波数)は70.0525394kHzである。発振部100は、これら2つの周波数の出現比率を調整することによってシフト後の設定発振周波数FREQ′である70kHzを実現する。この例では、約35kHzと約10kHzとに変調周波数が発生する。これは各カウンタ周期において何クロック目でカウンタのオーバーフローが発生するかについて再帰的に演算を繰り返す、もしくはパルス出力に対して周波数解析を行うことで求めることは可能である。但し、演算コストが高いため、小型マイコン等の演算能力が高くない演算処理装置では処理負荷が大きい。そこで、本実施例では、変調周波数を推定する演算を行うことで演算コストを抑え、かつ所定帯域の変調周波数の発生を回避するPDM制御を実現する。

0035

図4を用いて、図2に示した構成の発振部100から2相の出力信号(AモードおよびBモード出力信号)が得られる仕組みについて説明する。図4上段には、図3と同様に、縦軸がアダー器101のカウント値を示し、横軸が時間を示し、設定されたクロック周期ごとにある値をカウンタに加算していった軌跡を黒点で描いたグラフを示している。また、下段には、上から順にAモード出力パルスとBモード出力パルスを示す。

0036

DUTYは、パルス出力のHigh区間を0〜100%によって表され、その設定値に応じてカウンタ値×(100−DUTY)の値がコンペア値(所定値)として設定されてAモード比較器102にてコンペアマッチが行われる。コンペア値は、カウンタ下限値とカウンタ上限値との間の値である。カウンタ値がコンペア値よりも大きくなったタイミングでAモード出力パルスはHighとなり、カウンタがオーバーフローして次のカウンタ周期に移るまでの間はHighを維持する。カウンタが次のカウンタ周期に移ってからカウンタ値がコンペア値よりも小さい間はAモード出力パルスはLowとなる。

0037

BモードについてはAモードと同等のDUTYが設定されるため、HighおよびLowのそれぞれの区間長は基本的に同一となる(ただし、厳密にはPDM制御の周波数ばらつきと同じ原因で完全な同一ではない)。さらに、PHASEの設定値によって、Bモード出力パルスのAモード出力パルスに対する位相差が設定される。例えば、PHASE=90degの場合は、カウンタ周期で360degであるので、Aモード比較器102で設定されるコンペア値に対してCNTmax/4を加算した値がBモード比較器103でのコンペア値となる。Bモード比較器103はさらに立下りタイミングのコンペア値についても設定される。

0038

カウンタ上限値と加算値との関係で余剰値が発生すると、変調周波数が発生することを図3にて述べた。カウンタ上限値をAモード比較器102およびBモード比較器103にて設定されるそれぞれのコンペア値に換言しても、同様の事象が発生する。本実施例では、デューティ比や位相差設定によって発生する変調周波数に対しても適用可能である。

0039

本実施例の振動型モータ駆動装置の駆動対象である振動型モータは、人間の可聴帯域に対して高周波の発振周波数帯域を使用して駆動される。また、前述したようにPDM制御にて発生する変調周波数は、設定発振周波数よりも低い周波数帯域でしか発生しない。

0040

以上の前提条件に基づいて、本実施例では禁止周波数帯域(特定周波数帯域)を人間の可聴帯域である20Hz〜20kHzとし、PDM制御によって生じる複数の変調周波数のうちの1つを推定する。本実施例では、複数の変調周波数のうち少なくとも1つの変調周波数よりも低い変調周波数(低域周波数)を推定する。
カウンタ上限値CNTmaxとシフト後の設定発振周波数をクロックごとに加算する値に換算した加算値CNTaddについて、(CNTmax+1)/CNTaddの商をQ1、余剰をS1とすると、
(CNTmax+1+S1)/CNTadd=Q2・・・S2
となる。カウンタ周期の2周期目におけるオーバーフロー発生までのクロック周期数とカウンタ周期の3周期目における初期値は、上式の商Q2と余剰S2を用いて表現することができる。

0041

カウンタ周期の1周期目の余剰S1と2周期目の余剰S2との差分の絶対値である|S1−S2|を周波数に換算した値が、以下に示す推定される変調周波数FREQest.1である。

0042

FREQest.1=|S1−S2|×CLK/(CNTmax+1)
本実施例では、この推定結果を用いて、変調周波数FREQest.1が禁止周波数帯域に含まれるか否かを判定する。

0043

次に、本実施例における振動型モータを一定周波数で駆動する際にCPU120および推定部110が行う処理を図5のフローチャートを用いて説明する。CPU120および推定部110は、コンピュータプログラムである駆動制御プログラムに従って本処理を実行する。駆動制御プログラムは、設定発振周波数に対する周波数シフト処理を行う周波数制御プログラムを含んでいる。

0044

テップS101では、CPU120は、振動型モータ駆動装置(以下、モータ駆動装置という)の状態を取得する。振動型モータは、圧電素子の温度特性や振動体と接触体の摩耗による劣化の影響を受けやすく、駆動環境が変化した際は駆動時の発振周波数特性駆動開始時の起動発振周波数等)を変更することが好ましい。このため、駆動処理の指示を受けたCPU120は、まずモータ駆動装置の状態として、不図示の温度センサから温度情報と、不図示のメモリから逐次記憶しておいた振動型モータの駆動回数とを取得する。

0045

次にステップS102では、CPU120は、設定発振周波数FREQ、設定デューティ比DUTYおよびA/Bモード間の設定位相差PHASEを不図示のメモリから取得する。そして、設定発振周波数FREQのみを推定部110に出力(設定)する。このとき、CPU120は、設定発振周波数FREQとして、ステップS101で取得した温度情報および駆動回数情報に応じて、メモリに記憶された設定発振周波数を微修正した値を出力する。

0046

ステップS103では、CPU120は、ステップS102で設定された設定発振周波数FREQに対応するアダー器101用のクロック周期ごとの加算値CNTaddを算出する。前述したようにカウンタ上限値をCNTmaxとし、クロック周波数をCLKとすると、加算値CNTaddは、
CNTadd=FREQ×(CNTmax+1)/CLK
で求めることができる。本処理を、CPU120ではなく、推定部110で行ってもよい。

0047

次にステップS104では、推定部110は、設定発振周波数FREQを発振部100で出力した際に発生する変調周波数を推定部110にて推定する。前述した通り、推定変調周波数FREQest.1は、カウンタ周期の1周期目のオーバーフロー時に発生する余剰値S1と2周期目のオーバーフロー時に発生する余剰値S2との差分の絶対値を周波数換算するにより推定される。すなわち、|S1−S2|×CLK/(CNTmax+1)の演算により推定される。

0048

次にステップS105では、推定部110は、ステップS104で求めた推定変調周波数FREQest.1が禁止周波数帯域に存在するか否かを判定する。禁止周波数帯域は、前述したように、人間の可聴帯域である20Hz〜20kHzとする。推定変調周波FREQest.1が禁止周波数帯域に存在する場合は、ステップS102で設定された設定発振周波数FREQではPDM制御によって禁止周波数帯域に変調周波数が発生するため、発振周波数を変更(シフト)する必要がある。このため、推定部110はステップS106に進む。一方、FREQest.1が禁止周波数帯域に存在しない場合はステップS108に進む。

0049

ステップS106では、推定部110は、推定変調周波数が禁止周波数帯域外になるように設定発振周波数FREQからの周波数シフト量ΔFREQを求め、シフト後の設定発振周波数FREQ′を算出する周波数シフト処理を行う。シフト後の設定発振周波数FREQ′は、FREQ±ΔFREQで表される。周波数シフト量ΔFREQは、推定変調周波FREQest.1と禁止周波数帯域の最高周波数(FREQspc=20kHz)を用いた次式により算出される。

0050

ΔFREQ=(20kHz−FREQest.1)/Q1
この式において、Q1はカウンタ周期の1周期目のオーバーフローする直前までの加算回数である。ΔFREQの符号は、S1−S2が負値であればプラスとなり、高周波側へのシフトを示す。S1−S2が正値であればマイナスとなり、低周波側へのシフトを示す。

0051

以上の処理により、ある変調周波数が禁止周波数帯域に存在することを回避することができ、かつステップS102で設定された設定発振周波数FREQからのシフト量を最小にすることが可能なシフト後の設定発振周波数FREQ′を設定することができる。

0052

ここまでは、禁止周波数帯域の高周波側について説明した。しかし、推定変調周波数FREQest.1が禁止周波数帯域の低周波側である20Hzの方に近ければ、以下のようにシフト後の設定発振周波数FREQ′を変調周波数が発生しない周波数に設定することが好ましい。本実施例におけるアダー器101のカウンタは2nで構成されており、カウンタ上限値CNTmaxも同様にnの関数2n−1で表現される。つまり、シフト後の設定発振周波数FREQ′は加算値CNTaddが2の累乗で表現できる値をとればよい。このため、ステップS103で算出した設定発振周波数FREQに対応する加算値CNTaddから最も近い2の累乗を加算値とし、周波数に換算した値がシフト後の設定発振周波数FREQ′となる。

0053

本実施例において、20Hz以下の変調周波数において変調周波数が0しか許容しなかったのは、演算時間を短縮するためである。変調周波数が0の場合は、PDM制御によって出力される信号の周波数は単一で実現できることを意味する。

0054

次にステップS107では、推定部110は、ステップS106で算出したシフト後の設定発振周波数FREQ′に対応するアダー器101用のクロック周期ごとの加算値CNTaddを算出する。ステップS103と同様に、カウンタ上限値をCNTmaxとし、クロックをCLKとすると、加算値CNTaddは、
CNTadd=FREQ′×(CNTmax+1)/CLK
で求めることができる。なお、本処理を、推定部110ではなく、CPU120で行ってもよい。この後、CPU120はステップS108に進む。

0055

ステップS108では、CPU120は、ステップS106にて推定部110により算出されたシフト後の設定発振周波数FREQ′を発振部100へ出力する情報として確定する。ステップS105にて設定発振周波数FREQに対して発生する変調周波数が禁止周波数帯域に存在しないと判定された場合はFREQ=FREQ′の関係が成り立つ。

0056

次にステップS109では、CPU120は、発振部100に対して出力許可ENABLEを出力する。さらに、CPU120は、ステップS102で設定した設定デューティ比DUTY、A/Bモード間の設定位相差PHASEおよびステップS108で確定したシフト後の設定発振周波数FREQ′を発振部100に出力する。

0057

以上の処理により、クロック周期ごとにアダー器101のカウンタに加算値CNTaddが積算され、カウンタ値が所定値以上に達すると振動型モータに出力される2相のAおよびBモード出力パルスの出力が変化する。本実施例では、発振周波数、デューティ比およびA/Bモード間の位相差はすべて一定としているため、変調周波数の推定は振動型モータの駆動開始時の1度だけでよい。

0058

また、振動型モータを再駆動する際は、モータ駆動装置の状態が変化している場合があるため、ステップS102で前回とは異なる設定発振周波数が設定される場合がある。このため、駆動開始時にはその都度、変調周波数を推定する必要がある。モータ駆動ごとに設定発振周波数が異なるため、PDM制御による変調周波数を求める必要がある頻度は高いが、本実施例における推定手法では2度の余剰演算で済む。また、発振周波数を変更しなければならない場合でも1回の除算が追加されるのみであり、演算時間の増加はほぼ無視することができる。

0059

このようにして、振動型モータに対する駆動の設定から実際の駆動を開始するまでの演算による時間的遅れをほぼ無視することができ、かつ禁止周波数帯域における変調周波数の発生を回避した駆動周波数でのモータ駆動を実現することができる。なお、本実施例では、禁止周波数帯域を可聴帯域として説明したが、振動型モータの制御が破綻する周波数帯域でもあってもよい。

0060

図6には、PDM制御によって実際に発生する変調周波数と推定変調周波数との関係を示す。横軸は発振部100に入力される設定発振周波数FREQであり、縦軸は変調周波数を示す。●印および×印のプロットはそれぞれ、推定変調周波数(Estimated Frequency)および実際に発生する変調周波数(実変調周波数:Modulated Frequency)を示している。両プロットは、カウンタ加算値CNTadd(つまりは設定発振周波数FREQ)を変化させていったときの推定変調周波数および実変調周波数の変化を示している。

0061

図6より、推定変調周波数は三角波として周期的に出力されている(振幅は設定発振周波数FREQに依存する)。このため、現在の設定発振周波数に対する推定変調周波数が分かれば、その推定変調周波数を禁止周波数帯域外にずらすための周波数シフト量は一意に定まる。推定変調周波数はS1−S2の絶対値から求められたために三角波を形成しており、絶対値の演算を省くと推定変調周波数はのこぎり波を形成する。したがって、S1−S2の符号から周波数シフト量ΔFREQの符号を定めることが可能となる。

0062

推定変調周波数が30kHz近傍以上の高調波寄りになると、実変調周波数に対する推定誤差が大きくなるが、本実施例においては禁止周波数帯域を人間の可聴帯域(〜20kHz)としたので推定誤差を無視することができる。また、設定発振周波数の全域において、実変調周波数≧推定変調周波数の関係が成り立つため、本実施例における変調周波数の推定および周波数シフト処理は禁止周波数帯域での変調周波数の発生の回避に有効である。

0063

なお、本実施例では、禁止周波数帯域を人間の可聴帯域とした場合について説明したが、禁止周波数帯域を振動型モータの共振周波数を含む帯域としてもよい。

0064

また、本実施例では、設定発振周波数をシフトする場合について説明したが、設定発振周波数を生成するために用いられる第1の周波数(69.3006993kHz)および第2の周波数(70.0525394kHz)のうち少なくとも一方をシフトさせてもよい。これによっても、禁止周波数帯域での変調周波数の発生を回避することができる。

0065

さらに、本実施例では、設定発振周波数を該設定発振周波数(目標周波数)と異なる周波数である第1および第2の周波数を有する2つ(複数)の信号を用いて生成する場合について説明した。しかし、加算値が2nで表現される場合は、1つの周波数を有する信号のみから設定発振周波数を生成することができる。また、設定発振周波数とは異なる3つ以上の周波数を用いて設定発振周波数を生成してもよい。3つ以上の周波数を用いる場合は、第1の周波数および第2の周波数の発現比率を調整して設定発振周波数を実現する制御部を有し、制御部によって演算されるクロック周期ごとに加算される加算値CNTaddを可変的に制御することで実現することが可能である。

0066

図7には、本発明の実施例である周波数制御回路を含むモータ駆動装置を搭載した光学機器としての交換レンズ200と、該交換レンズ200が着脱可能に装着されるカメラボディ300とにより構成されるカメラシステムのAF機能に関する構成を示している。

0067

カメラボディ300内には、カメラCPU301、焦点検出ユニット302、撮像素子303およびカメラ通信ユニット304が設けられている。カメラCPU301は、カメラボディ300のすべての動作の制御を司る。カメラCPU301は、RAM、ROMおよびEEPROM等のメモリを内蔵している。カメラCPU301は、焦点検出ユニット302での焦点検出結果に応じて被写体に対するフォーカスレンズ(光学素子)202の合焦位置を判定し、カメラ通信ユニット304を介して交換レンズ200に対してフォーカス駆動命令を送信する。

0068

焦点検出ユニット302は、交換レンズ200内の撮影光学系からの光束を用いて被写体に対する撮影光学系の焦点状態を検出する。焦点検出方法としては、位相差検出方式およびコントラスト検出方式のいずれでもよく、またそれ以外の焦点検出方式であってもよい。

0069

撮像素子303は、CMOSセンサCCDセンサ等の光電変換素子により構成される。交換レンズ200内の撮像光学系は、被写体からの光束を結像させ、撮像素子303上に被写体像を形成する。本実施例では、撮像光学系内のフォーカスレンズ202を光軸方向に移動させることで焦点調節を行うが、撮像素子303をモータ駆動装置を用いて光軸方向に移動させて焦点調節を行ってもよい。

0070

カメラ通信ユニット304は、カメラCPU301が後述するレンズCPU201との通信を行うための複数の通信端子を有し、カメラCPU301からレンズCPU201への要求送信やレンズCPU201からカメラCPU301への情報送信を可能とする。また、交換レンズ200には、カメラ通信ユニット304を経由してカメラボディ300内にある不図示の電源ユニットから電源が供給される。

0071

交換レンズ200内には、レンズCPU201、撮像光学系(図にはフォーカスレンズ202のみを示す)、フォーカス制御部203、フォーカス駆動回路204およびレンズ通信ユニット205が設けられている。フォーカスレンズ202は、実施例1において図1を用いて説明した振動型モータを駆動源アクチュエータ)として駆動される。フォーカス制御部203およびフォーカス駆動回路204により、振動型モータを駆動するモータ駆動装置が構成される。

0072

レンズCPU201は、カメラCPU301からの要求や交換レンズ200内の各部の状態に応じて交換レンズ200内の動作を制御する。レンズCPU201は、RAM、ROMおよびEEPROM等のメモリを内蔵している。

0073

フォーカスレンズ202には、図1に示した圧電素子180と振動体170が取り付けられている。後述するフォーカス駆動回路204から圧電素子180に対して実施例1で説明した2相の駆動信号が与えられると振動体170に楕円運動が生じる。振動体170は、交換レンズ200内に固定された接触体160に接触している。このため、振動体170と接触体160との摩擦によってフォーカスレンズ202が光軸方向に駆動される。

0074

フォーカス制御部203は、フォーカスレンズ202に関する動作を制御するソフトウェアおよびハードウェア回路により構成されており、図1に示したモータ駆動装置のCPU120および推定部110を内包している。フォーカス制御部203は、カメラCPU301からのフォーカス駆動命令をレンズCPU201を介して受けることに応じて振動型モータの駆動指令(駆動速度、駆動量および駆動方向)をフォーカス駆動回路204に出力する。また、フォーカス制御部203は、交換レンズ200に設けられたマニュアルフォーカスリング(図示せず)の操作をレンズCPU201を介して検出することで、振動型モータの駆動指令をフォーカス駆動回路204に出力する。

0075

交換レンズ200内には、位置検出部(以下、フォーカス位置検出部という)150が設けられている。本実施例では、フォーカス位置検出部150から得られるフォーカスレンズ202の位置情報とフォーカス制御部203にて設定される目標位置との偏差に基づいて振動型モータの駆動をフィードバック制御する。なお、振動型モータに対して、フィードフォワード制御閉ループ複合制御、オープンループ制御およびシーケンス制御等、フィードバック制御以外の制御を行ってもよい。

0076

また、本実施例では、振動型モータによってフォーカスレンズ202を駆動する場合について説明するが、変倍レンズズームレンズ)や絞りの駆動に振動型モータを用い、その振動型モータに対して実施例1にて説明したモータ駆動装置を用いてもよい。

0077

フォーカス駆動回路204は、フォーカス制御部203からの駆動指令を変換して振動型モータを駆動する。フォーカス駆動回路204は、図1および図2に示したモータ駆動装置の発振部100、Aモード増幅回路130およびBモード増幅回路140が内包されている。

0078

本実施例では、実施例1で求めた推定変調周波数(第1推定変調周波数)に加えて、さらに低周波寄りの推定変調周波数(第2推定変調周波数)を求める。なお、以下の説明において、第1推定変調周波数に対応する実変調周波数を第1変調周波数といい、第2推定変調周波数に対応する実変調周波数を第2変調周波数という。

0079

発振部100が内包するアダー回路101のカウンタ上限値をCNTmaxとし、設定発振周波数に対して決定されるカウンタ加算値をCNTaddとすると、
(CNTmax+1)/CNTadd = Q1・・・S1
の除算によって商Q1と余剰S1が得られる。余剰S1はカウンタ周期の2周期目における初期値(カウンタ周期の1周期目でのオーバーフロー余剰値)に相当する。
さらに、
(CNTmax+1+S1)/CNTadd=Q2・・・S2
の除算によって商Q2と余剰S2が得られる。余剰S2はカウンタ周期の3周期目における初期値(カウンタ周期の2周期目でのオーバーフロー余剰値)に相当する。
カウンタ周期ごとに変動する初期値は、余剰S1と余剰S2を用いて表現される。実施例1でも求めた推定変調周波数である第1推定変調周波数をFREQest.1と定義すると、下式より導出される。

0080

FREQest.1=|S1−S2|×CLK/(CNTmax+1)
設定発振周波数FREQとカウンタ加算値CNTaddを用いると、第1推定変調周波数FREQest.1は次式のように書き換えることができる。

0081

FREQest.1=FREQ/(CNTadd/|S1−S2|)
右辺分母内の演算(CNTadd/|S1−S2|)によって、カウンタ周期の初期値がCNTaddを超えるタイミングがカウンタ周期換算でいくらかを表している。加算回数が1回減少するカウンタ周期のタイミングを指すため、その値を設定発振周波数FREQで除することで第1推定変調周波数を求めることができる。

0082

次いで、第2推定変調周波数を導出する。第2推定変調周波数は、CNTadd/|S1−S2|=αとおくと、αの小数値を用いることで求めることができる。

0083

αの自然数部をαintとし、小数部をαdecとする(α=αint+αdec)。第1推定変調周波数によって加算回数が1回減少するタイミングにおいて、カウンタがオーバーフローして余剰値が発生する場合がある。この場合、複数の変調周波数が存在することを表しており、第1変調周波数によって生じる余剰値の累積がカウンタ加算値CNTaddを超えると第1変調周波数とは異なるタイミングで加算回数が1回減少するカウンタ周期のタイミングが発生する。これが第2推定変調周波数であり、余剰値の大きさの度合いを表すのがαの小数部αdecである。

0084

第1変調周波数の周期で累積される余剰値は、
CNTadd−(|S1−S2|×αdec)
で求めることができるので、第2推定変調周波数FREQest.2は次式で求めることができる。

0085

FREQest.2=FREQ/(CNTadd/(CNTadd−(|S1−S2|×αdec)))
上の式の(CNTadd/(CNTadd−(|S1−S2|×αdec)))の小数部を用いて演算を再帰的に繰り返せば、内包するすべての変調周波数を導出することは可能である。

0086

禁止周波数帯域を人間の可聴帯域(20Hz〜20kHz)とし、発振部100のクロック周波数CLKを80MHz、カウンタ上限値CNTmaxを230−1、設定発振周波数の設定レンジを50〜120kHzと仮定する。この場合、第1および第2変調周波数が禁止周波数帯域外に存在する確率はそれぞれ、50.0%および11.3%となり、いずれも禁止周波数帯域外に存在する確率は10.9%程度にしかならない。このため、変調周波数を再帰的に推定したところで禁止周波数帯域外へのシフト量が非常に大きくなってしまい、振動型モータの駆動システムとして成り立たないおそれがある。また、再帰処理に伴う演算時間を鑑みると、第2推定変調周波数より多くの変調周波数を推定する意義は薄い。

0087

このため、本実施例では、第2推定変調周波数までを推定し、禁止周波数帯域を、第1推定変調周波数に対しては2〜12kHzとし、第2推定変調周波数に対しては3〜5kHzとする。これにより、上記仮定の下で第1および第2変調周波数のいずれも禁止周波数帯域外に存在する設定発振周波数は、50〜120kHz範囲内において全体の61%程度まで増加する。

0088

人間の可聴帯域は20Hz〜20kHzと云われているが、最小可聴値は1〜5kHzであり、一般的には4kHz付近感度が最も良い。さらに15kHz以上の高調波では急激に感度が悪化する特性を持つため、感度に合わせて定義しなおすと、1〜15kHzに限定する考え方が例として挙げられる。4kHz近傍をピークとして低周波ほど感度が高い傾向があるため、本実施例では低周波寄りに禁止周波数帯域を設定している。つまり、第1および第2推定変調周波数のいずれも4kHzを避け、かつ使用可能な周波数帯域が60%以上となるように禁止周波数帯域を設定している。

0089

このように可聴帯域をすべて禁止周波数帯域としていないため、設定発振周波数によっては可聴帯域の周波数が発生してしまうが、本実施例の禁止周波数帯域を設定することで、人間に聞こえやすい変調周波数の発生は回避することができる。禁止周波数帯域については、使用用途、条件、観測者(ユーザ)によって適切に設定すべき値であり、本実施例で示す値は例に過ぎない。

0090

本実施例における振動型モータはフォーカスレンズ202の駆動に用いられる駆動源(アクチュエータ)であり、前述したようにカメラ300からのフォーカス駆動命令やユーザの操作に応じて駆動される。このときの駆動指令(駆動速度、駆動量および駆動方向)は交換レンズ200の状態や被写体によって異なり、振動型モータの駆動速度は可変的な制御が必要となる。

0091

本実施例では、低速で駆動する際はフォーカス駆動回路204(発振部100)での発振周波数を一定とし、AモードとBモードとの位相差を変化させることで振動型モータの駆動速度を制御する。この位相差制御では、位相差が大きくなるほど、駆動速度を速くすることができる。位相差がある値まで達すると、そのタイミングで制御を切り替え、位相差を切り替え時のまま一定とし、発振周波数を変化させることで駆動速度を制御する。この周波数制御では、発振周波数が小さくなるほど、駆動速度を速くすることができる。以上のように本実施例では、低速域では位相差制御を行い、高速域では周波数制御を行う。

0092

変調周波数の推定および設定発振周波数のシフトは位相差制御においてのみ(つまりは駆動開始時のみ)行う。周波数制御では、表現できる発振周波数の分解能が粗くなってしまうことによる制御への影響や、制御周期ごとに設定発振周波数が逐次変化して特定の周波数スペクトルの強度が時間的に分散される。このため、変調周波数の推定および推定結果に伴う設定発振周波数のシフトは行わない。

0093

また、図7には図示していないが、カメラ300が動画撮像を行う際に用いられる集音装置が設けられている。動画撮像時においては、発振部100による変調周波数の成分が集音装置に検出されることを避けるため、変調周波数の推定および設定発振周波数のシフトを行う。動画撮像時においては、交換レンズ200の各種駆動系は、その駆動音の増加や像面の急激な変化を抑制するために、駆動速度が制限されることが一般的である。本実施例では、フォーカスレンズ202を駆動するアクチュエータである振動該モータは動画撮像時には位相差制御の範囲内で駆動されるものとする。

0094

さらに、推定部110による変調周波数の推定の有効/無効は、カメラ300の撮像状態によらず、振動型モータの制御状態によって切り替えられるものとする。振動型モータの制御状態およびカメラ300の撮像状態に応じて変調周波数の推定の有無を設定してもよい。例えば、動画撮像時に振動型モータが周波数制御となる状態においては、使用できる周波数帯域を増やして制御安定性を高めるために、禁止周波数帯域を集音装置の感度特性に合わせて狭帯域設定変更してもよい。

0095

以上の条件の下で振動型モータの駆動(つまりはフォーカスレンズ202の駆動)を制御する処理を、図8のフローチャートを用いて説明する。レンズCPU201およびフォーカス制御部203は、コンピュータプログラムであるフォーカス制御プログラムに従って本処理を実行する。フォーカス制御プログラムは、設定発振周波数に対する周波数シフト処理を行う周波数制御プログラムを含んでいる。

0096

ステップS201では、レンズCPU201は、カメラCPU301から送信されてくるフォーカス駆動命令(以下、カメラ側フォーカス駆動命令という)を取得する。カメラCPU301は、撮像光学系の焦点状態を焦点検出ユニット302を通じて取得し、該焦点状態からフォーカスレンズ202の駆動量および駆動方向を算出する。そして、カメラCPU301は、これらフォーカスレンズ202の駆動量および駆動方向を含むカメラ側フォーカス駆動命令をレンズCPU201に送信する。

0097

カメラ側フォーカス駆動命令には、カメラ300の状態(静止画動画撮像モードの設定や動画記録中か否か等)を示す情報も含まれる。この情報は、レンズCPU201が振動型モータの駆動速度に制限を設けるために使用する。

0098

フォーカス制御部203(CPU120)は、レンズCPU201を介して受け取ったカメラ側フォーカス駆動命令に基づいて、フォーカスレンズ202の目標位置と指定速度を設定する。指定速度が所定値未満であれば振動型モータを位相差制御のみで駆動し、所定値を超えるならば振動型モータを位相差制御と周波数制御を併用して駆動する。

0099

また、カメラ側フォーカス駆動命令とは別に、レンズCPU201は、交換レンズ200に設けられた前述したマニュアルフォーカスリングをユーザが操作することに応じてレンズ側フォーカス駆動命令をフォーカス制御部203に出力する。フォーカス制御部203(CPU120)は、レンズ側フォーカス駆動命令を受け取った場合と同様に、レンズ側フォーカス駆動命令に基づいてフォーカスレンズ202の目標位置と指定速度を設定する。このときのカメラ300の状態を示す情報についてはその時点でカメラCPU301から取得してもよいし、前回取得した情報をそのまま利用してもよい。

0100

次にステップS202では、フォーカス制御部203(CPU120)は振動型モータの状態を取得する。振動型モータは、圧電素子の温度特性や振動体と接触体の摩耗による劣化の影響を受けやすく、駆動環境が変化した際は駆動時の発振周波数特性(駆動開始時の起動発振周波数等)を変更することが好ましい。このため、駆動処理の指示を受けたレンズCPU201は、まずモータ駆動装置の状態として、不図示の温度センサから温度情報と、不図示のメモリから逐次記憶しておいた振動型モータの駆動回数とを取得する。

0101

次にステップS202では、フォーカス制御部203(CPU120)は、設定発振周波数FREQ、設定デューティ比DUTYおよびA/Bモード間の設定位相差PHASEを不図示のメモリから取得する。そして、設定発振周波数FREQのみをフォーカス制御部203内の推定部110に出力(設定)する。このとき、フォーカス制御部203は、設定発振周波数FREQとして、ステップS202で取得した温度情報および駆動回数情報に応じて、メモリに記憶された設定発振周波数を微修正した値を出力する。

0102

ステップS204では、フォーカス制御部203は、ステップS203で設定された設定発振周波数FREQに対応するフォーカス駆動回路204内のアダー器101用のクロック周期ごとの加算値CNTaddを算出する。カウンタ上限値をCNTmaxとし、クロック周波数をCLKとすると、加算値CNTaddは、
CNTadd=FREQ×(CNTmax+1)/CLK
で求めることができる。

0103

次にステップS205では、フォーカス制御部203(推定部110)は、設定発振周波数FREQをフォーカス駆動回路204内の発振部100で出力した際の第1および第2推定変調周波数FREQest.1,FREQest.2を推定する。前述した通り、第1推定変調周波数FREQest.1は、カウンタ周期の1周期目のオーバーフロー時に発生する余剰値S1と2周期目のオーバーフロー時に発生する余剰値S2との差分の絶対値を周波数換算することにより推定される。すなわち、|S1−S2|×CLK/(CNTmax+1)の演算によって推定される。

0104

また、第2推定変調周波数FREQest.2は、第1変調周波数の発生時にて生じるカウンタのオーバーフロー値から求められる。具体的には、(CNTadd/|S1−S2|)の演算結果の小数部をαdecとするとき、FREQ/(CNTadd/(CNTadd−(|S1−S2|×αdec)))の演算によって推定される。

0105

ステップS206では、フォーカス制御部203(推定部110)は、ステップS205で求めた第1および第2推定変調周波数FREQest.1,FREQest.2が禁止周波数帯域に存在するか否かを判定する。前述した通り、禁止周波数帯域は、第1推定変調周波数FREQest.1に対しては2〜12kHzとし、第2推定変調周波数FREQest.2に対しては3〜5kHzとする。判定式は第1および第2推定変調周波数FREQest.1,FREQest.2のそれぞれが禁止周波数帯域外に存在し、かつカウンタ加算値CNTaddが2で割り切れる値(変調周波数が発生しないことと同義)であることとの論理和で構成される。該判定式を満たさない場合は、ステップS202で設定された設定発振周波数FREQではPDM制御によって禁止周波数帯域に変調周波数が発生するため、設定発振周波数をシフトする必要がある。このため、フォーカス制御部203(推定部110)はステップS207に進む。一方、該判定式を満たす場合はステップS209に進む。

0106

ステップS207では、フォーカス制御部203(推定部110)は、第1および第2推定変調周波数をともに禁止周波数帯域外へシフトさせるために設定発振周波数FREQからのシフト周波数ΔFREQを求める。そして、シフト後の設定発振周波数FREQ′を算出する周波数シフト処理を行う。第2推定変調周波数は、第1推定変調周波数のように周波数変化に対して線形的な特性を持たない。但し、第1推定変調周波数>第2推定変調周波数が成り立つため、本実施例で設定した禁止周波数帯域の値域を考慮して下記のシーケンスでシフト周波数ΔFREQを導出する。

0107

図9には、本実施例における設定発振周波数の変化に対する第1および第2推定変調周波数の変化を示す。横軸は設定発振周波数を、縦軸は変調周波数を示す。実線で結ばれた●印のプロットは第1推定変調周波数(Estimated Frequency 1)を、破線で結ばれた●印のプロットは第2推定変調周波数(Estimated Frequency 2)を示す。図中において帯状マスキングされている領域A,Bがそれぞれ第1および第2推定変調周波数に対する禁止周波数帯域であり、それらの禁止周波数帯域外の領域Cが第1および第2推定変調周波数の存在を許容する領域である。この領域Cに第1および第2推定変調周波数(つまりは第1および第2変調周波数)が存在するようにシフト周波数ΔFREQが求められる。

0108

推定部110は、シフト周波数ΔFREQを以下のように導出する。まず、推定部110は、第1および第2推定変調周波数のうちどちらが禁止周波数帯域内に存在するかを判定する。第1推定変調周波数が禁止周波数帯域内に存在する場合は、その値に応じて次に行うべき処理が異なる。

0109

第1推定変調周波数FREQest.1<10kHzである場合は、推定部110は、以下の式に示すように、禁止周波数帯域の低周波側に第1変調周波数が発生するようにシフトする。

0110

ΔFREQ=(FREQest.1−2kHz)/Q1
Q1はカウンタ周期の1周期目においてオーバーフローするまでの加算回数であり、2kHzは第1推定変調周波数に対する禁止周波数帯域の最低周波数である。ΔFREQの符号は、S1−S2が負値であればマイナスとなり、低周波側へのシフトを示す。また、S1−S2が正値であればプラスとなり、高周波側へのシフトを示す。シフト後の設定発振周波数FREQ′に対する第1推定変調周波数は2kHz未満となり、また第2推定変調周波数は第1推定変調周波数よりも低い周波数となるため、2kHzよりも低周波数となる。したがって、第1および第2推定変調周波数のいずれも禁止周波数帯域外に存在することになる。

0111

一方、第1推定変調周波数FREQest.1≧10kHzである場合は、推定部110は、以下の式に示すように、禁止周波数帯域の高周波側に第1変調周波数が発生するようにシフトする。

0112

ΔFREQ=(12kHz−FREQest.1)/Q1
12kHzは第1推定変調周波数に対する禁止周波数帯域の最高周波数(FREQspc)である。ΔFREQの符号は、S1−S2が負値であればプラスとなり、高周波側へのシフトを示す。また、S1−S2が正値であればマイナスとなり、低周波側へのシフトを示す。

0113

そして、推定部110は、シフト後の設定発振周波数FREQ′に対する第2推定変調周波数FREQest.2が禁止周波数帯域外に存在するか否かを判定する。第2推定変調周波数FREQest.2が禁止周波数帯域外に存在しない場合は、ΔFREQと同方向に再度、設定発振周波数をシフトする。この処理を複数回行うことで、第1および第2推定変調周波数のいずれもが禁止周波数帯域外に存在するシフト後の設定発振周波数FREQ′を探索することができる。

0114

第2推定変調周波数が禁止周波数帯域外に存在しない場合は、推定部110は、上述した第1推定変調周波数FREQest.1≧10kHzの場合と同等の処理を行う。設定発振周波数をシフトする方向については、現在の第1推定変調周波数が禁止周波数帯域(12kHz)から離れる方向が好ましい。

0115

以上のようにして、第1および第2推定変調周波数がともに禁止周波数帯域外に存在するようなシフト後の設定発振周波数FREQ′を求めることができる。

0116

次にステップS208では、フォーカス制御部203(推定部110)は、ステップS207で算出したシフト後の設定発振周波数FREQ′に対応するアダー器101用のクロックごとの加算値CNTaddを算出する。ステップS204と同様に、カウンタ上限値をCNTmaxとし、クロックをCLKとすると、加算値CNTaddは、
CNTadd=FREQ′×(CNTmax+1)/CLK
で求められる。この後、フォーカス制御部203はステップS209に進む。

0117

ステップS209では、フォーカス制御部203(CPU120)は、推定部110により算出されたシフト後の設定発振周波数FREQ′を発振部100に出力する情報として確定する。ステップS206にて設定発振周波数FREQに対して発生する変調周波数が禁止周波数帯域に存在しないと判定された場合はFREQ=FREQ′の関係が成り立つ。本処理で確定した設定発振周波数が起動周波数となり、振動型モータの位相差制御における発振周波数となる。

0118

次にステップS210では、フォーカス制御部203(CPU120)は、発振部100に対して出力許可ENABLEを出力する。さらに、CPU120は、ステップS203で設定した設定デューティ比DUTY、A/Bモード間の設定位相差PHASEおよびステップS209で確定したシフト後の設定発振周波数FREQ′を発振部100に出力する。本処理によって振動型モータへの通電が行われ、フォーカスレンズ202に対する実際の駆動が開始される。

0119

次にステップS211では、フォーカス制御部203(CPU120)は、フォーカス位置検出部150から得られるフォーカスレンズ202の現在位置とステップS201で設定した目標位置との位置偏差を算出する。

0120

次にステップS212では、フォーカス制御部203(CPU120)は、ステップS211で算出した位置偏差が0になったか否か、つまりはフォーカスレンズ202が目標位置に到達したか否かを判定する。CPU120は、フォーカスレンズ202が目標位置に到達していればステップS213に進み、到達していなければステップS215に進む。

0121

ステップS213では、フォーカス制御部203(CPU120)は、フォーカスレンズ202が目標位置に到達した後、所定時間の通電保持を行う。通電保持中はA/Bモード間の位相差を0にして、振動体に定在波を生成させる。この通電保持により、フォーカスレンズ202がその慣性によって目標位置を通り過ぎて停止することを抑制する。

0122

なお、本実施例では、目標位置=現在位置(つまりは位置偏差が0)をもってフォーカスレンズ202が目標位置に到達したものと判定する。しかし、|目標位置±x|の範囲内にフォーカスレンズ202の現在位置が収まることをもって目標位置に到達したものと判定し、その後の通電保持を位置フィードバック制御によって微小偏差を0にする処理としてもよい。

0123

次にステップS214では、フォーカス制御部203(CPU120)は、目標位置での通電保持を停止し、ステップS201で取得したカメラ側またはレンズ側フォーカス駆動命令に対する処理を完了する。こうして一連のフォーカスレンズ202の駆動に対する処理が終了となる。

0124

ステップS215以降では、フォーカス制御部203(CPU120)は、まだ目標位置に到達していないフォーカスレンズ202の現在位置と現在速度に基づいて振動型モータの駆動状態加減速駆動または定速駆動)を決定し、該振動型モータの駆動を制御する。

0125

ステップS215では、フォーカス制御部203(CPU120)は、フォーカスレンズ202の現在位置と目標位置との位置偏差を現在速度における減速プロファイルから得られる停止までの減速駆動量と比較する。そして、該比較結果に基づいて、フォーカスレンズ202が減速開始位置に到達したか否かを判定する。位置偏差が減速駆動量に一致または減速駆動量より小さい場合は、CPU120は、フォーカスレンズ202が減速開始位置に到達したと判定し、ステップS216に進む。フォーカスレンズ202が減速開始位置に到達していない場合はステップS219に進む。

0126

ステップS216では、フォーカス制御部203(CPU120)は、現在の設定発振周波数が起動周波数まで引き上げられているか否かを判定する。本ステップでは、振動型モータは減速状態である。また、本実施例における減速処理では、減速プロファイルに従った加速度で振動型モータを減速させる。CPU120は、振動型モータの減速直前に周波数制御を行っている場合は減速プロファイルに従って設定発振周波数を起動周波数まで引き上げ、起動周波数に達すると位相差制御に切り替えて更に減速処理を行う。一方、減速直前に位相差制御が行われている場合は、CPU120は、減速処理を位相差制御のまま行う。

0127

さらに本ステップでは、CPU120は、減速処理において設定発振周波数が起動周波数と同じ値となっているか否かを確認し、次の制御に周波数制御と位相差制御のどちらを使用するかを判定する。CPU120は、設定発振周波数が起動周波数と同じまたはより高周波に設定されていれば位相差制御を行うものとしてステップS218に進み、設定発振周波数が起動周波数よりも低周波に設定されていれば周波数制御を行うものとしてステップS217に進む。

0128

なお、本実施例では、減速時の周波数制御において設定発振周波数を起動周波数よりも大きな値を設定することはない。位相差制御に切り替える際に設定発振周波数を起動周波数と同値とすることで、減速時の位相差制御において変調周波数を避けた発振周波数が設定されることが保証される。

0129

ステップS217では、フォーカス制御部203(CPU120)は、減速プロファイルに基づいてA/Bモード間の位相差を固定し、設定発振周波数を高周波寄りに変更する。本処理を行ったCPU120は、ステップS210に戻って周波数制御を行う。

0130

一方、ステップS218では、フォーカス制御部203(CPU120)は、減速プロファイルに基づいて発振周波数を起動周波数と同じ値に固定し、A/Bモード間の位相差を小さくするように変更する。本処理を行ったCPU120は、ステップS210に戻って位相差制御を行う。

0131

ステップS219では、フォーカス制御部203(CPU120)は、振動型モータの駆動状態が加速状態定速状態かを判定する。加速状態は、CPU120自身が現在、加速プロファイルを参照していること又は現在速度とより高速指令速度(駆動指令に含まれる駆動速度)との速度偏差が所定値以上であることにより判定できる。これらに相当しない駆動状態は、定速状態と判定できる。CPU120は、加速状態である場合はステップS220に進み、定速状態である場合はステップS223に進む。

0132

ステップS220では、フォーカス制御部203(CPU120)は、現在のA/Bモード間の位相差を判定する。CPU120は、位相差が90deg未満であれば位相差制御を行うためにステップS222に進み、90deg以上であれば周波数制御を行うためにステップS221に進む。

0133

ステップS221では、フォーカス制御部203(CPU120)は、加速プロファイルに基づいてA/Bモード間の位相差を固定し、設定発振周波数を低周波寄りに変更する。本処理を行ったCPU120は、ステップS210に戻って周波数制御を行う。

0134

ステップS222では、フォーカス制御部203(CPU120)は、加速プロファイルに基づいて発振周波数を起動周波数と同じ値に固定し、A/Bモード間の位相差を大きくする方向に変更する。本処理を行ったCPU120は、ステップS210に戻って位相差制御を行う。

0135

ステップS223では、フォーカス制御部203(CPU120)は、現在の速度偏差を判定する。本ステップ以降は定速状態での処理であるが、負荷の変動によって発生する微小な速度変動を抑制するために速度フィードバック制御を行う。CPU120は、現在速度が指令速度よりも遅ければ微小加速処理を行うためにステップS224に進み、現在速度が指令速度よりも速ければ微小減速処理を行うためにステップS225に進む。

0136

ステップS224では、フォーカス制御部203(CPU120)は、現在のA/Bモード間の位相差を判定する。CPU120は、位相差が90deg以上であれば位相差を固定して周波数制御を行うためにステップS226に進み、位相差が90deg未満であれば位相差制御を行うためにステップS227に進む。

0137

ステップS226では、フォーカス制御部203(CPU120)は、直前の制御で位相差が90degに達したために位相差を固定し、発振周波数を変更する。ここでは微小加速処理を行うため、CPU120は、現在の発振周波数よりも低周波の発振周波数を設定して振動型モータを駆動する。本処理を行ったCPU120は、ステップS210に戻る。

0138

ステップS227では、フォーカス制御部203(CPU120)は、まだ位相差が90degに到達していないため、位相差をさらに大きくして振動型モータのトルクを増加させる。本処理を行ったCPU120は、ステップS210に戻る。

0139

ステップS225では、フォーカス制御部203(CPU120)は、現在の発振周波数を推定する。CPU120は、発振周波数が起動周波数以下であれば位相差制御を行うためにステップS228に進み、発振周波数が起動周波数を超えていれば周波数制御を行うためにステップS229に進む。

0140

ステップS228では、フォーカス制御部203(CPU120)は、位相差を小さくして振動型モータのトルクを抑えることで減速処理を行う。本処理を行ったCPU120は、ステップS210に戻る。

0141

ステップS229では、フォーカス制御部203(CPU120)は、発振周波数を高くして振動型モータのトルクを抑えることで減速処理を行う。本処理を行ったCPU120は、ステップS210に戻る。

0142

以上説明したように、本実施例では、PDM制御によって発生する第1および第2変調周波数を推定し、その推定結果に応じて設定周波数をシフトする。これにより、第1および第2変調周波数を禁止周波数帯域にて発生させることなく振動型モータを駆動してフォーカスレンズ202を移動させることができる。

0143

本実施例では、交換レンズ200内にて発振部100で発生する第1および第2変調周波数を推定し、推定結果が禁止周波数帯域外になるように設定発振周波数をシフトする場合について説明した。しかし、推定結果の情報に時間情報を付与してカメラ300に出力し、カメラ300が該情報に基づいて、記録された音情報から変調周波数の周波数帯域を第1および第2変調周波数に関わるノイズとして除去または低減する処理を行うようにしてもよい。

0144

また、本実施例では、レンズ交換型のカメラシステムについて説明したが、本実施例にて説明した周波数シフト処理は、レンズ一体型のカメラ(光学機器)においてレンズ等の光学素子を駆動する振動型モータを駆動する際に行うことができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

実施例

0145

以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。

0146

100発振部
101アダー器
102 Aモード比較器
103Bモード比較器
110推定部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社リコーの「 半導体集積回路およびクロック供給方法」が 公開されました。( 2019/09/12)

    【課題】複数のサンプルホールド回路で構成される処理系統の中で、回路面積の増大を抑制して各回路間のサンプリングおよびホールドのタイミングを合わせる半導体集積回路を提供すること。【解決手段】半導体集積回路... 詳細

  • 株式会社FUJIの「 制御パラメータ調整方法及び制御パラメータ調整システム」が 公開されました。( 2019/09/12)

    【課題】制御パラメータの調整に際して発生した異常に対応した制御を行うことで、装置の部品の摩耗や破損の発生を抑制できる制御パラメータ調整方法及び制御パラメータ調整システムを提供すること。【解決手段】制御... 詳細

  • ブラザー工業株式会社の「 振動抑制装置と振動抑制方法」が 公開されました。( 2019/09/12)

    【課題】補償トルク指令をトルク指令に入力する時刻を自動で決定できる振動抑制装置と振動抑制方法を提供する。【解決手段】数値制御装置は補償トルク指令の入力時刻Tdを決定する為、Tp、Tv、Tr、Ta、Tf... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ