【正文】
//兩個(gè)火焰?zhèn)鞲衅鳈z測(cè)到火焰 uchar Room。 case 4: break。 break。 while(!(P2INamp。 for(i=20。i) { Delay(x)。 RightBack。 //輸出 PWM//?? TBCCTL4=OUTMOD_7。 //占空比約 50% TBCCTL3=OUTMOD_7。OFIFG))。 BCSCTL1amp。 } break。 TurnLeft90()。 while(!(IrdaLF|IrdaRF)) //等待到墻壁 { PoseSharpRB()。Num) Delay(0)。 //前進(jìn) ,準(zhǔn)備滅火 . for(Num=7。 //調(diào)姿 } TBCCR2=96。 //小車停止 //滅火 while(FireFlag) //判斷火是否已滅 { FanRun。 case 3: SearchRoom3()。 //關(guān)風(fēng)扇 //回家 Gohome2()。 //找火源 if(FireFlag) { //靠近火源 Forward()。 //關(guān)風(fēng)扇 //回家 Gohome1()。Num) Delay(0)。=~BIT7。 //P5 數(shù)碼管 ,滅火風(fēng)扇 . AdcInit()。 //ADC 轉(zhuǎn)換使能 } 滅火機(jī)器人小車制作 27 //主函數(shù) void main(void) { WDTCTL=WDTPW+WDTHOLD。 //輸入 ADC12CTL0amp。 滅火機(jī)器人小車制作 25 附錄 1: 程序清單 //滅火機(jī)器人 //算法 :3214 附 main 函數(shù) //預(yù)處理 include include //數(shù)碼管顯示 include //電機(jī)驅(qū)動(dòng) include //調(diào)姿函數(shù) include //房間搜索 include //回家 include //中斷函數(shù) //TimerA 初始化 void TimerAInit(void) { TACTL=TASSEL1+ID1+MC1。二就是在元件布局和走線的時(shí)候要按照電氣規(guī)則來(lái)畫,這樣的電路在以后才會(huì)性能更高?,F(xiàn)在的學(xué)習(xí)我們要借助最好的老師“網(wǎng)絡(luò)”。 我們是在九月三號(hào)開始全國(guó)機(jī)器人大賽的具體制作過程,由于在暑假剛參加陜西省 TI杯模擬與數(shù)字混合電路設(shè)計(jì)大賽,所以對(duì)于電路方面的東西我們就輕車熟路了很多,電路的設(shè)計(jì)在很大程度上就講求經(jīng)驗(yàn)。 在智能車的設(shè)計(jì)中,電源部分可以說是核心的核心;電源設(shè)計(jì)顯得尤為重要,特別是使用電池供電的系統(tǒng)。 過臺(tái)階后,小車處于 3 號(hào)和 4 號(hào)房間中間,由圖可知,沿著右走的方案比較好,因此我們采用是右手規(guī)則,首先搜索的是 3號(hào)房間,如圖中的紅色箭頭。 滅火機(jī)器人小車制作 12 引腳功能說明 圖 211 LM358 運(yùn)算放大器管腳圖 表 24 LM358 用作比較器時(shí)工作特性 電路圖 圖 212 電壓比較電路 Vin Vin+ Vout a b ab H a b ab L 滅火機(jī)器人小車制作 13 火焰?zhèn)鞲衅? 火焰?zhèn)鞲衅鲗?shí)物圖 圖 213 火焰?zhèn)鞲衅鲗?shí)物圖 火焰?zhèn)鞲衅鞴δ? 此傳感器 本品可廣泛應(yīng)用于滅火機(jī)器人比賽中測(cè)量火焰值、足球比賽時(shí),用于確定足球的方向。 L298 可驅(qū)動(dòng) 2 個(gè)電機(jī), OUT OUT2和 OUT OUT4 之間分別接 2 個(gè)電動(dòng)機(jī)。從這一點(diǎn)也可以看出,它的測(cè)距離結(jié)果很難穩(wěn)定,精確,畢竟比值太大。 地面灰度檢測(cè),正反轉(zhuǎn)速測(cè)量、行程測(cè)量等。 HS0038 特點(diǎn): 光檢測(cè)器和放大器 一體 封裝 內(nèi)部可集成 PCM 頻率 過 濾器 與 TTL 和 CMOS 電平兼容 改進(jìn)的屏蔽電場(chǎng) ,抗 干擾 能力強(qiáng) HS0038 外形: 圖 23 HS0038 實(shí)物圖 滅火機(jī)器人小車制作 6 HS0038 與單片機(jī)連接原理圖: 圖 24 HS0038 電路 檢測(cè)原理: 紅外發(fā)射管發(fā)射出經(jīng)過調(diào)制過的 38KHZ 的紅外光,當(dāng)前方?jīng)]有障礙物時(shí),接收器收不到紅外光,相反當(dāng)前方有障礙物時(shí),接受器可以收到紅外光。 第二章 硬件設(shè)計(jì)基礎(chǔ)知識(shí) MSP430F149 單片機(jī)相關(guān)知識(shí) MSP430F149 單片機(jī)概述 MSP430F149 是美國(guó) TI 公司生產(chǎn) 的 MSP430 系列超低功耗微控制器中的一種。滅火機(jī)器人 是一個(gè)集信號(hào)檢測(cè)、傳輸、處理和控制于一體的控制系統(tǒng),代表了 智能機(jī)器人 系統(tǒng)的發(fā)展方向 。 實(shí)現(xiàn)功能 制造一個(gè)計(jì)算機(jī)控制的機(jī)器人在一間平面結(jié)構(gòu)房子模型里運(yùn)動(dòng),找到一根蠟燭并盡快將它熄滅,這個(gè)工作受多個(gè)因素影響,它模擬了現(xiàn)實(shí)家庭中機(jī)器人處理火警的過程 ,那個(gè)蠟燭代表家里燃起的火源,機(jī)器人必須找到并熄滅它。 MSP430F149 的 CPU 結(jié)構(gòu)如圖 12 所示,主要具有以下功能模塊:基礎(chǔ)時(shí)鐘、看門狗定時(shí)器、 Timer_A、 Timer_B、 6個(gè) 8位并行端口(其中 P1和 P2 具有中斷功能)、模擬比較器 Comp_A、 12 位 A/D 轉(zhuǎn)換器、 2通道串行通信接口(通過軟件選擇 UART/SPI模式)、 1 個(gè)硬件乘法器、 60KB 的 Flash 以及 2KB 的 RAM。根據(jù)此原理,機(jī)器人可以感知前方的路況從而決定是否前行。 滅火機(jī)器人小車制作 7 外形尺寸(單位 mm): 圖 25 ST188 實(shí)物圖 ST188 與單片機(jī)連接原理圖: 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e vi s i onS i z eBD a t e : 18 O c t 20 08 S he e t o f F i l e : C : \ P R O G R A M F I L E S \ D E S I G N E X P L O R E R 9 9 S E \ E X A M P L E S \ M y D e s i gn .d dbD r a w n B y :U1S T 18 8R1120RR210KR5R E S 2R31KV C C12678U 2AL M 32 41 162R 4A10KD1LEDV C CV C CP or tV C C 圖 26 ST188 電路圖 檢測(cè)原理: ST188 是紅外收發(fā)一體的器件,發(fā)射管發(fā)射出紅外光線,接收管就可以 根據(jù)接收的紅外光線的強(qiáng)弱,感知地面的灰度。 因?yàn)?PSD 的尺寸有限,從圖中很容易理解為何他的測(cè)量距離超出范圍后就不可能是有效數(shù)據(jù),連趨勢(shì)都得不到。 12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn), ENA, ENB 接控制使能端,控制電機(jī)的停轉(zhuǎn)。 火焰?zhèn)鞲衅魇褂? 此傳感器 具有優(yōu)良的火焰探測(cè)性能,可根據(jù)可見光、紅外光強(qiáng)弱變化輸出電平的大小。當(dāng)在 3 號(hào)房間發(fā)現(xiàn)火滅火機(jī)器人小車制作 18 源時(shí),小車進(jìn)入房間并滅火,滅火后按原路 返回;如沒有發(fā)現(xiàn)火源,小車?yán)^續(xù)按右手規(guī)則搜索房間,直到搜索 4 號(hào)房間,不管有沒有搜索到火源,從 4號(hào)房間出來(lái)都繞著 4號(hào)房間返回起點(diǎn),因?yàn)榛丶疫^程中的時(shí)間不記入總時(shí)間,而繞行比較安全,小車比較好控制。電池在充電后,電壓會(huì)變的很高,額定 電壓沖完 電 電壓會(huì)達(dá)到 ,但在使用初,電壓降的會(huì)很快,對(duì)系統(tǒng)的穩(wěn)定性造成很大威脅,所以必須使用穩(wěn)壓芯片,并且電池電壓(正常供電時(shí)電壓) 至少應(yīng)該比穩(wěn)壓芯片輸出電壓高 2V;另外,電源部分的濾波電容也是非常重要的,一般采用 100uF 的有極性電容和 104 無(wú)極性電容構(gòu)成濾波電容組。我們以前在書本中所學(xué)的知識(shí)很多通過到實(shí)踐中去后,會(huì)得到不一樣的收獲,能幫助我們進(jìn)一步理解知識(shí),想得更透徹。在網(wǎng)上幾乎可以搜到你想解決的各類問題,而且有各種方案供你參考,這樣你的實(shí)驗(yàn)才會(huì)事半功倍。而且在高要求的電路中你自己的技能才能得到提高。 //SMCLK,4M,連續(xù)計(jì)數(shù)模式 . TACCTL0=CCIE。=~ENC。 SCLKInit()。 //P6 A/D 轉(zhuǎn)換 Room=3。 //關(guān)風(fēng)扇 ADC12CTL0|=ADC12SC。 while(!LineFlag)。 } else { Forward()。 //前進(jìn) ,準(zhǔn)備滅火 . 滅火機(jī)器人小車制作 30 while(!LineFlag)。 } else { Forward()。 //搜索 3號(hào)房間 FindFire(Room)。 //啟動(dòng)風(fēng)扇滅火 for(Num=15。 TBCCR4=104。Num0。 //延時(shí) } FanStop。 } TBCCR2=96。 Forward()。 default: break。=~XT2OFF。 //4M BCSCTL2=SELM_2+SELS。 //復(fù)位 /臵位模式 TBCCR3=52。 //臵位 /臵位模式 ,右 . TBCCR4=104。 } //小車左轉(zhuǎn) x 度 void TurnLeft(uint x) { uchar i。 } Stop()。i0。0x82)) //掃描是否有火焰 滅火機(jī)器人小車制作 42 { Stop()。 } } if(P2INamp。 default: break。 //房間號(hào) uchar Num。 //檢測(cè)到火焰 uchar FireL,FireR。 //?? break。 Delay(50000)。 Delay(50000)。 LeftForward。i0。 } //小車后退 void Back(void) 滅火機(jī)器人小車制作 40 { LeftBack。 //復(fù)位 /臵位模式 ,左 . TBCCR2=96。 //復(fù)位 /臵位模式 TBCCR1=52。 } while((IFG1amp。=~(MC0+MC1) define UpMode TBCTL|=MC0 //系統(tǒng)時(shí)鐘初始化 //system clock //MCLK,4M//SMCLK,4M. void SCLKInit(void) { uchar i。 End()。 TBCCR4=104。 Forward()。Num0。 if(FireFlag) { 滅火機(jī)器人小車制作 33 //靠近火源 Forward()。 //前進(jìn) while(!(IrdaLF|IrdaRF)) //等待到達(dá)墻 { Po