2019-12-22

大会に出られなかったマウスの話

この記事はMice Advent Calendar 2019の22日目の記事です。
昨日はmakoto@VrIyoeの「今年の反省と来年の話」でした。
他の人の工夫や試行錯誤を見るのって面白いですね。来年どんなマウスが見られるのか楽しみです。

はじめに

お久しぶりです。nknです。
前回の記事がいつだったか確認したら去年のアドベントカレンダーでした。
光陰矢の如しをひしひしと実感している今日この頃です。

本題へ

さて、今年のマイクロマウス活動はというとマイクロマウスを始めてから
初の大会不出場でした。
マイクロマウス(旧ハーフ)に初挑戦だというのに、色々とやってみたいものを
搭載していたら開発が遅れに遅れこの様です。

あれ、もっと前に機体出来てなかった?と思ったあなた鋭いですね。
去年の夏の段階で機体は形になってましたが、実は壁センサー用赤外線LEDが光らない、
エンコーダが読めない等々の問題があり、再設計をしていました。
少しだけ掘り下げてお話させてください。

赤外線LEDが光らない問題

今回の機体では、壁センサー用赤外線LEDを電流制御ができるドライバを用いて
光らせようと考えていました。
条件として

1. 電流制御ができる
2. パッケージが最大でも4 mm x 4 mm
3. ソフトウェア側から電流をある程度変えられる
4. 4つ以上のLEDをドライブできる
5. マイコンとの通信はI2CかSPI

といった感じで絞って、DigiKeyなどを漁っているとLTC3205というドライバに
行き着きました。
どうやらフィーチャーフォンのディスプレイ用バックライトなどに向けた製品らしく、
メインディスプレイ用LED(1~4)、サブディスプレイ用LED(1~2)、RGBLED の最大9つを
ドライブできるようになってます。

これでいける!と思ったのもつかの間、完成したマウスで動かそうとすると
RGBLEDは光るのにバックライト用端子につないだ赤外線LEDが光らない!
これを解決しようと色々やってるうちに時間が過ぎていき、モチベも削られ開発を
一時中断してました。

散々苦しんだ挙げ句、ようやくわかったのがバックライト用であるため本来は
順方向電圧の高い白色LEDに向けて設計されてること、それ故順方向電圧の低い
赤外線LEDは1つのみでは点灯せず、直列で2つ赤外線LEDをつなげることで
光るようになるということでした。

赤外線LED光らない問題は直列で2つ赤外線LEDをつなげるという方法で決着

エンコーダ読めない問題

今回の機体では光学式エンコーダを採用しました。
前回の記事で書いた反射型光学式エンコーダAEDR-8400です。
当初の計画は4輪マウスの左右それぞれの後輪に溝を彫り反射率の差をつくって
エンコーダに読み取らせようというものでした。

完成した機体でいざ確認してみると全くといっていいほど読み取らず…
データシートを確認してみると反射領域の反射率は最低60%ほどないといけないとのこと

そこで、メッキ調スプレーで塗装し、試してみるとカウントができるようになりました。
ただそんな簡単に上手くいくはずもなく、カウントしたりしなかったりと不安定な動作で、とてもこのまま使えるようなものではありませんでした。

メッキ調スプレーで塗装した旧ホイール(ちょっと剥げてる)

やはり金属を加工してエンコーダの反射板を作るしかない。
加工の候補としては
・CNCで削る
・エッチングする
・PCB用メタルマスクとして発注する
など考えましたが、お手軽にできそうなエッチングでやってみました。
方法としては、
1. レーザープリンターでOHPシートに反射板のデータを印刷
2. アイロンでトナーを真鍮板に転写
3. エッチング液につけていい感じになるまで溶かす
といった感じです。


試行錯誤はあったものの最終的にはいい感じに反射板ができました。
いざ、マウスのホイールに取り付けて試してみると、安定して読み取れるようになりました。
(速度を取得した際にどんな具合になるかは、またブログで書こうと思います)

エンコーダ読めない問題は真鍮板を加工して反射板を作ることで決着

ついに完成

 色々とあれやこれやとやっていて今年の大会には参戦できませんでしたが、
ようやく動く機体ができたので、来年の大会に向けてソフトウェアをしっかり作っていこうと思います。

せっかくなので来年の目標を

全日本大会で32x32の迷路を走るぞ!



明日のMice Advent Calendar 2019
れこさん(@_vi_o)の「無意味な人生の話」です。
興味深いタイトルですね。果たしてどんなお話なんでしょうか?