基于Motorola單片機(jī)的機(jī)器人追跑控制系統(tǒng)
本文設(shè)計(jì)了一種基于摩托羅拉MC68HC08系列單片機(jī)的機(jī)器人追跑控制系統(tǒng),用于研究機(jī)器人之間的簡(jiǎn)單互動(dòng)。
移動(dòng)機(jī)器人行為描述
在此系統(tǒng)中,我們將兩個(gè)移動(dòng)機(jī)器人一個(gè)命名為“貓”,一個(gè)命名為“鼠”。當(dāng)兩個(gè)機(jī)器人都無法接收到對(duì)方發(fā)出的信號(hào)時(shí),機(jī)器人“貓”以S形前進(jìn),機(jī)器人“鼠”在原地進(jìn)行180度擺動(dòng);當(dāng)機(jī)器人“貓”檢測(cè)到機(jī)器人“鼠”發(fā)出的信號(hào)時(shí),以直線追向機(jī)器人“鼠”的方向,而機(jī)器人“鼠” 同時(shí)接收到“貓”的信號(hào),以直線向前移動(dòng),以躲避“貓”的追趕,直至逃出“貓”的接收范圍,重復(fù)無法接收到信號(hào)時(shí)的行為;如果“貓”在一段時(shí)間內(nèi)都無法發(fā)現(xiàn)“鼠”的存在,就發(fā)出聲音報(bào)警。在整個(gè)過程中,由于環(huán)境未知,“貓”和“鼠”都有避障控制,而且可以根據(jù)不同的行為狀態(tài),播放不同的音樂。
系統(tǒng)硬件設(shè)計(jì)
“貓”、“鼠”兩個(gè)機(jī)器人的電路設(shè)計(jì)基本相同,都是由單片機(jī)系統(tǒng)、紅外收發(fā)模塊、電機(jī)控制模塊和語音模塊構(gòu)成,其不同是紅外線發(fā)射管和接收管陣列的排列有所不同。單片機(jī)選用Motorola公司的8位微處理器M68HC908GP32(42管腳封裝);紅外收發(fā)模塊使用PT2262和放大器組成的簡(jiǎn)單紅外線收發(fā)電路;電機(jī)控制模塊選用L293D進(jìn)行電機(jī)驅(qū)動(dòng);語音模塊選用ISD25120控制放音。另外,系統(tǒng)地電源模塊使用12V干電池。
單片機(jī)系統(tǒng)
MC68HC08系列中的單片機(jī)是Motorola公司1999年推出的8位微控制器,具有速度快、功能強(qiáng)、功耗小及價(jià)格等特點(diǎn)。
我們?cè)谠O(shè)計(jì)中選用的M C68H C908GP32單片機(jī)是MC68HC08系列微控制器的第一 批產(chǎn)品,其特點(diǎn)是片內(nèi)資源豐富、高性能,低價(jià)位,且具有多種保護(hù)功能,適用于各種數(shù)據(jù)處理平臺(tái)搭建。在這里我們主要用它完成紅外信息融合、電機(jī)控制及語音播放控制。
設(shè)計(jì)中,兩個(gè)機(jī)器人上單片機(jī)的主要端口設(shè)置相同,如表1所示。另外避碰的三個(gè)觸點(diǎn)開關(guān)控制為PTB0、PTB6、PTA7。
紅外收發(fā)模塊
紅外發(fā)射模塊使用PT2262和紅外發(fā)射管陣列構(gòu)成的紅外發(fā)射電路。紅外接收電路使用紅外接收管陣列和放大器組成。接收到的信號(hào)輸入至單片機(jī)的PTB7端口,經(jīng)過A/D轉(zhuǎn)換后,送入處理器,以控制機(jī)器人的行為轉(zhuǎn)換。
電機(jī)控制模塊
電機(jī)驅(qū)動(dòng)電路采用基于雙極性H-橋型脈寬調(diào)整方式PWM的集成電路L293D。L293D具有很多優(yōu)點(diǎn),如電流連續(xù);電機(jī)可四角限運(yùn)行;電機(jī)停止時(shí)有微振電流,起到“動(dòng)力潤(rùn)滑”作用,消除正反向時(shí)的靜摩擦死區(qū);低速平穩(wěn)性好等。L293D通過內(nèi)部邏輯生成使能信號(hào)。H-橋電路的輸入量可以用來設(shè)置馬達(dá)轉(zhuǎn)動(dòng)方向,使能信號(hào)可以用于脈寬調(diào)整(PWM)。另外,L293D將2個(gè)H-橋電路集成到1片芯片上,這就意味著用1片芯片可以同時(shí)控制2個(gè)電機(jī)。
機(jī)器人有三個(gè)車輪,兩個(gè)使用電機(jī)控制,另一個(gè)為萬向輪,因此使用1片L293D進(jìn)行控制即可。將兩路PMW控制信號(hào)分別接至兩路電機(jī)控制的使能引腳EN12和EN34,通過調(diào)整PWM的占空比可以調(diào)整電機(jī)的轉(zhuǎn)速。將電機(jī)正反轉(zhuǎn)控制線分別接入IN1、IN2、IN3和IN4,,通過寫入不同的值控制兩個(gè)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。
語音模塊
為了區(qū)別移動(dòng)機(jī)器人的各個(gè)不同狀態(tài),我們使其在做出不同動(dòng)作的同時(shí),可以播放不同的聲音。為了達(dá)到這個(gè)目的,語音控制部分選用語音芯片ISD25120。ISD25120的錄放時(shí)間為120秒,錄音最多能分600段。只要在分段錄/放音操作前(不少于300納秒),給地址A0"A9賦值,錄音及放音功能均從設(shè)定的起始地址開始。
在設(shè)計(jì)時(shí),除了用單片機(jī)控制ISD25120的復(fù)位和觸發(fā)端外,使用四位I/O控制芯片的放音起始地址。在初始化時(shí),分別將兩個(gè)機(jī)器人的不同信息寫入語音芯片的A0"A3,選擇放音;在動(dòng)作過程中,在行為發(fā)生改變時(shí),寫入新的信息,改變放音選擇,播放不同音樂。
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要由主程序模塊、中斷服務(wù)程序模塊、語音控制模塊和運(yùn)動(dòng)規(guī)劃模塊等部分組成。整個(gè)系統(tǒng)的軟件部分采用匯編語言編寫。
結(jié)論
經(jīng)過實(shí)驗(yàn)證明,兩個(gè)機(jī)器人在不受外界干擾的情況下,能夠正確地完成追跑動(dòng)作。此設(shè)計(jì)為研究機(jī)器人之間簡(jiǎn)單互動(dòng)提供了試驗(yàn)平臺(tái)。在以后的研究中,通過改變傳感器位置及內(nèi)部程序,可以改變二者間的互動(dòng)關(guān)系,例如協(xié)作等,進(jìn)行更深的研究。
評(píng)論