陳海松 李益民
(深圳職業(yè)技術(shù)學(xué)院工業(yè)中心,廣東深圳 518055)
機(jī)器人有很多種類型,常見的有:搬運(yùn)機(jī)器人、加工機(jī)器人、海底機(jī)器人、運(yùn)動(dòng)機(jī)器人、排障機(jī)器人、炒菜機(jī)器人、音樂(lè)機(jī)器人等。機(jī)器人制造技術(shù)的水平甚至可以反映一個(gè)國(guó)家科技和工業(yè)的發(fā)展水平。機(jī)器人是多學(xué)科技術(shù)集成的產(chǎn)物,它涉及機(jī)械設(shè)計(jì)與制造技術(shù)、計(jì)算機(jī)控制技術(shù)、傳感器技術(shù)、機(jī)電一體化技術(shù)等多學(xué)科領(lǐng)域。通過(guò)制作簡(jiǎn)易機(jī)器人,熟悉單片機(jī)在機(jī)電一體化技術(shù)中的綜合應(yīng)用,熟練掌握開發(fā)復(fù)雜單片機(jī)系統(tǒng)的一般方法。本文介紹一種運(yùn)動(dòng)機(jī)器人的設(shè)計(jì)方法。
在制定運(yùn)動(dòng)機(jī)器人制作方案時(shí)要預(yù)先確定機(jī)器人的運(yùn)動(dòng)方式、驅(qū)動(dòng)方式、控制單元、智能控制功能。這里選擇帶有 2個(gè)后驅(qū)動(dòng)輪、1個(gè)前從動(dòng)輪的電動(dòng)車作為運(yùn)動(dòng)機(jī)構(gòu);采用AT89C51單片機(jī)作為主控制單元;用 2個(gè)直流變速電機(jī)來(lái)驅(qū)動(dòng)左右2個(gè)后車輪轉(zhuǎn)動(dòng);用超聲測(cè)距技術(shù)測(cè)試小車距前方障礙物的距離來(lái)控制小車運(yùn)行狀態(tài),并用 4個(gè)數(shù)碼管顯示距離障礙物的距離;用紅外遙控技術(shù)實(shí)現(xiàn)無(wú)線遙控小車運(yùn)行狀態(tài)[1]。
系統(tǒng)硬件設(shè)計(jì)如圖 1所示,單片機(jī) P1口的P1.4、P1.5、P1.6模擬數(shù)碼管串行顯示的啟動(dòng)、時(shí)鐘端、串行數(shù)據(jù)輸入端;P1口的 P1.0~ P1.3來(lái)控制左右2個(gè)電機(jī);P3.0、P3.1、P3.3、P3.4、P3.5作為紅外接收端,分別控制機(jī)器人的前進(jìn)、左轉(zhuǎn)、紅外遙控與超聲測(cè)距蔽障轉(zhuǎn)換、右轉(zhuǎn)以及后退;P3.6作為超聲發(fā)射端;P3.2作為超聲接收端。
根據(jù)任務(wù)要求分析,首先把任務(wù)劃分為相對(duì)獨(dú)立的功能模塊,系統(tǒng)模塊劃分如圖 2所示,可分為以下幾個(gè)功能模塊。
圖1 簡(jiǎn)易機(jī)器人硬件原理圖
圖2 簡(jiǎn)易機(jī)器人程序模塊框圖
1)主函數(shù)模塊main:完成系統(tǒng)初始化,包括 I/O口、定時(shí)/計(jì)數(shù)器初始狀態(tài)的設(shè)定、中斷初始化以及超聲測(cè)距存儲(chǔ)數(shù)組的初始化等。
2)數(shù)碼管串行顯示模塊SEG-SHOW:串行顯示超聲測(cè)距測(cè)到的距離。
3)紅外遙控模塊Car-Telecontrol:通過(guò)紅外遙控機(jī)器人前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、后退以及實(shí)現(xiàn)機(jī)器人紅外遙控和超聲測(cè)距蔽障的轉(zhuǎn)換。
4)超聲測(cè)距避障模塊Supersonic-Wave:采用中值濾波法,多次測(cè)量,取超聲波測(cè)到距離的平均值的子函數(shù)Average-Filter,實(shí)現(xiàn)超聲波測(cè)距及蔽障功能。
1)主程序模塊main完成系統(tǒng)初始化,包括 I/O口、定時(shí)/計(jì)數(shù)器初始狀態(tài)的設(shè)定、中斷初始化以及超聲測(cè)距存儲(chǔ)數(shù)組的初始化等,流程如圖 3所示。
圖3 主函數(shù)main流程框圖
2)數(shù)碼管串行顯示模塊SEG-SHOW完成超聲波所測(cè)距離的顯示,采用單片機(jī) P1口的P1.4、P1.5、P1.6模擬數(shù)碼管串行顯示的啟動(dòng)、時(shí)鐘端、串行數(shù)據(jù)輸入端,流程如圖 4所示。
圖4 數(shù)碼管串行顯示模塊SEG-SHOW流程框圖
3)紅外遙控模塊。利用紅外遙控編碼與解碼技術(shù)[2],實(shí)現(xiàn)用手持式遙控器控制簡(jiǎn)易機(jī)器人,如圖1所示。采用 P3.0、P3.1、P3.3、P3.4、P3.5作為紅外接收端,分別控制機(jī)器人的前進(jìn)、左轉(zhuǎn)、紅外遙控與超聲測(cè)距蔽障轉(zhuǎn)換、右轉(zhuǎn)以及后退,程序流程圖如圖 5所示。
圖5 紅外遙控模塊Car-Telecontrol流程框圖
4)超聲測(cè)距避障模塊。在小車前進(jìn)運(yùn)行時(shí),根據(jù)小車與前方障礙物間的距離來(lái)控制小車前進(jìn)、停止或后退。如圖 1所示,用單片機(jī)的P3.6端口發(fā)40 kHz方波信號(hào),用P3.2端口接收超聲回波信號(hào),程序流程如圖 6所示。
圖6 超聲測(cè)距避障模塊流程框圖
超聲測(cè)距、激光測(cè)距、紅外測(cè)距、微波測(cè)距等非接觸式測(cè)距方法被廣泛用于探測(cè)、汽車、運(yùn)動(dòng)機(jī)器人等方面。超聲測(cè)距分為發(fā)送探頭和接收探頭 2部分,它的原理是利用壓電效應(yīng)將電脈沖與機(jī)械諧振產(chǎn)生的超聲波相互轉(zhuǎn)化而構(gòu)成發(fā)射與接收裝置,通過(guò)發(fā)射探頭將 40 kHz的電脈沖信號(hào)轉(zhuǎn)換為機(jī)械諧振而產(chǎn)生超聲波,實(shí)現(xiàn)將電能轉(zhuǎn)換為機(jī)械能的轉(zhuǎn)換[3];而接收探頭則是將超聲波引起的機(jī)械振動(dòng)再轉(zhuǎn)換成電脈沖信號(hào)。超聲波探測(cè)器件可以發(fā)射超聲波并接收回波,我們利用單片機(jī)準(zhǔn)確地記錄從發(fā)射超聲波的時(shí)刻起到接收到回波時(shí)刻之間所需的時(shí)間 t,再根據(jù)超聲波在空氣中的傳播速度為n=331.45 m/s,可以計(jì)算出超聲波從發(fā)射探頭到被測(cè)障礙物之間的距離m=n×t/2,再將計(jì)算得到的距離數(shù)據(jù)送數(shù)碼管顯示[4]。超聲波發(fā)射與接收電路可用超聲波傳感器和分立元件自己搭建,也可直接利用已有的超聲波測(cè)距模塊,本設(shè)計(jì)選擇發(fā)射與接收一體的TCT40-10超聲波探測(cè)模塊。為保證測(cè)量結(jié)果的準(zhǔn)確性,可采用外部中斷方法對(duì)接收探頭接收到的回波上升沿進(jìn)行檢測(cè)。
系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試 2部分,硬件調(diào)試一般需要利用調(diào)試軟件來(lái)進(jìn)行,軟件調(diào)試也需要通過(guò)對(duì)硬件的測(cè)試和控制來(lái)進(jìn)行,因此軟、硬件調(diào)試是不可能絕對(duì)分開的。
運(yùn)行主程序,通過(guò)手持遙控控制簡(jiǎn)易機(jī)器人前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)以及后退,看是否能夠?qū)崿F(xiàn)相應(yīng)功能;按轉(zhuǎn)換按鍵來(lái)切換超聲測(cè)距蔽障功能,觀察簡(jiǎn)易機(jī)器人自動(dòng)運(yùn)行。
程序的調(diào)試應(yīng)一個(gè)模塊一個(gè)模塊地進(jìn)行。首先單獨(dú)調(diào)試各子模塊功能,測(cè)試程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正常等,再逐步將各子程序連接起來(lái)總調(diào),聯(lián)調(diào)需要注意的是各程序模塊間能否正確傳遞參數(shù),最后脫機(jī)運(yùn)行,完成簡(jiǎn)易機(jī)器人的設(shè)計(jì)。
本設(shè)計(jì)涉及紅外遙控、超聲波測(cè)距、數(shù)碼管顯示距離、中斷等多種應(yīng)用技術(shù),對(duì)各種基本技能、方法、技巧等進(jìn)行了更高層次的訓(xùn)練,使操作者對(duì)單片機(jī)資源調(diào)配、接口技術(shù)的應(yīng)用、外圍功能器件的使用、復(fù)雜程序的編制、已有子程序的調(diào)用、單片機(jī)應(yīng)用技術(shù)與實(shí)用技術(shù)和器件的集成與轉(zhuǎn)化等方面有了更加深入的領(lǐng)悟與體會(huì),為今后開發(fā)各類單片機(jī)產(chǎn)品奠定了基礎(chǔ)。
[1] 王靜霞,楊宏麗,劉俐.單片機(jī)應(yīng)用技術(shù)(C語(yǔ)言版)[M].北京:電子工業(yè)出版社,2009:2-10
[2] 劉明星,王紅霞.紅外遙控溫度報(bào)警器設(shè)計(jì)[J].硅谷,2011(4):72-73
[3] 龍桂鈴,徐磊,侯英龍 .基于單片機(jī)的智能車避障的實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2011(3):53 -54
[4] 顧斌.基于單片機(jī)的機(jī)器人視覺傳感系統(tǒng)硬件設(shè)計(jì)[J].現(xiàn)代農(nóng)業(yè)科學(xué),2008(5):64-65