【加速度センサー入門】~ 加速度データを取得してみよう~

【加速度センサー入門】シリーズでは、アナログ・デバイセズ社の加速度センサーを中心に、基本的な使い方や応用方法を解説します。

本記事では、加速度センサーのご紹介とデジタルMEMS 加速度センサー「ADXL345」 と「Arduino」を使い、実際に加速度データの取得方法をご紹介します。

【加速度センサー入門】シリーズ一覧はこちらから

加速度センサーとは

加速度センサーは加速度の測定を目的とした慣性センサーです。加速度は単位時間あたりの速度[m/s^2]で表現されますが、一般的にMEMS 加速度センサーにおいては加速度は重力単位系の[g]が使われ、1[g]≒9.8[m/s^2]となります。
 
加速度センサーに衝撃や振動などの力を加えると、慣性の法則に従い加速度を検出することができます。また、地球上には重力加速度が働き、その性質を生かしてデバイスの傾き (傾斜) を求めることができます。さらに加速度を積分することで速度を求めることや、速度を積分をすることで変位を求めることも可能となります。


現在では様々なアプリケーションで活用され、身近なスマートフォンやウェアラブルデバイスだけでなく、工業・産業製品に至るまで、多くのシステムに採用されています。詳しい内容は、アナログデバイセズ社のアプリケーションノート "ANJ-005 加速度センサーとは?" をご参照ください。

 

 

加速度センサーを使ってみよう

加速度センサーADXL345 と、ハードウェアのオープンプラットフォームであるArduino 基板及び開発環境 Arduino IDE を使って加速度データの取得をおこないます。なおArduino については、Arduino 公式サイトをご参照ください。

 

プログラムの内容は、1秒間に100回の頻度 (100Hz の周期) で加速度データを取得し、その結果をArduino 上のシリアルコンソールに表示します。

準備するもの

今回、加速度センサーを評価するうえで準備したものはこちらです。

 

・Arduino IDE がインストール済みの PC (Arduino IDE のダウンロードはこちらから)

・USB ケーブル (Arduino と PC 接続用)

Arduino Nano 互換品ボード 

加速度センサー ADXL345 

・ブレッドボードとワイヤー

 

上記の部品を組み合わせて、下図のように回路を組んでいきます。Arduino Nano への電源は、PC からの USB バスパワーで供給します。ADXL345は、SPI インターフェースとI2C インターフェースに対応していますが、今回はI2C インターフェースを使用します。

ADXL345_構成図
ADXL345 構成図

プログラム

ADXL345は内部レジスタを書き換えることにより柔軟な設定が可能となります。今回作成したプログラムでは、POWER_CTL レジスタ(アドレス: 0x2D)のMeasure ビットを1 に書き込み、スタンバイモードから測定モードのみ変更を行いました。


ADXL345 は電源が供給されると内部レジスタの初期化が行われます。初期状態では、加速度のレンジは±2g、加速度データの更新レートは100Hz となっています。加速度レンジ、データ更新レートは初期状態のままとしました。


また、ソフトウェア側で一定周期の待ち時間を入れ、加速度データX, Y, Z の3軸データを取得し、表示するという流れになっています。ADXL345 のレジスタについてはデータシートをご参照ください。 Arduino IDE で作成したプロジェクトファイルはダウンロードできますので、ご興味のある方はダウンロードください。

プログラムの抜粋
プログラムの抜粋

動作確認

Arduino IDE の「シリアルプロッタ」の機能を使い動作確認をしてみます。シリアルプロッタの機能は非常に便利で、変数のデータを自動でグラフにしてくれます。

画面上にX(青色)、Y(赤色)、Z(緑色) の3軸の加速度データが時系列で表示されています。センサーを上下に動かした場合、緑色のZ軸のデータが動きに合わせて変化していることがわかります。

また同様にモニター画面に向かって、センサーを左右、前後の水平に動かした際に、Y軸の加速度データ(赤色)、X軸の加速度データ(青色)が手の動きに合わせて変化します。

今回検証したソースファイルのダウンロード

今回実施したArduino のプロジェクトファイルを提供しています。こちらからお申し込みの上、ぜひお試しください!

加速度センサー ADXL345 について

今回使用したADXL345 は、3軸のデジタル出力加速度センサーです。主な特長は以下の通りです。

 

・ADC、演算機能ブロック、FIFO 内蔵で、非常に使いやすいスタンダードな加速度センサー

・加速度データは、デジタルシリアル方式で一般的なI2C/SPIを採用

・3軸タイプのセンサーは直交座標 (X, Y, Z) で、それぞれの軸に働く加速度を取得可能

・最大検出加速度を2g~16gの範囲で設定ができ、サンプリングも~3.2kHzと幅が広いので、衝撃、傾き、モーション検知など様々な用途に応用可能

・消費電流を減らすためのフレキシブルなモードを採用

 

ADXL345 の詳細は、データシートをご参照ください。

また、この加速度センサーは非常に使いやすいので、これから加速度センサーを評価してみたいという方はぜひ評価ボードでお試しください。

 

最後に

本記事の内容に関してのご質問、または加速度センサーの選定や使い方にお困りのことがありましたら、以下からお問い合わせください。



おすすめ記事/資料はこちら

ADcmXL3021 標準的な機械ネジで設置できる高性能3軸MEMS センサー
加速度センサー (ADXL362) で超低消費電力モーションスイッチ を実現

 

アナログ・デバイセズ メーカー情報Topへ

アナログ・デバイセズ メーカー情報Topに戻りたい方は以下をクリックしてください。