Rough English Here
 
 
自走式マウス
7/30, 2002: 自立型になりました!全面的に加筆修正してあります.
7/15, 2002: ページ作成
[]

オプティカルマウスに車輪を取り付け,自ら走ってしまうマウスを製作してみました.

制御に用いたマイコンはCygnal社のC8051F300で,開発キットおよびチップを 三洋電機(株)様よりご提供いただきました.

オプティカルマウスセンサについて
現在,オプティカルマウス(光学式マウス)として売られているものの多くには, Agilent Technologies社製のセンサが使われています.
今回購入したLogitech社製のマウスには"ADNS-2051"が使われていました(データシートはAgilent Technologiesのサイトから入手可能です).このセンサは,対象物体の表面のテクスチャを16x16画素のCMOSイメージセンサで1秒間に最大2300回(!)読み取り,相関演算によって移動距離を算出するというものです.

ADNS-2051には外部とのインターフェースとしてロータリエンコーダ互換の出力の他,2線式のシリアルインターフェース(SPI)を備えており,MPUと簡単に接続することが可能です.

今回はこのセンサから得られるX,Y方向の移動速度を基に,左右のモータのフィードバック制御を行います.

ちなみに今回使ったマウスはLogicool OM-45UPiBという型番のものです. 「スキャンスピードが2000回/秒」という記述からADNS-2051が使われているはずと推測し, えいやっと購入したらビンゴでした:-)

ラジコンサーボについて
車輪を駆動するためのモータとして,今回は市販の小型ラジコンサーボを改造して使用しました. 一般に,ラジコンサーボにはモータ,ギア,ドライバ回路,位置フィードバック用のポテンショメータが内蔵されていて,電源と位置指令用の信号を与えるだけで動作します.

今回は GWS社の"PICO STD"という製品を使いました.重さがわずか5.4gで非常に小型ですので,マウスのような小さい筐体に収めるには最適です.

通常,ラジコンサーボはそのままでは無限回転ができません.このため,最終段のギア(写真右)にあったストッパをカッターで切り取り,さらにこのギアの軸穴をドリルで少し広げる加工をしました.こうすると,サーボのポテンショメータ(写真左の,左側の軸についている)に動力が伝わらなくなります. さらに,ポテンショメータが振動等で動かないよう,念のため瞬間接着剤で軸を固定しました.
車輪は'ホールソー'という大きい穴をあけるための工具を使いって,ボール盤でアルミ板から切り出しました. 両面テープで薄いゴムを張り付けてあります. 中央の穴にはサーボホーンがしまりばめで装着されています.

バッテリについて
電源はラジコン用の小型ニッケル水素電池(4セル,4.8V)を利用しました. ユニオンモデルのRCP-110というものです. 充電器には秋月電子の急速充電キットを改造して使っています.

マウス内部のスペースが小さくそのままでは収まらなかったので,電池を分解して2つに分離しています.

とりあえず動かしてみる
まず,「C8051F300 MCU用開発キット」に付属のボードに接続して動かしてみました. プログラムの開発は付属の統合開発環境を使って,C言語で記述しました. プログラムの転送やデバッグは2線式のJTAGみたいなのを経由して行います.楽ちんです.
自立化への道
←回路図(クリックで拡大します)

C8051F300は3.3V動作,ADNS-2051とラジコンサーボは5V動作です.普通はレベル変換の回路が必要ですが,C8051F300のI/Oピンの耐圧が5Vあるので直結することが可能です.このため回路はとてもシンプルになりました.

マウス内部の基板にはADNS-2051とUSBとのインターフェースを行うためのIC等も搭載されていますが, これらは不要なので取り去り,結果的に右の回路図のようになりました.

SW1,SW2はマウスのボタンで, CN1は充電用のコネクタ,CN2はJTAGアダプタを接続するコネクタです.

これがご本尊様のC8051F300.小さい!

このチップは 三洋電機(株)様よりご提供いただいたものですm(..)m

取り付け方法はいしかわさん方式です. ハンダづけする時にコテ先が震えますが,がんばります.

3.3Vを作る3端子レギュレータも超小型のものを使いました. XC62FP3302というものです.

後輩が現品.comで購入したものを分けてもらいました.

実は光学マウス自体もプレゼントされたものなので,このマウスの部品はほとんど人からもらったものばっかりです(^^;

マウスの筐体に穴あけ加工をし,基板,サーボ,バッテリを取りつけました.

なんとかギリギリ収まっています.

フロントには小型のスライドスイッチを取り付け,電源スイッチとしました.

コネクタはおしりから出ています.

ソフトウェア
ソフトウェアはCYGNAL開発キットに付属の統合開発環境を用い,Windows上で行いました. C言語でソースレベルデバッグが行えるので,はじめてでもスムーズに開発を行うことができました.

デモンストレーション
実際に動作させたときの動画です.

直進 (AVI(MotionJPEG)形式, 1.5M byte)

マウスを直進させます.制御がかかっているので,指で突っついても直進しようとします.
これは自立化前の映像です.

ライントレース (AVI(MotionJPEG)形式, 2.3M byte)

地面の白と黒の境界線をたどるように走行します.今度は自立してます.

速度は遅めですが,ちゃんと動作しているのが分かると思います.


このページに関するコメントをお願いします
お名前:   ↓タグ使えます
コメント: →他の人のコメント

→最近のコメント


Copyright © 2002 KOMORIYA Takeru リンクはご自由に (参考) →開発レポートにもどる