■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品紹介 使い方とサンプルプログラム 通信販売 リンク ロボット掲示板 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...


AT-WALKERにアナログジョイスティックを付けてみる

はじめに

 ここでは浅草ギ研製4軸歩行ロボットAT-WALKERのADコンバータ機能を使って、アナログジョイスティックを取り付け、リモートコントロールできるようにしてみます。同じ方法で抵抗変化型のセンサーなどの値の取り込みも可能でしょう

 ちなみに、ここで作ったロボットはツクモロボット王国(秋葉原のツクモパソコン本店3F)でデモ展示されています。2体あって操作できますので興味のある方は一度、訪問されてみるとよいでしょう。


アナログジョイスティック

 最近の秋葉原は電子部品店が少なくなっており、ネットショッピングなどで部品を入手する機会も増えてきたかと思います。しかし、自分で入手したい部品が明確な場合はネットショッピングでも良いのですが、電子部品店の店舗では自分の考えていなかった部品に出会えるという醍醐味もあります。(そういう浅草ギ研でもネットショッピングをやってますが。)

 下のアナログジョイスティックは秋葉の千石電商で売られていました。このお店は同一ジャンル商品の種類が豊富で、スイッチ系も沢山種類があって楽しいです。


 構造は簡単で、バネで前後左右に動かしたスティックを中央に戻す仕組みになっており、縦と横に可変抵抗器がついているものです。おそらくラジコンプロポ用の部品ではないかを思われます。

 可変抵抗器には端子が3つあり、真ん中とどちらかをテスターにつないで測定すると、スティックが中心位置の時に約5Kオーム、一方にたおすと0オーム近く、逆に倒すと約10Kオームになりました。


抵抗値を読むには?

※この節はPICで曲げセンサーを読み込んだ記事のページの流用です。抵抗の値が違いますが原理は同じです。


抵抗に電流を流すと抵抗の両端には電圧差が生じます。



この抵抗を2つ直列にすると



このように電圧は2等分されます(電流も減りますがここでは電圧だけに注目)。このように直列抵抗の両端電圧は電源の電圧差を維持しますが、抵抗の間は分圧されます。この分圧の度合いは抵抗値に(ほぼ)比例しますので、例えば下の抵抗を大きくすると中間点の電圧は上がります。



つまり、この下の抵抗をジョイスティックの可変抵抗器に置き換えると、倒し具合によって電圧が出力されることになり、この点をマイコンのADCで電圧測定すれば抵抗値、つまり曲がり具合が測定できます。



回路図

 AT-WALKERマイコンボード(というかATmega32)のポートAはADCピンの兼用しているので、読み取る点はポートAに接続します。このマイコンボードは、各IOピンの隣に5VとGNDが取れるパターン(2.54mピッチのスルーホール)がありますので、上の回路の5Vと接続するのは簡単にできます。

 下は1つのピン(PA0ピン)の例を示しています。

  

 今回、このジョイスティック1つで前後左右移動をリモートコントロールすることにします。また、AT-WALKER自体は4軸歩行ですが、サーボポートはあと4つありますので、片手2軸をジョイスティック1個で操作、両手なのでジョイスティック2個、合計でジョイスティック3個を使用することにしました。1つで2個の可変抵抗がついていますので、ADCピンは6個必用になります。ここではPA0〜PA5を割り当てました。

 実際の接続は下の写真のようにしました。(あくまで例です。)

 PAxと5Vは隣同士ですので、抵抗を曲げてハンダ付けしました。抵抗の足が曲がっている頂点のところに線をハンダ付けしてジョイスティックの可変抵抗につないでます。抵抗の方向に注意して下さい、5V側に抵抗がきます。
  抵抗の足はサビている場合が多いので、線とハンダ付けする前にカッターなどで表面を削ってからハンダを盛っておくとよいでしょう。
 有線のリモートコントロールになりますので、この部分だけで線が6本出ます。あまり太い線だと実際に動かしたときの取り回しが大変なので、今回は高屈曲ワイヤーにしました。これはツクモロボット王国で売られています。線が細いわりには中の芯が多く、結構な電流を流せるので二足歩行ロボットビルダーの間ではサーボ配線などによく使われているものです。写真の電源線(赤い線)とくらべると細さがわかるでしょう。電源線はAWG26ぐらいだと思います。(AWGは線の規格。)


