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