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