(57)【要約】【課題】ＭＥＭＳデバイスの駆動周波数を精度良く共振周波数に追従させることのできるＭＥＭＳ制御回路を提供する。【解決手段】ＭＥＭＳ制御回路は、ＭＥＭＳデバイスの高速軸方向の振幅を表わすモニタ信号に基づいて単位時間あたりの振幅平均値を求める平均値取得部と、前記振幅平均値を基準値と比較する比較部と、同一の比較結果が所定回数連続する場合に前記ＭＥＭＳデバイスの駆動周波数を更新する駆動周波数調整部と、を有する。【選択図】図４
2019132949.tif 000002
【特許請求の範囲】
【請求項１】
ＭＥＭＳデバイスの高速軸方向の振幅を表わすモニタ信号に基づいて、単位時間あたりの振幅平均値を求める平均値取得部と、
前記振幅平均値を基準値と比較する比較部と、
同一の比較結果が所定回数連続する場合に、前記ＭＥＭＳデバイスの駆動周波数を更新する駆動周波数調整部と、
を有することを特徴とするＭＥＭＳ制御回路。
【請求項２】
前記駆動周波数調整部は、前記振幅平均値が前記基準値を上回る結果がＮ回連続する場合に、前記駆動周波数を所定のステップサイズで順方向に変更することを特徴とする請求項１に記載のＭＥＭＳ制御回路。
【請求項３】
前記駆動周波数調整部は、前記振幅平均値が前記基準値を下回る結果がＭ回連続する場合に、前記駆動周波数を所定のステップサイズで逆方向に変更することを特徴とする請求項１に記載のＭＥＭＳ制御回路。
【請求項４】
前記駆動周波数調整部は、前記振幅平均値が前記基準値を上回る結果がＮ回連続する場合に、前記駆動周波数を所定の第１のステップサイズで順方向に変更し、
前記振幅平均値が前記基準値を下回る結果がＭ回連続する場合に、前記駆動周波数を第２のステップサイズで逆方向に変更することを特徴とする請求項１に記載のＭＥＭＳ制御回路。
【請求項５】
前記基準値を設定する基準値設定部、
をさらに有し、前記基準値設定部は、前記駆動周波数が更新された直後の所定の期間にわたる前記振幅の平均を前記基準値に設定することを特徴とする請求項１に記載のＭＥＭＳ制御回路。
【請求項６】
前記振幅平均値と前記基準値の差の大きさに応じて、前記所定回数の重み係数を調整する重み係数調整部をさらに有することを特徴とする請求項１に記載のＭＥＭＳ制御回路。
【請求項７】
前記駆動周波数が連続して同じ方向に変更される回数のカウント値に応じて、前記所定のステップサイズを調整するステップサイズ調整部をさらに有することを特徴とする請求項２または３に記載のＭＥＭＳ制御回路。
【請求項８】
光源と、
前記光源から出力される光を所定の方向に走査するＭＥＭＳミラーと、
映像信号の入力を処理する信号処理装置と、
前記映像信号の処理と同期して前記ＭＥＭＳミラーの駆動を制御する請求項１〜７のいずれか１項に記載のＭＥＭＳ制御回路と、
を有するプロジェクタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＥＭＳ制御回路、及びこれを用いたプロジェクタに関する。
【背景技術】
【０００２】
ＭＥＭＳ（Micro  Electro  Mechanical  Systems）は、プロジェクタ、インクジェットヘッド、走査型顕微鏡、各種センサ等、様々な分野で用いられている。ＭＥＭＳ技術を応用した走査ミラーは「ＭＥＭＳミラー」と呼ばれ、光源から出力された光を所定の方向に走査する。プロジェクタへの応用では、ＭＥＭＳミラーは水平、垂直の２軸方向に走査される。水平軸（高速軸）方向に駆動して走査線を描画し、１水平ラインの描画ごとに走査線を垂直軸（低速軸）方向にずらすことで、１フレームの画像がスクリーンに投射される。
【０００３】
ＭＥＭＳミラーによる高速軸方向の走査は、ＭＥＭＳの共振周波数で行われる。ＭＥＭＳミラーの駆動周波数とＭＥＭＳの共振周波数が一致している場合に、ミラーの振れ幅が最も大きく、駆動電流を最小にすることができる。ＭＥＭＳミラーは温度依存性を有し、温度変化によって共振周波数が変動する。駆動周波数が共振周波数からずれるとミラーの振れ角が小さくなり、画角が狭くなるため、駆動周波数を共振周波数に追従させる制御が行われている。
【０００４】
ミラーを駆動するドライブ信号とミラーのポジション信号の位相差を示す位相差信号に基づいて、ドライブ信号とポジション信号とが同位相となるように、ドライブ信号の周波数を調整する技術が知られている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−３６７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１に示す公知の方法では、ゼロクロスコンパレータを用いて、ＭＥＭＳスキャナの高速軸方向の駆動信号（Ａ）のゼロクロス点と、ＭＥＭＳミラーの角度を表わすモニタ信号（Ｂ）のゼロクロス点を検出する。ゼロクロスコンパレータは、駆動信号のゼロクロス点を示すゼロクロス点信号（Ａ）’と、モニタ信号のゼロクロス点を示すゼロクロス点信号（Ｂ）’を位相比較器に出力する。位相比較器は、ゼロクロス点信号（Ａ）’とゼロクロス点信号（Ｂ）’の位相を比較して、位相差信号を出力する。周波数制御部は、位相差信号に基づいて、駆動信号とモニタ信号の位相が同位相となるように、駆動信号の周波数を調整する。
【０００７】
図２は、駆動信号（Ａ）とそのゼロクロス点信号（Ａ）’、及びモニタ信号（Ｂ）とそのゼロクロス点信号（Ｂ）’を示す。駆動信号（Ａ）とモニタ信号（Ｂ）は、正弦波信号である。ゼロクロス点信号（Ａ）’と（Ｂ）’はゼロクロス点で立ち上がる矩形波信号である。
【０００８】
ミラーの位置（傾き）を示すモニタ信号は、ミラーと基準電極との間の静電容量の変化に基づいて得られる。解像度の向上にともなって駆動信号の速度が速くなると、モニタ信号の検出速度が追従できず、検出精度が低下する。ゼロクロスコンパレータを用いてゼロクロス点の位相を比較する方式を採用しても、検出誤差が出てしまう。デジタル方式の同期検出回路を用いる場合にも、同じ問題が残る。
【０００９】
本発明は、ＭＥＭＳデバイスを駆動する駆動周波数を精度良く共振周波数に追従させることのできるＭＥＭＳ制御技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一つの態様では、ＭＥＭＳ制御回路は、
ＭＥＭＳデバイスの高速軸方向の振幅を表わすモニタ信号に基づいて、単位時間あたりの振幅平均値を求める平均値取得部と、
前記振幅平均値を基準値と比較する比較部と、
同一の比較結果が所定回数連続する場合に、前記ＭＥＭＳデバイスの駆動周波数を更新する駆動周波数調整部と、
を有する。
【発明の効果】
【００１１】
ＭＥＭＳデバイスを駆動する駆動周波数を、精度良く共振周波数に追従させることができる。
【図面の簡単な説明】
【００１２】
【図１】公知の駆動周波数の制御構成を示す図である。
【図２】公知の駆動周波数の制御構成の問題点を説明する図である。
【図３】本発明が適用されるプロジェクタの構成例を示す概略図である。
【図４】第１実施形態のＭＥＭＳ制御回路の構成例を示す概略ブロック図である。
【図５】第１実施形態のＭＥＭＳ制御回路の基本動作を説明する図である。
【図６】図５の制御の具体例を示す図である。
【図７】第１実施形態の制御の効果を示す図である（Ｎ＝Ｍの場合）。
【図８】第１実施形態の制御の効果を示す図である（Ｎ≠Ｍの場合）。
【図９】連続判定に用いる回数の重み付けを説明する図である。
【図１０】第１実施形態の制御の効果を比較例と比較して示す図である。
【図１１】第１実施形態のＭＥＭＳ制御回路の動作のフローチャートである。
【図１２】図１１の基準値更新処理（Ｓ１３）の詳細なフローである。
【図１３】図１１の平均値比較処理（Ｓ１４）の詳細なフローである。
【図１４】図１１の連続判定に基づく駆動周波数の更新処理（Ｓ１５）の詳細なフローである。
【図１５】第２実施形態のＭＥＭＳ制御回路の構成例を示す概略ブロック図である。
【図１６】第２実施形態のＭＥＭＳ制御回路の動作のフローチャートである。
【図１７】図１６の初期化処理（Ｓ２２）の詳細なフローである。
【図１８】図１７の重み係数調整処理（Ｓ２２４）の詳細なフローである。
【図１９】図１７のステップサイズ調整処理（Ｓ２２５）の詳細なフローである。
【図２０】第３実施形態のＭＥＭＳ制御回路の概略ブロック図である。
【図２１】初期周波数保持部に保存される対応テーブルの一例である。
【図２２】第３実施形態のＭＥＭＳ制御回路の動作のフローチャートである。
【図２３】図２２の初期値設定処理（Ｓ３１）の詳細なフローである。
【図２４】図２２の温度情報及び駆動周波数情報の保持（Ｓ３２）の詳細なフローである。
【発明を実施するための形態】
【００１３】
実施形態では、位相比較または位相同期を行わずに、モニタ信号から直接、ＭＥＭＳデバイスを駆動する駆動信号の周波数（以下、「駆動周波数」とする）を共振周波数に追従させて、ＭＥＭＳデバイスの振れ角（振幅）を最大またはその近傍に維持する。また、駆動周波数と共振周波数が一致または近接した状態を、次回の起動時までに保持する。
【００１４】
共振周波数とは、駆動対象であるＭＥＭＳデバイスに固有の振動周波数である。共振周波数に一致する周波数でＭＥＭＳデバイスを駆動するときに、駆動範囲が最大になり、かつ、駆動電流値が最小になる。
【００１５】
ＭＥＭＳデバイスは、ＭＥＭＳによって駆動されるミラー、スイッチ、カンチレバー等の種々のデバイスを含む。以下の実施形態では、ＭＥＭＳミラーを例にとって説明する。またＭＥＭＳミラーの適用例として、プロジェクタについて説明する。
【００１６】
図３は、実施形態のＭＥＭＳ制御回路１０を用いたプロジェクタ１の概略図である。プロジェクタ１は、単体として用いられてもよいし、スマートフォン等の携帯端末の中に組み込まれてもよい。あるいは、ＭＥＭＳ制御回路１０を、携帯端末と有線または無線で接続されるウェアラブルデバイスに組み込んでもよい。
【００１７】
プロジェクタ１は、信号処理装置１１、ＭＥＭＳミラードライバ１２、レーザーダイオードドライバ（ＬＤＤ：Laser  Diode  Driver）１３、光源モジュール１４、ＭＥＭＳミラー１５、フィルタ（ＦＩＬ）１６、及びモニタ１７を有する。
【００１８】
信号処理装置１１はＭＥＭＳ制御回路１０を有し、ＭＥＭＳミラードライバ１２、ＬＤＤ１３、及びフィルタ１６に接続されている。信号処理装置１１に外部から映像信号が入力されると、信号処理装置１１は映像信号に基づいて光源モジュール１４を駆動するＬＤ駆動命令をＬＤＤ１３に出力し、ＭＥＭＳミラー１５を駆動するミラー駆動命令を、ＭＥＭＳミラードライバ１２に出力する。ミラー駆動命令は、ＭＥＭＳ制御回路１０を介して出力されてもよい。
【００１９】
ＬＤＤ１３は、ＬＤ駆動命令に基づいて光源モジュール１４を駆動するＬＤ駆動信号を生成し、出力する。光源モジュール１４は、たとえば、赤（Ｒ），緑（Ｇ）、青（Ｂ）の３色の光源を有し、３色の光源の各々は、ＬＤ駆動信号によって個別にＯＮ／ＯＦＦ制御される。
【００２０】
ＭＥＭＳミラードライバ１２は、ミラー駆動命令に基づいてＭＥＭＳミラー１５を駆動するミラー駆動信号を生成し、出力する。ＭＥＭＳミラー１５の駆動方式は、静電式、圧電式、電磁式等、任意の方式を用いることができる。実施形態では、光学的振れ角が比較的大きく、制御が容易な電磁式を用いる。
【００２１】
ＭＥＭＳミラー１５は、ミラー駆動命令に基づいて水平（高速）軸と垂直（軸）の二軸走査を行い、スクリーン２１上に画像を描画する。スクリーン２１は必ずしもホワイトスクリーンや映写幕でなくてもよく、自動車のフロントガラス、メガネガラス等の透明な媒体に映像が投射されてもよい。
【００２２】
光源モジュール１４の動作は、ＭＥＭＳミラー１５の動作と同期している。画像形成パネル１９に赤色成分の画像が形成されているときは、赤色画像はＭＥＭＳミラー１５で走査されて、スクリーン２１に投射される。画像形成パネル１９に緑色成分の画像が形成されているときは、緑色画像はＭＥＭＳミラー１５で走査され、スクリーン２１に投射される。画像形成パネル１９に青色成分の画像が形成されているときは、青色画像はＭＥＭＳミラー１５で走査されて、スクリーン２１に投射される。２以上の色の光が同時に走査される場合もある。上述した各色の走査は非常に短い時間で繰り返し行われ、スクリーン２１にフルカラー画像が形成され、表示される。
【００２３】
ＭＥＭＳミラー１５は、水平（高速軸）方向には共振周波数の正弦波で駆動され（共振モード）、垂直（低速軸）方向には、非共振モード（またはリニアモード）で駆動される。共振モードでは、高速動作が可能である。非共振モードは、高速動作には適さないが、振れ角を高精度に制御できる。
【００２４】
モニタ１７は、ＭＥＭＳミラー１５の高速軸方向の角度（機械的振れ角）をモニタし、モニタ信号を出力する。出力されたモニタ信号は、フィルタ１６にて不要な帯域成分が除去されて、ＭＥＭＳ制御回路１０に入力される。
【００２５】
従来の技術では、ゼロクロス点での位相比較を行っても、高速動作する共振モードでの振れ角を高精度に制御することが困難であった。実施形態では、ＭＥＭＳ制御回路１０を用いて、ＭＥＭＳミラー１５の駆動周波数を共振周波数に精度良く合わせ込む。ＭＥＭＳ制御回路１０は、位相比較や位相同期を行わずに、モニタ信号の値から直接駆動周波数を調整する。
【００２６】
＜第１実施形態＞
図４は、第１実施形態のＭＥＭＳ制御回路１０Ａの構成を示す。ＭＥＭＳ制御回路１０Ａは、信号処理装置１１の一部に含まれてもよいし、プロセッサとメモリを有する単独の集積回路チップとして形成されてもよい。ＭＥＭＳ制御回路１０Ａの一部または全部を、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＬＤ（Complex  Programmable  Logic  Device）等のプログラマブルロジックデバイスで実現してもよい。
【００２７】
ＭＥＭＳ制御回路１０Ａは、以下の方法で、ＭＥＭＳミラー１５の振れ角が最大になるように、駆動信号の周波数を調整し、共振周波数に合わせ込まれた駆動周波数の情報を、次回の起動時まで保持する。
（ａ）単位時間ごとにモニタ信号の振れ角の平均値をとって、基準値と比較する。基準値とは、直近の駆動周波数変更の直後に得られた振れ角平均値である。
（ｂ）比較結果が、所定の回数連続して同じ結果である場合に、ＭＥＭＳミラーの駆動周波数を所定のステップサイズ（調整単位）で更新する。たとえば、
・Ｎ回連続して振れ角平均値が基準値を超える場合（条件Ａ）、順方向に駆動周波数を１ステップ変更する。
・Ｍ回連続して振れ角平均値が基準値を下回わる場合（条件Ｂ）、逆方向に駆動周波数を１ステップ変更する。
【００２８】
ＮとＭの値は同じであっても、異なっていてもよい。ＮとＭの具体的な値は、外部からの入力によって設定されてもよい。また、動作の間、ＮとＭの値が動的に調整または変更されてもよい。この処理については後述する。
【００２９】
駆動周波数を順方向に変更する場合のステップサイズと、逆方向に変更する場合のステップサイズは同じであっても異なっていてもよい。順方向への駆動周波数制御のステップサイズを、逆方向への駆動周波数制御のステップサイズよりも小さく設定してもよい。
【００３０】
基準値は、直近で駆動周波数が変更された直後の振れ角の平均値であるから、時間とともに変化する。したがって、順方向への制御条件Ａが満たされたときに用いられている基準値と、逆方向への制御条件Ｂが満たされたときに用いられている基準値は、同じ値であるとは限らない。
【００３１】
この方法により、ＭＥＭＳミラー１５の共振周波数が温度等の環境の変化にともなって変動する場合でも、駆動周波数を共振周波数に追従させることができる。
（ｃ）プロジェクタの動作中に共振周波数に合わせこまれた駆動周波数の設定値は、次回の起動時まで保持される。次回の起動時までに大きな環境変化が生じないことを前提にすると、駆動周波数の最後の設定値は、次回の起動時に、ＭＥＭＳミラー１５の駆動周波数の初期値として適切に用いることができる。設定値の保存とともに、あるいは設定値の保存に替えて、温度と駆動周波数（及びその調整サイズ）を関連付けた相関情報を保持していてもよい。
【００３２】
図４を参照すると、ＭＥＭＳ制御回路１０Ａは、平均値取得部１０１、基準値設定部１０２、比較部１０３、比較結果保持部１０４、重み係数設定部１０５、連続判定部１０６、ステップサイズ設定部１０７、駆動周波数調整部１０８、及び初期周波数保持部１０９を有する。
【００３３】
平均値取得部１０１、基準値設定部１０２、比較部１０３、重み係数設定部１０５、連続判定部１０６、ステップサイズ設定部１０７、及び駆動周波数調整部１０８は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置で実現されてもよい。あるいは、比較部１０３はコンパレータ等の論理回路で実現され、連続判定部１０６はカウンタで実現されてもよい。比較結果保持部１０４と初期周波数保持部１０９はメモリ（レジスタを含む）で実現されてもよい。
【００３４】
平均値取得部１０１は、モニタ１７からモニタ信号を受け取る。モニタ信号にはフィルタ処理が施されていてもよい。モニタ信号は、駆動対象であるＭＥＭＳミラー１５の位置または振れ角を表わす。振れ角は、ＭＥＭＳミラー１５を駆動する正弦波の振幅に対応する。平均値取得部１０１は、単位時間（たとえば１フレーム）ごとにモニタ信号の振れ角平均値（または振幅平均値）を求め、求めた振れ角平均値を基準値設定部１０２と比較部１０３に出力する。たとえば、フレームレートを６０Ｈｚとすると、１／６０秒ごとに振れ角平均値が求められる。
【００３５】
比較部１０３は、１フレームごとの振れ角平均値を、基準値設定部１０２に設定されている基準値と比較し、比較結果を比較結果保持部１０４に出力する。基準値は、直近でＭＥＭＳミラー１５の駆動周波数が変更された直後の所定期間にわたる振れ角の平均値である。基準値を決定するための「所定の期間」は、たとえば平均値算出の単位時間の整数倍であってもよい。１フレームを平均値算出の単位時間とするときは、ｋフレーム（ｋは正の数）の期間の振れ角平均値を求めてもよい。
【００３６】
駆動周波数が変更されない間は、直近の基準値が維持される。この場合、単位時間ごとに平均値取得部１０１から基準値設定部１０２に入力される振れ角平均値は、破棄されてもよい。
【００３７】
プロジェクタ１の起動直後は、前回のプロジェクタ使用時の最後に使用されていた振れ角平均値が基準値として設定されてもよい。起動後、最初に駆動周波数が調整されるまでの間、１フレームごとの振れ角平均値は、前回起動時の最後に用いられていた基準値と比較される。
【００３８】
比較結果保持部１０４は、たとえばＦＩＦＯ（First  In  First  Out）レジスタであり、単位時間（たとえば１フレーム）ごとの比較結果が順次書き込まれる。取得された振れ角平均値が基準値よりも大きい場合は、値「１」が書き込まれ、振れ角平均値が基準値よりも小さい場合は値「０」が書き込まれる構成にしてもよい。
【００３９】
比較結果保持部１０４は、値「１」が連続してＮ回続いたときに、連続判定部１０６に「１」の値を出力する。値「０」が連続してＭ回続いたときは、連続判定部１０６に「０」の値を出力する。ＮとＭの値として、重み係数設定部１０５に設定されている値が用いられる。
【００４０】
連続判定部１０６は、比較結果保持部１０４の出力から、同じ比較結果が所定の回数連続して駆動周波数変更の条件が満たされたことを認識する。連続判定部１０６は、比較結果保持部１０４からの出力値に応じて駆動周波数の変更方向を判定し、駆動周波数の調整指示を駆動周波数調整部１０８に出力する。この駆動周波数の変更が決定された時点で、比較結果保持部１０４に保持されていた所定個数の連続する値をクリアしてもよい。
【００４１】
駆動周波数調整部１０８は、調整指示に基づいて、１ステップサイズ分、駆動周波数を所定の方向に変更する。順方向または逆方向に駆動周波数を調整するときのステップサイズは、ステップサイズ設定部１０７に設定されている。順方向への１ステップ分の調整量と、逆方向への１ステップ分の調整量は、同じであっても異なっていてもよい。順方向と逆方向の調整量は、外部から設定可能である。
【００４２】
駆動周波数が変更されると、駆動周波数調整部１０８から基準値設定部１０２へ、駆動周波数の変更通知が出力される。基準値設定部１０２は、駆動周波数の変更通知を受け取ると、その直後に入力された振れ角平均値を新たな基準値として設定し、基準値を更新する。
【００４３】
プロジェクタ１が動作する間、上述した動作が繰り返し行われ、駆動周波数を共振周波数に追従させる。
【００４４】
図５は、ＭＥＭＳ制御回路１０Ａの基本動作を説明する図である。ＭＥＭＳミラー１５の共振周波数をＦ0とする。単位時間ごとの振れ角平均値が連続してＭ回基準値を下回る条件、または単位時間ごとの振れ角平均値が連続してＮ回基準値を上回る条件のいずれかが満たされて、駆動周波数がｆ２からｆ１に１ステップ変更されたとする（矢印（１））。
この駆動周波数の変更直後の所定期間の振れ角平均値が、次の比較処理の基準値Ref  1として設定される。基準値算出のための所定期間は、たとえばｋフレームであり、比較用の平均値算出の単位時間と同じ期間（１フレーム）であってもよいし、単位時間の倍数（１／２フレーム、２フレーム等）を用いてもよい。
【００４５】
その後、単位時間あたりの振れ角平均値が連続してＭ回、基準値Ref  1を下回ると、駆動周波数は従前の制御方向と逆の方向に、所定のステップサイズで変更される。図５では、駆動周波数はｆ１からｆ２に変更される（矢印（２））。駆動周波数の変更により基準値が更新され、この変更の直後に得られる単位時間あたりの振れ角平均値が、新しい基準値Ref  2に設定される。
【００４６】
その後、振れ角平均値が連続してＮ回、基準値Ref  2を上回ると、駆動周波数は、従前の制御方向と同じ方向（順方向）に調整され、ｆ２からｆ３に変更される。この変更の直後に得られる振れ角平均値は、新たな基準値Ref.  3に設定される。以降、同じ処理を繰り返すことで、駆動周波数を共振周波数Ｆ0に収束させることができる。
【００４７】
図５では、便宜上、共振周波数Ｆ0を固定にしているが、共振周波数Ｆ0と駆動周波数ｆは相対的な関係であり、共振周波数Ｆ0だけが変化している場合、駆動周波数ｆだけが変動している場合、共振周波数Ｆ0と駆動周波数ｆの両方が変化している場合のすべてを含む。この方法では、位相を比較せずに、直接、ＭＥＭＳミラーの高速軸方向への振れ角（振幅）に基づいて駆動周波数が調整されるので、高速駆動の場合にも精度良く共振周波数に追従させることができる。
【００４８】
図６は、図５の制御の具体例を示す図である。横軸は時間（ｔ）、縦軸はＭＥＭＳミラー１５の振れ角の単位時間（たとえば１フレーム）あたりの平均値である。時間ｔ１で、モニタされる振れ角の単位時間あたりの平均値と基準値との比較において、同じ比較結果が所定回数連続して続く条件が満たされる。たとえば、振れ角平均値がＮ回連続して基準値を上回る条件Ａ、またはＭ回連続して基準値を下回る条件Ｂのいずれかが満たされる。この条件の充足により、駆動周波数はｆ２からｆ１に変更される（矢印（１））。駆動周波数の変更の直後に得られる振れ角平均値「ａ」が基準値Ref  1に設定され、以降の振れ角平均値は、基準値「ａ」と比較される。
【００４９】
時間ｔ２で、単位時間あたりの振れ角平均値が連続してＭ回（この例では１６回）、基準値「ａ」よりも下回る条件Ｂが満たされ、駆動周波数が、従前の制御と逆方向に変更される。駆動周波数は、ｆ１からｆ２に変更される（矢印（２））。時間ｔ２の直後に得られる振れ角平均値「ｂ」が基準値Ref  2に設定され、以降の振れ角平均値は、基準値「b」と比較される。
【００５０】
基準値「ｂ」の設定後に、２回連続して振れ角平均値が基準値「ｂ」を上回ったが、３回目で基準値「ｂ」に下がって従前と異なる比較結果になるため、連続カウントはクリア（「Ｃｌｒ」）される。次のフレームから、再度連続カウントが始まる。
【００５１】
時間ｔ３で、単位時間あたりの振れ角平均値が連続してＮ回（この例では２５６回）、基準値「ｂ」よりも上回る条件Ａが満たされ、駆動周波数が、従前の制御と同じ方向（順方向）に変更される。駆動周波数は、ｆ２からｆ３に変更される（矢印（３））。時間ｔ３の直後に得られる振れ角平均値「ｃ」が基準値Ref  3に設定され、以降の振れ角平均値は、基準値「ｃ」と比較される。
【００５２】
基準値「ｃ」の設定後に、１回、振れ角平均値が基準値「ｃ」を上回ったが、２回目で基準値「ｃ」まで下がると、従前の比較結果と異なるため、連続カウントはクリア（「Ｃｌｒ」）され、次のフレームから連続カウントが始まる。同じ比較結果が３回続いたあとに、再度、比較結果が変わると、連続カウントは再度クリアされ、その次のフレームから同じ比較結果が続く回数のカウントが開始される。
【００５３】
この方法により、位相比較を行わなくても、ＭＥＭＳミラー１５の振れ角（または振幅）から、駆動周波数を共振周波数に収束させることができる。
【００５４】
図６で、時間ｔ１とｔ２の間で、振れ角平均値がＭ回連続して基準値「ａ」を下回るということは、Ｍフレームの間に駆動周波数が共振周波数Ｆ0から離れる方向にあることを意味する。そこで、条件Ｂの連続回数Ｍとして、条件Ａの連続回数よりも小さな値（たとえばＭ＝１６）に設定して、駆動周波数が一定時間収束しないときは、迅速に制御を反対方向に切り替える。
【００５５】
時間ｔ２とｔ３の間で、振れ角平均値がＮ回連続して基準値「ｂ」を上回るということは、Ｎフレームの間に駆動周波数が共振周波数Ｆ0に近づきつつあること、すなわち制御の方向が正しいことを意味する。そこで、条件Ａが満たされる場合は、順方向への制御を継続する。共振周波数Ｆ0への収束方向を修正する必要がないので、条件Ａの判定で用いる連続回数を条件Ｂの判定で用いる連続回数よりも大きな値（たとえばＮ＝２５６）に設定してもよい。
【００５６】
図７と図８は、第１実施形態の駆動周波数の制御の効果を示す図である。図７は、連続判定のカウント値のＮとＭが同じ場合の効果を示し、図８は、ＮとＭの値が異なる場合の効果を示す。双方の図で、横軸は時間（秒）、左側の縦軸はＭＥＭＳモニタ信号の正弦波ごとの振幅の最大値（ＨＰＥＡＫ）、右側の縦軸は周波数（kHz）である。
【００５７】
図７において、１フレーム（６０Ｈｚ）の振れ角平均値をとって、基準値（直近の駆動周波数変更の直後に得られる振れ角平均値）と比較する。制御の条件を以下のように設定する。
・２５６回連続して振れ角平均値が基準値を上回る場合、順方向に駆動周波数を１ステップ変更する。
・２５６回連続して振れ角平均値が基準値を下回る場合、逆方向に駆動周波数を１ステップ変更する。
この条件では、Ｎ＝Ｍ＝２５６に設定されている。ＮとＭの値「２５６」は、ＲＴＬ（Register  Transfer  Level）設計における回路規模から選定された値である。駆動周波数調整のステップサイズは、
（８ビットレジスタの設定値）×２０ＭＨｚ／２26
から求められ、図７では１ステップの調整量は３ｋＨｚである。
【００５８】
図７から、第１実施形態の構成で起動から約２０分間にわたり、ＭＥＭＳミラーの駆動周波数が共振周波数に精度良く追従して、振幅ばらつきを抑制できることが確認できる。ただし、ＭとＮを同じ値に設定したことで、温度変動による共振周波数のシフト（振れ角の低下）に瞬時に応答できない場合がある。図７では、２００秒から４００秒の間にＨＰＥＡＫに一瞬の落ち込みが発生しているが、これは共振周波数への追従の遅れを表わしている。そこで、図８のように、順方向と逆方向で、連続判定の回数に異なる重み付けをする。
【００５９】
図８において、１フレーム（６０Ｈｚ）の振れ角平均値と基準値の比較に基づく制御の条件を以下のように設定する。
・２５６回連続して振れ角平均値が基準値を上回る場合、順方向に駆動周波数を１ステップ変更する。
・１６回連続して振れ角平均値が基準値を下回る場合、逆方向に駆動周波数を１ステップ変更する。
【００６０】
この条件では、連続回数の重み付けにより、Ｍの値がＮの値よりも小さく設定されている。Ｍの値を小さくすることで、駆動周波数の制御が共振周波数から離れる方向になった場合に、制御の方向を迅速に修正して共振周波数に収束させる。図８では、起動から約２０分間にわたって、振幅ばらつきを抑制し、振れ角を安定して最大またはその近傍に維持することができる。
【００６１】
図９は、連続判定に用いる回数の重み付けを説明する図である。上述したように、駆動周波数の順方向への補正は、駆動周波数を共振周波数に近づける補正である。駆動周波数の逆方向への補正は、駆動周波数が相対的に共振周波数から離れていく場合に、それまでの制御方向と逆の方向に補正して、制御の方向を正す補正である。
【００６２】
この観点から、逆方向への補正に用いる連続回数を減らすことで（Ｎ＞Ｍ）、共振周波数への追従速度を向上する。
【００６３】
図９の（Ａ）では、実線の矢印で示すように、Ｎ回（たとえば２５６回）連続して振れ角平均が基準値を上回る区間が３区間続き、駆動周波数を３ステップ上げた結果、共振周波数のピークを超えている。この場合、Ｍ回（たとえば１６回）連続して振れ角平均値が基準値を下回る条件が満たされたときに、逆方向（破線の矢印の方向）に１ステップ調整することで、制御の方向を修正することができる。
【００６４】
図９の（Ｂ）では、実線の矢印で示すように、Ｎ回連続して振れ角平均が基準値を上回る区間が３区間続き、駆動周波数を２ステップ下げた結果、共振周波数のピークを超えている。この場合、Ｍ回連続して振れ角平均値が基準値を下回る条件が満たされたときに、逆方向（破線の矢印の方向）に１ステップ調整することで、制御の方向を修正することができる。
【００６５】
図１０は、第１実施形態の効果を示す図である。比較例として、第１実施形態の駆動周波数制御を実施しないときのシミュレーション結果を示す。横軸は時間（秒）、縦軸はＭＥＭＳミラー１５の高速軸方向の振れ角ピーク（ＨＰＥＡＫ）である。起動後１０分から２０分前後までのデータを示している。
【００６６】
温度特性により共振周波数が変動するＭＥＭＳミラー１５に対し、第１実施形態の構成で駆動周波数を調整することで、比較例に比べて振れ角（高速軸方向への正弦波振幅ＨＰＥＡＫ）を最大にし、かつ一定にすることができる。さらに、比較例と比べて、振幅の変動を３０％改善することができる。
【００６７】
第１実施形態の手法で調整された駆動周波数を、次回の起動時の駆動周波数の初期値として保持することで、次回の動作時に駆動周波数の共振周波数への合わせ込みの時間を短出することができる。第１実施形態の手法により、従来用いられていた同期検出回路や位相比較回路を不要にすることができる。
【００６８】
図１１は、ＭＥＭＳ制御回路１０の動作のフローチャートである。プロジェクタ１が起動されると、フラグが「１」に設定され（Ｓ１１）、駆動周波数の調整、すなわちＭＥＭＳミラーの振れ角（振幅）を最大に維持する調整処理を実施するか否かが判断される（Ｓ１２）。フラグが「１」に設定されている場合は、調整処理を実施すると判断され（Ｓ１２でＹｅｓ）、基準値が更新される（Ｓ１３）。パワーオン直後の初回処理では、基準値は、前回のプロジェクタ起動時の最後に保持されていた基準値が用いられてもよい。モニタ信号の振れ角平均値と基準値が比較され（Ｓ１４）、比較値の連続判定の結果に基づいて駆動周波数が更新される（Ｓ１５）。ステップＳ１２〜Ｓ１３は、プロジェクタ１の動作が終了して、振幅調整処理の実施が終了するまで（Ｓ１２でＮｏ）、繰り返し行われる。
【００６９】
図１２は、図１１のステップＳ１３の基準値更新処理の詳細なフローである。ステップＳ１２で振幅調整処理の実施が決定されると、モニタ信号に基づいてＭＥＭＳミラー１５の振れ角平均値（振幅平均値）を取得し（Ｓ１３１）、フラグの値が判断される（Ｓ１３２）。フラグが「１」であれば（Ｓ１３２でＹｅｓ）、基準値を更新し（Ｓ１３３）、フラグを「０」に戻してから（Ｓ１３４）、ステップＳ１４に進む。ステップＳ１３２でフラグが「１」の場合は、駆動周波数の変更があることを示し、直前の駆動周波数変更の後に最初に取得された振れ角平均値が基準値に設定される。フラグが「１」でない場合は（Ｓ１３２でＮｏ）、基準値を更新せずに従前の基準値を維持して、ステップＳ１４に進む。
【００７０】
図１３は、図１１のステップＳ１４の平均値比較処理の詳細なフローである。ステップＳ１３で基準値を更新または維持する処理が行われると、単位時間あたりの振れ角平均値と基準値が比較される（Ｓ１４１）。振れ角平均値が基準値よりも大きい場合（Ｓ１４１でＹｅｓ）、比較結果の値が「１」に設定され（Ｓ１４２）、この値が比較結果保持部１０４に書き込まれる（Ｓ１４４）。振れ角平均値が基準値よりも大きくない場合（Ｓ１４１でＮｏ）、比較結果の値が「０」に設定され（Ｓ１４３）、この値が比較結果保持部１０４に書き込まれる（Ｓ１４４）。比較処理が終わると、ステップＳ１５に進む。
【００７１】
図１４は、図１１のステップＳ１５の連続判定に基づく駆動周波数の更新処理の詳細なフローである。ステップＳ１４で比較処理が行われると、連続判定部１０６によって、Ｎ回連続して値「１」が続くか否か判断される（Ｓ１５１）。Ｎ回連続して「１」が続く場合は（Ｓ１５１でＹｅｓ）、駆動周波数を１ステップ分、順方向に変更する（Ｓ１５２）。
【００７２】
Ｎ回連続して「１」が続かない場合（Ｓ１５１でＮｏ）、Ｍ回連続して「０」が続くか否か判断される（Ｓ１５３）。Ｍ回連続して「０」が続く場合は（Ｓ１５３でＹｅｓ）、駆動周波数を１ステップ分、逆方向に変更する（Ｓ１５４）。
【００７３】
その後、フラグを「１」に設定して（Ｓ１５５）、比較結果保持部１０４に記録されていたデータをクリアして（Ｓ１５６）、ステップＳ１２からの処理を繰り返す。これにより、プロジェクタの動作中に、ＭＥＭＳミラー１５の駆動周波数を共振周波数に収束させ、ＭＥＭＳミラー１５の振れ角を最大にすることができる。
【００７４】
＜第２実施形態＞
図１５は、第２実施形態のＭＥＭＳ制御回路１０Ｂの概略ブロック図である。第１実施形態のＭＥＭＳ制御回路１０Ａと同じ構成要素には、同じ符号を付けて、重複する説明を省略する。
【００７５】
第２実施形態では、プロジェクタ１の動作中に、駆動周波数の更新の要否判定に用いられる連続回数（Ｎ、Ｍ）と、調整ステップサイズの少なくとも一方を、動的に制御する。共振周波数の変動状態、ＭＥＭＳミラー１５の動作状態等は毎回異なり、固定的な値を用いるよりも、使用状態に応じて最適な値に設定されることが望ましいからである。
【００７６】
ＭＥＭＳ制御回路１０Ｂは、重み係数／ステップサイズ調整部１１１と、重み係数設定部１０５と、ステップサイズ設定部１０７と、主制御部１１０と、初期周波数保持部１０９を有する。主制御部１１０は、平均値取得部１０１、基準値設定部１０２、比較部１０３、比較結果保持部１０４、重み係数設定部１０５、連続判定部１０６、ステップサイズ設定部１０７、及び駆動周波数調整部１０８を含み、第１実施形態で説明した駆動周波数制御の基本動作を行う。初期周波数保持部１０９は、第１実施形態と同様に、次回の起動時に用いられる駆動周波数の初期値を保持する。
【００７７】
重み係数／ステップサイズ調整部１１１は、主制御部１１０で得られる結果を用いて、
重み係数設定部１０５に設定される連続判定用の重み係数と、ステップサイズ設定部１０７に設定される駆動周波数更新のステップサイズを調整する。
【００７８】
重み係数／ステップサイズ調整部１１１は、重み係数変更の要否判定に用いられる第１の閾値と、ステップサイズ変更の要否判定に用いられる第２の閾値を有する。第１の閾値と第２の閾値は、ユーザの入力により設定されてもよい。
【００７９】
連続回数の重み係数は、たとえば以下のようにして調整される。駆動周波数の順方向への制御中に、単位時間あたりに振れ角平均値と基準値の差分（絶対値）が第１の閾値よりも小さいときは、順方向の連続回数Ｎを小さくする重み係数を決定する。振れ角平均値と基準値との差が小さい場合は、駆動周波数の変動が比較的少なく、安定して動作していることを意味する。この場合、連続回数を減らして、順方向への駆動周波数の調整を円滑に行う。逆に、振れ角平均値と基準値の差が第１の閾値を超えるときは、駆動周波数の変動が大きいことを意味する。この場合、連続回数Ｎを増やして、順方向への変更判断を慎重に行う。
【００８０】
逆方向への制御中は、振れ角平均値と基準値の差分の絶対値が第１の閾値を超えるときは、逆方向の連続回数Ｍを小さくする重み係数を決定して、制御方向の修正を迅速に行う。振れ角平均値と基準値の差が第１の閾値よりも小さいときは、連続回数Ｍを増やして、逆方向への変更の必要性を確実に判断する。
【００８１】
ステップサイズの変更は以下のようにして決定される。順方向へ駆動周波数を変える回数が第２の閾値を超えて続く場合、ステップサイズを大きくして、共振周波数への収束時間を速くする。順方向への補正回数が続くということは、駆動周波数と共振周波数が離れた状態にあるので、一回の調整量を増やすことで、制御時間を短縮できる。
【００８２】
逆方向への駆動周波数の変更の回数が第２の閾値を超えて続く場合は、ステップサイズを小さくして駆動周波数を共振周波数の近傍に絞り込む。逆方向への補正が続くということは、駆動周波数が共振周波数の付近を行き来していることを意味する。一回の調整量を小さくして共振周波数の近傍で行き来する範囲を狭め、共振周波数への収束の精度を高める。
【００８３】
この動作により、プロジェクタ１の起動中に、ＭＥＭＳミラー１５の駆動周波数を共振周波数に追従させる動作を動的かつ柔軟に行うことができる。
【００８４】
図１６は、第２実施形態のＭＥＭＳ制御回路１０Ｂの動作のフローチャートである。図１１（第１実施形態）と同じ処理には、同じステップ番号を付け、重複する説明を省略する。図１６では、駆動周波数更新の要否判定に用いる連続回数（Ｍ、Ｎ）の重み付けと、調整ステップサイズの少なくとも一方を動的に更新する処理を、「初期化処理」と呼ぶ。この「初期化」は駆動周波数の初期化ではなく、連続回数と調整ステップサイズの初期化または更新である。
【００８５】
プロジェクタ１が起動されてフラグが「１」に設定され（Ｓ１１）、駆動周波数の調整処理の実施が開始されると（Ｓ１２でＹｅｓ）、駆動周波数更新の要否判断に用いる同一比較結果の連続回数（重み付け）と、駆動周波数調整のステップサイズについて、初期化処理を実施するか否かが判断される（Ｓ２１）。初期化処理を行う場合は（Ｓ２１でＹｅｓ）、連続回数（重み付け）と調整ステップサイズを再設定した後に（Ｓ２２）、図１１〜図１４を参照して説明したステップＳ１３〜Ｓ１５を実施する。プロジェクタ１の動作中は、ステップＳ１２、Ｓ２１〜Ｓ２２、Ｓ１４〜Ｓ１５の処理が繰り返され、駆動周波数の共振周波数への収束状態に応じて、連続回数（Ｎ、Ｍ）と調整ステップサイズが動的に調整される。
【００８６】
図１７は、図１６のステップＳ２２の初期化処理の詳細なフローである。Ｓ２１で初期化処理が決定されると、基準値を更新する（Ｓ２２１）。基準値は、たとえば初期化処理が決定された直後の所定期間（たとえばｋフレーム分）の振れ角平均値を求めることで更新される。
【００８７】
次に、単位時間あたりの振れ角平均値をＳ２２１で設定した基準値と比較する（Ｓ２２２）。次に、比較結果の値が所定の回数、連続するか否かを判定する（Ｓ２２３）。この判定処理と同時または前後して、連続回数の重み係数の調整と（Ｓ２２４）、駆動周波数調整のステップサイズの調整（Ｓ２２５）を行う。重み係数の調整（Ｓ２２４）とステップサイズの調整（Ｓ２２５）は順不同であり、並列で行われてもよい。
【００８８】
重み係数と調整ステップサイズの初期化処理が終わると、図１５のステップＳ１３以降の処理が行われる。
【００８９】
図１８は、図１７のステップＳ２２４の重み係数調整処理の詳細なフローである。この処理は、主制御部１１０の出力に基づいて、重み係数／ステップサイズ調整部１１１で行われてもよい。
【００９０】
ステップＳ２２３の後に、駆動周波数を更新するか否かが判断される（Ｓ２２４１）。駆動周波数は、同じ比較結果が所定の回数続いた場合に更新される。駆動周波数が更新される場合は（Ｓ２２４１でＹｅｓ）、単位時間当たりの振れ角（振幅）平均値を取得し（Ｓ２２４２）、取得した振れ角平均値と基準値の差分（Δ振幅値）を計算する（Ｓ２２４３）。
【００９１】
現在の制御の方向が順方向か否かを判断し（Ｓ２２４４）、順方向の場合は（Ｓ２２４４でＹｅｓ）、差分（Δ振幅値の絶対値）が第１の閾値よりも小さいか否かを判断する（Ｓ２２４５）。Δ振幅値が第１の閾値よりも小さい場合は（Ｓ２２４５でＹｅｓ）、順方向の重み係数を、α’だけ小さくする（Ｓ２２４６）。たとえば、Ｎの値がＮ＝２５６に設定されている場合に、それより小さい値（たとえば１２８回）に変更する。
【００９２】
順方向制御でΔ振幅値が第１の閾値よりも小さくない場合は（Ｓ２２４５でＮｏ）、Δ振幅値が第１の閾値を超えるか否かが判断される（Ｓ２２４７）。Δ振幅値が第１の閾値を超える場合は（Ｓ２２４７でＹｅｓ）、順方向の連続判定のための値Ｎをβ’だけ大きくする（Ｓ２２４８）。
【００９３】
現在の制御方向が順方向でない場合は（Ｓ２２４４でＮｏ）、Δ振幅値の絶対値が第１の閾値よりも大きいか否かが判断される（Ｓ２２４９）。Δ振幅値の絶対値が第１の閾値よりも大きい場合は、逆方向への連続判定に用いられる回数（Ｍの値）を、αだけ小さくする（Ｓ２２５０）。これにより、ＭＥＭＳミラー１５の振れ角の変動が大きくなったときに、迅速に制御方向を変えて、制御の方向を修正する。
【００９４】
Δ振幅値の絶対値が第１の閾値よりも小さい場合は、逆方向への連続判定に用いられる回数（Ｍの値）を、βだけ大きくする（Ｓ２２５２）。ＭＥＭＳミラー１５の振れ角の変動が少ないときは、制御方向を変える動作を慎重に行う。
【００９５】
連続回数Ｎ、Ｍの値の調整値α、α’、β、β’は外部から設定可能であり、適宜変更することもできる。また、順方向制御の閾値判定（Ｓ２２４５）で用いられる第１の閾値と、逆方向制御の閾値判定（Ｓ２２４９）に用いられる第１の閾値で、異なる値を用いてもよい。
【００９６】
この方法により、ＭＥＭＳミラー１５の駆動周波数の共振周波数への収束状況に応じて連続判定の重み係数を動的に調整して、制御精度を向上することができる。
【００９７】
図１９は、図１７のステップＳ２２５のステップサイズ調整処理の詳細な処理フローである。この処理は、主制御部１１０の出力に基づいて、重み係数／ステップサイズ調整部１１１で行われてもよい。
【００９８】
まず、単位時間あたりの振れ角平均と基準値の比較結果がＮ回連続して値「１」を示すか否かを判断する（Ｓ２２５１）。値「１」は、振れ角平均値が基準値よりも大きいことを示す。この場合、駆動周波数が連続して順方向に変更された回数をカウントする加算カウンタの値をインクリメントし（Ｓ２２５２）、逆方向への連続する変更回数をカウントする加算カウンタをクリアする（Ｓ２２５３）。インクリメントの結果、順方向の加算カウンタの数が第２の閾値を超えたか否かを判断する（Ｓ２２５４）。順方向の加算カウンタの値が第２の閾値を超えた場合は（Ｓ２２５４でＹｅｓ）、１ステップの調整量をΔｘだけ増やして（Ｓ２２５５）、順方向の加算カウンタをクリアする（Ｓ２２５６）。
【００９９】
比較結果がＮ回連続して値「１」を示さない場合は（Ｓ２２５１でＮｏ）、比較結果の値「０」がＭ回連続するか否かを判断する（Ｓ２２５７）。値「０」は、振れ角平均値が基準値よりも小さいことを示す。この場合、駆動周波数が連続して逆方向に変更された回数をカウントする加算カウンタの値をインクリメントし（Ｓ２２５８）、順方向の加算カウンタをクリアする（Ｓ２２５９）。インクリメントの結果、逆方向の加算カウンタの数が第２の閾値を超えたか否かを判断する（Ｓ２２６０）。逆方向の加算カウンタの値が第２の閾値を超えた場合は（Ｓ２２６０でＹｅｓ）、１ステップの調整量をΔｘだけ小さくして（Ｓ２２６１）、逆方向の加算カウンタをクリアする（Ｓ２２６２）。
【０１００】
Ｓ２２５４の順方向の加算カウンタ値の判断のための第２の閾値と、Ｓ２２６０の逆方向の加算カウンタ値の判断のための第２の閾値は、必ずしも同じ値でなくてもよい。順方向の加算タウンタ値の判断用に、第２の閾値「Ｆ」を用い、逆方向の加算カウンタ値の判断用に、異なる第２の閾値「Ｒ」を用いてもよい。
【０１０１】
この処理方法により、ＭＥＭＳミラー１５の駆動周波数の共振周波数への収束状況に応じて、駆動周波数調整のステップサイズを動的に調整して、より精密な制御が実現する。
【０１０２】
＜第３実施形態＞
図２０は、第３実施形態のＭＥＭＳ制御回路１０Ｃの概略ブロック図である。第１実施形態のＭＥＭＳ制御回路１０Ａと同じ構成要素には、同じ符号を付けて、重複する説明を省略する。
【０１０３】
第３実施形態では、ＭＥＭＳ制御回路１０Ｃは、外部からの温度情報を用いる。図２０では、温度センサ１２０の出力が初期周波数保持部１０９Ｃの入力に接続されている。初期周波数保持部１０９Ｃは、温度情報と駆動周波数の相関を記述した相関情報として、相関テーブル１２１（または相関関数）を保持する。温度と駆動周波数の相関の他に、温度と駆動周波数の調整値（ステップサイズ）の相関が記述されていてもよい。
【０１０４】
プロジェクタ１が起動されたときに、ステップサイズ設定部１０７は、温度センサ１２０の出力から相関テーブル１２１を参照して、温度に対応する駆動周波数を、初期駆動周波数として設定する。さらに、温度に対応する駆動周波数の調整値を、初期調整期（初期ステップサイズ）として設定してもよい。
【０１０５】
図２１は、相関テーブル１２１の一例を示す。各温度に対応して、駆動周波数（ｋＨｚ）と、調整用のステップサイズ（Ｈｚ）が記載されている。温度の項目は、ある基準温度Ｔrefに対する温度差ΔＴで記述されていてもよい。
【０１０６】
図２２は、第３実施形態のＭＥＭＳ制御回路１０Ｃの動作のフローチャートである。第１実施形態（図１１）と同じ処理には同じステップ番号を付けて、重複する説明を省略する。
【０１０７】
プロジェクタ１が起動されると、フラグが「１」に設定され（Ｓ１１）、駆動周波数の調整、すなわちＭＥＭＳミラーの振れ角（振幅）を最大に維持する調整処理を実施するか否かが判断される（Ｓ１２）。フラグが「１」に設定されている場合は、調整処理を実施すると判断され（Ｓ１２でＹｅｓ）、駆動周波数の初期値が設定される（Ｓ３１）。パワーオン直後の初回処理では、温度センサ１２０からの温度情報に基づいて、初期周波数保持部１０９Ｃに保持されている環境温度に適した駆動周波数が用いられる。これとともに、駆動周波数調整のためのステップサイズも、環境温度に応じたステップサイズが設定されてもよい。その後、基準値が更新される（Ｓ１３）。
【０１０８】
初回動作時の基準値は、前回のプロジェクタ起動時の最後に保持されていた基準値が用いられてもよい。モニタ信号の振れ角平均値と基準値が比較され（Ｓ１４）、比較値の連続判定の結果に基づいて駆動周波数が更新される（Ｓ１５）。更新された駆動周波数と、そのときの温度変化量ΔＴが、相関テーブル１２１に書き込まれる（Ｓ３２）。
【０１０９】
ステップＳ３２の相関テーブル１２１の更新により、プロジェクタ１を実際に使用しながら、相関テーブル１２１を構築し、書き換えることができる。プロジェクタ１の次回の起動時に、最新の駆動周波数とその調整値を初期値として用いることができる。
【０１１０】
図２２は、図２１のステップＳ３１の初期値設定処理の詳細なフローである。温度センサ１２０から温度情報を取得する（Ｓ３１１）。基準温度からの温度変化ΔＴを計算し（Ｓ３１２）、相関テーブル１２１から温度変化ΔＴに応じた駆動周波数を選択して、駆動周波数の初期値として設置する（Ｓ３１３）。また、駆動周波数の補正方向と調整用のステップサイズの初期値を設定する（Ｓ３１４）。初回の補正方向は、たとえば、温度変化ΔＴがマイナスのとき（基準温度よりも低いとき）は、共振周波数は高くなるので、駆動周波数をプラス方向に補正する。温度変化ΔＴがプラスのときは、共振周波数が低くなるので、駆動周波数をマイナス方向に補正する。その後、ステップＳ１３に進む。
【０１１１】
図２３は、図２１のステップＳ３２の温度情報及び駆動周波数保持の詳細なフローである。ステップＳ１５で比較結果の連続判定がなされて駆動周波数が更新されると、そのときの温度差情報ΔＴと駆動周波数の情報を相関テーブル１２１に書き込む（Ｓ３２１、Ｓ３２２）。温度差情報ΔＴの保持（Ｓ３２１）と、駆動周波数情報の保持（Ｓ３２２）は同時に行ってもよいし、順序が逆であってもよい。
【０１１２】
この方法により、プロジェクタ１の起動の都度、環境温度に応じて適切な駆動周波数と調整値（ステップサイズ）を初期値として設定することができる。
【０１１３】
以上、特定の実施例に基づいて本発明を説明してきたが、本発明は上述した実施例に限定されない。たとえば、第２実施形態の重み係数とステップサイズの動的な更新と、第３実施形態の環境温度に応じた初期値の設定を組み合わせてもよい。また、第３実施形態の相関テーブル１２１の構築と書き換えに、第２実施形態の重み係数／ステップサイズ調整部１１１の出力の一部を使用してもよい。
【０１１４】
いずれの場合も、モニタ信号と駆動信号の位相を比較しなくても、直接モニタされるＭＥＭＳミラー１５の高速軸方向の振れ角（または振幅）に基づいて、駆動周波数を共振周波数に追従させることができる。
【０１１５】
連続判定に用いる回数（Ｎ，Ｍ）の重み係数と、駆動周波数調整のステップサイズの少なくとも一方を動的に制御することで、駆動周波数の共振周波数への収束速度を高め、共振周波数近傍での収束範囲を狭くすることができる。
【０１１６】
以上の説明に対して、以下の付記を呈示する。
（付記１）
ＭＥＭＳデバイスの高速軸方向の振幅を表わすモニタ信号に基づいて、単位時間あたりの振幅平均値を求める平均値取得部と、
前記振幅平均値を基準値と比較する比較部と、
同一の比較結果が所定回数連続する場合に、前記ＭＥＭＳデバイスの駆動周波数を更新する駆動周波数調整部と、
を有することを特徴とするＭＥＭＳ制御回路。
（付記２）
前記駆動周波数調整部は、前記振幅平均値が前記基準値を上回る結果がＮ回連続する場合に、前記駆動周波数を所定のステップサイズで順方向に変更することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記３）
前記駆動周波数調整部は、前記振幅平均値が前記基準値を下回る結果がＭ回連続する場合に、前記駆動周波数を所定のステップサイズで逆方向に変更することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記４）
前記駆動周波数調整部は、前記振幅平均値が前記基準値を上回る結果がＮ回連続する場合に、前記駆動周波数を所定の第１のステップサイズで順方向に変更し、
前記振幅平均値が前記基準値を下回る結果がＭ回連続する場合に、前記駆動周波数を第２のステップサイズで逆方向に変更することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記５）
Ｍの値はＮの値よりも小さいことを特徴とする付記４に記載のＭＥＭＳ制御回路。
（付記６）
前記基準値を設定する基準値設定部、
をさらに有し、前記基準値設定部は、前記駆動周波数が更新された直後の所定の期間にわたる前記振幅の平均を前記基準値に設定することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記７）
前記振幅平均値と前記基準値の差の大きさに応じて、前記所定回数の重み係数を調整する重み係数調整部をさらに有することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記８）
前記重み係数調整部は、前記駆動周波数の順方向への制御で、前記振幅平均値と前記基準値の差の絶対値が第１の閾値を超えたときに、前記順方向の前記重み係数を大きくし、前記差の絶対値が前記第１の閾値よりも小さいときに、前記順方向の前記重み係数を小さくすることを特徴とする付記７に記載のＭＥＭＳ制御回路。
（付記９）
前記重み係数調整部は、前記駆動周波数の逆方向への制御で、前記振幅平均値と前記基準値の差の絶対値が第１の閾値を超えたときに、前記逆方向の前記重み係数を小さくし、前記差の絶対値が前記第１の閾値よりも小さいときに、前記逆方向の前記重み係数を大きくすることを特徴とする付記７に記載のＭＥＭＳ制御回路。
（付記１０）
前記駆動周波数が連続して同じ方向に変更される回数のカウント値に応じて、前記所定のステップサイズを調整するステップサイズ調整部をさらに有することを特徴とする付記２または３に記載のＭＥＭＳ制御回路。
（付記１１）
前記駆動周波数を前記順方向へ連続して変更する回数が第２の閾値を超えたときに、前記所定のステップサイズを増大するステップサイズ調整部をさらに有することを特徴とする付記２に記載のＭＥＭＳ制御回路。
（付記１２）
前記駆動周波数を前記逆方向へ連続して変更する回数が第２の閾値を超えたときに、前記所定のステップサイズを減少するステップサイズ調整部をさらに有することを特徴とする付記３に記載のＭＥＭＳ制御回路。
（付記１３）
温度と前記駆動周波数を対応付けた相関情報を保持し、外部から温度情報を受け取ったときに前記相関情報を参照して前記温度に対応する周波数を初期駆動周波数として選択する初期周波数保持部、
をさらに有することを特徴とする付記１に記載のＭＥＭＳ制御回路。
（付記１４）
前記相関情報は、前記温度と前記駆動周波数に対応付けて、前記駆動周波数を調整するステップサイズを記録することを特徴とする付記１３に記載のＭＥＭＳ制御回路。
（付記１５）
前記相関情報は、前記駆動周波数が更新される都度、更新時の温度と対応付けて書き換えられることを特徴とする付記１４に記載のＭＥＭＳ制御回路。
（付記１６）
光源と、
前記光源から出力される光を所定の方向に走査するＭＥＭＳミラーと、
映像信号の入力を処理する信号処理装置と、
前記映像信号の処理と同期して前記ＭＥＭＳミラーの駆動を制御する付記１〜１５のいずれかに記載のＭＥＭＳ制御回路と、
を有するプロジェクタ。
【符号の説明】
【０１１７】
１  プロジェクタ
１０Ａ、１０Ｂ、１０Ｃ  ＭＥＭＳ制御回路
１１  信号処理装置
１２  ＭＥＭＳミラードライバ
１３  レーザーダイオードドライバ
１４  光源モジュール
１５  ＭＥＭＳミラー
１７  モニタ
１０１  平均値取得部
１０２  基準値設定部
１０３  比較部
１０４  比較結果保持部
１０５  重み係数設定部１０５
１０６  連続判定部
１０７  ステップサイズ設定部
１０８  駆動周波数調整部
１０９  初期周波数保持部
１１０  主制御部
１１１  重み係数／ステップサイズ調整部
１２０  温度センサ
１２１  相関テーブル（相関情報）
【図１】
2019132949.tif 000003
【図２】
2019132949.tif 000004
【図３】
2019132949.tif 000005
【図４】
2019132949.tif 000006
【図５】
2019132949.tif 000007
【図６】
2019132949.tif 000008
【図７】
2019132949.tif 000009
【図８】
2019132949.tif 000010
【図９】
2019132949.tif 000011
【図１０】
2019132949.tif 000012
【図１１】
2019132949.tif 000013
【図１２】
2019132949.tif 000014
【図１３】
2019132949.tif 000015
【図１４】
2019132949.tif 000016
【図１５】
2019132949.tif 000017
【図１６】
2019132949.tif 000018
【図１７】
2019132949.tif 000019
【図１８】
2019132949.tif 000020
【図１９】
2019132949.tif 000021
【図２０】
2019132949.tif 000022
【図２１】
2019132949.tif 000023
【図２２】
2019132949.tif 000024
【図２３】
2019132949.tif 000025
【図２４】
2019132949.tif 000026