加速度センサの仕組み
第1回:ToF距離センサの仕組み
しっかりとした正しい知識を基礎から学び、長く電子工作を楽しむことができるようになることを目的とした今回の連載。分かりやすく解説してくれるのは、金沢大学電子情報通信学類教授の秋田純一先生です。記念すべき第1回はToF距離センサの仕組みを解説してもらいましたが、第2回となる今回は加速度センサについて紹介頂きます。
目次
1. そもそも加速度とは?
マイコンを使って何か作るとき、「動き」にあわせて動作をさせたいことって、よくありますよね。例えば、シェイクしたら色が変わったり、傾けたら音が出たり、とか…。こういうときは、いわゆる「加速度センサ」を使うと良い場合が多いです。加速度センサには、いろいろなタイプのものがありますよね。例えばスイッチサイエンスのサイトで「加速度センサ」で検索すると150件近くの製品がヒットします。
ところで、加速度センサで計測できる「加速度」はどんな物理量なのでしょうか。なんとなく「動き」や「衝撃の強さ」みたいに理解している方も多いかと思いますが、まずは加速度について確認しておきましょう。物理の教科書を開くと、だいたい次のように書いてあります。
-
- 物体の位置の時間変化(時間微分)が速度(単位は[m/s])
- 物体の速度の時間変化(時間微分)、つまり位置の時間に関する二階微分が加速度(単位は[m/s2])
数式で書くと、こんな感じです(数式が苦手な方はスルーしていただいても構いません。なお正確には、x,v,aは一般には3次元のベクトルとなります)。
- 位置xに対して、速度v=dx/dt、加速度a=d2 x/dt2
またこの加速度aは、物体に加える力Fに比例します。つまり、物体の質量をmとすると、F=maとなります(運動方程式といいます)。
つまり加速度を計測すると、物体に加わる力を求めることができるわけです。
ちなみに重力も、物体に働く力ですから、それによる加速度(重力加速度:9.8[m/s2])が生じます。つまり静止(正確には加速度がゼロ=等速運動)している物体の3次元の加速度を計測すれば、その物体の水平面に対する傾き(向き)を知ることができるわけです。
また、微分と積分は逆演算の関係にありますので、位置を微分したら速度、ということは、速度を積分したら位置、になります。また加速度を2回積分したら位置、になります。つまり加速度を計測すると、物体の速度や位置を求めることができる、ということになります。
物体の位置を求める方法はいろいろあって、例えば屋外であればGPSで計測できるわけですが、加速度から求める方法もあるわけですね。この方法を、デッド・レコニング(dead reckoning)法といいますが、実際には精度があまり良くなく(これは時間積分を数値演算で行うために、誤差が累積するため)、長い時間にわたって位置を求めることは、実用上は困難です(定期的に他の方法で補正しながら、はよく使われています)。
2. ジャイロ・コンパスとセットでの活用
加速度センサとよくセットで使われるセンサに「ジャイロ(gyro)」と「コンパス」があります。
ジャイロは、回転する物体の回転する速度(角速度)を計測するもので、物体の向きや動きの計測に、加速度センサとセットで用いられることが多いものです。また、コンパスは方位磁石と同じ原理で、地磁気を計測して向き(方位)を計測するものです。他のセンサと違い、北・南に対してどちらを向いているか(向きの絶対値)を計測することができるのが大きな特徴です(加速度センサ・ジャイロでは、計測開始からの変化=相対値しか求めることができません)。
ちなみに加速度センサとジャイロがセットになったセンサを「6軸センサ」、さらにコンパスもセットになったセンサを「9軸センサ」と呼ぶことが多いようです。加速度、ジャイロ(角速度)、コンパス(方位)のいずれも、3次元空間の(x,y,z)の3つの成分を持つので、それぞれ3軸、ということですね。
3. 加速度センサの使い方
さて、うんちくが長くなってしまいましたが、加速度センサで、どんな物理量が計測できるかは、大体分かったことにして、実際に加速度センサを使ってみましょう。例えばスイッチサイエンスでは、Grove規格のモジュールが売っていて、ArduinoやRaspberry Piなどで使うのに便利です。
https://www.switch-science.com/catalog/823/
マイコンからの使い方は、他のセンサ類と大体同じで、例えばArduinoであれば、ライブラリをインストールして、サンプルスケッチを開いて動かす、という、いつもの流れで使えます。
ちなみに以前は、加速度の大きさに応じた電圧が出力されるタイプ(アナログ出力)が多くて、x, y, zの3軸分のA/D変換器(アナログ入力ポート)を使わないといけなかったのですが、最近は他のセンサと同じようにI2Cバスで接続して使えるものが大半です。
4. 加速度センサの原理
そんな加速度センサですが、実はこれほどお手軽に使えるようになったのは、けっこう最近のことです。それには、微細な加工技術の進歩が大きな役割を果たしています。
加速度センサの計測には、上の図のような構造物を使います。加速度が加わると、それによって生じる力(慣性力)が加わり、変形します。そうすると、図の部分の点線で囲われた部分の距離が変わります。この部分は、2つの導体が向かい合っている構造、つまりコンデンサ(キャパシタ)とみなせますが、その距離が変わるということは、コンデンサの容量(キャパシタンス)が変わる、ということです。高校物理で習う平行平板コンデンサのCは、C=ε S/dという式を覚えている方もいるかもしれませんね。
コンデンサの容量の変化を計測する方法はいろいろあります。例えば発振回路の周波数の変化として計測する方法や、一定電流で充電したときの電圧変化として計測する方法などがあります。コンデンサの電圧Vは、貯まった電荷Qに対して、V=Q/Cで求められます。
このような構造物を、半導体チップの中に形成する技術は「MEMS(Micro Electro Mechanical Systems; メムス、と読む)」と呼ばれ、半導体の加工・製造技術の進歩にともなって1990年ごろから実用的なレベルになってきました。10μmくらいの非常に小さい構造物が作れるわけです。これによって、半導体チップ上に、電気回路・電子回路に加えて、力などの物理量を扱う構造を作り込めるようになったわけです。
このようなMEMS構造を持つ加速度センサの製品としては、1993年のAnalog Devices社のADXL50という製品が最初のものです。
半導体チップにMEMSを集積できてしまえば、そこから得られる信号の処理は電子回路の得意分野です。例えば増幅、ノイズ除去、A/D変換、さらにはI2Cなどのデジタル制御信号とのインターフェースもどんどん集積されていって、最近の製品では、とてもお手軽に高精度な計測ができるようになりました。
ちなみに先ほど紹介した角速度センサであるジャイロも、MEMS構造を使っています。角速度によって生じる「コリオリの力」による構造物の変形から、角速度を計測しています。
5. 気圧計やマイクへの展開も
MEMS構造をもつセンサは、他にもあります。例えば大気圧を計測する気圧センサも、圧力による構造物の変形を計測しています。この気圧センサも、最近はお手軽に使えるものが増えてきました。
また、空気の振動…つまり音を拾うマイクも、最近はMEMSを用いるものが増えてきました。MEMS構造のマイクは、それまでよく使われていたダイナミック・マイクやコンデンサ・マイクと比べて、小型で安価です。アナログ電圧で出力されるものや、音量に応じてパルスの密度が変わるPDM (Pulse Density Modulation)出力のものが多いようです。
アナログ出力のMEMSマイクの例
https://akizukidenshi.com/catalog/g/gM-08940/
PDM出力のMEMSマイクの例
https://www.switch-science.com/catalog/6620/
6. まとめ
センサの仕組みを解説していく本連載。第2回は加速度センサについて紹介していきましたが、いかがでしたでしょうか?次回は温度センサについて、解説していきたいと思います。
今回の連載の流れ
第1回:ToF距離センサの仕組み
第2回:加速度センサの仕組み(今回)
第3回:温度センサの仕組み
第4回:光学式マウスのチップを拝む
第5回:チップを拝む〜互換チップの世界〜
第6回:ソースコードを覗く〜GPIO編〜
第7回:ソースコードを覗く〜analogWrite編〜
第8回:ソースコードを覗く〜なんか動作がおかしくなった編〜