2023年3月
      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の性能チェック | トップページ | 細々した部品を作る »

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

コメント

コメントを書く

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

トラックバック


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

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