以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の実施形態のアナログ電子時計1の全体構成を示すブロック図、図2は、第1検出部による針位置検出の機構部分を示す断面図である。
この実施形態のアナログ電子時計1は、秒針2、分針3および時針4(図2参照)を電気的な駆動により回転させて時刻を表示するアナログ表示部を有し、例えば腕時計の本体となるものである。
このアナログ電子時計1は、図1に示すように、時計の全体的な制御を行うCPU(中央演算処理装置)34と、各指針(秒針、分針、時針)2〜4を駆動するためのムーブメント30と、秒針2と分針3の位置検出を行うための第1検出部31と、時針4の位置検出を行うための第2検出部32と、CPU34に作業用のメモリ領域を提供するRAM(Random Access Memory)37と、CPU34が実行する制御プログラムや制御データが格納されたROM(Read Only Memory)36と、制御データが格納されるEEPROM(電気的消去型Programmable ROM)35と、各部に動作電圧を供給する電源部40と、時刻修正用に標準電波を受信するアンテナ41および検波回路42と、CPU34に所定周波数の信号を供給するための発振回路38および分周回路39と、分周回路39の信号をカウントして計時を行う時刻計数回路(計時手段)47と、外部から操作指令を入力する複数の操作ボタンを有するスイッチ部44等を備えている。
上記構成のうちCPU34、時刻計数回路47、針シフト量データの記憶部35aによって通常の現在時刻を表示させる第1の指針表示制御手段が構成され、CPU34と時刻計数回路47と針シフト量データの記憶部35aとシフト時間情報の記憶領域37aによってタイムシフトされた時刻を表示させる第2の指針表示制御手段が構成される。また、第1検出部31と第2検出部32により針位置検出手段が構成される。
ムーブメント30には、秒針2を駆動する第1モータ51と、分針3を駆動する第2モータ52と、時針4を駆動する第3モータ53とが設けられている。これら第1〜第3モータ51〜53はそれぞれ2極のステータと2極のロータとを有するステッピングモータである。
また、ムーブメント30には、第1〜第3モータ51〜53の回転運動を各指針2〜4まで伝達する輪列機構20が設けられている。この輪列機構20には、図2に示すように、秒針軸24aを介して秒針2が固着される秒針車24と、分針軸25aを介して分針3が固着される分針車25と、時針軸27aを介して時針4が固着される時針車27と、分針車25と連動して回転する中間車26が含まれる。秒針車24、分針車25、時針車27は、それぞれ同一の回転軸を中心に、第1〜第3モータ51〜53の駆動力によって、それぞれ独立的に回転駆動可能になっている。
詳細は後述するが、秒針車24は第1モータ51の60ステップの回転により1回転し、分針車25は第2モータ52の360ステップの回転により1回転し、時針車27は第3モータ53の360ステップの回転により1回転するように構成されている。
第1検出部31は、図2にも示すように、秒針車24、分針車25、中間車26を間に挟んで、一方から光を照射する発光部311と、他方で光を受光する光センサ(受光部)312とから構成される。発光部311は、例えば発光ダイオードにより構成され、光センサ312は、例えばフォトトランジスタなどにより構成される。これら発光部311と光センサ312は、予め設定された検出位置Pで、互いに対向した状態に、アナログ電子時計1の軸受け板16と回路基板10とにそれぞれ固定されている。検出位置Pは、特に制限されるものではないが、この実施形態では文字板上の分針目盛で37分の角度位置に配置されている(図5参照)。
第2検出部32は、時針4と連動して回転する他の歯車の透過穴を検出するものであり、第1検出部31と同様に発光部321と光センサ(受光部)322とから構成され、第2の検出位置P2(図7参照)に配置されている。
分周回路39は、1秒周期で出力される1秒信号Sg1をCPU34と時刻計数回路47に供給し、時刻計数回路47はこの1秒信号Sg1を計数するとともに計時データの分桁の値が偶数値になるごとに2分信号Sg2をCPU34に供給する。
ROM36には、表示時刻を進めたり遅らせたりするタイムシフト機能の設定入力やそれに伴う針位置検出時刻の設定変更を行う設定データ変更処理のプログラム、1秒信号Sg1の入力に基づき秒針2と分針3の運針や針位置検出に関する処理を行う第1指針制御処理のプログラム、2分信号Sg2の入力に基づき時針4の運針や針位置検出に関する処理を行う第2指針制御処理のプログラムなどが格納されている。また、ROM36の記憶部36aには、制御データの1つとして、後述する秒針車24の透過穴の形成パターンが秒針車24の回転角度に対応させて記録された秒穴パターンデータテーブル(後述する図4の図表と同等のデータ)が記憶されている。
EEPROM35には、分針3に組付け誤差があったときに、この組付け誤差をステップで表わした針シフト量を分針3のステップ数で表わしたデータを記憶する記憶部(第2の記憶手段)35aが設けられている。針シフト量のデータは、工場出荷前の設定工程において、分針3の組付け誤差に対応した値が求められて記憶部35aに書き込まれる。
RAM37には、所定領域にシフト時間情報の記憶部37aが設定され、詳細は図9を参照して後述するが、ここにタイムシフト機能により表示時刻をずらす時間(「時刻シフト時間」と呼ぶ)の設定データと、秒針2と分針3の針位置検出時刻の補正値を表わすデータ、補正後の針位置検出時刻を表わすデータがそれぞれ格納されるようになっている。
図3には、秒針車24の正面図を、図4には、秒針車24の2ステップごとの角度位置と透過穴のパターンとを対応づけて表わした図表を示す。
秒針車24には、検出位置Pと重なる半径位置に第2被検出部として複数の透過穴24h1〜24h7が形成されている。これら透過穴24h1〜24h7は、秒針車24の中心角を2ステップの回転角度(12°)ごとに区分けした30個の角度区分のうち、次の条件を満たすように所定の角度区分にそれぞれ形成されている。
条件とは、透過穴のない角度区分の180°反対側の角度区分には必ず透過穴が存在するという第1条件と、“00”ステップ、“10”ステップ、“20”ステップ、“30”ステップ、“40”ステップ、“50”ステップをそれぞれ開始点とした連続する5つの角度区分の透過穴の有無のパターンがそれぞれ一意のパターンになっている(すなわち他の角度区分を開始点とする連続する5つの角度区分の透過穴の有無のパターンと同一にならない)という第2条件と、“00”ステップ、“10”ステップ、“20”ステップ、“30”ステップ、“40”ステップ、“50”ステップをそれぞれ開始点とした連続する5つの角度区分の透過穴の有無のパターンが全て穴なし“00000”となることがないという第3条件である。ここで、上記“00”ステップの角度区分とは、秒針2が基準位置(00秒位置)にあるときに検出位置Pと重なる角度区分のことを示している。
さらに、この透過穴24h1〜24h7は、何れかの角度区分を開始点とした連続する5つの角度区分の透過穴の有無のパターンが、開始点を異ならせることで全て異なるパターンになるという第4条件も満たすものとなっている。
図3の秒針車24においては、秒針2が00秒ステップから58秒ステップまで移動する間を2ステップ間隔で見たときに、検出位置Pに透過穴が重なる状態(「穴あり」または“1”と記す)と、透過穴が重ならない状態(「穴なし」または“0”と記す)とが、図4の図表の「穴パターン」の行に表わされる配列で現れる。
上記の第1〜第4の条件のうち、第1条件によれば、秒針車24の透過穴24h1〜24h7が何れも検出位置Pに重なっていない状態にある場合に、秒針車24を180°回転させることで、秒針車24の透過穴24h1〜24h7の何れかが検出位置Pの箇所に来て、秒針車24により検出位置Pが塞がれない状態にすることができるという作用が得られる。
また、上記第2条件によれば、秒針2が0秒、10秒、20秒、30秒、40秒、50秒にあると推定されるタイミングから2ステップ間隔で5回、検出位置Pで秒針車24の透過穴の有無の検出を行うことが出来れば、秒針2が本当にその位置にあったのか否か(すなわち位置ズレの有無)を確認できるという作用が得られる。
また、上記第3条件によれば、秒針2が0秒、10秒、20秒、30秒、40秒、50秒にあると推定されるタイミングから2ステップ間隔で5回、検出位置Pで秒針車24の透過穴の有無の検出を行ったときに、他の歯車(例えば分針車25や中間車26)が透過穴を遮っている場合との区別が付けられるという作用が得られる。
また、上記第4条件によれば、秒針2の位置が不明なときに、検出位置Pで秒針車24の透過穴の有無の検出を、2ステップ間隔で5回(穴無しが5回続いたときに、他の歯車が透過穴を遮断している状態か否かを識別するために2ステップ間隔で6回)行うことで、秒針車24の回転位置すなわち秒針2の位置を特定することができるという作用が得られる。
図3の秒針車24によれば、上記第1〜第4の条件を全て満たしているので、上記の作用が全て得られるものになっている。
次に、図2に示した断面図と図5〜図7の正面図に基づいて輪列機構20について説明する。図5〜図7は、秒針・分針・時針を回転する輪列機構をそれぞれ表わした正面図である。なお、図5〜図7では各歯車に形成されている歯は省略している。
図2の断面図において、5は文字板、9は電源部40のソーラパネル、6は上部ハウジング、7は下部ハウジング、10は回路基板、14〜16は各歯車の軸を保持する軸受け板、18は外部磁場の進入を少なくする耐磁板、51は秒針2を駆動する上記第1モータ、51aは第1モータ51のロータ、51bは第1モータ51のステータ、52は分針3を駆動する上述の第2モータ、52aは第2モータ52のロータ、52bは第2モータ52のステータである。
秒針車24は、図5と図2に示すように、五番車211を間に挿んで第1モータ51のロータ51aと連結され、ロータ51aの1ステップ(180°)の回転ごとに6°ずつ回転するように構成される。通常の運針時においては、第1モータ51が1秒に1ステップ駆動されることで、秒針2および秒針車24が60秒で1周する。
分針車25は、図6と図2に示すように、中間車26と二番車212とを介して第2モータ52のロータ52aと連結されている。そして、ロータ52aが1ステップ(180°)回転するごとに、中間車26が30°ずつ、分針車25が1°ずつ回転するように構成される。通常の運針時においては、第2モータ52が10秒に1ステップ駆動することで、分針3および分針車25が60分で1周する。
分針車25は、図2に示したように、秒針車24と同一の回転軸を中心に回転する構成であり、図6に示すように、検出位置Pと重なる半径位置に第1被検出部として1個の透過穴25hが形成されている。また、中間車26も検出位置Pに一部が重なる配置とされ、この検出位置Pと重なる半径位置に1個の透過穴26hが形成されている。
分針車25の透過穴25hと、中間車26の透過穴26hとは、分針車25の所定のステップ(図6のステップ)で共に検出位置Pで重なるように組み付けられる。分針車25は第2モータ52の1ステップの駆動で1°しか回転しないが、中間車26は第2モータ52の1ステップの駆動で30°回転する。そのため、図6の前後1ステップのタイミングには、中間車26の透過穴26hが検出位置Pから比較的大きく外れて、検出位置Pの透過穴25hが塞がれるようになっている。(図11(b)を参照)。
分針3は、分針車25と中間車26の透過穴25h,26hが検出位置Pで重なるステップ位置で、文字板上の規定時刻(55分00秒)を指し示すように組み付けられる。しかしながら、大きくて±6°程度、小さくて±3°程度の組付け誤差が付加されて組付けられる場合も生じる。分針3の1°の組付け誤差は文字板上の分針目盛で10秒分のズレに相当する。
時針車27は、図7に示すように、3つの中間車213,215,216と三番車214とを介して第3モータ53のロータ53aと連結され、ロータ53aの1ステップ(180°)の回転ごとに1°ずつ回転するように構成される。通常の運針時においては、第3モータ53が2分に1ステップ回転することで時針4が12時間で一周する。
時針4の輪列機構には、時針4の位置を検出するための検出車217が連結されており、この検出車217と中間車213および三番車214にそれぞれ透過穴217h,213h,214hが形成されている。これらの透過穴217h,213h,214hは、時針検出用の規定時刻(例えば11時55分、23時55分)に第2の検出位置P2で重なるように設定されている。
次に、上記のように構成されるアナログ電子時計1の動作について説明する。
[設定データ変更処理]
図8には、CPU34により実行される設定データ変更処理のフローチャートを、図9には、この設定データ変更処理の処理内容を説明する図を示す。図9において、RAM37の記憶領域37aの3区分を第1〜第3セクション“RAM1”〜“RAM3”と記す。
図8の設定データ変更処理は、スイッチ部44を介してタイムシフト機能の設定モードに切り換える所定の操作入力が行われた場合に開始される。
設定データ変更処理に移行すると、先ず、CPU34は、タイムシフト機能により表示時刻をシフトさせる時間(「時刻シフト時間」と呼ぶ)の設定入力処理(ステップS1)を行う。具体的には、秒針2を時刻シフト時間の設定中であることを表わす文字板上の位置に移動させ、分針3と時針4を00時00分の位置に移動させる。そして、スイッチ部44の入力を受け付けて、第1操作ボタンが押されればプラス方向に分針3と時針4を進め、第2操作ボタンが押されればマイナス方向に分針3と時針4を進め、第3操作ボタンが押されることで入力の完了とする。ユーザはこの間に第1および第2操作ボタンを押して分針3と時針4を所望の時刻シフト時間を表わす位置まで移動させ、第3操作ボタンを押して入力完了を通知する。入力が完了されたら、CPU34は、分針3と時針4の移動量から時刻シフト時間を算出するとともに、秒針2、分針3、時針4を、計時時刻から時刻シフト時間だけずらした位置まで戻して、ステップS1の設定処理が完了となる。
ステップS1の設定処理が完了したら、CPU34は、入力された時刻シフト時間のデータを記憶領域37aの第1セクション“RAM1”(第1の記憶手段)に記憶させる(ステップS2)。例えば、時刻シフト時間が時間を進める方向に「0時間20分」と設定されれば、図9(a)→(b)のようにデータが格納される。
続いて、CPU34は、タイムシフト機能の時刻シフト時間と、分針3の組付け誤差の大きさを表わす針シフト量とによって、秒針2と分針3の針位置検出を行う時刻をどれだけずらせば良いか補正値の計算を行う。そして、その結果を記憶領域37aの第2セクション“RAM2”に記憶させる(ステップS3)。図9(b)→(c)に示す処理である。
具体的には、針位置検出を行う時刻は、タイムシフト機能の時刻シフト時間と、分針3の針シフト量を時間換算した量だけずらせば良いので、ステップS3においてCPU34は、EEPROM35の記憶部35aから分針3の針シフト量のデータを読出し、この針シフト量の時間換算値を、第1セクション“RAM1”に記憶させた時刻シフト時間に加算する。そして、加算した結果のデータを記憶領域37aの第2セクション“RAM2”に記憶させる。
図9の例では、針シフト量“1ステップ”は時間換算で“+10秒”に相当するので、針シフト量“−2”ステップの時間換算値“−20秒”が、時刻シフト時間“+0時間20分”に加算されて、この結果を表わす時間データ“0時間19分40秒”が、記憶領域37aの第2セクション“RAM2”に記憶されている。
次に、CPU34は、記憶領域37aの第2セクション“RAM2”の針位置検出時刻の補正値データに基づき、実際の針位置検出時刻を表わす補正後の検出時刻データを算出して、これを記憶領域37aの第3セクション“RAM3”に記憶させる(ステップS4〜S12)。例えば、図9(c)→(d)に示す処理である。
ここで、検出時刻データは、毎時の何分何秒という値にする必要があるので、ステップS4,S6,S7,S10において補正値データの値に基づき条件分岐を行って、計算式を変更している。
すなわち、先ず、第2セクション“RAM2”の補正値データのうち分桁と秒桁の値が共に“0”であるか判別し(ステップS4)、共に“0”であれば、実際の針位置検出時刻は予め定められた検出基準時刻(毎時55分00秒)と変らないので、記憶領域37aの第3セクション“RAM3”に補正後の検出時刻データとして“55分00秒”を記憶させる(ステップS5)。
一方、ステップS4の判別結果が“No”であれば、次に、第2セクション“RAM2”の補正値データの符合を判別し(ステップS6)、正であれば、更に、その分秒桁の値が55分以下の値か否かを判別する(ステップS7)。また、負であれば、更に、その分秒桁の絶対値が5分より小さい値か否かを判別する(ステップS10)。
その結果、第2セクション“RAM2”の補正値データが正で分秒桁の値が55分以下であれば、検出基準時刻(55分00秒)からこの分秒桁の値を引いて補正後の検出時刻データを求める(ステップS8)。また、第2セクション“RAM2”の時間データが正で分秒桁の値が55分より大きい値であれば、計算結果が負の値とならないように検出基準時刻(55分00秒)に60分を加算した上で、上記分秒桁の値を引いて、補正後の検出時刻データを求める(ステップS9)。
また、第2セクション“RAM2”の補正値データが負で分秒桁の絶対値が5分より小さければ、検出基準時刻(55分00秒)にこの分秒桁の絶対値を加算して補正後の検出時刻データを求める(ステップS11)。また、第2セクション“RAM2”の時間データが負で分秒桁の絶対値が5分以上の値であれば、計算結果が60分以上の値とならないように検出基準時刻(55分00秒)に上記分桁値の値を加算してから60分を減算して、補正後の検出時刻データを求める(ステップS12)。
そして、各ステップS8,S9,S11,S12で補正後の検出時刻データが求められたら、これらのステップで補正後の検出時刻データを記憶領域37aの第3セクション“RAM3”に記憶させる。そして、この設定データ変更処理を終了する。上記のステップS2〜S12の処理を実行させるソフトウェアにより検出時刻変更手段が構成される。
この設定データ変更処理により、タイムシフト機能の時刻シフト時間のデータと、秒針2と分針3の針位置検出を開始する針位置検出時刻のデータとが、RAM37の記憶領域37aに格納される。
[第1指針制御処理]
図10には、1秒信号の入力に基づき開始される第1指針制御処理のフローチャートを示す。また、図11〜図13には、針位置検出時刻の前後一定期間の時計状態を表わした説明図を示す。図11は、針シフト量が“0”である場合、図12は、針シフト量が“+1”である場合、図13は、針シフト量が“−1” である場合をそれぞれ示している。
第1指針制御処理は、秒針2と分針3の運針および針位置検出を行う処理であり、1秒信号の入力に基づき1秒周期で繰り返し実行される。分周回路39から1秒信号Sg1が入力されて、この第1指針制御処理が開始されると、先ず、CPU34は、第1モータ51に信号を出力して秒針2を1ステップ運針させ(ステップS21)、秒針位置が計数されているRAM37の所定領域の値を「+1」更新する(ステップS22)。
続いて、針位置検出中のタイミングか否かを表わすフラグFを確認し、針位置検出中のタイミングであることを示す値“1”であるか、針位置検出中のタイミングでないことを示す値“0”であるかを判別する(ステップS23)。
その結果、針位置検出中のタイミングでない値“0”であれば、“Yes”側に移行して、現在時刻が針位置検出時刻と一致するか判別を行う(ステップS24)。具体的には、時刻計数回路47の分秒桁の値と、RAM37の記憶領域37aの第3セクション“RAM3”に記憶されている値とを比較して、一致するか否か判別する。
そして、現在時刻が針位置検出時刻と一致していなければ、“No”側に分岐して、現在時刻が10秒単位の時刻か判別する(ステップS25)。10秒単位の時刻でなければ、このまま第1指針制御処理を終了する一方、10秒単位の時間であれば第2モータ52に信号を出力して分針3を1ステップ運針し(ステップS26)、さらに、分針位置が計数されているRAM37の所定領域の値を「+1」更新する(ステップS27)。そして、この第1指針制御処理を終了する
つまり、上記一連のステップの処理により、秒針2のみ運針すれば良いタイミングには、秒針2の運針に関する処理(ステップS21,S22)が行われ、10秒単位の分針3の運針タイミングには、加えて分針3の運針に関する処理(ステップS26,S27)が行われるようになっている。
一方、ステップS24の判別処理で、現在時刻が針位置検出時刻と一致していると判別されたら、ステップS28〜S30で針位置検出用の初期設定の処理を行う。
ここで、秒針2と分針3の針位置検出処理について説明する。図11の説明図に示すように、分針車25と中間車26の透過穴25h,26hは針位置検出時刻(図11では“55分00秒”)で検出位置Pに重なり、その10秒後の1ステップの運針で中間車26の透過穴26hが大きく移動して透過穴25h,26hの重なりが塞がれる。
また、透過穴25h,26hが検出位置Pに重なっている10秒間には、秒針車24は10ステップの回転を行い、この回転の期間に、透過穴24h1〜24h7の何れかが検出位置Pに重なった状態が現れる。従って、この間、秒針2の2ステップの運針ごとに、第1検出部31を作動させて検出位置Pで透過穴が重なった状態にあるか否かを検出する。そして、2ステップ間隔の5回の検出処理で得られた透過穴の有無のパターン(穴パターンと呼ぶ)によって、秒針2と分針3の位置ズレの有無を確認する。
ここで、秒針2の2ステップの運針ごとに検出処理を行うのは、次の理由からである。第1モータ51は、ロータとステータがそれぞれ2極のステッピングモータであり、プラスの駆動パルスが供給されることでロータが0°〜180°に回転し、マイナスの駆動パルスが供給されることでロータが180°〜360°に回転する。そして、プラスの駆動パルスとマイナスの駆動パルスとが交互に供給されることで、ロータが半回転ずつ一方向に回転していく。そのため、強い磁界や強い衝撃を受けて、分針3や時針4が位置ズレしたとしても、その後に、奇数ステップで位置ズレが残ることはなく、必ず偶数ステップで位置ズレが残ることになる。それゆえ、2ステップの移動ごとに検出処理を行うようにしている。
秒針2と分針3の位置ズレがない場合、上記針位置検出時刻から5回の検出処理で得られる穴パターンは、針位置検出時刻の秒桁の値に応じて異なってくる。例えば、図11に示すように、針位置検出時刻が“55分00秒”であれば、5回の検出処理のタイミングにおいて秒針車24の“00”−“08”ステップの位置(図3,図4参照)が検出位置Pに来て、検出される穴パターンは、図11(d)に示すように、「10011(“1”は穴あり、“0”は穴無し)」となる。
また、図12に示すように、針位置検出時刻が“54分50秒”であれば、5回の検出処理のタイミングにおいて秒針車24の“50”−“58”ステップの位置(図3,図4参照)が検出位置Pに来て、検出される穴パターンは、図12(d)に示すように、「00110」となる。また、図13に示すように、針位置検出時刻が“55分10秒”であれば、5回の検出処理のタイミングにおいて秒針車24の“10”−“18”ステップの位置(図3,図4参照)が検出位置Pに来て、検出される穴パターンは、図13(d)に示すように、「11101」となる。
この実施形態のアナログ電子時計1においては、針位置検出時刻は、タイムシフト機能により分単位でシフトされ、分針3の組付け誤差を表わす針シフト量の1ステップごとに10秒単位でシフトされるので、針位置検出時刻の秒桁の値は、00秒、10秒、20秒、30秒、40秒、50秒の6種類の何れかである。従って、上記5回の検出処理で検出される穴パターンは、図4の図表下のブラケットにより表わされる“00”−“08”ステップ、“10”−“18”ステップ、“20”−“28”ステップ、“30”−“38”ステップ、“40”−“48”ステップ、“50”−“58”ステップの何れかの穴パターンとなる。何れの穴パターンとなるかは、針位置検出時刻の秒桁の値に応じて決定される。
従って、上記5回の検出処理を行って、針位置検出時刻の秒桁の値に対応する穴パターンが検出されたら、秒針2と分針3に位置ズレはないと判断できる。また、この穴パターンの検出がなされなかったら、秒針2に位置ズレがあるか分針3に位置ズレがあると判断することができる。以上が、秒針2と分針3の針位置検出処理の原理である。
図10のステップ28〜S30の針位置検出の初期化処理では、上記のような針位置検出処理を実現するために、先ず、フラグFに針位置検出中のタイミングであることを示す値“1”をセットし(ステップS28)、続いて、参照パターンとして、針位置検出時刻から5回の検出処理で検出されるべき穴パターンを選択して変数A0〜A4にセットする(ステップS29:参照パターン選択手段)。この穴パターンの選択は、ROM36の記憶部36aの穴パターンデータテーブル(図4のデータ)の中から、針位置検出時刻の秒桁値のステップを開始点とする2ステップ間隔の5つの透過穴の有無の値を読み出すことで行う。上記ステップS24,S28の処理を実行させるソフトウェアにより針位置検出制御手段が構成される。
さらに、針位置検出時刻から秒針2の2ステップ間隔で5回の検出処理の行うために、検出処理の回数を示す変数iに初期値“0”を代入する(ステップS30)。
そして、上記針位置検出の初期化処理を行ったら、現時点が針位置検出時刻であり1回目の検出処理を行うタイミングであることから、検出処理を実行するためのステップS33〜S36の処理に移行する。そして、先ず、第1検出部31を作動させて発光部311の光が透過穴35h,36h,24h(24h1〜24h7の何れか)を通って光センサ312で受光されるか検出し、その結果を判別する(ステップS33)。続いて、この結果を表わす値を変数B0〜B4のうち今回の検出回数iに対応する変数Biに代入する(ステップS34,S35)。さらに、この変数Biの値と、検出されるべき穴パターンA0〜A4のうち今回の検出回数iに対応する値Aiとを比較し、一致しているか判別する(ステップS36)。
ここで、秒針2と分針3に位置ズレがなければ、一致の結果が得られるはずなので、不一致と判別された場合には、位置ズレがあるものとして、この位置ズレを修正する針位置補正処理(針位置補正手段)へ移行する。
一方、ステップS36の判別の結果、一致であれば、5回の検出処理を終了したか変数iの値を確認し、未だであればそのまま、5回の検出処理を終了していれば、フラグFに針位置検出中のタイミングでないことを示す値“0”をセットして(ステップS39)、ステップS25(分針3の運針に関するステップ)に移行する。ステップS25以降の処理は前述した通りである。
また、針位置検出時刻から1秒、3秒、5秒、7秒経過したタイミングで1秒信号の入力により第1指針制御処理が開始されたときには、ステップS23の判別処理でフラグFの値が“1”にセットされていることで“No”側へ進み、現在の計時時刻が偶数秒か否かを判別する(ステップS31)。そして、現在の計時時刻が奇数秒であることから“No”側へ移行して、ステップS25(分針3の運針に関するステップ)に移行する。つまり、ステップS23,S31の判別処理により、針位置検出時刻から8秒の期間のうち、奇数秒のタイミングでは検出処理が省かれるようになっている。
また、針位置検出時刻から2秒、4秒、6秒、8秒経過したタイミングで第1指針制御処理が開始されたときには、ステップS23の判別処理でフラグFの値が“1”にセットされていることで“No”側へ進み、続くステップS31の判別処理で現在の計時時刻が偶数秒であることから“Yes”側へ進む。それにより、CPU34は、検出回数を表わす変数iを「+1」更新し(ステップS32)、続いて、検出処理を実行するためにステップS33へ移行する。
つまり、ステップS23,S31,S32の処理により、針位置検出時刻から8秒の期間のうち、偶数秒のタイミングで検出処理が行われて、検出回数の変数iも更新されるようになっている。
そして、針位置検出時刻から2ステップ間隔で検出処理(ステップS33〜S34)が5回行われて、全検出回数の検出結果B0〜A4が検出されるべき穴パターンA0〜A4と一致すれば(ステップS36の“Yes”)、秒針2と分針3に位置ズレがないと判断されて、5回目の検出処理の後、針位置検出のタイミングであることを示すフラグFの値が“0”に戻されて(ステップS38)、通常の運針処理が続けられる。
一方、5回の検出処理(ステップS33〜S34)の途中で、ある検出回数iの検出結果Biが検出されるべき穴パターンA0〜A4の対応回数の値Aiと不一致となれば(ステップS36の“No”)、秒針2又は分針3に位置ズレがあると判断されて、針位置補正処理(針位置補正手段)へ移行するようになっている。
[第2指針制御処理]
図14には、2分信号の入力に基づき開始される第2指針制御処理のフローチャートを示す。
第2指針制御処理は、時針4の運針および針位置検出に係る処理であり、時刻計数回路47から2分信号Sg2が入力される2分周期で実行される。2分信号Sg2が入力されて第2指針制御処理が開始されると、先ず、CPU34は、第3モータ53に信号を出力して時針4を1ステップ運針させ(ステップS41)、時針位置が計数されているRAM37の所定領域の値を「+1」更新する(ステップS42)。
続いて、CPU34は、現在の計時時刻が、時針4の針位置検出時刻であるか否かを判別する(ステップS43)。時針4についても、タイムシフト機能の時刻シフト時間に対応して、時刻計数回路47の計時時刻からシフトされた表示時刻を指し示すことになる。また、時針4の針位置検出時刻は、検出車217(図7参照)の透過穴217hが第2検出位置P2に重なるはずの時刻であり、時針4が文字板上の規定時刻(11時55分)を指し示すときに透過穴217hが第2検出位置P2に重なるように組み付けられている。従って、ステップS43では、現在の計時時刻から、RAM37の記憶領域37aの第1セクション“RAM1”に記憶されている時刻シフト時間を減算した時刻が、規定時刻(11時55分)と一致するか否かを判別することで、時針4の針位置検出時刻であるか否かを判別する。
そして、ステップS43の判別処理の結果が不一致であれば、そのまま、この第2指針制御処理を終了するが、判別処理の結果が一致であれば、時針4の検出処理を行う(ステップS44)。具体的には、第2検出部32を作動させて発光部321の光が透過穴213h,214h,217hを通って光センサ322で受光されるか検出し、その結果を判別する。その結果、光が検出されれば(穴有り)、時針4に位置ズレは生じていないと判断して、そのままこの第2指針制御処理を終了する。
一方、ステップS44の判別処理の結果、光が検出されなければ(穴無し)、時針4に位置ズレが生じていると判断して、時針4の位置修正を行う針位置補正処理(針位置補正手段)へ移行する。
[針位置補正処理]
針位置補正処理は、詳細は省略するが、例えば、時針4の位置ズレが確認された場合、次のように時針4の針位置を修正する。すなわち、時針4を1ステップ運針させるごとに第2検出部32を作動させるといった処理を、透過穴213h,214h,217hが第2検出位置P2で重なった状態が検出されるまで繰り返し行う。時針4を360ステップ(1回転)運針する間に、必ずこの状態は発生するので、この状態が検出されたら、そのときの時針4の位置が文字板上の規定時刻(11時55分)を指し示す位置にあると判断する。そして、RAM37で時針4の位置がカウントされている所定領域の値を対応する値に修正する。
さらに、時針4を、時刻計数回路47の計時時刻から、記憶領域37aの第1セクション“RAM1”に記憶されている時間シフト量を加算した時刻位置まで早送りして、時針4の針位置補正を完了する。そして、通常の運針処理へ戻る。このような時針4の針位置補正処理により、時針4は、タイムシフト機能で設定した時刻シフト時間ずらされた時刻位置を指し示すこととなる。
秒針2又は分針3の位置ズレが確認された場合には、次のように秒針2と分針3の針位置を修正する。すなわち、先ず、秒針車24を12ステップ回転させるとともに第1検出部31を2ステップの回転毎(偶数ステップ毎)に作動させて、透過穴の有る無しを表わす検出結果を6回分得る。秒針車24の穴パターンは、図4に示すように、2ステップ間隔で5連続の穴パターンが、開始位置を異ならせることで、全て異なるパターンになるように設計されている。また、2ステップ間隔で6連続の穴パターンが全て穴無し“0”となる箇所がないように設計されている。
従って、上記6回の検出結果が、全て穴無し“0”とならなければ、分針車25と中間車26の透過穴25h,26hが検出位置Pで重なった状態にあると判断でき、さらに、連続する5連続の穴パターンを記憶部36aの穴パターンデータテーブルと照合することで、現在の秒針車24および秒針2の位置を判定することができる。
一方、上記6回の検出結果が、全て穴無し“0”となれば、分針車25と中間車26の透過穴25h,26hが検出位置Pで重なっていないと判断できる。従って、今度は、分針3を1ステップ運針させるごとに第1検出部31を作動させるという処理を繰り返して、透過穴25h,26hが検出位置Pで重なった状態を探索する。ここで、秒針車24の透過穴が検出位置Pに重なった状態であれば、分針3を360ステップ(1回転)運針する間に、必ずこの状態は発生するので、この状態が検出されたら、そのときの分針3の位置が文字板上の規定時刻(55分00秒)から記憶部35aの針シフト量だけずれた位置にあると判断する。
他方、分針3を1回転させても透過穴の検出が出来なければ、秒針車24が検出位置Pで透過穴を塞いでいると判断できるので、先ず、秒針車24を30ステップ180°回転させる。秒針車24の透過穴24h1〜24h7の形成パターンは、穴無しの箇所の180度逆側には穴有りとなるようになっているので、この動作により検出位置Pに秒針車24の透過穴24h1〜24h7が重なった状態となる。
従って、この状態で、再度、分針3を1ステップ運針させるごとに第1検出部31を作動させるという処理を繰り返して、透過穴25h,26hが検出位置Pで重なった状態を探索する。そして、この状態の検出に基づき、分針3の位置を判断する。
さらに、分針車25と中間車26の透過穴25h,26hが検出位置Pで重なった状態が検出されたら、秒針車24を12ステップ又は10ステップ回転させるとともに第1検出部31を2ステップの回転毎(偶数ステップ毎)に作動させて、秒針車24の穴パターンを取得し、上述したように、秒針車24および秒針2の位置を判定する。
そして、上記のように秒針2と分針3の位置が判定されたら、秒針2と分針3の位置をカウントしているRAM37の所定領域の値を対応する値に修正する。さらに、秒針2を現在の計時時刻の秒桁値の位置まで移動させ、分針3を現在の計時時刻から、記憶領域37aの第2セクション“RAM2”の補正値データに示されている分秒桁の時刻位置まで早送りして、秒針2と分針3の針位置補正を完了する。
そして、針位置補正処理が完了したら通常の運針処理へ戻る。このような秒針2と分針3の針位置補正処理により、秒針2および分針3は、タイムシフト機能で設定した時刻シフト時間ずらされた時刻位置を指し示すこととなる。
以上のように、この実施形態のアナログ電子時計1によれば、分針3の組付け誤差を特定する針シフト量のデータがEEPROM35の記憶部35aに記憶され、タイムシフト機能の時刻シフト時間のデータがRAM37の記憶領域37aの第1セクションに記憶される。さらに、第1指針制御処理において、秒針2と分針3の針位置検出を開始する検出時刻が針シフト量と時刻シフト時間の両方を加味した検出時刻に変更されるようになっている。従って、タイムシフト機能によって表示時刻がずらされ、且つ、分針3の組付け誤差がある場合でも、正常に針位置検出の処理を遂行できるようになっている。
また、この実施形態のアナログ電子時計1では、指針の組付け誤差を内部調整により対処できる指針として、組付け誤差が最も目立つ分針3が対象になっている。すなわち、分針3は、1ステップの回転角度が小さく、且つ、文字板の目盛に差し掛かる長さを有しているので、例えば、分針3が“−2°”ずれて組付けられた場合、時計の時刻が“00分00秒”となって秒針2が文字板上の12時位置を指したときに、分針3は文字板上の12時の目盛より“−2°”ずれた状態が認識される。一方、時計の時刻が“00分20秒”となって秒針2が文字板上の12時位置を指したときには、分針3は文字板上の12時の目盛と丁度重なった状態が認識される。これらの状態が見比べられる状況にあるので、分針3の組付け誤差は目立つこととなる。従って、この分針3の組付け誤差を内部調整できるようにすることで、指針の組付け工程に要求される精度の顕著な緩和を図ることができる。
また、この実施形態のアナログ電子時計1では、指針2〜4と連動して回転する歯車(秒針車24、分針車25、中間車26、検出車217)に形成された透過穴を、発光部311,321と光センサ312,322により検出して、指針2〜4の位置検出を行うという前提構成を備えている。そのため、分針3の組付け誤差があった場合に、分針車25と中間車26の透過穴25h,26hが検出位置Pで重なる文字板上の表示時刻が、予め設定されている規定時刻(毎時55分00秒)からズレてくる。従って、このような前提構成を有するアナログ電子時計において、上記の針位置検出時刻を変更する構成は特に有効なものとなる。
また、この実施形態のアナログ電子時計1では、秒針車24が複数ステップ移動する間に検出される穴パターンと、検出されるべき穴パターンの値A0〜A4とを比較することで(図10のステップS36を参照)、秒針2と分針3の位置ズレの有無を判別するようになっている。さらに、この検出されるべき穴パターンの値A0〜A4が、針位置検出時刻の変更に伴って適宜選択される(図10ステップS29を参照)ようになっている。従って、上記のように針位置検出時刻を変更しても、正常な針位置検出の処理を遂行できるようになっている。
また、針位置検出時刻の変更は、予め設定されている規定時刻(分針3の組付け誤差やタイムシフト機能の使用がない場合の針位置検出時刻)から、タイムシフト機能の時刻シフト時間と、分針3の組付け誤差に係る針シフト量を時間換算した値との両方をずらして求められるので、確かに、分針車25、中間車26、秒針車24が検出用の位置に来るタイミングを補正後の針位置検出時刻として設定することができる。
また、時刻計数回路47には現在時刻の計数を行わせ、この時刻計数回路の計時時刻に基づいて、針位置検出のタイミングを判定したり、タイムシフト機能によりずらされた時刻表示の制御が行われるようになっており、基準となる現在時刻は常に時刻計数回路に保持された状態にされるので、ベースとなる計時処理や標準電波の受信による時刻修正処理には、変更を加える必要なく、標準的なアルゴリズムを適用することができる。
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、指針の組付け工程において分針3についてのみ取付位置のズレ量を記憶させて、針位置検出時刻を変更するのに使用しているが、同様に、秒針2や時針4に組付け誤差が生じた場合にそれらの取付位置のズレ量を記憶させて、針位置検出時刻を調整するのに用いるようにしても良い。
また、上記実施形態では、タイムシフト機能の時刻シフト時間を分単位で設定できるようにしているが、例えば10秒単位で設定可能なように構成しても良い。また、上記実施形態では、RAM37の記憶領域37aに記憶されるシフト時間情報として、第1〜第3セクション“RAM1”〜“RAM3”を設けて、タイムシフト機能で設定された時刻シフト時間のデータ、針シフト量を加味した針位置検出時刻の補正値データ、補正後の針位置検出時刻のデータを、それぞれ記憶するようにしているが、何れか1つのデータだけ記憶させ、残りの2つのデータは必要なときに記憶された1つのデータから演算により求めるようにしても良い。
また、上記実施形態では、分針3と時針4が独立駆動の構成に本発明を適用した例を示したが、分針3と時針4が連動して駆動する構成においても同様に本発明を適用することができる。その他、実施形態で示した細部構造および細部方法は、発明の趣旨を逸脱しない範囲で適宜変更可能である。