センサー自作のための参考情報

現在、クラブで使用しているTJ3Bの増設用センサーの部品情報を公開します。

TJ3Bの黒マイコン(2023秋以降購入品)では、マイコン内の抵抗値が違うのか、それ以前のマイコンと同じ動作をしてくれないセンサーがあります。
これは、新しいマイコンが悪い、と言うわけではなく、ここで作っているものは当時のTJ3Bでさえ動けばいい、と言う考えで作っているからです。そのままでは動かないものも、テストをし回路を変更するなど改良すれば使えるようになるはずです。

2024/6/15  ボールセンサーがTJ3B(黒マイコン)でうまく動作しない場合がある対策について追記しました。
2024/9/4  超音波センサーがTJ3B(黒マイコン)でうまく動作しない場合がある対策について追記しました。


自分で作れば、その分ロボットを安く改造できますので、2個、3個とセンサーが必要になってきたら自作の価値はあります。型番の部品を探して自作してみてください。

※この情報は自分で調べた以外に、いろいろな方から聞いたりしたことも含まれます。
※この部品が最高である、という意味ではなく、あくまで、この部品であれば使えるものが作れたよ、ということです。これよりもっと良いセンサーが売り出されているかもしれません。気になるセンサーがあれば自分でも動くか試してみると良いと思います。

※メンターの方へ こちらの情報を使用する場合、ぜひ部品調達に関して子供たちの助けになってあげてください。部品が用意できたら、あとはできるだけ子供たちに作成させてみてください。やらせてみると思ったよりできるものです。最初は壊してもいいように、部品は予備を含めて購入しておくと安心です。

TJ3Bには10個までセンサーをつなぐことができる拡張ポートがついています。

最初はタッチセンサー含めて5つのセンサーがつながっていますので、残り5つつなげますが、CN9とCN10はLEDがつながっているので、0%~30%ぐらいまでしか値が上がりません。できればそれ以外のポートにつなぎましょう。

CN1のボールセンサーとCN2のラインセンサーはそのまま使うことも多いですが、タッチセンサーが不要であれば、はずしてしまえばCN3~CN5も使うことができます。基盤のセンサーポートの端子にXHコネクタという3ピンの白い部品をはんだ付けして使用します。あとはセンサーとセンサーポートを3線のコードでつなぐだけです。



ボールセンサー
 TSSP58038を使います。
抵抗とコンデンサはローパスフィルター(簡単に言うと、短い時間で出力が高くなったり低くなったりするのを抑える効果がある)になっていて、センサーからの出力を安定させるために必要です。
 中央のセンサーに加え、左右にこのセンサーを追加した時のサンプルプログラムです。くるくる回って探していた時に比べて驚くほど素早くボールを見つけてくれます。


<2024/6/15追記>
2023年以降のTJ3B(黒マイコン)では上記の回路ではうまく反応しない場合があります。その場合、10kΩの抵抗を左の図のように追加することで、正常に反応させることができます。この改良型のセンサーは旧TJ3B(白マイコン)でも動作します。

<追記ここまで>




ラインセンサー 

ラインセンサーはLBR-127HLDを使っています。フォトリフレクタと呼ばれるものなら大体何でも使えると思います。

(※)2024年現在のロボカップジュニア ライトウェイトのルールでは「赤外線を発光しないこと」というルールがあり、フォトリフレクタは使えません。下記の白色LEDのほうを使ってください。ライトウェイト以外のエントリーやオープンリーグでは使用できます。

床との距離が1cm~2cmぐらいの位置に取り付けないといけません。高くなりすぎると白線に反応しなくなってしまいます。

白色LEDを使う方法もありますがこの場合は途中に抵抗500Ωがちょうどよいかと思います。
可変抵抗をはさんで明るさを調節できるようにすることもできます。
光が見えるので、光の強さを調整したときにラインの反応がどう変わるかが分かりやすいです。
 
回路図です。ちょっと複雑ですが、慣れればそれほど大変ではありません。

フォトリフレクタの場合は絵の通りの向きに気を付けてください。

白色LEDのときは+と-があります。長い線が+です。可変抵抗も必要なので上級者向けです。




(追記)
上記の秋月で買える白色LEDと照度センサーを使う場合はLEDに500オームをつなぎ、センサーはそのまま(+)をセンサーポートに(ー)をGNDにつなげば簡単な回路でそこそこ反応するセンサーが作れます。抵抗も一つで済むので簡単です。


超音波センサー

 壁との距離を測る超音波センサーです。
HC-SR04を使います。
ボールセンサー、ラインセンサーと違って壁と斜めになると測定できなかったりするので、慣れずにプログラムに組み込むと思い通り動かないことがあります。

<2024/9/4追記>
2023年以降のTJ3B(黒マイコン)では、うまく反応しない場合がありました。
TrigとEcho間を510Ωの抵抗でつなげていますが、これを配線の切れ端などで直結(ショートさせる)と動作しました。
<追記ここまで>

CN10からつなぐ、という制限があります。
CN9だけに超音波センサーをつなぐ、ということはできません。詳しくTJ3Bの説明書にも使いかたが書いてあるのでそちらも必ず読んでください。











その他
センサーをつなぐためにはコネクタとコードが必要です。
ただ、センサーが正しくできていれば、ボールセンサー、ラインセンサーはつなぐだけであっけなくセンサーは増設できます。

コネクタやコードについては必要であれば別の記事にします。

コメント

  1. 黒マイコンについての追記、ありがとうございます!
    自作センサで悩まされており、とても参考になりました!
    質問なのですが、ローパスフィルタに加えて追加された10kΩはどのような意味、原理があるか教えていただけないでしょうか?

    返信削除
    返信
    1. 返信が遅れました。
      実は良く分かっていない部分もあり、推測が入りますので、あくまで参考として聞いて下さい。
      10kΩを入れた意味ですが、簡単に言えば、電流がマイコン側に流れ込みにくくなる意味があります。
      少し難しくなりますが、本来、マイコンの電圧測定側は電流が流れないものと仮定して回路を設計します。ですが、電圧を測るためにまったく流れないわけではありません。
      今までは流れないものとして設計していたので、抵抗をつけていませんでした。

      しかし新しいマイコンでは、抵抗を付けないことにより、センサーが反応することでコンデンサにたまったり、減ったりするはずの電気が、マイコン側から流れ込んだり、流れて行ったりする電気で電圧が変動しないと仮定しました。
      なので抵抗を入れることでマイコン側とフィルターの間の電気を流れにくくしたわけです。
      実は10kΩを入れたのは対処療法としてやったらできた、ですのでもしかすると、10kΩより適切な抵抗値があるかもしれません。

      削除

コメントを投稿

このブログの人気の投稿

TJ3Bにm5stck UnitV AI Cameraをつなぐ(暫定版)

TJ3BでHMC5883L(QMC5883L)を使う方法