無骨くん1号
2007/10/18作画
イメージをスケッチしました。
|
2007/12/09撮影
回路図を元に部品実装・配線をしました。
詳しくは、以下の「部品実装・配線」をご覧ください。
|
実物写真追加 2007/12/11 Satoh Kohtaro
全体構想
だいたいはイメージしていましたが、あらためて以下に示します。
- ブロック分け
-
ハードウェアおよびメカ全体の構成は以下のとおりです。
- センサーブロック
- 制御ブロック
- 駆動ブロック
- 電源ブロック
-
各ブロックは、線材で接続され、各種情報、電力の伝達が行われます。以下にブロック図を示します。
(画像クリックすると拡大画像が見られます。)
- 基本動作
-
- センサー部読み取られる床面情報(黒色テープの場所)は制御部にあるマイコンボードに入力される。
- 制御部のマイコンボード(ソフトウェア)では、床面情報を元に、どちらの方向(直進、左折、右折)に進めばラインをトレースできるかを判定する。
- 判定結果をもとに、制御部のマイコンボードでは、左右それぞれのモーター制御パルスを生成し、駆動部に出力する。
- マイコン(ソフトウェア)では、上記の「床面情報取得、進行方向判定、制御パルス決定」を一連の動作とし、一定周期で繰り返し続ける。
-
以下に、ソフトウェアの動作概要を示します。
(画像クリックすると拡大画像が見られます。)
単純な動作です。笑
2007/11/08 Satoh Kohtaro
回路図
最初、一生懸命某表計算ソフトで作画していましたが、この効率の悪さについに断念。汗
なんか良いソフトは無いか?と探していたら、ありました。
水魚堂さんのフリーソフト
回路図エディタBSch3V。
(リンクフリーとのことですので、ここでご紹介させていただきました。とっても使いやすく、
1時間くらいでだいたい苦労無く作画できるようになりました。水魚堂さんありがとうございました。)
で、本題に戻ります。
(画像クリックすると拡大画像が見られます。)
pdf形式も置いておきました。
印刷するときはこちらがきれいかもしれません。
以下、概要説明
- 基板配置について
-
-
3つの基板と、モータユニット(回路図上では、破線で表示)をそれぞれフラットケーブルで
接続します。センサー系回路と駆動系回路はスペースの都合上同じ基板(センサー・駆動基板)に
配置することにしました。
- 電源について
-
-
電源は2系統用意し、2極連動のスライドスイッチ(SW01)にて同時にOn/Offできるようにしています。
この2系統の電源は完全に分離していて、モータからのサージノイズがデジタル系(特にマイコン)に
混入しないように配慮しました。
-
単3乾電池からの駆動系電源は、そのままモータドライバICのモータ駆動電源にのみ接続され、
他の回路との共有はありません(回路図上のV+)。
-
9V(四角の)電池からの電源は、一旦マイコンボードに搭載されている3端子レギュレータによって
5Vにされます。5V電源は回路図上ではVCC表記となっています。
-
グランドは、基本的にはひとつだけ(2系統ある電源のグランド同士は接続されている。)なのですが、
回路図上ではGND(VCC系グランド)とAGND(V+系グランド)に分けています。
で、この2つのグランドは、CN02付近で1点だけで接続させています。
-
これでモータからのノイズがデジタル系に混入することが多少抑制されると思います。
(ただこれだけでは説明も不完全で、V+ラインとAGNDライン挟まれた位置に
デジタル系を配置したりしてはいけなかったりとか、厳密にノイズ対策を考えたら、きりがありません。)
-
今回はこれぐらいでマイコンの誤動作は防げそうな感じがしています。
もし実際動かしてみて調子が悪かったら、また考えることにします。笑
- センサー(フォトリフレクタ)について
-
-
固定抵抗(抵抗値はこうやって決めました。)を
介してVCCに接続され、マイコンポート(P80~P83、信号名"SENS-POW[0..3]")に接続されています。
-
こうして、情報取得したいセンサーに対応するポートのみ(Q01からQ04まで順々にひとつずつ)Lowレベルにして
電流を流し、センサーを駆動します。こうすることで、センサーでの消費電力を極力減らします。
-
P8xをLowにして駆動されたセンサーの情報は、駆動されてからある程度(回路の容量成分の多少にもよりますが、
おそらく1ミリ秒程度)待って、マイコンポート(PB0~PB3、信号名"SENS-IN[0..3]")にて
読み取ります。
-
フォトセンサ(フォトリフレクタ)回路の検討でも述べているように、白色検出感度がちょっと
微妙(マイコンポートでうまく取れるレベルの電圧にならないかもしれない)なので、実は"SENS-IN[0..3]"は
A/D入力と兼用のポートに入れています。そのため、センサー入力はPB0~PB3に配置しました。
-
こうすることで、Lowレベルがデジタル回路ではうまく取得できなくても、アナログ信号とみなして
A/Dコンバータを使って取得し判定すれば、うまくいくものと思われます。最悪の場合はこれを考えています。
2007/12/05 Satoh Kohtaro
部品実装・配線
何事もそうですが、しっかりと筋道を立てて作業をすると、だいたいうまくいくものです。笑
あらためて、実装・配線済み、無骨くん1号の実物です。
シャーシから外してみました。基板間はフラットケーブルにて接続しているため、
モジュール化されている感じがしてスマートに見えます。
「名は体を表さない。。。」無骨くんじゃないじゃん...。汗
センサー部・駆動部基板
イメージをクリックすると大きな画像が見られます。
光センサーは、床面の検出をするため、裏面に配置。
表面の上部にある横長の黒い部品は、DCモータドライバICです。右車輪・左車輪それぞれで2個載っています。
裏面は、配線が床にこすらないように、硬い線材を使って、基板に這うように(基板から浮かせないように)しました。
表面は、フラットケーブルでスマートに結線です。
制御部基板
イメージをクリックすると大きな画像が見られます。
表面は中央にマイコンボードが載るため、スペースがガラ空きです。
その代わり、部品類は周りを取り囲むように配置されています。
裏面は配線のお化けです(笑)。やはりマイコン周りは信号線が密集するためこうなってしまうのは
やむを得ませんが、これでもバスをフラットケーブルを使って配線した分スマートに見えますね。
どちらの基板も、これだけの配線を施すのであれば、プリント基板を作ったほうが良かったかなと
思えてきます。
プリント基板の自作まではまだ試したことがないので、次回の課題は、プリント基板の作成にしようかな...。
と思います。
2007/12/11 Satoh Kohtaro