(57)【要約】【課題】  個体差があっても精度良くオフセット値を補正すること。【解決手段】  温度センサの測定温度と基準温度との温度差の絶対値が所定値を越えているか否かを判定するステップ（ステップＳ２〜ステップＳ４）。温度差が所定値を越えた場合に、加速度センサから出力される出力値に基づいて、本体が静止しているか否かを判定する（ステップＳ６〜ステップＳ１１）。本体が静止していると判定した場合に、加速度センサから出力される出力値に基づいて、本体が水平面であるか否かを判定する（ステップＳ１２〜ステップＳ１５）。本体が水平であると判定した場合、加速度センサから出力された出力値に応じた新たなオフセット値としてオフセット値格納手段に格納し、測定温度を新たな基準温度としてオフセット値格納手段に格納する（ステップＳ１６）【選択図】      図３
2007010530.tif 000002
【特許請求の範囲】
【請求項１】
本体と、
前記本体に設けられた加速度センサと、
前記本体に設けられた温度センサと、
基準温度と、前記基準温度に対応するオフセット値とを格納するオフセット値格納手段と、
前記加速度センサからの出力値を前記オフセット値記憶部に格納されたオフセット値を用いて補正して、前記本体の加速度を求める加速度算出手段と、
前記温度センサで測定された測定温度と前記オフセット値記憶手段に格納された基準温度との温度差の絶対値が所定値を越えているか否かを判定する温度差判定手段と、
前記温度差の絶対値が所定値を越えていると前記温度差判定手段が判定した場合、前記加速度センサからの出力値に基づいて、前記本体が静止しているか否かを判定する静止判定手段と、
前記本体が静止していると前記静止判定手段が判定した場合、前記加速度センサからの出力値と前記オフセット値記憶部に格納されたオフセット値とに基づいて、前記本体が水平であるか否かを判定する水平判定手段と、
前記本体が水平であると前記水平判定手段が判定した場合に、前記加速度センサから出力された出力値に応じた新たなオフセット値を前記オフセット値記憶部に格納し、前記測定温度を新たな基準温度として前記オフセット値記憶部に格納するオフセット値更新手段と
を具備することを特徴とする電子機器。
【請求項２】
前記静止判定手段は、前記加速度センサから出力される出力値を所定時間毎に順次複数取得し、取得された複数の出力値のバラツキに応じて、前記本体が静止しているか否かを判定することを特徴とする請求項１記載の電子機器。
【請求項３】
前記水平判定手段は、前記温度差の絶対値と前記オフセット値格納手段に格納されたオフセット値と前記加速度センサの感度の温度特性とを用いて上限値および下限値をもとめ、前記センサから出力された出力値が下限値より大きく、且つ上限値より小さい場合に、前記本体が水平であると判定することを特徴とする請求項１記載の電子機器。
【請求項４】
前記水平判定手段は、前記温度差の絶対値と前記加速度センサの感度の温度特性とを用いて閾値を求め、前記センサから出力された出力値と前記オフセット値格納手段に格納されたオフセット値との差が前記閾値より小さい場合に、前記本体が水平であると判定することを特徴とする請求項１記載の電子機器。
【請求項５】
本体に設けられた加速度センサと、前記本体に設けられた温度センサと、基準温度および前記基準温度に対応するオフセット値とを格納するオフセット値格納手段と、前記オフセット値に基づいて前記加速度センサからの出力値を補正して、前記本体の加速度を求める加速度算出手段とを有する情報処理装置における、加速度センサのオフセット電圧補正方法であって、
前記温度センサの測定温度と基準温度との温度差の絶対値が所定値を越えているか否かを判定するステップと、
前記温度差が所定値を越えた場合に、前記加速度センサからの出力値に基づいて、前記本体が静止しているか否かを判定するステップと、
前記本体が静止していると判定した場合に、前記加速度センサからの出力値に基づいて、前記本体が水平であるか否かを判定するステップと、
前記本体が水平であると判定した場合、前記水平の判定に用いた前記加速度センサからの出力値に応じた新たなオフセット値を前記オフセット値格納手段に格納し、前記測定温度を新たな基準温度として前記オフセット値格納手段に格納するステップとを含むことを特徴とする加速度センサのオフセット値補正方法。
【請求項６】
前記本体の静止判定は、複数の前記加速度センサの出力値を取得するステップと、複数の前記加速度センサの出力値のランクを求めるステップと、求められたランクが所定値より小さいか否かを判定するステップとを含むことを特徴とする請求項５記載の加速度センサのオフセット値補正方法。
【請求項７】
前記本体の水平判定は、前記加速度センサから出力される出力値を所定時間毎に順次複数取得するステップと、取得された複数の出力値のバラツキに応じて、前記本体が静止しているか否かを判定するステップを含むことを特徴とする請求項５記載の加速度センサのオフセット値補正方法。
【請求項８】
前記本体の水平判定は、前記温度差の絶対値と前記加速度センサの感度の温度特性とを用いて閾値を求めるステップと、前記センサから出力された出力値と前記オフセット値格納手段に格納されたオフセット値との差が前記閾値より小さいか否かを判定するステップとを含むことを特徴とする請求項５記載の加速度センサのオフセット値補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加速度センサを有する電子機器、および加速度センサのオフセット値補正方法に関する。
【背景技術】
【０００２】
現在、ＭＥＭＳ（Micro Electro Mechanical System）技術が発展し、半導体加速度センサが広範囲に用いられ始めている。
【０００３】
例えば、加速度センサを搭載したノート型パーソナルコンピュータが出荷されている。加速度センサによって異常な動きが検出された場合、ハードディスクドライブの磁気ヘッドを退避させることで、ハードディスクドライブクラッシュの危険性を軽減させている。
【０００４】
また、画面の回転可能なディスプレイに加速度センサを搭載したものもある。加速度センサによって画面の向きを検知し、検知信号に応じた解像度の映像信号をディスプレイに自動的に出力することによって、ユーザが解像度を変更する手間を無くさせている。
【０００５】
ところで、加速度センサの出力値は、温度の影響を強く受ける。そのため、温度変化が大きい場合には、温度補償する必要がある。特許文献１には、所定の温度範囲を所定の間隔で分割した補正対象温度ごとに対応するオフセット値の補正量を温度補正データとして記憶させておく技術が開示されている。
【特許文献１】特開２００４−２９４１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
加速度センサには個体差が大きく、出力値の温度特性が製品によって全く異なる振る舞いを示すことがある。ところが、上述した文献では、前もって分割した補正対象温度ごとに対応するオフセット値の補正量を記憶させておくので、個体差を吸収することが出来ず、精度が良くオフセット値を補正することが出来ないという問題があった。
【０００７】
本発明の目的は、個体差があっても精度良くオフセット値を補正することが可能な電子機器、および加速度センサのオフセット値補正方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一例に係わる電子機器は、本体と、前記本体に設けられた加速度センサと、前記本体に設けられた温度センサと、基準温度と、前記基準温度に対応するオフセット値とを格納するオフセット値格納手段と、前記加速度センサからの出力値を前記オフセット値記憶部に格納されたオフセット値を用いて補正して、前記本体の加速度を求める加速度算出手段と、前記温度センサで測定された測定温度と前記オフセット値記憶手段に格納された基準温度との温度差の絶対値が所定値を越えているか否かを判定する温度差判定手段と、前記温度差の絶対値が所定値を越えていると前記温度差判定手段が判定した場合、前記加速度センサからの出力値に基づいて、前記本体が静止しているか否かを判定する静止判定手段と、前記本体が静止していると前記静止判定手段が判定した場合、前記加速度センサからの出力値と前記オフセット値記憶部に格納されたオフセット値とに基づいて、前記本体が水平であるか否かを判定する水平判定手段と、前記本体が水平であると前記水平判定手段が判定した場合に、前記加速度センサから出力された出力値に応じた新たなオフセット値を前記オフセット値記憶部に格納し、前記測定温度を新たな基準温度として前記オフセット値記憶部に格納するオフセット値更新手段とを具備することを特徴とする。
【発明の効果】
【０００９】
個体差があっても精度良くオフセット値を補正することが可能になる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態を以下に図面を参照して説明する。
【００１１】
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、バッテリ駆動可能な携帯型のノートブック型パーソナルコンピュータ１０として実現されている。
【００１２】
図１はノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【００１３】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０を電源オン／オフするためのパワーボタン１４、およびタッチパッド１６などが配置されている。
【００１４】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１５】
本コンピュータは、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４、および電源コントローラ１２５等を備えている。
【００１６】
ＣＰＵ１１１は、本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ１２１から主メモリ１１３にロードされる、オペレーティングシステム（ＯＳ）、および各種アプリケーションプログラムを実行する。
【００１７】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたＢＩＯＳ（Basic Input Output System）プログラムも実行する。ＢＩＯＳプログラムはハードウェア制御のためのプログラムである。
【００１８】
ノースブリッジ１１２はＣＰＵ１１１のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２には、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００１９】
グラフィクスコントローラ１１４は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）１１４Ａを有しており、ＯＳ／アプリケーションプログラムによってビデオメモリ１１４Ａに書き込まれた表示データから、ディスプレイユニット１２のＬＣＤ１７に表示すべき表示イメージを形成する映像信号を生成する。
【００２０】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、およびＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２１】
加速度センサ１３１は、図１に示すコンピュータ１０の加速度、並びにコンピュータ１０に加わる重力等の力のｘ軸成分、ｙ軸成分、ｚ軸成分に相当する出力値Ｖx，Ｖy，Ｖzを出力する。温度センサ１３２によって、その時の温度が測定される。加速度センサ１３１としては、サーボ型、圧電型、静電容量型及びピエゾ抵抗型等の何れかが用いられる。
【００２２】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３、タッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるパワーボタン１４の操作に応じて、本コンピュータ１０をパワーオン／パワーオフする機能を有している。
【００２３】
ＥＣ／ＫＢＣ１２４内には、オフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zが格納されるオフセット値レジスタ１４１が設けられている。また、ＥＣ／ＫＢＣ１２４内には、オフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zを設定した時の温度（基準温度Ｔs）が格納される基準温度レジスタ１４２が設けられている。
【００２４】
加速度算出手段としてのＥＣ／ＫＢＣ１２４は、加速度センサ１３１の出力値Ｖx，Ｖy，Ｖzに対してオフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zを用いて補正して、コンピュータ１０の加速度を求める。
【００２５】
ところで、コンピュータ１０が静止状態であっても、加速度センサ１３１の出力値は、温度によって変化する。つまり、温度に応じてオフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zが変化する。本コンピュータ１０は、オフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zを設定したときの温度（基準温度Ｔs）から大きく温度が変化した場合に、オフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zを再設定する機能を有する。
【００２６】
オフセット値Ｖoffset_x，Ｖoffset_y，Ｖoffset_zを再設定に用いられる温度変化量範囲レジスタ１４３、温度変化量レジスタ１４４、出力値レジスタ１４５、静止判定閾値レジスタ１４６を有する。
【００２７】
なお、加速度センサのオフセット値を補正する機能は、ＢＩＯＳまたはオペレーティングシステム（ＯＳ）上で動作するユーティリティによって、ユーザが動作／非動作を設定することが出来る。設定は、ＢＩＯＳ−ＲＯＭ上のＯＮ／ＯＦＦ設定レジスタ１５１に登録される。
【００２８】
精度の良い傾きデータを必要としない用途では、自動補正機能をオフすることにより、無駄な処理を省くことができる。
【００２９】
以下に、図３のフローチャートを参照して、オフセット値を変更するための処理について説明する。
【００３０】
先ず、ＥＣ／ＫＢＣ１２４は、ＯＮ／ＯＦＦ設定レジスタ１５１を参照し、オフセット値を自動的に補正する機能が、オン状態になっているか否かを判定する（ステップＳ１）。機能がオン状態になっていない場合（ステップＳ１のＮｏ）、オフセット値の補正処理を行わない。
【００３１】
機能がオン状態になっている場合（ステップＳ１のＹｅｓ）、ＥＣ／ＫＢＣ１２４は、温度センサ１３２から供給されている信号から、現在の温度Ｔmを読み取る（ステップＳ２）。
【００３２】
ＥＣ／ＫＢＣ１２４は、基準温度レジスタから基準温度Ｔsを読み出し、基準温度Ｔsと測定温度Ｔmとの温度変化量ΔＴ（＝Ｔm−Ｔs）を算出する（ステップＳ３）。
【００３３】
ＥＣ／ＫＢＣ１２４は、温度変化量範囲レジスタ１４３から上限値Ｔuおよび下限値Ｔlを読み出し、ステップＳ３で算出された温度変化量ΔＴと上限値Ｔuおよび下限値Ｔlとの関係が、“ΔＴ<Ｔl or Ｔu<ΔＴ”の条件を満たすか判定する（ステップＳ４）。
【００３４】
温度変化量ΔＴが下限値Ｔl以上、かつ上限値Ｔu以下の場合（ステップＳ４のＮｏ）、ステップＳ２に戻り、再度温度を測定する。温度変化量ΔＴが下限値Ｔlより小、または上限値Ｔuより大の場合（ステップＳ４のＹｅｓ）、温度ドリフト補正が必要と判定し、温度変化量ΔＴを温度変化量レジスタ１４４に保存する（ステップＳ５）。そして、ステップＳ６〜ステップＳ１１のパーソナルコンピュータ１０が静止状態にあるか否かを判定する静止判定処理を行う。
【００３５】
ステップＳ４について、基準温度が２５℃、上限値Ｔuが＋３℃、下限値Ｔlが−３℃の場合を例に用いて説明する。測定温度Ｔ１が２３℃であった場合、温度変化量ΔＴは−２℃（＝２３［℃］−２５［℃］）であり、“ΔＴ<Ｔl or Ｔu<ΔＴ”の条件を満たさないのでステップＳ２に戻り、温度監視を継続する。
【００３６】
また、測定温度Ｔmが２８℃であった場合、温度変化量ΔＴは＋３℃（＝２８［℃］−２５［℃］）であり、“ΔＴ<Ｔl or Ｔu<ΔＴ”の条件を満たすので、次の「静止判定処理」へ進む。
【００３７】
「静止判定処理」について説明する。
【００３８】
静止判定手段としてのＥＣ／ＫＢＣ１２４は、加速度センサ１３１のｘ軸出力値Ｖx1，ｙ軸出力値Ｖy1，ｚ軸出力値Ｖz1をｎ回取得する（ステップＳ６，ステップＳ７）。出力値レジスタ１４５にｘ軸出力値Ｖxi（ｉ＝１，…，ｎ），ｙ軸出力値Ｖyi（ｉ＝１，…，ｎ），ｚ軸出力値Ｖzi（ｉ＝１，…，ｎ）を保存（プール）する。出力値の取得間隔は、例えば一定とする。
【００３９】
ＥＣ／ＫＢＣ１２４は、ｎ回出力値を取得した後、出力値レジスタ１４５に保存されたＶx1，…，ＶxnのランクＲx、Ｖy1，…，ＶynのランクＲy、Ｖz1，…，ＶznのランクＲzをそれぞれ算出する（ステップＳ８）。ランクとは統計で用いられる最大値と最小値との差のことである。
【００４０】
ＥＣ／ＫＢＣ１２４は、ランクＲxが静止判定閾値レジスタ１４６に登録されているｘ軸静止閾値Ｖtxより小さいか判定を行う（ステップＳ９）。
【００４１】
ランクＲxがｘ軸静止閾値Ｖtx以上であった場合（ステップＳ９のＮｏ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０は静止していないのでドリフト補正を行うことが出来ないと認識し、ステップＳ２に戻って「温度変化の判定」処理を行う。
【００４２】
ｘ軸ランクＲxがｘ軸静止閾値Ｖtxより小であった場合（ステップＳ９のＹｅｓ）、コンピュータ１０はｘ軸に静止していると判定され、静止判定手段としてのＥＣ／ＫＢＣ１２４は、ｙ軸に動いているか否かを判定する（ステップＳ１０）。ＥＣ／ＫＢＣ１２４は、ｙ軸ランクＲyが静止判定閾値レジスタ１４６に登録されているｙ軸静止閾値Ｖtyより小さいか判定を行う。ｙ軸ランクＲyがｙ軸静止閾値Ｖty以上であった場合（ステップＳ１０のＮｏ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０は静止していないのでドリフト補正を行うことが出来ないと認識し、ステップＳ２に戻って「温度変化の判定」処理を行う。
【００４３】
ｙ軸ランクＲyがｙ軸静止閾値Ｖtyより小であった場合（ステップＳ１０のＹｅｓ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０はｙ軸に静止していると認識し、静止判定手段としてのＥＣ／ＫＢＣ１２４はコンピュータ１０がｚ軸に動いているか否かを判定する（ステップＳ１１）。ＥＣ／ＫＢＣ１２４は、ｚ軸ランクＲzが静止判定閾値レジスタ１４６に登録されているｚ軸静止閾値Ｖtzより小さいか判定を行う。ｚ軸ランクＲzがｚ軸静止閾値Ｖtz以上であった場合（ステップＳ１１のＮｏ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０は静止していないのでドリフト補正を行うことが出来ないと認識し、ステップＳ２に戻って「温度変化の判定」処理を行う。
【００４４】
ｚ軸ランクＲzがｚ軸静止閾値Ｖtzより小であった場合（ステップＳ１１のＹｅｓ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０はｚ軸に静止していると判定する。ＥＣ／ＫＢＣ１２４は、ｘ軸、ｙ軸、およびｚ軸にコンピュータ１０が動いていないと判定すると、コンピュータ１０が、重力の軸に垂直な平面である水平面に対して平行であるかを判定する処理を行う。以後では、“コンピュータ１０が水平面に対して平行”というのを“コンピュータ１０が水平”と記すこともある。
【００４５】
「静止の判定処理」について、ステップＳ９の一例を挙げて説明する。
【００４６】
条件が、１０ｍｓの取得間隔で５回測定し、ｘ軸静止閾値Ｖtxが５ｍＶであるとする。
【００４７】
ｘ軸出力値が、Ｖx1＝１６５０［ｍＶ］，Ｖx2＝１６４７［ｍＶ］，Ｖx3＝１６５３［ｍＶ］，Ｖx4＝１６４８［ｍＶ］，Ｖx5＝１６５１［ｍＶ］であった場合について説明する。この時のランクＲxは、最大値がＶx3＝１６５３、最小値がＶx2＝１６４７であるので、Ｖx3−Ｖx2＝１６５３［ｍＶ］−１６４７［ｍＶ］＝６［ｍＶ］である。ランクＲx（６［ｍＶ］）とｘ軸静止閾値Ｖtx（５［ｍＶ］）とを比較すると、ランクＲxがｘ軸静止閾値Ｖtx以上なのでステップＳ２に戻り、「温度変化量の判定」処理をおこなう。
【００４８】
また、ｘ軸出力値が、Ｖx1＝１６５０［ｍＶ］，Ｖx2＝１６４８［ｍＶ］，Ｖx3＝１６５２［ｍＶ］，Ｖx4＝１６４９［ｍＶ］，Ｖx5＝１６５１［ｍＶ］であった場合について説明する。この時のランクＲxは、最大値がＶx3＝１６５２、最小値がＶx2＝１６４８であるので、Ｖx3−Ｖx2＝１６５２［ｍＶ］−１６４８［ｍＶ］＝４［ｍＶ］である。ランクＲx（４［ｍＶ］）とｘ軸静止閾値Ｖtx（５［ｍＶ］）とを比較すると、ランクＲxがｘ軸静止閾値Ｖtxより小さいので、同様にｙ軸についてランクＲyとｙ軸静止閾値Ｖtyとを比較する。
【００４９】
なお、上述した静止判定処理は、加速度センサ１３１から出力される出力値Ｖx，Ｖy，Ｖzを所定時間毎に順次複数取得し、取得された複数の出力値のバラツキに応じて、コンピュータ１０が静止しているか否かを判定していると言うことが出来る。
【００５０】
コンピュータ１０が静止していると判定された後、ＥＣ／ＫＢＣ１２４は、コンピュータ１０が水平であるかを判定するために用いる水平判定範囲を算出する（ステップＳ１２）。ｘ軸の水平判定範囲の下限値Ｖltxおよび上限値Ｖutx、ｙ軸の基準範囲の下限値Ｖltyおよび上限値Ｖutyは、次式で求められる。
【００５１】
Ｖltx＝Ｖoffset_x［ｍＶ］−Ｖtdx［ｍＶ／℃］×｜ΔＴ｜
Ｖutx＝Ｖoffset_x［ｍＶ］＋Ｖtdx［ｍＶ／℃］×｜ΔＴ｜
Ｖlty＝Ｖoffset_y［ｍＶ］−Ｖtdy［ｍＶ／℃］×｜ΔＴ｜
Ｖuty＝Ｖoffset_y［ｍＶ］＋Ｖtdy［ｍＶ／℃］×｜ΔＴ｜
ここで、オフセット値レジスタ１４１に格納されているＶoffset_xおよびＶoffset_yは、現在用いられているオフセット値（基準電圧）である。また、Ｖtdx、Ｖtdyは温度ドリフト特性であり、加速度センサのスペックとして定められる感度（１Ｇあたりの出力変化［ｍＶ／ｇ］）と温度特性（１℃あたりの検出重力変化［ｍｇ／℃］）とから求められる。ΔＴは、ステップＳ３で求められた温度量変化であり、ステップＳ５で温度変化量レジスタ１４４に登録された値である。
【００５２】
ＥＣ／ＫＢＣ１２４は、加速度センサ１３１からｘ軸の出力値Ｖx、ｙ軸の出力値Ｖy、およびｚ軸の出力値Ｖzを取得する（ステップＳ１３）。コンピュータ１０が水平に近い場合、水平面に対して鉛直の向きにあるｚ軸の検出感度は鈍いので、コンピュータ１０が水平であるか否かを判定するには、ｘ軸とｙ軸の出力値を取得すればよいが、後にｚ軸の出力値Ｖzの値が必要になる場合があるので、ｚ軸出力値Ｖzも測定する。
【００５３】
コンピュータがｘ軸に傾いているか否かを判定するために、ＥＣ／ＫＢＣ１２４は、ステップＳ１２で算出されたｘ軸傾き判定範囲（Ｖltx，Ｖutx）とステップＳ１３で測定されたｘ軸出力値Ｖxとが、“Ｖltx＜Ｖx＜Ｖutx”の条件を満たしているかどうか判定する（ステップＳ１４）。
【００５４】
“Ｖltx＜Ｖx＜Ｖutx”の条件を満たしていない場合（ステップＳ１４のＮｏ）、コンピュータ１０は水平ではなくｘ軸（図１コンピュータ１０の前後方向）に傾いていると判断されるので、ステップＳ２に戻って温度を測定する。
【００５５】
“Ｖltx＜Ｖx＜Ｖutx”の条件を満たしている場合（ステップＳ１４のＹｅｓ）、コンピュータ１０がｙ軸に傾いているか否かを判定するために、ＥＣ／ＫＢＣ１２４は、ステップＳ１２で算出されたｙ軸傾き判定範囲（Ｖlty，Ｖuty）とステップＳ１３で測定されたｙ軸加速度Ａyとが、“Ｖlty＜Ｖy＜Ｖuty”の条件を満たしているか否かを判定する（ステップＳ１５）。
【００５６】
“Ｖlty＜Ｖy＜Ｖuty”の条件を満たしていない場合（ステップＳ１５のＮｏ）、ＥＣ／ＫＢＣ１２４は、コンピュータ１０は水平ではなくｙ軸（図１コンピュータ１０の左右方向）に傾いていると認識し、ステップＳ２に戻って温度を測定する。
【００５７】
“Ｖlty＜Ｖy＜Ｖuty”の条件を満たしている場合（ステップＳ１５のＹｅｓ）、オフセット値更新手段としてのＥＣ／ＫＢＣ１２４は、ステップＳ１３で取得された出力値（電圧値）に応じた新たなオフセット値でオフセット値レジスタ１４１に登録し、ステップＳ２で測定された温度を新たな基準温度として基準温度レジスタ１４２を更新する（ステップＳ１６）。
【００５８】
補正完了後、自動補正機能がオンであれば、本ステップで記憶したオフセット値・温度を前回補正として「温度変化量の判定」へ戻る。
【００５９】
以下にこの水平判定処理をより具体的に説明する。
【００６０】
オフセット値レジスタ１４１に格納されているｘ軸出力値のオフセット値およびｙ軸出力値のオフセット値が共に１６５０［ｍＶ］、温度変化量レジスタ１４４に格納されている温度差ΔＴが３［℃］、温度ドリフトが１［ｍＶ／℃］の場合の、ｘ軸傾き判定範囲（Ｖltx，Ｖutx）は以下のように算出できる。オフセット値が同じなので、ｘ軸傾き判定下限値Ｖltxおよびｙ軸傾き判定下限値Ｖltyは同じ値になり、ｘ軸傾き判定上限値Ｖutxおよびｙ軸傾き判定上限値Ｖutyは同じ値になる。
【００６１】
Ｖutx＝Ｖuty＝１６５０［ｍＶ］＋１［ｍＶ／℃］×｜３［℃］｜＝１６５０［ｍＶ］＋３［ｍＶ］＝１６５３［ｍＶ］
Ｖltx＝Ｖlty＝＝１６５０［ｍＶ］−１［ｍＶ／℃］×｜３［℃］｜＝１６５０［ｍＶ］−３［ｍＶ］＝１６４７［ｍＶ］
そして、ステップＳ１３で取得されたｘ軸出力値Ｖxおよびｙ軸出力値Ｖyが、Ｖx＝１６４９［ｍＶ］、Ｖy＝１６４６［ｍＶ］であった場合、ｙ軸出力値Ｖyがｘ軸傾き判定下限値Ｖltyより小さいので、「温度変化量の判定」へ戻る。
【００６２】
また、ステップＳ１３で取得されたｘ軸出力値Ｖxおよびｙ軸出力値Ｖyが、Ｖx＝１６４９［ｍＶ］，Ｖy＝１６４８［ｍＶ］の場合、Ｖltx（Ｖlty）＜Ｖx（Ｖy）＜Ｖutx（Ｖuty）なので、「オフセット値の更新」へ進む。
【００６３】
ステップＳ１６の「オフセット値の更新」について、より詳細に説明する。補正値、補正静止状態では、ｘ軸およびｙ軸には力が加わってないので、加速度センサ１３１からの出力値Ｖy，Ｖzをオフセット値Ｖoffset_x，Ｖoffset_yとして採用することが出来る。しかし、ｚ軸出力値Ｖzには、重力（＋１Ｇ）の影響が加わった値であるので、Ｚ軸出力値Ｖzをそのままオフセット値として採用することが出来ない。そこで、以下のようにしてオフセット値Ｖoffset_zを求める。
【００６４】
Ｖoffset_z［ｍＶ］＝Ｖz［ｍＶ］−Ｓz［ｍＶ／Ｇ］×１［Ｇ］
ここで、Ｓzは加速度センサ１３１のｚ軸の感度であり、つまり１Ｇ変化したときどの出力値がどの位変化するかを表している。
【００６５】
例えば、加速度センサ１３１のＺ軸出力値Ｖzが２２００［ｍＶ］、加速度センサ１３１の感度Ｓが５００［ｍＶ／Ｇ］の場合、以下のようになる。
【００６６】
Ｖoffset_z［ｍＶ］＝２２００［ｍＶ］−５００［ｍＶ／Ｇ］×１［Ｇ］＝１７００［ｍＶ］となる。
【００６７】
尚、感度特性は加速度センサのスペックとして定められている。また、一般的に感度の温度ドリフトはオフセットのそれより小さい。
【００６８】
本実施形態によれば、パーソナルコンピュータ１０が静止且つ水平状態での加速度センサ１３１の出力値Ｖx，Ｖy，Ｖzに応じてオフセット値を決めているので、出力値の温度特性は全く関係ない。よって、個体差があっても精度良くオフセット値を補正することができる。
【００６９】
水平判定範囲を求めるために、温度変化量ΔＴの絶対値｜ΔＴ｜と温度ドリフト特性Ｖtdx、Ｖtdyとの積｜ΔＴ｜Ｖtdx、｜ΔＴ｜Ｖtdyと、ステップＳ１３で取得された加速度センサ１３１の取得値（Ｖx，Ｖy）とオフセット値レジスタ１４１に格納されているオフセット値Ｖoffset_x，Ｖoffset_xとの差の絶対値（ΔＶoffset_x，ΔＶoffset_y）とを比較することによって、水平であるかの判定を行っても良い。
【００７０】
即ち、“ΔＶoffset_x＜｜ΔＴ｜Ｖtdx”、且つ“ΔＶoffset_y＜｜ΔＴ｜Ｖtdy”であれば、コンピュータ１０は水平であると判定する。
【００７１】
また、水平の判定時、コンピュータ１０が水平ではないと判定した場合、ユーザに水平な状態にするよう促しても良い。例えば、図4に示すように、メッセージウィンドウＷ１をＬＣＤ１７に表示する。
【００７２】
ユーザが「ＯＫ」ボタンＢ１を押した場合、次のステップ「加速度オフセットの補正」へ進む。ユーザが「キャンセル」ボタンＢ２を押した場合、図5に示すように、ＬＣＤ１７にウィンドウメッセージＷ２を表示する。
【００７３】
ユーザが「ＯＫ」ボタンＢ３を押した場合、補正は中止し、補正機能もオフにする。また、ユーザが「キャンセル」ボタンＢ４を押した場合、ＬＣＤ１７にメッセージウィンドウＷ１を表示する。
【００７４】
なお、上述した装置では、３軸型の加速度センサであったが、２軸型の加速度センサであっても良い。
【００７５】
また、パーソナルコンピュータ以外にも、加速度センサを有するディスプレイ、ゲーム装置等に対して、上述した補正機能を搭載しても良い。
【００７６】
ユーザが、装置本体を水平状態に設置・確認する半自動の設定手段を設けることにより、さらに傾きの検出精度を上げることができる。
【００７７】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態に係わる電子聞き及び情報処理装置としてのノートブック型のパーソナルコンピュータの構成を示す図。
【図２】本発明の一実施形態に係わるパーソナルコンピュータのシステム構成を示すブロック図。
【図３】本発明の一実施形態に係わる加速度センサの出力値のオフセット値の補正方法の手順を示すフローチャート。
【図４】ＬＣＤに表示されるメッセージウィンドウを示す図。
【図５】ＬＣＤに表示されるメッセージウィンドウを示す図。
【符号の説明】
【００７９】
１０…ノートブック型パーソナルコンピュータ，１１…コンピュータ本体，１２…ディスプレイユニット，１３…キーボード，１４…パワーボタン，１６…タッチパッド，１７…ＬＣＤ，１１１…ＣＰＵ，１１２…ノースブリッジ，１１３…主メモリ，１１４…グラフィクスコントローラ，１１４Ａ…ビデオメモリ，１１９．ＢＩＯＳ…サウスブリッジ，１１９…サウスブリッジ，１２０…ＲＯＭ，１２１…ハードディスクドライブ，１２４…エンベデッドコントローラ／キーボードコントローラＩＣ，１３１…加速度センサ，１３２…温度センサ，１４１…オフセット値レジスタ，１４２…基準温度レジスタ，１４３…温度変化量範囲レジスタ，１４４…温度変化量レジスタ，１４５…出力値レジスタ，１４６…静止判定閾値レジスタ
【図１】
2007010530.tif 000003
【図２】
2007010530.tif 000004
【図３】
2007010530.tif 000005
【図４】
2007010530.tif 000006
【図５】
2007010530.tif 000007