(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-25
(45)【発行日】2025-07-03
(54)【発明の名称】回転判定装置
(51)【国際特許分類】
G01D 5/244 20060101AFI20250626BHJP
【FI】
G01D5/244 C
(21)【出願番号】P 2021015327
(22)【出願日】2021-02-02
【審査請求日】2024-02-01
(73)【特許権者】
【識別番号】000138462
【氏名又は名称】株式会社ユーシン
(74)【代理人】
【識別番号】100122426
【氏名又は名称】加藤 清志
(72)【発明者】
【氏名】増田 万希子
【審査官】吉田 久
(56)【参考文献】
【文献】特開平9-243403(JP,A)
【文献】特開2002-41226(JP,A)
【文献】特開平9-280891(JP,A)
【文献】米国特許出願公開第2008/0290261(US,A1)
【文献】特開平6-137892(JP,A)
【文献】特開平4-194993(JP,A)
【文献】特開平9-5114(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01D 5/00-5/38
G01P 3/00-3/80
G06F 3/02-3/047
(57)【特許請求の範囲】
【請求項1】
回転体に接続され、当該回転体の回転により互いに位相がずれた2つのパルス信号を生成するエンコーダと、
前記2つのパルス信号の立ち上がりエッジおよび立ち下がりエッジを信号変化として検出する検出部と、
前記エンコーダから入力される前記2つのパルス信号のレベルを入力信号レベルとして取得する取得部と、
前記エンコーダに電源が供給された際の前記入力信号レベルを初期値とした基準信号レベルを設定する設定部と、
前記検出部で前記2つのパルス信号のどちらか一方で前記信号変化が検出されたとき、前記信号変化が検出された一方のパルス信号の変化に関する情報と、前記信号変化が検出されていない他方の前記パルス信号の前記入力信号レベルとに基づいて、エッジパターンを判定するエッジパターン判定部と、
前記2つのパルス信号の前記入力信号レベルが一致する
(「H,H」、「L,L」)状態
の前記基準信号レベル及び前記2つのパルス信号の前記入力信号レベルが異なる
(「H,L」、「L,H」)状態
の基準信号レベルに対応して設定された特定のエッジパターンを記憶した記憶部と、
前記エッジパターン判定部により判定された前記エッジパターンと、前記記憶部に記憶されている前記特定のエッジパターンと、を比較し、前記エッジパターン判定部により判定された前記エッジパターンが前記特定のエッジパターンに合致した場合に、前記回転体が回転したと判定する回転判定部と、
を備えることを特徴とする回転判定装置。
【請求項2】
前記特定のエッジパターンは、前記基準信号レベルに前記回転体がある状態に対して、前記回転体が時計回りに回転された時に検出されることが想定される第1のエッジパターンと前記回転体が反時計回転された時に検出されることが想定される第2のエッジパターンとに区別されて設定され、
前記回転判定部は、前記エッジパターンと前記第1のエッジパターンとが合致した場合には、前記回転体が時計回りに回転操作されたと判定し、前記エッジパターンと前記第2のエッジパターンとが合致した場合には、前記回転体が反時計回りに回転操作されたと判定することを特徴とする請求項1に記載の回転判定装置。
【請求項3】
前記エッジパターンと前記特定のエッジパターンとが合致した場合に、前記基準信号レベルが、前記特定のエッジパターンが判定されたときの前記入力信号レベルに更新されることを特徴とする請求項1または2に記載の回転判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転判定装置に関する。
【背景技術】
【0002】
従来、車両空調装置の温度や風量の設定操作にダイヤルが使用されており、このダイヤルの回転操作をエンコーダにより判定するものがある。
【0003】
このようなエンコーダを使用した場合に、誤判定を防止し、正確に回転操作を判定する方法が提案されている。
例えば、エンコーダから出力される2相のパルス信号の立ち上がりエッジおよび立ち下がりエッジを検出し、エッジが検出された一方のパルス信号のエッジ状態と、他方のパルス信号の信号レベルとに応じて、カウントアップまたはカウントダウンを判定することによって、チャタリングによる誤判定を防止することが可能な回転判定方法が開示されている(例えば、特許文献1参照)。
【0004】
ところで、上述の従来技術のように、パルス信号のエッジにより回転操作を判定する場合には、ダイヤルの停止位置の近傍に2相のパルス信号のどちらかのエッジが検出されるように設定されるのが一般的である。
ここで、ダイヤルの操作開始位置が、隣接する2つのダイヤル停止位置との間、つまり中間位置であり、その中間位置からどちらか一方のダイヤル停止位置へ回転操作された場合には、2相のパルス信号のうち、一方のパルス信号の立ち上がりエッジまたは立ち下がりエッジのみが検出される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術により、ダイヤルの回転操作を判定するためには、2相のパルス信号の双方のエッジを検出する必要があるため、ダイヤルの回転操作を判定する装置に電源が供給されて、中間位置からダイヤルが回転操作された場合には、回転されたと判定すべき位置で判定することができないという課題があった。
【0007】
そこで、本発明は、上述の課題に鑑みてなされたものであって、ダイヤルの操作開始位置が中間位置であっても、回転操作を判定することが可能な回転判定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
形態1;本発明の1またはそれ以上の実施形態は、回転体に接続され、当該回転体の回転により互いに位相がずれた2つのパルス信号を生成するエンコーダと、前記2つのパルス信号の立ち上がりエッジおよび立ち下がりエッジを信号変化として検出する検出部と、前記エンコーダから入力される前記2つのパルス信号のレベルを入力信号レベルとして取得する取得部と、前記エンコーダに電源が供給された際の前記入力信号レベルを初期値とした基準信号レベルを設定する設定部と、前記検出部で前記2つのパルス信号のどちらか一方で前記信号変化が検出されたとき、前記信号変化が検出された一方のパルス信号の変化に関する情報と、前記信号変化が検出されていない他方の前記パルス信号の前記入力信号レベルとに基づいて、エッジパターンを判定するエッジパターン判定部と、前記2つのパルス信号の前記入力信号レベルが一致する(「H,H」、「L,L」)状態の前記基準信号レベル及び前記2つのパルス信号の前記入力信号レベルが異なる(「H,L」、「L,H」)状態の基準信号レベルに対応して設定された特定のエッジパターンを記憶した記憶部と、前記エッジパターン判定部により判定された前記エッジパターンと、前記記憶部に記憶されている前記特定のエッジパターンと、を比較し、前記エッジパターン判定部により判定された前記エッジパターンが当該特定のエッジパターンに合致した場合に、前記回転体が回転したと判定する回転判定部と、を備えることを特徴とする回転判定装置を提案している。
【0009】
本発明の1またはそれ以上の実施形態における回転判定装置は、2つのパルス信号を生成するエンコーダと、2つのパルス信号のレベルを取得する取得部と、2つのパルス信号の変化を検出する検出部と、基準信号レベルを設定する設定部と、2つのパルスのいずれかの変化を検出したときに信号レベルを取得しエッジパターンを決定するエッジパターン判定部と、回転体が回転操作されたかを判定する回転判定部と、を備えている。そして、回転判定部は、基準信号レベルにより決定される特定のエッジパターンと、エッジパターン判定部で判定されたエッジパターンとが合致したとき、回転体が回転したと判定する。
すなわち、回転判定装置では、回転体の操作開始位置において基準信号レベルが設定され、そして、2つのパルス信号の一方で検出された信号レベル変化により判定されたエッジパターンと、基準信号レベルにより設定された特定のエッジパターンと、が合致した場合に、回転体が回転操作されたと判定される。
そのため、回転体の操作開始位置が中間位置であっても、中間位置において基準信号レベルが設定されるため、回転体の回転操作を判定することができる。
【0010】
形態2;本発明の1またはそれ以上の実施形態は、前記特定のエッジパターンは、前記基準信号レベルに前記回転体がある状態に対して、前記回転体が時計回りに回転された時に検出されることが想定される第1のエッジパターンと前記回転体が反時計回転された時に検出されることが想定される第2のエッジパターンとに区別されて設定され、前記回転判定部は、前記エッジパターンと前記第1のエッジパターンとが合致した場合には、前記回転体が時計回りに回転操作されたと判定し、前記エッジパターンと前記第2のエッジパターンとが合致した場合には、前記回転体が反時計回りに回転操作されたと判定することを特徴とする回転判定装置を提案している。
すなわち、回転判定装置では、基準信号レベルに基づいて決定される特定のエッジパターンが第1のエッジパターンと第2のエッジパターンとの2つに区別される。
そのため、回転体が回転操作されたと判定する特定のエッジパターンが、時計回りに回転操作されたと判定する第1のエッジパターンと、反時計回りに回転操作されたと判定する第2のエッジパターンとに区別されるため、回転操作方向を判定することができる。
【0011】
形態3;本発明の1またはそれ以上の実施形態は、前記エッジパターンと前記特定のエッジパターンとが合致した場合に、前記基準信号レベルが、前記特定のエッジパターンが判定されたときの前記入力信号レベルに更新されることを特徴とする回転判定装置を提案している。
すなわち、回転判定装置では、エッジパターンが特定のエッジパターンと合致した場合には、基準信号レベルが、エッジパターンと特定のエッジパターンとが合致したときの入力信号レベルに更新される。
そのため、回転体の連続した回転操作を正しく判定することができる。
【発明の効果】
【0012】
本発明の1またはそれ以上の実施形態によれば、回転体の操作開始位置が中間位置であっても、回転体の回転操作を正しく判定することができるという効果がある。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施形態に係る回転判定装置の構成を示す図である。
【
図2】本発明の実施形態に係る回転判定装置のエンコーダの動作を示した図である。
【
図3】本発明の実施形態に係る回転判定装置のエンコーダの動作を示した図である。
【
図4】本発明の実施形態に係る回転判定装置の処理フロー図である。
【
図5】本発明の実施形態に係る回転判定装置のエッジパターン判定処理を説明する図である。
【
図6】本発明の実施形態に係る回転判定装置のエッジパターン判定処理フロー図である。
【
図7】本発明の実施形態に係る回転判定装置の回転判定処理フロー図である。
【
図8】本発明の実施形態に係る回転判定装置の回転判定処理における、基準信号レベル毎のエッジパターンの設定を説明する図である。
【
図9】本発明の実施形態に係る回転判定装置の回転判定処理が実行された際のタイミングチャートを示した図である。
【
図10】本発明の実施形態に係る回転判定装置の回転判定処理が実行された際のタイミングチャートを示した図である。
【
図11】本発明の実施形態に係る回転判定装置の回転判定処理が実行された際のタイミングチャートを示した図である。
【
図12】本発明の実施形態に係る回転判定装置の回転判定処理が実行された際のタイミングチャートを示した図である。
【
図13】本発明の実施形態に係る回転判定装置の回転判定処理が実行された際のタイミングチャートを示した図である。
【発明を実施するための形態】
【0014】
<実施形態>
図1から
図13を用いて、本実施形態に係る回転判定装置1について説明する。
【0015】
<回転判定装置1の構成>
本実施形態に係る回転判定装置1は、例えば、車両空調の温度調整用ダイヤルの回転判定装置であって、
図1に示されるように、エンコーダ部100と、CPU200と、を含んで構成されている。
【0016】
<エンコーダ部100の構成>
エンコーダ部100は、
図1に示されるように、エンコーダ110と、抵抗120と、抵抗121と、を含んで構成されている。
また、エンコーダ部100は、回転体111が回転操作された際に、クリックが発生する構造となっており、
図2および
図3の黒丸で示されるクリック停止位置に停止する。
【0017】
エンコーダ110は、
図1に示されるように、回転体111と、スイッチ112と、スイッチ113と、を含んで構成されている。
回転体111は、車両空調装置の温度設定時に回転操作されるダイヤルである。
スイッチ112およびスイッチ113は、例えば、機械式の摺動接点により構成され、回転体111の回転に連動し、スイッチがオンオフされる。
【0018】
例えば、
図2に示されるように、スイッチ112とスイッチ113とのオンオフには、位相差が90°あり、クリック停止位置から回転体111が時計回りに回転操作された場合には、スイッチ113のオンオフがスイッチ112のオンオフに対して先行して変化する。
また、
図3に示されるように、クリック停止位置から回転体111が反時計まわりに回転操作された場合には、スイッチ112のオンオフがスイッチ113のオンオフに対して先行して変化する。
【0019】
スイッチ112の一端はスイッチ113の一端と接続されるとともに、回転判定装置1のグランドに接続されている。
スイッチ112の他端は、抵抗120の一端と、CPU200と、に接続されている。
スイッチ112の他端から、CPU200に入力される信号は、スイッチ112の状態を示す信号(A相入力信号)である。
【0020】
スイッチ113の他端は、抵抗121の一端と、CPU200と、に接続されている。
スイッチ113の他端からCPU200に入力される信号は、スイッチ113の状態を示す信号(B相入力信号)である。
そして、抵抗120の他端と抵抗121の他端とが接続されるとともに、エンコーダ電源(5V)に接続されている。
ここで、車両に搭載されている回転判定装置1の場合には、CPU200にCPU電源(5V)が供給された後、CPU200が不図示のスイッチング素子を制御することにより、エンコーダ部100にエンコーダ電源(5V)が供給されている。
なお、CPU200は、ACC(アクセサリ)スイッチ又はIG(イグニッション)スイッチに連動して、CPU電源(5V)が供給される。
<CPU200の構成>
【0021】
図1に示されるように、CPU200は、取得部210と、検出部220と、エッジパターン判定部230と、設定部240と、回転判定部250と、を含んで構成されている。
なお、取得部210、検出部220、エッジパターン判定部230、設定部240および回転判定部250は、図示しない周知のRAM、ROMおよびI/Oバス等を備えたCPU200の一部の機能である。
そして、CPU200において、ROMに格納された制御プログラムにしたがって、回転判定装置1全体の制御が実行される。
例えば、CPU200にCPU電源(5V)が供給されると、回転判定装置1の処理が開始され、CPU電源(5V)が遮断されると回転判定装置1の処理が終了される。
【0022】
取得部210では、エンコーダ部100から入力された、A相入力信号およびB相入力信号の信号レベルが取得される。
【0023】
検出部220では、エンコーダ部100から入力された、A相入力信号およびB相入力信号の立ち上がりエッジおよび立ち下がりエッジが検出される。
具体的には、A相入力信号およびB相入力信号が、CPU200のエッジ検出可能な入力端子に接続され、この入力端子を介して検出部220に入力されたA相入力信号およびB相入力信号に基づいて、A相入力信号およびB相入力信号の立ち上がりエッジおよび立ち下がりエッジが検出される。
【0024】
エッジパターン判定部230では、取得部210において取得された信号レベルと、検出部220において立ち上がりエッジ又は立ち下がりエッジが検出された入力信号とに基づいて、エッジパターンが判定される。
なお、エッジパターンの判定処理については、後述する。
【0025】
設定部240では、取得部210おいて取得された信号レベルに基づいて、基準信号レベルが設定される。
なお、基準信号レベルの設定については、後述する。
【0026】
回転判定部250では、エッジパターン判定部230において判定されたエッジパターンと、設定部240において設定された基準信号レベルと、に基づいて、回転体111が回転操作されたか否かが判定される。
なお、回転判定処理については、後述する。
【0027】
<回転判定装置1の処理>
図4から
図8を用いて、本実施形態に係る回転判定装置1の処理について説明する。
【0028】
図4を用いて、回転体111の回転操作が判定される処理について説明する。
【0029】
CPU200において、回転判定状態が有効であるか否かが判定される(ステップS110)。
CPU200において、回転判定状態が有効であると判定された場合(ステップS110の「YES」)には、処理がステップS120に移行される。
一方、CPU200において、回転判定状態が有効でないと判定された場合(ステップS110の「NO」)には、処理がステップS110に戻され待機する。
なお、回転判定状態は、CPU200にCPU電源が供給されたときに有効に設定されるか、CPU200にCPU電源が供給された後に、ユーザが不図示の作動スイッチを操作することにより有効に設定される。
【0030】
取得部210において、A相入力信号レベルaと、B相入力信号レベルbと、が取得される(ステップS120)。
つまり、取得部210において、回転体111が回転操作される前の、A相入力信号レベルaおよびB相入力信号レベルbが取得される。
なお、取得部210において取得される信号レベルは、Highレベル(以下、Hという)またはLowレベル(以下、Lという)である。
【0031】
次に、設定部240では、取得部210において取得された信号レベルに基づき、基準信号レベル(α、β)が設定される(ステップS130)。
つまり、ステップS120において取得された、回転体111が回転操作される前のA相入力信号レベルaおよびB相入力信号レベルbが、設定部240において、基準信号レベル(α、β)=(a、b)として設定される。
【0032】
次に、検出部220において、A相入力信号またはB相入力信号に変化があるのか否かが判定される(ステップS140)。
つまり、検出部220において、A相入力信号およびB相入力信号の、立ち上がりエッジまたは立ち下がりエッジが検出される。
【0033】
そして、検出部220において、信号変化が検出された場合(ステップS140の「YES」)には、処理がステップS150に移行される。
一方、検出部220において、信号変化が検出されなかった場合(ステップS140の「NO」)には、処理がステップS160に移行される。
【0034】
次に、取得部210において、A相入力信号レベルaと、B相入力信号レベルbと、が取得される(ステップS150)。
【0035】
そして、ステップS140において検出部220により立ち上がりエッジ又は立ち下がりエッジが検出された入力信号と、ステップS150において取得部210により取得された信号レベルと、に基づいて、エッジパターン判定部230による、エッジパターン判定処理が実行される(ステップS200)。
なお、エッジパターン判定処理(ステップS200)ついては、後述する。
【0036】
次に、回転判定部250において、ステップS200において判定されたエッジパターンに基づいて、回転体111の回転判定処理が実行される(ステップS300)。
なお、回転判定部250において処理される、回転判定処理(ステップS300)については、後述する。
【0037】
そして、CPU200において、回転判定状態が有効であるか否かが判定される(ステップS160)。
CPU200において、回転判定状態が有効であると判定された場合(ステップS160の「YES」)には、処理をステップS140に戻し、処理が継続される。
一方、CPU200において、回転判定状態が有効でないと判定された場合(ステップS160の「NO」)には、処理が終了される。
【0038】
<エッジパターン判定処理(ステップS200)>
図5および
図6を用いて、回転体111が回転操作された時にエッジパターン判定部230において実行されるエッジパターン判定処理について説明する。
なお、
図5に示されるように、エッジパターン判定処理(ステップS200)では、ステップS140において検出部220により検出された信号変化の情報と、ステップS150において取得部210において取得された入力信号レベルと、に基づいて、エッジパターンがE1~E4の4種類に分類される。以下では、エッジパターン判定部230あるいは図示しない記憶部に
図5に示すデータテーブルが記憶されていることを例示しつつ、エッジパターン判定部230におけるエッジパターン判定処理について詳細に説明する。
【0039】
図6に示されるように、エッジパターン判定部230では、ステップS140において検出部220により検出された信号変化が、A相入力信号の変化であるか否かが判定される(ステップS210)。
A相入力信号の変化であると判定された場合(ステップS210の「YES」)には、処理がステップS220に移行される。
一方、A相入力信号の変化ではないと判定された場合(ステップS210の「NO」)には、処理がステップS250に移行される。
【0040】
次に、エッジパターン判定部230では、ステップS150において取得されたB相入力信号レベルbが、Lであるか否かが判定される(ステップS220)。
ステップS150において取得されたB相入力信号レベルbが、Lであると判定された場合(ステップS220の「YES」)には、エッジパターン判定部230において、エッジパターンがE1と判定される(ステップS230)。
一方、ステップS150において取得されたB相入力信号レベルbが、Lではないと判定された場合(ステップS220の「NO」)には、エッジパターン判定部230において、エッジパターンがE2と判定される(ステップS240)。
【0041】
そして、エッジパターン判定部230において、ステップS150において取得されたA相入力信号レベルaが、Lであるか否かが判定される(ステップS250)。
ステップS150において取得されたA相入力信号レベルaが、Lであると判定された場合(ステップS250の「YES」)には、エッジパターン判定部230において、エッジパターンがE3と判定される(ステップS260)。
一方、ステップS150において取得されたA相入力信号レベルaが、Lではないと判定された場合(ステップS250の「NO」)には、エッジパターン判定部230において、エッジパターンがE4と判定される(ステップS270)。
【0042】
そして、ステップS230、ステップS240、ステップS260、ステップS270において、エッジパターンが判定されると、エッジパターン判定処理が終了される。
<回転判定処理(ステップS300)>
【0043】
図7および
図8を用いて、回転判定処理(ステップS300)について説明する。
以下に説明するステップS301からステップS312は、すべて回転判定部250おいて実行される処理である。
回転判定処理(ステップS300)では、エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、設定部240において設定された基準信号レベル(α、β)と、に基づいて、回転体111が回転操作されたか否かが判定される。以下では、回転判定部250あるいは図示しない記憶部に
図8に示すデータテーブルが記憶されていることを例示しつつ、回転判定部250における回転判定処理について詳細に説明する。
【0044】
図7に示されるように、回転判定部250では、設定部240において設定された基準信号レベルが、基準信号レベル(α、β)=(H、L)であるか否かが判定される(ステップS301)。
回転判定部250において、基準信号レベル(α、β)=(H、L)であると判定された場合(ステップS301の「YES」)には、処理がステップS304に移行される。
一方、回転判定部250において、基準信号レベル(α、β)=(H、L)でないと判定された場合(ステップS301の「NO」)には、処理がステップS302に移行される。
【0045】
次に、回転判定部250では、設定部240において設定された基準信号レベルが、基準信号レベル(α、β)=(L、H)であるか否かが判定される(ステップS302)。
回転判定部250において、基準信号レベル(α、β)=(L、H)であると判定された場合(ステップS302の「YES」)には、処理がステップS305に移行される。
一方、回転判定部250において、基準信号レベル(α、β)=(L、H)でないと判定された場合(ステップS303の「NO」)には、処理がステップS303に移行される。
【0046】
そして、回転判定部250では、設定部240において設定された基準信号レベルが、基準信号レベル(α、β)=(L、L)であるか否かが判定される(ステップS303)。
回転判定部250において、基準信号レベル(α、β)=(L、L)であると判定された場合(ステップS303の「YES」)には、処理がステップS306に移行される。
一方、回転判定部250において、基準信号レベル(α、β)=(L、L)でないと判定された場合(ステップS303の「NO」)には、処理がステップS307に移行される。
【0047】
次に、回転判定部250では、ステップS301からステップS303において判定された基準信号レベルに基づいて、特定のエッジパターン(第1のエッジパターンおよび第2のエッジパターン)が設定される。具体的には、回転判定部250では、
図8に示すデータテーブルを参照することにより、特定のエッジパターン(第1のエッジパターンおよび第2のエッジパターン)が設定される。
ここで、特定のエッジパターンとは、基準信号レベル(α、β)の値が示す回転体111の位置から回転操作が開始されたとき、最初にエッジパターン判定部230において検出されることが想定されるエッジパターンのことである。
このとき、回転判定部250では、回転体111の時計まわりの回転操作と、反時計まわりの回転操作と、の2方向の回転操作が考えられるため、第1のエッジパターンおよび第2のエッジパターンが設定される。
【0048】
つまり、基準信号レベル(α、β)=(H、L)の場合(ステップS301の「YES」)には、E2=第1のエッジパターン、E3=第2のエッジパターン、が設定され(ステップS304)、処理がステップS308に移行される。
また、基準信号レベル(α、β)=(L、H)の場合(ステップS302の「YES」)には、E1=第1のエッジパターン、E4=第2のエッジパターン、が設定され(ステップS305)、処理がステップS308に移行される。
また、基準信号レベル(α、β)=(L、L)の場合(ステップS303の「YES」)には、E1=第1のエッジパターン、E3=第2のエッジパターン、が設定され(ステップS306)、処理がステップS308に移行される。
また、基準信号レベル(α、β)=(H、H)の場合(ステップS303の「NO」)には、E2=第1のエッジパターン、E4=第2のエッジパターン、が設定され(ステップS307)、処理がステップS308に移行される。
【0049】
そして、回転判定部250では、エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかの処理において設定された第1のエッジパターンと、が合致しているか否かが判定される(ステップS308)。
エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかの処理において設定された第1のエッジパターンと、が合致していると判定された場合(ステップS308の「YES」)には、回転判定部250において、回転体111が時計回りに1クリック分回転操作されたと判定され(ステップS309)、処理がステップS312に移行される。
一方、エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかの処理において設定された第1のエッジパターンと、が合致していないと判定された場合(ステップS308の「NO」)には、処理がステップS310に移行される。
【0050】
そして、回転判定部250において、エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかの処理において設定された第2のエッジパターンと、が合致しているか否かが判定される(ステップS310)。
【0051】
エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかの処理において設定された第2のエッジパターンと、が合致していると判定された場合(ステップS310の「YES」)には、回転判定部250において、回転体111が反時計回りに1クリック分回転操作されたと判定され(ステップS311)、処理がステップS312に移行される。
一方、エッジパターン判定処理(ステップS200)において判定されたエッジパターンと、ステップS304からステップS307のいずれかひとつの処理において設定された第2のエッジパターンと、が合致していないと判定された場合(ステップS310の「NO」)には、回転判定処理(ステップS300)が終了される。
【0052】
そして、回転判定部250において、基準信号レベル(α、β)が、ステップS150において取得されたA相入力信号レベルaおよびB相入力信号レベルbに更新され(ステップS312)、回転判定処理(ステップS300)が終了される。
【0053】
<回転体111が回転操作されたときのタイミングチャート>
図9~
図13を用いて、回転体111が回転操作されたときのタイミングチャートについて説明する。なお、このタイミングチャートは、回転体111が時計方向に回転操作されたときのタイミングチャートを例示して、説明する。
【0054】
(基準信号レベル=(H、L)の状態から回転体111が回転操作された場合)
図9を用いて、回転体111が時計回りに1クリック分回転操作されたときのタイミングチャートを説明する。
【0055】
t1において、CPU200にCPU電源(5V)が供給されて回転判定状態が有効に設定されると、取得部210において、入力信号レベル(a、b)=(H、L)が取得される。
そして、設定部240において取得された入力信号レベル(a、b)は、基準信号レベル(α、β)に設定される。
つまり、設定部240において、基準信号レベル(α、β)=(H、L)が設定される。
【0056】
回転体111が時計方向に回転操作され、t2において、検出部220により、B相入力信号の立ち上がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、H)が取得され、エッジパターン判定部230において、エッジパターンがE4と判定される。
【0057】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E4)と、回転判定部250において設定された第1のエッジパターン(=E2)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において、回転操作されたと判定されず、回転判定処理が終了される。
【0058】
さらに回転体111が時計方向に回転操作され、t3において、検出部220により、A相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、H)が取得され、エッジパターン判定部230において、エッジパターンがE2と判定される。
【0059】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E2)と、が合致しているため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
そして、設定部240において、基準信号レベル(α、β)=(L、H)に更新され、回転判定処理が終了される。
【0060】
(基準信号レベル=(L、H)の状態から回転体111が回転操作された場合)
図10を用いて、回転体111が時計回りに1クリック分回転操作されたときのタイミングチャートを説明する。
【0061】
t1において、CPU200にCPU電源(5V)が供給されて回転判定状態が有効にされると、取得部210において、入力信号レベル(a、b)=(L、H)が取得される。
そして、設定部240において取得された入力信号レベル(a、b)は、基準信号レベル(α、β)に設定される。
つまり、設定部240において、基準信号レベル(α、β)=(L、H)が設定される。
【0062】
回転体111が時計方向に回転操作され、t2において、検出部220により、B相入力信号の立ち下がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、L)が取得され、エッジパターン判定部230において、エッジパターンがE3と判定される。
【0063】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E3)と、回転判定部250において設定された第1のエッジパターン(=E1)および第2のエッジパターン(=E4)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0064】
回転体111が時計方向に回転操作され、t3において、検出部220により、A相入力信号の立ち上がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、L)が取得され、エッジパターン判定部230において、エッジパターンがE1と判定される。
【0065】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E1)と、回転判定部250において設定された第1のエッジパターン(=E1)と、が合致しているため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
そして、設定部240において、基準信号レベル(α、β)=(H、L)に更新され、回転判定処理が終了される。
【0066】
(基準信号レベル=(L、L)の状態から回転体111が回転操作された場合)
図2に示したように、入力信号レベル(a、b)=(L、L)という状態は、隣接する2つのクリック停止位置の中間位置に回転体111が停止していることを示している。
つまり、クリックが発生する構造のエンコーダ部であったとしても、操作者の操作によっては、隣接する2つのクリック停止位置の中間位置に回転体111が停止することがあるため、回転判定装置1は、この位置からの回転操作を正しく検出する必要がある。
そこで、
図11を用いて、中間位置に停止している回転体111が時計方向に回転操作されたときの回転判定装置1の処理について、以下に説明する。
【0067】
t1において、CPU200にCPU電源(5V)が供給されて回転判定状態が有効に設定されると、取得部210において、入力信号レベル(a、b)=(L、L)が取得される。
そして、設定部240において取得された入力信号レベル(a、b)は、基準信号レベル(α、β)に設定される。
つまり、設定部240において、基準信号レベル(α、β)=(L、L)が設定される。
【0068】
回転体111が時計方向に回転操作され、t2において、検出部220により、A相入力信号の立ち上がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、L)が取得され、エッジパターン判定部230において、エッジパターンがE1と判定される。
【0069】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、L)の場合には、E1=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E1)と、回転判定部250において設定された第1のエッジパターン(=E1)と、が合致しているため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
【0070】
なお、上記したタイミングチャートでは、隣接する2つのクリック停止位置の中間位置から回転体111の回転操作が開始されているため、半クリック分、回転体111が回転操作されると、回転判定部250において、回転操作を判定することができる。
そして、設定部240において、基準信号レベル(α、β)=(H、L)に更新され、回転判定処理が終了される。
【0071】
(基準信号レベル=(H、H)の状態から回転体111が回転操作された場合)
図2に示したように、入力信号レベル(a、b)=(H、H)という状態は、隣接する2つのクリック停止位置の中間位置に回転体111が停止していることを示している。
そこで、
図12を用いて、隣接する2つのクリック停止位置の中間位置に停止している回転体111が時計方向に回転操作させたときの回転判定装置1の処理について、以下に説明する。
【0072】
t1において、CPU200にCPU電源(5V)が供給されて回転判定状態が有効に設定されると、取得部210において、入力信号レベル(a、b)=(H、H)が取得される。
そして、設定部240において取得された入力信号レベル(a、b)は、基準信号レベル(α、β)に設定される。
つまり、設定部240において、基準信号レベル(α、β)=(H、H)が設定される。
【0073】
回転体111が時計方向に回転操作され、t2において、検出部220により、A相入力信号の立ち下がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、H)が取得され、エッジパターン判定部230において、エッジパターンがE2と判定される。
【0074】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、H)の場合には、E2=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E2)と、が合致しているため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
なお、上記したタイミングチャートでは、隣接する2つのクリック停止位置の中間位置から回転体111の回転操作が開始されているため、半クリック分、回転体111が回転操作されると、回転判定部250において、回転操作を判定することができる。
そして、設定部240において、基準信号レベル(α、β)=(L、H)に更新され、回転判定処理が終了される。
【0075】
(A相入力信号およびB相入力信号のチャタリングによる誤判定防止)
図13に示されるように、回転体111が回転操作されると、A相入力信号およびB相入力信号の立ち上がり時および立ち下がり時の波形には、チャタリングが発生することがある。
そこで、回転体111が時計回りに回転操作された際に発生するチャタリング波形を、チャタリングA~チャタリングDの4つに分類し、各チャタリング波形が発生した際に、回転判定装置1において実行される処理について、説明する。
【0076】
(チャタリングAが発生した場合の処理)
図13に示されるように、チャタリングAは、B相入力信号の立ち上がり時に発生するチャタリングである。
t1において、CPU200にCPU電源(5V)が供給されて回転判定状態が有効に設定されると、取得部210において、入力信号レベル(a、b)=(H、L)が取得される。
そして、設定部240において取得された入力信号レベル(a、b)は、基準信号レベル(α、β)に設定される。
つまり、設定部240において、基準信号レベル(α、β)=(H、L)に設定される。
【0077】
回転体111が時計方向に回転操作され、t2において、検出部220により、B相入力信号の立ち上がりエッジが検出されると、取得部210において入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、H)が取得され、エッジパターン判定部230において、エッジパターンはE4と判定される。
【0078】
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。具体的には、基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E4)と、回転判定部250において設定された第1のエッジパターン(=E2)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0079】
さらに、チャタリングが発生したタイミングであるt3おいて、検出部220により、B相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、L)が取得され、エッジパターン判定部230において、エッジパターンはE4と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E4)と、回転判定部250において設定された第1のエッジパターン(=E2)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0080】
そして、さらにチャタリングが発生したタイミングであるt4では、t2において発生したチャタリングと同様の処理が実行され、回転判定部250では、回転体111が回転操作されたと判定されず、回転判定処理が終了される。
つまり、B相入力信号の立ち上がり時に発生するチャタリングAが何度検出されたとしても、回転判定部250において、回転操作が誤判定されることはない。
【0081】
(チャタリングBが発生した場合の処理)
図13に示されるように、チャタリングBは、A相入力信号の立ち下がり時に発生するチャタリングである。
t5において、検出部220により、A相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、H)が取得され、エッジパターン判定部230において、エッジパターンはE2と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E2)と、が合致するため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
そして、設定部240において、基準信号レベル(α、β)=(L、H)に更新され、回転判定処理が終了される。
【0082】
さらに、チャタリングが発生したタイミングであるt6において、検出部220により、A相入力信号の立ち上がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230においてエッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、H)が取得され、エッジパターン判定部230において、エッジパターンはE2と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E1)および第2のエッジパターン(=E4)と、が合致しないため、回転判定部250において、回転操作されたと判定されず、回転判定処理が終了される。
【0083】
そして、さらにチャタリングが発生したタイミングであるt7において、検出部220により、A相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230においてエッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、H)が取得され、エッジパターン判定部230において、エッジパターンはE2と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E1)および第2のエッジパターン(=E4)と、が合致しないため、回転判定部250において、回転操作されたと判定されず、回転判定処理が終了される。
つまり、t5以降に、チャタリングによるA相入力信号の変化が何度発生しても、回転判定部250において、回転操作が誤判定されることはない。
【0084】
(チャタリングCが発生した場合の処理)
図13に示されるように、チャタリングCは、B相入力信号の立ち下がり時に発生するチャタリングである。
t8において、検出部220により、B相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、L)が取得され、エッジパターン判定部230において、エッジパターンはE3と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E3)と、回転判定部250において設定された第1のエッジパターン(=E1)および第2のエッジパターン(=E4)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0085】
さらに、チャタリングが発生したタイミングであるt9において、検出部220により、B相入力信号の立ち上がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230においてエッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、H)が取得され、エッジパターン判定部230において、エッジパターンはE3と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E2)と、回転判定部250において設定された第1のエッジパターン(=E1)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0086】
そして、さらにチャタリングが発生したタイミングであるt10では、t8において発生したチャタリングと同様の処理が実行され、回転判定部250では、回転体111が回転操作されたと判定されず、回転判定処理が終了される。
つまり、t8以降に、チャタリングによるB相入力信号の変化が何度発生しても、回転判定部250において、回転操作が誤判定されることはない。
【0087】
(チャタリングDが発生した場合の処理)
図13に示されるように、チャタリングDは、A相入力信号の立ち上がり時に発生するチャタリングである。
t11において、検出部220により、A相入力信号の立ち上がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230において、エッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、L)が取得され、エッジパターン判定部230において、エッジパターンはE1と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(L、H)の場合には、E1=第1のエッジパターン、E4=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E1)と、回転判定部250において設定された第1のエッジパターン(=E1)と、が合致するため、回転判定部250において、時計回りに1クリック分、回転体111が回転操作されたと判定される。
そして、設定部240において、基準信号レベル(α、β)=(H、L)に更新され、回転判定処理が終了される。
【0088】
さらに、チャタリングが発生したタイミングであるt12において、検出部220により、A相入力信号の立ち下がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230においてエッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(L、L)が取得され、エッジパターン判定部230において、エッジパターンはE1と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E1)と、回転判定部250において設定された第1のエッジパターン(=E2)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において回転操作されたと判定されず、回転判定処理が終了される。
【0089】
そして、さらにチャタリングが発生したタイミングであるt13において、検出部220により、A相入力信号の立ち上がりエッジが検出されると、取得部210において、入力信号レベル(a、b)が取得され、さらに、エッジパターン判定部230においてエッジパターン判定処理が実行される。
つまり、取得部210において、入力信号レベル(a、b)=(H、L)が取得され、エッジパターン判定部230において、エッジパターンはE1と判定される。
次に、回転判定部250において、基準信号レベル(α、β)に基づいて、特定のエッジパターンが設定される。基準信号レベル(α、β)=(H、L)の場合には、E2=第1のエッジパターン、E3=第2のエッジパターンが設定される。
そして、エッジパターン判定部230において判定されたエッジパターン(=E1)と、回転判定部250において設定された第1のエッジパターン(=E2)および第2のエッジパターン(=E3)と、が合致しないため、回転判定部250において、回転体111が回転操作されたと判定されず、回転判定処理が終了される。
つまり、t11以降に、チャタリングによるA相入力信号の変化が何度発生しても、回転判定部250において、回転操作が誤判定されることはない。
【0090】
以上、回転判定装置1の処理について、回転体111が時計方向に回転操作されたときを例示して説明したが、反時計回り方向に回転操作されたときに実行される処理は、上述した処理と同様である。
【0091】
<作用・効果>
以上、説明したように、本実施形態に係る回転判定装置1は、回転体111の回転により互いに位相がずれた2つのパルス信号(A相入力信号およびB相入力信号)を生成するエンコーダ部100と、2つのパルス信号のレベルを取得する取得部210と、2つのパルス信号の立ち上がりおよび立ち下がりを検出する検出部220と、検出部220において信号変化が検出されたとき、信号変化が検出された一方のパルス信号と、他方のパルス信号における入力信号レベルとからエッジパターンを判定するエッジパターン判定部230と、入力信号レベルを初期値とした基準信号レベルを設定する設定部240と、基準信号レベルに応じて変更される特定のエッジパターンと、エッジパターン判定部230が判定したエッジパターンとに基づいて回転を判定する回転判定部250とを備えている。
【0092】
本実施形態に係る回転判定装置1では、2つのパルス信号(A相入力信号およびB相入力信号)を生成するエンコーダ部100と、2つのパルス信号のレベルを取得する取得部210と、2つのパルス信号の信号変化を検出する検出部220と、2つのパルスのいずれかの変化を検出したときに信号レベルを取得しエッジパターンを決定するエッジパターン判定部230と、基準信号レベルを設定する設定部240と、回転体111が回転操作されたかを判定する回転判定部250と、を備えている。基準信号レベルにより決定される特定のエッジパターンと、エッジパターン判定部230で判定されたエッジパターンとが合致したとき、回転判定部250において、回転体111が回転操作されたと判定される。
すなわち、回転判定装置1では、回転体111の操作開始位置において基準信号レベルが設定され、そして、2つのパルス信号の一方で検出された信号変化により判定されたエッジパターンと、基準信号レベルにより設定された特定のエッジパターンと、が合致した場合に、回転体111が回転操作されたと判定される。
そのため、回転体111の操作開始位置が中間位置であっても、中間位置において基準信号レベルが設定されるため、回転体111の回転操作を判定することができる。
また、入力信号レベルに基づいて基準信号レベルが設定されるため、2つのパルス信号にチャタリングが発生したとしても、誤判定することなく、回転判定を行うことができる。
【0093】
本実施形態に係る回転判定装置1では、特定のエッジパターンが、第1のエッジパターンと第2のエッジパターンとに区別され、エッジパターンが第1のエッジパターンの場合には、回転体111が時計回りに回転操作されたと判定され、エッジパターンが第2のエッジパターンの場合には、回転体111が反時計回りに回転操作されたと判定される。
すなわち、回転判定装置1では、基準信号レベルに基づいて決定される特定のエッジパターンが第1のエッジパターンと第2のエッジパターンとの2つに区別される。
そのため、回転体111が回転操作されたと判定する特定のエッジパターンが、時計回りに回転操作されたと判定する第1のエッジパターンと、反時計回りに回転操作されたと判定する第2のエッジパターンと、に区別されるため、回転操作方向を判定することができる。
【0094】
本実施形態に係る回転判定装置1では、エッジパターンが特定のエッジパターンであった場合には、基準信号レベルが、特定のエッジパターンが判定されたときの入力信号レベルに更新される。
すなわち、回転判定装置1では、エッジパターンと特定のエッジパターンとが合致した場合には、基準信号レベルが、エッジパターンと特定のエッジパターンとが合致したときの入力信号レベルに更新されるため、回転体111の連続した回転操作を正しく判定することができる。
また、エッジパターンと特定のエッジパターンとが合致した場合には、基準信号レベルが、エッジパターンと特定のエッジパターンとが合致したときの入力信号レベルに更新されるため、2つのパルス信号にチャタリングが発生した場合でも、誤判定することなく、回転判定を行うことができる。
【0095】
本実施形態に係る回転判定装置1では、取得部210において、CPU電源が供給されて回転判定状態が有効に設定されたときのA相入力信号レベルと、B相入力信号レベルと、が取得され、取得された入力信号レベルに基づいて、設定部240において、基準信号レベルが設定される。これにより、回転体111の操作開始位置を特定することができる。
また、エッジパターン判定部230では、回転体111が回転操作され、入力信号の変化が検出されたとき、入力信号の変化と、その変化が発生した入力信号とは他方の入力信号のレベルと、から、回転体111の回転操作により発生したエッジパターンが4つ(E1~E4)に分類される。
つまり、エッジパターン判定部230では、2つのパルス信号の変化と信号レベル(HまたはL)との組み合わせから決まる4つのエッジパターン(E1~E4)のうち、どのエッジパターンが検出されたかが判定される。
また、回転判定部250では、回転体111の操作開始位置から回転操作されたときに最初にエッジパターン判定部230により判定されることが想定されるエッジパターン(特定のエッジパターン)が設定される。
つまり、回転判定部250では、基準信号レベルから回転体111の操作開始位置が特定できるため、回転体111が回転操作されたときに最初に発生するエッジパターンを一意的に設定することができる。
このとき、回転体111が時計まわりに回転操作されたときにエッジパターン判定部230おいて判定されるエッジパターンと、反時計まわりに回転操作されたときにエッジパターン判定部230において判定されるエッジパターンと、があるため、回転判定部250では、第1のエッジパターンと、第2のエッジパターンと、が設定される。
そして、回転判定部250では、回転判定部250において設定された2つのエッジパターン(特定のエッジパターン)と、エッジパターン判定部230で判定されたエッジパターンと、が比較され、合致したときに、回転体111が回転操作されたと判定される。
すなわち、本実施形態に係る回転判定装置1では、回転操作される前のA相入力信号およびB相入力信号の信号レベルと、回転体111の回転操作により検出されたエッジパターンと、により、回転体111の回転操作が判定される。
そのため、回転体111の操作開始位置が中間位置であった場合でも、回転体111がどちらの方向に回転操作されたかを判定することができる。
【0096】
<変形例>
上述した回転判定装置1は、クリックが発生する構造のエンコーダ部を例示して説明したが、クリックが発生しない構造のエンコーダ部であっても良い。
回転体111が回転操作される前のA相入力信号レベルaとB相入力信号レベルbとが基準レベル(α、β)に設定されるため、クリックが発生しない構造のエンコーダ部の場合でも、上述した回転判定処理により、回転体111の回転を判定することができる。
【0097】
なお、取得部210、検出部220、エッジパターン判定部230、設定部240および回転判定部250の処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを取得部210、検出部220、エッジパターン判定部230、設定部240および回転判定部250に読み込ませ、実行することによって本発明の回転判定装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0098】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)、電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0099】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0100】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0101】
1;回転判定装置
100;エンコーダ部
110;エンコーダ
111;回転体
112;スイッチ
113;スイッチ
200;CPU
210;取得部
220;検出部
230;エッジパターン判定部
240;設定部
250;回転判定部