割草機(jī)器人自動避障系統(tǒng)設(shè)計 (2),割草機(jī)器人自動避障系統(tǒng)設(shè)計,(2),割草,機(jī)器人,自動,系統(tǒng),設(shè)計
鄒曉杰 割草機(jī)器人自動避障系統(tǒng)設(shè)計
揚(yáng)州大學(xué)廣陵學(xué)院
本科生畢業(yè)設(shè)計
畢業(yè)設(shè)計題目 割草機(jī)器人自動避障系統(tǒng)設(shè)計
學(xué) 生 姓 名 鄒曉杰
專 業(yè) 機(jī)械設(shè)計制造及其自動化
班 級 機(jī)械81001
指 導(dǎo) 教 師 高龍琴
完 成 日 期 2014 年 5 月 31日
摘 要
自動避障系統(tǒng)是割草機(jī)器人關(guān)鍵模塊之一,是割草機(jī)器人自主、安全行走前提。本文首先對國內(nèi)外市場上現(xiàn)存的智能割草機(jī)器人進(jìn)行了介紹和比較,指出了現(xiàn)在智能割草機(jī)器人研制過程中需要注意的關(guān)鍵技術(shù),并結(jié)合以往的成功經(jīng)驗(yàn)和現(xiàn)在的實(shí)際需求,選擇易于實(shí)驗(yàn)的小車結(jié)構(gòu)。STC89C52單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可以任意選擇。本課題以設(shè)計割草機(jī)器人自動避障為目的,采用STC89C52單片機(jī)作為控制核心,采用超聲波傳感器來檢查路面上的障礙,來控制執(zhí)行機(jī)構(gòu)的自動避障,從而使執(zhí)行機(jī)構(gòu)完成左轉(zhuǎn)、右轉(zhuǎn)和后退的動作。其中采用的技術(shù)主要有:(1)超聲波傳感器的有效應(yīng)用,(2)顯示器的使用,(3)通過編程來控制執(zhí)行機(jī)構(gòu)的運(yùn)動。
關(guān)鍵詞:STC89C52單片機(jī),超聲波傳感器,執(zhí)行機(jī)構(gòu),顯示器
IV
Abstract
Automatic 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 , display
I
目錄
中文摘要 I
Abstract II
第一章 緒論 1
1.1選題背景及意義 1
1.1.1自動割草機(jī)器人概述 1
1.1.2自動割草機(jī)器人優(yōu)點(diǎn) 1
1.2割草機(jī)器人的發(fā)展簡史及其研究現(xiàn)狀 2
1.2.1發(fā)展簡史 2
1.2.2國外的研究現(xiàn)狀 2
1.2.3國內(nèi)的研究現(xiàn)狀 3
1.3割草機(jī)器人自動避障系統(tǒng) 3
第二章 總體方案設(shè)計 5
2.1主要研究內(nèi)容 5
2.2具體方案介紹 5
第三章 超聲波測距 7
3.1超聲波測距設(shè)計思路 7
3.1.1超聲波測距原理 7
3.1.2超聲波測距方法 7
3.1.3超聲波模塊的選擇 7
3.1.4顯示器的選擇 8
第四章 超聲波模塊的硬件結(jié)構(gòu)設(shè)計 9
4.1超聲波模塊電路設(shè)計 9
4.1.1 超聲波模塊的特點(diǎn) 9
4.1.2 超聲波模塊的工作原理 9
4.1.3模塊參數(shù) 10
II
4.1.4超聲波時序圖 10
4.1.5超聲波發(fā)送與接收 11
4.2 STC89C52單片機(jī)功能及特點(diǎn) 12
4.2.1 STC89C52單片機(jī)參數(shù) 12
4.2.2 STC89C52單片機(jī)特性 13
4.3顯示電路設(shè)計 15
4.3.1 1602液晶屏的優(yōu)點(diǎn) 15
4.3.2 1602管腳定義 15
4.3.3 1602操作時序 16
第五章 超聲波測距模塊軟件設(shè)計 18
5.1超聲波測距算法設(shè)計 18
5.2主程序流程 18
5.2.1系統(tǒng)初始化程序 18
5.2.2超聲波啟動程序 19
5.2.3超聲波計時程序 19
5.2.4測距程序 20
5.3實(shí)驗(yàn)結(jié)果 20
第六章 實(shí)驗(yàn)用執(zhí)行機(jī)構(gòu)硬件設(shè)計 22
6.1執(zhí)行機(jī)構(gòu)底盤 22
6.2執(zhí)行機(jī)構(gòu)驅(qū)動模塊 22
6.2.1 L298N驅(qū)動模塊說明 22
6.2.2 L298N參數(shù) 23
6.3 SG90舵機(jī) 24
6.3.1什么是舵機(jī) 24
6.3.2舵機(jī)工作原理 24
6.3.3利用單片機(jī)實(shí)現(xiàn)舵機(jī)轉(zhuǎn)角控制 25
第七章 執(zhí)行機(jī)構(gòu)軟件設(shè)計 26
7.1執(zhí)行機(jī)構(gòu)行走程序 26
III
7.2舵機(jī)轉(zhuǎn)動控制執(zhí)行機(jī)構(gòu)行走程序 27
結(jié)論 30
致謝 31
參考文獻(xiàn) 32
附錄1超聲波避障舵機(jī)轉(zhuǎn)動編程 33
附錄2 電路原理圖 40
IV
第一章 緒論
1.1選題背景及意義
1.1.1自動割草機(jī)器人概述
隨著經(jīng)濟(jì)的發(fā)展,各國城市建設(shè)逐漸深化,城區(qū)的綠化程度也隨之提高,大量的公園草坪、足球場草坪、GOFL球場草坪等公共綠地均需要進(jìn)行維護(hù)。在各種草坪維護(hù)作業(yè)中,以草皮修剪工作最為繁重,不僅枯燥,而且重復(fù)性強(qiáng),通常需要消耗大量的人力和物力。為了降低草坪維護(hù)作業(yè)的勞動強(qiáng)度和成本,近年來一些西方國家提出用現(xiàn)代電子技術(shù)和智能控制技術(shù)改造和提升草坪機(jī)械產(chǎn)業(yè)的戰(zhàn)略,希望在不久的將來用智能的自動割草機(jī)器人取代傳統(tǒng)的割草機(jī)。
自動割草機(jī)器人屬于民用戶外移動機(jī)器人領(lǐng)域,從系統(tǒng)科學(xué)的角度來講,它是集環(huán)境感知、路徑動態(tài)規(guī)劃與決策、行為控制與執(zhí)行等多種功能于一體的綜合機(jī)器人系統(tǒng)。感知系統(tǒng)實(shí)時監(jiān)測外界環(huán)境變量、移動機(jī)構(gòu)及割草機(jī)構(gòu)運(yùn)行參數(shù),并將結(jié)果輸送到控制系統(tǒng);控制系統(tǒng)將獲得的數(shù)據(jù)與自身的數(shù)據(jù)庫做比較,并參照路徑規(guī)劃對移動機(jī)構(gòu)和割草機(jī)構(gòu)發(fā)出修正指令,以獲得穩(wěn)定的運(yùn)行情況。與傳統(tǒng)的草坪修剪機(jī)械相比,自動割草機(jī)器人具有環(huán)保、人力消耗低和高安全性等特點(diǎn)。
1.1.2 自動割草機(jī)器人優(yōu)點(diǎn)
自動割草機(jī)器人與傳統(tǒng)的割草機(jī)相比有著眾多的優(yōu)點(diǎn)。
1.自動割草機(jī)器人可自主工作,僅僅需要少量的人工干預(yù)甚至不需要人工干預(yù)。傳統(tǒng)的割草機(jī)需要人的全程干預(yù),割草任務(wù)相當(dāng)繁重。
2.自動割草機(jī)器人更加安全。自動割草機(jī)器人采用了傳感器技術(shù)和單片機(jī)控制技術(shù),靈敏度更高,應(yīng)用范圍更廣,檢測精度也更高。也不會因?yàn)椴僮魅藛T的疲勞導(dǎo)致各種意外事故。
3.自動割草機(jī)器人有利于保護(hù)環(huán)境。傳統(tǒng)的割草機(jī)通過內(nèi)燃機(jī)進(jìn)行工作,會產(chǎn)生很大的噪聲和廢棄,這將嚴(yán)重影響操作人員的身體健康并且會污染環(huán)境。而割草機(jī)器人具有體積小、重量輕和所需功率小等特點(diǎn),因此在太陽光充足的地方完全可以使用太陽能電池來提供能量,有利于環(huán)境保護(hù)。
IV
1.2割草機(jī)器人的發(fā)展簡史及其研究現(xiàn)狀
1.2.1發(fā)展簡史
1805年英國人普拉克內(nèi)特發(fā)明了第一臺收割谷物并可以切割雜草的機(jī)器,由人推動機(jī)器,通過齒輪傳動帶動旋刀割草,這就是割草機(jī)的雛形。?
1830年,英國紡織工程師比爾-布丁取得了滾筒剪草機(jī)的專利。?
1832年,蘭塞姆斯農(nóng)機(jī)公司開始批量生產(chǎn)滾筒式割草機(jī)。?
1902年英國人倫敦恩斯制造了內(nèi)燃機(jī)作動力的滾筒式割草機(jī),其原理延用至今。
從20世紀(jì)80年代開始,各種技術(shù)都日瑧成熟,鏈傳動,齒輪傳動,皮帶輪組無級變速,電傳動,靜液壓無級變速全都在割草機(jī)上使用,特別是靜液壓無級變速的驅(qū)動單元不僅減輕了司機(jī)的操作勞動強(qiáng)度而且還給他們帶來了操作的樂趣,加之現(xiàn)代機(jī)械設(shè)計理念使割草機(jī)的結(jié)構(gòu)設(shè)計越來越簡潔,外形越來越美觀,割草機(jī)產(chǎn)業(yè)顯得比以往任何一個時候都更為興旺。
1.2.2國外的研究現(xiàn)狀
國外對智能割草機(jī)器人的研究已經(jīng)有很長一段時間,在一些草坪擁有量比較的發(fā)達(dá)國家,他們將智能割草機(jī)器人作為商品出售,并且銷量很好。出售的智能割草機(jī)器人已經(jīng)達(dá)到了中等水平,極大的提高了人們的勞動效率,同時也促進(jìn)了國外割草機(jī)器人的研究與發(fā)展。
國外的科研機(jī)構(gòu)對割草機(jī)器人展開的研究主要偏向割草機(jī)器人的智能控制技術(shù),導(dǎo)航技術(shù)和路徑規(guī)劃等方向,而針對割草機(jī)器人的系統(tǒng)設(shè)計相對較少。美國專利US4919224采用了蓄電池供電,能在預(yù)定時間啟動,具有避障,防盜及自動充電等功能,采用三根導(dǎo)線來進(jìn)行導(dǎo)航,當(dāng)遇到下雨,濕地及電源不足等以外情況時,返回車庫,該專利采用超聲波來探測障礙,用震蕩探測器及密碼來防止非法用戶操作機(jī)器。
美國專利US5204814采用了優(yōu)化的導(dǎo)航技術(shù),綜合利用存儲的路徑及環(huán)境信息,無磁無電流的金屬導(dǎo)線和埋在地下的金屬導(dǎo)線三種方式來指導(dǎo)割草機(jī)器人的移動,該專利還選用了內(nèi)燃機(jī)做動力,配合發(fā)電機(jī)及電池組使用,采用分布式控制方式。其它類似的專利有美國專利US4679152,美國專利US4800978,美國專利US3800902及法國專利2631466,美國專利US4777785提供了一種導(dǎo)航新方法即沿未割及已割區(qū)域的邊緣行走,從而完成導(dǎo)航任務(wù)。
1.2.3國內(nèi)的研究現(xiàn)狀
國內(nèi)的研究機(jī)構(gòu)對自動割草機(jī)器人的研究起步相對較晚,但仍有一定的積累。南京理工大學(xué)機(jī)械電子工程專業(yè)的王華坤教授早在2000年就展開了智能割草機(jī)器人的研究,其研究生李杏春的碩士論文《移動割草機(jī)器人總體方案和控制系統(tǒng)設(shè)計與研究》對割草機(jī)器人的總體設(shè)計、路徑規(guī)劃、避障!定位系統(tǒng)、控制系統(tǒng)等從理論上進(jìn)行了較全面的研究,進(jìn)而提出了一種廉價實(shí)用的總體方案,為進(jìn)一步深入研究割草機(jī)器人打下了基礎(chǔ);其研究生陳正江的碩士論文《戶外自主移動機(jī)器人體系結(jié)構(gòu)與控制系統(tǒng)研制》主要研究戶外自主移動機(jī)器人的運(yùn)動控制系統(tǒng)與體系結(jié)構(gòu),并設(shè)計制造了自主移動機(jī)器人樣機(jī)MORO一I,實(shí)現(xiàn)了機(jī)器人的導(dǎo)航和自主行走控制;其博士生祖莉的博士論文《智能割草機(jī)器人全區(qū)域覆蓋運(yùn)行的控制和動力學(xué)特性研究》將移動機(jī)器人的導(dǎo)航定位、智能控制、規(guī)劃避障等方面的技術(shù)和理論運(yùn)用到割草機(jī)器人平臺上,進(jìn)行了相關(guān)的實(shí)驗(yàn),并討論了割草機(jī)器人在戶外移動機(jī)器人中的特殊性;江蘇大學(xué)也對割草機(jī)器人做了一定的研究,研究生周寧的碩士論文《割草機(jī)器人割臺設(shè)計與運(yùn)動控制研究》就割草機(jī)器人的設(shè)計及運(yùn)動控制等方面展開了一系列的研究工作,并根據(jù)中國草坪的特點(diǎn)完成了割臺部分的設(shè)計,最后得到割草機(jī)器人割臺的主要性能參數(shù);研究生丁毅的碩士論文《基于GPS和數(shù)字羅盤的割草機(jī)器人導(dǎo)航定位方法的研究》提出了利用GPS和數(shù)字羅盤進(jìn)行割草機(jī)器人導(dǎo)航的新思路。
1.3割草機(jī)器人自動避障系統(tǒng)
避障對于割草機(jī)器人自主導(dǎo)航,路徑規(guī)劃是不可缺少的,它是割草機(jī)器人智能化的體現(xiàn)。割草機(jī)器人避障系統(tǒng)的好壞直接影響到割草機(jī)器人執(zhí)行各項(xiàng)任務(wù)的能力。
一個好的避障系統(tǒng)是完成割草機(jī)器人避障任務(wù)的前提。一般來說,一個完整的避障系統(tǒng)主要包括三個方面:避障探測系統(tǒng),避障信息的處理和避障策略。避障探測系統(tǒng)是由各種傳感器和控制器組成的探測障礙物信息的系統(tǒng),整個避障探測系統(tǒng)是機(jī)器人感知外部環(huán)境信息的唯一途徑,傳感器的選擇將成為割草機(jī)器人收集環(huán)境信息正確與否的關(guān)鍵。采用視覺系統(tǒng)避障可以獲得較完整的環(huán)境信息,但圖像處理運(yùn)算量大,對設(shè)備的性能要求高,從而會使機(jī)器人在避障時實(shí)時性比較差。近年來,為了解決這個問題,人們開始研究采用非攝像類傳感器探測環(huán)境信息,但單一的傳感器由于受其固有的缺陷等因素的影響,使其在探測環(huán)境信息時,不能夠提供準(zhǔn)確,全面的環(huán)境信息。因此,在實(shí)際應(yīng)用中,采用多傳感融合技術(shù)來實(shí)現(xiàn)對環(huán)境信息的探測,如何提高測量精度就成為了研究熱點(diǎn)。
通常應(yīng)用于機(jī)器人距離探測的傳感器有激光傳感器,視覺傳感器,紅外傳感器和超聲波傳感器等。
紅外傳感器工作原理是采用發(fā)射固定波長紅外線并接收同一回波的主動方式。其優(yōu)點(diǎn)是探測角較小,方向性強(qiáng),測量精度高,反應(yīng)速度快,但其缺點(diǎn)是受環(huán)境影響較大,紅外探測頭稍微被灰塵污染,其測量精度就會大大下降,而且探測距離較近。
超聲波傳感器對環(huán)境的適應(yīng)能力強(qiáng),在陰影,灰塵,煙霧,水汽等環(huán)境下,其性能指標(biāo)不受任何影響,即使遇到工作環(huán)境異常惡劣的場合,其性能指標(biāo)所受的影響也微乎其微。而且超聲波傳感器相比于激光測距儀來說要便宜的多,不易損壞。超聲波傳感器具有成本低廉,信息,數(shù)據(jù)采集快,重量輕,體積小,易于安裝等優(yōu)點(diǎn)。
綜合考慮,用超聲波傳感器易于實(shí)現(xiàn)草坪上障礙物的探測。
40
第二章 總體方案設(shè)計
2.1主要研究內(nèi)容
本課題主要研究的是智能割草機(jī)器人的自動避障系統(tǒng),自然就包括了障礙物的檢測,檢測信息的處理以及如何將這些數(shù)據(jù)反饋到執(zhí)行機(jī)構(gòu)上。障礙物的檢測需要用到傳感器,然而傳感器的種類繁多,應(yīng)用最為廣泛的是超聲波傳感器和紅外線傳感器。超聲波傳感器和紅外線傳感器的優(yōu)缺點(diǎn)已經(jīng)在上述部分列出,所以本課題采用超聲波傳感器來測量與障礙物之間的距離。超聲波測距一般采用時間飛躍法(TOF)。首先測出超聲波發(fā)出到碰到障礙物返回的時間,再乘以聲速就得到2倍的障礙物距離。再利用單片機(jī)控制技術(shù)完成信號采集與控制,進(jìn)而提出控制策略,通過執(zhí)行機(jī)構(gòu)實(shí)施達(dá)到障礙物的規(guī)避目的。
圖2.1割草機(jī)器人系統(tǒng)構(gòu)成框圖
2.2 具體方案介紹
本課題的重點(diǎn)也是難點(diǎn)是障礙物距離的檢測,打算采用STC89C52型號的單片機(jī)作為控制核心,型號為HC-SR04的超聲波模塊以及1602的液晶屏來實(shí)現(xiàn)測距功能。該系統(tǒng)包括了超聲波發(fā)射與接收模塊,復(fù)位電路,液晶顯示等。并且,在超聲波傳感器下安裝一個S90舵機(jī),利用舵機(jī)來控制超聲波傳感器左右轉(zhuǎn)動,從而使超聲波傳感器測量出前方、左側(cè)以及右側(cè)三個方向的障礙物距離。然后,在單片機(jī)中寫入具體點(diǎn)編程,使整個系統(tǒng)能夠運(yùn)行。其中舵機(jī)的優(yōu)點(diǎn)就能很好的呈現(xiàn)出來,當(dāng)超聲波傳感器檢測到障礙物時,若左右檢測距離均小于20cm,則執(zhí)行機(jī)構(gòu)后退;若左側(cè)小于右側(cè),則右轉(zhuǎn);反之,則左轉(zhuǎn)。
第三章 超聲波測距
3.1超聲波測距設(shè)計思路
3.1.1超聲波測距原理
通過超聲波發(fā)射裝置發(fā)出超聲波,根據(jù)接收器接到超聲波時的時間差就可以知道距離了。這與雷達(dá)測距原理相似。 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。(超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2)。
3.1.2超聲波測距方法
超聲波指向性強(qiáng),在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物 位測量儀等都可以通過超聲波來實(shí)現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實(shí)時控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此在移 動機(jī)器人的研制上也得到了廣泛的應(yīng)用。
一般測距采用時間飛躍法(TOF),即測出超聲波發(fā)出到碰到障礙物返回的時間,再乘以聲速就得到2倍的障礙物距離。本系統(tǒng)測距過程大致如下:單片機(jī)發(fā)出40khz的信號來驅(qū)使超聲波傳感器,當(dāng)發(fā)射器將第一個超聲波脈沖發(fā)射后,計數(shù)器開始計數(shù),接收器檢測到第一個回波后停止計數(shù)。利用接收到的時間以及測距公式可以將距離顯示在1602液晶屏上。
3.1.3超聲波模塊的選擇
超聲波模塊選擇了市面上運(yùn)用廣泛的HC-SR04型號的芯片。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達(dá)3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:
(1)采用IO 口TRIG 觸發(fā)測距,給至少10US 的高電平信號;
(2)模塊自動發(fā)送8 個40KHz 的方波,自動檢測是否有信號返回;
(3)有信號返回,通過IO 口ECH0 輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;
3.1.4顯示器的選擇
顯示模塊選擇1602液晶顯示屏,因?yàn)橐壕э@示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在各類儀表和低功耗系統(tǒng)中得到廣泛的應(yīng)用。并且相比于數(shù)碼管該模塊有以下幾個優(yōu)點(diǎn):
(1) 位數(shù)多,可以顯示32位,32個數(shù)碼管而言體積很大。
(2) 顯示內(nèi)容豐富,可顯示所有數(shù)字和大小寫字母。
程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新,1602能自動完成刷新。
第四章 超聲波模塊的硬件結(jié)構(gòu)設(shè)計
硬件電路的設(shè)計主要包括單片機(jī)系統(tǒng),超聲波發(fā)射部分,超聲波接收部分以及顯示部分。單片機(jī)芯片采用STC89C52系列或其兼容系列,因?yàn)槠洳捎肍lash存貯器技術(shù),降低了制造成本,其軟件、硬件與MCS-51完全兼容,且采用高密度非易失存儲器制造技術(shù)制造,將多功能8位CPU和閃爍存儲器組合在單個芯片中,有利于操作。單片機(jī)P2.0管腳觸發(fā)控制信號的輸入,P2.1管腳控制回響信號的輸出。顯示部分采用1602液晶屏顯示。
4.1超聲波模塊電路設(shè)計
超聲波模塊采用型號為HC-SR04型號產(chǎn)品。HC-SR04超聲波測距模塊2cm-400cm的非接觸式測距感測功能,測距精度可達(dá)3mm。模塊包括超聲波發(fā)射器,接收器和控制電路。
4.1.1 超聲波模塊的特點(diǎn)
1.典型工作用電壓:5V。?
2.超小靜態(tài)工作電流:小于2mA。??
3.感應(yīng)角度:不大于15度。?
4.探測距離:2cm-400cm??
5.高精度:可達(dá)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以上的高電平,就可以在接收口等待高電平輸出。
一有輸出就可以開定時器計時,當(dāng)此口變?yōu)榈碗娖綍r就可以讀定時器的
值,此為次測距的時間,方可算出距離。如此不斷的周期測,就可以達(dá)
到你移動測量的值。
4.1.3模塊參數(shù)
圖4.1 HC-SR04外觀圖
4.1.4超聲波時序圖
圖4.14超聲波時序圖
上面的時序圖表示只要你提供一個10us以上的脈沖觸發(fā)信號,模塊內(nèi)部就會循環(huán)發(fā)出8個40KHz的脈沖,打開計時器,當(dāng)檢測到回波信號是打開輸出回響信號,回響電平輸出與檢測距離成正比,通過該間隔時間可計算出距離。
4.1.5超聲波發(fā)送與接收
圖4.15超聲波模塊信號發(fā)射與接收
4.2 STC89C52單片機(jī)功能及特點(diǎn)
STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。
4.2.1 STC89C52單片機(jī)參數(shù)
1.增強(qiáng)型8051單片機(jī),6 時鐘/機(jī)器周期和12 時鐘/機(jī)器周期可以任意 選擇指令代碼完全兼容傳統(tǒng)8051。
2.工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V 單片機(jī))。
3.工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz。
4.用戶應(yīng)用程序空間為8K字節(jié)。
5.片上集成512 字節(jié)RAM。
6.通用I/O 口(32 個),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。
7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。
8.具有EEPROM 功能。
9.共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2。
10.外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。
11.通用異步串行口(UART),還可用定時器軟件實(shí)現(xiàn)多個UART。
12.工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)。
13.PDIP封裝。
4.2.2 STC89C52單片機(jī)特性
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):復(fù)位引腳,引腳上出現(xiàn)2個機(jī)器周期的高電平將使單片機(jī)復(fù)位。?
ALE/PROG(Pin30):地址鎖存允許信號?
PSEN(Pin29):外部存儲器讀選通信號?
EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。?
④可編程輸入/輸出引腳(32根)?
STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。?
PO口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7?
P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7??
P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7??
P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7
單片機(jī)引腳分配示意:
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鍵獨(dú)立鍵盤與中斷按鈕
圖4.2 STC89C52單片機(jī)
4.3顯示電路設(shè)計
液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在各類儀表和低功耗系統(tǒng)中得到廣泛的應(yīng)用。根據(jù)顯示內(nèi)容可以分為字符型液晶,圖形液晶。根據(jù)顯示容量又可以分為單行16字,2行16字,兩行20字等等。鑒于本過程只需顯示實(shí)時距離,顯示單元部分采用1602液晶顯示屏。用于將超聲波模塊接收到的數(shù)據(jù)通過單片機(jī)中的程序運(yùn)算將與障礙物的具體距離顯示出來。
4.3.1 1602液晶屏的優(yōu)點(diǎn)
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(使能信號)。以后編程便主要圍繞這三個管腳展開進(jìn)行初始化,寫命令,寫數(shù)據(jù)。以下具體闡述這三個管腳:
RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器。
R/W為讀寫選擇,高電平進(jìn)行讀操作,低電平進(jìn)行寫操作。
E端為使能端,后面和時序聯(lián)系在一起。
除此外,D0~D7分別為8位雙向數(shù)據(jù)線。
詳細(xì)來講,
第1腳:VSS為地電源?
第2腳:VDD接5V正電源?
第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度(建議接地,弄不好有的模塊會不顯示)?
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。?
第5腳:RW為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。?
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。????
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。?
第15~16腳:空腳(有的用來接背光)。
4.3.3 1602操作時序
RS
R/W
操作說明
0
0
寫入指令碼D0~D7
0
1
讀取輸出的D0~D7狀態(tài)字
1
0
寫入數(shù)據(jù)D0~D7
1
1
從D0~D7讀取數(shù)據(jù)
注:關(guān)于E=H脈沖——開始時初始化E為0,然后置E為1,再清0。
讀取狀態(tài)字時,注意D7位,D7=1,禁止讀寫操作;D7=0,允許讀寫操作;
所以對控制器每次進(jìn)行讀寫操作前,必須進(jìn)行讀寫檢測。
圖4.3 1602電路引腳接線
第五章 超聲波測距模塊軟件設(shè)計
超聲波測距的軟件設(shè)計主要是對硬件部分得到的數(shù)據(jù)進(jìn)行處理和應(yīng)用,大致包括主程序,超聲波啟動程序,超聲波中斷計時程序以及顯示程序。編程時選擇C語言編程,因?yàn)镃語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點(diǎn),并具備匯編語言的功能。C語言有功能豐富的庫函數(shù)、運(yùn)算速度快、編譯效率高、有良好的可移植性,而且可以直接實(shí)現(xiàn)對系統(tǒng)硬件的控制。
5.1超聲波測距算法設(shè)計
控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時器計時,當(dāng)此口變?yōu)榈碗娖綍r就可以讀定時器的值,此為次測距的時間,方可算出距離。如此不斷的周期測,就可以達(dá)到你移動測量的值。
公式為:
d=Ct/2
d表示被測物體與傳感器的直線距離,單位是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); //三次模式設(shè)置,不檢測忙信號
WriteCommandLCD(0x38,1); //顯示模式設(shè)置,開始要求每次檢測忙信號
WriteCommandLCD(0x08,1); //關(guān)閉顯示
WriteCommandLCD(0x01,1); //顯示清屏
WriteCommandLCD(0x06,1); //顯示光標(biāo)移動設(shè)置
WriteCommandLCD(0x0C,1);
}
5.2.2超聲波啟動程序
void StartModule() //啟動模塊
{
unsigned char nop;
TX=1; //啟動一次模塊
for(nop=0;nop<21;nop++)
{
_nop_();
}
TX=0;
}
TX端為1,給Trig引腳上10us的脈沖信號,程序執(zhí)行空語句延時,完成超聲波的發(fā)射。
5.2.3超聲波計時程序
while(1)
{
StartModule();
while(!RX); //當(dāng)RX為零時等待
TR0=1; //開啟計數(shù)
while(RX); //當(dāng)RX為1計數(shù)并等待
TR0=0; //關(guān)閉計數(shù)
Conut(); //計算
for (i=0;i<10;i++)
Delay5Ms(); //延時50MS
}
當(dāng)RX=0是while語句空循環(huán),即原地等待。TR0口為1時,計數(shù)器開始工作。
Count為計數(shù)函數(shù)。
5.2.4測距程序
void Conut(void)
{
time=TH0*256+TL0;//轉(zhuǎn)為16進(jìn)制
TH0=0;
TL0=0;
S=(time*1.7)/100;//值為cm
}
單片機(jī)初始化
設(shè)置T0工作方式
超聲波發(fā)射
測試距離
顯示距離
結(jié)束
開始
圖5.1系統(tǒng)程序流程圖
5.3實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)所用到的道具:STC89C52單片機(jī),HC—SR04型號的超聲波傳感器,LCD1602顯示器,障礙物,尺子。將單片機(jī)、傳感器以及顯示器連接好后,打開單片機(jī)電源開關(guān),利用障礙物和尺子得到實(shí)驗(yàn)的顯示距離和實(shí)際距離。
超聲波測距數(shù)據(jù):(單位/cm)
實(shí)際距離
2
4
6
8
10
12
14
16
18
20
測試距離
2
4
6
8
10
12
14
16
18
20
誤差
0
0
0
0
0
0
0
0
0
0
實(shí)際距離
22
24
26
28
30
32
34
36
38
40
測試距離
22
24
26
28
29
31
33
35
37
39
誤差
0
0
0
0
1
1
1
1
1
1
圖5.3.1超聲波測距圖
圖5.3.2實(shí)驗(yàn)實(shí)物圖
第六章 實(shí)驗(yàn)用執(zhí)行機(jī)構(gòu)硬件設(shè)計
由于條件限制,我們將采用型號為ZK-4WD的小車底盤作為割草機(jī)器人的執(zhí)行機(jī)構(gòu)。ZK-4WD小車底盤的主要組成部分分別為:小車底盤、驅(qū)動模塊、控制器(即STC89C52單片機(jī))、小車所需的能源、超聲波傳感器、SG90舵機(jī)和紅外遙控傳感器等。通過實(shí)驗(yàn),很好的向我們呈現(xiàn)了智能割草機(jī)器人自動避障的樣子。
6.1執(zhí)行機(jī)構(gòu)底盤
小車底盤是機(jī)器人最重要的載體,相當(dāng)于人體的軀干,ZK-4WD小車平臺采用差速轉(zhuǎn)彎非常靈活可以實(shí)現(xiàn)原地打轉(zhuǎn)。小車平臺大小剛好,可以承載一些如驅(qū)動器、控制器、電池、傳感器等。
圖6.1執(zhí)行機(jī)構(gòu)底盤
6.2執(zhí)行機(jī)構(gòu)驅(qū)動模塊
6.2.1 L298N驅(qū)動模塊說明
L298N 驅(qū)動模塊,采用 ST 公司原裝全新的 L298N 芯片,采用SMT工藝穩(wěn)定性高,采用高質(zhì)量鋁電解電容,使電路穩(wěn)定工作??梢灾苯域?qū)動兩路 3-16V 直流電機(jī),并提供了 5V 輸出接口(輸入最低只要6V),可以給5V單片機(jī)電路系統(tǒng)供電 (低紋波系數(shù)),支持3.3V MCU ARM 控制,可以方便的控制直流電機(jī)速度和方向,也可以控制2 相步進(jìn)電機(jī),5 線4相步進(jìn)電機(jī)。是智能小車必備利器。
6.2.2 L298N參數(shù)
1.驅(qū)動芯片:L298N雙H 橋直流電機(jī)驅(qū)動芯片
2.驅(qū)動部分端子供電范圍Vs:+5V~+12V ; 如需要板內(nèi)取電,則
供電范圍Vs:+6V~+12V
3.驅(qū)動部分峰值電流Io:2A
4.邏輯部分端子供電范圍Vss:+5V~+7V(可板內(nèi)取電+5V)
5.邏輯部分工作電流范圍:0~36mA
6.控制信號輸入電壓范圍(IN1 IN2 IN3 IN4):
低電平:-0.3V≤Vin≤1.5V
高電平:2.3V≤Vin≤Vss
7.使能信號輸入電壓范圍(ENA ENB):
低電平:-0.3≤Vin≤1.5V(控制信號無效)
高電平:2.3V≤Vin≤Vss(控制信號有效)
8.最大功耗:20W(溫度T=75℃時)
9.存儲溫度:-25℃~+130℃
10.驅(qū)動板尺寸:55mm*45mm*33mm(帶固定銅柱和散熱片高度)
11.其他擴(kuò)展:控制方向指示燈、邏輯部分板內(nèi)取電接口。
圖6.2 L298驅(qū)動模塊原理圖
6.3 SG90舵機(jī)
6.3.1什么是舵機(jī)
在機(jī)器人機(jī)電控制系統(tǒng)中,舵機(jī)控制效果是性能的重要影響因素。舵機(jī)可以在微機(jī)電系統(tǒng)和航模中作為基本的輸出執(zhí)行機(jī)構(gòu),其簡單的控制和輸出使得單片機(jī)系統(tǒng)非常容易與之接口。
舵機(jī)是一種位置(角度)伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前在高檔遙控玩具,如航模,包括飛機(jī)模型,潛艇模型;遙控機(jī)器人中已經(jīng)使用得比較普遍。舵機(jī)是一種俗稱,其實(shí)是一種伺服馬達(dá)。
圖6.3舵機(jī)實(shí)物圖
6.3.2舵機(jī)工作原理
控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。當(dāng)然我們可以不用去了解它的具體工作原理,知道它的控制原理就夠了。就象我們使用晶體管一樣,知道可以拿它來做開關(guān)管或放大管就行了,至于管內(nèi)的電子具體怎么流動是可以完全不用去考慮的。
6.3.3利用單片機(jī)實(shí)現(xiàn)舵機(jī)轉(zhuǎn)角控制
用單片機(jī)作為舵機(jī)的控制單元,使PWM信號的脈沖寬度實(shí)現(xiàn)微秒級的變化,從而提高舵機(jī)的轉(zhuǎn)角精度。單片機(jī)完成控制算法,再將計算結(jié)果轉(zhuǎn)化為PWM信號輸出到舵機(jī),由于單片機(jī)系統(tǒng)是一個數(shù)字系統(tǒng),其控制信號的變化完全依靠硬件計數(shù),所以受外界干擾較小,整個系統(tǒng)工作可靠。
單片機(jī)系統(tǒng)實(shí)現(xiàn)對舵機(jī)輸出轉(zhuǎn)角的控制,必須首先完成兩個任務(wù):首先是產(chǎn)生基本的PWM周期信號,本設(shè)計是產(chǎn)生20ms的周期信號;其次是脈寬的調(diào)整,即單片機(jī)模擬PWM信號的輸出,并且調(diào)整占空比。
當(dāng)系統(tǒng)中只需要實(shí)現(xiàn)一個舵機(jī)的控制,采用的控制方式是改變單片機(jī)的一個定時器中斷的初值,將20ms分為兩次中斷執(zhí)行,一次短定時中斷和一次長定時中斷。這樣既節(jié)省了硬件電路,也減少了軟件開銷,控制系統(tǒng)工作效率和控制精度都很高。
當(dāng)系統(tǒng)的主要工作任務(wù)就是控制多舵機(jī)的工作,并且使用的舵機(jī)工作周期均為20ms時,要求硬件產(chǎn)生的多路PWM波的周期也相同。使用51單片機(jī)的內(nèi)部定時器產(chǎn)生脈沖計數(shù),一般工作正脈沖寬度小于周期的1/8,這樣可以在1個周期內(nèi)分時啟動各路PWM波的上升沿,再利用定時器中斷T0確定各路PWM波的輸出寬度,定時器中斷T1控制20ms的基準(zhǔn)時間。
第七章 執(zhí)行機(jī)構(gòu)軟件設(shè)計
因?yàn)榍懊嬉呀?jīng)講過了超聲波測距的軟件設(shè)計,所以這里要說的主要是舵機(jī)轉(zhuǎn)動模塊的軟件設(shè)計。舵機(jī)轉(zhuǎn)動模塊的軟件設(shè)計主要是對執(zhí)行機(jī)構(gòu)硬件部分得到的數(shù)據(jù)進(jìn)行處理和應(yīng)用,同樣是用C語言編程。這里主要是控制舵機(jī)的左右轉(zhuǎn)動以及小車前進(jìn)、后退或停止的控制。
7.1執(zhí)行機(jī)構(gòu)行走程序
其中主要包括初始化程序、測距程序、方向函數(shù)等部分。主要是方向函數(shù)以及舵機(jī)旋轉(zhuǎn)比較測距的函數(shù)。
#define Left_moto_go {P1_0=1,P1_1=0,P1_2=1,P1_3=0;} //左邊兩個電機(jī)向前走
#define Left_moto_back {P1_0=0,P1_1=1,P1_2=0,P1_3=1;} //左邊兩個電機(jī)向后轉(zhuǎn)
#define Left_moto_Stop {P1_0=0,P1_1=0,P1_2=0,P1_3=0;} //左邊兩個電機(jī)停轉(zhuǎn)
#define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0;} //右邊兩個電機(jī)向前走
#define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;} //右邊兩個電機(jī)向前走
#define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;} //右邊兩個電機(jī)停轉(zhuǎn)
執(zhí)行機(jī)構(gòu)是靠差速轉(zhuǎn)向的,所以執(zhí)行機(jī)構(gòu)的左右轉(zhuǎn)向個有兩種情況,即:1、左轉(zhuǎn),執(zhí)行機(jī)構(gòu)左邊輪子停止,右邊輪子向前轉(zhuǎn)動;2、左轉(zhuǎn),執(zhí)行機(jī)構(gòu)左邊輪子向后轉(zhuǎn)動,右邊輪子向前轉(zhuǎn)動,可以實(shí)現(xiàn)原地打轉(zhuǎn)。而右轉(zhuǎn)則和左轉(zhuǎn)相反。所以要實(shí)現(xiàn)執(zhí)行機(jī)構(gòu)左右轉(zhuǎn)動需要再添加子函數(shù)如下。
//左轉(zhuǎn)
void leftrun(void)
{
Left_moto_back ; //左電機(jī)往前走
Right_moto_go ; //右電機(jī)往前走
}
/******************************************************************/
//右轉(zhuǎn)
void rightrun(void)
{
Left_moto_go ; //左電機(jī)往前走
Right_moto_back ; //右電機(jī)往前走
}
7.2舵機(jī)轉(zhuǎn)動控制執(zhí)行機(jī)構(gòu)行走程序
在超聲波傳感器測距時,舵機(jī)則起到了控制方向的作用。舵機(jī)控制著超聲波傳感器左右轉(zhuǎn)動,分別測出左邊、右邊以及前方障礙物的距離,從而判斷出是左轉(zhuǎn)、右轉(zhuǎn)還是后退。
void COMM( void )
{
push_val_left=5; //舵機(jī)向左轉(zhuǎn)90度
timer=0;
while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
StartModule(); //啟動超聲波測距
Conut(); //計算距離
S2=S;
push_val_left=23; //舵機(jī)向右轉(zhuǎn)90度
timer=0;
while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
StartModule(); //啟動超聲波測距
Conut(); //計算距離
S4=S;
push_val_left=14; //舵機(jī)歸中
timer=0;
while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
StartModule(); //啟動超聲波測距
Conut(); //計算距離
S1=S;
if((S2<20)||(S4<20)) //只要左右各有距離小于20CM小車后退
{
backrun(); //后退
timer=0;
while(timer<=4000);
}
if(S2>S4)
{
rightrun(); //車的左邊比車的右邊距離小 右轉(zhuǎn)
timer=0;
while(timer<=4000);
}
else
{
leftrun(); //車的左邊比車的右邊距離大 左轉(zhuǎn)
timer=0;
while(timer<=4000);
}
}
結(jié) 論
本文分析了割草機(jī)器人自動避障的實(shí)際需求,結(jié)合現(xiàn)有自動割草機(jī)器人產(chǎn)品發(fā)展現(xiàn)狀,提出了結(jié)構(gòu)簡單、成本經(jīng)濟(jì)的自動割草機(jī)器人避障方案。根據(jù)自動割草機(jī)器人工作環(huán)境特點(diǎn),選擇了合適的傳感器件,設(shè)計了自動割草機(jī)器人控制系統(tǒng)。本文主要結(jié)論如下:
(1) 采用了超聲波傳感器,簡單有效的完成了測距實(shí)驗(yàn)。
(2)利用了舵機(jī)的優(yōu)點(diǎn),使超聲波傳感器能夠左右轉(zhuǎn)動,完成避障任務(wù)。
(3) 采取以單片機(jī)開發(fā)板為核心,用模塊化的思想設(shè)計了自動割草機(jī)器人的控制器,為戶外移動機(jī)器人的研究提供了一種通用的低成本控制方案。
(4)采用了LCD1602顯示器,很清楚的得到了測距數(shù)據(jù)。
致 謝
歷時將近三個月的時間終于將畢業(yè)設(shè)計完成了,在畢業(yè)設(shè)計的完成過程中遇到了無數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過了。在這里要強(qiáng)烈感謝我的指導(dǎo)老師—高龍琴老師,高老師對我進(jìn)行了無私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行畢業(yè)設(shè)計的修改和改進(jìn),并且讓我學(xué)到了很多專業(yè)方面的知識。另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導(dǎo)過我的各位老師表示最衷心的感謝!?
感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成這次畢業(yè)設(shè)計。感謝我的同學(xué)和朋友,在我完成畢業(yè)設(shè)計的過程中給予我了很多幫助。如果沒有大家的幫忙,我肯定無法順利完成畢業(yè)設(shè)計,在此,再次向各位表示衷心的感謝。
參考文獻(xiàn)
[1]?趙廣濤,程萌杭.基于超聲波傳感器的測距系統(tǒng)設(shè)計[J].微計算機(jī)信息,
2006,(1):129-131
[2]?郭麗穎.基于單片機(jī)的超聲波測距電路的設(shè)計[J].自動化系統(tǒng)與應(yīng)
用,2010,(6):100-102
[3]?王紅云,姚志敏,王竹林,史連艷.超聲波測距系統(tǒng)設(shè)計[J].儀表技術(shù).2010,(11):47-49
[4]?華成英.《模擬電子技術(shù)基礎(chǔ)》[M].北京:高等教育出版社,2006?
[5]?鄭郁正.《單片機(jī)原理及應(yīng)用》[M].成都:四川大學(xué)出版社,2008?
[6]?譚浩強(qiáng).《C程序設(shè)計》[M].北京:清華大學(xué)出版社,2005
[7] 張立富, 陸懷民. 國內(nèi)外園林綠化機(jī)械的現(xiàn)狀及其發(fā)展前景[J].林業(yè)機(jī)械與木工設(shè)備.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 measurements[J], IEEE Trans on Instrumentation and Measurement, Aug.2002:750-760
[11] 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 -753
[12] ITE Battery News, 1999, (2):41.
[13] 王乃康,茅也冰,趙平.現(xiàn)代園林機(jī)械[M]. 北京:中國林業(yè)出版社,2006.
[14] 盧威.智能小車避障系統(tǒng)的設(shè)計與實(shí)現(xiàn).南昌大學(xué)碩士論文,2012-06-09
[15] 楊銀輝.基于超聲波傳感器的割臺高度自動控制系統(tǒng)研究.西北農(nóng)林科技
大學(xué)碩士論文,2007-05-01.
[16] 王應(yīng)軍等.基于AT80C51單片機(jī)的智能小車設(shè)計.福建電腦,2009.
附件1:
超聲波避障舵機(jī)轉(zhuǎn)動編程
#include
#include
#d