(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記受光素子が受光した場合に受光状態が変化したと判別し、再度判別した結果、前回の受光結果と今回の受光結果が共に前記受光素子が受光している場合に、前記今回の停止位置を基準位置として検出する、請求項1に記載の位置検出装置。
前記制御部は、前記駆動モータを駆動した後、所定時間、前記発光素子を発光させるように制御し、前記発光素子が発光している期間に前記受光素子の受光結果を判別する、
請求項1から請求項3のいずれか1項に記載の位置検出装置。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について図面を参照しながら説明する。
図1は、本実施形態に係る時計100の主要部分の正面図である。
図2は、本実施形態に係る時分輪列の正面図である。
図3は、本実施形態に係る秒輪列の正面図である。
図4は、本実施形態に係る時計100の主要部分を同一平面に展開した断面図である。なお、
図4は、
図1のII−IIで展開した断面図である。
【0016】
図1〜
図4に示すように、時計100は、下板1、中板2、時針車3、分針車4、第二分中間車5、秒針車6、発光素子7、受光素子8、上板10、ロータ11、第一分中間車12、日ノ裏車13、ロータ14、第一秒中間車15、第二秒中間車16、第三秒中間車17、基板24、制御回路101、第一の駆動モータM1、および第二の駆動モータM2を備える。また、第一の駆動モータM1は、ステータ20および駆動コイル22を備える。第二の駆動モータM2は、ステータ21および駆動コイル23を備える。
図4に示すように、基板24の上には、制御回路101が取り付けられている。
【0017】
図4に示すように、下板1は透過孔1Aを備え、中板2は透過孔2Aを備え、時針車3は少なくとも1つの透過孔3Aを備える。
図2および
図4に示すように、分針車4は少なくとも1つの透過孔4Aを備え、第二分中間車5は少なくとも1つの透過孔5Aを備える。
図3および
図4に示すように、秒針車6は少なくとも1つの透過孔6Aを備える。
なお、
図4に示す例は、発光素子7から受光素子8に向かって、透過孔1Aと、透過孔3Aと、透過孔4Aと、透過孔5Aと、透過孔2Aと、透過孔6Aとが基準時刻に一直線上に並んだ状態の図である。透過孔1Aと、透過孔2Aは、位置が固定されている。そして、透過孔3Aと、透過孔4Aと、透過孔5Aと、透過孔6Aは、歯車の回転に伴って位置が変化する。
なお、
図4において、発光素子7と受光素子8の配置は逆であってもよい。また、
図2、
図3、および
図4に示した各孔の位置、形状、個数は一例であり、これに限られない。また、
図1は各歯車に設けられた透過孔を省略している。
【0018】
また、
図2に示すように、時分輪列は、ロータ11、第一分中間車12、第二分中間車5、分針車4、日ノ裏車13、および時針車3が順次噛合している。また、分針車4には、分針172(
図5)が取り付けられている。さらに、時針車3には、時針171が取り付けられている。
また、
図3に示すように、秒輪列は、ロータ14、第一秒中間車15、第二秒中間車16、第三秒中間車17、および秒針車6が順次噛合している。また、秒針車6には、秒針173(
図5)が取り付けられている。
【0019】
次に、制御回路101の構成について説明する。
図5は、本実施形態に係る制御回路101を含む時計100のブロック図である。
図5に示すように、時計100は、制御回路101、駆動部160、表示部170、および位置検出部180を備える。
【0020】
制御回路101は、受信回路110、発振回路120、電源回路130、記憶部140、および制御部150を備える。
駆動部160は、第一の駆動モータM1、輪列161、第二の駆動モータM2、および輪列162を備える。なお、輪列161は、
図1および
図2に示したロータ11、第一分中間車12、第二分中間車5、時針車3、分針車4、および日ノ裏車13を含む。また、輪列162は、
図1および
図3に示したロータ14、第一秒中間車15、第二秒中間車16、第三秒中間車17、および秒針車6を含む。第一の駆動モータM1、および第二の駆動モータM2は、例えばステッピングモータである。
表示部170は、時針171、分針172、および秒針173を備える。
位置検出部180は、発光素子7および受光素子8を備える。
【0021】
次に、時計100の動作について説明する。
時計100は、例えば電波時計である。時計100は、計時を行い、例えば標準時刻電波を受信して、受信した標準時刻電波と位置検出部180を用いて検出した各々の歯車の回転位置関係に基づいて時刻の表示を補正する。
【0022】
受信回路110は、所定のタイミングで、時刻コード信号を含む標準時刻電波を受信し、受信した標準時刻電波から時刻コード信号を抽出し、抽出した時刻コード信号を制御部150に出力する。
発振回路120は、基準信号を生成する。基準信号の周波数は、例えば32.768kHzである。発振回路120は、生成した基準信号を制御部150に出力する。
【0023】
電源回路130は、電池を含み、電力を受信回路110、記憶部140、および制御部150に供給する。
記憶部140は、制御部150を制御する制御プログラム、後述する所定時間Δt1、所定時間Δt2等を記憶する。
【0024】
発光素子7は、例えば発光ダイオードである。発光素子7は、制御部150の制御に応じて発光を開始および発光を終了する。
受光素子8は、例えばフォトダイオードである。受光素子8は、発光素子7が発した光を受光し、受光した結果を検出信号をとして制御部150に出力する。
【0025】
制御部150は、例えばCPU(中央演算装置)である。制御部150は、記憶部140が記憶する制御プログラムに応じて、第一の駆動モータM1を駆動する駆動パルスD11とD12を生成し、生成した駆動パルスD11とD12を第一の駆動モータM1に出力する。制御部150は、記憶部140が記憶する制御プログラムに応じて、第二の駆動モータM2を駆動する駆動パルスD21とD22を生成し、生成した駆動パルスD21とD22を第二の駆動モータM2に出力する。
また、制御部150は、時針車3と分針車4と第二分中間車5との組み合わせによる受光素子8が受光した検出信号を用いて、時分輪列における各々の歯車の回転位置関係の検出を行う。制御部150は、秒針車6による検出信号を用いて、秒輪列における各々の歯車の回転位置関係の検出を行う。そして、制御部150は、受信回路110が出力した時刻コード信号と、検出した位置に基づいて、表示部170の時刻補正の必要があるか否かを判別し、時刻補正の必要があると判別した場合に第一の駆動モータM1および第二の駆動モータM2を駆動して、表示時刻を補正するように制御する。
【0026】
第一の駆動モータM1は、制御部150が出力した駆動パルスD11とD12に応じて、輪列161を回転させることで、時針171と分針172を運針する。
第二の駆動モータM2は、制御部150が出力した駆動パルスD21とD22に応じて、輪列162を回転させることで、秒針173を運針する。
【0027】
表示部170は、文字盤(不図示)を含み、時針171、分針172、秒針173によって時刻を表示する。
時針171は、12時間に1回転し、分針172は、60分間で1回転し、秒針173は、1分間で1回転する。
【0028】
ここで、制御部150が、駆動モータ(第一の駆動モータM1、第二の駆動モータM2)に駆動パルスを1パルス出力したときの歯車の動きと制御部150の制御と処理の例を説明する。駆動パルスが出力された後、歯車は、所定の角度、回転するが、このとき、ロータ(11または14)には慣性が作用するため、ロータは定められている停止位置より少し先まで回転する。この方向を正方向とすると、ロータは慣性力に従って正方向に回転を続け、所定の停止位置より少し先でまで回転した後、今度は逆方向に回転し、そこから再び正方向に回転する。このようにロータは搖動を繰り返しながら慣性力が減衰していき、やがて所定の位置で停止する。
【0029】
このときのロータとかみ合している歯車の動作を、
図8を用いて説明する。
図8は、
図7における状態P21、P22、P23、P31、P32、およびP33における透過孔1Aと透過孔5Aとの状態を示す図である。なお、
図8は透過孔1Aと透過孔5Aとの状態を示す図である。透過孔1Aと透過孔5Aの関係がP21の状態にある場合に、この状態から駆動パルスを1パルス出力すると、ロータが駆動されて、かみ合している歯車が所定の角度回転してP23の状態で停止する。ところが上述のごとくロータが慣性力によって所定の位置より少し先まで回転を続けてしまうため、歯車もそれに対応して、所定の位置よりも少し先である位置まで回転してしまう。この時の状態の一例をP22に示す。P22の状態では透過孔1Aと透過孔5Aとが透過するため、受光が検出される。そして歯車が逆転方向に回転し、搖動を繰り返して、やがてP23の状態で停止する。
【0030】
このように、本来、透過孔が透過することがない位置関係であるために受光を検出することがないはずであるものが、歯車が慣性によって定められた位置を通り過ぎる位置まで回転したために光が透過してしまう場合がある。そうすると、本来検出するべき位置よりも手前で、発光素子7が発した光を受光素子8が受光し、受光した結果を検出信号として制御部150に出力してしまうため、本来検出するべき正しい位置検出を行うことができない。このため、本実施形態では、駆動パルスを出力した後、一度、受光素子8の検出信号を制御部150が確認する。なお、透過光が得られている状態の検出信号は、Hレベルであり、透過光が得られていない状態の検出信号は、Lレベルであるとする。なお、検出の信号レベルは所定の閾値よりも下の場合にLレベルとし、閾値以上の場合をHレベルとする。制御部150は、Hレベルの検出信号が検出された場合、駆動モータを停止、すなわち駆動パルスを出力せず、所定時間経過後に、検出信号のレベルを再検出する。この再検出した結果がHレベルであれば、制御部150は、透過光が得られたと判定し、すなわち各歯車の透過孔が、下板1の透過孔1Aに達したと判別する。そして、制御部150は、透過光が得られた位置を、基準時刻を示す基準位置であると判別する。なお、基準時刻とは、予め定められた表示される表示時刻であり、例えば12時である。また、基準時刻は、各歯車と各透過孔の配置と形状に予め定められている時刻であり、12時間のうち、複数個あってもよい。また、
図3に示したように、秒針車6は、複数の透過孔6Aを備え、複数の透過孔6Aのうち1つが、円弧方向に他の透過孔より長い。制御部150は、この円弧方向に長い透過孔の位置を0秒の基準位置であると判別する。
【0031】
次に、本実施形態に係る位置検出の処理手順を説明する。
図6は、本実施形態に係る位置検出の処理のフローチャートである。
(ステップS101)制御部150は、駆動モータ(第一の駆動モータM1または第二の駆動モータM2)を駆動する駆動パルスを出力するタイミングであるか否かを判別する。制御部150は、駆動モータを駆動する駆動パルスを出力するタイミングではないと判別した場合(ステップS101;NO)、ステップS101の処理を繰り返し、駆動モータを駆動する駆動パルスを出力するタイミングであると判別した場合(ステップS101;YES)、ステップS102の処理に進める。
【0032】
(ステップS102)制御部150は、駆動モータに出力する駆動パルス(駆動信号とも言う)をL(ロー)レベルからH(ハイ)レベルに変化させる。
(ステップS103)制御部150は、駆動モータの駆動に対して定められている時間経過後、駆動パルスをHレベルからLレベルに変化させる。
【0033】
(ステップS104)制御部150は、発光素子7の発光を開始するように制御する。なお、発光を開始するタイミングは、予め定められている周期の時刻、駆動パルスの立ち上がりから予め定められている時間経過後、駆動パルスの立ち下がりから予め定められている時間経過後等である。
【0034】
(ステップS105)制御部150は、発光素子7を発光させた後、検出に必要な予め定められている時間経過後の検出タイミングであるか否かを判別する。制御部150は、検出タイミングではないと判別した場合(ステップS105;NO)、ステップS105の処理を繰り返し、検出タイミングであると判別した場合(ステップS105;YES)、ステップS106の処理に進む。
【0035】
(ステップS106)制御部150は、受光素子8が出力した検出信号を取得する。続けて、制御部150は、検出信号のレベルがHレベルであるか否かを判別する。制御部150は、検出信号のレベルがHレベルであると判別した場合(ステップS106;YES)、ステップS107に処理を進め、検出信号のレベルがHレベルではないと判別した場合(ステップS106;NO)、ステップS109に処理を進める。
【0036】
(ステップS107)制御部150は、所定時間、駆動モータを停止するように制御する。すなわち、制御部150は、所定時間、駆動パルスをLレベルのまま維持する。なお、所定時間は、歯車を駆動後、例えば、歯車の揺動が終了する期間であり、実測やシミュレーションによって、予め設計者が定めた時間である。
【0037】
(ステップS108)制御部150は、受光素子8が出力した検出信号を取得する。続けて、制御部150は、検出信号のレベルがHレベルであるか否かを判別する。制御部150は、検出信号のレベルがHレベルであると判別した場合(ステップS108;YES)、ステップS110に処理を進め、検出信号のレベルがHレベルではないと判別した場合(ステップS108;NO)、ステップS109に処理を進める。このステップS108では、歯車を駆動した後、ステップS105のタイミングで取得した検出信号が正しいか否かを、揺動が終了したと思われる所定時間後に再取得して、検出信号のレベルを再確認する。
【0038】
(ステップS109)制御部150は、発光素子7の発光を終了する。続けて、制御部150は、ステップS101に処理を戻す。
(ステップS110)制御部150は、ステップS108のタイミングで停止している位置を、歯車の基準位置として検出する。制御部150は、ステップS111に処理を進める。
【0039】
(ステップS111)制御部150は、発光素子7の発光を終了する。続けて、制御部150は、ステップS101に処理を戻す。
(ステップS112)制御部150は、受信回路110が出力した時刻コード信号(時刻を表す時刻情報)を取得する。続けて、制御部150は、取得した時刻情報と、歯車の基準位置に基づく基準時刻とを比較し、時刻表示を補正する必要があるか否かを判別する。制御部150は、例えば、時刻情報と基準時刻との差が、予め定められている時間より長い場合、補正の必要があると判別し、予め定められている時間より短い場合、補正の必要がないと判別する。補正の必要があると判別した場合、制御部150は、時刻表示を補正する駆動パルスを生成し、生成した駆動パルスを駆動モータに出力することで時刻表示の補正を行う。
以上で、位置検出の処理を終了する。
【0040】
次に、本実施形態における位置検出の一例を説明する。なお、以下の説明では、第二分中間車5の透過孔5Aを透過する光が検出信号である場合の例を、
図7と
図8を用いて説明する。
図7は、本実施形態に係る1回のモータ駆動毎に1回検出する場合の位置検出の一例を示すタイミングチャートである。
図7において、横軸は時刻、縦軸は各信号のレベルを表している。また、検出の信号レベルは所定の閾値よりも下の場合にLレベルとし、閾値以上の場合をHレベルとする。なお、
図7に示す例では、一回目の検出タイミングS1、三回目の検出タイミングS3のときに検出した検出信号が適切であり、二回目の検出タイミングS2のときに検出した検出信号がエラーの例である。また、
図7において、状態P21、P22、P23、P31、P32、およびP33それぞれは、透過孔1Aと透過孔5Aとの状態を表し、透過孔1Aと透過孔5Aの状態は
図8である。
【0041】
また、
図7において、波形g201は、第二分中間車5の透過孔5Aによる光量の変化(透過孔1Aに対する透過孔5Aの開口率)を表す。なお、Lレベルは、検出位置に透過孔5Aが位置していない、すなわち、検出位置にある下板1の透過孔1Aが、第二分中間車5によって遮蔽されている状態である。また、LレベルからHレベルへの変化は、検出位置に透過孔5Aの端が達した状態である。さらに、Hレベルは、透過孔5Aが検出位置の上を通過している状態である。
また、波形g202は、駆動パルスD11を表し、波形g203は、駆動パルスD12を表す。波形g204は、発光素子7の発光状態を表し、波形g205は、受光素子8が受光した検出信号を表し、波形g206は、検出タイミングを表している。
【0042】
まず、制御部150は、時刻t1のとき、第一の駆動モータM1に出力する駆動パルスD11をLレベルからHレベルに変化させる。続けて、制御部150は、第一の駆動モータM1の駆動に対して定められている時間経過後の時刻t2のとき、駆動パルスD11をHレベルからLレベルに変化させる。すなわち、制御部150は、時刻t1〜t2の期間、第一の駆動モータM1に駆動パルスD11を出力する。
【0043】
時刻t3のとき、制御部150は、発光素子7の発光を開始するように制御する。
制御部150は、発光素子7を発光させた後、検出に必要な予め定められている時間経過後の時刻t4の検出タイミングS1のとき、受光素子8が出力した検出信号を取得する。時刻t4のとき、透過孔1Aは第二分中間車5によって遮蔽されているため、検出信号は、Lレベルである。
時刻t5のとき、制御部150は、発光素子7の発光を終了するように制御する。
【0044】
時刻t6のとき、制御部150は、第一の駆動モータM1に出力する駆動パルスD12をLレベルからHレベルに変化させる。時刻t6のときの状態P21は、
図8の符号g301が示す領域の画像のように、透過孔1Aに透過孔5Aが達していず、透過孔1Aを第二分中間車5が遮っている。
制御部150は、予め定められている時間経過後の時刻t7のとき、駆動パルスD12をHレベルからLレベルに変化させる。
【0045】
時刻t8のとき、制御部150は、発光素子7の発光を開始するように制御する。続けて、制御部150は、発光素子7を発光させた後、検出に必要な予め定められている時間経過後の時刻t9の検出タイミングS2のとき、受光素子8が出力した検出信号を取得する。
検出タイミングS2の状態P22は、
図8の符号g302が示す領域の画像のように、透過孔1Aに透過孔5Aの端が第二分中間車5の揺動によって一時的に重なった状態、またはノイズが入ったエラー状態である。このときの検出信号が所定の閾値を超えていた場合、制御部150は検出信号をHレベルと判別する。このときに取得した検出信号を用いて、位置検出を行った場合、検出タイミングS2の検出信号はエラーであるため、適切な位置検出ができておらず、この位置を基準位置とした場合には適切に時刻を修正することができない。このため、本実施形態では、検出信号のHレベルが検出された場合、所定時間、モータ(
図6の例では、第一の駆動モータM1)を停止させた後、検出信号を再取得することで、検出信号の再確認を行う。
【0046】
制御部150は、第一の駆動モータM1を停止、すなわち駆動パルスD11をLレベルのまま維持する。本実施形態においてモータ停止中は発光素子が常に発光し続けるが、検出に支障のないタイミングで発光を開始し、検出が終了後に適宜発光を終了するようにしてもよい。なお、時刻t11は、歯車の揺動後の時刻を表している。時刻t11のときの状態P23は、
図8の符号g303が示す領域の画像のように、透過孔1Aに透過孔5Aが達していず、透過孔1Aを第二分中間車5が遮っている。第一の駆動モータM1を停止しているため、時刻t11と時刻t13の透過孔1Aと透過孔5Aの状態は、略同じ状態P23である。
【0047】
検出タイミングS2(時刻t9)から所定時間Δt1経過後の時刻t13の検出タイミングS2’のとき、制御部150は、再度、検出信号を取得する。検出タイミングS2’のときの検出信号は、Lレベルである。このため、制御部150は、検出タイミングS2’のとき取得した検出信号がLレベルであるため、検出タイミングS2のときに取得した検出信号をエラーであったと判別する。なお、制御部150は、検出タイミングS2と検出タイミングS2’それぞれのときに取得した検出信号が一致しないため、検出タイミングS2のときに取得した検出信号をエラーであったと判別するようにしてもよい。
時刻t14のとき、制御部150は、発光素子7の発光を終了するように制御する。
【0048】
時刻t15のとき、制御部150は、駆動パルスD11をLレベルからHレベルに変化させる。続けて、時刻t17のとき、制御部150は、駆動パルスD11をHレベルからLレベルに変化させる。なお、波形g201に示すように、時刻t16のとき、透過孔5Aが透過孔1Aに達し始める。時刻t16の状態P31は、
図8の符号g304が示す領域の画像のように、透過孔1Aに透過孔5Aが達し始める状態である。
【0049】
時刻t18のとき、制御部150は、発光素子7の発光を開始するように制御する。続けて、制御部150は、発光素子7を発光させた後、検出に必要な予め定められている時間経過後の時刻t19の検出タイミングS3のとき、受光素子8が出力した検出信号を取得する。
検出タイミングS3の状態P32は、
図8の符号g305が示す領域の画像のように、透過孔1Aに透過孔5Aが達した状態である。このため、検出信号は、Hレベルである。
【0050】
制御部150は、検出タイミングS3のときに取得した検出信号がエラーであるか否かを判別するために、再度、第一の駆動モータM1を停止さる。第一の駆動モータM1を停止しているため、時刻t21と時刻t23の透過孔1Aと透過孔5Aの状態は、略同じ状態P33である。
【0051】
なお、所定時間Δt1とΔt2は同じ時間であってもよい。所定時間Δt1とΔt2は、例えば0.5秒である。続けて、制御部150は、発光素子7を発光させた後、検出タイミングS3から所定時間Δt2経過後、かつ検出に必要な予め定められている時間経過後の時刻t23の検出タイミングS3’のとき、受光素子8が出力した検出信号を取得する。検出タイミングS3’のとき、検出信号はHレベルである。検出タイミングS3’の状態P33は、
図8の符号g306が示す領域の画像のように、透過孔1Aに透過孔5Aが達した状態である。
このため、制御部150は、検出タイミングS3’それぞれのときに取得した検出信号がHレベルであるため、検出タイミングS3のときに取得した検出信号がエラーではないと判別する。そして、制御部150は、検出タイミングS3’の位置を第二分中間車5の基準位置として検出する。
時刻t24のとき、制御部150は、発光素子7の発光を終了するように制御する。
【0052】
なお、
図7では、第一の駆動モータM1を駆動したときの、透過孔1Aと透過孔5Aの状態を例に説明したが、制御部150は、各歯車を駆動したとき、同様の処理を行うことで、各歯車の位置を検出する。なお、歯車の位置と、時刻との関係は、予め記憶部140が記憶している。
【0053】
なお、本実施形態において、受光結果は、受光素子が受光した信号レベルを所定の閾値を用いて、HレベルかLレベルであるか判別した結果である。また、本実施形態において、例えば検出タイミングS1の検出結果が今回の検出結果の場合、検出タイミングS1の1つ前の検出タイミングの時に検出された検出結果が前回の検出結果である。この場合、前回の検出結果がLレベルであり、今回の検出結果がLレベルであるため、制御部150は、駆動モータを停止しない。一方、検出タイミングS2が今回の検出結果の場合、前回の検出結果は検出タイミングS1のときの検出結果である。この場合、前回の検出結果がLレベルであり、今回の検出結果がHレベルであるため、制御部150は、駆動モータを所定時間停止させたのち、再度、検出タイミングS2’のとき検出結果を判別する。検出タイミングS2’において、検出タイミングS2のときの検出結果が前回の検出結果でありHレベルであり、検出タイミングS2’のときの検出結果が今回の検出結果でありLレベルである。このように、制御部150は、再度判別した結果、前回と今回の検出結果が一致していないため、今回の停止位置P23を基準位置として採用しない。一方、検出タイミングS3(前回)と検出タイミングS3’(今回)の検出結果が共にHレベルであるため、制御部150は、前回と今回の検出結果が一致しているため、今回の停止位置P23を基準位置として採用する。
【0054】
なお、
図7に示した例では、受光素子の検出信号がHレベルになることを検出する例について述べたが、これに限られず、受光素子がLレベルを検出するものであっても構わない。例えば、歯車の透過孔の回転方向の終了端が透過孔1Aを抜けるときの位置を検出しようとする場合は、HレベルであったものがLレベルになる位置を検出することになる。この場合も歯車の慣性によって、上述した現象と同様の現象が生じる場合がある。すなわち、歯車は、透過孔1Aを慣性によって通り過ぎ、その後、戻ることによって所定の位置で停止する。透過孔1Aを慣性によって通り過ぎた状態では、透過孔1Aが歯車によって遮蔽されているため、検出信号はLレベルであるが、やがて正しい位置に戻るとHレベルが検出される。このような状態で位置検出を行った場合にも、正しい位置検出をできない場合がある。本実施形態によれば、このような場合であっても正しい位置検出を行うことができる。
【0055】
以上のように、本実施形態の位置検出装置(制御回路101、位置検出部180)は、発光素子7と、発光素子からの透過光を受光する受光素子8と、歯車(例えば、時針車3、分針車4、第二分中間車5、秒針車6)を駆動する駆動モータ(第一の駆動モータM1、第二の駆動モータM2)と、所定のタイミング毎に受光素子の受光結果が変化したか否かの判別を行い、今回の判別結果(例えば検出タイミングS3)と前回の判別結果(例えば検出タイミングS2’)とが異なる場合に、駆動モータを停止するように制御し、駆動モータが停止している期間(例えば検出タイミングS3’)に受光結果を再度判別し、再度判別した結果、前回の受光結果(例えば検出タイミングS3)と今回の受光結果(例えば検出タイミングS3’)が同じであった場合に、今回の停止位置(例えば状態P33)を基準位置として検出する制御部150と、を備える。
【0056】
この構成によって、本実施形態では、一度検出した後、駆動モータを停止させた後に再検出を行うようにしたので、部品の製造ばらつきや、電源電圧の変動に起因する慣性の変動による歯車の揺動状態の変化があった場合においても、位置の誤検出を防止できる。
【0057】
<変形例>
上述した例では、歯車の透過孔の回転方向の開始端が透過孔1Aに少し達した後、戻って所定の位置に達する例を説明したが、歯車の動きはこれに限らない。ロータや歯車は、電圧、指針の条件(アンバランスなど)により、慣性による動きが変化する。ロータは揺動しながら停止するため、揺動中において、歯車が戻り方向にあるときに透過孔1Aが歯車によって遮蔽されている状態が発生した場合、検出信号はLレベルとなる。このような状態で位置検出を行った場合には、本来、Hレベルを検出すべき位置においても、正しい位置検出ができない。
このときの歯車の動作を、
図8を用いて説明する。透過孔1Aと透過孔5Aの関係がP31の状態にある場合に、この状態から駆動パルスを1パルス出力すると、ロータが駆動されて、かみ合している歯車が所定の角度回転してP33の状態で停止する。ところが上述のごとくロータには慣性力が作用するため、所定の位置より少し先まで回転を続けてP32の状態になった後に、今度は逆転して、例えばP21の状態にまで戻ってしまうことがある。そして、歯車が再び正方向に回転し、やがてP33の状態で停止する。P21の状態にあるときに制御部150が検出を行うと、本来、Hレベルを検出すべきであるはずが、Lレベルを検出してしまうことになり、正しい位置検出ができない。
【0058】
上述した例では1回のモータ駆動毎に1回検出する場合の例を説明したが、変形例では、このような現象を防ぐため、1回のモータ駆動毎に検出する回数は、2回以上であってもよい。以下に、1回のモータ駆動毎に3回の検出を行う例を説明する。
まず、位置検出の処理手順を説明する。
図9は、本実施形態に係る変形例における位置検出の処理のフローチャートである。なお、
図6で説明した処理と同様の処理については、同じ符号を用いて説明を省略する。
【0059】
(ステップS101〜S103)制御部150は、ステップS101〜S103の処理を行う。続けて、制御部150は、ステップS201に処理を進める。
(ステップS201)制御部150は、発光素子7の発光を開始するように制御する。続けて、制御部150は、検出回数を1に設定し、ステップS202に処理を進める。
【0060】
(ステップS202)制御部150は、発光素子7を発光させた後、検出に必要な予め定められている時間経過後の検出タイミングであるか否かを判別する。制御部150は、検出タイミングではないと判別した場合(ステップS202;NO)、ステップS202の処理を繰り返し、検出タイミングであると判別した場合(ステップS202;YES)、ステップS203の処理に進む。
【0061】
(ステップS203)制御部150は、受光素子8が出力した検出信号を取得する。続けて、制御部150は、検出信号のレベルがHレベルであるか否かを判別する。制御部150は、検出信号のレベルがHレベルであると判別した場合(ステップS203;YES)、ステップS204に処理を進め、検出信号のレベルがHレベルではないと判別した場合(ステップS203;NO)、ステップS206に処理を進める。
【0062】
(ステップS204)制御部150は、Hレベルを検出したことを示すフラグを設定する。なお、制御部150は、検出毎に、Hレベルを検出した回数を、Hレベル検出フラグに関連付けて設定するようにしてもよい。また、制御部150は、Hレベル検出フラグおよび検出回数を、記憶部140に書き込むようにしてもよい。
(ステップS205)制御部150は、検出回数に1を加算する。
【0063】
(ステップS206)制御部150は、検出回数が3回になったか否かを判別することで、3回検出が終了したか否かを判別する。制御部150は、3回検出が終了したと判別した場合(ステップS206;YES)、ステップS207に処理を進め、3回検出が終了していないと判別した場合(ステップS206;NO)、ステップS202に処理を戻す。
【0064】
(ステップS207)制御部150は、少なくとも1回、Hレベルを検出したか否かを、Hレベル検出フラグを確認することで判定する。制御部150は、少なくとも1回、Hレベルを検出したと判別した場合(ステップS207;YES)、ステップS107に処理を進め、少なくとも1回、Hレベルを検出していないと判別した場合(ステップS207;NO)、ステップS109に処理を進める。
【0065】
次に、変形例における位置検出の一例を説明する。
図10は、本実施形態に係る1回のモータ駆動毎に3回検出する場合の位置検出の一例を示すタイミングチャートである。
図7と
図10との差異は、発光素子の発光タイミングと、検出タイミングである。
制御部150は、駆動パルスD11を出力し、発光素子7の発光を開始するように制御した後、検出に必要な予め定められている時間経過後の検出タイミングS11のとき、受光素子8が出力した1回目の検出信号を取得する。
【0066】
検出タイミングS12のとき、受光素子8が出力した2回目の検出信号を取得する。
検出タイミングS13のとき、受光素子8が出力した3回目の検出信号を取得する。なお、検出タイミングS11〜S13は、例えば予め定められた時間間隔である。
制御部150は、検出タイミングS11〜S13それぞれのときに取得した検出信号にHレベルが含まれていないため、発光素子7の発光を終了するように制御し、一定時間後に、駆動パルスD12を出力する。
【0067】
制御部150は、発光素子7の発光を開始するように制御した後、予め定められている時間経過後の検出タイミングS21のとき、受光素子8が出力した1回目の検出信号を取得する。
検出タイミングS22のとき、受光素子8が出力した2回目の検出信号を取得する。
検出タイミングS23のとき、受光素子8が出力した3回目の検出信号を取得する。
制御部150は、検出タイミングS21〜S23それぞれのときに取得した検出信号にHレベルが含まれているため、第一の駆動モータM1を停止させ、さらに発光素子7の発光を継続する。
【0068】
制御部150は、検出信号を再確認するため、所定時間Δt1後の検出タイミングS2’のとき、検出信号を少なくとも1回、再取得する。
制御部150は、検出タイミングS2’のときに取得した検出信号がLレベルのため、検出タイミングS22のときに取得した検出信号をエラーであると判別する。続けて、制御部150は、発光素子7の発光を終了するように制御し、続けて駆動パルスD11を出力する。
【0069】
制御部150は、発光素子7の発光を開始するように制御した後、予め定められている時間経過後の検出タイミングS31のとき、受光素子8が出力した1回目の検出信号を取得する。
検出タイミングS32のとき、受光素子8が出力した2回目の検出信号を取得する。
検出タイミングS33のとき、受光素子8が出力した3回目の検出信号を取得する。
制御部150は、検出タイミングS31〜S33それぞれのときに取得した検出信号にHレベルが含まれているため、第一の駆動モータM1を停止させ、さらに発光素子7の発光を継続する。
【0070】
制御部150は、検出信号を再確認するため、所定時間Δt2後の検出タイミングS3’のとき、検出信号を少なくとも1回、再取得する。なお、所定時間Δt1とΔt2は同じ時間であってもよい。所定時間Δt1とΔt2は、例えば0.5秒である。また、所定時間Δt1は、例えば時刻S21またはS22から検出タイミングS2’の期間であってもよい。
制御部150は、検出タイミングS3’のときに取得した検出信号がHレベルのため、検出タイミングS31〜S33のときに取得した検出信号をエラーではないと判別する。続けて、制御部150は、発光素子7の発光を終了するように制御する。
【0071】
なお、1回の駆動毎に3回検出する場合の発光素子7の発光タイミングは、例えば
図10において、駆動パルスを出力した後(1回目)と、次の駆動パルスを出力する前(3回目)と、この2回の発光タイミングの間(2回目)であってもよい。
【0072】
以上のように、本実施形態によれば、歯車の透過孔の回転方向の開始端および終了端が、揺動して透過孔1Aや透過孔2Aに達した場合であっても、駆動モータを停止した後に、複数回検出を行うことで、ノイズを除去して適切な位置検出を行うことができる。
また、このように、1回の駆動で複数回検出することで、例えば回路内に発生したノイズや、外部からの入射光等によるノイズを除去して適切な位置検出を行うことができる。
【0073】
図9および
図10を用いた例では、1回の駆動毎に3回の検出を行う例を説明したが、検出回数は2回、4回以上であってもよい。
また、検出回数が3回の場合、制御部150は、例えば
図10の検出タイミングS21のときにHレベルを検出し、検出タイミングS22とS23のときLレベルが続いた場合、検出タイミングS21のときの検出信号をエラーであると判別し、再確認を行わないようにしてもよい。また、制御部150は、3回の検出のうち、Hレベルが例えば2回検出された場合に、再確認を行うようにしてもよい。これにより、本実施形態では、エラー発生毎に再確認を行わずに済む。再確認を行う場合、所定時間である例えば0.5秒、指針が駆動されないため、利用者に指針の動きが視認される可能性もある。また、
図10に示した例では、検出タイミングS23〜S2’と、検出タイミングS33〜S3’の2回、0,5秒ずつ待って再確認を行っているため、指針は、実質的に1秒(=0.5秒×2)停止している。このように、エラー毎に再確認を行うと、指針が動かない状態が利用者に視認される場合もあり得る。このため、本実施形態によれば、エラーの可能性が高い状態(検出タイミングS21だけHレベル、またはHレベルが1回等)では、再確認を行わないことで、このような指針の停止が生じないようになる。
【0074】
なお、
図7〜
図10に示した例では、発光素子7を検出信号の検出時のみ発光させる例を説明したが、常時発光であってもよい。
図7のように断続的に発光素子7を発光させる場合、発光期間は、少なくとも検出タイミングを含んでいればよく、例えば、駆動パルスの立ち上がり後から検出タイミングの期間を含んでいてもよい。
【0075】
以上のように、本実施形態の位置検出装置(制御回路101、位置検出部180)において、制御部150は、駆動モータ(第一の駆動モータM1、第二の駆動モータM2)を駆動した後、所定時間(例えばΔt1、Δt2、0.5秒)、発光素子7を発光させるように制御し、発光素子が発光している期間に受光素子8の受光結果を判別する。
【0076】
この構成によって、部品の製造ばらつきや、電源電圧の変動による歯車の揺動状態の変化があった場合においても、位置の誤検出を防止できる。
【0077】
なお、上述した実施形態における制御回路101の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0078】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【解決手段】位置検出装置は、発光素子7と、発光素子7からの透過光を受光する受光素子8と、歯車を駆動する駆動モータM1,M2と、所定のタイミング毎に受光素子8の受光結果が変化したか否かの判別を行い、今回の判別結果と前回の判別結果とが異なる場合に、駆動モータM1、M2を停止するように制御し、駆動モータM1,M2が停止している期間に受光結果を再度判別し、再度判別した結果、前回の受光結果と今回の受光結果が同じであった場合に、今回の停止位置を基準位置として検出する制御部150と、を備える。