自動追蹤紅外線源機器人主要由三部分組成:紅外線感應(yīng)接收部分、微處理器和電機驅(qū)動部分。各部分功能:紅外線感應(yīng)接收部分檢測載波頻率為38kHz的紅外線發(fā)射波;微處理器負責(zé)處理傳感器輸入的信號,并為電機驅(qū)動部分提供相應(yīng)的方向控制信號;電機驅(qū)動部分驅(qū)動步進電機使機器人按照相應(yīng)指令的方向前進。
紅外線感應(yīng)器選用小型紅外遙控接收芯片TSOP1738,它支持所有主流的紅外發(fā)射編碼方式,單片機可以直接讀取其解調(diào)后的信號;微處理器選用低功耗高性能的8位單片機AT89C52;單片機的I/O口輸出電流不具備直接驅(qū)動步進電機的能力,因此步進電機的驅(qū)動選用具有8路達林頓對管的ULN2003;當(dāng)紅外線發(fā)射源位置不斷變化時,紅外線傳感器TSOP1738的輸出也隨之不斷變化,此時單片機可能無法及時處理TSOP1738輸出的數(shù)據(jù)而造成數(shù)據(jù)丟失,因此需要一個數(shù)據(jù)鎖存器,該鎖存器選用具有單穩(wěn)態(tài)多諧振功能的74121。
電路設(shè)計
紅外線傳感器電路下見圖。在機器人左、中、右三個方向放置傳感器以檢測紅外線發(fā)射源的位置,當(dāng)某個傳感器接收到紅外線源后輸出一個下降沿至74121的 4腳A2端,根下?lián)D中電容C4、C5、C6的參數(shù),74121的6腳輸出一個保持時間大約為100ms的高電平,單片機以此高電平信號作為修正方向的依據(jù)。
微處理器和電機驅(qū)動電路見下圖。單片機的P3.1、P3.2和P3.2分別與左、中、右三個方向傳感器的輸出相連,三個傳感器輸出共有8種組合,單片機根據(jù)不同的組合狀態(tài)修正機器人的前進方向,其修正方向和傳感器輸出組合的關(guān)系見方向修正真值下表。
從真值表中可以清楚的看到當(dāng)三個傳感器輸出都為0時,也就是真值表中的“000”狀態(tài)時單片機控制機器人順時針方向旋轉(zhuǎn)以尋找紅外線發(fā)射源;當(dāng)輸入為“001”狀態(tài)時單片機控制機器人向右前進;當(dāng)輸入為“110”狀態(tài)時單片機控制機器人向左前進;當(dāng)輸入為“111”狀態(tài)時單片機控制機器人向正前方前進;當(dāng)輸入為“101”狀態(tài)時,代表機器人正前方的傳感器被障礙物阻擋,單片機控制機器人向左方向旋轉(zhuǎn)以避開障礙物,也意味著當(dāng)有障礙物阻擋機器人前進時機器人可以自動繞開障礙物并重新尋找紅外線發(fā)射源。