李 慶,李 路
(安徽商貿(mào)職業(yè)技術(shù)學院電子信息工程系,安徽 蕪湖 241002)
機器人是一種具有可模仿人的動作,能理解指示命令,感知環(huán)境,識別對象,規(guī)劃自身操作程序來完成任務的自動控制的裝置。隨著電子信息技術(shù)、計算機技術(shù)的快速發(fā)展,傳感器技術(shù)、人工智能、計算機科學技術(shù)及其它相關(guān)領(lǐng)域?qū)W科的迅猛發(fā)展,單片機技術(shù)作為自動控制技術(shù)核心技術(shù),已進入到許多領(lǐng)域,極大地促進了智能機器人技術(shù)的發(fā)展,特別是各種智能機器人的研究、設(shè)計與開發(fā)等。智能機器人技術(shù)應用領(lǐng)域無所不在。在工業(yè)領(lǐng)域的焊接、噴漆、搬運、裝配、鑄造等場合;在國防軍事、海洋探測開發(fā)、宇宙探測、醫(yī)療衛(wèi)生、農(nóng)業(yè)生產(chǎn)、林業(yè)甚到服務娛樂行業(yè)等有著廣闊的應用發(fā)展空間。因此,與單片機智能控制、智能機器人相關(guān)的技術(shù)研究就尤其顯得非常有價值有意義。
系統(tǒng)總體設(shè)計由傳感器檢測模塊、主控制器模塊、電機驅(qū)動模塊、機械手模塊和電源供電模塊構(gòu)成,[1]系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體設(shè)計框圖
系統(tǒng)硬件主要由主控制器模塊、傳感器檢測模塊、電機驅(qū)動模塊、機械手模塊和電源供電模塊構(gòu)成。
系統(tǒng)采用PQFP-44封裝的STC89C52RC單片機作為機器人的核心控制器。具有8位處理能力、性能高、功耗低、高密度、非易失性存儲、應用功能強大而價格便宜的特性。[1]單片機最小系統(tǒng)如圖2所示。
圖2 單片機最小系統(tǒng)圖
2.2.1 尋跡檢測模塊設(shè)計
該模塊設(shè)計中使用了應用普遍簡單的RPR220單束反射式光電傳感器作尋跡模塊的核心傳感器。它由高發(fā)射功率紅外光電二極管結(jié)合高靈敏度光電晶體管構(gòu)成。其結(jié)構(gòu)簡單、體積小、工作性能也可靠,使用方便,用途也很廣泛,電路如圖3所示。綜合考慮使用前后各8路尋跡傳感器尋跡來實現(xiàn)機器人的自動導航。選擇使用LM339運算放大器作為傳感器的閾值電壓比較芯片。前8路尋跡傳感器連接到單片機端口的P2口,后8路尋跡傳感器連接到單片機端口的P1口。
圖3 尋跡傳感器信號采集處理電路原理圖
2.2.2 觸覺傳感器設(shè)計
在設(shè)計中,觸覺功能是采用機械式觸碰傳感器來實現(xiàn)的,通過編程讓單片機檢測傳感器的是否被觸動,當機器人還沒有到達指定的地點時,單片機P3.2引腳由上拉電阻一直拉高。當機器人到達地點并且觸碰到了停止標志時,機械開關(guān)被觸碰,由于開關(guān)的一腳接地,機械開關(guān)的輸出引腳被拉低,此時指示發(fā)光二極管被點亮,并且單片機檢測到這個低電平信號,根據(jù)程序的設(shè)定進行對應的處理。電路設(shè)計如圖4所示。
圖4 機械式觸覺傳感器電路圖
2.2.3 電機驅(qū)動模塊
電機驅(qū)動采用高電壓、大電流電機專用驅(qū)動芯片L298N。L298N內(nèi)部有兩路H型全橋式電路帶有使能端口,方便PWM脈寬調(diào)速,電路簡單性能穩(wěn)定。[1]因為系統(tǒng)驅(qū)動部分一共使用了4部直流減速電機,因此需要兩片L298N芯片驅(qū)動。共有4路輸入、輸出和使能。L298N驅(qū)動電路如圖5所示。電機驅(qū)動連接到單片機控制系統(tǒng)的P00-P05口。
圖5 驅(qū)動模塊電路原理圖
2.2.4 機械手驅(qū)動控制模塊設(shè)計
機械手采用了舵機控制多關(guān)節(jié)的轉(zhuǎn)動。舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms[2]范圍內(nèi)的角度控制脈沖部分。本設(shè)計使用的是180度伺服舵機,[3]對控制器產(chǎn)生的脈沖信號的要求比較高,系統(tǒng)采用AVR系列單片機ATMEGA16做為舵機輸入脈沖的脈沖發(fā)生器。舵機控制器電路原理如圖6所示。
圖6 舵機控制器電路圖
2.2.5 電源供電模塊設(shè)計
系統(tǒng)供電采用的是兩節(jié)11.1V的鋰電池串連得到22.2V電壓,而系統(tǒng)主控單片機和其它一些傳感器工作電壓為+5V。為了減少損耗,獲得傳輸?shù)淖畲蠊β省Mㄟ^對比論證,采用LM2596系列作為開關(guān)電壓調(diào)節(jié)芯片,把22.2V電壓轉(zhuǎn)換為5V。電源模塊原理圖如圖7所示。在電路中增加了D1二極管,防止輸入電源接錯。在輸出端增加了一個發(fā)光二極管,可以很方便的觀察出模塊有沒有正常工作。
圖7 電源模塊原理圖
在系統(tǒng)軟件設(shè)計中,運用Keil uVision3集成開發(fā)工具和STC-ISP下載軟件,采用模塊化和結(jié)構(gòu)化的設(shè)計思想,完成控制系統(tǒng)程序的編寫。對編寫的程序編譯后會生成HEX十六進制格式的文件,通過串口及STC-ISP下載軟件對單片機進行燒錄程序。系統(tǒng)設(shè)計總流程圖如圖8所示。
圖8 系統(tǒng)總流程圖
表1 實驗測試數(shù)據(jù)
用萬用表測量機器人硬件系統(tǒng)的電源電壓及關(guān)鍵位置的電壓、電流;用示波器、函數(shù)信號發(fā)生器、頻率計來測試電機驅(qū)動電路的性能及對占空比的響應等;測試的一些數(shù)據(jù)見表1,測試數(shù)據(jù)滿足設(shè)計的要求。
程序編寫好后需要對整個系統(tǒng)進行調(diào)試。機器人在起點起動,到材料堆放區(qū),抓取材料,然后分別到達材料放置處,然后投放材料。在調(diào)試過程中不斷的改變路徑規(guī)劃、記線方式、轉(zhuǎn)彎控制和糾偏參數(shù)等,最終實現(xiàn)了機器人快速準確的到達指定地點投放材料。
(1)開機不啟動
檢查各個電路板的電源及電源接口,無問題。檢查電機信號線及輸出信號線有無接錯,無問題,檢查程序中對信號端口的定義是否與連接到主控板上的端口一致。
(2)啟動直行不轉(zhuǎn)變
啟動后到該轉(zhuǎn)彎時不轉(zhuǎn)彎,檢查尋跡傳感器有無信號輸出,無問題,檢查在黑白不同對比度的情況下,傳感器能否正常檢測的到。調(diào)節(jié)參考電壓電位器。檢查傳感器與單片機主控的連接線有無問題。檢查傳感器板上各個關(guān)鍵點電壓電流是否正常。
(3)撞擊貨物儲存區(qū)
機械觸碰開關(guān)是否能正常工作。無問題,傳感器接地是否接好。傳感器與單片機主控連線是否正常。
(4)正常啟動運行后不投放物體
到達指定地方不投放物體,檢查機械手舵機與舵機控制器之間的連線與舵機控制器與單片機主控之間的連線是否連接正常。機械手舵機工作是否正常。舵機控制器是否能控制得了舵機。檢查程序中單片機發(fā)送的控制命令是否能被舵機控制器正確的接收。
(5)投放位置不對
投放位置偏移,使用舵機控制器測試舵機是否能正常轉(zhuǎn)到指定的角度。檢查程序中單片機主控發(fā)出的命令中對舵機轉(zhuǎn)動角度是否正確。
(6)投放物體順序不對
檢查尋跡傳感器在過十字路口時記線是否正常,檢查傳感器能否正常檢測的到十字路口標志。調(diào)節(jié)參考電壓電位器。
(7)速度過慢,整個過程運行時間較長
修改程序中占空比的參數(shù)及優(yōu)化傳感器數(shù)據(jù)采集程序。
智能搬運機器人控制系統(tǒng)的設(shè)計,包括了單片機原理及應用、相關(guān)傳感器的原理及應用、控制電路及外圍電路的設(shè)計、控制系統(tǒng)的設(shè)計算法與編程。由于時間精力與知識水平有限,設(shè)計還只是一個機器人開發(fā)的基礎(chǔ)平臺,有很多不完善地方,存在一些不足之處,今后將以此為基礎(chǔ),做更進一步的研究與改進。
[1]李冰冰.輪式智能機器人總體設(shè)計方案[J].數(shù)字技術(shù)與應用,2013,(5):71 -72
[2]李楊,任文博,馮曉明,等.基于單片機的六足機器人多路舵機控制系統(tǒng)設(shè)計[J].機械工程師,2013,(12):90-91
[3]馬貴書,龍申華,崔德勇.基于STC系列單片機系統(tǒng)越野模擬車[J].無線互聯(lián)科技,2013,(11):37