Cat-Pot技術公開1:ラインセンサ回路
大会まであと1日,3月25日になりました.今日は調整日です.
大会の開催に伴って大会中の技術交流のネタのひとつとして今年作ったラインセンサの回路図を公開します.
この回路はつい廃オカダくん(@OkadaTechnology)との共同開発になります.あっちが公開しようと言うので同じ日に公開することになりました.
経緯を簡単に説明します.
オカダ:マイコン処理重なりすぎてライン処理入る前に白線通り過ぎるんですけどーーーー(;´д`)
私:別マイコンで処理させればよくね????
オカダ:ICでなんとかならん??
私:ほぇ~~~~
(数分経過)
オカダ:サイリスタで読むまでONにして読んだらOFFで解放すればいいんじゃ!
私:サイリスタって何ぞ.てかそれ自己保持させればいいんじゃね?
(オカダによるサイリスタの説明が入る)
私:へーきっついな!
(数日経過)
私:自己保持させるならOR回路で組めるくね??簡単やん!
オカダ:ためします!!!
数日経過・・・・その後いろいろあり
私,オカダ:動いた!!!強そう!!!
てな感じでラインセンサ回路ができました.回路図はこちら.
主な機能を以下にまとめます.
・複数個の受光素子をORICで統合→方向ごとに管理が可能に
・立ち上がりを保持(センサの出力を保持)
・信号ピンにより保持のON,OFF機能の搭載
・今まで通りの検知も可能なように保持前のデータも出力
なお,論理演算をするために信号がHigh,Lowになります.ADCによる処理が出来なくなるので閾値には気を付けましょう.
目玉はやはり自己保持回路部ですね.生の値(RawData)の後にOR回路と抵抗とトランジスタだけで実装ができる点でマイコンに比べ優位でしょうか.まぁ値の調整面倒ですが.
センサのところは1方向分になるのでうちの回路の場合この部分が3つあります.新JISに反抗するために4072を使ってますが,実際の回路は4075で構成して,数がちょうど合うようにしています.
さてさて,肝心の保持することによる利点ですが,
・自己保持ON→読み取り→自己保持OFF→(wait)→自己保持ON→以下ループ
とすれば,前回のチェックから今のチェックの間でラインを読んだことがわかります.このため検知漏れは確実になくなることになります.
・また,保持を解除していてもただのORで組んでいるだけなのでRawDataもOR回路の出力になります.このため保持をしていなくても検知が可能です.これは通常の利用方法と同じでしょうかね.
最後に,この回路の応用例を挙げます.
まず,ロボットはボールに対して回り込みおよび追いかける動作をしていることとします.
この状態の時ラインを読む可能性があるのはボールのある方向のみです.そのためラインを踏む可能性のある方向のみ(ボールのある方向,あるいはロボットの進む向き)の自己保持をONにします.
この状態で通常通り回り込み動作をさせます.
ボールのある方向でラインを踏んでしまったとしましょう.
そうすると,回路は当然値を保持します.なので今度はRawDataを用いてラインの処理を行います.
RawDataが白線を検知しなくなるまでロボット動かします.
ボールの位置が変わるまで保持を継続し変わったら保持を解除すればライン間際で往復することを防ぐことが考えられます.
簡単ですが応用的な使い方は以上です.
まとめます.
ラインセンサはマイコンで処理してもプログラム次第でなんでもやりようがあるし,いいと思う.
でも,ロジックで実装してみたら案外簡単にできるかもしれない.
固定観念にとらわれず,柔軟な発想で新しい回路を開発して下さい!!!
コメント受け付けます!質問もどうぞ!!ツイッターアカウントは@ryuna_roboです.こちらの方が対応早いです.(文章はひどいですが)
コミュ障ですが皆さんと交流したいので絡んでください.では大会頑張りましょう!!