以下、本発明の実施形態(以下、本実施形態という)について図面に基づき詳細に説明する。
本実施形態に係る電子時計1は、駆動パルスを出力した後にステップモータ30から発生する逆起電力の電圧値の大きさを複数の区間で判定し、判定結果に応じて次回出力される駆動パルスの駆動力を設定するものである。また、電子時計1は、秒針、分針、時針等の指針40によって時刻を表示するアナログ表示式時計であり、電源となる電池、操作部材、輪列等を有するが、これらの図示は省略する。
図1~図3を参照して、本実施形態の電子時計1の構成を説明する。図1は、本実施形態の電子時計の構成の概略を示すブロック図である。図2は、本実施形態のドライバ回路の構成の一例を示す回路図である。図3は、本実施形態のステップモータを示す図である。
電子時計1は、発振回路2と、分周回路3と、検出パルス出力回路4と、駆動パルス出力回路5と、加速パルス出力回路6と、補正パルス出力回路7と、パルス設定回路8と、判定回路9とを有する。
さらに、電子時計1は、制御回路10と、ドライバ回路20と、ステップモータ30と、指針40とを有する。
発振回路2は、水晶振動子(不図示)によって所定のクロック信号を出力する。クロック信号は分周回路3に入力される。分周回路3は、クロック信号を分周する。
制御回路10は、メモリ等を内蔵するマイクロコンピュータであって、メモリに記憶されるプログラムに従って、電子時計1に含まれる各種回路等の動作を制御するものである。制御回路10は、分周回路3から入力されたクロック信号を制御信号として出力する。制御信号は、検出パルス出力回路4、駆動パルス出力回路5、加速パルス出力回路6、補正パルス出力回路7に入力される。
駆動パルス出力回路5は、制御回路10からの制御信号に基づいて駆動パルスDRPを生成し、パルス設定回路8へ出力する。駆動パルスDRPは、ステップモータ30を駆動するために出力されるパルスである。
検出パルス出力回路4は、制御回路10からの制御信号に基づいて検出パルスDTPを生成し、パルス設定回路8へ出力する。検出パルスDTPは、駆動パルス出力回路5による駆動パルスDRP出力後に、ステップモータ30が備えるロータ31の動きによりコイル33に生じる逆起電力を検出するために出力されるパルスである。
加速パルス出力回路6は、制御回路10からの制御信号に基づいて駆動パルスDRPを補助する加速パルスAPを生成し、パルス設定回路8へ出力する。加速パルスAPは、駆動パルスDRP出力後に生じる逆起電力の波形のうち、ロータ31が回転した場合において後述の第3の期間T3に現れる表の山のピークを強く出すために出力される。または、加速パルスAPは、ロータ31が非回転時において現れる、誤検出の要因となる表の山のピークを打ち消すために出力される。加速パルスAPは、駆動パルスDRPよりも駆動力が小さいパルスであるとよい。
補正パルス出力回路7は、制御回路10からの制御信号に基づいて駆動パルスDRPよりも駆動力の大きい補正パルスFPを生成し、パルス設定回路8へ出力する。補正パルスFPは、ステップモータ30が非回転の場合、又は、回転したか否かが不確実な場合に、ステップモータ30を強制的に回転させるために出力されるパルスである。
パルス設定回路8には、制御回路10に制御され、検出パルスDTP、駆動パルスDRP、加速パルスAP、補正パルスFPのいずれかを設定パルスとしてドライバ回路20へ出力する。
本実施形態においては、パルス設定回路8は、判定回路9の判定結果に基づいて、駆動パルス出力回路5が次回出力する駆動パルスDRPの駆動力(例えば、デューティ比に応じたランク)を設定する。駆動パルスDRPの駆動力は、例えば、デューティ比を変えることにより変更可能であるとよい。駆動パルス出力回路5が出力可能な駆動パルスDRPのデューティ比は、例えば、16/32、20/32、24/32等に予め設定されているとよい。なお、ここで、デューティ比とは、所定の期間内で駆動パルスDRP等のパルスが出力される割合を示す
出力される駆動パルスDRPの駆動力が大きい場合、ステップモータ30は回りやすく、その回転力が大きくなる。一方で、出力される駆動パルスDRPの駆動力が小さい場合、ステップモータ30は回りにくく、その回転力は小さくなる。
ドライバ回路20は、パルス設定回路8から入力された設定パルスに応じた信号(駆動波形)をステップモータ30のコイル33の端子O1,O2に供給し、ステップモータ30を駆動する。
ドライバ回路20は、二つのバッファ回路を内蔵し、二つの出力端子O1、O2から駆動パルスDRP、加速パルスAP、又は補正パルスFPを出力し、ステップモータ30を駆動する。また、ドライバ回路20は、検出パルスDTPに対しては、その短いパルス幅の期間だけ二つの出力端子O1、O2を共にオープン(高インピーダンス)とするように動作するとよい。もしくは、一方の出力端子のみをオープン(高インピーダンス)とするように動作してもよい。こちらの方がGNDレベルに対しての電位が精度よく確定するため、通常は一方の出力端子のみをオープン(高インピーダンス)とすることが多い。
これにより、ステップモータ30のコイル33の両端が、検出パルスDTPによって短期間オープン状態となるので、そのオープン期間にコイル33に発生する逆起電力が現れる。そのパルス状の逆起電力は検出信号DSとして判定回路9に入力される。すなわち、検出信号DSは、検出パルスDTPと同一タイミングに発生するパルス状の信号である。
判定回路9は、検出パルスDTPがドライバ回路20に入力された際にコイル33に生じた逆起電力を検出し、ステップモータ30の回転状態および回転したか否かを判定する回路である。判定回路9は、判定回路9に含まれるカウンタ(不図示)によりカウントされる期間のうち所定の区間において、検出抵抗R1、R2(図2参照)に基づいて定まる閾値以上の電圧値が検出されたか否かを判定する。判定回路9は、その判定結果を判定信号として制御回路10及びパルス設定回路8へ出力する。なお、検出パルスDTPの出力によるサンプリングは、後述の第1の区間T1、第2の区間T2、第3の区間T3のそれぞれにおいて所定間隔で連続的に行われるとよい。
ここで、主に図2を参照して、ドライバ回路20の詳細について説明する。
ドライバ回路20は、ON抵抗が小さいPチャンネルMOSトランジスタであるドライブトランジスタP1(以下、トランジスタP1とする)とON抵抗が小さいNチャンネルMOSトランジスタであるドライブトランジスタN1(以下、トランジスタN1とする)とのコンプリメンタリ接続でなる第1ドライバ回路21を含む。また、ドライバ回路20は、ON抵抗が小さいPチャンネルMOSトランジスタであるドライブトランジスタP2(以下、トランジスタP2とする)とON抵抗が小さいNチャンネルMOSトランジスタであるドライブトランジスタN2(以下、トランジスタN2とする)とのコンプリメンタリ接続でなる第2ドライバ回路22を含む。
第1ドライバ回路21の出力端子は、ステップモータ30のコイル33(図2及び図3参照)の一方の端子に接続され、第2ドライバ回路22の出力端子は、ステップモータ30のコイル33の他方の端子に接続される。また、図示は省略するが、トランジスタP1、N1、P2、N2の各ゲート端子Gは、パルス設定回路8に接続されており、設定パルスが入力される。
この構成によって、駆動パルスDRP、加速パルスAP、補正パルスFPのいずれかのパルスが、設定パルスとしてドライバ回路20に入力され、ドライバ回路20の出力端子から交互に出力される。
図2に示すPチャンネルMOSトランジスタTP1、TP2(以下、トランジスタTP1、TP2とする)と検出抵抗R1、R2は、検出パルスDTPに基づいて検出信号DSを発生させる機能を有する。
トランジスタTP1、TP2のソース端子Sは電源VDDに接続される。また、トランジスタTP1のドレイン端子Dは検出抵抗R1の一方の端子に接続され、トランジスタTP2のドレイン端子Dは検出抵抗R2の一方の端子に接続される。
検出抵抗R1の他方の端子は、第1ドライバ回路21の出力端子に接続され、さらに、判定回路9の入力回路であるインバータ回路INV1、INV2に接続される。また、検出抵抗R2の他方の端子は、第2ドライバ回路22の出力端子に接続され、さらに、判定回路9の入力回路であるインバータ回路INV1、INV2に接続される。
ここで、検出抵抗R1、R2が接続されたインバータ回路INV1、INV2に入力される一対の信号が、ステップモータ30からの検出信号DSである。すなわち、検出信号DSは、ステップモータ30からの誘起電流が検出抵抗R1、R2に流れることによって、検出抵抗R1、R2の両端に発生する。判定回路9は、検出抵抗R1、R2に発生する検出信号DSを入力して内部に設定している閾値を超えたか否かを判定する。
インバータ回路INV1は、例えば、電源電圧の約1/4が後述の第1の閾値Vth1よりも小さい閾値Vth1′及び第2の閾値Vth2よりも小さい閾値Vth2′となるC-MOSのインバータ回路であるとよい。また、インバータ回路INV2は、例えば、電源電圧の約1/2が後述の第1の閾値Vth1及び第2の閾値Vth2となるC-MOSのインバータ回路であるとよい。本実施例においては、インバータ回路の数を抑えるため、第1の閾値Vth1よりも小さい閾値Vth1′と第2の閾値Vth2よりも小さい閾値Vth2′を共通の閾値とし、第1の閾値Vth1と第2の閾値Vth2を共通の閾値としたが、それぞれ共通でない閾値としてもよい。また、電圧の倍率の設定は、一例でありこの場合に限らない。なお、これら閾値を可変にして、検出信号DSに対する検出感度を調節できる回路を用いてもよい。あるいは、複数種類の検出抵抗を設け、それらの一部を選択して使用することにより、検出感度を調整できる回路を用いてもよい。
判定回路9は、Vth1、Vth1′、Vth2及びVth2′に対して、それぞれ閾値以上である場合に出力される検出信号DSの有無を判定し、判定結果に応じてステップモータ30の回転状態を判定する。また、判定回路9は、その判定結果を判定信号として制御回路10及びパルス設定回路8へ出力する。
次に、図3を参照して、ステップモータ30の基本構成を説明する。ステップモータ30は、ロータ31、ステータ32、コイル33を含み、指針40を駆動させるものである。
ロータ31は2極磁化された円盤状の回転体であり、径方向にN極、S極に着磁されている。ステータ32は、軟磁性材により成り、ロータ31を囲む半円部32a、32bがスリットで分割されている。また、半円部32a、32bが結合している基部32eに単相のコイル33が巻装されている。単相とはコイルが1個であり、駆動パルスDRPを入力する入力端子O1、O2が2個であることを意味している。
また、ステータ32の半円部32a、32bの内周面の対向する所定の位置に、凹状のノッチ32h、32iが形成されている。このノッチ32h、32iによって、ステータ32の電磁的安定点(直線Aで示す)に対してロータ31の静的安定点(制止時の磁極の位置:斜線Bで示す)がずれることになる。このずれによる角度差を初期位相角θiと称し、この初期位相角θiによって、ロータ31が所定の方向に回転しやすいように癖付けされることになる。
次に、図3、図4を参照して、ステップモータ30の基本動作を説明する。図4は、実施形態において、ステップモータのコイルに発生する電圧波形の一例を示す図である。図4において、横軸は時間を示しており、縦軸は電圧を示している。
駆動パルスDRPは、図3に図示するように連続する複数のパルス群によって構成される。このパルス群のパルス幅(すなわち、デューティ)を変更することにより、駆動パルスDRPの駆動力が調整される。
駆動パルスDRPがステップモータ30の入力端子O1、O2へ交互に供給されることで、ステータ32が交互に反転磁化されてロータ31が回転する。
ステップモータ30のコイル33に駆動パルスDRPが供給されると、ステータ32は磁化され、ロータ31は静的安定点Bから180度回転(図3において、左回転)するが、その位置で直ちに停止することはなく、実際には180度の位置をオーバーランして振動し、しだいに振幅が小さくなり停止する(図3の曲線矢印Cで軌跡を示す)。このときのロータ31の減衰振動はコイル33への磁束変化となり、電磁誘導による逆起電力が発生してコイル33に誘起電流が流れる。
図4は、ロータ31が駆動パルスDRPによって正常に180度回転したときにコイル33に発生する電圧波形の一例を示している。ここで、駆動パルスDRPが供給されている駆動パルス出力期間Taでの電圧波形は、複数のパルス群による駆動電圧と誘起電圧が重なった電圧波形となる。また、駆動パルスDRP出力後の減衰期間Tbでは、ロータ31の減衰振動に対応する電圧波形となる。
本実施形態は、図4で示す駆動パルスDRP出力後の減衰期間Tbにおける逆起電流による電圧波形を複数の検出区間に分けて検出し、ロータ31の回転状態を判定するものである。
ここで、前述した図3の正常回転した場合の電圧波形を例として、どのようにロータ31の回転状態を検出するかの基本動作を説明する。
駆動パルスDRPがステップモータ30に供給されると、ロータ31が矢印Cのように180度回転して、その後、減衰振動する。駆動パルス出力期間Taの終了後、ロータ31の減衰振動によって、駆動パルスDRP出力中に現れる波形と同極性側(GNDに対してプラス側)に誘起電圧が発生する。本実施形態においては、図4に図示するように、この電圧波形の山形状を「裏の山」と称する。駆動パルスDRPの駆動力が小さいと、裏の山が遅れて現れることとなり、一方で、駆動パルスDRPの駆動力が大きいと、裏の山が早く現れることとなる。
また、この裏の山のあと、ロータ31の減衰振動によって、駆動パルスDRP出力中に現れる波形と極性が異なる側(GNDに対してマイナス側)に誘起電圧が発生する。本実施形態においては、この電圧波形の山形状を「表の山」と称する。駆動パルスDRPの駆動力が小さいと、表の山が現れない場合がある。本実施形態においては、表の山が現れているか否かを判定することにより、ステップモータ30が回転か非回転かを判定することができる。そして、ステップモータ30が非回転の場合、具体的には、後述のように区間T3における逆起電力の電圧値Vが第3の閾値Vth3未満の場合、補正パルス出力回路7が補正パルスFPを出力し、ステップモータ30を強制的に回転させる。
また、図4に示すように、駆動パルス出力期間Taの終了直後で、且つ、裏の山の直前に、駆動パルスDRP出力中に現れる波形と極性が異なる側(GNDに対してマイナス側)に誘起電圧が発生する。本実施形態においては、この電流の山形状を「ダミーの表の山」(以下、ダミーと略す)と称する。このダミーは、駆動パルスDRPの出力が終了しても、ロータ31が180-θi度(図3参照)を回り終えていない場合に出現する。
また、図示しないが、ダミーが発生しない場合もあり、これは、駆動パルスDRPの出力中にロータ31が180-θi度を回り切っている場合(駆動パルスDRPの駆動力が大きく、ロータ31の回転が早い場合)である。
ダミーは、そもそもの絶対値が小さく、また、指針40の慣性や外部磁場等の何らかの影響によっては回転状態に関わらず現れないこともあるため、回転状態の判定に用い難い。
以上、正常回転した場合を説明したが、次に、ロータ31が回転できずに元の位置に戻ってしまう場合を説明する。図3の曲線矢印Dは、指針40の慣性や外部磁場等の何らかの影響によって、駆動パルスDRPが供給されたのにもかかわらず、ロータ31が回転できずに元の位置に戻ってしまう場合の軌跡を示している。
ロータ31が回転できなかった場合の減衰期間Tbにおける電圧波形は、ロータ31が回転しないために、図4で示す電圧波形と比較して振幅が小さく周期も異なる。また、この場合は、「表の山」が現れないことが多いため、この「表の山」が所定の閾値以上か否かによって回転、非回転を判断する。ただし、大きな慣性量の針を付けている場合などは、その影響で元の位置から大きくオーバーランして振動し、しだいに振幅が小さくなり停止する場合も考えられる。この場合は、振幅が小さいにもかかわらず、誤検出の要因となりうる「表の山」が現れてしまう可能性がある。
次に、図5~図13を参照して、本実施形態におけるステップモータ30の回転状態の判定処理の詳細について説明する。図5は、本実施形態において、実行処理Fが実行される場合の電圧波形の一例を示している。具体的には、図5は、駆動パルスの駆動力が適切であり、ステップモータが正常に回転した場合における電圧波形の一例を示す図である。図6は、本実施形態における、ステップモータの回転状態の判定結果、及び判定結果に基づく処理について示す図である。なお、図6において、「〇」は逆起電力の電圧値Vが閾値以上であり、「×」は逆起電力の電圧値Vが閾値未満であることを示している。
図7は、本実施形態において、実行処理Aが実行される場合の電圧波形の一例を示している。図8は、本実施形態において、実行処理Bが実行される場合の電圧波形の一例を示している。図9は、本実施形態において、実行処理Cが実行される場合の電圧波形の一例を示している。図10は、本実施形態において、実行処理Dが実行される場合の電圧波形の一例を示している。図11は、本実施形態において、実行処理Eが実行される場合の電圧波形の一例を示している。図12は、本実施形態において、実行処理Gが実行される場合の電圧波形の一例を示している。図13は、本実施形態において、実行処理Hが実行される場合の電圧波形の一例を示している。
本実施形態においては、判定回路9は、第1の区間T1における、逆起電力の電圧値VがVth1′及びVth1以上であるか否かを判定する。なお、Vth1´は、Vth1より小さい電圧値である。
ここで、第1の区間T1とは、図5に図示するように駆動力が適切であり、ステップモータが理想的な回転状態である場合(以下、理想回転の場合という)において、駆動パルスDRP出力中に現れる波形と同極性の山(すなわち、「裏の山」)の立ち上がりが現れる期間を含むように予め設定された区間である。本実施形態においては、判定回路9は、駆動パルスDRP出力中に現れる波形と同極性側に大きく現れる「裏の山」の立ち上がりのタイミングが第1の区間T1に現れているか否かを検出することにより、ステップモータ30の回転が速すぎないか、又は遅すぎないかを判定している。
本実施形態においては、第1の区間T1を、駆動パルスDRPが出力された後のロータ31の減衰自由振動の周期の4分の1の長さとした。なお、これに限らず、第1の区間T1は、駆動パルスDRPが出力された後のロータ31の減衰自由振動の周期の5分の1以上であって、3分の1以下の長さであるとよい。
ここで、第1の区間T1の長さをロータ31の減衰自由振動の周期に基づいて設定する理由について説明する。単相(1コイル)2極(磁極が2個)のステップモータが1ステップあたり180deg回転する際、前半の90degは保持トルクにより、初期の安定位置にとどまろうとするトルクが作用する。また、後半の90degは逆に保持トルクにより次の安定位置まで回転しようとするトルクが作用する。低消電化のために、ステップモータ30はおおむね前半の90deg程度の間、駆動パルスDRPを印加することにより回転した後、後半の90deg及び行き過ぎ分+αdegは、保持トルクによって回転させるのが一般的である。特に、回転の終盤では、ステップモータ30のロータ31は、保持トルクにより減衰振動しながら最終的に安定位置に停止する。この際の減衰自由振動の周期は、ステップモータ30のロータ31およびそこから駆動される輪列や針などによる慣性量と、ロータ磁力とステータ形状から定まる保持トルクの大きさとの比で定まる固有振動の周期となる。そして、今回対象としている逆起電力の電圧波形は、このロータ31の減衰振動と同じ周期で発生する。そのため、第1の区間T1を設定する際に、ロータ31の減衰自由振動の周期を考慮して設定すればよい。なお、第2の区間T2、第3の区間Tについても同様である。
また、判定回路9は、第2の区間T2における、逆起電力の電圧値VがVth2′及びVth2以上であるか否かを判定する。ここで、第2の区間T2とは、第1の区間T1後であって、理想回転の場合において、駆動パルスDRP出力中に現れる波形と同極性の山(すなわち、「裏の山」)のピークが現れる期間を含むように予め設定された区間である。なお、Vth2´は、Vth2より小さい電圧値である。本実施形態においては、判定回路9は、駆動パルスDRP出力中に現れる波形と同極性側に大きく現れる裏の山のピークのタイミングが第2の区間T2に現れているか否かを検出することにより、ステップモータ30の回転が速すぎないか、又は遅すぎないかを判定している。また、ステップモータ30の回転速度は、裏の山のピークの高さにも関係し、回転が速いほどピークは高くなる。そのため、Vth2は、理想回転の場合における裏の山のピークの電圧値よりも少し低い値に設定されているとよい。本実施形態では、図5に図示するように、Vth1´とVth2´を同電圧値に設定し、Vth1とVth2を同電圧値に設定した。しかし、それぞれを同電圧値としなくてもよい。
また、判定回路9は、第3の区間T3における、逆起電力の電圧値VがVth3以上であるか否かを判定する。ここで、第3の区間T3とは、第2の区間T後であって、理想回転の場合において、駆動パルスDRP出力中に現れる波形と異なる極性の山(すなわち、「表の山」)のピークが現れる期間を含むように予め設定された区間である。なお、Vth3は、Vth1′、Vth1、Vth2′及びVth2と極性が異なる。
パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1′未満であると、判定回路9により判定された場合(図7にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げるのは、ステップモータ30の回転が遅く非回転の可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理Aと呼ぶこととする(図6参照)。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値Vが値Vth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′未満であると、判定回路9により判定された場合(図8にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。これは、ステップモータ30の回転が遅く非回転の可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理Bと呼ぶこととする(図6参照)。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′以上Vth2未満であり、第3の区間T3において、逆起電力の電圧値VがVth3未満であると、判定回路9により判定された場合(図9にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。これは、ステップモータ30が非回転である可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理Cと呼ぶこととする(図6参照)。
一方、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′以上Vth2未満であり、第3の区間T3において、逆起電力の電圧値VがVth3以上であると、判定回路9により判定された場合(図10にその場合の電圧波形の一例を示す)、補正パルスを出力せずに、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げるのは、ステップモータ30が回転はしているものの、回転が遅い可能性が高いためである。これはすなわち、駆動力がステップモータ30を回転させるために必要な負荷に対してわずかに上回っている状態であると考えられるためであり、負荷が変動した場合、あるいは温度が変動してコイル抵抗が変動した場合に、非回転となってしまう可能性があるからである。ここで行われる処理を実行処理Dと呼ぶこととする(図6参照)。
なお、加速パルス出力回路6は、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′以上Vth2未満であると、判定回路9により判定された場合、第2の区間T2後であって第3の区間T2の前に、ロータ31の回転を強めるための加速パルスAPを出力するとよい。このような判定がされた場合は、第2の区間T2が終了した時点で、ステップモータ30の回転が若干遅い可能性が高い。これは、例えば大きな慣性量の針を付けている場合に起こることがある。回転が若干遅い場合、回転、非回転を判断する「表の山」の振幅が小さくなり、たとえロータ31が正常に回転した場合であっても、第3の区間T3において、逆起電力の電圧値VがVth3を超えられない可能性がある。そのため、加速パルスAPを出力することで表の山の振幅を大きくして、ロータ31が回転している場合に、第3の区間T3において、確実にVth3を超えられるようにするとよい。一方、ロータが回転できずにロータ31が元の位置に戻る動きをしている場合には、加速パルスはロータを回転方向に加速させるように出力されているので、ロータ31が元の位置に戻るときには動きを抑制するように力がかかる。その結果、第3の区間T3における「表の山」の振幅は小さくなるので、ロータ31が非回転であるのに、第3の区間T3において逆起電力の電圧値Vが第3の閾値Vth3を超えてしまうといった誤判定を防ぐことができる。
つまり、加速パルスを出力することで、加速パルス出力以降に判定される第3の区間T3での回転・非回転の判断の精度を上げることが可能である。また、本実施形態のように、回転が若干遅い場合にのみ加速パルスを出力することで、不要に加速パルスが出力されることを防ぎ、消費電力を抑制することができる。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2以上であり、第3の区間において、逆起電力の電圧値VがVth3未満であると、判定回路9により判定された場合(図11にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。これは、ステップモータ30が非回転である可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理Eと呼ぶこととする(図6参照)。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2以上であり、第3の区間において、逆起電力の電圧値VがVth3以上であると、判定回路9により判定された場合(図5がその場合の電圧波形の一例に該当する)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を維持する。これは、現状の駆動パルスDRPの駆動力が最適である可能性が高いためである。ここで行われる処理を実行処理Fと呼ぶこととする(図6参照)。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1以上であり、第3の区間T3において、逆起電力の電圧値VがVth3未満であると、判定回路9により判定された場合(図12にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。これは、ステップモータ30が非回転である可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理Gと呼ぶこととする。
また、パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1以上であり、第3の区間T3において、逆起電力の電圧値VがVth3以上であると、判定回路9により判定された場合(図13にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を下げる。これは、ステップモータ30が回転しているものの、回転が早すぎる可能性が高いためである。すなわち、駆動パルスDRPの駆動力を下げることにより、ステップモータ30を適切な回転速度に変更することで、駆動パルスDRPの駆動に必要な消費電力を抑制することができる。ここで行われる処理を実行処理Hと呼ぶこととする。
以上説明した本実施形態における回転状態の判定処理をまとめると以下のようになる。
第3の区間T3において、逆起電力の電圧値VがVth3未満である場合、第1の区間T1、第2の区間T2の逆起電力の電圧値Vに関わらず、ステップモータ30は回転していない可能性が高い。そのため、この場合、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げると共に、補正パルス出力回路7により補正パルスFPを出力する(実行処理C、E、G)。これにより、ステップモータ30を確実に回転させることができる。
第1の区間T1において、逆起電力の電圧値VがVth1′未満の場合、ステップモータ30の回転が遅く非回転の可能性が高いため、第2の区間T2、第3の区間T3における電圧値を検出するまでもなく、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げると共に、補正パルス出力回路7により補正パルスFPを出力する(実行処理A)。これにより、ステップモータ30を確実に回転させることができる。また、第2の区間T2及び第3の区間T3において検出パルスDTPを出力することなく、回転状態の判定処理を終了することができるため、消費電力を抑制することができる。
第1の区間T1において、逆起電力の電圧値VがVth1より大きい場合、ステップモータ30の回転が早すぎる可能性が高い。この場合は、第2の区間T2における逆起電力の電圧値Vの検出を省略するとよい。さらに、この場合であって、第3の区間T3において、逆起電力の電圧値VがVth3以上である場合、ステップモータ30は回転しており、かつ、その回転が早すぎる可能性が高い。したがって、この場合、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を下げる(実行処理H)。これにより、駆動パルスDRPの駆動力が必要以上に大きい状態を回避し、消費電力を抑制することができる。また、第2の区間T2において検出パルスDTPを出力することなく、回転状態の判定処理を実行することができるため、消費電力を抑制することができる。
第2の区間T2において、逆起電力の電圧値VがVth2′未満である場合、ステップモータ30の回転が遅く、ステップモータ30が回転していない可能性が高い。したがって、この場合、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げると共に、補正パルス出力回路7により補正パルスFPを出力する(実行処理B)。これにより、ステップモータ30を確実に回転させることができる。また、第3の区間T3において検出パルスDTPを出力することなく、回転状態の判定処理を終了することができるため、消費電力を抑制することができる。
第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′以上Vth2未満である場合、ステップモータ30の回転が若干遅い可能性が高い。そのため、第2の区間T2後であって第3の区間T3前に、加速パルス出力回路6により、加速パルスAPを出力するとよい。加速パルスAPを出力したにも関わらず、第3の区間T3において、逆起電力の電圧値VがVth3未満である場合、ステップモータ30は回転していない可能性が高い。この場合、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げると共に、補正パルス出力回路7により補正パルスFPを出力する(実行処理C)。これにより、ステップモータ30を確実に回転させることができる。
一方、加速パルスAPを出力した後の第3の区間T3において、逆起電力の電圧値VがVth3以上である場合、ステップモータ30は回転している可能性が高い。そのため、補正パルスFPは出力しないが、第1の区間T1及び第2の区間T2における判定結果からステップモータ30の回転が遅いと判断できるため、次回出力される駆動パルスDRPの駆動力を上げる。(実行処理D)。これにより、駆動力が大きく消費電力の大きい補正パルスFPを不要に出力することを抑制できる。
以上説明した回転状態の判定処理を繰り返し実行することにより、駆動パルスDRPの駆動力を適切な大きさにすることができる。すなわち、ステップモータ30の回転又は非回転を判定するのみでなく、ステップモータ30の回転状態をより精度良く判定することで、適切な駆動力の駆動パルスDRPを出力することができる。その結果、ステップモータ30を確実に回転させると共に、余計に電力を消耗することを抑制することができる。
特に、本実施形態においては、電圧波形の裏の山の検出を、第1の区間Tと第2の区間T2に分けると共に、それら第1の区間T1及び第2の区間T2のそれぞれにおける電圧値を2つの閾値(Vth1′、Vth1、Vth2′及びVth2)と比較する構成を採用するため、より精度良くステップモータ30の回転状態を判定することができる。さらに、第1の区間T1及び第2の区間T2は、電圧波形のうち比較的ピークが大きい裏の山が現れる期間を含むように予め設定された区間であることより、より精度良くステップモータ30の回転状態を判定することができる。
なお、実行処理A,B,C,E,Gにおいては、いずれも補正パルスFPが出力されるが、出力される補正パルスFPの駆動力は実行処理毎にそれぞれ異なっていてもよい。なお、補正パルスFPの駆動力は、駆動パルスDRPと同様に、例えば、デューティ比を変えることにより変更可能である。
また、本実施形態においては、第2の区間T2を、第1の区間T1直後の区間としたが、これに限らず、第2の区間T2は、第1の区間T1から所定期間後の区間であってもよい。
さらに、図14~図18を参照して、本実施形態におけるステップモータの回転状態の判定処理のフローについて説明する。図14は、本実施形態におけるステップモータの回転状態の判定処理を示すフローチャートである。図15は、実行処理A,B,C,E,Gを示すフローチャートである。図16は、実行処理Dを示すフローチャートである。図17は、実行処理Hを示すフローチャートである。図18は、実行処理Fを示すフローチャートである。
まず、駆動パルス出力回路5により駆動パルスDRPを出力する(ステップS1)。また、判定回路9に含まれるカウンタが時間のカウントを開始する(ステップS2)。そして、判定回路9により、第1の区間T1を経過したか否かが判定される(ステップS3)。
第1の区間T1を経過した後(ステップS3のYES)、判定回路9により、第1の区間T1における電圧値VがVth1′以上であるか否かが判定される(ステップS4)。第1の区間T1における電圧値VがVth1′未満であると判定された場合(ステップS4のNO)、実行処理Aが実行される。
図15に示すように、実行処理Aにおいては、補正パルス出力回路7により補正パルスFPが出力される(ステップS21)。また、パルス設定回路8により、次回出力される駆動パルスDRPのランクアップが設定される(ステップS22)。なお、以下で説明する実行処理B,C,E,Gも図15で示す処理と同様の処理であるため、説明は省略する。
ステップS4において、第1の区間T1における電圧値VがVth1′以上であると判定された場合(ステップS4のYES)、判定回路9により、第1の区間T1における電圧値VがVth1以上であるか否かが判定される(ステップS5)。
第1の区間T1における電圧値VがVth1以上であると判定された場合(ステップS5のYES)、判定回路9により、第3の区間T3を経過したか否かが判定される(ステップS6)。
第3の区間T3を経過した後(ステップS6のYES)、判定回路9により、第3の区間T3における電圧値VがVth3以上であるか否かが判定される(ステップS7)。
第3の区間T3における電圧値VがVth3未満であると判定された場合(ステップS7のNO)、実行処理Gが実行される。
第3の区間T3における電圧値VがVth3以上であると判定された場合(ステップS7のYES)、実行処理Hが実行される。図16に示すように、実行処理Hにおいては、パルス設定回路8により、次回出力される駆動パルスDRPのランクダウンが設定される(ステップS31)。
ステップS5において、第1の区間T1における電圧値Vが第2の閾値Vth2未満であると判定された場合(ステップS5のNO)、判定回路9により、第2の区間T2を経過したか否かが判定される(ステップS8)。
第2の区間T2を経過した後(ステップS8のYES)、判定回路9により、第2の区間T2における電圧値VがVth2′以上であるか否かが判定される(ステップS9)。
第2の区間T2における電圧値VVth2′未満であると判定された場合(ステップS9のNO)、実行処理Bが実行される。
第2の区間T2における電圧値VがVth2′以上であると判定された場合(ステップS9のYES)、第2の区間T2における電圧値VがVth2以上であるか否かが判定される(ステップS10)。
第2の区間T2における電圧値VがVth2以上であると判定された場合(ステップS10のYES)、判定回路9により、第3の区間T3を経過したか否かが判定される(ステップS11)。
第3の区間T3を経過した後(ステップS11のYES)、判定回路9により、第3の区間T3における電圧値VがVth3以上であるか否かが判定される(ステップS12)。
第3の区間T3における電圧値VがVth3未満であると判定された場合(ステップS12のNO)、実行処理Eが実行される。
第3の区間T3における電圧値VがVth3以上であると判定された場合(ステップS12のYES)、実行処理Fが実行される。図17に示すように、実行処理Fにおいては、パルス設定回路8により、次回出力される駆動パルスDRPのランク維持が設定される(ステップS41)。
ステップS10において、第2の区間T2における電圧値VがVth2未満であると判定された場合(ステップS10のNO)、加速パルス出力回路6により加速パルスAPが出力される(ステップS13)。なお、ステップS13は省略することも可能である。
さらに、判定回路9により、第3の区間T3を経過したか否かが判定される(ステップS14)。
第3の区間T3を経過した後(ステップS14のYES)、判定回路9により、第3の区間T3における電圧値VがVth3以上であるか否かが判定される(ステップS15)。
第3の区間T3における電圧値VがVth3未満であると判定された場合(ステップS15のNO)、実行処理Cが実行される。
第3の区間T3における電圧値VがVth3以上であると判定された場合(ステップS15のYES)、実行処理Dが実行される。図18に示すように、実行処理Dにおいては、パルス設定回路8により、次回出力される駆動パルスDRPのランクアップが設定される(ステップS51)。
なお、本実施形態においては、第1の区間T1における逆起電力の電圧値VがVth1′及びVth1以上か否かを判定し、第2区間T2における逆起電力の電圧値VがVth2′及びVth2以上か否かを判定したが、第1の区間T1における逆起電力の電圧値VがVth1′以上か否かを判定せず、Vth1以上か否かのみを判定する構成であってもよく、また、第2の区間T2における逆起電力の電圧値VがVth2′以上か否かを判定せず、Vth2以上か否かのみを判定する構成であってもよい。ただし、第1の区間T1における逆起電力の電圧値VがVth1′以上か否かを判定することで、図7のように第1の区間T1における逆起電力の電圧値VがVth1′未満の場合に、第2の区間T2、第3の区間T3における電圧値を検出するまでもなく、非回転の可能性が高いと判断できるため、第2の区間T2及び第3の区間T3における検出パルスDTPの出力を省略することができ、消費電力を抑制することができる。また、第2の区間T2における電圧値VがVth2′以上か否かを判定することで、図9及び10のように、第1の区間T1において、逆起電力の電圧値VがVth1′以上Vth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2′以上Vth2未満の場合である、ステップモータ30の回転が若干遅い場合を、第2の区間T2を経過した際に判別することが可能となるため、加速パルスを適切な場合にのみ出力することができる。
次に、図19~図26を参照して、本実施形態の変形例について説明する。上記本実施形態においては、第1の区間T1における逆起電力の電圧値VがVth1′及びVth1以上か否かを判定し、第2区間T2における逆起電力の電圧値VがVth2′及びVth2以上か否かを判定したが、変形例においては、第1の区間T1において電圧値Vが第1の閾値Vth1以上であるか否かのみを判定し、第2の区間T2において電圧値Vが第2の閾値Vth2以上であるか否かのみを判定することとした。なお、変形例においては、本実施形態と異なり、Vth1とVth2は共通でない閾値を用いた。Vth1とVth2は共通であってもよい。また、変形例に係る電子時計の基本的な構成は、図1~図3等で示したものと同様であるため、その説明については省略する。
図19は、本実施形態の変形例における、ステップモータの回転状態の判定結果、及び判定結果に基づく処理について示す図である。図20は、本実施形態の変形例において、実行処理DDが実行される場合の電圧波形の一例を示している。図21、図22は、本実施形態の変形例において、実行処理AAが実行される場合の電圧波形の一例を示している。図23は、本実施形態の変形例において、実行処理BBが実行される場合の電圧波形の一例を示している。図24は、本実施形態の変形例において、実行処理CCが実行される場合の電圧波形の一例を示している。図25は、本実施形態の変形例において、実行処理EEが実行される場合の電圧波形の一例を示している。図26は、本実施形態の変形例において、実行処理FFが実行される場合の電圧波形の一例を示している。
本実施形態の変形例においては、判定回路9は、第1の区間T1における、逆起電力の電圧値VがVth1以上であるか否かを判定する。また、判定回路9は、第2の区間T2における、逆起電力の電圧値VがVth2以上であるか否かを判定する。また、判定回路9は、第3の区間T3における、逆起電力の電圧値VがVth3以上であるか否かを判定する。
パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2以上であり、逆起電力の電圧値VがVth3以上であると、判定回路9により判定された場合(図20にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPを維持する。これは、現状の駆動パルスDRPの駆動力が最適である可能性が高いためである。ここで行われる処理を実行処理DDと呼ぶこととする(図19参照)。
判定回路9は、第1の区間T1において、逆起電力の電圧値VがVth1未満であって、第2の区間T2において、逆起電力の電圧値VがVth2未満であると判定した場合(図21及び図22にその場合の電圧波形の一例を示す)、第3の区間T3において、逆起電力の電圧値VがVth3以上であるか否かの判定を省略するとよい。そして、パルス設定回路8は、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げるとよい。駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げるのは、ステップモータ30の回転が遅く非回転の可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理AAと呼ぶこととする(図19参照)。
または、判定回路9は、第1の区間T1において、逆起電力の電圧値VがVth1未満であって、第2の区間T2において、逆起電力の電圧値VがVth2未満であると判定した場合、第3の区間T3において、逆起電力の電圧値VがVth3以上であるか否かの判定を行ってもよい。そして、第3の区間T3において、逆起電力の電圧値VがVth3以上の場合(図23にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。ここで行われる処理を実行処理BBと呼ぶこととする(図19参照)。
なお、第1の区間T1において、逆起電力の電圧値VがVth1未満であって、第2の区間T2において、逆起電力の電圧値VがVth2未満である場合においては、実行処理AAと実行処理BBのいずれか一方が行われるように予め設定しておくとよい。
パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1未満であり、第2の区間T2において、逆起電力の電圧値VがVth2以上であり、第3の区間T3において、逆起電力の電圧値VがVth3未満の場合(図24にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げるのは、第3の区間T3において、逆起電力の電圧値VがVth3未満であるので、ステップモータ30が非回転の可能性が高いためである。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。ここで行われる処理を実行処理CCと呼ぶこととする(図19参照)。
パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1以上であり、第3の区間T3において、逆起電力の電圧値Vが未満の場合(図25にその場合の電圧波形の一例を示す)、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を上げる。また、この場合、ステップモータ30を確実に回転させるために、補正パルス出力回路7が補正パルスを出力するとよい。なお、第1の区間T1において、逆起電力の電圧値VがVth1以上である場合、回転が早い可能性が高いことより、第2の区間T2における判定は行わないこととした。ただし、第3の区間T3における逆起電力の電圧値VがVth3未満であるので、回転していない可能性が高いため、次回出力される駆動パルスDRPの駆動力を上げると共に、補正パルスを出力することとした。ここで行われる処理を実行処理EEと呼ぶこととする(図19参照)。
パルス設定回路8は、第1の区間T1において、逆起電力の電圧値VがVth1以上であり、第3の区間T3において、逆起電力の電圧値VがVth3以上の場合(図26にその場合の電圧波形の一例を示す)、回転しているものの、回転が速すぎる可能性が高いため、駆動パルス出力回路5により次回出力される駆動パルスDRPの駆動力を下げる。なお、第1の区間T1において、逆起電力の電圧値VがVth1以上である場合、回転が早い可能性が高いことより、第2の区間T2における判定は行わないこととした。ここで行われる処理を実行処理FFと呼ぶこととする(図19参照)。
以上、本発明に係る実施形態及びその変形例について説明したが、これら実施形態及び変形例に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。