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