■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品紹介 使い方とサンプルプログラム 通信販売 リンク ロボット掲示板 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...
H8マイコンボードと2軸加速度センサー
浅草ギ研では加速度によってパルス幅がかわる「2軸加速度センサー」を販売しています。ここではH8マイコンでこのセンサーを使い傾きを測定する方法について紹介致します。

※当ページの内容についての質問は掲示板にてお願いします。


2軸加速度センサーの概要

この2軸加速度センサーは20℃時で10mS周期、デューティー50%のパルスを出します。加速度センサーなので加速度を加えるとX/Yそれぞれの軸の出力のパルスが1Gで12.5%変化します。

RH30-3

この加速度センサーは加速度を測るものですが、センサー自体を傾けることによりGが発生、つまり下方向の重力に反応しますのでパルス変化を傾きと見ることもできます。傾きの計算については2軸加速度センサ説明のページを参照願います。


H8マイコンとの接続

今回もベステクのH8/3694Fを使用します。前と同じく雷電に付けられっぱなしの状態です。

接続は次のようになります。

RH30-4

センサーのGNDは両方つながないとパルスが出なくなりますので注意してください。


プログラミング

プログラミング環境も同じくGDLです。簡易型統合環境ということですが結構使えます。

パルス幅の測定なので超音波センサーでやったこととほぼ同じですが、今回は電源を入れるとセンサー側から周期的に勝手にパルスを送ってくるので正確にパルスの立ち上がり位置から測定するように組む必要があります。

下はX軸とY軸のパルス幅を出力するプログラムです。20℃時、水平時にはデューティー50%の10mS周期のパルスなのでHighが5mSのパルスが出るはずです。

H8/3694Fのクロック数は20MHz、つまり1カウント0.05uSなので1/512カウントモードだと5mSの場合

5000uS/(512×0.05uS)=約195.3カウントになるはずです。

これより1G時に12.5%変化するので−90度〜+90度傾けると1Gづつ変化、つまり約171〜220に変化するという計算になります。
RH30-5
45、46行目:立下りと立ち上がりを検出することにより、正確にパルスの立ち上がりからカウントスタートする。45行目が無いと関数が呼び出された瞬間にたまたまパルスがHighの状態だと正確にパルス幅を測定できません。

47行目:超音波センサーの時と同様にタイマーAを使用してます。

といったところ。その他は超音波センサーのページを参照願います。

メインは次のようになります。
RH30-6
1秒間隔でX、Y軸の傾きを数値で表示させました。

全プログラムリストは次の通り
Acc.txt


さっそくロボットに取り付けてテストしてみます。下の写真のように胴体上部に水平に固定しました。(とりあえずテープで固定。)



結果はこのようになりました。計算よりも変化率が大きいです。このあたりは詳しく追求しませんが、これでロボットがどのぐらい傾いているかがわかるようになりました。



しゃがんでいる状態。ほぼ水平です。値は期待通りX,Y軸とも195前後。



仰向けに倒した上体。X軸が増大してます。計算では1Gつまり90度倒れた状態で220前後になるはずですがちょっと大きい値が出てます。



うつぶせに倒れた状態。X軸が現状してます。



手前向きで横になったところ。今度はY軸が変化してます。



向こう向きで横になったところ。Y軸の値が逆に変化してます。


応用編

これらを使って、たとえば「ロボットが倒れたら自分で判断して起き上がる」、ということも可能になります。

mpgファイル5.1MB
上の画像をクリックすると起き上がりの映像が見られます。
雷電の場合、前に起き上がるのは足だけでもできますが、うつぶせからの起き上がりには手が必要になります。このプログラムではうつぶせになったらピクピク動くだけですが手をつければうつぶせからも起き上がりが可能になります。
ここではX軸の判定しか行っていません。ROBO-ONEなどでは前後の起き上がりしかつくっていない場合がありますが、大会本番でちょうどバランスよく横向きに倒れるケースがたまに見受けられます。ダウンから起き上がれないと負けてしまいますのでY軸の情報も活用すると良いでしょう。
今回は傾きだけを測定しましたがデータを積分して加速度から歩行姿勢を修正するということも可能かと思われますので挑戦してみてください。

全プログラムリストはこちら
Acc_Raiden.txt



2004年8月2日




(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示