ロボゼロに加速度センサーを装着してみる(1)
ロボゼロに加速度センサーを装着してみることにしました
●加速度センサー
ロボザックに付いてきた加速度センサーでもいいかなって思ったけど、秋月の3軸加速度センサーモジュール(KXM52-1050)を使ってみる事にしました。
性能は
- XYZ:±2G
- 電源電圧:3.3~5.5V (標準:3.3V)
- 感度:660mV/G (3.3V時), 1000mV/G (5V時)
- オフセット:1.65V (3.3V時), 2.5V (5V時)
電圧は5Vで使うので、軸の方向が水平なら重力がかからないので0Gで2.5V、垂直なら1Gの重力がかかるので、1.5Vまたは3.5Vとなります。
重力加速度と傾きの関係は、
- 重力加速度(g)=sin(傾き角度)
と表すことができ、電源電圧が5Vの場合の傾きと電圧の関係を式にすると、
- 電圧=2.5V±sin(傾き角度)
となります。以下に15°ごとに計算した結果を書き上げました。
- −90°=1.00g=3.50V
- −75°=0.97g=3.44V
- −60°=0.87g=3.37V
- −45°=0.71g=3.21V
- −30°=0.50g=3.00V
- −15°=0.26g=2.76V
- 0°=0.00g=2.50V
- 15°=0.26g=2.24V
- 30°=0.50g=2.00V
- 45°=0.71g=1.79V
- 60°=0.87g=1.63V
- 75°=0.97g=1.53V
- 90°=1.00g=1.50V
ちなみに、30°が0.5gになります。と理論的には、こうですが、テスターに繋げて前後左右に傾けてみました。電圧の状況によりオフセット値、および、感度の両方で変わってくるため、傾きの判定には、その都度、電圧を取得して計算する必要がありそうですね。
●接続
HSWB-4Fへの接続は、中央下にある10ピンのアナログ・デジタル入力端子の3番〜5番のどれかに、KXM52-1050の5〜8番ピンのどれかを接続します。どれを繋げるかは、KXM52-1050を装着する向きによって異なってきます。
また、3方向とも繋げる必要もなく、例えば、仰向けか、うつ伏せかの状態が分かればいいのであれば、前後方向の1軸だけを検出すればいいかと思います。
※追記:KXM52-1050の説明書に間違いがあったため、秋月さんに確認とっていた返事が来まして、通常はSelfTestとGNDを接続するようです。なお、現在はその間違っていた部分が修正された説明書がアップロードされています。
接続に必要な端子とケーブルは、以下になります。
さて、今回はこんなところにしときます。
----------------
にほんブログ村
| 固定リンク
「週刊 ロボゼロ」カテゴリの記事
- Xcontroller 0.7.0 公開(2014.02.12)
- JO-ZERO2&ROBOXEROに対応した無線式送受信機JXB-1(2014.02.05)
- RCBController 1.0.0 公開(2013.09.28)
- 「SBDBT BLE for RCB」ファーム更新 (2013/9/23)(2013.09.24)
- 「SBDBT BLE for RCB with techBASIC」更新 (2013/9/23)(2013.09.27)
この記事へのコメントは終了しました。
コメント
こんにちは。
すみません、ひとつご質問です。
ロボゼロ練習会の時に、加速度センサーが動いてないのでは?とのご指摘をいただいたので、ちょっと調べて見ました。
ロボゼロに取り付けた状態ではありますがセンサーの各端子の電圧を調べたところ、1から5番ピンは正しい説明書通りに通電しているのですが、6番が4V、7番が0V、8番が4Vでした。センサーはほぼ水平の状態ですので、2、2、3.5または1.5Vが正しいと思います。だとすると今の状態は、センサーそのものが死んでしまっている(説明書でいうところの『元に戻らない」状態)のでしょうか?
ちなみにセンサーを傾けても電圧は変わっていない様子です。
ロボゼロが倒れるくらいの衝撃には耐えられなかったりして(笑)
投稿: ぱぱっち | 2012年12月 1日 (土) 13時34分
ぱぱっちさん
コメントありがとうございました。
お返事遅くなって申し訳ありません。
そんな簡単に壊れてしまったんでしょうかね?
週末にいろいろやってみたかったですが、今週はちょっと無理でした。何かわかったら報告させて頂きますね。
投稿: micono | 2012年12月 2日 (日) 23時22分
こんばんは。
どうも故障っぽいです。
もう一つセンサー買ってみました。
新しく買ったセンサーをロボゼロから電源をとって動作確認したところ、ちゃんと電圧が変化しました。
まだテストしただけなので、今度ちゃんと取り付けてみます。
すみません、お騒がせして。
それにしてもなんで壊れたんだろう??
投稿: ぱぱっち | 2012年12月 4日 (火) 02時04分
ぱぱっちさん
そうでしたかぁ。1000円ですからねぇ。そう簡単には壊れて欲しくないですよね。
投稿: micono | 2012年12月 4日 (火) 06時47分
たびたびですみません。
もう少しちゃんと調べてみました。ロボゼロから5Vだけ取り出した以外は全くの単体のテスト回路を作ってセンサーのテストをしたところ、期待通り2.5、2.5、3.5または1.5Vになり、傾けるとちゃんと3軸とも電圧が変化しました。壊れたと思ったセンサーもちゃんとうごいてます。
ロボゼロに取り付けた状態でもアナログ10ピンの3〜5番ピンをつなげなければ、ちゃんと傾きに応じて電圧も変化するのですが、3〜5番ピンをセンサーの6〜8番につなげると以前お問い合わせした通りセンサーの6番が4V、7番が0V、8番が4Vになってしまいます。ロボゼロを傾けるとわずかながら電圧も変化しますが、7番はほぼ無反応です。
これはロボゼロ側のプログラムで何か設定すれば良いのでしょうか?それともロボゼロのCPUボードの問題でしょうか?いつも教えてちゃんですみません。
投稿: ぱぱっち | 2012年12月10日 (月) 21時36分
ぱぱっちさん
6番が4V、7番が0V、8番が4Vの数値がどうのこうのはおいといて、6番、7番、8番はたぶんデジタルだと思いますが(どこにも公開されてないのでわからない)、なぜデジタルに入れる必要があるのでしょうか?デジタルなら0Vか5Vかになるかと思います。一般的に何ボルト以上でHighなのかわかりませんが、ジャイロの最低1.5VはHightと認識されているんでしょうか?なぜ7番が0なのかわかりませんが、HSWB-3Fでは7番はバッテリー電圧ようで使えなかった番号なので、4Fでも使えないのかもしれませんけど、わかりません。
何か調べる良い方法が浮かんだらやってみますね。
投稿: micono | 2012年12月11日 (火) 00時22分
すみません、私の説明不足ですm(_ _)m
回路はmiconoさんのブログの図のどおりで、SHR-10V-S-Bのアナログ(3〜5番)とセンサーKXM52-1050のXYZ(6〜8ピン)を半田付けしてつないでいます。半田付けした状態だと期待はずれの電圧4,0,4なのですが、半田付けをやめると単体でテストしたときと同じように期待通りの電圧2.5,2.5,3.5になります。なので、自分が結線を間違えて無ければHSWB-4F側で何らかの対応が必要なのかなぁ、と。
何か思い浮かんだらで結構ですので、よろしくお願いします。
投稿: ぱぱっち | 2012年12月11日 (火) 06時59分