Beaglebone Black+3軸加速度センサーで傾き検出に成功
初めてのBeagleboneのカテゴリーに関する別の記事

2013/08/03

Beaglebone Black+3軸加速度センサーで傾き検出に成功

部品を散らかすとツマに刺されそう。
tilt

前回成功したアナログ入力の応用。
使用したのは秋月電子のKXM52-1050という3軸加速度センサー

接続するのは4カ所
(1)センサーのVddにボードから3.3V入力(VDD3.3V)
(2)GNDをボードのGNDとつなぐ
(3)PSDをVddとつなぐ(動作開始)
(4)X軸出力をボードのAIN0につなぐ

ボードを平置きした状態(0G)ではオフセット値付近の1750mV付近の値を返す。
4の端子を下に1の端子を上にボードを垂直にすると1310mV付近の値を示す。説明書によると
1G=660mVと書いてあるのでこんなもんか。逆に4の端子を上に、1の端子を下にボードを垂直にすると1799mVを示す。アナログ入力の最大値は1800mVなので上限を越えてしまったようだ。何か工夫しないとダメっぽい。

工夫
(実験1):X軸出力→240Ω→AIN0→240Ω→GNDってしてみたら
15mV(-1G)〜20mV(0G)〜26mV(1G)になった。なぜ????検出される電圧が半分になると思ったのに????

(実験2):X軸出力→240Ω→AIN0→480Ω→GNDってしてみたら
32mV(-1G)〜43mV(0G)〜55mV(1G)になった。少し改善した
(実験3):X軸出力→240Ω→AIN0→1000Ω→GNDってしてみたら
65mV(-1G)〜88mV(0G)〜110mV(1G)になった。さらに改善ww
(実験4):この状態でセンサーへの供給電源をVDD3.3VからSYS5Vに変更。なぜかVDD5Vだとうまくいかない
77mV(-1G)〜111mV(0G)〜145mV(1G)になった。
(実験5):X軸出力→80Ω→AIN0→1000Ω→GNDってしてみたけどまったく変わらない。なんでー

何か大きな勘違いをしている気がする・・・・

※説明書にはオフセット値誤差±167mV、測定誤差±5%と書いてある。強い衝撃与えるとオフセット値がずれたり、もどらなくなったりすると書いてある。中はメカニカルな機構になっているのかな?
※傾けてから電圧が変わるまでに1秒弱かかる気がする。こんなレスポンスでクアッドローターとか作れるのか?
※ちなみに写真にUSB-Wifiドングルささっているけど、うまく動作しない・・・・

Category:初めてのBeaglebone


■ ■ ■ コメント ■ ■ ■

001 [08/03 17:08]Aガット@OCN:加速度センサのデータシートを見ると、Output Resistance 32KΩとなっていますので、X軸出力→AIN0→32KΩ→GNDで半分ぐらいに分圧されませんかね?データシートのNote5に負荷抵抗は3.2M以上にオフセット値がずれるとも書いてますね。ホントは1段オペアンプをかますと良いんですか。
002 [08/03 17:09]Aガット@OCN:すみません、入力ミスです「負荷抵抗は3.2M以上にオフセット値がずれる」→「負荷抵抗は3.2MΩ以上にしないとオフセット値がずれる」
003 [08/03 17:41]Aガット@OCN:ちなみに負荷抵抗っていのうは、出力ピンにつながるGNDまでの抵抗値です。32KΩで分圧すると32K X 2 = 64KΩですね。ただ、抵抗値が大きくなるとCPU側のA/D変換が問題が起きるかもしれないのでダメかもしれません。
004 [08/03 18:00]Aガット@OCN:反応速度が遅いのは http://playwithopencv.blogspot.jp/2013_06_01_archive.html 「2度読みしないと値が更新されない」 とか書かれているのが気になりますね。
005 [08/03 18:30]yori@UQ:実験1〜実験3:分圧で入力してるって事を書いてるんだと思うけど、抵抗値が低すぎ。そのオーダーの抵抗値だと、センサからの電流が相当強くないと、GNDに逃げちゃうよ。分圧抵抗の値は、R1+R2=10K〜50KΩくらいが目安。逆に抵抗値を高くしすぎると、値の読み取りが不安定になる。R1を2つの抵抗に分けて、その抵抗の間に0.1μFくらいのコンデンサをGNDに対して接続してT型LPFを組むと安定する。あとはカット&トライ。
006 [08/03 18:37]yori@UQ:あと、最近の加速度センサは、だいたいMEMSという技術で作られてます。MEMSとは、半導体製作技術を使って機械構造を作るっていうモノです。という事で中身はメカ機構と同等なので、強い衝撃を与えると壊れます。
007 [08/03 21:09]練太郎★1@InfoWeb:こういう事をやっているうちにオシロスコープが欲しくなって来るのだよ。最近のはやたら安いからなあ。ボードは御子息にしゃぶられぬ様注意
008 [08/03 21:40]ふぇちゅいん(バルス!) TW★47:なるほどー、ありがとうございます。なんとなく理解しました。説明書の裏に英語で色々と書いてありますね。
009 [08/04 01:36]ほわ@Biglobe:3軸加速度センサはゲームボーイのコロコロカービィのカセットをジャンクで買ってきて、中のセンサーだけ拝借すると安上がりっ♪

名前 このエントリーを含むはてなブックマーク
コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事の総アクセス数(最後の書き込みまで):407


初めてのBeagleboneのカテゴリーに関する別の記事 (コメント数)
2013/07/21Beaglebone Blackに「最新版OS」または「初期設定状態のプリインストールOS」をインストールする
2013/07/04Beaglebone Blackをイーサネット経由で静的IP設定でネットワークにつなぎ、インターネットアクセスする
2013/06/30BeagleBone Blackでアナログ入力(電圧の読みとり)に成功
2013/06/15Beaglebone:デジタル入力のやり方を覚える。各ポートの最大電流について
2013/06/14BeagleBone:コマンドラインから外部LEDの制御に成功
2013/06/12生まれて初めてブレッドボードを購入。Beagleboneを引き続きいじる。
2013/06/09Beaglebone(ビーグルボーン)をいじってみた