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