2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

カテゴリー

ブログパーツ

無料ブログはココログ

« 元祖Shakeyの性能チェック | トップページ | 細々した部品を作る »

2012年2月16日 (木)

ホイールエンコーダの分解能を改善する

ロボット作ろう:シェーキー製作記

今回は駆動輪の分解能を改善する話です。Shakey先輩の性能に少しでも近づこうということで、チャレンジしました。
シェーキーの駆動輪にはここここの投稿にあるように1回転100パルスのエンコーダがついています。これは反射型のインタラプタ1個で構成されていますが、これを90度ほど位相のずれたところにもう1個追加し、分解能を倍にします。新しいセンサ基板はこうなりました。

Dscn2052

左側にあるのが今までのセンサ、取り付けてあるのが新しいセンサ基板です。見てわかるようにインタラプタが2個になっています。このインタラプタはシャープのインタラプタにプラスチックのレンズを被せたもので、5〜6年も前に秋月で買ったものです。今はもうありません。普通のインタラプタに比べて検出領域が狭いようで、細いパターンでも感度よくとらえます。普通のものだと信号の振幅がもっと小さくなります。本機では信号をADで読んでいるのでどちらでも使えますが、在庫整理のつもりで使っています。

ホイール裏側のエンコーダパターンとの関係はこんな感じ、インタラプタの一つが黒、もう一つが白の上に(なるべく!)乗るようになっています。(わかりにくいですが)

Dscn2056

新しいセンサの信号はこんな感じです。

Dscn2048

位相は90度ほどずれています。チャンネル1のインタラプタの方の信号が少し小さいみたいですね。負荷抵抗を調整してレベルをそろえておいた方がいいでしょう。
この信号をADで読み込んで二値化したのがこれです。マイコンの空きポートに出力してオシロで確認しました。基板は2mmピッチのユニバーサルなのでインタラプタ間の距離の微調整が出来ません。これが精一杯です。きれいな2相クロックとはいえませんが、実用上は問題ないでしょう。

Dscn2063

これで分解能は200カウント/回転になりました。さらに、回転方向も識別することができます。もっとも、このモーターとギアボックスでは1カウント単位で厳密に制御するのは困難ですが、計測精度は間違いなくよくなっているので、オドメトリの総合的な性能はあがると思います。

もちろんドライブサーバのソフトも直しました。昔のインターフェイスを引っ張りだして、体内シリアルバスをパソコンに接続、Teratermでテストと調整を行いました。手打ちコマンドで動かしてみた感じでは、改造前より確かに精度が出ているようです。小さな旋回を何回も繰り返したのちオドメトリ上の原点に戻すと、今まではそれと見てとれるほどのずれが出がちでしたが、それがあまり感じられなくなりました。

Dscn2054


« 元祖Shakeyの性能チェック | トップページ | 細々した部品を作る »

ロボット作ろう」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1140145/44147896

この記事へのトラックバック一覧です: ホイールエンコーダの分解能を改善する:

« 元祖Shakeyの性能チェック | トップページ | 細々した部品を作る »