1.目的
ライントレーサーを製作し、基盤の作成や半田付け、PICの書き込みなどの技術を身に付ける。
2.原理
プログラムで、動作が変更できるようにPIC16F84という1チップマイコンを利用する。電子回路の回路図を図1に示す。
図1 回路図
モータを回すトランジスタ2個接続(ダーリントン接続)したものは1つのパッケージに入っている。このトランジスタの型番は2SD1828で、極性は向かって左からB,C,Eである。
水晶発信子はコンデンサと共に1パッケージになっている。
センサー部分の赤外線発光ダイオードと受光用のフォトトランジスタは1パッケージになっている。
(あ)回路
(a)LED点滅回路
PICのIO PINにLEDを直結させて点灯させている。PICの出力は0は0[V]、1は電源電圧(3[V])なので、10[mA]弱の電流を流して点灯させたいので、となり、R=140となる。しかし、あまり電流が流れすぎてもICが壊れてしまうので、200[Ω]とする。
(b)SW回路
SWを押すとGNDとRB0がつながり、0が入力される。
SWが離されていると、VCCから電圧がかかり、1が入力される。
(c)センサー読み取り回路
センサーにはフォトリフレクターを用いた。これは赤外線発光ダイオードと赤外線フォトトランジスタが組み合わさったもので、床に赤外線を当て、その反射を読み取る。
赤外線発光ダイオードの部分はLEDと同じ考えで回路を作る。但し、光の量が足りないと検出できないので、可変抵抗で電流の流れる量が調整できるようにしてある。基本的には可変抵抗だけを赤外線発光ダイオードに直列に入れればいいのであるが、可変抵抗を0[Ω]にしたとき、大電流が流れて、壊れてしまうので、47[Ω]の抵抗を直列に入れてある。
フォトトランジスタの方は、余り電流が取り出せない(最大=20[mA])ので、そのまま使うと、LEDを点灯させる電流だけで、余裕が無くなってしまうので、トランジスタ(2SC1815)で電流をたくさん流せるようにする。
(d)モーター回路
まず、モータに流れる電流を流せるだけのトランジスタでなければならない。ちなみに、直流安定化電源をつないでモータを回すと軽く、2-5[A]流れる。
また、トランジスタ基本動作から、なので、モータに流したい電流の倍の電流をベースに流す必要がある。の出力は10[mA]ぐらいしか流せないので、=200以上必要である。そのような(電流が流せる上、増幅率が高い)トランジスタは無いので、ダーリントン接続という繋ぎ方をする。
また、ノイズを防ぐためにコンデンサを並列に繋ぐ。
(い)組立
基盤の作成
電子回路の組立は基板と呼ばれる板に電子部品を半田付けしていくのが普通である。基板にはユニバーサルと呼ばれるある一定のパターンで半田付けしやすいようにランドという銅のパターンを付けたものと、一面銅板で、その上にマジックやレタリングでパターンを作成し、エッチング(銅を溶かす)するものがある。
今回は、後者に似た、感光基板を用いて基板を作成する。
パターン作成
実際は、回路図を元に、電気が通るところを鉛筆やペンなどで書いてパターンを作っていく。最近ではパソコンを使用しても出来る。しかし、時間が限られているので、パターン図を用いて基板に感光させる。
(c)パターンを重ねる
基板の感光面(グリーン色の方)にパターン図を重ねる。
表裏を間違えないようにする。
どちらが表か裏かはIC等のPIN番号が決まっている部品と、回路図を合わせて考える。
(d)感光用のフォルダーに挟む
表裏で一度に2枚分の感光が出来る。
(e)密着させる
真空ポンプをつなぎ、フォルダー内のパターン図と感光基板を密着させる。(エアーで吸引)
(f)感光
ライトボックスに入れ、感光基板を感光させる。
有効期限の早いものは4~5分。
期限切れ、もしくはそれに近いものは+1分。
(g)現像
フォルダーから基板を取り出して、現像液の中に入れ、現像する。
青いパターンが残り、溶けて欲しい部分がきれいな銅色になったらOK。
(h)水洗い
基板をよく水洗いして現像液を落とす。パターンにミスがあったら、カッターで青い部分を削ったり、マジックで書き加えたりして修正。
(i)エッチング
基板のすみに穴を開け、チタン製の針金を通す。塩化第2鉄溶液に基板を入れエッチングをする。
(j)保護膜をとる
よく水洗いし、基板を所定のサイズに切る。そして、各自歯ブラシとクレンザーで緑色の保護膜をおとす。 図2
その後、フラックスをぬる。
(k)穴あけ
ドリルで穴を開ける。
この組立作業の一連の様子を図2に示す。
また、パターンと部品の入る位置を図3に示す。
図3 CPU部分(左)とセンサー部分(右)
(う)半田付け
(a)基本的に背の低い部品(抵抗等)から、半田付け
裏返しても落ちないよう、足を少し開いておくと良い。
半田付けし終わったら、ニッパで切る。
(b)ICソケットは基板に密着させて半田付けする。
※ICソケットは向きがあるので注意。
対角線に2箇所付けてから、ソケットを指の腹で押しながら、再び半田ごてをあて、密着させる。
(c)LEDの極性に注意
足の長いほうが+。
(d)コンデンサの極性に注意
足の長いほうが+。
(e)リード線を付ける時は「半田上げ」をする
…そのまま付けると金属疲労ですぐ折れてしまうため。
リード線を剥く→こて台においた半田ごてに半田とリード線を付ける→半田とリード線を奥まで染み込ませる。
注)決して、リード線を指でねじってはいけない。
…手の油が付き、半田が剥がれてしまう。基板に差し込むほうは固まってから、基板の穴に入るようニッパで整形。
3.使用機器
半田ごて台 真空ポンプ、感光ボックス、現像液、塩化第2鉄溶液、ドリル、半田ごて。
また、使用部品を表1に示す。
表1 使用部品(個数0.5は1袋に2人分入っている)
部品名
備考
個数
ICソケット
18pin用
1
パワートランジスタ
2SD1828
2
セラロック
20Mhz
1
タクトスイッチ
2
整流用ダイオード
2
トランジスタ
2SC1815
4
半固定抵抗
500Ω
4
LED
10000pF
6
セラミックコンデンサ
2
抵抗
180Ω
8
抵抗
47Ω
4
抵抗
68kΩ
4
抵抗
10kΩ
3
フォトリフレクタ
GP2S24
4
PIC16F84
1
ツインモーターギアボックス
タミヤ 楽しい工作シリーズ(70097)
1
ボールキャスタ
タミヤ 楽しい工作シリーズ(70144)
0.5
ゴムタイヤ
レインボープロダクツ 直径30mm
2
感光基板
サンハヤト12K
0.5
アルミ板
1
電池ケース
単三型2本・リード線・スイッチ付き
2
ビス・ナット
3mm
適宜
4.実験
アルミ板を加工し、上記で作成したCPU基盤・センサー基板、ボールキャスタ、ツインモーターギアボックス、電池ケース、をとめる。
次に、プログラミングを行う。
まず、KJ法で、速くライントレースするプログラムを考える。
その時にまとめた結果を図4に示す。
速くライントレースするプログラム
とにかく完走しなければならない
ラインから外れたらライン上に戻せばよい
ラインに対して左右どちらに外れたのかを記憶しておき、それをもとにライン上へ戻す方向のモータだけ回す
図4 KJ法
次に、実際に動くプログラムを考えるために、フローチャートでアルゴリズムを考える。
このアルゴリズムを図5に示す。
左右のモータを回す
センサーの感知
左のセンサーが感知
真ん中のセンサーが感知
右のセンサーが感知
車体はラインより右側にずれているので右のモータを回し、右のセンサーが感知するまで回し続ける
車体はラインより左側にずれているので左のモータを回し、左のセンサーが感知するまで回し続ける
車体はライン上に乗っているので、このまま左右のモータを回し続ければよい
一番上の処理に戻りループさせる
図5 アルゴリズム
上記のアルゴリズムをもとにプログラミングを行う。
このプログラムを以下に示す。
; PIC test program
;
list p=16f84
;
; define config fuses
;
include "p16f84.inc"
__CONFIG _HS_OSC & _PWRTE_ON & _WDT_OFF
DELAYT EQU 0DH
;
LED0 EQU 00
LED1 EQU 01
M0 EQU 02
M1 EQU 03
SW0 EQU 00
SW1 EQU 01
S0 EQU 02
S1 EQU 03
S2 EQU 04
S3 EQU 05
;
TIMEF0 EQU 0CH
TIMEF1 EQU 0DH
TIMEF2 EQU 0EH
REG_A ...