こんにちは、しゅうです。
今回は光センサ周りの回路を設計していきます。
使用する部品
事前に、今回の記事で登場する部品をリストアップしておきます。
部品名 | 型番など | 参考リンクなど |
---|---|---|
赤外線LED | SFH4550 | 商品ページ、データシート |
フォトトランジスタ | ST-1KL3A | 商品ページ、データシート |
MOSFET | BSS138 | データシート |
赤外線LED周り
今回はLEDを常に発光させず、一定の間隔で発光させます。これにより、発光→受光→センサ値の取得、という一連の流れを作れてセンサ値の管理がしやすくなります。発光したタイミングがわかれば、AD変換にかかる時間などはデータシートを読むとある程度把握できるため、値の取得までの時間が分かります。
そこで、LEDをマイコンから直接光らせようと思いましたが、こちらのブログでも言及しているように、マイコンのI/Oピンからの出力電流値は25mAまでしかないそうです。一方で今回使うLEDのSFH4550は最大100mAまで対応しているそうです。こうしてみると、マイコンから直接だと少し足りないですね…
マイコンからの出力に関しては、以下の画像に示すSTM32F103RBのデータシートの表からも分かります。
これを解決するために、MOSFETという部品を使います。今回は、NchであるBSS138を使います。
これを使えば、ゲート(1番ピン)に入力が入るたび、ドレイン(3番ピン)からソース(2番ピン)の方向に電流が流れるようになります。
また、電源電圧の変動を抑えるために、ローパスフィルタも設けております。
フォトトランジスタ周り
発光したLEDの値を受ける受光回路に、フォトトランジスタST-1KL3Aを使います。このフォトトランジスタは、受け取った赤外線の量によって、流す電流量が変化します。ただし、そのまま直接マイコンに接続しても、マイコン側からでは電流変化を読み取ることができません。
そこで、電圧の変化として見れるようにするために、負荷抵抗を付けます。この抵抗に流れる電流変化により、かかる電圧も変化します。この電圧変化をマイコンのAD変換機能で読み取ります。
負荷抵抗の値に関しては、データシートに応答時間との関係を示すグラフが載っています。大きすぎると、若干応答が遅くなるそうですので、ある程度の抵抗であれば問題なさそうです。今回は先輩方の回路を参考にして、1kΩにしました。
まとめ
今回は、光センサ周りの回路図を書きました。次はモータ周りの回路図を書いていきます。
以下、今回参考にしたブログの一覧です。