2025年3月8日土曜日

フォトセンサの光軸確認

全日本大会の技術交流会で一部のマウスのフォトセンサ用赤外線を見て遊んでいたが、その方法を紹介する。

マウスのフォトセンサはなかなか難しく、素子の選定、回路や定数もさることながら、レイアウトをどうするかも悩ましい。 小さい素子を使うと半値角が大きかったり、側面から散乱する光も気になる。 高強度の発光素子はだいたい赤外エミッタであり、その発光状態は人の目では確認できない。

いいカメラはしっかり赤外光をカットしているので見えないが、ちょっと甘いカメラだとわずかに見えることがある。 本来普通のカメラに使われる撮像素子は可視光域から近赤外域まで感度があり、光学フィルタによって赤、緑、青だけを通すようにしてカラー画像を作っている。 そのフィルタが甘いと赤外光が見えてしまうということになる。

つまり、余計なフィルタがないカメラだと赤外光が見えるということになる。 通常、フィルタは素子と一体になっているはずなのでフィルタの除去はできないが、どうも安いWEBカメラはカラーフィルタとは別に赤外フィルタを設けているらしい。 確かに安い光学フィルタだと青だけ通すバンドパスフィルタであっても実は赤外域も通ってしまうというのはよくあることなのでありうる話だとは思う。

試しにということで、手元にあった サンワサプライの 400-CAM103 というWEBカメラを分解してみると、それっぽいのが貼り付けてあった。しかも、わりと雑に貼り付けてあるだけなので簡単に外すことができる。

これを外してみると...見える。

なるほど。こういう光が出ているのか。

赤外光だけを見ることができると諸々の確認はしやすくなる。そこで、可視光カットフィルタ(Fujifilm, IR 76)をかませてみる。

それらしく赤外光だけが見えた。なお、ここでは紫っぽい色に見えているが、RGBフィルタのどれが赤外光をどの程度通すのかはカメラ次第なので違うカメラを使うと色としての見え方は変わるはず。

これで見えるには見えるが、ISOや露光などがオートだと明るすぎる。カメラが勝手に調整してしまうのが厄介なので、マニュアル設定できる適当なソフトウェアが何かないか探したところ、 OBS Studio が良さそうだったので試した。 カメラのプロパティ内「映像を構成」から自動を解除することができた。これで露出を下げると、わりと壁全体を照らしているのがわかる。

可視光カットフィルタを外すと、多少は可視光も見えるが、マウスからの赤外線の方がずっと強いことも確認できた。実際にはパルス発光なので瞬間的な明るさはさらに強く、通常の室内環境だと外乱光の影響はなさそう。

再び可視光カットフィルタを入れて路面の反射を見てみると、そこそこ照らされている。防ぎようはない気がするが、こういうのを把握しておくことは重要。

また、カメラから外した赤外カットフィルタっぽい板は確かに赤外光をカットしている。

20年マウスやっててはじめてちゃんとマウスの赤外発光状況を可視化した。

2025年3月1日土曜日

昇圧と小モジュールギヤ

今年度は主に3点うまくできるかわからない新しいことを試し、なんとかかたちにすることができてその効果も発揮できた。それらが認められてニューテクノロジー賞をいただいた。

1つ目は昇圧回路を搭載してパワーを引き出したこと。昇圧ICにはLT8337-1を使った。 昨年も昇圧は試したが、パワーを引き出せず、あまり効果はなかった。 今年は1次側に流れる大電流を考慮してパターンを太くしたりバッテリから近くしたりと改善した。 バッテリコネクタも大きくてじゃまではあるがEHコネクタを使って接触抵抗による損失を減らした。 ICについてはON抵抗が小さいことも重要だが、スイッチング損失も無視できない。 このあたりはまだ最適ではない気がする。回路はデータシートに従った。 また、かなり発熱するので放熱は重要かもしれない。 ただピーク電流が流れるのは短時間なのでたいして問題にならないかもしれない。 連続で流すと150℃とかまで上がるが、走行時に熱起因で昇圧が止まることがあるのかはよくわからない。

2つ目は慣性モーメントを減らす部品配置をしたこと。 最近はターンが速いこともあり相当なトルクがないと旋回できない。 モータを中心付近に配置するのに、内歯車を使いたかったので製作してみた。 内歯車のインボリュート曲線ってどうなってんの?と思いながら加工プログラムを作り直すのはやや大変だったが、問題なく作ることはできる。 ただ、噛み合い状態が見えないのでギヤ間の距離あわせが非常に難しかった。

3つ目はトルクをかせぐために減速比を大きくしたこと。 タイヤ径約13mmに対して、減速比6.8を実現した。 昨年までモジュール0.2の歯車を使っていたが、より小さいモジュールを採用しないと成立しないため、 モジュール0.144で設計した。(中途半端なのはおおよその設計が終わってから大きさを変えずにモジュール変更するため。) 0.2mm径のエンドミルで0.144モジュールの歯車を加工した。標準的な歯車の歯たけはモジュールの2.25倍だが、そうすると歯元が折れそうに細くなるので1.9倍にとどめた。 完全な歯車ではないが普通に走っているので大丈夫らしい。 ギヤ間距離の調整はおそろしく大変だった。きつい。 あと、暴走するとピニオンの歯が消える。これはソフトウェアも変更し、暴走しないようちょっと外れたらすぐ停止するようにした。

いろんな部品を何度も加工したこともあり、今年(今年度ではなく今年...)はエンドミルをかなり折った。0.1mm1本、0.2mm2本、0.5mm1本。 小モジュール歯車ははじめ0.1mmのエンドミルで加工を試みたが、普通に折れた(CNCはオリジナルマインドのKitMill BT100)。 切削パラメータを見直せば加工できる可能性はあるが、加工に時間がかかりすぎるのと、次折れたらを考えたときに財布へのダメージも大きいが、なによりも心も折れそうなのでやめた。 0.1mmは加工パラメータが不十分なので仕方ないが、ほかは人の不注意で折ったもので正しく加工プログラムが動いている限りは折れない。