以下図面により本発明の実施の形態を詳述する。
[各実施形態の特徴]
第1の実施形態の特徴は、二つのコイルからの検出信号の検出総数の差でロータの回転の成否を判定する2コイルステップモータ用駆動回路である。第2の実施形態の特徴は、二つのコイルからの検出信号のどちらが早く検出されるかによってロータの回転の成否を判定する2コイルステップモータ用駆動回路である。第3の実施形態の特徴は、二つのコイルから発生する逆起電流の波形形状が、ロータの回転の成否で大きく異なるように2コイルステップモータのスリット角範囲を最適に選定したステップモータである。さらに、第4の実施形態の特徴は、一つのコイルからの検出信号に基づいて、ロータの回転の成否を判定するとともに、該判定結果を利用して駆動力の調節をする2コイルステップモータ用駆動回路である。そして、第5の実施形態の特徴は、二つのコイルからの検出信号に基づいて、ロータの回転の成否を判定するとともに、該判定結果を利用して駆動力の調節をする2コイルステップモータ用駆動回路である。
[第1の実施形態]
[第1の実施形態の2コイルステップモータ用駆動回路の構成説明:図1]
第1の実施形態の2コイルステップモータ用駆動回路の概略構成について図1を用いて説明する。図1において、符号1は本発明のアナログ表示方式の電子時計である。電子時計1は、本発明の2コイルステップモータ用駆動回路10(点線で大きく囲んだ電子回路要素)と、本発明の2コイルステップモータ50(点線で小さく囲う)などで構成される。
なお、電子時計1は、指針等による表示部、輪列、電源、操作部材等を含むが、本発明には直接係わらないので図示は省略する。また、図1に示す電子時計1の構成は、後述する第2の実施形態においても同様である。
2コイルステップモータ用駆動回路10(以下、駆動回路10と略す)は、水晶振動子(図示せず)によって所定の基準信号P1を出力する発振回路11、基準信号P1を入力して各回路を制御するための制御信号CN1〜CN3を出力する制御回路12、駆動パルス発生回路13、補正パルス発生回路14、検出パルス発生回路15、パルス選択回路16、ドライバ回路20、回転検出回路30を有している。
2コイルステップモータ50(以下、ステップモータ50と略す)は、第1のコイルとしてコイルA、第2のコイルとしてコイルBの二つのコイルを有している。なお、ステップモータ50の詳細は後述する。
駆動パルス発生回路13は、制御信号CN1を入力して、ステップモータ50を駆動する駆動パルスSPを生成し、パルス選択回路16に出力する。
補正パルス発生回路14は、制御信号CN2を入力して、補正パルスFPを生成し、パルス選択回路16に出力する。
検出パルス発生回路15は、制御信号CN3を入力して、所定の周期の検出パルスCPを生成し、パルス選択回路16に出力する。この検出パルスCPが、ドライバ回路20からステップモータ50のコイルA、コイルBにそれぞれ出力されることで、二つのコイルA、コイルBから発生する逆起電流を同時に検出することができる。
パルス選択回路16は、駆動パルスSP、補正パルスFP、検出パルスCPを入力し、動作モードに応じてパルスを選択して、ドライバ制御パルスDPとしてドライバ回路20に出力する。
ドライバ回路20は、ドライバ制御パルスDPを入力し、各パルス信号に基づいた駆動波形O1、O2、O3、O4をステップモータ50のコイルA、コイルBに供給し、ステップモータ50を駆動する。なお、ドライバ回路20の詳細な構成は後述する。
回転検出回路30は、検出パルスCPによって発生する検出信号CSを入力し、ステップモータ50のロータが回転したか否かを判定して、その結果を判定信号CKとして制御回路12に出力する。制御回路12は、判定信号CKを入力し、ロータが非回転の場合、制御信号CN2を出力して補正パルス発生回路14から補正パルスFPを出力し、パルス選択回路16を制御して補正パルスFPをドライバ制御パルスDPとしてドライバ回路20に出力する。
[ステップモータの構成説明:図2]
次に、ステップモータ50の構成について図2を用いて説明する。図2において、ステップモータ50は、ロータ51、ステータ52、二つのコイルA、コイルBなどによって構成される。ロータ51は2極磁化された円盤状の回転体であり、径方向にN極、S極が着磁されている。
ここで、図2に示すロータ51は静止状態であり、図面の下方を0度と規定し、そこから反時計回りに90度(図示せず)、180度、270度(図示せず)と規定する。ロータ51は、N極が0度に位置するときと180度に位置するときが、静止位置(静的安定点)である。よって、図2で示すロータ51は、N極が0度の静止位置にある。また、ロータ51は、反時計回りを正転、時計回りを逆転と規定する。なお、ここで示すロータ51の規定は、後述するステップモータのすべてに適用される。
ステータ52は、一例として軟磁性材によって成り、ロータ51が挿入されるロータ穴52dが設けられ、このロータ穴52dにロータ51が配置されている。ステータ52は、ロータ51を介して対向して設けられる第1のステータ磁極部52a(以下、第1磁極部52aと略す)と第2のステータ磁極部52b(以下、第2磁極部52bと略す)が設けられている。また、第1磁極部52aと第2磁極部52bの間にあってロータ51に向き合って第3のステータ磁極部52c(以下、第3磁極部52cと略す)が設けられている。
また、ロータ穴52dの内周の二箇所には、ロータ51に向き合うように略凹形状のノッチ53a、53bが形成されている。すなわち、ノッチ53aは第1磁極部52aに形成され、ノッチ53bは第2磁極部52bに形成される。このノッチ53a、53bは、ステータ52とロータ51間の磁束の流れを変化させて、ロータ51を静止位置に留めるための保持トルクを与える機能を有している。
ここで、ノッチ53a、53bの幅が大きいほど、保持トルクは大きくなり、ノッチ53a、53bの幅が小さいほど、保持トルクは小さくなる。保持トルクが小さいと、ロータ51は回転しやすくなるので、低消電駆動や高速駆動等には有利であるが、反面、耐衝撃性には不利になるので、最適な保持トルクが得られるように、ノッチ53a、53bの幅が調整されることが好ましい。
また、第1磁極部52aと第3磁極部52cとを磁気的に分離する狭い接続部分をスリット54aと称し(点線の小円で示す)、また、第2磁極部52bと第3磁極部52cとを磁気的に分離する狭い接続部分をスリット54bと称する(点線の小円で示す)。ここで、ロータ51の中心とスリット54a、54bを結ぶ線と、ロータ51の中心を通る第3磁極部52cの中心線が成す角度をスリット角と称し、このスリット角の違いによって、ステータ52とロータ51間の磁束の流れが変化し、ロータ51が駆動パルスSPによって回転したか否かに応じて、コイルA、コイルBに発生する逆起電流の波形に差が生じる。ここで、スリットとは、部分的に磁気抵抗を高くして、磁極同士の間を磁気的に分離する構造を指しており、ここで示したような狭い接続部分(狭窄部)によりスリットを構成してもよいし、あるいは、ステータ52に細幅の切れ目を入れ、物理的に切り離すことでスリットを構成してもよい(字義通りのスリット)。さらには、作成した細幅の切れ目を、非磁性体等、磁気抵抗の高い物質で埋めてスリットを構成してもよい。
本発明は、ロータ51が回転したか否かをコイルA、コイルBの逆起電流の波形の差によって判定することを特徴としており、従って、逆起電流の波形の差が大きくなるスリット角を選択したステップモータを用いることが好ましい。このスリット角の選択範囲については、後述する第3の実施形態で詳述するが、図2で示すステップモータ50は、逆起電流の波形の差が大きくなるスリット角75度を例として図示している。
すなわち、スリット54aは、静止位置0度(第3磁極部52cの中心)から図面上左側に75度の位置に配置し、スリット54bは、静止位置0度から図面上右側に75度の位置に配置している。以下で述べる第1及び第2の実施形態におけるステップモータの動作は、すべてスリット角75度のステップモータ50を例として示している。
また、第1磁極部52aと第3磁極部52cに磁気的に結合するコイルAと、第2磁極部52bと第3磁極部52cに磁気的に結合するコイルBが設けられている。
コイルAは絶縁基板55a上にコイル端子O1、O2を有しており、コイルAの巻線の両端が接続されている。また、コイルBは絶縁基板55b上にコイル端子O3、O4を有しており、コイルBの巻線の両端が接続されている。この各コイル端子O1〜O4に、前述したドライバ回路20から出力される駆動波形O1〜O4が供給される。なお、説明をわかりやすくするために、各コイル端子と各駆動波形の符号を共通にしている。
[ステップモータの磁束の変化と逆起電圧の変化の説明:図3]
次に、回転検出に用いる逆起電流を生じさせるコイルA、コイルBに発生する逆起電圧Eについて図3を用いて説明する。図3はステップモータ50のロータ51を回転させたときのステータ52に発生する磁束Φの変化と、この磁束Φによって発生する逆起電圧Eの変化を示している。なお、ステップモータ50は、前述したようにスリット角75度である。
図3(a)は、ロータ51の回転角度に応じてコイルA、コイルBに加えられる磁束Φの変化を示すグラフであり、横軸は正転方向(反時計回り)に回転したロータ51の回転角度0度〜360度であり、縦軸は磁束Φであり、磁束Φのピークを+1.0〜−1.0として表している。
図3(a)において、ステップモータ50のロータ51が静止位置0度(図2参照)から正転方向に1回転すると、コイルAが巻回されている第1磁極部52aに磁束Φaが発生し、コイルBが巻回されている第2磁極部52bに磁束Φbが発生する。
ここで、磁束Φaは、図示するように、プラス側のピークがロータ51の回転角度50度付近にあり、マイナス側のピークが230度付近にある。また、磁束Φbは、プラス側のピークがロータ51の回転角度310度付近にあり、マイナス側のピークが130度付近にある。
次に図3(b)は、ロータ51の回転角度によってコイルA、コイルBに発生する逆起電圧Eの変化を示すグラフであり、横軸は正転方向に回転したロータ51の回転角度0度〜360度であり、縦軸は逆起電圧Eであり、逆起電圧Eのピークを+1.0〜−1.0として表している。なお、逆起電圧Eは、磁束Φの微分値(E=dΦ/dt)として表すことができる。
図3(b)において、ステップモータ50のロータ51が静止位置0度から正転方向に1回転することで発生する磁束Φa(図3(a))によって、コイルAには逆起電圧Eaが発生し、また、磁束Φb(図3(a))によって、コイルBには逆起電圧Ebが発生する。ここで、逆起電圧Ea、Ebは、前述したように、磁束Φa、Φbの微分値であり、逆起電圧Eaのプラス側のピークは、ロータ51の回転角度320度付近にあり、マイナス側のピークは140度付近にある。また、逆起電圧Ebのプラス側のピークは、ロータ51の回転角度220度付近にあり、マイナス側のピークは40度付近にある。
本発明は、前述したように、コイルA、コイルBから発生する逆起電流の波形の差によってロータ51の回転の成否を判定するので、図3(b)に示す逆起電圧EaとEbの差が重要である。ここで、逆起電圧の差とは、逆起電圧EaとEbにおいて、近接するプラス側ピーク(山)もしくはマイナス側ピーク(谷)のピーク値の差ΔE(ロータ51の回転角度の差)と規定し、このピーク値の差ΔEが大きいスリット角を有するステップモータがロータの回転の成否を正しく判定しやすい。
ここで、図3(b)の例、すなわち、ステップモータ50のスリット角75度においては、ピーク値の差ΔEは、逆起電圧Ebの山(約220度)−逆起電圧Eaの谷(約140度)=約80度であって大きな値である。このピーク値の差ΔEについては、後述する第3の実施形態で詳述するが、ピーク値の差ΔEが約80度あるスリット角75度のステップモータ50は、ロータ51の回転の成否を正しく判定しやすいと言える。なお、図3(b)で示すT1、T2は後述する。
[ドライバ回路の回路構成の説明:図4]
次に、ステップモータ50を駆動するためのドライバ回路20の回路構成の一例について図4を用いて説明する。図4において、ドライバ回路20は、ステップモータ50のコイルA、コイルBに駆動バルスSPを供給する4つのバッファ回路と、検出信号CSを発生させる4つのトランジスタと4つの抵抗によって構成される。
ここで、低ON抵抗のPチャンネルMOSトランジスタであるトランジスタP1と、低ON抵抗のNチャンネルMOSトランジスタであるトランジスタN1と、のコンプリメンタリ接続でなるバッファ回路は、駆動波形O1を出力してコイルAのコイル端子O1に接続される。
また同様に、それぞれ低ON抵抗のトランジスタP2とトランジスタN2とでなるバッファ回路は、駆動波形O2を出力してコイルAのコイル端子O2に接続される。
また同様に、それぞれ低ON抵抗のトランジスタP3とトランジスタN3とでなるバッファ回路は、駆動波形O3を出力してコイルBのコイル端子O3に接続される。
また同様に、それぞれ低ON抵抗のトランジスタP4とトランジスタN4とでなるバッファ回路は、駆動波形O4を出力してコイルBのコイル端子O4に接続される。
各トランジスタP1〜P4、N1〜N4のゲート端子Gは、図示しないが、パルス選択回路16からのドライバ制御パルスDPを入力し、各トランジスタは駆動パルスSP、補正パルスFP、検出パルスCPに基づいてON/OFF制御され、コイルA、コイルBに駆動波形O1〜O4を供給する。
また、4組のPチャンネルMOSトランジスタTP1〜TP4(以下、トランジスタTP1〜TP4と略す)と検出抵抗R1〜R4は、検出パルスCPによって検出信号CSを発生させる機能を有している。
ここで、トランジスタTP1のソース端子SはVDDに接続され、トランジスタTP1のドレイン端子Dは検出抵抗R1の一方の端子に接続され、検出抵抗R1の他方の端子は、コイルAのコイル端子O1に接続される。
また、トランジスタTP2のソース端子SはVDDに接続され、トランジスタTP2のドレイン端子Dは検出抵抗R2の一方の端子に接続され、検出抵抗R2の他方の端子は、コイルAのコイル端子O2に接続される。
また、トランジスタTP3のソース端子SはVDDに接続され、トランジスタTP3のドレイン端子Dは検出抵抗R3の一方の端子に接続され、検出抵抗R3の他方の端子は、コイルBのコイル端子O3に接続される。
また、トランジスタTP4のソース端子SはVDDに接続され、トランジスタTP4のドレイン端子Dは検出抵抗R4の一方の端子に接続され、検出抵抗R4の他方の端子は、コイルBのコイル端子O4に接続される。
ここで、トランジスタTP1〜TP4の各ゲート端子Gは、図示しないが、パルス選択回路16からの検出パルスCPを入力し、その検出パルスCPがアクティブになることで、検出抵抗R1〜R4がコイルA、Bの各コイル端子O1〜O4に接続され、コイルA、コイルBに発生する逆起電流が検出パルスCPによって検出抵抗R1〜R4に流れてパルス状の検出信号CSが発生する。
回転検出回路30は、検出抵抗R1〜R4の他方の端子、すなわち、コイルAのコイル端子O1、O2、コイルBのコイル端子O3、O4に接続し、検出抵抗R1〜R4に発生する検出信号CSを入力して内部に設定している閾値Vthを超えたか否かを検出する。
この回転検出回路30の入力回路には、たとえば、電源電圧の約1/2が閾値VthとなるC−MOSのインバータ回路を用いることができる。また、この閾値Vthを可変にして、検出信号CSに対する検出感度を調節できる回路を用いてもよい。なお、閾値Vthは、電源VDD(OV)に対してマイナスの電圧である。
また、回転検出回路30は、閾値Vthを超えた検出信号CSの有無とその数を計数する機能を有し、計数結果に基づいてロータの回転の成否を判定し、判定信号CKとして出力する。なお、検出信号CSが閾値Vthを超えたか否かのみを検出し、その情報を判定信号CKとして出力してもよい。この場合は、制御回路12が判定信号CKからロータの回転の成否を判定する。
制御回路12は、判定信号CKを入力してロータが非回転の場合、補正パルス発生回路14とパルス選択回路16を制御して補正パルスFPをドライバ制御パルスDPとしてドライバ回路20に出力する。なお、ドライバ回路20の動作の詳細は後述する。
[2コイルステップモータの駆動説明:図5、図6]
次に、二つのコイルを有する2コイルステップモータの駆動は公知であるが、本発明を理解する上で必要であるので、ステップモータ50を駆動する駆動パルスの一例とステップモータ50の回転動作の概要を図5と図6を用いて説明する。なお、ロータの回転を検出する検出パルスCPと、ロータが非回転と判定された場合に出力される補正パルスFPについても合わせて説明する。
まず、ロータ51を静止位置0度(N極)から正転(反時計回り)させる場合の駆動パルスSPとロータ51の回転動作について図5を用いて説明する。図5(a)は、ステップモータ50のロータ51を静止位置0度(N極)から2ステップ正転(反時計回り)させるための駆動パルスSPと、検出パルスCP及び補正パルスFPの駆動波形である。また、図5(b)は第1ステップでの駆動パルスSPによるステータ52の磁化と、ロータ51のN極が静止位置0度からの回転方向を示し、図5(c)は第2ステップでの駆動パルスSPによるステータ52の磁化と、ロータ51のN極が静止位置180度からの回転方向を示している。なお、図5(b)、図5(c)及び後述する図6(b)、図6(c)に示すステップモータ50は、ロータ51付近のみを図示している。
図5(a)において、第1ステップでロータ51を静止位置0度(N極)から正転させる場合は、駆動パルスSPは、コイル端子O4から出力される。駆動パルスSPのパルス幅は任意であるが、低消電駆動のために、短いパルス幅であることが好ましい。また、駆動パルスSPは、図示しないが連続する複数のパルス群によって構成してもよい。
駆動パルスSPがコイル端子O4から出力されると、コイルBが駆動されて、図5(b)に示すように、第2磁極部52bがS極、第3磁極部52cがN極に磁化され、また、コイルAは駆動されないので、第1磁極部52aは第3磁極部52cと同じN極となる。これにより、ロータ51のN極と第2磁極部52bのS極が引き合い、また、ロータ51のS極と第1磁極部52aのN極が引き合い、ロータ51は反時計回りに回転し、ロータ51のN極は静止位置180度(S極は0度)まで回転して保持される(図5(c)参照)。
次に、ロータ51を静止位置180度(N極)から正転(反時計回り)させるときの第2ステップの駆動パルスSPとロータ51の回転動作を説明する。図5(a)の図面上の右側において、ロータ51を静止位置180度(N極)から正転させる場合は、駆動パルスSPは、コイル端子O3から出力される。
駆動パルスSPがコイル端子O3から出力されると、コイルBが逆方向に駆動されるので、図5(c)に示すように、第2磁極部52bがN極、第3磁極部52cがS極に磁化され、また、コイルAは駆動されないので、第1磁極部52aは第3磁極部52cと同じS極となる。これにより、ロータ51のS極と第2磁極部52bのN極が引き合い、また、ロータ51のN極と第1磁極部52aのS極が引き合い、ロータ51は反時計回りに回転し、ロータ51のN極は静止位置0度(S極は180度)まで回転して保持される(図5(b)参照)。
また、図5(a)において、第1ステップで駆動パルスSPがコイル端子O4から出力されたあとは回転検出期間であって、検出パルスCPが所定の周期でコイル端子O2、O3からコイルA、Bの両方に出力される。ここで、駆動コイルであるコイルBのコイル端子O3に出力される検出パルスを第1検出パルスCP1と称し、他方のコイルAのコイル端子O2に出力される検出パルスを第2検出パルスCP2と称する。
なお、後述する図6も含めて、第1検出パルスCP1と第2検出パルスCP2は、出力されるタイミング位置を示しており、実際の駆動波形には、検出パルスCPによって発生する検出信号CSが現れる。また、回転検出期間の後、ロータ51が非回転と判定された場合は、駆動力の大きい補正パルスFPが、補正パルス印加期間にコイル端子O4から出力される。
また同様に、第2ステップで駆動パルスSPがコイル端子O3から出力されたあとは回転検出期間であって、検出パルスCPが所定の周期でコイル端子O1、O4からコイルA、Bの両方に出力される。ここで、駆動コイルであるコイルBのコイル端子O4に出力される検出パルスを第1検出パルスCP1と称し、他方のコイルAのコイル端子O1に出力される検出パルスを第2検出パルスCP2と称する。また、回転検出期間の後、ロータ51が非回転と判定された場合は、駆動力の大きい補正パルスFPが、補正パルス印加期間にコイル端子O3から出力される。
なお、上記パルス出力は一例であり、駆動パルスSP、検出パルスCP、補正パルスFPの各パルスの出力は、コイルA、コイルBの巻回方向によって左右される。たとえば、仮にコイルAの巻回方向を反転した場合、コイル端子O1とO2で各パルスの出力を反転する必要がある。コイルBも同様であり、コイルBの巻回方向を反転するとコイル端子O3とO4で各パルスの出力を反転する必要がある。
次に、ロータ51を静止位置0度(N極)から逆転(時計回り)させる場合の駆動パルスSPとロータ51の回転動作について図6を用いて説明する。図6(a)は、ステップモータ50のロータ51を静止位置0度(N極)から2ステップ逆転(時計回り)させるための駆動パルスSPと、検出パルスCP及び補正パルスFPの駆動波形である。図6(b)は、第1ステップでの駆動パルスSPによるステータ52の磁化と、ロータ51のN極が静止位置0度からの回転方向を示し、図6(c)は、第2ステップでの駆動パルスSPによるステータ52の磁化と、ロータ51のN極が静止位置180度からの回転方向を示している。
図6(a)において、第1ステップでロータ51を静止位置0度(N極)から逆転させる場合は、駆動パルスSPは、コイル端子O1から出力される。駆動パルスSPのパルス幅は任意であるが、低消電駆動のために、短いパルス幅であることが好ましい。
駆動パルスSPがコイル端子O1から出力されると、コイルAが駆動されて、図6(b)に示すように、第1磁極部52aがS極、第3磁極部52cがN極に磁化され、また、コイルBは駆動されないので、第2磁極部52bは第3磁極部52cと同じN極となる。これにより、ロータ51のN極と第1磁極部52aのS極が引き合い、また、ロータ51のS極と第2磁極部52bのN極が引き合い、ロータ51は時計回りに回転し、ロータ51のN極は静止位置180度まで回転して保持される(図6(c)参照)。
次に、ロータ51を静止位置180度(N極)から逆転(時計回り)させるときの第2ステップの駆動パルスSPとロータ51の回転動作を説明する。図6(a)の図面上の右側において、ロータ51を静止位置180度(N極)から逆転させる場合は、駆動パルスSPは、コイル端子O2から出力される。
駆動パルスSPがコイル端子O2から出力されると、コイルAが逆方向に駆動されるので、図6(c)に示すように、第1磁極部52aがN極、第3磁極部52cがS極に磁化され、また、コイルBは駆動されないので、第2磁極部52bは第3磁極部52cと同じS極となる。これにより、ロータ51のS極と第1磁極部52aのN極が引き合い、また、ロータ51のN極と第2磁極部52bのS極が引き合い、ロータ51は時計回りに回転し、ロータ51のN極は静止位置0度(S極は180度)まで回転して保持される(図6(b)参照)。
また、図6(a)において、第1ステップで駆動パルスSPがコイル端子O1から出力されたあとは、回転検出期間であって、検出パルスCPが所定の周期でコイル端子O2、O3からコイルA、Bの両方に出力される。ここで、駆動コイルであるコイルAのコイル端子O2に出力される検出パルスを第1検出パルスCP1と称し、他方のコイルBのコイル端子O3に出力される検出パルスを第2検出パルスCP2と称する。また、回転検出期間の後、ロータ51が非回転と判定された場合は、駆動力の大きい補正パルスFPが、コイル端子O1から出力される。
また同様に、第2ステップで駆動パルスSPがコイル端子O2から出力されたあとは回転検出期間であって、検出パルスCPが所定の周期でコイル端子O1、O4からコイルA、Bの両方に出力される。ここで、駆動コイルであるコイルAのコイル端子O1に出力される検出パルスを第1検出パルスCP1と称し、他方のコイルBのコイル端子O4に出力される検出パルスを第2検出パルスCP2と称する。また、回転検出期間の後、ロータ51が非回転と判定された場合は、駆動力の大きい補正パルスFPが、コイル端子O2から出力される。なお、ロータ51の回転検出の動作の詳細は後述する。
このように、2コイルステップモータは、同一仕様の駆動パルスSPをコイル端子O1〜O4のいずれかに出力することで、正転駆動と逆転駆動を実施できるので、正転と逆転の駆動スピードが等しくなり、且つ、高速で正逆両回転駆動を実現できる大きなメリットがある。また、駆動パルスSPの出力後に、検出パルスCPをコイルA、Bの両方に出力することによって、ロータ51の回転の成否を高精度に判定できる。
[ドライバ回路によるステップモータの駆動と回転検出の動作説明:図7]
次に、図5、図6で示したステップモータの駆動とロータの回転検出をドライバ回路20がどのように実施するかについて図7(a)の動作表を用いて説明する。また、ドライバ回路20が、ロータの回転検出のために、逆起電流をどのようにして検出するかの動作原理を図7(b)のタイミングチャートを用いて説明する。なお、ドライバ回路20の回路構成は図4を参照し、駆動波形は図5、図6を参照する。
図7(a)は、ステップモータ50を正転駆動または逆転駆動するための駆動パルスSPと回転検出のための検出パルスCPの出力に対応するドライバ回路20の各トランジスタの動作(ON/OFF)を示している。
図7(a)において、ステップモータ50の駆動には、前述したように、正転駆動と逆転駆動がある。また、ロータ51の静止位置には、N極が0度の場合と、180度の場合がある。そして、出力パルスとしては、ロータ51を回転する駆動パルスSP、補正パルスFP、及びロータ51の回転を検出する検出パルスCPがある。なお、補正パルスFPの動作は、駆動パルスSPと同一であるので説明は省略する。
ここで、正転駆動をロータ51のN極の静止位置0度から実施する場合は、図5で前述したように、駆動パルスSPをコイル端子O4から出力するので、ドライバ回路20のトランジスタP3とトランジスタN4をON、トランジスタN3とトランジスタP4をOFFにする。また、コイルAのO1、O2は、トランジスタP1、P2をON、トランジスタN1、N2をOFFして両端子をVDDに接続する。また、駆動パルスSPの出力中は、検出パルスCPは出力しないので、トランジスタTP1〜TP4はOFFとする。
また、駆動パルスSPの出力後は、回転検出期間となり、検出パルスCPがコイル端子O2、O3から出力される(図5参照)。この場合、ドライバ回路20は、他方の端子であるコイルAのO1とコイルBのO4をVDDに接続するために、トランジスタP1、P4をON、他のトランジスタN1、P2、N2、P3、N3、N4は共にOFFとする。
一方、トランジスタTP2、TP3は、検出パルスCPのアクティブによってONとなり、また、トランジスタTP1、TP4は、ONまたはOFFのどちらでもよい。これにより、コイルAのO2は、VDDを介して検出抵抗R2に接続し、その結果、コイルAに逆起電流が発生すると、検出抵抗R2に逆起電流に応じた電圧が発生する。
また、コイルBのO3は、VDDを介して検出抵抗R3に接続し、その結果、コイルBに逆起電流が発生すると、検出抵抗R3に逆起電流に応じた電圧が発生する。この検出抵抗R2、R3に発生する電圧が検出信号CSとして、前述したように、回転検出回路30に入力して、回転の成否が判定される。
次に図7(a)において、ロータ51が1ステップ正転してN極の静止位置180度から更に正転させる場合は、図5で前述したように、駆動パルスSPをコイル端子O3から出力するので、ドライバ回路20のトランジスタP4とトランジスタN3をON、トランジスタN4とトランジスタP3をOFFにする。また、コイルAのO1、O2は、トランジスタP1、P2をON、トランジスタN1、N2をOFFして両端子をVDDに接続する。また、駆動パルスSPの出力中は、検出パルスCPは出力しないので、トランジスタTP1〜TP4はOFFとする。
また、駆動パルスSPの出力後は、回転検出期間となり、検出パルスCPがコイル端子O1、O4から出力される(図5参照)。この場合、ドライバ回路20は、他方の端子であるコイルAのO2とコイルBのO3をVDDに接続するために、トランジスタP2、P3をON、他のトランジスタP1、N1、N2、N3、P4、N4は共にOFFとする。
一方、トランジスタTP1、TP4は、検出パルスCPのアクティブによってONとなり、また、トランジスタTP2、TP3は、ONまたはOFFのどちらでもよい。これにより、コイルAのO1は、VDDを介して検出抵抗R1に接続し、その結果、コイルAに逆起電流が発生すると、検出抵抗R1に逆起電流に応じた電圧が発生する。
また、コイルBのO4は、VDDを介して検出抵抗R4に接続し、その結果、コイルBに逆起電流が発生すると、検出抵抗R4に逆起電流に応じた電圧が発生する。この検出抵抗R1、R4に発生する電圧が検出信号CSとして、前述したように、回転検出回路30に入力して、回転の成否が判定される。
また、逆転駆動をロータ51のN極の静止位置0度または180度から実施する場合は、図6で前述したように、駆動パルスSPをコイル端子O1またはO2から出力するが、ドライバ回路20の各トランジスタの動作は、図7(a)の動作表に示す通りである。また、検出パルスCPによって動作するトランジスタTP1〜TP4の動作は、正転も逆転も同一であり、図7(a)の動作表に示す通りである。
次に、ドライバ回路20による逆起電流の検出動作原理を図7(b)のタイミングチャートを用いて説明する。ここで説明の条件として、ロータを正転駆動するために、駆動パルスSPがコイル端子O4から出力されたとする(図5(a)参照)。
図7(b)において、検出パルスCPは、回転検出期間中に所定の周期で短いパルス幅の信号としてコイル端子O2、O3に出力される。この回転検出期間中に、ロータの回転に応じてコイルBから逆起電流Ibが図示するようにプラス方向に略凸状に発生したとする。すると、前述したように、コイルBのコイル端子O3は、検出パルスCPによってVDDを介して検出抵抗R3に接続され、その結果、コイル端子O3に検出パルスCPがアクティブになる毎に、逆起電流Ibの大きさに応じた電圧がパルス状に発生する。
このパルス状の信号が、検出パルスCPによって発生する検出信号CSである。すなわち、検出信号CSは、検出パルスCPによるサンプリング動作により、逆起電流Ibが検出抵抗R3に瞬時に流れることで発生するパルス状の信号であり、検出信号CSの波高値(VDDを基準としたマイナス方向の高さ)は、図示するように検出パルスCPがアクティブになった瞬間の逆起電流Ibの大きさを現す。
この検出信号CSは、前述したように、回転検出回路30に入力され、その閾値Vth(直線の点線)を超えた検出信号CSが検出されて、ロータの回転の成否が判定される。図7(b)では、一例として、3個の検出信号CSが閾値Vthを超えたことを示している。なお、図7(b)は、コイルBから発生する逆起電流についての検出動作を示したが、コイルAから発生する逆起電流についての検出動作も同様である。
このように、ドライバ回路20は、図7(a)の動作表に従って各トランジスタをON/OFF制御することにより、駆動パルスSP、補正パルスFP、検出パルスCPをステップモータ50に出力し、ステップモータ50を正転逆転駆動すると共に、検出パルスCPによってコイルA、コイルBに発生する逆起電流を検出し、逆起電流に応じた検出信号CSを出力する機能を有している。
[第1の実施形態の回転検出動作フローの説明:図8]
次に、第1の実施形態の回転検出動作フローを図8のフローチャートを用いて説明する。なお、駆動回路10の構成は図1を参照し、ドライブ回路20の回路構成は図4を参照する。
図8において、駆動回路10の制御回路12は、発振回路11からの基準信号P1を入力して計時動作を実施し、一例として、1秒毎の運針タイミングが来たならば、制御信号CN1を出力し、駆動パルス発生回路13を制御して駆動パルスSPをパルス選択回路16に出力する。パルス選択回路16は、入力した駆動パルスSPを選択してドライバ制御パルスDPとしてドライバ回路20に出力する。
ドライバ回路20は、ドライバ制御パルスDPを入力し、一例としてステップモータ50を正転させるために、コイル端子O4に駆動パルスSPを出力する(ステップS1:SP出力)。
次に、制御回路12は、駆動パルスSPの出力後、所定の時間が経過した後に、制御信号CN3を出力し、検出パルス発生回路15を制御して、所定の周期の検出パルスCPをパルス選択回路16に出力する。パルス選択回路16は、入力した検出パルスCPを選択してドライバ制御パルスDPとしてドライバ回路20に出力する。ドライバ回路20は、入力した検出パルスCPによって、コイルA、コイルBから発生する逆起電流を検出する回転検出期間を開始する(ステップS2:回転検出開始)。
次に、制御回路12は、制御信号CN3によって検出パルス発生回路15を制御し、検出パルスCPの出力数が所定数になった時点で検出パルスCPの出力を停止して、回転検出期間を終了する(ステップS3:回転検出終了)。ここで、ステップS2からステップS3の間を回転検出期間TCと称する。
すなわち、回転検出期間TCは、駆動パルスSPの出力後に設けられ、検出パルスCPが所定の周期で所定の数だけ出力され、コイルA、コイルBに発生するそれぞれの逆起電流をサンプリング動作によって同時に検出する。なお、回転検出期間TCにおける検出パルスCPのパルス数、周期等は、任意に設定することができる。また、検出パルスCPの出力タイミングをCP1側とCP2側で同時としたが、本発明に逸脱しない範囲で、CP1側とCP2側の出力タイミングを入れ子の状態にするなど、必ずしも出力タイミングを一致させる必要はない。
次に、ステップS3の回転検出終了後、回転検出回路30は、検出パルスCPによって発生した検出信号CSの数を計数し、検出総数として記憶する(ステップS4:検出個数計数)。ここで、駆動コイル側(たとえば、コイルB)で検出された検出信号を第1検出信号CS1と称し、他方のコイル(たとえば、コイルA)で検出された検出信号を第2検出信号CS2と称し、それぞれの第1検出信号CS1と第2検出信号CS2を個別に計数する。
次に、回転検出回路30は、第1検出信号CS1(すなわち、駆動コイル側)の検出総数が、第2検出信号CS2の検出総数よりも多い又は同じか否かを判定する(ステップS5:CS1≧CS2?)。なお、ステップS5の判定は制御回路12が実行してもよい。
ここで、第1検出信号CS1の検出総数が多い又は同じであれば(判定Y)、ロータ51は、非回転であると判定してステップS6へ進み、制御回路12は、制御信号CN2を出力して補正パルス発生回路14から補正パルスFPを出力し、パルス選択回路16を制御して補正パルスFPをドライバ制御パルスDPとしてドライバ回路20に出力する。ドライバ回路20は、ステップモータ50に補正パルスFPを出力し、大きな駆動力でロータ51を回転させる(ステップS6:FP出力)。
また、第1検出信号CS1の検出総数が少なければ(判定N)、ロータ51は回転したと判定して、補正パルスFPは出力せず、ステップモータ50の運針動作は終了する。
[第1の実施形態のロータが回転するときの検出動作の説明:図9]
次に、図8で示したステップS1の駆動パルスSPの出力によって、ステップモータ50のロータ51が回転した場合の逆起電流の発生と回転検出動作について図9のタイミングチャートを用いて説明する。なお、説明の条件として、コイルBが駆動コイルであって、駆動パルスSPがコイル端子O4から出力される場合とする。
また、図9及び後述する図10のタイミングチャートは、コイルAに発生する逆起電流Ia、コイルBに発生する逆起電流Ib、検出パルスCP、駆動波形O1、O2、O3、O4、およびロータ51の回転角度RTを示し、横軸は経過時間(mS)である。また、駆動波形O2、O3に現れる検出信号CS1、CS2は、模式的に図示している。なお、駆動回路10の構成は図1を参照し、ドライブ回路20の回路構成は図4を参照する。
図9において、駆動パルスSPがコイル端子O4から出力されると、ロータ51が正転方向に回転する。ここで、ロータ51の回転角度RT(図9の下部に記載)は、駆動パルスSPによって0度位置から、ほぼ直線的に増加して180度位置に達する(すなわち、1ステップ進む)。このロータ51の回転によって、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、前述したように、ステップモータ50はスリット角が75度であって、コイルAとコイルBに発生する逆起電圧Ea、Ebのピーク値の差ΔEが大きいので(図3(b)参照)、逆起電流IaとIbの波形は、時間軸に対して大きな差を持って発生する。
すなわち、図9に示すように、駆動パルスSPの出力後、まずコイルAの逆起電流Iaがマイナス方向に長い期間発生したのちに(ハッチングで示す)、遅れてコイルBの逆起電流Ibがプラス方向に短い期間発生する(ハッチングで示す)。
ここで、逆起電流Iaはマイナス方向に略凸形状に発生するが、その凸部の立ち上がりから立ち下がりまで期間を波形長TWaと称する。また、逆起電流Ibはプラス方向に略凸形状に発生するが、その凸部の立ち上がりから立ち下がりまで時間を波形長TWbと称する。この波形長TWaとTWbの規定は、後述するすべての逆起電流Ia、Ibの波形に適用する。なお、波形長TWaとTWbは、ノイズ等の影響を排除するために、所定の電流値以下は無視して規定するとよい。
この逆起電流IaとIbの波形は、前述したロータ51の回転角度に対する逆起電圧Eのグラフ(図3(b))から説明することができる。ここで図9において、逆起電流IaとIbが発生する期間は、ロータ51の回転角度RTが100度付近から180度を超える期間であり、この期間を逆起電流発生期間T1として図3(b)のグラフに当て嵌めると、この逆起電流発生期間T1では、まず逆起電圧Eaがマイナス側でピークを迎え、遅れて逆起電圧Ebがプラス方向に増加するが、ピークには達しないことがわかる(図3(b)でT1として示す)。
従って、逆起電流Iaは逆起電圧Eaの極性と大きさによるので、逆起電圧Eaの変化に応じて、逆起電流Iaもロータ51の回転角度RTが100度を通過する付近からマイナス方向に比較的長い期間、大きく発生するのである。
また、逆起電流Ibは逆起電圧Ebの極性と大きさによるので、逆起電圧Ebの変化に応じて、逆起電流Ibも遅れてプラス方向に増加するが、逆起電圧Ebのピークは、ロータ51の回転角度RTの220度付近であり、ロータ51はそこまで回転せず、回転角度RTは180度で停止するので、逆起電流Ibの発生は、比較的短い期間となる。
このように、駆動パルスSPによってロータ51が回転した場合のコイルA、コイルBから発生する逆起電流Ia、Ibの波形は、図3(b)の逆起電圧Ea、Ebから理解することができる。そして、前述したように、逆起電圧Ea、Ebはピーク値の差ΔEが大きいので、逆起電流Ia、Ibの波形は、大きさ(波形長)と発生時間に大きな差が生じる。なお、逆起電流Ia、Ibの波形の差とは、波形の大きさ(波形長)の差、または、発生時間の差、または、その両方である。
一方、駆動パルスSPの出力後は回転検出期間TCであり、この期間中にドライバ回路20は、検出パルスCPによって、逆起電流Ia、Ibを所定の周期でサンプリングし、検出信号CSとして出力する。回転検出回路30は検出信号CSを入力し、所定の閾値Vthを超えた検出信号CSを計数し、ロータ51の回転の成否を判定する。
ここで、駆動コイルであるコイルBに出力した第1検出パルスCP1によって発生する第1検出信号CS1は、駆動波形O3(コイルBのコイル端子O3)に現れ、また、駆動コイルではないコイルAに出力した第2検出パルスCP2によって発生する第2検出信号CS2は、駆動波形O2(コイルAのコイル端子O2)に現れる。
ここで、図9に示すように、回転検出回路30のVthを超えた第1検出信号CS1の数は、前述したように、逆起電流Ibの波形長TWbが短いので一例として3個であり、第2検出信号CS2の数は、逆起電流Iaの波形長TWaが長いので一例として8個である。すなわち、第1検出信号CS1の検出総数は、駆動コイル側である逆起電流Ibの波形長TWbを現し、第2検出信号CS2の検出総数は逆起電流Iaの波形長TWaを現すのである。
そして、前述した図8のステップS5で、第1検出信号CS1(駆動コイル側)の検出総数が、第2検出信号CS2の検出総数よりも多い又は同じか否かを判定すると、第1検出信号CS1の検出総数は3個であり、第2検出信号CS2の検出総数は8個であるので、判定Nとなって、ロータ51は回転したと判定され、正しい回転検出動作が実施される。
[第1の実施形態のロータが非回転のときの検出動作の説明:図10]
次に、図8で示したステップS1で駆動パルスSPが出力され、ステップモータ50のロータ51が負荷変動等の理由によって回転しなかった場合(非回転)の逆起電流の発生と回転検出動作について図10のタイミングチャートを用いて説明する。なお、説明の条件として、コイルBが駆動コイルであって、駆動パルスSPがコイル端子O4から出力される場合とする。
図10において、駆動パルスSPがコイル端子O4から出力されると、ロータ51は回転しようとするが負荷変動等の理由で非回転となる。ここで、ロータ51の回転角度RT(図10の下部に記載)は、正転方向に0度から60付近まで達するが、それ以上回転できず、60度付近から0度に向かって戻ることになる(すなわち逆転方向に回転して戻る)。
このようなロータ51の回転によって、コイルA、コイルBから逆起電流Ia、Ibが発生する。すなわち、図10に示すように、駆動パルスSPの出力後、まずコイルBの逆起電流Ibがプラス方向に比較的長い期間発生したのちに(ハッチングで示す)、コイルAの逆起電流Iaがマイナス方向に短い期間わずかに発生する(ハッチングで示す)。
ここで、ロータ51が非回転であるときの逆起電流IaとIbの波形は、ロータ51が回転した場合と同様に、逆起電圧Eのグラフ(図3(b))から説明することができる。
図10において、逆起電流IaとIbが発生する期間は、ロータ51が50度付近から逆転方向に回転して0度に戻る期間であり、この期間を逆起電流発生期間T2として図3(b)のグラフに当て嵌める。
ここで、図3(b)はロータ51が正転方向に回転した場合の逆起電圧Eの波形であるが、非回転の場合は、前述したように、ロータ51が逆転して0度に戻るために、ロータ51が逆転した場合の逆起電圧Ea、Ebの値を適用するとよい。すなわち、図示しないが、ロータが逆転した場合は図3(a)で示す磁束Φa、Φbの向きが反転するので、図3(b)で示す逆起電圧Ea、Ebの極性が反転した値となる。
従って、図3(b)における逆起電流発生期間T2(50度付近から0度に戻る期間)では、逆起電圧Eaは、ゼロからマイナス側に向かう期間であり、逆起電圧Ebは、プラス側のピーク付近の期間である(図3(b)でT2として示す)。
これにより、逆起電流Iaは逆起電圧Eaの極性と大きさによるので、ロータ51が逆回転して回転角度RTが0度に戻る頃にマイナス方向に短い期間だけわずかに発生する(すなわち、波形長TWaが短い)。また、逆起電流Ibは逆起電圧Eaの極性と大きさによるので、逆起電流Iaより早く、すなわち、ロータ51が逆転して戻るタイミングに合わせて、プラス方向に比較的長い期間発生する(波形長TWbが長い)。
このように、ロータ51が非回転であった場合においても、コイルA、コイルBから発生する逆起電流Ia、Ibの波形は、図3(b)の逆起電圧Ea、Ebの極性を反転した値から理解することができる。そして、前述したように、逆起電圧Ea、Ebはピーク値の差ΔEが大きいので、ロータ51が非回転であっても、逆起電流Ia、Ibの波形は、大きさ(波形長TW)と発生時間に大きな差が生じる。
ここで、ロータ51が回転した場合と同様に、回転検出期間TCの期間中、ドライバ回路20は、検出パルスCPによって、この逆起電流Ia、Ibを所定の周期でサンプリングし、検出信号CSとして出力する。回転検出回路30は検出信号CSを入力し、所定の閾値Vthを超えた検出信号CSを計数し、ロータ51の回転の成否を判定する。
ここで、図9と同様に、駆動コイルであるコイルBに出力した第1検出パルスCP1によって発生する第1検出信号CS1は、駆動波形O3(コイルBのコイル端子O3)に現れ、また、駆動コイルではないコイルAに供給した第2検出パルスCP2によって発生する第2検出信号CS2は、駆動波形O2(コイルAのコイル端子O2)に現れる。
ここで、図10に示すように、回転検出回路30のVthを超えた第1検出信号CS1の数は、波形長TWbが比較的長いので一例として4個であり、第2検出信号CS2の数は、波形長TWaが短いので一例として1個である。
そして、前述した図8のステップS5で、第1検出信号CS1(すなわち、駆動コイル側)の検出総数が、第2検出信号CS2の検出総数よりも多い又は同じか否かを判定すると、第1検出信号CS1の検出総数は4個であり、第2検出信号CS2の検出総数は1個であるので、判定Yとなって、ロータ51は非回転であると判定され、正しい回転検出動作が実施される。
なお、図9、図10において、駆動波形O2(コイル端子O2)と駆動波形O3(コイル端子O3)で、逆起電流Ia、Ibが発生していない期間(すなわち、逆起電流の直線期間)は、検出パルスCPに同期して、わずかにプラス側に延びるパルスを記載しているが、これは、検出パルスCPのタイミングを示すためであって、そのパルスの極性と大きさは意味を持たない。ただし、逆起電流Ia、Ibが発生していない期間であっても、電流ノイズ等の影響で、コイル端子O1〜O4には、検出パルスCPに同期してプラスまたはマイナスの小さなパルスが発生する場合がある。
このように、第1の実施形態では、ロータ51の回転の成否の判定は、所定の長さの回転検出期間TCの期間中の第1検出信号CS1の検出総数と第2検出信号CS2の検出総数の比較で実施するので、仮に、外部ノイズ等の影響で、第1検出信号CS1または第2検出信号CS2の計数に多少の計数ミスが生じても、回転の成否を誤判定する可能性はきわめて少ない。
たとえば、図9で示す第1検出信号CS1(コイル端子O3)に、ノイズによって2発の疑似検出信号CS1´(点線のパルスで示す)が加わったとしても、第1検出信号CS1は5個と計数され、第2検出信号CS2は8個と計数されるので、その判定は、ステップS5で判定N(回転した)となって、正しい判定が実施される。
以上のように、第1の実施形態によれば、ステップモータ50の二つのコイルA、コイルBから発生する逆起電流Ia、Ibを検出パルスCP1、CP2によって同時に検出し、その検出パルスによって発生する二つの検出信号CS1、CS2の検出総数を比較することで、ロータ51の回転の成否を高精度に検出できる2コイルステップモータ用駆動回路を提供できる。
また、所定の長さを有する回転検出期間TCで発生する第1、第2検出信号CS1、CS2の検出総数の差でロータ51の回転の成否を判定するので、外部ノイズ等による影響を低減して、耐ノイズ特性に優れた信頼性の高い回転検出機能を有する2コイルステップモータ用駆動回路を実現できる。
このように、ステップモータの回転の成否を高精度に検出できる2コイルステップモータ用駆動回路を用いることによって、駆動パルスSPの駆動力を通常ではぎりぎりまで下げて駆動し、負荷変動等によってロータ51が非回転になった場合は、非回転を検出して駆動力の大きな補正パルスを出力し、ロータ51の回転を正常に保つことができる。その結果、きわめて低消費電力で、且つ、ステップモータの誤回転が少なく、2コイルステップモータによる高速両回転駆動に対応した高性能な電子時計を提供できる。
[第1の実施形態の変形例1の回転検出動作の説明:図11、図12]
次に、第1の実施形態の変形例1の2コイルステップモータ用駆動回路の回転検出動作について図11、図12のタイミングチャートを用いて説明する。第1の実施形態の変形例1の特徴は、駆動コイル側の検出パルスのパルス幅を広くして、駆動コイルに発生する逆起電流に対する検出感度を高くし、非回転の誤検出の発生頻度を下げることである。
ここで、検出パルスCPがアクティブになる期間は、コイルA、コイルBに検出抵抗が接続されてオープンに近い状態となるので、ロータに対して電磁ブレーキの効き目が小さくなり、逆起電流の発生が大きくなる。従って、検出パルスCPのパルス幅を広くする(すなわち、検出抵抗の接続期間を長くする)と、逆起電流の発生が大きくなり、その結果、逆起電流に対する検出感度を高くできるのである。
図11はロータ51が回転した場合のタイミングチャートの一例であり、図12はロータ51が非回転の場合のタイミングチャートの一例である。ここで、後述する図13、図14も含めて各タイミングチャートは、コイルAに発生する逆起電流Ia、コイルBに発生する逆起電流Ib、検出パルスCP、および駆動波形O1、O2、O3、O4を示している。なお、駆動回路10の構成は図1を参照し、ドライブ回路20の回路構成は図4を参照する。また、ステップモータ50は、第1の実施形態と同様にスリット角が75度である。
まず、ロータ51が回転した場合の変形例1の回転検出動作を説明する。図11において、コイル端子O4からの駆動パルスSPの出力によって、ロータ51が回転すると、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、前述したように、ステップモータ50のスリット角は75度であるので、逆起電圧Eのピーク値の差ΔEが大きく、逆起電流IaとIbは、時間軸に対して大きな差を持って発生する。
すなわち、駆動パルスSPの出力後、まず逆起電流Iaがマイナス方向に長い期間発生したのちに(ハッチングで示す)、逆起電流Ibがプラス方向に比較的短い期間発生する(ハッチングで示す)。
回転検出期間TCの期間中、ドライブ回路20は、周期的に出力される検出パルスCPによって、この逆起電流Ia、Ibをサンプリングし、検出信号CS1、CS2として出力する。回転検出回路30は、検出信号CS1、CS2を入力し、所定の閾値Vthを超えた検出信号CS1、CS2を計数し、ロータ51の回転の成否を判定する。
ここで、変形例1では、駆動コイルであるコイルBに出力する第1検出パルスCP1のパルス幅が、駆動コイルではないコイルAに出力する第2検出パルスCP2のパルス幅より広く設定される(第1検出パルスCP1によって発生する第1検出信号CS1を太く図示)。これにより、駆動コイルであるコイルBに発生する逆起電流Ibが大きくなり、逆起電流Ibに対する検出感度を高くすることができる。
そして、駆動コイルであるコイルBに出力する第1検出パルスCP1によって発生する第1検出信号CS1は、第1の実施形態と同様に駆動波形O3(コイル端子O3)に現れ、また、駆動コイルではないコイルAに出力する第2検出パルスCP2によって発生する第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。回転検出回路30は、閾値Vthを超えた検出信号を計数し、第1検出信号CS1の検出総数は、一例として4個であり、第2検出信号CS2の検出総数は、一例として8個である。
ここで、第1の実施形態でロータ51が回転した場合の第1検出信号CS1の検出総数は、一例として3個であったが(図9参照)、この変形例1では、コイルBに発生する逆起電流Ibに対する検出感度が高くなったので、第1検出信号CS1の検出総数は一つ多い4個となった。
次に、ロータ51が非回転の場合の回転検出動作を説明する。図12において、コイル端子O4からの駆動パルスSPが出力され、ロータ51が負荷変動等の理由で非回転となると、コイルA、コイルBに発生する逆起電流Ia、Ibの発生タイミングや大きさが回転するときと比較して大きく異なる。すなわち、駆動パルスSPの出力後、まずコイルBの逆起電流Ibがプラス方向に比較的長い期間発生したのちに(ハッチングで示す)、コイルAの逆起電流Iaがマイナス方向に短い期間わずかに発生する(ハッチングで示す)。
ここで、図11の場合と同様に、回転検出期間TCの期間中、ドライブ回路20は、検出パルスCPによって、この逆起電流Ia、Ibをサンプリングし、その結果、検出信号CS1、CS2が発生して回転検出回路30に入力され、所定の閾値Vthを超えた検出信号CS1、CS2が計数されて、ロータ51の回転の成否が判定される。
ここで、変形例1では、前述したように、駆動コイルであるコイルBに供給する第1検出パルスCP1のパルス幅が、駆動コイルではないコイルAに供給する第2検出パルスCP2のパルス幅より広く設定される(第1検出パルスCP1によって発生した第1検出信号CS1を太く図示)。これにより、駆動コイルであるコイルBに発生する逆起電流Ibが大きくなり、逆起電流Ibに対する検出感度を高くすることができる。
そして、図11と同様に、第1検出信号CS1は駆動波形O3(コイル端子O3)に現れ、また、第2検出信号CS2は駆動波形O2(コイル端子O2)に現れる。回転検出回路30は、閾値Vthを超えた検出信号を計数し、第1検出信号CS1の検出総数は、一例として6個であり、第2検出信号CS2の検出総数は、一例として1個である。
ここで、第1の実施形態でロータ51が非回転の場合の第1検出信号CS1の検出総数は、一例として4個であったが(図10参照)、この変形例1では、コイルBに発生する逆起電流Ibに対する検出感度が高くなったので、第1検出信号CS1の検出総数は二つ多い6個となった。
以上のように、第1の実施形態の変形例1によれば、駆動コイルに出力する第1検出パルスCP1のパルス幅を広くして、駆動コイルに発生する逆起電流に対する検出感度を高くしている。これにより、駆動コイル側の第1検出信号CS1が回転検出回路30のVthを超えやすくなり、第1検出信号CS1の検出総数が増える。その結果、第1の実施形態のフロー(図8参照)のステップS5が判定Y(駆動コイル検出数大:非回転)になりやすくなり、回転か非回転かが紛らわしい場合には、非回転と判定されてステップS6が実行され補正パルスFPが出力される。
ここで、ロータ51が非回転であるときに、誤って回転したと判定されると、補正パルスFPが出力されないために、指針が狂うことになる。しかし、変形例1のように、駆動コイル側の逆起電流に対する検出感度を高くすれば、非回転の誤検出の発生頻度を下げられるので、結果として、誤検出によって指針が狂う頻度を下げることが可能となり、時刻表示の信頼性が高い2コイルステップモータ用駆動回路及びそれを用いた電子時計を提供できる。
なお、コイルAが駆動コイルである場合は、コイルAに出力する第1検出パルスCP1のパルス幅を広く設定し、コイルAに発生する逆起電流Iaに対する検出感度を高くする。また、第1検出パルスCP1のパルス幅を広くする割合は限定されない。
[第1の実施形態の変形例2の回転検出動作の説明:図13、図14]
次に、第1の実施形態の変形例2の2コイルステップモータ用駆動回路の回転検出動作について図13、図14のタイミングチャートを用いて説明する。第1の実施形態の変形例2の特徴は、駆動コイルに発生する検出信号の採否を決定する回転検出回路の閾値を低くして、駆動コイルに発生する逆起電流に対する検出感度を高くし、非回転の誤検出の発生頻度を下げることである。
図13はロータ51が回転した場合のタイミングチャートの一例であり、図14はロータ51が非回転の場合のタイミングチャートの一例である。なお、駆動回路10の構成は図1を参照し、ドライブ回路20の回路構成は図4を参照する。また、ステップモータ50は、第1の実施形態と同様にスリット角が75度である。
まず、ロータ51が回転した場合の変形例2の回転検出動作を説明する。図13において、コイル端子O4からの駆動パルスSPの出力によって、ロータ51が回転すると、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、前述したように、ステップモータ50のスリット角は75度であるので、逆起電流IaとIbは、時間軸に対して大きな差を持って発生する。
すなわち、駆動パルスSPの出力後、まず逆起電流Iaがマイナス方向に長い期間発生したのちに(ハッチングで示す)、逆起電流Ibがプラス方向に比較的短い期間発生する(ハッチングで示す)。
回転検出期間TCの期間中、ドライブ回路20は、周期的に出力される検出パルスCPによって、この逆起電流Ia、Ibをサンプリングし、検出信号CS1、CS2として出力する。回転検出回路30は、検出信号CS1、CS2を入力し、所定の閾値Vthを超えた検出信号CS1、CS2を計数し、ロータ51の回転の成否を判定する。
ここで、変形例2では、駆動コイルであるコイルBに発生する第1検出信号CS1に対する回転検出回路30の閾値Vth1が駆動コイルではないコイルAに発生する第2検出信号CS2に対する閾値Vth2より低く設定される。これにより、駆動コイルであるコイルBに発生する逆起電流Ibに対する検出感度を高くすることができる。なお、閾値Vth1の変更は、回転検出回路30に閾値変更機能を設けることで実現できる。
そして、駆動コイルであるコイルBに発生する第1検出信号CS1は、第1の実施形態と同様に駆動波形O3(コイル端子O3)に現れ、また、駆動コイルではないコイルAに発生する第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。回転検出回路30は、閾値Vth1、Vth2を超えた検出信号を計数し、第1検出信号CS1の検出総数は、一例として4個であり、第2検出信号CS2の検出総数は、一例として8個である。
ここで、第1の実施形態でロータ51が回転した場合の第1検出信号CS1の検出総数は、一例として3個であったが(図9参照)、この変形例2では、第1検出信号CS1に対する閾値Vth1を低くしたので、第1検出信号CS1の検出総数は一つ多い4個となった。
次に、ロータ51が非回転の場合の回転検出動作を説明する。図14において、コイル端子O4からの駆動パルスSPが出力され、ロータ51が負荷変動等の理由で非回転となると、コイルA、コイルBに発生する逆起電流Ia、Ibの発生タイミングや大きさが回転するときと比較して大きく異なる。すなわち、駆動パルスSPの出力後、まずコイルBの逆起電流Ibがプラス方向に比較的長い期間発生したのちに(ハッチングで示す)、コイルAの逆起電流Iaがマイナス方向に短い期間わずかに発生する(ハッチングで示す)。
ここで、図13の場合と同様に、回転検出期間TCの期間中、ドライブ回路20は、検出パルスCPによって、この逆起電流Ia、Ibをサンプリングし、その結果、検出信号CS1、CS2が発生して回転検出回路30に入力され、所定の閾値Vthを超えた検出信号CS1、CS2が計数され、ロータ51の回転の成否が判定される。
ここで、変形例2では、前述したように、駆動コイルであるコイルBに発生する第1検出信号CS1に対する回転検出回路30の閾値Vth1が駆動コイルではないコイルAに発生する第2検出信号CS2に対する閾値Vth2より低く設定される。これにより、駆動コイルであるコイルBに発生する逆起電流Ibに対する検出感度を高くすることができる。
そして、駆動コイルであるコイルBに発生する第1検出信号CS1は、第1の実施形態と同様に駆動波形O3(コイル端子O3)に現れ、また、駆動コイルではないコイルAに発生する第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。回転検出回路30は、閾値Vth1、Vth2を超えた検出信号を計数し、第1検出信号CS1の検出総数は、一例として5個であり、第2検出信号CS2の検出総数は、一例として1個である。
ここで、第1の実施形態でロータ51が非回転の場合の第1検出信号CS1の検出総数は、一例として4個であったが(図10参照)、変形例2では、第1検出信号CS1に対する閾値Vth1を低くしたので、第1検出信号CS1の検出総数は一つ多い5個となった。
以上のように、第1の実施形態の変形例2によれば、駆動コイルに発生する第1検出信号CS1の採否を決定する閾値Vth1を低くして、駆動コイルに発生する逆起電流に対する検出感度を高くしている。これにより、駆動コイル側の第1検出信号CS1が回転検出回路30の閾値Vth1を超えやすくなり、第1検出信号CS1の検出総数が増える。その結果、第1の実施形態のフロー(図8参照)のステップS5が判定Y(駆動コイル検出数大:非回転)になりやすくなり、回転か非回転かが紛らわしい場合には、非回転と判定されてステップS6が実行され補正パルスFPが出力される。
このように、駆動コイル側の閾値Vth1を変更することで、非回転の誤検出の発生頻度を下げられるので、誤検出によって指針が狂う頻度を下げることが可能となり、時刻表示の信頼性が高い2コイルステップモータ用駆動回路及びそれを用いた電子時計を提供できる。なお、コイルAが駆動コイルである場合は、コイルAに発生する第1検出信号CS1に対する回転検出回路30の閾値Vth1を低くして、コイルAに発生する逆起電流Iaに対する検出感度を高くする。また、閾値Vth1の下げ幅は限定されない。
[第1の実施形態の変形例3の回転検出動作の説明:図4]
次に、第1の実施形態の変形例3の2コイルステップモータ用駆動回路の回転検出動作について図4を用いて説明する。第1の実施形態の変形例3の特徴は、第1検出信号CS1が発生する駆動コイルに接続される検出抵抗の抵抗値を大きくして、駆動コイルに発生する逆起電流に対する検出感度を高くし、非回転の誤検出の発生頻度を下げることである。
図4において、コイルBを駆動コイルとして、たとえば、コイル端子O4から駆動パルスSPを出力する場合は、第1検出パルスCP1が出力されるコイルBのコイル端子O3に接続される検出抵抗R3の抵抗値を図示しない手段によって切り替え、第2検出パルスCP2が出力されるコイルAのコイル端子O2に接続される検出抵抗R2より、その抵抗値を大きくする。
また、コイルBを駆動コイルとして、たとえば、コイル端子O3に駆動パルスSPを出力する場合は、第1検出パルスCP1が出力されるコイルBのコイル端子O4に接続される検出抵抗R4の抵抗値を図示しない手段によって切り替え、第2検出パルスCP2が出力されるコイルAのコイル端子O1に接続される検出抵抗R1より、その抵抗値を大きくする。
また同様に、コイルAを駆動コイルとして、第1検出パルスCP1がコイルAのコイル端子O2に出力される場合は、検出抵抗R2の抵抗値を大きくし、また、コイルAを駆動コイルとして、第1検出パルスCP1がコイルAのコイル端子O1に出力される場合は、検出抵抗R1の抵抗値を大きくする。
これにより、第1検出パルスCP1が出力される駆動コイルのコイル端子に接続される検出抵抗の抵抗値を大きくすることで、その検出抵抗に流れる逆起電流の電圧降下によって発生する第1検出信号CS1の波高値を大きくできるので、結果として駆動コイルに発生する逆起電流に対する検出感度を高くすることができる。なお、検出抵抗の変更の割合は限定されない。
以上のように、第1の実施形態の変形例3によれば、第1検出パルスCP1が出力される駆動コイルの端子に接続される検出抵抗の抵抗値を大きくすることで、駆動コイルに発生する逆起電流の検出感度を高くしている。それにより、駆動コイルで発生する第1検出信号CS1が回転検出回路30のVthを超えやすくなり、第1検出信号CS1の検出数が増える。その結果、第1の実施形態のフロー(図8参照)のステップS5が判定Y(駆動コイル検出数大:非回転)になりやすくなり、回転か非回転かが紛らわしい場合には、非回転と判定されてステップS6が実行され補正パルスFPが出力される。
このように、第1検出信号CS1が発生する検出抵抗の抵抗値を変更することで、非回転の誤検出の発生頻度を下げられるので、誤検出によって指針が狂う頻度を下げることが可能となり、時刻表示の信頼性が高い2コイルステップモータ用駆動回路及びそれを用いた電子時計を提供できる。なお、第1の実施形態の変形例1〜3は、個別に構成してもよいが、任意に組み合わせて構成してもよい。たとえば、第1の実施形態の変形例1と変形例2とを組み合わせて、さらに、駆動コイルの逆起電流に対する検出感度を高くする構成を採用してもよい。
[第2の実施形態]
[第2の実施形態の回転検出動作フローの説明:図15]
次に、第2の実施形態の回転検出動作フローを図15のフローチャートを用いて説明する。なお、第2の実施形態の特徴は、二つのコイルから検出信号が到来する早さによってロータの回転の成否を判定することである。なお、駆動回路10の構成は第1の実施形態と同様であり(図1、図4参照)、使用するステップモータは、第1の実施形態と同様にステップ角75度のステップモータ50(図2参照)とする。
図15において、駆動回路10の制御回路12は、一例として、1秒毎の運針タイミングによって駆動パルス発生回路13を制御し、駆動パルスSPをパルス選択回路16に出力する。
ドライバ回路20は、パルス選択回路16からのドライバ制御パルスDPを入力し、一例としてステップモータ50を正転させるために、コイル端子O4に駆動パルスSPを出力する(ステップS10:SP出力)。
次に、制御回路12は、駆動パルスSPの出力後、所定の時間が経過した後に、検出パルス発生回路15から検出パルスCPを出力し、パルス選択回路16を経由してドライバ回路20に出力し、ドライバ回路20は、入力した検出パルスCPによってコイルA、コイルBから発生する逆起電流を検出する回転検出期間を開始する(ステップS11:回転検出開始)。
次に、回転検出回路30は、ドライバ回路20からの検出信号CSが、内部の閾値Vthを超えたか否かを判定する(ステップS12:検出信号有り?)。ここで、検出信号CSが、回転検出回路30のVthを超えたならば(判定Y)、ステップS13に進み、Vthを超えなければ(判定N)、ステップS15に進む。
次に、ステップS12で判定Yであれば、回転検出回路30は、検出信号CSが駆動コイル側からか否かを判定する(ステップS13:駆動コイル側か?)。ここで、検出信号CSが駆動コイル側から発生したのであれば判定Y(非回転)としてステップS16に進み、駆動コイル側でなければ判定N(回転)としてステップS14に進む。なお、二つの検出信号(すなわち、CS1、CS2)が同時に発生した場合は判定Y(非回転)とする。
次に、ステップS13で判定N(回転)であれば、制御回路12は、回転検出期間を終了して検出パルスCPの出力を停止し、回転検出動作を終了する(ステップS14)。
また、ステップS13で判定Y(非回転)であれば、制御回路12は、回転検出期間を終了して検出パルスCPの出力を停止し(ステップS16)、更に、補正パルス発生回路14を制御して補正パルスFPを出力し、ドライバ回路20から補正パルスFPを駆動コイル側に供給し、大きな駆動力でロータ51を回転させて(ステップS17:FP出力)、回転検出を終了する。
また、ステップS12で判定Nであれば、制御回路12は、回転検出期間が終了したか否かを判定する(ステップS15:検出期間終了?)。ここで、回転検出期間が終了していなければ(判定N)、ステップS12に戻り、検出パルスCPを周期的に出力する回転検出動作を継続する。また、所定の時間が経過して回転検出期間が終了したならば(判定Y)、検出信号CSが検出されないのでロータ51は非回転であると判定し、前述したステップS16、S17に進み、補正パルスFPを出力して終了する。
[第2の実施形態における回転するときの検出動作の説明:図16]
次に、図15のステップS10の駆動パルスSPの出力によって、ステップモータ50のロータ51が回転した場合の逆起電流の発生と回転検出動作について図16のタイミングチャートを用いて説明する。なお、説明の条件として、コイルBが駆動コイルであって、駆動パルスSPがコイル端子O4から出力される場合とする。また、図16及び後述する図17のタイミングチャートは、コイルAに発生する逆起電流Ia、コイルBに発生する逆起電流Ib、検出パルスCP、および駆動波形O1、O2、O3、O4を示している。なお、ロータ51の回転角度RTは、第1の実施形態(図9、図10参照)と同様であるので、図示は省略する。
図16において、駆動パルスSPの出力によってロータ51が回転すると、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、前述したように、ステップモータ50はスリット角が75度であって、コイルAとコイルBに発生する逆起電圧Eのピーク値の差ΔEが大きいので(図3(b)参照)、逆起電流IaとIbは、時間軸に対して大きな差を持って発生する。
すなわち、図16に示すように、駆動パルスSPの出力後、まずコイルAの逆起電流Iaがマイナス方向に長い期間発生したのちに(ハッチングで示す)、遅れてコイルB(駆動コイル)の逆起電流Ibがプラス方向に比較的短い期間発生する(ハッチングで示す)。
回転検出期間TCの期間中、ドライバ回路20は、検出パルスCPによって、この逆起電流Ia、Ibをサンプリングし、検出信号CSとして出力する。回転検出回路30は、検出信号CSを入力し、所定の閾値Vthを超えた検出信号CSの有無を検出し、ロータ51の回転の成否を判定する。
ここで、駆動コイルであるコイルBに出力した第1検出パルスCP1によって発生する第1検出信号CS1は、駆動波形O3(コイル端子O3)に現れ、また、駆動コイルではないコイルAに出力した第2検出パルスCP2によって発生する第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。
そして、前述したように、駆動パルスSPの終了後、コイルAの逆起電流Iaのほうが、早いタイミングで発生するので、駆動コイルではないコイルAに出力した第2検出パルスCP2による第2検出信号CS2が回転検出回路30の閾値Vthを超えて検出される。
この第2検出信号CS2が所定数(図16では一例として2個)検出されたならば、図15で示す動作フローのステップS12が判定Yとなり、さらに、ステップS13が判定Nとなって、ロータ51は回転したと判定されるので、ステップS14によって回転検出期間TCが終了して検出パルスCPは停止する。なお、図16において、第2検出信号CS2が閾値Vthを2個超えた時点で、回転検出期間TCが終了することを矢印D1によって示す。
このように、本実施形態では、駆動コイルではない側のコイルからの第2検出信号CS2が駆動コイル側からの第1検出信号CS1より早く検出されたならば、直ちにロータ51は回転したと判定するので、回転検出の高速判定が可能である。
[第2の実施形態における非回転のときの回転検出動作の説明:図17]
次に、図15のステップS1の駆動パルスSPの出力によって、ステップモータ50のロータ51が負荷変動等の理由で非回転である場合の逆起電流の発生と回転検出動作について図17のタイミングチャートを用いて説明する。なお、説明の条件として、コイルBが駆動コイルであって、駆動パルスSPがコイル端子O4から出力される場合とする。
図17において、駆動パルスSPの出力によってロータ51が回転しようとするが、負荷変動等の理由で非回転となると、コイルA、コイルBに発生する逆起電流Ia、Ibの発生タイミングや大きさが回転するときと比較して大きく異なる。すなわち、駆動パルスSPの出力後、まずコイルBの逆起電流Ibがプラス方向に比較的長い期間発生したのちに(ハッチングで示す)、コイルAの逆起電流Iaがマイナス方向に短い期間わずかに発生する(ハッチングで示す)。
一方、回転検出期間TCの期間中のドライバ回路20と回転検出回路30の動作は、前述した回転するときの動作(図16参照)と同様である。また、第1検出信号CS1と第2検出信号CS2が現れる駆動波形も図16と同様である。
そして、前述したように、駆動パルスSPの終了後、コイルBの逆起電流Ibのほうが、早いタイミングで発生するので、駆動コイルのコイルBに発生する第1検出信号CS1が回転検出回路30のVthを超えて検出される。この第1検出信号CS1が所定数(図17では一例として2個)検出されたならば、図15で示す動作フローのステップS12が判定Yとなり、さらにステップS13が判定Yとなって、ロータ51は非回転であると判定されるので、ステップS16によって回転検出期間を終了する。
またさらに、図17では図示しないが、ステップS17によって補正パルスFPが出力し、ロータ51は補正パルスFPの大きな駆動力によって回転し、指針の狂いを防ぐことができる。なお、図17において、第1検出信号CS1が閾値Vthを2個超えた時点で、回転検出期間TCが終了することを矢印D2によって示す。
このように、本実施形態では、駆動コイル側からの第1検出信号CS1が駆動コイルではない側のコイルからの第2検出信号CS2より早く検出されたならば、直ちにロータ51は非回転であると判定し、補正パルスFPを出力するので、回転検出の高速判定が可能である。なお、検出信号CSの所定数は限定されず、1個の検出で回転/非回転を判定してもよく、また、ノイズ等の影響を考慮して所定数をさらに増やしてもよい。
以上のように、第2の実施形態によれば、駆動コイルから発生する第1検出信号CS1と、他方のコイルから発生する第2検出信号CS2とを比較し、どちらの検出信号が早く検出されるかによって、ロータ51の回転と非回転を判定している。これにより、二つのコイルからの検出信号が到来する時間的な速さでロータの回転の成否を判定するので、短時間でロータの回転の成否を判定でき、ステップモータの高速駆動に対応した回転検出を実現する2コイルステップモータ用駆動回路及びそれを用いた電子時計を提供できる。
また、第2の実施形態と前述した第1の実施形態とを組み合わせてもよい。即ち、検出信号CSが検出できたタイミングを回転検出回路30で保持しておき(第2実施形態)、さらに検出を継続させて検出総数を計数することで(第1実施形態)、回転の成否の判定精度が向上する。なお、この組み合わせ方式を実施して、第2の実施形態と第1の実施形態の判定結果が異なる場合は、非回転判定とするとよい。
[第3の実施形態]
[第3の実施形態のステップモータのスリット角の説明:図2]
次に、第3の実施形態のステップモータのスリット角について、図2を用いて説明する。なお、第3の実施形態の特徴は、ステップモータの回転検出精度を高めるために、二つのコイルから発生する逆起電流の波形がロータの回転の成否で大きく異なるように、ステップモータのスリット角範囲を最適に選定したステップモータである。
図2において、前述したように、ステップモータ50は、スリット角の違いによって、ステータ52とロータ51間の磁束の流れが変化し、ロータ51が駆動パルスSPによって回転したか否かに応じて、コイルA、コイルBに発生する逆起電流の波形に差が生じる。
ここで、図2に示すステップモータ50は、この逆起電流の波形に大きな差が生じるスリット角75度のステータ52を備えたステップモータである。このステップモータ50を用いて、コイルA、コイルBから発生する逆起電流を検出することで、第1、第2の実施形態で示したように、高精度な回転検出を実現する2コイルステップモータ用駆動回路とそれを用いた電子時計を提供できる。
[スリット角が異なるステップモータの説明:図18]
次に、スリット角が異なるステップモータの構成について図18を用いて説明する。図18(a)は、一例としてスリット角が20度のステップモータ60である。ステップモータ60は、前述したステップモータ50(図2参照)と基本構成は同じである2コイルステップモータであるが、ステータ62の構造が異なる。
すなわち、第1磁極部62aと第3磁極部62cとを磁気的に分離するスリット64a(点線の小円で示す)と、第2磁極部62bと第3磁極部62cとを磁気的に分離するスリット64b(点線の小円で示す)は、ロータ61の中心とスリット64a、64bを結ぶ線と、ロータ61の中心を通る第3磁極部62cの中心線が成すスリット角が20度であり、スリット角が小さいステップモータの一例である。
次に図18(b)は、一例としてスリット角が120度のステップモータ70である。ステップモータ70は、前述したステップモータ50(図2参照)と基本構成は同じである2コイルステップモータであるが、ステータ72の構造が異なる。
すなわち、第1磁極部72aと第3磁極部72cとを磁気的に分離するスリット74a(点線の小円で示す)と、第2磁極部72bと第3磁極部72cとを磁気的に分離するスリット74b(点線の小円で示す)は、ロータ71の中心とスリット74a、74bを結ぶ線と、ロータ71の中心を通る第3磁極部72cの中心線が成すスリット角が120度であり、スリット角が大きいステップモータの例である。
なお、スリット角が90度以上のステータの作成は難しいために、このステップモータ70においては、ノッチ73a、73bとスリット74a、74bが同じ角度位置になるように配置した。また、ステップモータ60、70は、ロータ61、71の保持トルクをスリット角75度のステップモータ50(図2参照)と同じにするために、ノッチ63a、63bと、ノッチ73a、73bのそれぞれの幅を変更している。これは、保持トルクの違いによって、後述する逆起電流の大きさが変化しないようにするためである。
[スリット角が異なるステップモータの逆起電圧の変化の説明:図19]
次に、スリット角20度、90度、120度の各ステップモータにおいて、ロータを回転させることによってコイルA、コイルBに発生する逆起電圧Ea、Ebの変化について図19を用いて説明する。なお、スリット角20度と120度のステップモータは、図18で示したステップモータ60、70であり、スリット角90度のステップモータは図示しないが、そのスリット位置は、図2で示したステップモータ50と、図18(b)で示したステップモータ70と、のほぼ中間に位置している。
また、前述した図3(b)と同様に、図19(a)〜図19(c)の横軸は正転方向(反時計回り)に回転したロータの回転角度0度〜360度であり、縦軸は逆起電圧Eであり、逆起電圧Eのピークを+1.0〜−1.0として表している。また、逆起電圧EaはコイルAから発生し、逆起電圧EbはコイルBから発生する。そして、前述したように、逆起電圧Ea、Ebのピーク値の差ΔEがロータの回転検出のために重要である。
図19(a)は、スリット角20度のステップモータ60の逆起電圧Eの変化を示している。図19(a)において、逆起電圧の差、すなわち、ピーク値の差ΔEは、逆起電圧Ebの山(約190度)−逆起電圧Eaの谷(約170度)=約20度であって、前述したスリット角75度のステップモータ50の約80度と比較して、ピーク値の差ΔEは、かなり小さいことが理解できる。
図19(b)は、スリット角90度のステップモータの逆起電圧Eの変化を示している。図19(b)において、ピーク値の差ΔEは、逆起電圧Ebの山(約225度)−逆起電圧Eaの谷(約135度)=約90度であって、前述したスリット角75度のステップモータ50の約80度より僅かではあるが更にピーク値の差ΔEは大きい。
図19(c)は、スリット角120度のステップモータ70の逆起電圧Eの変化を示している。図19(c)において、ピーク値の差ΔEは、逆起電圧Eaの谷(約120度)−逆起電圧Ebの谷(約60度)=約60度であって、前述したスリット角75度のステップモータ50の80度と比較して、ピーク値の差ΔEは小さい。
このように、ステップモータのスリット角の違いにより、ロータの回転によってコイルA、コイルBから発生する逆起電圧Ea、Ebの波形に差が生じ、このピーク値の差ΔEが、逆起電流Ia、Ibの波形の差として現れるので、最適なスリット角を有するステップモータを用いることで、ロータの回転の成否を高精度で判定することができる。
ここで、スリット角90度のステップモータのピーク値の差ΔEは、他のスリット角のステップモータと比較して最も大きい約90度であるので、このスリット角90度のステップモータが、逆起電流の波形の差が最も大きく現れ、回転検出しやすいステップモータであると言える。
しかし実際には、逆起電流Ia、Ibは、駆動パルスSPによる駆動力、ロータの保持トルク、回転に対する負荷変動、スリット部分が磁束飽和に達する時間等の影響を受けるために、図19で示す逆起電圧Ea、Ebと実際の逆起電流Ia、Ibの波形とには違いが発生し、逆起電流Ia、Ibの波形は様々な要因で変化するので、回転検出に最適なスリット角にはある程度の幅が存在する。
[スリット角が異なるステップモータの回転検出動作の説明:図20〜図23]
次に、スリット角が異なるステップモータの回転検出動作について図20〜図23のタイミングチャートを用いて説明する。なお、説明の条件として、コイルBが駆動コイルであって、駆動パルスSPがコイル端子O4から出力される場合とする。また、図20〜図23のタイミングチャートは、コイルAに発生する逆起電流Ia、コイルBに発生する逆起電流Ib、検出パルスCP、および駆動波形O1、O2、O3、O4を示し、また、回転検出動作は、第1の実施形態のアルゴリズム(検出総数による判定)で実施するものとする。
まず、スリット角20度のステップモータ60(図18(a)参照)に駆動パルスSPを供給し、ステップモータ60のロータ61が回転した場合の逆起電流の発生と回転検出動作について図20を用いて説明する。
図20において、駆動パルスSPの出力によって、ロータ61が正転方向に回転すると、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、ステップモータ60はスリット角が20度であって、コイルAとコイルBに発生する逆起電圧Ea、Ebは、前述したように、ピーク値の差ΔEがかなり小さいので(図19(a)参照)、逆起電流IaとIbは、発生するタイミングがかなり近く、波形長TWa、TWbも近似していることが理解できる。
すなわち、図20に示すように、駆動パルスSPの出力後、コイルAの逆起電流Iaがマイナス方向に発生し(ハッチングで示す)、コイルB(駆動コイル)の逆起電流Ibがプラス方向に逆起電流Iaに近いタイミングと近似した波形長で発生している(ハッチングで示す)。
回転検出期間TCの期間中、検出パルスCPが所定の周期で出力され、この逆起電流Ia、Ibをサンプリングし、回転検出回路30は、所定の閾値Vthを超えた検出信号CSを計数する。
ここで、駆動コイルであるコイルBに発生する第1検出信号CS1は、駆動波形O3(コイル端子O3)に現れ、また、駆動コイルではないコイルAに発生する第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。
そして、コイルAの逆起電流IaとコイルB(駆動コイル)の逆起電流Ibは、前述したように、発生するタイミングが近く、また、波形長TWa、TWbが近似しているので、回転検出回路30のVthを超える第1検出信号CS1と第2検出信号CS2の検出総数は近似した数となり、図20の例では、共に2個である。
ここで、回転の成否の判定を第1の実施形態のアルゴリズム(図8参照)で行うならば、第1検出信号CS1と第2検出信号CS2の検出総数が同じなので、ステップS5で判定Yとなり、ロータ61は回転したにもかかわらず非回転と判定される。また、波形長TWa、TWbの差が小さいので、逆起電流Ia、Ibのわずかな変化で回転検出の判定は変動し信頼できない。
次に、スリット角20度のステップモータ60(図18(a)参照)に駆動パルスSPを供給し、ステップモータ60のロータ61が負荷変動等の理由で非回転となった場合の逆起電流の発生と回転検出動作について図21を用いて説明する。
図21において、駆動パルスSPの出力によって、ロータ61が正転方向に駆動されたが非回転となった場合、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、ステップモータ60はスリット角が20度であって、コイルAとコイルBに発生する逆起電圧Ea、Ebのピーク値の差ΔEは、前述したように、かなり小さいので、逆起電流IaとIbは、発生するタイミングが近く、波形長TWa、TWbも大差がないことが理解できる。
すなわち、図21に示すように、駆動パルスSPの出力後、コイルB(駆動コイル)の逆起電流Ibがプラス方向に発生し(ハッチングで示す)、少しあとからコイルAの逆起電流Iaがマイナス方向に発生している(ハッチングで示す)。
回転検出期間TCの期間中、検出パルスCPが所定の周期で出力され、この逆起電流Ia、Ibをサンプリングし、回転検出回路30は、所定の閾値Vthを超えた検出信号CSを計数する。
ここで、図20と同様に、第1検出信号CS1は、駆動波形O3(コイル端子O3)に現れ、第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。
そして、コイルAの逆起電流IaとコイルB(駆動コイル)の逆起電流Ibは、前述したように、発生するタイミングが比較的近く、また、波形長TWa、TWbも大差がないので、回転検出回路30のVthを超える第1検出信号CS1と第2検出信号CS2の総数には大きな差が無く、図21の例では、第1検出信号CS1が3個であり、第2検出信号CS2が1個である。
ここで、回転の成否の判定を前述した第1の実施形態のアルゴリズム(図8参照)で行うならば、駆動コイル側の第1検出信号CS1の検出総数の方が多いので、ステップS5で判定Yとなり、正しく非回転と判定される。しかし、波形長TWa、TWbの差はそれほど大きくないので、逆起電流のわずかな変化で回転検出の判定は変動し、回転検出の判定精度は低いと言える。
このように、スリット角20度のステップモータ60は、コイルAとコイルBに発生する逆起電流Ia、Ibの波形の差が小さいので、ロータの回転検出の成否を高精度に判定することはむずかしいことが理解できる。
また、前述した第2の実施形態のアルゴリズム(図15参照)で回転の成否を判定したとしても、コイルAとコイルBに発生する逆起電流Ia、Ibの発生タイミングが近く発生時期が重なっているので、コイルAとコイルBのどちらの検出信号CSが早く発生するかを判定することは困難であり、第2の実施形態のアルゴリズムであっても、ロータの回転検出の成否を高精度に判定することはむずかしい。
次に、スリット角120度のステップモータ70(図18(b)参照)に駆動パルスSPを供給し、ステップモータ70のロータ71が回転した場合の逆起電流の発生と回転検出動作について図22を用いて説明する。
図22において、駆動パルスSPの出力によって、ロータ71が正転方向に回転すると、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、ステップモータ70はスリット角が120度であって、コイルAとコイルBに発生する逆起電圧Eのピーク値の差ΔEは、それほど大きくないので(図19(c)参照)、逆起電流IaとIbは、発生するタイミングは多少離れてはいるが、スリット角が75度のステップモータ50(図9参照)ほどではなく、また、波形長TWa、TWbは近似していることが理解できる。
すなわち、図22に示すように、駆動パルスSPの出力後、コイルAの逆起電流Iaがマイナス方向に発生し(ハッチングで示す)、コイルB(駆動コイル)の逆起電流Ibがプラス方向に逆起電流Iaから多少離れたタイミングで、且つ、近似した波形長で発生している(ハッチングで示す)。
回転検出期間TCの期間中、検出パルスCPが所定の周期で出力され、この逆起電流Ia、Ibをサンプリングし、回転検出回路30は、所定の閾値Vthを超えた検出信号CSを計数する。
ここで、前述の図20と同様に、第1検出信号CS1は、駆動波形O3(コイル端子O3)に現れ、第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。
そして、コイルAの逆起電流IaとコイルB(駆動コイル)の逆起電流Ibは、前述したように、タイミングは多少離れているが、波形長は近似しているので、回転検出回路30のVthを超える第1検出信号CS1と第2検出信号CS2の検出総数は近似した数となり、図22の例では、第1検出信号CS1が6個であり、第2検出信号CS2が5個である。
ここで、回転の成否の判定を前述した第1の実施形態のアルゴリズム(図8参照)で行うならば、第1検出信号CS1の検出総数方が多いので、ステップS5で判定Yとなり、回転したにもかかわらず、非回転と判定され、回転検出の判定は信頼できない。
次に、スリット角120度のステップモータ70(図18(b)参照)に駆動パルスSPを供給し、ステップモータ70のロータ71が負荷変動等の理由で非回転となった場合の逆起電流の発生と回転検出動作について図23を用いて説明する。
図23において、駆動パルスSPの出力によって、ロータ71が正転方向に駆動されたが非回転となった場合、コイルAから逆起電流Iaが発生し、コイルB(駆動コイル)から逆起電流Ibが発生する。ここで、ステップモータ60はスリット角が120度であって、コイルAとコイルBに発生する逆起電圧Ea、Ebのピーク値の差ΔEは、前述したように、それほど大きくないので、逆起電流IaとIbは、発生するタイミングは比較的近く、波形長TWa、TWbも大差がないことが理解できる。
すなわち、図23に示すように、駆動パルスSPの出力後、コイルB(駆動コイル)の逆起電流Ibがプラス方向に発生し(ハッチングで示す)、少しあとからコイルAの逆起電流Iaがマイナス方向に発生している(ハッチングで示す)。
回転検出期間TCの期間中、検出パルスCPが所定の周期で出力され、この逆起電流Ia、Ibをサンプリングし、回転検出回路30は、所定の閾値Vthを超えた検出信号CSを計数する。
ここで、前述の図22と同様に、第1検出信号CS1は、駆動波形O3(コイル端子O3)に現れ、第2検出信号CS2は、駆動波形O2(コイル端子O2)に現れる。
そして、コイルAの逆起電流IaとコイルB(駆動コイル)の逆起電流Ibは、前述したように、タイミングが比較的近く、また波形長TWa、TWbも大差が無いので、回転検出回路30のVthを超える第1検出信号CS1と第2検出信号CS2の検出総数には大きな差が無く、図23の例では、第1検出信号CS1が5個であり、第2検出信号CS2が3個である。
ここで、回転の成否の判定を前述した第1の実施形態のアルゴリズムで行うならば、駆動コイル側の第1検出信号CS1の検出総数の方が多いので、ステップS5で判定Yとなり、正しく非回転と判定される。しかし、波形長TWa、TWbの差はそれほど大きくないので、逆起電流のわずかな変化で回転検出の判定は変動し、回転検出の判定精度は低いと言える。
このように、スリット角120度のステップモータ70においても、コイルAとコイルBに発生する逆起電流Ia、Ibの波形の差が比較的小さいので、ロータの回転検出の成否を高精度に判定することはむずかしいことが理解できる。
また、前述した第2の実施形態のアルゴリズム(図15参照)で回転の成否を判定したとしても、コイルAとコイルBに発生する逆起電流の発生タイミングが比較的近いので、第2の実施形態のアルゴリズムであっても、ロータの回転検出の成否を高精度に判定することはむずかしい。
以上のように、逆起電圧Eのピーク値の差ΔEが小さいスリット角20度及び120度のステップモータ60、70は、前述したスリット角75度のステップモータ50と比較すると、コイルAとコイルBに発生する逆起電流Ia、Ibの波形の差が小さいので、ロータの回転検出の成否を高精度に判定することはむずかしく、スリット角75度、またはそれに近いスリット角を有するステップモータが、逆起電流Ia、Ibの波形の差が大きく、ロータの回転検出の成否を高精度に判定できると言える。
[ステップモータの最適なスリット角の説明:図24]
次に、ロータの回転の成否を高精度に判定するためのステップモータの最適なスリット角範囲について図24を用いて説明する。ここで、図24の説明の条件として、逆起電流Ia、Ibのそれぞれの波形長TWa、TWbを規定するために、一例として絶対値で0.15mA以下の逆起電流を無視した。
すなわち、逆起電流Iaでは絶対値で0.15mAを超える凸部の立ち上がりから立ち下がりまでの時間を波形長TWaと規定し、逆起電流Ibでは、同様に絶対値で0.15mAを超える凸部の立ち上がりから立ち下がりまでの時間を波形長TWbと規定する。なお、一例として0.15mA以下を無視する理由は、逆起電流に乗るノイズ等の影響を排除するためである。
図24(a)は、駆動パルスSPの出力によってステップモータのロータが回転した場合における波形長TWaと波形長TWb及びその波形長差TW1(TWa−TWb)をステップモータの所定のスリット角毎に取得してプロットしたグラフであり、横軸がスリット角、縦軸が波形長(mS)である。
なお、スリット角は20度、30度、45度、60度、75度、90度、100度、120度でプロットした。ここで、図24(a)で明らかなように、ロータが回転した場合の波形長TWaと波形長TWbの波形長差TW1(▲で示す)は、スリット角が約50度以下、及び約100度以上では、短くなる傾向である。
また、図24(b)は、駆動パルスSPを出力したがステップモータのロータが負荷変動等の理由によって非回転となった場合における波形長TWaと波形長TWb及びその波形長差TW2(TWa−TWb)をステップモータの所定のスリット角毎に取得してプロットしたグラフである。なお、スリット角は、図24(a)と同じである。ここで、図24(b)で明らかなように、ロータが非回転の場合の波形長TWaと波形長TWbの波形長差TW2(▲で示す)は、スリット角が約50度以下、及び約100度以上では、絶対値で短くなる傾向である。
なお、波形長TWaが、すべてのスリット角において0.0mSである理由は、絶対値で0.15mA以下を無視することで、逆起電流Iaの波形長TWaが存在しなかったことによる。
次に、図24(c)は、図24(a)でプロットした波形長差TW1と図24(b)でプロットした波形長差TW2の差、すなわち、ロータが回転した場合の波形長差TW1と、ロータが非回転であった場合の波形長差TW2と、の差である波形長差TW12をステップモータのスリット角毎に算出してプロットしたグラフである。なお、波形長差TW2は、図24(b)に示すように符号がマイナスであるので、波形長差TW1と波形長差TW2の差は、絶対値の加算となる。
この図24(c)から、波形長差TW12が最も大きくなる点はスリット角75度付近であり、スリット角が約50度以下、及び約100度以上では、急速に小さくなることが理解できる。
なお、前述の逆起電圧Ea、Ebのグラフ(図3、図19)からは、スリット角90度のステップモータが、逆起電流の波形の差が最も大きくなると想定できたが、逆起電流Ia、Ibは、前述したように、様々な要因によって影響を受けるために、実際の逆起電流Ia、Ibの波形の差(すなわち、波形長差TW12)が最も大きくなるは、この図24(c)からスリット角が75度付近のステップモータであることが理解できる。
ここで、逆起電流の波形長TWaと波形長TWbは、たとえば前述の図9によって明らかなように、検出信号CSの検出総数に対応する値である。すなわち、図9において、波形長TWaが長い逆起電流Iaの第2検出信号CS2の検出総数は8個であり、波形長TWbが短い逆起電流Ibの第1検出信号CS1の検出総数は3個であった。このことから、波形長TWaと波形長TWbの差である波形長差TW1、及びTW2は、ロータの回転検出のしやすさ(検出精度)に対応する値であり、波形長差TW12は、ロータの回転と非回転が明確になるファクターと言える。
従って、波形長差TW12が大きいことは、ロータが回転した場合の逆起電流IaとIbの波形の差が大きく、且つ、ロータが非回転である場合の逆起電流IaとIbの波形の差も大きいので、波形長差TW12が大きいほど、ロータの回転の成否を明確に検出し判定できるのである。
以上のことから、図24(c)で明らかなように、波形長差TW12が最も大きくなるスリット角75度付近を中心にして、スリット角が50度以上、且つ、100度以下の範囲を備えたステップモータを構成することで、ロータの回転の成否を高精度に判定するステップモータを実現できる。このスリット角75度付近を中心として、スリット角50度以上、100度以下の範囲を備えたステップモータが第3の実施形態のステップモータである。
以上のように、第3の実施形態のステップモータによれば、ロータが回転した場合の逆起電流IaとIbの波形の差(波形長差TW1)が大きく、且つ、ロータが非回転である場合の逆起電流IaとIbの波形の差(波形長差TW2)も大きいので、逆起電流IaとIbを検出することでロータの回転の成否を高精度に判定するステップモータを提供できる。その結果、第1または第2の実施形態の2コイルステップモータ用駆動回路と、第3の実施形態のステップモータを用いることにより、ロータの回転検出を高精度に実現し、負荷変動に対応して低消費電力で、誤回転が少なく、指針による時刻表示の信頼性に優れた高性能な電子時計を提供できる。
[第4の実施形態]
[第4の実施形態の回転検出のフロー説明:図25]
次に、第4の実施形態の回転検出のフローを図25のフローチャートを用いて説明する。なお、第4の実施形態の特徴は、二つのコイルの内、片側のコイルからの検出信号によりロータ51の回転の成否を判定すること、及び、ロータ51が確実に回転していると判定されるように、駆動パルスSPのランク(駆動パルスの強さ)を適正なものに調節することである。なお、駆動回路10の構成や使用するステップモータは、これまでの実施形態同様に第1の実施形態と同様(図1、図2、図4参照)とする。
ここで、駆動パルスSPのランクは、駆動パルスSPの出力期間として割り当てられた時間期間に対する、実際に駆動パルスSPが出力される時間の割合でとして示され、例えば、18/24等のように示される。この表示は、駆動パルスSPの出力期間である24単位の時間中、実際に駆動パルスSPが出力される時間が18単位であることを意味している。駆動パルスSPのランク18/24に対し、1段階上のランクは19/24であり、1段階下のランクは17/24となる。駆動パルスSPのランクが高いほど、ロータ51の回転力は強くなり、正常に回転しやすくなるが、消費電力も大きくなる。一方、駆動パルスSPのランクが低いほど、消費電力は小さくなるが、ロータ51の回転力は弱くなり、回転に失敗する可能性が高くなる。
図25において、駆動回路10の制御回路12は、運針タイミングにおいて駆動パルス発生回路13を制御し、駆動パルスSPを出力させる(ステップS20:SP出力)。この駆動パルスSPは、パルス選択回路16を経てドライバ回路20に入力され、適宜のコイル端子、例えば、コイル端子O4に出力される。
次に、制御回路12は、検出パルス発生回路15から検出パルスCPを出力させ、パルス選択回路16を経由してドライバ回路20に出力させる。ドライバ回路20は、入力した検出パルスCPによってコイルA、コイルBから発生する逆起電流を検出する回転検出期間を開始する(ステップS21:回転検出開始)。この時、本実施形態では、検出パルスCPは駆動パルスSPが出力されるコイルとは異なるコイルに対し出力される。また、検出パルスCPが出力されるタイミングについては後述する。
ドライバ回路20からの検出信号CSは、回転検出回路30により判定され、ステップモータ50のロータ51の回転の有無を判定する(ステップS22:止り判定?)。この判定は、検出結果が、止判定であるか否かによりなされる。ここで、止判定の逆の判定は、回転判定であり、これはロータ51が確実に回転したことを示す判定である。これに対し、止判定は、ロータ51が回転失敗している可能性があることを示す判定であり、ロータが回転失敗している場合には確実に止判定がなされるが、ロータが回転している場合にも止判定がなされる場合があり得る。この止判定の詳細についても後述する。
ここで、止判定がなされた場合(判定Y)、ロータ51が回転失敗している可能性があるため、補正パルスFPを出力して確実にロータ51を回転させるとともに、次回運針時にロータが回転するよう、駆動パルスSPのランクを上げる処理(ステップS23:FP・ランクUP)を実行する。これに対し、止判定がなされなかった場合(判定N)、駆動パルスSPはロータ51を回転させるに十分な駆動力を持っていることを意味しているから、駆動パルスSPのランクを下げる処理(ステップS24:ランクDOWN)を実行する。
駆動パルスSPのランクを上げる処理では、まず、制御回路12は、所定のタイミングで補正パルスFPを補正パルス発生回路14に出力させ(ステップS30:FP出力)、パルス選択回路16を経由してドライバ回路20に入力する。補正パルスFPは駆動パルスSPが出力された端子と同じコイル端子に出力され、ステップモータ50のロータ51は確実に回転させられる。
そして、制御回路12は、駆動パルスSPの現在のランクが最大ランクであるか否かを判定する(ステップS31:maxランク?)。ここで、最大ランクである場合(判定N)には、駆動パルスSPのランクを1ランク上げる(ステップS32:1ランクアップ)。これに対し、すでに駆動パルスSPが最大ランクである場合(判定Y)には、駆動パルスSPのランクを最小ランクに設定する(ステップS33:最小ランク)。これは、駆動パルスSPのランクが何らかの原因で高すぎることに起因して、上述の止判定がなされている場合に、駆動パルスのランクを適切な値に下げることができなくなる不具合を避けるための制御である。
一方、駆動パルスSPのランクを下げる処理では、まず、制御回路12は、駆動パルスSPの現在のランクにおいて、回転判定がなされた回数をカウントし、その回数である動判定回数が所定の回数、例えば、256回に達したか否かを判定する(ステップS40)。回転判定は、前述の通り、止判定がなされなかった場合を指しており、具体的にはステップS22で判定Yとなった場合である。そして、動判定回数が256回に達した場合(判定Y)には、駆動パルスSPのランクを1ランク下げる(ステップS41)。動判定回数が256回に満たない場合(判定N)には、駆動パルスSPのランクは下げられることなく、現在のランクが維持される。
以上の制御により、止判定、すなわち、ステップモータ50のロータ51が回転失敗した可能性がある場合には、補正パルスFPが出力されてロータ51が確実に回転させられるとともに、駆動パルスSPのランクが上げられ、駆動パルスSPのランクが、ロータ51を確実に回転させられる程度となるよう調整される。これにより、運針に失敗して時刻ずれが生じることが防止される。一方で、回転判定、すなわち、ステップモータ50のロータ51が回転したことが確実である場合には、動判定回数が所定の回数に達し、駆動パルスSPのランクがロータ51を回転させるに十分高いと考えられる場合に、駆動パルスSPのランクを下げ、駆動パルスSPのランクが不必要に高くならないように調整される。この結果、駆動パルスSPのランクは、ロータ51を確実に回転させられ、かつ、不必要に高くならない程度に維持されるから、ステップモータ50の確実な動作と、省電力とが両立される。
続いて、図26〜28のタイミングチャートを参照して、本実施形態における回転検出方法を説明する。
[第4の実施形態の回転検出動作の説明:図26〜28]
図26のタイミングチャートは、経過時間(mS)を横軸に取り、コイルA、コイルBにそれぞれ発生する逆起電力Ia及びIbと、検出パルスCP、各端子O1、O2、O3及びO4における駆動波形を示しており、駆動パルスSPのランクが不足しており、ステップモータ50のロータ51が非回転であった場合を示す図である。
図26において、駆動パルスがコイル端子O4から出力されると、ロータ51が正転方向に回転する。この時、駆動パルスSPが出力されたコイルBだけでなく、駆動パルスSPが出力されなかったコイルA側にも、逆起電力Iaが発生する。
この時、コイルA側の逆起電力Iaは、駆動パルスSPの出力期間中は、プラス方向に発生し、その後速やかにマイナス方向に転じる(ハッチングで示す)。このマイナス方向の逆起電力Iaは、ここで示した例では、ロータ51が非回転であるため、さほど大きくなく、また、駆動パルスSPの出力期間が終わってからのタイミングで発生する。また、マイナス方向の逆起電力Iaが発生する期間も短い。
これに対し、図27のタイミングチャートは、駆動パルスSPのランクが高くなり、ステップモータ50のロータ51が回転した場合を示す図である。
図27に示すように、ここで示す例では、ロータ51が回転するため、コイルA側について、駆動パルスSPの出力に伴い発生するプラス方向の逆起電力Iaに続けて発生するマイナス方向の逆起電力Iaの強さは、図26で示した非回転の場合に比べて若干強くなり、またその期間も長くなる。しかしながら、この駆動パルスSPのランクでは、マイナス方向の逆起電力Iが発生するタイミングは、依然として駆動パルスSPの出力期間が終わってからである。
さらに駆動パルスSPのランクが高くなると、図28のタイミングチャートに示すような波形となる。図28のタイミングチャートは、駆動パルスSPのランクがさらに高くなり、ステップモータ50のロータ51が回転した場合を示す図である。
図28に示すように、ここで示す例では、ロータ51が回転して、コイルA側について、駆動パルスSPの出力に伴い発生するプラス方向の逆起電力Iaに続けて発生するマイナス方向の逆起電力Iaの強さは、図27で示した場合よりさらに強くなる。また、それに伴い、マイナス方向の逆起電力Iaが発生するタイミングが早くなり、駆動パルスSPの出力期間が終わる前に現れるようになる。
本実施形態での回転検出動作は、駆動パルスSPが出力されたコイルBとは異なるコイルAにおける、このような逆起電力Iaの変化を利用してなされるものであり、駆動パルスSPの出力期間を、回転検出期間TCとしている。そして、回転検出期間TCの間、検出パルスCPをコイルAの端子O2に0.5mS間隔で出力する。その結果得られる、所定の閾値Vthを超えた検出信号CSの数を計数することにより、回転検出動作、すなわち、止判定を行っている。
そして、本実施形態の回転検出動作における止判定は、所定の閾値Vthを超えた検出信号CSの数が所定の数に満たないことによりなされる。ここでの例では、所定の数は1としているため、所定の閾値Vthを超えた検出信号CSが1つも得られない場合に止判定がなされ、そうでない場合は回転判定となる。
先の図26〜28の例に即して説明すると、まず、図26に示した場合では、回転検出期間TC中に、端子O2から得られる所定の閾値Vthを超える検出信号は存在しないため、止判定がなされる。同図に示した場合は、ロータ51が非回転の場合であるため、この場合には、止判定はロータ51の非回転を正しく判定できていることになる。
次に、図27に示した場合では、やはり同様に回転検出期間TC中に、端子O2から得られる所定の閾値Vthを超える検出信号は存在しないため、止判定がなされる。しかしながら、同図に示した場合は、ロータ51が回転の場合である。したがって、この場合には、ロータ51が回転できているにもかかわらず止判定がなされていることになる。
さらに、図28に示した場合では、回転検出期間TCの終わりに、端子O2から得られる所定の閾値Vthを超える検出信号CSが現れる。したがって、この検出信号CSが検出されることにより、止判定はなされず、この場合には、回転判定がなされる。すなわち、この場合には、ロータ51が回転していることを正しく判定できていることになる。
以上の説明にて示すように、第4の実施形態によれば、片側のコイルに対して検出パルスCPを出力し、回転検出を行うことによっても、ステップモータ50の回転検出が可能となる。また、非回転の可能性がある場合を止判定として検出し、補正パルスFPの出力を行うことで、運針ミスによる時刻ずれを防止するとともに、駆動パルスSPのランクを適切な値に調整して省電力を図ることができる。
なお、本実施形態においては、所定の閾値Vthを超える検出信号CSが検出できたタイミングによって、次の駆動パルスSPを出力するタイミングを定めるようにしてもよい。例えば、所定の閾値Vthを超える検出信号CSが検出され、回転検出がなされた時点から所定時間後に次の駆動パルスSPを出力するようにしてもよい。このようにすることで、例えば、指針を早送りする場合などに、より高速な駆動が可能となる。
あるいは、所定の閾値Vthを超える検出信号CSが検出できた個数によって、次の駆動パルスSPを出力するタイミングを定めるようにしてもよい。例えば、検出できた個数が1個の場合は、駆動パルスSPの出力から次の駆動パするSPの出力までの間隔を4.5msとし、2個の場合は4ms、3個の場合は3.5msとするなどである。
[第4の実施形態の回転検出動作の変形例1:図29〜33]
第4の実施形態の回転検出動作は、種々の変形を加えてよい。先の例では、止判定は、所定の閾値Vthを超えた検出信号CSの数が所定の数に満たないことによりなされたが、ここで説明する変形例1では、所定の閾値Vthを超えた検出信号CSが最初に検出されたタイミングが駆動パルス出力期間でないことにより止判定がなされる。
図29は、図26と同様、駆動パルスSPのランクが低く、ロータ51が非回転の場合のタイミングチャートである。ここで示すように、回転検出期間TCは、駆動パルス出力期間の初期から、駆動パルス出力期間経過後の相当程度経過した時点までに設定されている。そして、同図に示した場合では、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは、CS1及びCS2の2群が検出されるが、最初に検出された検出信号CS、すなわち、検出信号CS1のうち最も早く検出された信号は、駆動パルス発生期間の終了後の信号であるため、本変形例の回転検出動作では、止判定がなされる。すなわち、ロータ51の非回転が正しく検出される。
図30は、図27と同様、駆動パルスSPのランクが上がり、ロータ51が回転した場合のタイミングチャートである。この場合には、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは一群のものとして検出されるが、しかし、検出信号CSの内、最も早く検出された信号は、やはり駆動パルス発生期間の終了後の信号であるため、本変形例の回転検出動作では、止判定がなされる。したがって、本変形例でも、先の例と同じく、ロータ51が回転できているにもかかわらず止判定がなされていることになる。
さらに図31は、図28と同様、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合のタイミングチャートである。この場合にもコイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは一群のものとして検出される。そして、検出信号CSの内、最も早く検出された信号は、やはり駆動パルス発生期間の終了前の信号であるため、この場合には回転判定がなされる。したがって、この場合には、ロータ51が回転していることを正しく判定できていることになる。
なお、この判定は、所定の閾値Vthを超える検出信号CSが2回以上連続で検出できた期間のうち、その検出回数が最も多い期間が駆動パルス出力期間と重複しない場合を止判定として行うようにしてもよい。
また、本変形例における制御回路12の動作は、図25で示したものと同じでもよいが、これをさらに変形してもよい。例えば、図32に示すフローチャートでは、ステップS20〜23は、図25で示したものと同じである。そして、ステップS22で止判定がなされなかった場合(判定N)、駆動パルスSPのランクを変化させる処理(ステップS25:ランクUPDOWN)を実行ようにしてもよい。
駆動パルスSPのランクを変化させる処理は、まず駆動パルスSPの検出期間内に検出された検出信号CSの個数が1個であるかを判定する(ステップS50:検出個数が1個?)。1個である場合(判定Y)、ロータ51は回転しているものの、駆動力が十分であるとは言えず、不安定である可能性があるため、駆動パルスSPのランクを1ランク上げる(ステップS51:1ランクアップ)。検出信号CSの個数が1個でない場合(判定N)、さらに検出信号CSの個数が2個であるかを判定する(ステップS52:検出個数が2個?)。2個の場合(判定Y)、駆動力は適正と判断し、駆動パルスSPのランクは維持される。2個でない場合(判定N)、すなわち、駆動パルスSPの検出期間内に検出された検出信号CSの数が3以上である場合には、駆動パルスSPのランクが高すぎると考えられるため、駆動パルスSPのランクを1ランク下げる(ステップS53:1ランクダウン)ようにする。
あるいは、別の変形として、図25で示したフローチャートにおいて、駆動パルスSPのランクを下げる処理(ステップS24:ランクDOWN)を図33に示すものとしてもよい。
この変形における駆動パルスSPのランクを下げる処理は、まず駆動パルスSPの出力期間内に検出された検出信号CSの個数が1個であるかを判定する(ステップS60:検出個数が1個?)。1個である場合(判定Y)、ロータ51は回転していることから、駆動力に余裕があるか否かをさらに判定するため、さらに、検出信号CSの個数が1個である場合の動判定回数をカウントし、その数が256回に達したか否かを判定する(ステップS61:検出個数1個を継続しつつ動判定回数256回?)。この数が256回に達していれば(判定Y)、駆動パルスSPのランクを1ランク下げ(ステップS62:1ランクダウン)、256回に達していなければ(判定N)、駆動パルスSPのランクはそのまま維持する。
また、駆動パルスSPの検出期間内に検出された検出信号CSの個数が1個でない場合(ステップS60:判定N)、さらに、検出信号CSの個数が2個以上である場合の動判定回数をカウントし、その数が128回に達したかないかを判定する(ステップS63:検出個数2個以上を継続しつつ動判定回数128回?)。この数が128回に達していれば(判定Y)、駆動パルスSPのランクを1ランク下げ(ステップS64:1ランクダウン)、128回に達していなければ(判定N)、駆動パルスSPのランクはそのまま維持する。
この制御は、現在の駆動パルスSPのランクによるステップモータ50の回転安定性を考慮したもので、現在の駆動パルスSPのランクがおおむね適正であると考えられる場合には、ロータ51が十分な回数連続して回転成功した場合に限り、駆動力に余裕があるものとしてランクを下げる。また、現在の駆動パルスSPのランクが高く、駆動力に余裕があると考えられる場合には、ロータ51がより少ない回数連続して回転成功した場合にランクを下げることにより、速やかに消費電力の削減を図ろうとするものである。
[第4の実施形態の回転検出動作の変形例2:図34〜38]
さらなる第4の実施形態の回転検出動作の変形例として、駆動パルス出力期間の終了直後において、所定の閾値Vthを超えた検出信号CSが連続して検出された個数により止判定をしてもよい。すなわち、ここで説明する変形例2では、駆動パルス出力期間の終了直後から、所定の閾値Vthを超えた検出信号CSが連続して(すなわち、検出に失敗することなく)所定の回数以上検出されないことにより止判定がなされる。
図34は、図26と同様、駆動パルスSPのランクが低く、ロータ51が非回転の場合のタイミングチャートである。ここで示すように、回転検出期間TCは、駆動パルス出力期間の終了直後から、相当程度の時間が経過した時点までに設定されている。そして、同図に示した場合では、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは、CS1及びCS2の2群が検出されるが、駆動パルス出力期間の終了直後から検出される検出信号CS1が連続して検出される個数は3個である。すなわち、先に説明したように、ロータ51が非回転である場合には、駆動パルスSPの出力後、コイルAに生じるマイナス方向の逆起電力Iaは、その強さが弱く、また、その期間も短いため、これ以上検出信号CS1が連続して検出されることはない。
そして、本変形例では、駆動パルス出力期間の終了直後から検出される検出信号CSが、連続して4回検出されなければ止り判定がなされるようになっている。したがって、この例では、止判定がなされ、ロータ51の非回転が正しく検出される。
図35は、図27と同様、駆動パルスSPのランクが上がり、ロータ51が回転した場合のタイミングチャートである。この場合には、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは長期間連続して検出され、図示の例では15個である。すなわち、駆動パルス出力期間の終了直後から検出される検出信号CSが、連続して4回以上連続して検出されることから、この場合は止判定はなされず、回転判定となる。すなわち、本変形例では、ロータ51が回転できていることを正しく判定できていることになる。
さらに図36は、図28と同様、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合のタイミングチャートである。この場合にもコイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSはある程度の期間連続して検出され、図示の例では5個である。したがって、この場合にもやはり回転判定がなされ、ロータ51が回転していることを正しく判定できていることになる。
なお、この判定は、所定の閾値Vthを超える検出信号CSが2回以上連続で検出できた期間のうち、その検出回数が最も多い期間が駆動パルス出力期間と重複しない場合には止判定をするようにしてもよい。その場合には、回転検出期間TCは、少なくとも、駆動パルス出力期間の末尾と重複するように設定する必要がある。
また、本変形例における制御回路12の動作は、図25で示したものと同じでもよいが、これをさらに変形してもよい。例えば、図37に示すフローチャートでは、ステップS20〜23は、図25で示したものと同じである。そして、ステップS22で止判定がなされなかった場合(判定N)、駆動パルスSPのランクを変化させる処理(ステップS25:ランクUPDOWN)を実行ようにしてもよい。なお、このステップS25は第4の実施形態の変形例1で説明した図32で示したものと同じである。
本変形例の駆動パルスSPのランクを変化させる処理は、まず駆動パルス出力期間の終了直後から、連続して検出された検出信号CSの個数をカウントし、その個数が8個以上であるかを判定する(ステップS70:検出個数が8個以上?)。8個以上の場合(判定Y)、駆動パルスSPのランクは、ロータ51を回転させることはできるが、安定してロータ51を回転させるに足る駆動力の余力がない状態にあると考えられる。すなわち、コイルBに駆動パルスSPを正転方向に出力した場合を考えると、駆動パルス出力直後からコイルAに生じる逆起電力Iaの強さはさほど強くなく、またその継続期間が長い、図35に示した状態にあることになる。したがって、この場合は、駆動パルスSPのランクを1ランク上げる(ステップS71:1ランクアップ)。
一方、連続して検出された検出信号CSの個数をカウントし、その個数が8個以上でない場合(ステップS70:判定N)、さらに連続して検出された検出信号CSの個数が5個以上であるかを判定する(ステップS72:検出個数が5個以上?)。5個以上の場合(判定Y)、駆動パルスSPのランクは適正な状態にあると考えられるから、そのままのランクが維持される。一方、5個以上でない場合(判定N)、すなわち、4個である場合には、駆動パルスSPのランクが高すぎ、駆動力が強すぎるための誤判定が生じうると考えられるため、駆動パルスSPのランクを1ランク下げる(ステップS73:1ランクダウン)。
あるいは、別の変形として、図25で示したフローチャートにおいて、駆動パルスSPのランクを下げる処理(ステップS24:ランクDOWN)を図38に示すものとしてもよい。
この変形における駆動パルスSPのランクを下げる処理は、まず駆動パルス出力期間の終了直後から、連続して検出された検出信号CSの個数をカウントし、その個数が5個以上であるかを判定する(ステップS80:検出個数が5個以上?)。5個以上である場合(判定Y)、ロータ51は回転していることから、駆動力に余裕があるか否かをさらに判定するため、さらに、連続して検出された検出信号CSの個数が5個以上である場合の動判定回数をカウントし、その数が256回に達したか否かを判定する(ステップS81:検出個数5個以上を継続しつつ動判定回数256回?)。この数が256回に達していれば(判定Y)、駆動パルスSPのランクを1ランク下げ(ステップS82:1ランクダウン)、256回に達していなければ(判定N)、駆動パルスSPのランクはそのまま維持する。
また、駆動パルス出力期間の終了直後から、連続して検出された検出信号CSの個数が5個以上でない場合(ステップS80:判定N)、すなわち、4個である場合、さらに、連続して検出された検出信号CSの個数が5個未満である場合の動判定回数をカウントし、その数が128回に達したかないかを判定する(ステップS83:検出個数5個未満を継続しつつ動判定回数128回?)。この数が128回に達していれば(判定Y)、駆動パルスSPのランクを1ランク下げ(ステップS84:1ランクダウン)、128回に達していなければ(判定N)、駆動パルスSPのランクはそのまま維持する。
この制御もまた、現在の駆動パルスSPのランクによるステップモータ50の回転安定性を考慮したもので、現在の駆動パルスSPのランクがおおむね適正であると考えられる場合には、ロータ51が十分な回数連続して回転成功した場合に限り、駆動力に余裕があるものとしてランクを下げる。また、現在の駆動パルスSPのランクが高く、駆動力に余裕があると考えられる場合には、ロータ51がより少ない回数連続して回転成功した場合にランクを下げることにより、速やかに消費電力の削減を図ろうとするものである。
[第4の実施形態の回転検出動作の変形例3:図39〜41]
さらなる第4の実施形態の回転検出動作の変形例は、図26〜28を参照して説明したように、コイルAに生じるマイナス方向の起電力Iaを検出する回転検出動作に変えて、コイルAに生じるプラス方向の起電力Iaを検出する動作である(コイルBに正転方向に駆動パルスSPを出力する場合)。
この時、図39〜41に示すように、駆動パルス出力期間においてコイルAに生じるプラス方向の起電力Ia(ハッチングで示した)は、コイルAの端子O1では負方向に検出される。したがって、本変形例では、端子O1に検出パルスCPを出力し、負方向の検出信号CSを検出するものとする。また、回転検出期間TCは、駆動パルス出力期間と同等の期間とする。
本変形例での回転検出動作は、回転検出期間TC中に、所定の閾値Vthを超える検出信号CSが検出された数を計数し、その数に応じて止判定をする点は本実施形態の最初の例と同じであるが、その判定は、検出信号CSが検出された数が所定の数以上である場合に止判定がなされる点が異なっている。この例では、所定の数は5であり、また、回転検出期間TC中に含まれる検出パルスCPの数も5であるから、結局、回転検出期間TC中の検出パルスCPの全てに対して検出信号CSが検出された場合に止判定がなされ、検出信号CSが検出された個数が検出パルスCPの個数に満たない場合に回転判定がなされることに成る。なお、所定の数は必ずしも検出パルスCPの数に一致している必要はなく、1以上少ない数であってもよい。例えば、所定の数を4とすると、この場合には、検出信号CSが4個または5個検出されると止判定がなされ、3個以下の場合には回転判定がなされることになる。
図39のタイミングチャートに示すように、駆動パルスSPのランクが低く、ロータ51が非回転である場合には、端子O1から検出される検出信号CSの数は検出パルスCPの数に等しく、5個である。すなわち、この場合には、正しく止判定かなされる。
図40のタイミングチャートに示すように、駆動パルスSPのランクが高くなりロータ51が回転した場合、端子O1から検出される検出信号CSの数は依然として検出パルスCPの数に等しく、5個である。すなわち、この場合には、ロータ51が回転しているにもかかわらず、止判定がなされることに成る。
図41のタイミングチャートに示すように、駆動パルスSPのランクがさらに高くなり、ロータ51が回転している場合、端子O1から検出される検出信号CSの数は減少し、4個となる。したがって、この場合には、止判定はなされず、正しく回転判定がなされることになる。
なお、第4の実施形態の変形例1にて説明した回転検出動作に準じて、本変形例でも、所定の閾値Vthを超える検出信号CSが最初に検出されなくなったタイミングが、駆動パルス出力期間終了後である場合に止判定をし、検出信号CSが最初に検出されなくなったタイミングが、駆動パルス出力期間内である場合に回転判定としてもよい。また、この時の制御回路12の動作は、図25で示したものと同じでもよく、あるいは、図32又は33に示したものと同様のものであってもよい。
[第4の実施形態の回転検出動作の変形例4:図42]
さらなる第4の実施形態の回転検出動作の変形例は、駆動パルスSPによる駆動力の調整を、ランクの調節によるのではなく、駆動パルスSPの出力時間、すなわち、駆動パルス出力期間自体を変化させることにより行う例である。この場合の駆動パルスSPのランクは、20/24など、適当な値に固定してもよいし、適宜調整するようにしてもよい。また、駆動パルス出力期間は、駆動パルス発生回路13が駆動パルスSPを出力する時点では定まっておらず、駆動パルスSPは継続的に出力される。
図42は、本変形例での回転検出のフローを示すフローチャートである。図42のステップS20、21は、すでに説明した図25におけるものと同じである。また、本変形例での回転検出動作は、第4の実施形態で示した例か、またはその変形例3のものであってよい。すなわち、回転検出期間TCは駆動パルス出力期間SPと同等であり、回転検出期間TC中に所定の回数以上の検出信号CSが検出された場合に回転判定をするか(第4の実施形態で示した例)、回転検出期間TC中に検出された検出信号CSの個数が所定の数に満たない場合に回転判定をする(変形例3で示した例)。
このとき、検出信号CS、すなわち、回転判定を得るのに必要な検出信号CSが得られるタイミングを判定する。まず、図42に示すように、回転検出を開始してから(ステップS21)、2.5msまでに必要な検出信号CSが得られたか否かを判定する(ステップS90:2.5msまでに検出信号有?)。検出信号CSが得られ、回転判定ができる場合(判定Y)、駆動パルスSPの駆動力は十分であり、その出力期間は短くてよいと考えられるから、駆動パルスSPの幅、すなわち、駆動パルス出力期間を3msにセットする(ステップS91:SP幅3ms)。これにより、駆動パルスSPは3msの間出力が継続され、その後出力は終了することになる。また、検出信号CSが得られて回転判定がなされた後は、回転検出動作を行う必要はないので、検出パルス発生回路15による検出パルスCPの出力も停止してよい。
2.5msまでに必要な検出信号CSが得られなかった場合(ステップS90:判定N)、今度は3.5msまでに必要な検出信号CSが得られたか否かを判定する(ステップS92:3.5msまでに検出信号有?)。検出信号CSが得られ、回転判定ができる場合(判定Y)、次回の駆動パルスSPの幅、すなわち、駆動パルス出力期間は4msにセットする(ステップS93:SP幅4ms)。これにより、駆動パルスSPは4msの間出力が継続され、その後出力は終了することになる。また、回転判定がなされた後は、同様に検出パルスCPの出力も停止してよい。
さらに、3.5msまでに必要な検出信号CSが得られなかった場合(ステップS92:判定N)、今度は4.5msまでに必要な検出信号CSが得られたか否かを判定する(ステップS94:4.5msまでに検出信号有?)。検出信号CSが得られ、回転判定ができる場合(判定Y)、次回の駆動パルスSPの幅、すなわち、駆動パルス出力期間は5msにセットする(ステップS95:SP幅5ms)。これにより、駆動パルスSPは5msの間出力が継続され、その後出力は終了することになる。また、回転判定がなされた後は、同様に検出パルスCPの出力も停止してよい。
4.5msまでに必要な検出信号CSが得られなかった場合(ステップS96:判定N)、電源電圧が低いなど、駆動パルスSPによる駆動力が小さく、その期間を所定の上限値まで伸ばしたとしてもロータ51を十分に回転できない条件であると考えられる。この場合、駆動パルス出力期間は所定の上限値(この例では、5ms)にセットされ、その後適宜のタイミングで、補正パルスFPを出力する(ステップS96:SP幅5ms、FP出力)。こうすることによりロータ51を確実に回転させる。
本変形例では、ロータ51の回転判定が得られるまで駆動パルスSPの幅、すなわち、駆動パルス出力期間を長くして駆動力を高くするものである。したがって、補正パルスFPは、駆動パルス出力期間を、所定の上限値としてもなお回転判定が得られない(すなわち、止判定がなされる)といった場合においてのみ出力され、通常の運針時にはほとんど出力されない。従って、補正パルスFPが不必要に出力されることによる消費電力増を抑えることができる。
図43は、本変形例における、コイルに出力されるパルスの波形図である。同図に示す(1)〜(4)の波形は、駆動パルスSPが出力される側のコイルに出力されるパルスのパターンを示しており、CPは、検出パルスCPの出力タイミングを示している。
(1)に示す波形は、2.5msまでに検出信号CSが得られ、回転判断がなされた場合(図42:ステップS90〜91)を示している。
ここで、駆動パルスSPの詳細な構造について説明する。駆動パルスSPは、さらに短い期間に出力されるチョッパーパルスを多数連続した構造となっている。そして、チョッパーパルスは、所定の期間幅内において、信号が出力されている状態から停止している状態に切りかわる(又はその逆)1つの矩形波である。本例では、チョッパーパルスの幅は0.25msである。また、この期間幅内において、信号が出力されている時間の割合が駆動パルスSPのランクに他ならない。図43に示した駆動パルスSPでは、ランクは14/16であるから、1つのチョッパーパルス中において、信号が出力されている期間は0.21875ms、信号が停止している期間は0.03125msということになる。
そして、駆動パルスSPの幅、すなわち、駆動パルス出力期間中はこのチョッパーパルスが連続して出力される。この(1)の波形では、3.0msの間継続して駆動パルスSPが出力され、その後停止される。
(2)に示す波形は、3.5msまでに検出信号CSが得られ、回転判断がなされた場合(図42:ステップS92〜93)を示している。この波形では、4.0msの間継続して駆動パルスSPが出力され、その後停止される。
(3)に示す波形は、3.5msまでに検出信号CSが得られ、回転判断がなされた場合(図42:ステップS94〜95)を示している。この波形では、5.0msの間継続して駆動パルスSPが出力され、その後停止される。
(4)に示す波形は、3.5msまでに検出信号CSが得らず、止判断がなされた場合(図42:ステップS96)を示している。この波形では、上限値となる5.0msの間継続して駆動パルスSPが出力され、その後停止される。そして、さらに駆動パルスSPの出力開始から32ms後に、補正パルスFPが出力される。この補正パルスFPは、5.0ms幅の連続信号が出力された後、ランク8/16のチョッパーパルスが4.0msの間連続して出力されるというものであるが、補正パルスFPの具体的な構造は特に限定されない。
検出パルスCPは、駆動パルス出力期間の上限値である、出力開始から5.0msの時点までの検出パルスCPの出力タイミングを示すものである。図示の例では、0.5msごとに検出パルスCPが出力されるから、最大で9個の検出パルスが出力されることになる。
図44は、本変形にて出力される駆動パルスSPの別の例を示す図である。この別の例では、駆動パルスSPの出力期間が長くなるほど、駆動パルスSPとして使用されるチョッパーパルスのランクが下がるように変化する。すなわち、駆動パルスSPを構成するチョッパーパルスのランクが、時間経過と共に変化し、具体的には時間経過によりランクが下がるというものである。
(1)に示す3.0ms幅の駆動パルスSPでは、チョッパーパルスのランクに変化はなく、駆動パルスSPを構成するチョッパーパルスのランクは全期間を通して8/16である。
(2)に示す4.0ms幅の駆動パルスSPでは、3.0msを超えた時点以降で出力されるチョッパーパルスのランクは6/16に下げられている。したがって、この駆動パルスSPは、0〜3.0msまではランク8/16、3.0ms〜4.0msまではランク6/16となり、時間経過によりランクが低下している。
(3)に示す5.0ms幅の駆動パルスSPでは、3.0msを超えた時点以降で出力されるチョッパーパルスのランクは6/16、さらに、4.0msを超えた時点以降で出力されるチョッパーパルスのランクは4/16に下げられている。この場合、駆動パルスSPは、0〜3.0msまではランク8/16、3.0ms〜4.0msまではランク6/16、そして4.0ms〜5.0msはランク4/16となる。
(4)に示す5.0ms幅の駆動パルスSPは、(3)のものと同じであり、また、駆動パルスSPの出力開始から32ms後に出力される補正パルスFPも先の例と同じである。
このように、時間経過に応じて、駆動パルスSPを構成するチョッパーパルスのランクが下がるように変化させることにより、駆動パルスSPの出力期間が長くなった場合の消費電力の急激な変化を緩和できる。また、駆動パルスSPの出力期間が変わることによるステップモータ50のトルク変化量を小さくできるため、運針時の指針の挙動の変化を小さくできる。
図45は、本変形にて出力される駆動パルスSPのさらに別の例を示す図である。この例では、駆動パルスSPの出力期間が長くなるほど、駆動パルスSPとして使用されるチョッパーパルスのランクが上がるように変化する。すなわち、駆動パルスSPを構成するチョッパーパルスのランクが、時間経過と共に変化し、具体的には時間経過によりランクが上がるというものである。
(1)に示す3.0ms幅の駆動パルスSPでは、駆動パルスSPを構成するチョッパーパルスのランクは全幅を通して8/16である。
(2)に示す4.0ms幅の駆動パルスSPでは、3.0msを超えた時点以降で出力されるチョッパーパルスのランクは10/16に上げられている。したがって、この駆動パルスSPは、0〜3.0msまではランク8/16、3.0ms〜4.0msまではランク10/16となり、時間経過によりランクが上昇している。
(3)に示す5.0ms幅の駆動パルスSPでは、3.0msを超えた時点以降で出力されるチョッパーパルスのランクは10/16、さらに、4.0msを超えた時点以降で出力されるチョッパーパルスのランクは12/16に上げられている。この場合、駆動パルスSPは、0〜3.0msまではランク8/16、3.0ms〜4.0msまではランク10/16、そして4.0ms〜5.0msはランク12/16となる。
(4)に示す5.0ms幅の駆動パルスSPは、(3)のものと同じであり、また、駆動パルスSPの出力開始から32ms後に出力される補正パルスFPも先の例と同じである。
このように、時間経過に応じて、駆動パルスSPを構成するチョッパーパルスのランクが上がるように変化させることにより、駆動パルスSPの出力期間が長くなった場合のステップモータ50のトルク変化量を大きくできるため、補正パルスFPを必要とすることなく、通常の駆動パルスSPによってロータ51を回転させやすい。そのため、駆動パルスSPの出力開始から短い時間経過で回転判定が得られやすく、指針の早送りなど、ロータ51の高速回転に適している。
[第4の実施形態の回転検出動作の変形例5:図29〜31、46、47]
さらなる第4の実施形態の回転検出動作の変形例として、駆動パルスSPの出力後、所定の閾値Vthを超えた検出信号CSが1以上連続して検出される領域の数に基づいて止判定をしてもよい。ここで説明する変形例5では、駆動パルスSPの出力後、継続的に検出パルスCPを出力し、連続して検出される所定の閾値Vthを超えた検出信号CSの群の数が0または2以上である場合には止判定をし、1である場合には回転判定をするというものである。
本変形例におけるタイミングチャートは、第4の実施形態の変形例1のものと同様であるから、図29〜31を援用する。すなわち、回転検出期間TCは、駆動パルス出力期間の初期から、駆動パルス出力期間経過後の相当程度経過した時点までに設定される。
このとき、図29に示すように、駆動パルスSPのランクが低く、ロータ51が非回転の場合、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSは、CS1及びCS2の2群が検出される。検出信号CS1、CS2はそれぞれ、少なくとも1以上の検出信号CSを含み、なおかつ、連続して検出される信号からなる群である。検出信号の群は単一の検出信号CSからなるものであってもよい。そして、検出信号CSの群が0(まったく検出されない)か、2以上検出される場合には止判定がなされるから、この場合は、ロータ51の非回転が正しく検出されていることになる。
図30に示す、駆動パルスSPのランクが上がり、ロータ51が回転した場合では、図29の場合に分離して生じていた逆起電力Iaの波形が接近してつながるため、検出信号CSの群は1つのみ検出される。すなわち、この場合は止判定はなされず、回転判定となるから、ロータ51の回転が正しく検出されていることになる。
図31に示す、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合には、図29の場合に分離して生じていた逆起電力Iaの波形はさらに接近しあたかも一つの山のようになるため、この場合にも検出信号CSの群は1つのみ検出される。したがって、この場合にも止判定はなされず、回転判定となるから、ロータ51の回転が正しく検出されていることになる。
また、本変形例における制御回路12の動作は、図25で示したものと同じでもよいし、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。
さらに、本変形例において回転判定をする条件として、さらに、1つの検出信号の群に含まれる検出信号CSの数が所定の個数以上であることを追加してもよい。また、回転検出期間TCは、駆動パルス出力期間の開始時点からではなく、駆動パルス出力期間の終了後から開始するようにしてもよい。
あるいは、図37に示すフローチャートにおいて、駆動パルスSPのランクを変化させる処理(ステップS25:ランクUPDOWN)を図46に示すフローとしてもよい。このフローでは、図29〜31に示すように、回転検出期間TCを、複数の個別期間T1、T2、T3に分割している。この例では回転検出期間TCを3つの期間に分割しているが、この数は任意であり、また、各々の個別期間の長さは、互いに異なっていてもよい。ここでは、駆動パルス発生期間の終了時手から順に、期間T1、T2、T3の順に、個別期間が配置されているものとする。
図46に戻り、止判定でない、すなわち、回転判定の場合に、1群の検出信号が、期間T1、T2、T3の全てにまたがって検出されているか否かを判定する(ステップ100:T1〜T3で検出あり?)。1群の検出信号がT1〜T3の全ての期間にまたがっている場合(判定Y)、これは図30に示されるように、駆動パルスSPのランクが、ロータ51を回転させることはできるが弱く不安定な状態であると考えられるから、駆動パルスSPのランクを1ランク上げる(ステップ71)。
1群の検出信号がT1〜T3の全ての期間にまたがっていない場合(判定N)、最後の期間であるT3を除き、1群の検出信号が、期間T1〜T2にまたがって検出されているか否かを判定する(ステップ100:T1〜T2で検出あり?)。1群の検出信号が期間T1〜T2にまたがり、期間T3では検出されない場合(判定Y)、これは、駆動パルスSPのランクが、ロータ51を安定して回転させ、なおかつ、不必要な駆動力を用いていないと考えられるから、駆動パルスSPのランクはそのまま維持される。一方、1群の検出信号が期間T1〜T2にまたがらない場合(判定N)、すなわち、期間T1のみにて検出される場合には、これは、図31に示されるような状態であり、駆動パルスSPのランクはロータ51を回転させるに十分であるが、不要な電力消費をしていると考えられるから、駆動パルスSPのランクを1ランク下げる(ステップS73)。このような制御をすることによっても、片側のコイルに対して検出パルスCPを出力し、回転検出を行うことができ、また、駆動パルスSPのランクを適切な値に調整して省電力を図ることができる。
また、本変形例の回転検出動作は、さらに変形してよい。すなわち、図47のタイミングチャートに示すように、回転検出期間TC中において、所定の閾値Vthを超える最初の検出信号CSが検出された時点で、検出パルスCPの出力周期を短くしてもよい。図47に示した例では、検出信号CS1の最初の信号が検出された時点で、検出パルスCPの出力周期を1/2に変更している。
このようにすることで、回転検出の感度を高め、誤検出の可能性を低減できる。すなわち、2以上の検出信号群が存在する場合、本変形例では止判定がなされなければならないが、条件によっては2以上の検出信号群が近接し、検出パルスCPの出力周期によっては、あたかも一群の検出信号群であるかのように見える場合がある。検出パルスCPの出力周期を短くすることで、このような誤検出を防止できる。
[第4の実施形態の回転検出動作の変形例6:図29〜31]
さらに、第4の実施形態の回転検出動作の変形例として、駆動パルスSPの出力後、所定の閾値Vthを超えた検出信号CSが検出される個数に基づいて止判定をしてもよい。すなわち、所定の閾値Vthを超えた検出信号CSが検出された個数が所定の数に満たなければ止判定をし、所定の数以上である場合には回転判定をするというものである。ここでは、所定の数として8個を設定するものとする。
本変形例におけるタイミングチャートは、第4の実施形態の変形例1のものと同様であるから、図29〜31を援用する。すなわち、回転検出期間TCは、駆動パルス出力期間の初期から、駆動パルス出力期間経過後の相当程度経過した時点までに設定される。
このとき、図29に示すように、駆動パルスSPのランクが低く、ロータ51が非回転の場合、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSの個数は7個である。したがって、所定の数である8個に満たず、止判定がなされるから、この場合は、ロータ51の非回転が正しく検出されていることになる。
図30に示す、駆動パルスSPのランクが上がり、ロータ51が回転した場合では、マイナス方向の逆起電力Iaの波形が長期間にわたって現れるため、所定の閾値Vthを超える検出信号CSの個数は増加し、図示の例では15個である。すなわち、この場合は止判定はなされず、回転判定となるから、ロータ51の回転が正しく検出されていることになる。
さらに図31に示すように、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合には、マイナス方向の逆起電力Iaの波形の強度は強くなるものの、波形が出現する期間自体は短くなる。そのため、図示の例では、所定の閾値Vthを超える検出信号CSの個数は7個となり、ロータ51が回転しているにもかかわらず止判定がなされることになる。
また、本変形例における制御回路12の動作は、図25で示したものと同じでよいし、また、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。この場合、駆動パルスSPのランクが高いことに起因して止判定がなされている場合、駆動パルスSPのランクは図25に示すステップS32が繰返し実行されるためさらに上昇するが、ランクが最高ランクに達すると、ステップS31からステップS33が実行されて最小ランクとなる。その後、再び最小ランクから少しずつランクが上昇していくことによって、適切なランクが選択されることになる。
なお、本変形例では、所定の閾値Vthを超える検出信号CSの個数が所定の個数検出できた時点で、回転検出を終了してもよい。すなわち、検出パルスCPの出力を停止し、回転判定をする。
また、第4の実施形態の変形例5のように、図37に示すフローチャートにおいて、駆動パルスSPのランクを変化させる処理(ステップS25:ランクUPDOWN)を図46に示すフローとし、先に説明したように、回転検出期間を複数の個別期間に分割して、各期間における検出信号CSの有無に基づいて、駆動パルスSPのランクを変化させるようにしてもよい。
[第4の実施形態の回転検出動作の変形例7:図25、29〜31、37、38、48]
さらに、第4の実施形態の変形例として、すでに説明した第4の実施形態の変形例6と、第4の実施形態の変形例1とを組み合わせた変形例7を説明する。すなわち、この変形例では、まず第4の実施形態の変形例6に倣って、所定の閾値Vthを超えた検出信号CSが検出された個数が所定の数以上である場合には回転判定をする。一方で、検出信号CSが検出された個数が所定の数に満たなければ、直ちに止判定はせず、第4の実施形態の変形例1に倣って、最初に検出された検出信号CSが駆動パルス発生期間内であれば回転判定をし、そうでない場合に初めて止判定をするというものである。ここでは、所定の数は先の変形例6同様に8個を設定するものとする。
また、本変形例におけるタイミングチャートは、第4の実施形態の変形例1のものと同様であるから、図29〜31を援用する。回転検出期間TCは、駆動パルス出力期間の初期から、駆動パルス出力期間経過後の相当程度経過した時点までに設定される。
さらに、本変形例における制御回路12の動作は、図25で示したものと同じでよいし、また、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。このとき、図25又は図37にステップ22として示された、止判定を行うフローは、本変形例では、図48に示したフローチャートの通りとなる。
すなわち、止判定を開始した後、まず、所定の閾値Vthを超えた検出信号CSの個数が8個以上であるか否かを判定する(ステップS110:検出個数8個以上?)。検出信号CSの個数が8個以上である場合には(判定Y)、変形例6にて説明した場合と同様に、直ちに回転判定をする(ステップS111:回転判定)。
検出信号CSの個数が8個に満たない場合は(ステップS110:判定N)、最初に所定の閾値Vthを超えた検出信号CSの位置が、駆動パルス出力期間内であるか否かを判定する(ステップS112:最初の検出位置はSP出力期間内?)。最初の検出信号CSの位置が駆動パルス出力期間内である場合は(判定Y)、変形例1で説明した場合と同様に、回転判定をするステップS111)。
なおも、最初の検出信号CSの位置が駆動パルス出力期間内でない場合には(ステップS112:判定N)、止判定をする(ステップS113:止判定)。
この変形例によれば、図29に示すように、駆動パルスSPのランクが低く、ロータ51が非回転の場合、コイルAの端子O2から検出され、所定の閾値Vthを超える検出信号CSの個数は7個であるから、回転判定はなされない。さらに、最初に検出される検出信号CSの位置は、駆動パルス出力期間の終了後であるから、やはり回転判定はなされず、止判定がなされるから、この場合は、ロータ51の非回転が正しく検出されていることになる。
図30に示す、駆動パルスSPのランクが上がり、ロータ51が回転した場合では、所定の閾値Vthを超える検出信号CSの個数が15個と所定の数である8個以上となる。そのため、この場合は直ちに回転判定となるから、ロータ51の回転が正しく検出されていることになる。
さらに図31に示すように、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合には、所定の閾値Vthを超える検出信号CSの個数は7個となり、この時点で回転判定はなされない。しかしながら、最初に検出される検出信号CSの位置は、駆動パルス出力期間内であるから、結局回転判定がなされ、この場合は、ロータ51の回転が正しく検出されていることになる。
以上説明したように、本変形例では、変形例1と変形例6において、誤判定となっていた条件(ロータ51が回転しているにもかかわらず止判定をしていた条件)においても、正しく回転判定をすることができ、回転検出の精度が向上する。
なお、この組み合わせの順番は入れ替えてもよい。例えば、図48のフローチャートで、ステップS110とステップS112の順番を入れ替え、最初に検出された検出信号CSの位置が駆動パルス出力期間内である場合には、直ちに回転判定をし、そうでない場合に検出信号CSの個数を判定するようにしてもよい。
以上のように、第4の実施形態によれば、駆動コイルとは異なる他方のコイルから発生する検出信号CSの検出結果に基づいて、ロータ51の回転検出が行え、あわせて、ロータ51を確実に回転させるとともに、消費電力を低く抑えることができる。
[第5の実施形態]
[第5の実施形態の回転検出動作の説明:図49〜52]
次に、第5の実施形態における回転検出動作を図49〜51のタイミングチャートを用いて説明する。第5の実施形態は、先に説明した第4の実施形態と異なり、コイルA及びコイルBの両方に対し検出パルスCPを出力し、それぞれのコイルにより得られた検出信号CSに基づいてステップモータ50のロータ51の回転検出を行うものである。まず第5の実施形態として説明する例は、それぞれのコイルごとに得られる検出信号CSの総数の差に基づいて回転検出を行うものであり、先に説明した第1の実施形態と類似している。なお、駆動回路10の構成や使用するステップモータは、これまでの実施形態同様に第1の実施形態と同様(図1、図2、図4参照)とする。
まず、ロータ51を正転させるべく、コイルBの端子O4に駆動パルスSPを出力する場合を考える。このとき、検出パルスCPは、コイルAに対しては端子O2に、コイルBに対しては端子O3に出力するものとする。また、回転検出期間TCは、駆動パルスSPの出力終了後、5ms後に始まるように設定されており、駆動パルスSPの出力直後の逆起電力Ia及びIbは検出しない。
図49は、先に説明した図26同様に、駆動パルスSPのランクが低く、ロータ51が非回転の場合のタイミングチャートである。この時、コイルAの端子O2より検出される、所定の閾値Vthを超える検出信号CS1は4個、駆動パルスSPが出力されたコイルBの端子O3より検出される検出信号CS2は13個と、個数を比較するとCS1<CS2となっている。またその差は9個である。
図50は、先に説明した図27同様に、駆動パルスSPのランクが上がり、ロータ51が回転した場合のタイミングチャートである。この時、コイルAの端子O2より検出される、所定の閾値Vthを超える検出信号CS1は10個、駆動パルスSPが出力されたコイルBの端子O3より検出される検出信号CS2は4個と、個数を比較するとCS1>CS2となっている。またその差は6個である。
図51は、先に説明した図28と同様、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合のタイミングチャートである。この時、コイルAの端子O2より検出される、所定の閾値Vthを超える検出信号CS1及び、駆動パルスSPが出力されたコイルBの端子O3より検出される検出信号CS2は、いずれも回転検出期間TCの先頭で検出できるのみであり、その数もそれぞれ1個ずつと等しい。
図52は、駆動パルスSPの駆動力に対し、コイルA、コイルBのそれぞれより検出できる検出信号CS1、CS2の数の変化を示す模式的なグラフである。グラフより明らかなように、駆動力が小さい領域Aでは、コイルAで検出される検出信号CS1の個数よりも、コイルBで検出される検出信号CS2の個数の方が大きい。また、この領域Aでは、ロータ51は駆動力不足により回転に失敗しており、非回転である。この領域Aは、図49に示したタイミングチャートに対応している。
駆動力が増加し、領域Bに入ると、コイルAで検出される検出信号CS1の個数が急増するとともに、コイルBで検出される検出信号CS2の数が急減し、検出信号CS1の個数が検出信号CS2の個数を上回る。この領域Bでは、ロータ51は回転している。この領域Bは、図50に示したタイミングチャートに対応している。
さらに駆動力が増加し、領域Cに入ると、コイルA、コイルBで検出される検出信号CS1、CS2の個数はいずれも減少し、その差はなくなる。この領域Cは、ロータ51は回転しているが、不必要な駆動力が加わっていると考えられ、図51に示したタイミングチャートに対応している。
第5の実施形態では、この検出信号CS1と検出信号CS2の個数の差を回転検出に利用しており、CS1>CS2、すなわち、駆動パルスSPが出力されたコイルで検出された検出信号CS2の個数を、駆動パルスSPが出力されなかったコイルで検出された検出信号CS1の個数が上回る場合に回転判定をし、それ以外の場合を止判定としている。すなわち、図52の領域A及びCでは止判定がなされ、領域Bでは回転判定がなされる。
第5の実施形態では、この止判定に基づいて、駆動パルスSPのランクが調整される。具体的には、制御回路12は、第4の実施形態における図25で示したものと同じ制御を行ってよいし、また、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。本実施形態では、駆動パルスSPの駆動力が図52の領域Cにある場合には、駆動パルスSPのランクが高いことに起因して止判定がなされていることとなり、駆動パルスSPのランクがさらに上昇するが、第4の実施形態の変形例6で説明した場合と同様に、ランクが最高ランクに達すると、駆動パルスSPのランクが最小ランクとなることから、最終的には適切なランクが選択されることとなる。
なお、本実施形態で、回転判定をする際にマージンを設け、例えば、駆動パルスSPが出力されたコイルで検出された検出信号CS2の個数を、駆動パルスSPが出力されなかったコイルで検出された検出信号CS1の個数が所定の数以上上回った場合に回転判定をするものとしてもよい。この所定の数は、例えば、1〜3個である。
また、第4の実施形態の変形例5、図46のフローチャートに示したように、回転検出期間TCを、複数の個別期間T1、T2、T3に分割し、各期間における検出信号CSの有無に基づいて、駆動パルスSPのランクを変化させるようにしてもよい。
[第5の実施形態の回転検出動作の変形例1:図49〜52]
第5の実施形態の回転検出動作は、種々の変形を加えてよい。ここで説明する変形例1は、第2の実施形態で説明したものと類似しており、それぞれのコイルごとに検出信号CSが最初に得られるタイミングに基づいて回転検出を行うものである。このときのタイミングチャートは、先に説明した第5の実施形態のものと同一であるから、図49〜51を援用する。
図49に示すように、駆動パルスSPのランクが低く、ロータ51が非回転の場合、検出信号CS1が最初に得られるタイミングは駆動パルスSPの出力開始から10ms後、検出信号CS2が最初に得られるタイミングは駆動パルスSPの出力開始から6.5ms後であり、駆動パルスSPが出力されたコイルB側の検出信号CS2が先に検出される。
図50に示すように、駆動パルスSPのランクが上がり、ロータ51が回転した場合だと、両者の関係は逆転し、検出信号CS1は駆動パルスSPの出力開始から6ms後に検出され、検出信号CS2は駆動パルスSPの出力開始から9.5ms後に検出されるから、駆動パルスSPが出力されなかったコイルA側の検出信号CS1が先に検出される。
図51に示す駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合では、検出信号CS1及びCS2は回転検出期間TCの開始と同時に検出されており、両者の検出タイミングに差はない。
第5の実施形態の変形例1では、この検出信号CS1と検出信号CS2の検出タイミングの差を回転検出に利用しており、CS1>CS2、すなわち、駆動パルスSPが出力されたコイルで検出信号CS2が最初に検出されるタイミングよりも早く、駆動パルスSPが出力されなかったコイルで検出信号CS1が最初に検出されるタイミングのほうが早い場合に回転判定をし、それ以外の場合を止判定としている。本変形例においても、第5の実施形態と同様に、図52の領域A及びCでは止判定がなされ、領域Bでは回転判定がなされる。
本変形例でも、この止判定に基づいて、駆動パルスSPのランクが調整される。すなわち、制御回路12は、第4の実施形態における図25で示したものと同じ制御を行ってよいし、また、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。本変形例でも、駆動パルスSPの駆動力が図52の領域Cにある場合には、駆動パルスSPのランクが高いことに起因して止判定がなされていることとなり、駆動パルスSPのランクがさらに上昇するが、第4の実施形態の変形例6で説明した場合と同様に、ランクが最高ランクに達すると、駆動パルスSPのランクが最小ランクとなることから、最終的には適切なランクが選択されることとなる。
なお、本変形例でも、タイミング判定をする際にマージンを設け、例えば、駆動パルスSPが出力されたコイルで検出信号CSが最初に検出されるタイミングに対し、駆動パルスSPが出力されなかったコイルで検出信号CS1が最初に検出されるタイミングが所定の時間以上早い場合に回転判定をするものとしてもよい。この所定の時間は、例えば、1〜3msである。
また、第4の実施形態の変形例5、図46のフローチャートに示したように、回転検出期間TCを、複数の個別期間T1、T2、T3に分割し、各期間における検出信号CSの有無に基づいて、駆動パルスSPのランクを変化させるようにしてもよい点も同様である。
[第5の実施形態の回転検出動作の変形例2:図53〜55]
さらに、第5の実施形態の回転検出動作の変形例を説明する。ここで説明する変形例2は、回転検出期間TCを、第1回転検出期間TC1と第2回転検出期間TC2とに分け、異なる回転検出期間ごとに、異なるコイルに対して検出パルスを出力して回転検出をするものである。
ここでの第1回転検出期間TC1は、回転検出期間TCの前側に割り当てられており、回転検出期間TCが、駆動パルスSPの出力後6msから開始されるものとすると、第1回転検出期間TC1もまた駆動パルスSPの出力後6msから開始される。
そして、第1回転検出期間TC1において、所与の条件が満たされた場合、第2回転検出期間TC2へと移行する。第1回転検出期間TC1における所与の条件とは、駆動パルスSPが出力されなかったコイル(ここでは、コイルA)において、所定の期間内に、所定の回数の検出信号CS1を検出することである。一例として、所定の期間として、5ms、検出パルスの出力周期を0.5ms、所定の回数を7回とすると、第1回転期間TC1の開始後、10回の検出パルスが出力されるまでに7回の検出信号CS1を検出すること、となる。
係る条件が満たされなければ止判定をし、かかる条件が満たされれば直ちに第2回転検出期間TC2へと移行する。
第2回転検出期間TC2においても同様に、所与の条件が満たされるか否かを判定し、満たされなければ止り判定を、満たされれば回転判定をする。第2回転検出期間TC2における所与の条件とは、駆動パルスSPが出力されたコイル(ここでは、コイルB)において、所定の期間内に、指定の回数の検出信号CS2を検出することである。一例として、所定の期間を3ms、所定の回数を3回とすると、第2回転検出期間TC2の開始後、6回の検出パルスが出力されるまでに3回の検出信号CS2を検出すること、が条件となる。
この条件を用いた回転検出動作を図53に示すタイミングチャートで説明する。図53は、先の変形例の図50に対応し、駆動パルスSPのランクが上がり、ロータ51が回転した場合をしめしている。また、これは、図52でいえば領域Bにある状態である。
この時、駆動パルスSPの出力後6ms後に第1回転検出期間TC1が開始され、コイルAの端子O2に検出パルスCPが出力される。その結果、連続して所定の閾値Vthを超える検出信号CS1が7個検出され、第1回転検出期間TC1における所与の条件が満足される。
直ちに第2回転期間TC2が開始され、コイルBの端子O3に検出パルスCPが出力される。この結果、連続して所定の閾値Vthを超える検出信号CS2が3個検出され、第2回転検出期間TC2における所与の条件も満足されるから、この時点で回転検出期間TCは終了となり、回転判定が正しくなされる。
これに対し、図54に示すタイミングチャートでの回転検出動作を説明する。図54は、先の図49に対応し、駆動パルスSPのランクが低く、ロータ51が非回転の場合である。また、これは、図52でいえば領域Aにある状態である。
この時、駆動パルスSPの出力後6ms後に第1回転検出期間TC1が開始され、コイルAの端子O2に検出パルスCPが出力される。図示の例では、7回の検出パルスCPに対して、所定の閾値Vthを超える検出信号は得られず、駆動パルスSP出力後9.5ms後からようやく検出信号CS1が4個連続して検出される。
しかしながら、この時点で第1回転検出期間TC1の所定の期間である5msが経過してしまうため、所与の条件は満たされず、第1回転検出期間TC1は終了する。また、条件が満足されなかったため、第2回転検出期間TC2への移行はなされず、回転検出期間TCそのものが終了する。そして、回転検出結果として、止判定がなされ、回転判定が正しくなされる。
さらに、図55に示すタイミングチャートでの回転検出動作を説明する。図52は、先の図51に対応し、駆動パルスSPのランクがさらに上がり、ロータ51が回転している場合である。また、これは、図52でいえば領域Cにある状態である。
この時、駆動パルスSPの出力後6ms後に第1回転検出期間TC1が開始され、コイルAの端子O2に検出パルスCPが出力される。図示の例では、初回の検出パルスCPに対して、所定の閾値Vthを超える検出信号CS1が得られるものの、以降は検出信号を得ることはできず、結局、検出信号CS1は1個のみ検出された状態で第1回転検出期間TC1の所定の期間である5msが経過してしまう。したがって、所与の条件は満たされず、第1回転検出期間TC1は終了し、第2回転検出期間TC2への移行はなされず、回転検出期間TCそのものが終了する。そして、回転検出結果として、止判定がなされる。
すなわち、このケースでは、ロータ51が回転しているにもかかわらず、止判定がなされることになる。すなわち、本変形例においても、第5の実施形態と、その変形例1と同様に、図52の領域A及びCでは止判定がなされ、領域Bでは回転判定がなされる。
本変形例でも、この止判定に基づいて、駆動パルスSPのランクが調整される。すなわち、制御回路12は、第4の実施形態における図25で示したものと同じ制御を行ってよいし、また、第4の実施形態の変形例2にて示した、図37に示したもの又は図38に示したものであってもよい。本変形例でも、駆動パルスSPの駆動力が図52の領域Cにある場合には、駆動パルスSPのランクが高いことに起因して止判定がなされていることとなり、駆動パルスSPのランクがさらに上昇するが、第4の実施形態の変形例6で説明した場合と同様に、ランクが最高ランクに達すると、駆動パルスSPのランクが最小ランクとなることから、最終的には適切なランクが選択されることとなる。
なお、第5の実施形態の各変形例においては、駆動パルスSPのランクの選択を、回転判定がなされた場合の、検出信号CSの検出終了タイミングに基づいて行ってもよい。例えば、検出信号CSの検出終了タイミングが早い場合には駆動力が過大であると判定して、駆動パルスSPのランクを下げ、検出信号CSの検出終了タイミングが遅い場合には駆動力が不足していると判定して、駆動パルスSPのランクを上げるようにしてもよい。
なお、本発明の各実施形態で示した駆動回路の構成図、ステップモータの構成図、フローチャート、タイミングチャート等は、これに限定されるものではなく、本発明の要旨を満たすものであれば、任意に変更することができる。