製作

 ポートA部分はロボットを動かしていると外れてしまうと思われるのでホットボンドなどで強化しておきます。下の写真ではついでに接触した場合に問題になりそうな場所もホットボンドで覆っています。



 コントローラは大きな穴あけなどの加工がしやすいので、手っ取り早く3mmアクリル板で作りました。デモ用なので見える方がよいかとも思います。コの字型のところは瞬間接着剤を使っていますが、強度にちょっと問題ありそうな雰囲気。
 ジョイスティックをネジ止めして配線してます。
 下の方に見えるコネクタはACジャックです。デモでは常に通電するので外部電源にしてます。5V4A(サーボ用。電流が出せるのが5Vしかなかったので)と9V(回路用)のACアダプタから電源を取ります。



 2体作って遊べたらなぁ、ということでコントローラもアーケードゲーム風に配置。接続とかの詳細は紹介しませんが、上の回路を基本に考えてください。難しいところは無いかと思います。



 腕は、胴体からピッチ軸を出して上下方向と、手の開閉ができるように作ってみました。この写真ではアーム部がアクリル(透明部分)になってますが、実は強度が無くてNGでした。ツクモさんの店頭デモで2時間で破損。現在は1.5mm厚保アルミになってます。



 あまり意味が無いかもしれませんが、参考までということで今回の腕部分の板金の展開図を載せます。
 CAD(Inventor)でやってますので曲げ部分などは自動で折り線位置が調整されるので、コンマ2桁まで値が出てますが、もし同じものを作ろうとする場合はあまり気にしなくても良いです。実際に手板金で曲げなどを行うと結構誤差出ますので、穴ピッチなどの微妙な部分は穴をあけないで、組み立て時に板を合わせて穴あけした方がよいかもしれません。よって下は形状しか参考にならないかと思います。念のため。

 片手分しかありませんが、逆の手は曲げが逆になります。



 このパーツは曲げが複雑なので厚さ1mmのアルミを使いました。穴は全部M3ですが、1mmだとネジがあまり切れないので、単に穴をあけてナットを使ってもよいでしょう。私は実際の曲げは金床の上でペンチで曲げました。(面倒だったので)誤差でまくりでしたがかなづちでたたいたりして無理やり組み立ててます。







起き上がり

 アーム部分が後ろに延びてますが、これは起き上がりを意識してます。前に倒れた場合は腕が前に伸びているので問題ありませんが、後ろの場合もこれで起き上がれます。



 よっこら、



 しょっと。


 ちなみに、横に倒れても、腕が任意に動かせるのでがんばると起き上がれるようです。(王様談)


プログラム

 AT-WALKER(ATmega32)のプログラム方法については基本的には書籍「二足歩行ロボット製作超入門」に書いてありますのでこちらを参照願います。

 ATmega32のADCの使い方は上の書籍でも若干説明しています。ADC関連の特殊レジスタを設定してピンの電圧を読み取り、数値で出力します。ADCはポートAの各ピンごとにあるのではなく、1つしかないADCを共有し、ピンを指定して値を読み取ります。サンプリングレートの設定など、読み取るまでにいくつかの特殊レジスタを設定する必要があります。下は今回のために簡単な関数を作ってみました。readADC( ) はADCnoで指定したピン番号の電圧を読み取って返す関数です。
 ADCSRA,ADCは特殊レジスタでプログラム冒頭のインクルードファイルで設定されています。これらの使い方についてはATmega32のデータシートを参照してください。データシート取得方法は本にもかいてあります(ATMELのホームページから取得できる。国内の有志が日本語化したものもあるようです。インターネットで調べてみてください。)

 ADCtest( ) 関数はPA0-PA5の6つのポートの値を0.5秒間隔で表示する、テスト用の関数です。




 実際に使用するには下記のように
設定が必要です。


 全プログラムリストはこちら AtwDemo_1.c (右クリックで対象を保存してください。)

 上の関数を使って、電圧、つまりジョイスティックの抵抗変化によって動きを変えます。歩行は単にジョイスティックを倒したかしか判断していませんが、腕部はジョイスティックの傾きによって曲がる角度が変わります。ジョイスティックの判定は腕部3回に対し足部1回の割合で判定し、腕部の解像度を上げています。


2005年10月16日



 ※このページで紹介する内容はあくまでも一例です。個別の作成のご相談ご質問はお答えできかねますのでよろしくお願いいたします。
このページと同じ内容についてのご質問についてはロボット掲示板にてお願いいたします。
 
(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示