




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)論文(設(shè)計(jì))題 目 基于電磁感應(yīng)路徑識(shí)別智能小車(chē)軟件設(shè)計(jì)院 系 專(zhuān) 業(yè) 年級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 電磁感應(yīng)路徑識(shí)別智能小車(chē)軟件設(shè)計(jì)專(zhuān)業(yè): 姓名: 指導(dǎo)老師: 【摘 要】 本系統(tǒng)主要實(shí)現(xiàn)了智能小車(chē)的左轉(zhuǎn),右轉(zhuǎn),停止等功能,在一個(gè)交變磁場(chǎng)為引導(dǎo)信號(hào)道路中,根據(jù)電感線圈的路徑識(shí)別模塊,單片機(jī)AT89S52得到采集到的信號(hào),通過(guò)采集到的信號(hào)來(lái)改變輸出的PWM波的占空比,從而使兩個(gè)直流電機(jī)的轉(zhuǎn)速不相同,來(lái)控制小車(chē)的運(yùn)行方向。程序采用了C語(yǔ)言進(jìn)行設(shè)計(jì),主程序采用了循環(huán)模式的設(shè)計(jì),只要定時(shí)器計(jì)數(shù)沒(méi)滿,利用switch語(yǔ)句一直對(duì)P3口的判斷,再調(diào)用方向函數(shù)來(lái)控制小車(chē)行進(jìn)方向。中斷服務(wù)程序中定義一
2、個(gè)計(jì)數(shù)變量自加1,當(dāng)?shù)扔诿}寬值width時(shí),輸出口置為低電平,當(dāng)?shù)扔陬l率值fre時(shí),輸出口置為高電平,這樣就可以改變width值時(shí)改變輸出占空比大小。方向函數(shù)中對(duì)width值進(jìn)行了賦值,由主程序進(jìn)行調(diào)用?!娟P(guān)鍵詞】 AT89S52;線圈磁場(chǎng)傳感器;直流電機(jī),PWM調(diào)速法Electromagnetic induction intelligent vehicle recognition Major: Student : Supervisor: 【Abstract】The main achievement of the system of intelligent vehicle turn left,
3、 turn right, stop and other functions, in an alternating magnetic field in order to guide the signal path, based on inductance coil path identification module, single-chip AT89S52 signal, through the acquisition of the signal to change the output of the PWM wave duty cycle, so that the two DC the mo
4、tor speed is not the same, to control the car running direction.Program using C language for the design of the main program, using a circular pattern design, as long as the timer count not full, use switch statements have been on the P3 export judgment, and then call the direction function to contro
5、l the direction of the moving car.The interrupt service routine to define a variable count from 1, when equal to the pulse width when the value of width, output is low, when the value of fre is equal to the frequency, output is high, so it can change the width value change the output duty ratio size
6、.Directional function on width values were assigned, by the main program call.【Key words】AT89S52; magnetic field sensor; DC motor, PWM speed control method目 錄緒論31 設(shè)計(jì)方案介紹41.1 硬件方案介紹41.1.1 路徑識(shí)別模塊51.1.2 電機(jī)驅(qū)動(dòng)模塊62 軟件方案介紹72.1.1 單片機(jī)介紹72.1.2 系統(tǒng)原理93 系統(tǒng)控制軟件設(shè)計(jì)93.1 主程序設(shè)計(jì)93.2 中斷服務(wù)程序113.3 控制程序設(shè)計(jì)144 調(diào)試與檢測(cè)154.1 調(diào)試與
7、仿真154.2 檢測(cè)與分析16結(jié)束語(yǔ)16附錄17程序清單17致 謝19緒論隨著科學(xué)技術(shù)的飛速發(fā)展,人們對(duì)生活的要求越來(lái)越高,特別是對(duì)交通工具的智能方面的要求,除此之外,隨著在企業(yè)中越來(lái)越追求工作效率和生產(chǎn)成本,迫切的要求以最低的成本生產(chǎn)出所需要的產(chǎn)品,在這種種的社會(huì)的條件下,人們?cè)絹?lái)越重視機(jī)器智能方面的研究,在眾多的研究當(dāng)中,交通工具的智能研究就是其中的一個(gè)熱點(diǎn)問(wèn)題,而智能小車(chē)的研究就是一個(gè)很好的代表。所謂的智能小車(chē),就是集路面環(huán)境探測(cè)、衛(wèi)星導(dǎo)航、自動(dòng)行駛和有自己的決策能力等功能為一體的小車(chē),它綜合運(yùn)用了計(jì)算機(jī)、通信、導(dǎo)航和自動(dòng)化控制等技術(shù)。正因?yàn)橹悄苄≤?chē)的功能強(qiáng)大和比較實(shí)用,同時(shí)對(duì)智能小車(chē)的
8、研究有很大的發(fā)展空間,所以智能小車(chē)的研究得到了國(guó)內(nèi)外科學(xué)家的重點(diǎn)關(guān)注。智能小車(chē)的研究是一個(gè)很有意思的科研問(wèn)題,得到了很多大學(xué)生的關(guān)注,他們?cè)趯W(xué)校期間學(xué)習(xí)很多與之相關(guān)的知識(shí),同時(shí)做很多與之相關(guān)的實(shí)驗(yàn)?,F(xiàn)在國(guó)內(nèi)的很多電子設(shè)計(jì)大賽都有與智能小車(chē)相關(guān)的題目,在大賽中設(shè)計(jì)出來(lái)的這些小車(chē)能實(shí)現(xiàn)很多方面的功能,例如避障、循跡等。 本系統(tǒng)主要實(shí)現(xiàn)了智能小車(chē)的左轉(zhuǎn),右轉(zhuǎn),停止等功能,在一個(gè)交變磁場(chǎng)為引導(dǎo)信號(hào)道路中,根據(jù)電感線圈的路徑識(shí)別模塊,單片機(jī)得到采集到的信號(hào),通過(guò)采集到的信號(hào)來(lái)改變輸出的PWM波的占空比,從而使兩個(gè)直流電機(jī)的轉(zhuǎn)速不相同,來(lái)控制小車(chē)的運(yùn)行方向。程序采用了C語(yǔ)言進(jìn)行設(shè)計(jì),主程序采用了循環(huán)模式的
9、設(shè)計(jì),子程序則為功能模塊設(shè)計(jì),由主程序進(jìn)行調(diào)用。1 設(shè)計(jì)方案介紹本論文主要對(duì)智能小車(chē)軟件系統(tǒng)進(jìn)行了研究。整個(gè)硬件系統(tǒng)由路徑檢測(cè)系統(tǒng)和單片機(jī)最小系統(tǒng)組成。論文首先對(duì)檢測(cè)系統(tǒng)作了詳細(xì)的分析,接著對(duì)單片機(jī)最小系統(tǒng)的各個(gè)組成部分作了詳細(xì)的說(shuō)明,同時(shí)在論文中對(duì)所用到的傳感器,電機(jī)等闡述了其原理。系統(tǒng)整體設(shè)計(jì)基于單片機(jī)的控制,由單片機(jī)作為主控制器進(jìn)行各部分的協(xié)調(diào)工作,在熟悉硬件的基礎(chǔ)上編程實(shí)現(xiàn)軟件功能。本系統(tǒng)先簡(jiǎn)單介紹智能小車(chē)系統(tǒng)的構(gòu)成與特性,再詳細(xì)講述基于AT89S52單片機(jī)的智能小車(chē)系統(tǒng)的軟件功能的設(shè)計(jì)與實(shí)現(xiàn)。1.1 硬件方案介紹整個(gè)硬件系統(tǒng)由路徑檢測(cè)系統(tǒng)和單片機(jī)最小系統(tǒng)組成,路徑檢測(cè)系統(tǒng)檢測(cè)到磁場(chǎng)的
10、變化情況,以信號(hào)的形式傳送給單片機(jī),單片機(jī)最小系統(tǒng)接收并處理檢測(cè)系統(tǒng)傳送過(guò)來(lái)的信號(hào),把處理好的信號(hào)后采取PWM 調(diào)速法來(lái)改變直流電機(jī)的轉(zhuǎn)速,從而控制小車(chē)的行駛。小車(chē)識(shí)別硬件系統(tǒng)的整體結(jié)構(gòu)如下圖所示,圖1 硬件系統(tǒng)結(jié)構(gòu)路徑檢測(cè)系統(tǒng)是整個(gè)小車(chē)硬件系統(tǒng)的前端部分,是比較重要的一部分,不可缺少的。在整個(gè)系統(tǒng)中,路徑檢測(cè)部分能否準(zhǔn)確的檢測(cè)到磁場(chǎng)傳感器傳來(lái)的信號(hào),對(duì)小車(chē)的行駛來(lái)說(shuō)是很重要的。如果路徑檢測(cè)系統(tǒng)能夠準(zhǔn)確的檢測(cè)到信號(hào),并且及時(shí)的反饋給單片機(jī)系統(tǒng),這樣的話,單片機(jī)系統(tǒng)就能及時(shí)的處理所接收到的信號(hào),同時(shí)將所處理好的信號(hào)傳輸給直流電機(jī),從而控制小車(chē)避開(kāi)前進(jìn)方向。因而路徑檢測(cè)系統(tǒng)中傳感器的選擇是很重要的
11、,傳感器選擇的好的話,會(huì)對(duì)設(shè)計(jì)的結(jié)果有很大的幫助。 路徑識(shí)別模塊用兩個(gè)10mH的電感線圈置于車(chē)模頭部作為確定小車(chē)位置的傳感器,即雙水平線圈方案。使用兩個(gè)線圈,分別裝在小車(chē)前方兩側(cè),順著電流方向豎直放置線圈,此時(shí)線圈中的感應(yīng)電動(dòng)具有勢(shì)分布簡(jiǎn)單,衰減快,遠(yuǎn)處對(duì)近處的干擾小的特點(diǎn),所以非常適合作為采集信號(hào)的傳感器。用一根導(dǎo)線產(chǎn)生20KHZ100mA的交變磁場(chǎng),然后使小車(chē)沿著引導(dǎo)線信號(hào)的道路行走。根據(jù)電磁學(xué),在導(dǎo)線中通入按正弦規(guī)律變化的電流,導(dǎo)線周?chē)鷷?huì)產(chǎn)生變化的磁場(chǎng),且磁場(chǎng)與電流的變化成一定的規(guī)律。如果在此磁場(chǎng)中置一由線圈組成的電感,則該電感上會(huì)產(chǎn)生感應(yīng)電動(dòng)勢(shì),且該感應(yīng)電動(dòng)勢(shì)的大小和通過(guò)線圈回路的磁通
12、量的變化率成正比。由于在導(dǎo)線周?chē)煌恢?,磁感?yīng)強(qiáng)度的大小和方向不同,所以不同位置上的電感產(chǎn)生的感應(yīng)電動(dòng)勢(shì)也應(yīng)該是不同。據(jù)此,則可以確定電感的大致位置??拷艌?chǎng)的地方磁感應(yīng)強(qiáng)度越高,遠(yuǎn)離磁場(chǎng)的地方磁感應(yīng)強(qiáng)度越低。用兩線圈采集到的感應(yīng)電壓對(duì)小車(chē)的位置做出判斷。對(duì)于弧形導(dǎo)線若選用左側(cè)線圈電壓減去右側(cè)線圈電壓,若這個(gè)差為正值則說(shuō)明小車(chē)已經(jīng)偏離直線向左側(cè)轉(zhuǎn)彎,且這個(gè)值越大說(shuō)明偏左越厲害;同理可得,若選用右側(cè)線圈電壓減去左側(cè)線圈電壓,若這個(gè)差為正值則說(shuō)明小車(chē)已經(jīng)偏離直線向右轉(zhuǎn)彎,且這個(gè)值越大說(shuō)明偏右越厲害。對(duì)于直導(dǎo)線,即左側(cè)線圈電壓和右側(cè)線圈電壓的值差不多,則小車(chē)沿著直線向前行走。不同的線圈軸線擺放方向
13、,可以感應(yīng)不同的磁場(chǎng)分量。在車(chē)模前上方水平方向固定兩個(gè)相距L 的線圈,兩個(gè)線圈的軸線為水平,高度為h ,為了討論方便,我們?cè)谂艿郎辖⑷缦碌淖鴺?biāo)系,假設(shè)沿著跑道前進(jìn)的方向?yàn)閦軸,垂直跑道往上為y軸,在跑道平面內(nèi)垂直于跑到中心線為x軸。xyz軸滿足右手方向。假設(shè)在車(chē)模前方安裝兩個(gè)水平的線圈。這兩個(gè)線圈的間隔為L(zhǎng),線圈的高度為h,參見(jiàn)下圖5所示。左邊的線圈的坐標(biāo)為(x,h,z),右邊的線圈的位置(x-L,h,z)。由于磁場(chǎng)分布是以z軸為中心的同心圓,所以在計(jì)算磁場(chǎng)強(qiáng)度的時(shí)候我們僅僅考慮坐標(biāo)(x,y)。由于線圈的軸線是水平的,所以感應(yīng)電動(dòng)勢(shì)反映了磁場(chǎng)的水平分量。根據(jù)公式可以知道感應(yīng)電動(dòng)勢(shì)大小。圖2
14、感應(yīng)線圈的布置方案令h=10cm, x(30,+30)cm,可以根據(jù)公式計(jì)算出感應(yīng)電動(dòng)勢(shì)我們使用相距水平長(zhǎng)度為L(zhǎng) 的兩個(gè)感應(yīng)線圈,并計(jì)算兩個(gè)線圈感應(yīng)電動(dòng)勢(shì)的差值:下面假設(shè)L = 30cm ,計(jì)算兩個(gè)線圈電動(dòng)勢(shì)差值d E。當(dāng)左邊線圈的位置x = 30的時(shí)候,此時(shí)兩個(gè)線圈的中心恰好處于跑道中央,感應(yīng)電動(dòng)勢(shì)差值d E 為0。當(dāng)線圈往左偏移, x (15,30) ,感應(yīng)電動(dòng)勢(shì)差值小于零;反之,當(dāng)線圈往右偏移, x (0,15) ,感應(yīng)電動(dòng)勢(shì)大于零。因此在位移030cm 之間,電動(dòng)勢(shì)差值d E 與位移x 是一個(gè)單調(diào)函數(shù)??梢允褂眠@個(gè)量對(duì)于小車(chē)轉(zhuǎn)向進(jìn)行負(fù)反饋控制,從而保證兩個(gè)線圈的中心位置跟蹤賽道的中心線
15、。通過(guò)改變線圈高度h ,線圈之間距離L 可以調(diào)整位置檢測(cè)范圍以及感應(yīng)電動(dòng)勢(shì)的大小。 電機(jī)驅(qū)動(dòng)模塊 一般來(lái)說(shuō)控制器、功率變換器和電機(jī)三個(gè)部分組成了電動(dòng)小車(chē)的驅(qū)動(dòng)系統(tǒng)。由于小車(chē)的驅(qū)動(dòng)不但要求電機(jī)驅(qū)動(dòng)系統(tǒng)具有很寬的調(diào)速范圍和高可靠性的性能,還有就是電機(jī)的轉(zhuǎn)速要受電源功率的影響,就要求驅(qū)動(dòng)具有寬的高效率區(qū)。直流電機(jī)的控制比較簡(jiǎn)單,性能比較出眾,而且直流電源也比較容易實(shí)現(xiàn)。所以本設(shè)計(jì)的驅(qū)動(dòng)選用了兩個(gè)直流電機(jī),分別驅(qū)動(dòng)兩側(cè)的小車(chē)履帶,同時(shí)也使小車(chē)能夠方便的達(dá)到轉(zhuǎn)彎的目的。電機(jī)在正常工作時(shí)對(duì)電源的干擾很大,所以可以用光耦器件將控制部分和電機(jī)驅(qū)動(dòng)部分隔開(kāi),這樣可以有效的避免對(duì)電源部分的影響,并且用三極管加在場(chǎng)
16、效應(yīng)管的基極加以驅(qū)動(dòng),從而有足夠大的基極電流流過(guò)場(chǎng)效應(yīng)管。PWM為脈沖寬度調(diào)制,通過(guò)PWM波控制MOS管控制直流電機(jī)的電壓。通過(guò)改變PWM 的占空比可以調(diào)節(jié)電機(jī)的速度。直流電機(jī)兩端的電壓與其轉(zhuǎn)速比例,也與控制波形的占空比成正比,因此電機(jī)的速度與占空比大小成正比,占空比越大,電機(jī)轉(zhuǎn)得越快,當(dāng)占空比為1時(shí),電機(jī)轉(zhuǎn)速最大。2 軟件方案介紹C語(yǔ)言:是計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,既具有高級(jí)語(yǔ)言的特點(diǎn),有具有匯編語(yǔ)言的特點(diǎn),是一種中級(jí)語(yǔ)言。因?yàn)镃語(yǔ)言的功能很強(qiáng)大,所以C語(yǔ)言發(fā)展非???,C語(yǔ)言成為現(xiàn)在最受歡迎的編程語(yǔ)言之一。C語(yǔ)言有以下優(yōu)點(diǎn):C語(yǔ)言是結(jié)構(gòu)化語(yǔ)言,結(jié)構(gòu)化使得程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試;C語(yǔ)言
17、功能齊全,具有多種數(shù)據(jù)類(lèi)型,使得程序效率更高;C語(yǔ)言有很好的移植性,編好的C語(yǔ)言程序,能很好的下載到不同的芯片,沒(méi)有什么兼容性的問(wèn)題,不需要重新再編寫(xiě)程序??偟膩?lái)說(shuō),就是C語(yǔ)言功能比較強(qiáng)大,又通俗易懂,所以在編程的時(shí)候,選擇C語(yǔ)言來(lái)編程。2.1.1 單片機(jī)介紹AT89S52的特點(diǎn)是:8位CPU和在系統(tǒng)可編程Flash;晶片內(nèi)部具時(shí)鐘振蕩器;內(nèi)部程序存儲(chǔ)器(ROM)為 8KB;內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 256字節(jié);32個(gè)可編程I/O 口線;8個(gè)中斷向量源;三個(gè) 16 位定時(shí)器/計(jì)數(shù)器;三級(jí)加密程序存儲(chǔ)器;全雙工UART串行通道。端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)
18、TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。P0口:P0口為一個(gè)8位漏極開(kāi)路雙向I/O口,每腳吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。由于AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器,并且片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程。所以本設(shè)計(jì)采用AT89S52單片機(jī)
19、為核心控制器主控單元的一個(gè)最小系統(tǒng)。該最小系統(tǒng)包括:復(fù)位電路、電源電路、時(shí)鐘電路。C3與R1組成單片機(jī)的復(fù)位電路。復(fù)位時(shí)單片機(jī)執(zhí)行初始化操作,復(fù)位后PC初始化為0000H,使得單片機(jī)程序從OUT單元開(kāi)始執(zhí)行,從成本與效益考慮本系統(tǒng)采用由簡(jiǎn)單的RC電路構(gòu)成的復(fù)位電路。時(shí)鐘頻率是單片機(jī)每個(gè)功能部件的運(yùn)行基準(zhǔn),有了這個(gè)基準(zhǔn)單片機(jī)才能有條有理的一拍一拍地工作,因此,時(shí)鐘直接關(guān)系到單片機(jī)的運(yùn)行速度,時(shí)鐘電路的工作質(zhì)量也直接關(guān)系到單片機(jī)系統(tǒng)的工作穩(wěn)定性。本設(shè)計(jì)選用的是22.1184MHZ的晶體振蕩器(簡(jiǎn)稱(chēng)晶振),這樣是為了方便計(jì)算波特率。晶振的頻率越高,則系統(tǒng)得到的時(shí)鐘頻率也就越高,單片機(jī)執(zhí)行指令的速度也
20、就越快。2.1.2 系統(tǒng)原理小車(chē)啟動(dòng)后,調(diào)整好路線后全速前進(jìn),行駛到彎道時(shí),左右線圈磁場(chǎng)傳感器會(huì)檢測(cè)到不相等的電壓信號(hào),傳輸給單片機(jī),通過(guò)單片機(jī)調(diào)節(jié)PWM信號(hào)輸出調(diào)節(jié)左右輪速度從而實(shí)現(xiàn)小車(chē)的轉(zhuǎn)彎,直轉(zhuǎn)到左右線圈磁場(chǎng)傳感器檢測(cè)到相等的電壓信號(hào)為止,在執(zhí)行中斷服務(wù)程序中輸出PWM封鎖信號(hào)并實(shí)現(xiàn)閉鎖從而實(shí)現(xiàn)小車(chē)的剎車(chē)。剎車(chē)后小車(chē)在原地等待。3 系統(tǒng)控制軟件設(shè)計(jì)根據(jù)軟件設(shè)計(jì)方案,整個(gè)軟件采用模塊化設(shè)計(jì),各功能部分均設(shè)計(jì)為子程序模塊,各功能的實(shí)現(xiàn)是通過(guò)主程序調(diào)用子程序或子程序調(diào)用子程序完成的。整個(gè)程序由以下部分組成:(1)、主程序:主程序是整個(gè)程序的主體,包括單片機(jī)內(nèi)存單元以及各個(gè)I/O口的初始化,主要
21、有相關(guān)標(biāo)志位,暫存單元,顯示緩沖區(qū)的清零,中斷向量入口地址,中斷優(yōu)先級(jí),堆棧指針的設(shè)置,以及對(duì)子程序的調(diào)用等。(2)、中斷服務(wù)程序:利用了定時(shí)器模擬PWM波輸出,并定義了小車(chē)運(yùn)行時(shí)間。(3)、控制程序:控制小車(chē)前進(jìn)的方向。3.1 主程序設(shè)計(jì)主程序是整個(gè)軟件流程核心,它起到串聯(lián)各功能模塊的作用,各功能部分的執(zhí)行都采用子程序調(diào)用的方式來(lái)實(shí)現(xiàn)。另外主程序還負(fù)責(zé)對(duì)一些標(biāo)志、狀態(tài)、符號(hào)地址進(jìn)行定義和設(shè)置初始化值,以便在程序運(yùn)行中使用和判斷。主程序采用循環(huán)結(jié)構(gòu)的方式設(shè)計(jì),在系統(tǒng)上電以后先系統(tǒng)的復(fù)位工作。 軟件系統(tǒng)的主結(jié)構(gòu)圖 main()EA=1; /開(kāi)中斷ET0=1; /開(kāi)T0中斷TMOD=0x02; /
22、8位重裝TL0=0xfc;TH0=0x18;TR0=1;While(1) Temp=P3&0x0f;switch(temp) /檢查磁場(chǎng)傳感器傳來(lái)的接口狀態(tài)case 0x00: do stop(); /小車(chē)停止while(temp!=0);break;case 0x03: doleft(); /小車(chē)向左轉(zhuǎn)while(temp!=0);break;case 0x0b: doLeft1() /小車(chē)小幅度向左轉(zhuǎn)while(temp!=0x01);break;case 0x0d: doright(); /小車(chē)向右轉(zhuǎn)while(temp!=0x02);break;case 0x0c: doRight1(
23、); /小車(chē)小幅度向右轉(zhuǎn)while(temp!=0x04);break;case 0x0f: dohead(); /小車(chē)前進(jìn)while(temp!=0);break;head(); 3.2 中斷服務(wù)程序中斷服務(wù)程序中定義了定時(shí)器變量sum,計(jì)數(shù)器變量count,當(dāng)進(jìn)一次中斷,計(jì)數(shù)器變量自加一,當(dāng)?shù)扔谌謪^(qū)定義的脈寬變量width值時(shí),把輸出PWM口置為0,count繼續(xù)自加一,當(dāng)?shù)扔谌謪^(qū)定義的頻率變量fre值時(shí),把輸出口PWM置1,這樣就完成了一個(gè)周期的輸出方波,每次只用控制width值就能改變占空比大小的輸出,進(jìn)而控制小車(chē)的方向。而每次進(jìn)中斷,定時(shí)器變量也自加一,當(dāng)加到等于全局區(qū)定義的定時(shí)
24、器值時(shí)就中斷服務(wù)程序,并把輸出口置為低電平,小車(chē)停止前進(jìn)。流程圖如下:相關(guān)程序如下:Void T0-ISR() interrupt 1Static int count; /計(jì)數(shù)器變量Int sum=0; /定時(shí)器變量Count +;Sum+;If(sum=sum1) /判斷小車(chē)是否到停止條件EA=0; /關(guān)閉中斷PwmR=0; /輸出口置為低電平PwmL=0If(count = widthR) Pwmr =0;If(count = widthL) Pwml =0;If(count=fre)Count =0;PwmR=pwmL=1;其設(shè)計(jì)原理如下圖: 圖 定時(shí)器模擬PWM波利用定時(shí)器/計(jì)數(shù)器計(jì)數(shù)
25、,當(dāng)計(jì)到等于脈寬變量值width時(shí),PWM口置為低電平,當(dāng)計(jì)到等于頻率變量值fire時(shí),PWM口置為高電平,如圖所示,當(dāng)我改變width值的大小時(shí),就可以改變?cè)撜伎毡却笮?。PWM調(diào)速原理:脈沖寬度調(diào)制(PWM)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用于測(cè)量,通信,功率控制與變換等許多領(lǐng)域。它是一種是對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過(guò)高分辨率計(jì)數(shù)器的來(lái)計(jì)算方波的占空比,用來(lái)對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。但PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(wú)(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重
26、復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開(kāi)的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。3.3 控制程序設(shè)計(jì) 控制程序設(shè)計(jì)主要是小車(chē)路徑的抉擇,在接到單片機(jī)的處理命令后控制程序控制著小車(chē)所做的舉動(dòng),包含了4個(gè)動(dòng)作,其中head()函數(shù)功能是向前走,left()函數(shù)功能向左走,right()函數(shù)功能是向右走,stop()函數(shù)功能是停止前進(jìn)。在程序中定義了兩個(gè)width變量來(lái)控制輸出占空比大小,一個(gè)控制左輪,一個(gè)控制右邊輪,所以只用改變width的值就能決定小車(chē)的方向,下圖為輸出端口與小車(chē)行走情況:圖 輸入端口電壓與小車(chē)行走情況的關(guān)系
27、P0.0-P0.7口為8位數(shù)據(jù)口和輸出低8位地址復(fù)用口。選擇其中的P0.2和P0.7口作為PWM波的輸出口。分別在兩個(gè)口各接一個(gè)光電耦合器,用于隔離單片機(jī)控制電路和驅(qū)動(dòng)電路,防止干擾的產(chǎn)生。而P3.0、 P3.1、 P3.2、P3.3分別為RXD串行接受端、TXD串行發(fā)送端、INT0外部中斷0請(qǐng)求端、INT1外部中斷1請(qǐng)求端?,F(xiàn)在接著電磁感應(yīng)路徑識(shí)別模塊的4個(gè)輸出端,都用于接收采集到的信號(hào),然后處理采集到的信號(hào)。經(jīng)過(guò)檢波、濾波、放大后的線圈采集到的電壓信號(hào)與3個(gè)電阻R11、R12、R13分壓后的電壓相比較,得到需要采集的信號(hào),產(chǎn)生的是高低電平,輸入單片機(jī)的P3.0-P3.3口,來(lái)控制單片機(jī)輸出
28、PWM波的占空比,來(lái)控制直流電機(jī)的轉(zhuǎn)速,進(jìn)而控制小車(chē)的轉(zhuǎn)向。void left()WidthL=15;WidthR=20;void right() WidthR=15;widthL=20;void stop()WidthR=0;WidthL=0;void head()WidthR=20;Widthl=20;4 調(diào)試與檢測(cè)調(diào)試與檢測(cè)是應(yīng)用開(kāi)發(fā)電子領(lǐng)域中必不缺少的實(shí)踐環(huán)節(jié),單片機(jī)的開(kāi)發(fā)也是一樣。若在具體的工程實(shí)踐中,因?yàn)榉桨稿e(cuò)誤并進(jìn)行相應(yīng)的開(kāi)發(fā)設(shè)計(jì),會(huì)浪費(fèi)更多的時(shí)間和資金,應(yīng)此,進(jìn)行軟件的模擬與仿真是非常有必要的。對(duì)結(jié)果的數(shù)據(jù)分析關(guān)系到系統(tǒng)的參數(shù)是否正確,通過(guò)檢測(cè)分析能夠及時(shí)的更正發(fā)生的錯(cuò)誤以避免
29、造成不必要的麻煩。4.1 調(diào)試與仿真單片機(jī)開(kāi)發(fā),除必要的硬件外,軟件也是不能分開(kāi)的。通過(guò)編譯軟件將源代碼編譯變?yōu)闄C(jī)器碼,早期單片機(jī)的匯編軟件有A51等,隨著技術(shù)的不斷發(fā)展,由早期的匯編語(yǔ)言開(kāi)發(fā)逐漸演變到現(xiàn)在的高級(jí)語(yǔ)言開(kāi)發(fā)。同時(shí)單片機(jī)的開(kāi)發(fā)軟件也在不斷更新發(fā)展,其中KeilC51軟件是目前最流行的用于開(kāi)發(fā)MCS-51系列單片機(jī)的軟件。KeilC51提供了包括庫(kù)管理、連接器、宏匯編、C編譯器和一個(gè)功能強(qiáng)大的仿真調(diào)試系統(tǒng)等,它通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境將這些組件結(jié)合在一起,全Windows界面,生成目標(biāo)代碼的效率非常高,是一種非常實(shí)用的軟件。Keil軟件的優(yōu)點(diǎn):容易上手,編程操作簡(jiǎn)單;支持許多內(nèi)部函數(shù),內(nèi)
30、部函數(shù)產(chǎn)生代碼來(lái)完成庫(kù)函數(shù),執(zhí)行速度很快,效率也很高。另外一款用于硬件仿真的軟件Proteus ISIS是Labcenter公司推出的電路實(shí)物分析仿真系統(tǒng),可仿真各類(lèi)電路及IC,并全面支持單片機(jī)系統(tǒng)。它的元件庫(kù)種類(lèi)齊全,使用方便,是一款人們普遍使用的的專(zhuān)業(yè)單片機(jī)軟件仿真系統(tǒng)。其主要的特點(diǎn)有兩個(gè):一是能夠?qū)?dòng)態(tài)元件的實(shí)時(shí)仿真,同時(shí)使得系統(tǒng)更具真實(shí)性;二是集成了虛擬工具箱的功能,虛擬工具能夠與仿真系統(tǒng)同時(shí)進(jìn)行,使測(cè)量更加方便而準(zhǔn)確。本系統(tǒng)使用C語(yǔ)言編程,采用Keil uversion3 編譯器進(jìn)行源程序編譯,結(jié)合硬件電路的設(shè)計(jì)制作使用Proteus ISIS硬件仿真軟件進(jìn)行系統(tǒng)的聯(lián)調(diào)與仿真測(cè)試。調(diào)
31、試過(guò)程分模塊進(jìn)行調(diào)試與仿真,在確保各個(gè)模塊無(wú)異常情況下進(jìn)行系統(tǒng)聯(lián)調(diào),最后進(jìn)行數(shù)據(jù)的分析對(duì)比,改進(jìn)完善程序。4.2 檢測(cè)與分析本小節(jié)將介紹在調(diào)試過(guò)程中檢測(cè)出的問(wèn)題及分析解決方法。初次調(diào)試程序難免會(huì)產(chǎn)生相應(yīng)的錯(cuò)誤,這就需要耐心的對(duì)程序的語(yǔ)法進(jìn)行檢查,如函數(shù)的定義規(guī)則、逗號(hào)的使用、花括號(hào)的對(duì)應(yīng),以及賦值符號(hào)與等號(hào)分別。通過(guò)修改,編譯全部通過(guò),下一步就是對(duì)程序的功能測(cè)試。在程序功能測(cè)試中的主要問(wèn)題是起初所給的電壓過(guò)于低,導(dǎo)致小車(chē)沒(méi)法驅(qū)動(dòng);其次小車(chē)沒(méi)法識(shí)別方向,經(jīng)過(guò)排查,是因?yàn)閱纹瑱C(jī)上的P0輸出口與電機(jī)接口沒(méi)能連接妥當(dāng)。結(jié)束語(yǔ)通過(guò)這次畢業(yè)設(shè)計(jì),使我認(rèn)識(shí)到自身在該門(mén)課的理論知識(shí)的不足之處,表現(xiàn)在一些錯(cuò)誤發(fā)
32、生時(shí),不能很好的按照科學(xué)的檢查方法檢查出錯(cuò)誤,致使一些實(shí)驗(yàn)步驟進(jìn)展緩慢。但是,對(duì)于單片機(jī)接口電路以及C語(yǔ)言的程序的設(shè)計(jì)知識(shí)得到了鞏固,溫習(xí)了舊的知識(shí),也增強(qiáng)了實(shí)驗(yàn)動(dòng)手能力,同時(shí),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是C語(yǔ)言)的掌握方面都能向前邁了一大步。讓我感受感到現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,作為一個(gè)新時(shí)代的大學(xué)生,更應(yīng)該以求知若渴的姿態(tài)不斷吸收新的知識(shí),以跟上時(shí)代的步伐,促進(jìn)祖國(guó)科技實(shí)力的不斷進(jìn)步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)! 參考文獻(xiàn)1.余孟嘗.數(shù)字電子技術(shù)基礎(chǔ)簡(jiǎn)明教程.
33、高等教育出版社.19852.楊素行.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程.高等教育出版社.19853.張毅剛.彭喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì).電子工業(yè)出版社.2008.44.梅麗鳳.王艷秋.汪毓鐸.張軍.單片機(jī)原理與接口技術(shù).北京交通大學(xué)出版社.2005.75.劉篤仁.韓保君.傳感器原理及應(yīng)用技術(shù).西安電子科技大學(xué)出版社.2003.86.李金平.沈明山.姜余祥.電子系統(tǒng)設(shè)計(jì).電子工業(yè)出版社.2007.87.馬忠梅.籍順心.張凱.馬巖.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).航空航天大學(xué)出版社.20088.余志生.汽車(chē)?yán)碚?機(jī)械工業(yè)出版社.2006附錄程序清單Int sum1=100000; Int width=20;/右輪脈寬Int widthleft=20;/左輪脈寬Int fre =40;/頻率Sbit pwm P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年計(jì)算機(jī)系統(tǒng)配套用各種消耗品項(xiàng)目合作計(jì)劃書(shū)
- 2025年未硫化復(fù)合橡膠及其制品項(xiàng)目建議書(shū)
- 2025年自動(dòng)檢票驗(yàn)票機(jī)合作協(xié)議書(shū)
- 小學(xué)生防性防侵害安全教育
- 2025年企業(yè)人力資源管理師之三級(jí)人力資源管理師題庫(kù)練習(xí)試卷A卷附答案
- 2019-2025年監(jiān)理工程師之合同管理題庫(kù)檢測(cè)試卷A卷附答案
- 圣誕節(jié)活動(dòng)主題策劃方案
- 狼圖騰介紹課件
- 脫硫安全文明施工方案
- bim一級(jí)考試試題及答案
- GB/T 42910-2023無(wú)機(jī)膠粘劑高溫壓縮剪切強(qiáng)度試驗(yàn)方法
- 《中華民族大團(tuán)結(jié)》(初中) 全冊(cè)教案(共12課)
- 安徽工貿(mào)職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試真題2022
- 浙江建設(shè)技師學(xué)院工作人員招聘考試真題2022
- 常州施工招標(biāo)開(kāi)標(biāo)清標(biāo)評(píng)標(biāo)報(bào)告
- 手術(shù)通知單模板
- 盤(pán)扣式鋼管腳手架驗(yàn)收表
- 第十五屆運(yùn)動(dòng)會(huì)場(chǎng)館醫(yī)療保障工作方案
- 生理衛(wèi)生教學(xué)課件青春期男生性教育走向成熟
- 體外診斷試劑標(biāo)準(zhǔn)品、校準(zhǔn)品、質(zhì)控品
- 部編小學(xué)語(yǔ)文三下識(shí)字表無(wú)拼音
評(píng)論
0/150
提交評(píng)論