PIC制御による赤外線障害物 自動回避走行車 IE4 青木 友宏 梶山 直幹 河野 直高 中村 俊
目的・概要 PIC制御で赤外線LEDと赤外線センサにより障害物を検知し、自動で障害物を回避しながら走行する車を作成する
機能・動作 2輪駆動の2輪走行車である モータを2つ持ち、左右の車輪を独立に制御することで前進、後退、右折、左折などを行うことが出来る 2つの赤外線LED、1つの赤外線センサを持ち2段階の距離による障害物の検出を行う。それにより曲がる強弱を変える
ハードウェア部分の仕様・1 PIC16F84A セラロック(20MHz) ICソケット 18P コンデンサ×3 可変抵抗×2 抵抗×1 電源(単三電池×4) ダイオード
ハードウェア部分の仕様・2 ・赤外線センサ 同期点滅を行い、自分が必要な信号のみに反応するようにする 38KHzの同期周波数にて点滅させる 同期点滅を行い、自分が必要な信号のみに反応するようにする 38KHzの同期周波数にて点滅させる ・赤外線LED(障害物検知用)×2 左右それぞれ遠くと近く2段階の距離の検出を行う 左右の点灯は左の表に あるようにポートの状態を制御することで実現している
ハードウェア部分の仕様・3 ・モータドライバIC PWM制御によって前進後退の速度制御を行っている オンとオフしかないモータに対して高速にオンオフを切り替えて、そのオンしている時間を変更することで速度の変更を行っている 高速:^^^^^^^^^^^^^^^^^^^^^ 早め:|^^^|_|^^^|_|^^^|_|^^ 普通:|^^|__|^^|__|^^|__|^^ 遅い:|^|___|^|___|^|___|^ 停止:__________________
ソフトウェア部分の仕様・1 START 割り込み カウンタの 最下位bit=0 赤外線LED発光 赤外線LED消灯 割り込み終了 どちらの赤外線LEDを光らすか判断 y N 初期化 ポート入力処理 ① 赤外線LED: 障害物があるか判断 ①によってモータをどのように回転させるかを決める。
ソフトウェア部分の仕様・2 1.126msecずつで変更
工夫点1 ・頻繁に使用する命令をマクロ化することでプログラムをコンパクトにしている ・回路はなるべく単純なものにし、ソフトで多くの制御を行える用にしている ・38kHzの赤外線発光は毎16usecの割り込みによって表現している ・割り込み部分は最低限のことしかやらない。赤外線発光だけ、左右強弱の判定はしない
問題点 ・赤外線LEDを左右に角度をつけて配置しているため、車体の正面にある障害物の検知をすることができない 遠くの物を検知しすぎてしまい回転してしまう ・左のモータと右のモータの回転数が何故かあっていないため直進することができず、常に左に向かって進んでしまう ・スイッチのON・OFF後の動作が不安定である