割草機器人自動避障系統(tǒng)設計
割草機器人自動避障系統(tǒng)設計,割草,機器人,自動,系統(tǒng),設計
鄒曉杰 割草機器人自動避障系統(tǒng)設計揚州大學廣陵學院本科生畢業(yè)設計 畢業(yè)設計題目 割草機器人自動避障系統(tǒng)設計 學 生 姓 名 鄒曉杰 專 業(yè) 機械設計制造及其自動化 班 級 機械81001 指 導 教 師 高龍琴 完 成 日 期 2014 年 5 月 31日 摘 要自動避障系統(tǒng)是割草機器人關鍵模塊之一,是割草機器人自主、安全行走前提。本文首先對國內(nèi)外市場上現(xiàn)存的智能割草機器人進行了介紹和比較,指出了現(xiàn)在智能割草機器人研制過程中需要注意的關鍵技術,并結合以往的成功經(jīng)驗和現(xiàn)在的實際需求,選擇易于實驗的小車結構。STC89C52單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。本課題以設計割草機器人自動避障為目的,采用STC89C52單片機作為控制核心,采用超聲波傳感器來檢查路面上的障礙,來控制執(zhí)行機構的自動避障,從而使執(zhí)行機構完成左轉、右轉和后退的動作。其中采用的技術主要有:(1)超聲波傳感器的有效應用,(2)顯示器的使用,(3)通過編程來控制執(zhí)行機構的運動。關鍵詞:STC89C52單片機,超聲波傳感器,執(zhí)行機構,顯示器IVAbstractAutomatic obstacle avoidance system is one of the key module robot mowers mowing robot, is independent, safe walking premise. This paper firstly introduced and compared to the domestic and foreign existing in the market of intelligent robot mowers, points out the key technologies in the development process of the Intelligent Robot Mower now, combined with the successful experiences and actual demand now, select the vehicle structure is easy to experiment.STC89C52SCM is the macro crystal technology, the introduction of a new generation of high / low power / super anti-jamming MCU, the instruction code is fully compatible with traditional 8051 SCM, 12 clock / machine cycle and 6 clock / machine cycle can be arbitrarily chosen.The design of automatic obstacle avoidance for Robot Mower, using STC89C52 micro-controller as control core, using ultrasonic sensors to check the road barriers, automatic obstacle avoidance control actuator, the actuator to complete the left, right and back action. The main technology:(1)The effective application of ultrasonic sensor.(2) The use of the monitor. (3)Programmed to control the car.Key words: STC89C52microcontroller, ultrasonic sensor, actuator , displayI目錄中文摘要 IAbstract II第一章 緒論 11.1選題背景及意義 11.1.1自動割草機器人概述 1 1.1.2自動割草機器人優(yōu)點 11.2割草機器人的發(fā)展簡史及其研究現(xiàn)狀 21.2.1發(fā)展簡史 2 1.2.2國外的研究現(xiàn)狀 2 1.2.3國內(nèi)的研究現(xiàn)狀 3 1.3割草機器人自動避障系統(tǒng) 3第二章 總體方案設計 52.1主要研究內(nèi)容 52.2具體方案介紹 5第三章 超聲波測距 73.1超聲波測距設計思路 73.1.1超聲波測距原理 73.1.2超聲波測距方法 73.1.3超聲波模塊的選擇 73.1.4顯示器的選擇 8第四章 超聲波模塊的硬件結構設計 94.1超聲波模塊電路設計 94.1.1 超聲波模塊的特點 94.1.2 超聲波模塊的工作原理 94.1.3模塊參數(shù) 10II4.1.4超聲波時序圖 10 4.1.5超聲波發(fā)送與接收 114.2 STC89C52單片機功能及特點 124.2.1 STC89C52單片機參數(shù) 124.2.2 STC89C52單片機特性 134.3顯示電路設計 154.3.1 1602液晶屏的優(yōu)點 154.3.2 1602管腳定義 154.3.3 1602操作時序 16第五章 超聲波測距模塊軟件設計 185.1超聲波測距算法設計 185.2主程序流程 185.2.1系統(tǒng)初始化程序 185.2.2超聲波啟動程序 195.2.3超聲波計時程序 195.2.4測距程序 205.3實驗結果 20第六章 實驗用執(zhí)行機構硬件設計 226.1執(zhí)行機構底盤 226.2執(zhí)行機構驅動模塊 226.2.1 L298N驅動模塊說明 226.2.2 L298N參數(shù) 236.3 SG90舵機 246.3.1什么是舵機 246.3.2舵機工作原理 246.3.3利用單片機實現(xiàn)舵機轉角控制 25第七章 執(zhí)行機構軟件設計 267.1執(zhí)行機構行走程序 26III7.2舵機轉動控制執(zhí)行機構行走程序 27結論 30致謝 31參考文獻 32附錄1超聲波避障舵機轉動編程 33附錄2 電路原理圖 40IV第一章 緒論1.1選題背景及意義1.1.1自動割草機器人概述隨著經(jīng)濟的發(fā)展,各國城市建設逐漸深化,城區(qū)的綠化程度也隨之提高,大量的公園草坪、足球場草坪、GOFL球場草坪等公共綠地均需要進行維護。在各種草坪維護作業(yè)中,以草皮修剪工作最為繁重,不僅枯燥,而且重復性強,通常需要消耗大量的人力和物力。為了降低草坪維護作業(yè)的勞動強度和成本,近年來一些西方國家提出用現(xiàn)代電子技術和智能控制技術改造和提升草坪機械產(chǎn)業(yè)的戰(zhàn)略,希望在不久的將來用智能的自動割草機器人取代傳統(tǒng)的割草機。自動割草機器人屬于民用戶外移動機器人領域,從系統(tǒng)科學的角度來講,它是集環(huán)境感知、路徑動態(tài)規(guī)劃與決策、行為控制與執(zhí)行等多種功能于一體的綜合機器人系統(tǒng)。感知系統(tǒng)實時監(jiān)測外界環(huán)境變量、移動機構及割草機構運行參數(shù),并將結果輸送到控制系統(tǒng);控制系統(tǒng)將獲得的數(shù)據(jù)與自身的數(shù)據(jù)庫做比較,并參照路徑規(guī)劃對移動機構和割草機構發(fā)出修正指令,以獲得穩(wěn)定的運行情況。與傳統(tǒng)的草坪修剪機械相比,自動割草機器人具有環(huán)保、人力消耗低和高安全性等特點。1.1.2 自動割草機器人優(yōu)點自動割草機器人與傳統(tǒng)的割草機相比有著眾多的優(yōu)點。 1.自動割草機器人可自主工作,僅僅需要少量的人工干預甚至不需要人工干預。傳統(tǒng)的割草機需要人的全程干預,割草任務相當繁重。 2.自動割草機器人更加安全。自動割草機器人采用了傳感器技術和單片機控制技術,靈敏度更高,應用范圍更廣,檢測精度也更高。也不會因為操作人員的疲勞導致各種意外事故。 3.自動割草機器人有利于保護環(huán)境。傳統(tǒng)的割草機通過內(nèi)燃機進行工作,會產(chǎn)生很大的噪聲和廢棄,這將嚴重影響操作人員的身體健康并且會污染環(huán)境。而割草機器人具有體積小、重量輕和所需功率小等特點,因此在太陽光充足的地方完全可以使用太陽能電池來提供能量,有利于環(huán)境保護。IV1.2割草機器人的發(fā)展簡史及其研究現(xiàn)狀1.2.1發(fā)展簡史1805年英國人普拉克內(nèi)特發(fā)明了第一臺收割谷物并可以切割雜草的機器,由人推動機器,通過齒輪傳動帶動旋刀割草,這就是割草機的雛形。1830年,英國紡織工程師比爾-布丁取得了滾筒剪草機的專利。1832年,蘭塞姆斯農(nóng)機公司開始批量生產(chǎn)滾筒式割草機。1902年英國人倫敦恩斯制造了內(nèi)燃機作動力的滾筒式割草機,其原理延用至今。從20世紀80年代開始,各種技術都日瑧成熟,鏈傳動,齒輪傳動,皮帶輪組無級變速,電傳動,靜液壓無級變速全都在割草機上使用,特別是靜液壓無級變速的驅動單元不僅減輕了司機的操作勞動強度而且還給他們帶來了操作的樂趣,加之現(xiàn)代機械設計理念使割草機的結構設計越來越簡潔,外形越來越美觀,割草機產(chǎn)業(yè)顯得比以往任何一個時候都更為興旺。1.2.2國外的研究現(xiàn)狀國外對智能割草機器人的研究已經(jīng)有很長一段時間,在一些草坪擁有量比較的發(fā)達國家,他們將智能割草機器人作為商品出售,并且銷量很好。出售的智能割草機器人已經(jīng)達到了中等水平,極大的提高了人們的勞動效率,同時也促進了國外割草機器人的研究與發(fā)展。國外的科研機構對割草機器人展開的研究主要偏向割草機器人的智能控制技術,導航技術和路徑規(guī)劃等方向,而針對割草機器人的系統(tǒng)設計相對較少。美國專利US4919224采用了蓄電池供電,能在預定時間啟動,具有避障,防盜及自動充電等功能,采用三根導線來進行導航,當遇到下雨,濕地及電源不足等以外情況時,返回車庫,該專利采用超聲波來探測障礙,用震蕩探測器及密碼來防止非法用戶操作機器。美國專利US5204814采用了優(yōu)化的導航技術,綜合利用存儲的路徑及環(huán)境信息,無磁無電流的金屬導線和埋在地下的金屬導線三種方式來指導割草機器人的移動,該專利還選用了內(nèi)燃機做動力,配合發(fā)電機及電池組使用,采用分布式控制方式。其它類似的專利有美國專利US4679152,美國專利US4800978,美國專利US3800902及法國專利2631466,美國專利US4777785提供了一種導航新方法即沿未割及已割區(qū)域的邊緣行走,從而完成導航任務。1.2.3國內(nèi)的研究現(xiàn)狀國內(nèi)的研究機構對自動割草機器人的研究起步相對較晚,但仍有一定的積累。南京理工大學機械電子工程專業(yè)的王華坤教授早在2000年就展開了智能割草機器人的研究,其研究生李杏春的碩士論文移動割草機器人總體方案和控制系統(tǒng)設計與研究對割草機器人的總體設計、路徑規(guī)劃、避障!定位系統(tǒng)、控制系統(tǒng)等從理論上進行了較全面的研究,進而提出了一種廉價實用的總體方案,為進一步深入研究割草機器人打下了基礎;其研究生陳正江的碩士論文戶外自主移動機器人體系結構與控制系統(tǒng)研制主要研究戶外自主移動機器人的運動控制系統(tǒng)與體系結構,并設計制造了自主移動機器人樣機MORO一I,實現(xiàn)了機器人的導航和自主行走控制;其博士生祖莉的博士論文智能割草機器人全區(qū)域覆蓋運行的控制和動力學特性研究將移動機器人的導航定位、智能控制、規(guī)劃避障等方面的技術和理論運用到割草機器人平臺上,進行了相關的實驗,并討論了割草機器人在戶外移動機器人中的特殊性;江蘇大學也對割草機器人做了一定的研究,研究生周寧的碩士論文割草機器人割臺設計與運動控制研究就割草機器人的設計及運動控制等方面展開了一系列的研究工作,并根據(jù)中國草坪的特點完成了割臺部分的設計,最后得到割草機器人割臺的主要性能參數(shù);研究生丁毅的碩士論文基于GPS和數(shù)字羅盤的割草機器人導航定位方法的研究提出了利用GPS和數(shù)字羅盤進行割草機器人導航的新思路。1.3割草機器人自動避障系統(tǒng)避障對于割草機器人自主導航,路徑規(guī)劃是不可缺少的,它是割草機器人智能化的體現(xiàn)。割草機器人避障系統(tǒng)的好壞直接影響到割草機器人執(zhí)行各項任務的能力。一個好的避障系統(tǒng)是完成割草機器人避障任務的前提。一般來說,一個完整的避障系統(tǒng)主要包括三個方面:避障探測系統(tǒng),避障信息的處理和避障策略。避障探測系統(tǒng)是由各種傳感器和控制器組成的探測障礙物信息的系統(tǒng),整個避障探測系統(tǒng)是機器人感知外部環(huán)境信息的唯一途徑,傳感器的選擇將成為割草機器人收集環(huán)境信息正確與否的關鍵。采用視覺系統(tǒng)避障可以獲得較完整的環(huán)境信息,但圖像處理運算量大,對設備的性能要求高,從而會使機器人在避障時實時性比較差。近年來,為了解決這個問題,人們開始研究采用非攝像類傳感器探測環(huán)境信息,但單一的傳感器由于受其固有的缺陷等因素的影響,使其在探測環(huán)境信息時,不能夠提供準確,全面的環(huán)境信息。因此,在實際應用中,采用多傳感融合技術來實現(xiàn)對環(huán)境信息的探測,如何提高測量精度就成為了研究熱點。通常應用于機器人距離探測的傳感器有激光傳感器,視覺傳感器,紅外傳感器和超聲波傳感器等。紅外傳感器工作原理是采用發(fā)射固定波長紅外線并接收同一回波的主動方式。其優(yōu)點是探測角較小,方向性強,測量精度高,反應速度快,但其缺點是受環(huán)境影響較大,紅外探測頭稍微被灰塵污染,其測量精度就會大大下降,而且探測距離較近。超聲波傳感器對環(huán)境的適應能力強,在陰影,灰塵,煙霧,水汽等環(huán)境下,其性能指標不受任何影響,即使遇到工作環(huán)境異常惡劣的場合,其性能指標所受的影響也微乎其微。而且超聲波傳感器相比于激光測距儀來說要便宜的多,不易損壞。超聲波傳感器具有成本低廉,信息,數(shù)據(jù)采集快,重量輕,體積小,易于安裝等優(yōu)點。綜合考慮,用超聲波傳感器易于實現(xiàn)草坪上障礙物的探測。40第二章 總體方案設計2.1主要研究內(nèi)容本課題主要研究的是智能割草機器人的自動避障系統(tǒng),自然就包括了障礙物的檢測,檢測信息的處理以及如何將這些數(shù)據(jù)反饋到執(zhí)行機構上。障礙物的檢測需要用到傳感器,然而傳感器的種類繁多,應用最為廣泛的是超聲波傳感器和紅外線傳感器。超聲波傳感器和紅外線傳感器的優(yōu)缺點已經(jīng)在上述部分列出,所以本課題采用超聲波傳感器來測量與障礙物之間的距離。超聲波測距一般采用時間飛躍法(TOF)。首先測出超聲波發(fā)出到碰到障礙物返回的時間,再乘以聲速就得到2倍的障礙物距離。再利用單片機控制技術完成信號采集與控制,進而提出控制策略,通過執(zhí)行機構實施達到障礙物的規(guī)避目的。圖2.1割草機器人系統(tǒng)構成框圖2.2 具體方案介紹本課題的重點也是難點是障礙物距離的檢測,打算采用STC89C52型號的單片機作為控制核心,型號為HC-SR04的超聲波模塊以及1602的液晶屏來實現(xiàn)測距功能。該系統(tǒng)包括了超聲波發(fā)射與接收模塊,復位電路,液晶顯示等。并且,在超聲波傳感器下安裝一個S90舵機,利用舵機來控制超聲波傳感器左右轉動,從而使超聲波傳感器測量出前方、左側以及右側三個方向的障礙物距離。然后,在單片機中寫入具體點編程,使整個系統(tǒng)能夠運行。其中舵機的優(yōu)點就能很好的呈現(xiàn)出來,當超聲波傳感器檢測到障礙物時,若左右檢測距離均小于20cm,則執(zhí)行機構后退;若左側小于右側,則右轉;反之,則左轉。第三章 超聲波測距3.1超聲波測距設計思路3.1.1超聲波測距原理通過超聲波發(fā)射裝置發(fā)出超聲波,根據(jù)接收器接到超聲波時的時間差就可以知道距離了。這與雷達測距原理相似。 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。(超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2)。3.1.2超聲波測距方法超聲波指向性強,在介質(zhì)中傳播的距離較遠,因而超聲波經(jīng)常用于距離的測量,如測距儀和物 位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在移 動機器人的研制上也得到了廣泛的應用。一般測距采用時間飛躍法(TOF),即測出超聲波發(fā)出到碰到障礙物返回的時間,再乘以聲速就得到2倍的障礙物距離。本系統(tǒng)測距過程大致如下:單片機發(fā)出40khz的信號來驅使超聲波傳感器,當發(fā)射器將第一個超聲波脈沖發(fā)射后,計數(shù)器開始計數(shù),接收器檢測到第一個回波后停止計數(shù)。利用接收到的時間以及測距公式可以將距離顯示在1602液晶屏上。3.1.3超聲波模塊的選擇超聲波模塊選擇了市面上運用廣泛的HC-SR04型號的芯片。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達3mm;模塊包括超聲波發(fā)射器、接收器與控制電路?;竟ぷ髟恚海?)采用IO 口TRIG 觸發(fā)測距,給至少10US 的高電平信號;(2)模塊自動發(fā)送8 個40KHz 的方波,自動檢測是否有信號返回;(3)有信號返回,通過IO 口ECH0 輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;3.1.4顯示器的選擇 顯示模塊選擇1602液晶顯示屏,因為液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在各類儀表和低功耗系統(tǒng)中得到廣泛的應用。并且相比于數(shù)碼管該模塊有以下幾個優(yōu)點:(1) 位數(shù)多,可以顯示32位,32個數(shù)碼管而言體積很大。(2) 顯示內(nèi)容豐富,可顯示所有數(shù)字和大小寫字母。程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新,1602能自動完成刷新。第四章 超聲波模塊的硬件結構設計硬件電路的設計主要包括單片機系統(tǒng),超聲波發(fā)射部分,超聲波接收部分以及顯示部分。單片機芯片采用STC89C52系列或其兼容系列,因為其采用Flash存貯器技術,降低了制造成本,其軟件、硬件與MCS-51完全兼容,且采用高密度非易失存儲器制造技術制造,將多功能8位CPU和閃爍存儲器組合在單個芯片中,有利于操作。單片機P2.0管腳觸發(fā)控制信號的輸入,P2.1管腳控制回響信號的輸出。顯示部分采用1602液晶屏顯示。4.1超聲波模塊電路設計超聲波模塊采用型號為HC-SR04型號產(chǎn)品。HC-SR04超聲波測距模塊2cm-400cm的非接觸式測距感測功能,測距精度可達3mm。模塊包括超聲波發(fā)射器,接收器和控制電路。4.1.1 超聲波模塊的特點1.典型工作用電壓:5V。2.超小靜態(tài)工作電流:小于2mA。3.感應角度:不大于15度。4.探測距離:2cm-400cm5.高精度:可達0.3cm。6.盲區(qū)(2cm)超近。7.完全謙容GH-311防盜模塊。4.1.2 超聲波模塊的工作原理(1)采用IO口TRIG觸發(fā)測距,給至少10us的高電平信號。(2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回。(3)有信號返回,通過IO口ECHO輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間測試距離=(高電平時間*聲速(340M/S)/2。 即控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出。 一有輸出就可以開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀定時器的 值,此為次測距的時間,方可算出距離。如此不斷的周期測,就可以達 到你移動測量的值。4.1.3模塊參數(shù)圖4.1 HC-SR04外觀圖4.1.4超聲波時序圖圖4.14超聲波時序圖上面的時序圖表示只要你提供一個10us以上的脈沖觸發(fā)信號,模塊內(nèi)部就會循環(huán)發(fā)出8個40KHz的脈沖,打開計時器,當檢測到回波信號是打開輸出回響信號,回響電平輸出與檢測距離成正比,通過該間隔時間可計算出距離。4.1.5超聲波發(fā)送與接收圖4.15超聲波模塊信號發(fā)射與接收4.2 STC89C52單片機功能及特點STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結構(兼容傳統(tǒng)51的5向量2級中斷結構),全雙工串行口。另外 STC89C52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。4.2.1 STC89C52單片機參數(shù)1.增強型8051單片機,6 時鐘/機器周期和12 時鐘/機器周期可以任意 選擇指令代碼完全兼容傳統(tǒng)8051。2.工作電壓:5.5V3.3V(5V單片機)/3.8V2.0V(3V 單片機)。3.工作頻率范圍:040MHz,相當于普通8051的080MHz,實際工作頻率可達48MHz。4.用戶應用程序空間為8K字節(jié)。5.片上集成512 字節(jié)RAM。6.通用I/O 口(32 個),復位后為:P0/P1/P2/P3 是準雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。7.ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。8.具有EEPROM 功能。9.共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2。10.外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。11.通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART。12.工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)。13.PDIP封裝。4.2.2 STC89C52單片機特性1.8K字節(jié)程序存儲空間;2.512字節(jié)數(shù)據(jù)存儲空間;3.內(nèi)帶2K字節(jié)EEPROM存儲空間;4.可直接使用串口下載;STC89C52具體介紹如下: 主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線 外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸出引腳(32根)STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。PO口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準雙向I/O口線,名稱為P1.0P1.7P2口(Pin21Pin28):8位準雙向I/O口線,名稱為P2.0P2.7P3口(Pin10Pin17):8位準雙向I/O口線,名稱為P3.0P3.7單片機引腳分配示意:P00-P07 4位數(shù)碼管的段碼數(shù)據(jù)線,共陽數(shù)碼管LCD數(shù)據(jù)并行總線P10-P1 數(shù)碼管位控制(共陽)P10-P13 LCD功能控制引腳P14 繼電器 控制引腳P15 蜂鳴器 控制引腳P15、P16、P17 ISP下載器接口P20-P27 8路LED發(fā)光二極管,共陽接法P30 串行通信 RXD 通過短接帽連接P31 串行通信 TXD通過短接帽連接P32 溫感接口數(shù)據(jù)引腳P33 紅外接口數(shù)據(jù)引腳P32-P37 6鍵獨立鍵盤與中斷按鈕圖4.2 STC89C52單片機4.3顯示電路設計液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在各類儀表和低功耗系統(tǒng)中得到廣泛的應用。根據(jù)顯示內(nèi)容可以分為字符型液晶,圖形液晶。根據(jù)顯示容量又可以分為單行16字,2行16字,兩行20字等等。鑒于本過程只需顯示實時距離,顯示單元部分采用1602液晶顯示屏。用于將超聲波模塊接收到的數(shù)據(jù)通過單片機中的程序運算將與障礙物的具體距離顯示出來。4.3.1 1602液晶屏的優(yōu)點1.位數(shù)多,可以顯示32位,32個數(shù)碼管而言體積很大。2.顯示內(nèi)容豐富,可顯示所有數(shù)字和大小寫字母。3.程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新,1602能自新。4.3.2 1602管腳定義字符型LCD1602通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,但是編程用到的主要管腳不過三個,分別為:RS(數(shù)據(jù)命令選擇端),R/W(讀寫選擇端),E(使能信號)。以后編程便主要圍繞這三個管腳展開進行初始化,寫命令,寫數(shù)據(jù)。以下具體闡述這三個管腳:RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器。R/W為讀寫選擇,高電平進行讀操作,低電平進行寫操作。E端為使能端,后面和時序聯(lián)系在一起。除此外,D0D7分別為8位雙向數(shù)據(jù)線。詳細來講,第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度(建議接地,弄不好有的模塊會不顯示)第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳(有的用來接背光)。4.3.3 1602操作時序RSR/W操作說明00寫入指令碼D0D701讀取輸出的D0D7狀態(tài)字10寫入數(shù)據(jù)D0D711從D0D7讀取數(shù)據(jù)注:關于E=H脈沖開始時初始化E為0,然后置E為1,再清0。讀取狀態(tài)字時,注意D7位,D7=1,禁止讀寫操作;D7=0,允許讀寫操作;所以對控制器每次進行讀寫操作前,必須進行讀寫檢測。圖4.3 1602電路引腳接線第五章 超聲波測距模塊軟件設計超聲波測距的軟件設計主要是對硬件部分得到的數(shù)據(jù)進行處理和應用,大致包括主程序,超聲波啟動程序,超聲波中斷計時程序以及顯示程序。編程時選擇C語言編程,因為C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言有功能豐富的庫函數(shù)、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現(xiàn)對系統(tǒng)硬件的控制。5.1超聲波測距算法設計控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀定時器的值,此為次測距的時間,方可算出距離。如此不斷的周期測,就可以達到你移動測量的值。公式為:d=Ct/2d表示被測物體與傳感器的直線距離,單位是m 。t表示發(fā)射信號和接受間隔時間,C為聲波在空氣中的傳播速度,單位是m/s,t為聲波發(fā)射信號和回聲的時間間隔,單位s。5.2主程序流程5.2.1系統(tǒng)初始化程序void LCDInit(void) LCD_Data = 0; WriteCommandLCD(0x38,0); /三次模式設置,不檢測忙信號 WriteCommandLCD(0x38,1); /顯示模式設置,開始要求每次檢測忙信號 WriteCommandLCD(0x08,1); /關閉顯示 WriteCommandLCD(0x01,1); /顯示清屏 WriteCommandLCD(0x06,1); /顯示光標移動設置 WriteCommandLCD(0x0C,1);5.2.2超聲波啟動程序void StartModule() /啟動模塊 unsigned char nop; TX=1; /啟動一次模塊 for(nop=0;nop21;nop+) _nop_(); TX=0;TX端為1,給Trig引腳上10us的脈沖信號,程序執(zhí)行空語句延時,完成超聲波的發(fā)射。5.2.3超聲波計時程序while(1) StartModule(); while(!RX);/當RX為零時等待 TR0=1; /開啟計數(shù) while(RX);/當RX為1計數(shù)并等待 TR0=0;/關閉計數(shù) Conut();/計算 for (i=0;i10;i+)Delay5Ms(); /延時50MS當RX=0是while語句空循環(huán),即原地等待。TR0口為1時,計數(shù)器開始工作。Count為計數(shù)函數(shù)。5.2.4測距程序void Conut(void) time=TH0*256+TL0;/轉為16進制 TH0=0; TL0=0; S=(time*1.7)/100;/值為cm單片機初始化設置T0工作方式超聲波發(fā)射測試距離顯示距離結束開始圖5.1系統(tǒng)程序流程圖5.3實驗結果實驗所用到的道具:STC89C52單片機,HCSR04型號的超聲波傳感器,LCD1602顯示器,障礙物,尺子。將單片機、傳感器以及顯示器連接好后,打開單片機電源開關,利用障礙物和尺子得到實驗的顯示距離和實際距離。超聲波測距數(shù)據(jù):(單位/cm)實際距離2468101214161820測試距離2468101214161820誤差0000000000實際距離22242628303234363840測試距離22242628293133353739誤差0000111111圖5.3.1超聲波測距圖圖5.3.2實驗實物圖第六章 實驗用執(zhí)行機構硬件設計由于條件限制,我們將采用型號為ZK-4WD的小車底盤作為割草機器人的執(zhí)行機構。ZK-4WD小車底盤的主要組成部分分別為:小車底盤、驅動模塊、控制器(即STC89C52單片機)、小車所需的能源、超聲波傳感器、SG90舵機和紅外遙控傳感器等。通過實驗,很好的向我們呈現(xiàn)了智能割草機器人自動避障的樣子。6.1執(zhí)行機構底盤小車底盤是機器人最重要的載體,相當于人體的軀干,ZK-4WD小車平臺采用差速轉彎非常靈活可以實現(xiàn)原地打轉。小車平臺大小剛好,可以承載一些如驅動器、控制器、電池、傳感器等。圖6.1執(zhí)行機構底盤6.2執(zhí)行機構驅動模塊6.2.1 L298N驅動模塊說明 L298N 驅動模塊,采用 ST 公司原裝全新的 L298N 芯片,采用SMT工藝穩(wěn)定性高,采用高質(zhì)量鋁電解電容,使電路穩(wěn)定工作??梢灾苯域寗觾陕?3-16V 直流電機,并提供了 5V 輸出接口(輸入最低只要6V),可以給5V單片機電路系統(tǒng)供電 (低紋波系數(shù)),支持3.3V MCU ARM 控制,可以方便的控制直流電機速度和方向,也可以控制2 相步進電機,5 線4相步進電機。是智能小車必備利器。6.2.2 L298N參數(shù)1.驅動芯片:L298N雙H 橋直流電機驅動芯片 2.驅動部分端子供電范圍Vs:5V12V ; 如需要板內(nèi)取電,則供電范圍Vs:+6V+12V 3.驅動部分峰值電流Io:2A 4.邏輯部分端子供電范圍Vss:5V7V(可板內(nèi)取電5V) 5.邏輯部分工作電流范圍:036mA 6.控制信號輸入電壓范圍(IN1 IN2 IN3 IN4): 低電平:0.3VVin1.5V 高電平:2.3VVinVss 7.使能信號輸入電壓范圍(ENA ENB): 低電平:0.3Vin1.5V(控制信號無效) 高電平:2.3VVinVss(控制信號有效) 8.最大功耗:20W(溫度T75時) 9.存儲溫度:25130 10.驅動板尺寸:55mm*45mm*33mm(帶固定銅柱和散熱片高度) 11.其他擴展:控制方向指示燈、邏輯部分板內(nèi)取電接口。 圖6.2 L298驅動模塊原理圖6.3 SG90舵機6.3.1什么是舵機 在機器人機電控制系統(tǒng)中,舵機控制效果是性能的重要影響因素。舵機可以在微機電系統(tǒng)和航模中作為基本的輸出執(zhí)行機構,其簡單的控制和輸出使得單片機系統(tǒng)非常容易與之接口。 舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前在高檔遙控玩具,如航模,包括飛機模型,潛艇模型;遙控機器人中已經(jīng)使用得比較普遍。舵機是一種俗稱,其實是一種伺服馬達。圖6.3舵機實物圖6.3.2舵機工作原理控制信號由接收機的通道進入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。當然我們可以不用去了解它的具體工作原理,知道它的控制原理就夠了。就象我們使用晶體管一樣,知道可以拿它來做開關管或放大管就行了,至于管內(nèi)的電子具體怎么流動是可以完全不用去考慮的。6.3.3利用單片機實現(xiàn)舵機轉角控制 用單片機作為舵機的控制單元,使PWM信號的脈沖寬度實現(xiàn)微秒級的變化,從而提高舵機的轉角精度。單片機完成控制算法,再將計算結果轉化為PWM信號輸出到舵機,由于單片機系統(tǒng)是一個數(shù)字系統(tǒng),其控制信號的變化完全依靠硬件計數(shù),所以受外界干擾較小,整個系統(tǒng)工作可靠。 單片機系統(tǒng)實現(xiàn)對舵機輸出轉角的控制,必須首先完成兩個任務:首先是產(chǎn)生基本的PWM周期信號,本設計是產(chǎn)生20ms的周期信號;其次是脈寬的調(diào)整,即單片機模擬PWM信號的輸出,并且調(diào)整占空比。當系統(tǒng)中只需要實現(xiàn)一個舵機的控制,采用的控制方式是改變單片機的一個定時器中斷的初值,將20ms分為兩次中斷執(zhí)行,一次短定時中斷和一次長定時中斷。這樣既節(jié)省了硬件電路,也減少了軟件開銷,控制系統(tǒng)工作效率和控制精度都很高。 當系統(tǒng)的主要工作任務就是控制多舵機的工作,并且使用的舵機工作周期均為20ms時,要求硬件產(chǎn)生的多路PWM波的周期也相同。使用51單片機的內(nèi)部定時器產(chǎn)生脈沖計數(shù),一般工作正脈沖寬度小于周期的1/8,這樣可以在1個周期內(nèi)分時啟動各路PWM波的上升沿,再利用定時器中斷T0確定各路PWM波的輸出寬度,定時器中斷T1控制20ms的基準時間。第七章 執(zhí)行機構軟件設計因為前面已經(jīng)講過了超聲波測距的軟件設計,所以這里要說的主要是舵機轉動模塊的軟件設計。舵機轉動模塊的軟件設計主要是對執(zhí)行機構硬件部分得到的數(shù)據(jù)進行處理和應用,同樣是用C語言編程。這里主要是控制舵機的左右轉動以及小車前進、后退或停止的控制。7.1執(zhí)行機構行走程序 其中主要包括初始化程序、測距程序、方向函數(shù)等部分。主要是方向函數(shù)以及舵機旋轉比較測距的函數(shù)。#define Left_moto_go P1_0=1,P1_1=0,P1_2=1,P1_3=0; /左邊兩個電機向前走#define Left_moto_back P1_0=0,P1_1=1,P1_2=0,P1_3=1; /左邊兩個電機向后轉#define Left_moto_Stop P1_0=0,P1_1=0,P1_2=0,P1_3=0; /左邊兩個電機停轉 #define Right_moto_go P1_4=1,P1_5=0,P1_6=1,P1_7=0;/右邊兩個電機向前走#define Right_moto_back P1_4=0,P1_5=1,P1_6=0,P1_7=1;/右邊兩個電機向前走#define Right_moto_Stop P1_4=0,P1_5=0,P1_6=0,P1_7=0;/右邊兩個電機停轉 執(zhí)行機構是靠差速轉向的,所以執(zhí)行機構的左右轉向個有兩種情況,即:1、左轉,執(zhí)行機構左邊輪子停止,右邊輪子向前轉動;2、左轉,執(zhí)行機構左邊輪子向后轉動,右邊輪子向前轉動,可以實現(xiàn)原地打轉。而右轉則和左轉相反。所以要實現(xiàn)執(zhí)行機構左右轉動需要再添加子函數(shù)如下。/左轉 void leftrun(void) Left_moto_back ; /左電機往前走 Right_moto_go ; /右電機往前走/*/右轉 void rightrun(void) Left_moto_go ; /左電機往前走 Right_moto_back ; /右電機往前走 7.2舵機轉動控制執(zhí)行機構行走程序 在超聲波傳感器測距時,舵機則起到了控制方向的作用。舵機控制著超聲波傳感器左右轉動,分別測出左邊、右邊以及前方障礙物的距離,從而判斷出是左轉、右轉還是后退。void COMM( void ) push_val_left=5; /舵機向左轉90度 timer=0; while(timer=4000); /延時400MS讓舵機轉到其位置 StartModule(); /啟動超聲波測距 Conut(); /計算距離 S2=S; push_val_left=23; /舵機向右轉90度 timer=0; while(timer=4000); /延時400MS讓舵機轉到其位置 StartModule(); /啟動超聲波測距 Conut(); /計算距離 S4=S; push_val_left=14; /舵機歸中 timer=0; while(timer=4000); /延時400MS讓舵機轉到其位置 StartModule(); /啟動超聲波測距 Conut(); /計算距離 S1=S; if(S220)|(S420) /只要左右各有距離小于20CM小車后退 backrun(); /后退 timer=0; while(timerS4) rightrun(); /車的左邊比車的右邊距離小右轉 timer=0; while(timer=4000); else leftrun();/車的左邊比車的右邊距離大左轉 timer=0; while(timer=4000); 結 論 本文分析了割草機器人自動避障的實際需求,結合現(xiàn)有自動割草機器人產(chǎn)品發(fā)展現(xiàn)狀,提出了結構簡單、成本經(jīng)濟的自動割草機器人避障方案。根據(jù)自動割草機器人工作環(huán)境特點,選擇了合適的傳感器件,設計了自動割草機器人控制系統(tǒng)。本文主要結論如下:(1) 采用了超聲波傳感器,簡單有效的完成了測距實驗。(2)利用了舵機的優(yōu)點,使超聲波傳感器能夠左右轉動,完成避障任務。(3) 采取以單片機開發(fā)板為核心,用模塊化的思想設計了自動割草機器人的控制器,為戶外移動機器人的研究提供了一種通用的低成本控制方案。(4)采用了LCD1602顯示器,很清楚的得到了測距數(shù)據(jù)。致 謝 歷時將近三個月的時間終于將畢業(yè)設計完成了,在畢業(yè)設計的完成過程中遇到了無數(shù)的困難和障礙,都在同學和老師的幫助下度過了。在這里要強烈感謝我的指導老師高龍琴老師,高老師對我進行了無私的指導和幫助,不厭其煩的幫助進行畢業(yè)設計的修改和改進,并且讓我學到了很多專業(yè)方面的知識。另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導過我的各位老師表示最衷心的感謝! 感謝這篇論文所涉及到的各位學者。本文引用了數(shù)位學者的研究文獻,如果沒有各位學者的研究成果的幫助和啟發(fā),我將很難完成這次畢業(yè)設計。感謝我的同學和朋友,在我完成畢業(yè)設計的過程中給予我了很多幫助。如果沒有大家的幫忙,我肯定無法順利完成畢業(yè)設計,在此,再次向各位表示衷心的感謝。參考文獻1趙廣濤,程萌杭.基于超聲波傳感器的測距系統(tǒng)設計J.微計算機信息,2006,(1):129-1312郭麗穎.基于單片機的超聲波測距電路的設計J.自動化系統(tǒng)與應 用,2010,(6):100-1023王紅云,姚志敏,王竹林,史連艷.超聲波測距系統(tǒng)設計J.儀表技術.2010,(11):47-494華成英.模擬電子技術基礎M.北京:高等教育出版社,20065鄭郁正.單片機原理及應用M.成都:四川大學出版社,20086譚浩強.C程序設計M.北京:清華大學出版社,20057 張立富, 陸懷民. 國內(nèi)外園林綠化機械的現(xiàn)狀及其發(fā)展前景J.林業(yè)機械與木工設備.2009(07).8 Kulkami A, EhsaniM. A Novel Position Sensor Elimination Technique for the Interior PermanentMagnet SynchronousMotor Drive J.IEEE Trans. Industry App lication, 1992, 28(1): 144-150.9 Hongjiang He Jianyi Liu.The Design of Ultrasonic Distance Measurement System Based on S3C2410 C .2008 International Conferences on Intelligent Computation Technology and Automation.10 M.Parrilia,J:J. Anaya, C. Fritsch. Digital signal processing techniques for high accuracy Ultrasonic range measurementsJ, IEEE Trans on Instrumentation and Measurement, Aug.2002:750-76011 W Kappes, B Rockstroh, F Walte. Ultrasonic Testing Station for Wheel-Sets of Passenger Trains of the Deutshe Bahn AG.Insight.2001,43(11):751 -75312 ITE Battery News, 1999, (2):41.13 王乃康,茅也冰,趙平.現(xiàn)代園林機械M. 北京:中國林業(yè)出版社,2006.14 盧威.智能小車避障系統(tǒng)的設計與實現(xiàn).南昌大學碩士論文,2012-06-0915 楊銀輝.基于超聲波傳感器的割臺高度自動控制系統(tǒng)研究.西北農(nóng)林科技大學碩士論文,2007-05-01.16 王應軍等.基于AT80C51單片機的智能小車設計.福建電腦,2009.附件1:超聲波避障舵機轉動編程#include#include #d
收藏