范效瑋,湯臘梅,袁曉紅
(1.中南林業(yè)科技大學(xué),湖南長沙,410004;2.湖南工業(yè)職業(yè)技術(shù)學(xué)院,湖南長沙,410208)
隨著自動控制技術(shù)的發(fā)展,越來越多的作業(yè)是在及其危險、惡劣甚至是人類無法生存的環(huán)境中完成的。這種人力無法完成的作業(yè)需要由人遙控操作機(jī)器人或者由機(jī)器人自主來完成,把人從危險繁瑣的勞動中解脫出來,如人通過電腦遙控火星車在火星上前進(jìn)、挖掘、探測、采集標(biāo)本等。在現(xiàn)代戰(zhàn)爭和拆除危險爆炸物中,遙控機(jī)器人顯得越來越重要,在戰(zhàn)場上大量使用機(jī)器人可以減少人員的傷亡,同樣在拆彈方面,遙控機(jī)器人代替人操作也能大大降低傷亡的風(fēng)險[1]。
美國是機(jī)器人的誕生地,早在1962 年就研制出世界上第一臺工業(yè)機(jī)器人,比起號稱“機(jī)器人王國”的日本起步至少要早五六年[2]。70 年代后期,美國政府和企業(yè)界雖有所重視,但在技術(shù)路線上仍把重點(diǎn)放在研究機(jī)器人軟件及軍事、宇宙、海洋、核工程等特殊領(lǐng)域的高級機(jī)器人的開發(fā)上[3],致使日本的工業(yè)機(jī)器人后來居上,并在工業(yè)生產(chǎn)的應(yīng)用上及機(jī)器人制造業(yè)上很快超過了美國,產(chǎn)品在國際市場上形成了較強(qiáng)的競爭力。80 年代中后期,隨著各大廠家應(yīng)用機(jī)器人的技術(shù)日臻成熟,第一代機(jī)器人的技術(shù)性能越來越滿足不了實際需要,美國開始生產(chǎn)帶有視覺、力覺的第二代機(jī)器人,并很快占領(lǐng)了美國60%的機(jī)器人市場。盡管美國在機(jī)器人發(fā)展史上走過一條重視理論研究,忽視應(yīng)用開發(fā)研究的曲折道路,但是美國的機(jī)器人技術(shù)在國際上仍一直處于領(lǐng)先地位。
本系統(tǒng)以單片機(jī)AT89S52 為MCU,通過L298N 電機(jī)驅(qū)動模塊來驅(qū)動直流電機(jī),無線傳輸采用單片機(jī)的串口和XL02-232AP1 無線模塊來完成,電機(jī)測速和循跡模塊均用到了紅外對管,通過電壓比較器LM393 將采集的模擬信號轉(zhuǎn)換為數(shù)字信號。系統(tǒng)的整體結(jié)構(gòu)框圖如圖1 所示。
圖1 系統(tǒng)硬件連接框圖
圖1 無線遙控循跡機(jī)器人整體結(jié)構(gòu)框圖系統(tǒng)整體電路如圖2 所示
圖2 多功能單片機(jī)音樂播放器原理圖
單片機(jī)幾乎集合了計算機(jī)系統(tǒng)的所有部件,包括運(yùn)算器、控制器、IO 口,主要用來進(jìn)行數(shù)據(jù)采集、處理、顯示等,用匯編語言和C 語言[4]進(jìn)行開發(fā)。
匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器代碼的一種語言。其主要優(yōu)點(diǎn)是占用的資源少,程序執(zhí)行效率高。但編程難度大,程序代碼可讀性差,且對于不同的CPU,語言體系有所差異,不易移植。
C 語言是一種結(jié)構(gòu)化的高級語言。其優(yōu)點(diǎn)是可讀性好,移植容易,應(yīng)用廣泛。
因此,本設(shè)計的單片機(jī)程序選用C 語言作為程序設(shè)計語言。與之對應(yīng),選用基于C51 內(nèi)核的C 程序軟件開發(fā)平臺Keil C51。
Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機(jī)C 語言軟件開發(fā)系統(tǒng)[5]。Kei1 C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,Keil C51 內(nèi)嵌有多種符合目前工業(yè)現(xiàn)行標(biāo)準(zhǔn)的開發(fā)工具,可以完成從工程建立和管理、編譯、連接,目標(biāo)代碼的生成,軟件仿真,硬件仿真等完整的開發(fā)流程。尤其C 編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高水平,可以附加靈活的控制選項,在開發(fā)大型項目時非常理想。Keil C51 集成開發(fā)調(diào)試界面如圖3 所示上位機(jī)軟件
圖3 Keil C51 集成開發(fā)調(diào)試界面
上位機(jī)軟件是電腦終端和單片機(jī)串口進(jìn)行通信的重要連接部分,負(fù)責(zé)傳遞電腦終端和單片機(jī)的信息。本設(shè)計使用SSCOM作為上位機(jī)的軟件,作為電腦終端無線遙控機(jī)器人的軟件。
圖4 SSCOM上位機(jī)軟件界面
啟動該系統(tǒng)時,首先將串口初始化并設(shè)定初始速度的PWM占空比為70,然后等待用戶輸入命令。由于上位機(jī)軟件一次只能發(fā)送一個字符,所以前進(jìn)和后退按鈕只需按一下發(fā)送一次字符,便于發(fā)送加速和減速的字符;在進(jìn)行左右轉(zhuǎn)向時,則要一直按著按鈕直至需要停止時松開,便于控制其轉(zhuǎn)向的角度;需要循跡時,按一下“k”按鈕,繼電器開啟循跡電路的電源便可以開始循跡。機(jī)器人運(yùn)行過程中,每隔1 秒將測量出的運(yùn)行速度返送回電腦終端。系統(tǒng)主程序流程圖5 所示。
圖5 系統(tǒng)主程序流程圖
本程序是控制串口[7]的子程序。串口初始化時,使用定時器1 來產(chǎn)生波特率,設(shè)定波特率為9600。發(fā)送和接收數(shù)據(jù)時,由于發(fā)送和接收數(shù)據(jù)共用一個SBUF 寄存器,傳輸完一個字節(jié)數(shù)據(jù)時,通過標(biāo)志位RI 或TI 會置位產(chǎn)生中斷。串口初始化程序如下:
電機(jī)調(diào)速由脈沖寬度調(diào)制P WM(PWM,Pulse Width Modulation)[6]來實現(xiàn),通過調(diào)節(jié)占空比,調(diào)節(jié)L298N 的輸出電壓從而達(dá)到控制電機(jī)轉(zhuǎn)速快慢的目的,該技術(shù)被廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。
占空比是高電平在一個周期之內(nèi)所占的時間比率,如方波的占空比為50%,占空比為0.5,說明正電平所占時間為0.5 個周期。占空比波形如圖6 所示。
圖6 占空比波形
在初始化時,占空比設(shè)定為70,在機(jī)器人運(yùn)行過程中可以通過無線遙控來對占空比進(jìn)行加減,以實現(xiàn)對機(jī)器人的速度控制。電機(jī)驅(qū)動程序流程圖如圖7 所示。
圖7 電機(jī)驅(qū)動程序流程圖
機(jī)器人有5 路循跡模塊,中間1 路,左右各2 路,運(yùn)行速度設(shè)定適中,以防機(jī)器人沖出黑線。循跡程序如下:
運(yùn)行結(jié)果
根據(jù)程序設(shè)定,在電腦上用“w”、“s”、“a”、“d”控制機(jī)器人的前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),“+”,“-”控制占空比,調(diào)節(jié)機(jī)器人的運(yùn)行速度,并將適時轉(zhuǎn)速送回電腦。由于機(jī)器人的兩邊的履帶各由一個電機(jī)控制,在轉(zhuǎn)彎時一個電機(jī)正轉(zhuǎn),另一個電機(jī)反轉(zhuǎn),從而使機(jī)器人可以在原地轉(zhuǎn)360 度轉(zhuǎn)彎,實現(xiàn)了對機(jī)器人操作的精準(zhǔn)性,運(yùn)行時如圖8 所示。
圖8 總體效果圖
表1 為機(jī)器人運(yùn)行時,通過調(diào)節(jié)占空比,得出機(jī)器人的運(yùn)行速度,如表1,機(jī)器人處于循跡狀態(tài)時,在不同的速度下可以循跡的角度如表2。
表1 機(jī)器人運(yùn)行速度與占空比的關(guān)系
表2 機(jī)器人運(yùn)行速度與循跡角度的關(guān)系
機(jī)器人運(yùn)動速度越快,循跡的角度越小。
本文設(shè)計了無線遙控循跡機(jī)器人。無線遙控循跡機(jī)器人系統(tǒng)是以單片機(jī)AT89S52 為核心,采用無線傳輸模塊XL02-232AP1 進(jìn)行遙控數(shù)據(jù)傳輸,L298N 電機(jī)驅(qū)動模塊作為機(jī)器人的動力系統(tǒng),通過終端顯示出機(jī)器人的運(yùn)行狀態(tài),實現(xiàn)了對機(jī)器人進(jìn)行實時準(zhǔn)確的控制。本次設(shè)計采用了C 語言來編程,簡單、方便、便于理解。本設(shè)計基本上達(dá)到了設(shè)計的目的和要求。
[1]張俊健.單兵遙控機(jī)器人控制系統(tǒng)[J].兵工自動化,2009,(6):4-5.
[2]吳振彪.工業(yè)機(jī)器人(第二版)[M].北京:華中科技大學(xué)出版社,2006:10-12.
[3]李云江.機(jī)器人概論[M].上海:上海大學(xué)出版社,2011:5-8.
[4]王幸之.AT89 系列單片機(jī)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004:189-196.
[5]戴亞文.基于AT89S52 單片機(jī)的智能循跡機(jī)器人設(shè)計[J].機(jī)電工程技術(shù),2009,(1):8-9.
[6]Ma, Wuxing.Elevator System and Control to Achieve Based on MCS-51 Singlechip [J].Com-puter Science and Electronics Engineering (ICCSEE),2012:10-12.
[7]梅開鄉(xiāng).電子電路設(shè)計與制作[M].北京:北京理工大學(xué)出版社,2010:70-76.