基于ARM的直流電機調(diào)速系統(tǒng)的研究_第1頁
基于ARM的直流電機調(diào)速系統(tǒng)的研究_第2頁
基于ARM的直流電機調(diào)速系統(tǒng)的研究_第3頁
基于ARM的直流電機調(diào)速系統(tǒng)的研究_第4頁
基于ARM的直流電機調(diào)速系統(tǒng)的研究_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于arm的直流電機調(diào)速系統(tǒng)的研究專 業(yè): 電子信息工程 班 級: 092班 學(xué) 號: 2009315228 姓 名: 2012年11月15日目 錄摘要.2概述.21.嵌入式和電機調(diào)速原理簡介.31.1嵌入式系統(tǒng)簡介.31.1.1嵌入式系統(tǒng)定義31.1.2國內(nèi)外嵌入式系統(tǒng)的發(fā)展現(xiàn)狀31.1.3嵌入式系統(tǒng)的特點.41.2 pwm脈沖寬度調(diào)制簡介.52.系統(tǒng)總體方案設(shè)計.52.1方案論證.52.1.1系統(tǒng)方案.52.1.2方案比較.62.2系統(tǒng)基本原理.62.2.1 s3c2410的pwm定時器概述.62.2.2 s3c2410的寄存器介紹.82.2.3 直流電機驅(qū)動芯片介紹.102.3系統(tǒng)方案實

2、現(xiàn).113. 系統(tǒng)軟硬件實現(xiàn).123.1系統(tǒng)硬件電路設(shè)計.123.2系統(tǒng)軟件設(shè)計.154.心得體會.24摘 要本論文主要研究了采用基于arm嵌入式的直流電機調(diào)速的問題。首先對本論文的主要器件和原理進行了介紹,包括arm微處理器,直流電機和pwm脈沖寬度調(diào)制。通過不同方案的對比,選擇了本論文的主要技術(shù)方案為pwm脈沖寬度調(diào)制并對該方案進行了逐步驗證。通過proteus軟件進行了硬件電路的設(shè)計和軟件程序的編寫,實現(xiàn)了對直流電機速度控制,正傳,反轉(zhuǎn)的目的,并進行了電路仿真,最終得到了理想的效果。論文的最后對這次的研究進行了深刻的總結(jié)和反思,總結(jié)了本次研究得到的經(jīng)驗,并對研究方案的不足之處進行了反思和

3、改進,使得該方案更加完美。 概 述隨著我國國民經(jīng)濟的快速增長,產(chǎn)業(yè)結(jié)構(gòu)也隨之不斷調(diào)整。先進的科學(xué)技術(shù)的出現(xiàn)為我國工業(yè)的快速發(fā)展提供了基礎(chǔ)。近些年來,以計算機技術(shù),通訊技術(shù)、消費電子技術(shù)為主的電子信息技術(shù)的高速發(fā)展和國際互聯(lián)網(wǎng)絡(luò)(internet)的廣泛應(yīng)用已經(jīng)改變了人們的生活方式,世界各國都在為發(fā)展以計算機技術(shù),通訊技術(shù)、消費電子技術(shù)為主要內(nèi)容的信息產(chǎn)業(yè)制定宏偉的發(fā)展規(guī)劃,以期望在21世紀(jì)的政治、經(jīng)濟和技術(shù)競爭中處于主動有利的地位。信息技術(shù)對其他各產(chǎn)業(yè)的貢獻越來越大,信息產(chǎn)業(yè)正逐漸成為其他產(chǎn)業(yè)的支柱。信息產(chǎn)業(yè)的發(fā)展程度、信息流通、暢通與否已成為評價各個國家的經(jīng)濟發(fā)展水平的一個重要標(biāo)準(zhǔn)。在人類步

4、入全球信息化社會的進程中,全球性電子信息技術(shù)正在發(fā)揮著巨大的作用。嵌入式系統(tǒng)是近年來發(fā)展最快的技術(shù)之一。嵌入式系統(tǒng)與傳統(tǒng)的單片機系統(tǒng)和 pc 平臺相比,融合了兩者的優(yōu)點,既有單片機系統(tǒng)成本低、體積小、功耗低的特點,又具 有pc平臺的開發(fā)環(huán)境好、資源豐富、具備操作系統(tǒng)、用戶界面友好的特點,因而在應(yīng)用技術(shù)領(lǐng)域就有良好的發(fā)展前景。以32位的arm 芯片和高速大容量fpga為核心的嵌入式系統(tǒng)不但充分發(fā)揮了以上特點,而且大大簡化了系統(tǒng)設(shè)計,提高了集成度和可靠性。國家的發(fā)展,使得大到工廠企業(yè),小到電子產(chǎn)品都需要電機來進行各種運動的控制,對電機速度的控制也稱為了現(xiàn)代數(shù)字控制的一大課題??萍及l(fā)展至今,主要采用

5、對輸入電壓的控制來進行電機的控制,而輸入電壓的控制又廣泛采用pwm脈沖寬度調(diào)制來實現(xiàn)對電壓大小的控制。arm嵌入式可直接輸出pwm波,通過編程對該波進行占空比和頻率的調(diào)節(jié),相比電路和單片機實現(xiàn)的pwm波而言,arm嵌入式具有更好的靈活性,高效率性,精度高,快速響應(yīng)好,成本低,功耗小等特點,具有很好的應(yīng)用前景。1. 嵌入式和電機調(diào)速原理簡介1.1嵌入式系統(tǒng)簡介1.1.1嵌入式系統(tǒng)定義 國際電氣和電子工程師協(xié)會(ieee)對嵌入式系統(tǒng)的定義為:“用于控制、監(jiān)視或者輔助操作機器、設(shè)備和工廠的裝置?!保╠evices used to control, monitor or assist the ope

6、ration of equipment, machinery or plants)。這里主要是從應(yīng)用上進行定義的。國內(nèi)的一些學(xué)者和專家講嵌入式系統(tǒng)定義為:“嵌入到對象體系中的專用計算機系統(tǒng)”?!扒度胄浴?、“專用型”與“計算機系統(tǒng)”是嵌入式系統(tǒng)的3個基本要素,對象系統(tǒng)則是嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。目前國內(nèi)一個普遍被認(rèn)同的定義是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟、硬件可裁減,滿足應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計算機系統(tǒng)。由于嵌入式系統(tǒng)本身是一個相對模糊的定義,一個手持的mp3和一個pc104的微型工業(yè)控制計算機都可以認(rèn)為是嵌入式系統(tǒng),因此只要是和具體產(chǎn)品

7、結(jié)合在一起并具有嵌入式特點的控制系統(tǒng)都可以成為嵌入式系統(tǒng)。目前通常把嵌入式系統(tǒng)概念的重心放在“系統(tǒng)”上,及指能夠運行穩(wěn)定系統(tǒng)的軟硬件綜合體??傮w上嵌入式系統(tǒng)可以分成硬件和軟件2部分:硬件一般由嵌入式微處理器、存儲器和外圍接口電路組成;軟件一般由引導(dǎo)裝載程序、操作系統(tǒng)和上層應(yīng)用程序組成。軟件和硬件之間有中間層。1.1.2國內(nèi)外嵌入式系統(tǒng)的發(fā)展現(xiàn)狀隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展 空間。以8位單片機(或微控制器,mcu)為核心的嵌入式系統(tǒng)早以廣泛應(yīng)用與各個領(lǐng)域,這些應(yīng)用大多數(shù)還處于單機使用的嵌入式底層次階段。其特點是以mcu為核心,與一些簡單的傳感器及監(jiān)測、伺服控

8、制、指示和顯示等設(shè)備配合,實現(xiàn)一定的測量、顯示、信息處理及控制等功能。雖然在一些工業(yè)控制、汽車電子和智能家居等多機應(yīng)用中,為了實現(xiàn)多個mcu構(gòu)成的系統(tǒng)間的信息交流,通常是利用can、rs-232和rs-485等總線將mcu組網(wǎng)。但這種應(yīng)用空間有限,相關(guān)的通信協(xié)議也比較單一,并且孤立于internet之外。internet已成為社會重要的基礎(chǔ)信息設(shè)施,嵌入式系統(tǒng)必將要與internet完美結(jié)合。隨著嵌入式設(shè)備與internet的結(jié)合,手機、pda、路由器和調(diào)制解調(diào)器等復(fù)雜的高端應(yīng)用對嵌入式處理器的性能提出了更高的要求。雖然以8位單片機為核心的嵌入式技術(shù)的不斷發(fā)展,性能也不斷提高,但由于其性能的局

9、限性,已無法滿足未來高性能嵌入式技術(shù)的發(fā)展需求。目前在8位單片機上運行嵌入式操作系統(tǒng)尚有一定困難,因此,以32位處理器作為高性能嵌入式系統(tǒng)開發(fā)的核心已是嵌入式技術(shù)發(fā)展的必然趨勢。嵌入式微處理器具有體積小、重量輕、成本低和可靠性高的優(yōu)點,是嵌入式系統(tǒng)的核心。目前比較有影響的32位嵌入式處理器有arm公司的arm,compaq公司的alpha、hp公司的pa-risc、ibm公司的powerpc、mips公司的mips和sun公司的sparc等。而arm處理器具有高性能、低功耗和低成本等顯著優(yōu)點,已成為高性能、低功耗嵌入式微處理器的代名詞,是目前32位、64位嵌入式處理器中應(yīng)用最為廣泛的一個系列。

10、arm微處理器得到了眾多半導(dǎo)體廠家和整機廠家的大力支持,全球有100多家it公司在采用arm技術(shù),20家最大的半導(dǎo)體廠家有19家是arm的用戶,包括ti、philips和intel等公司。優(yōu)良的性能和準(zhǔn)確的市場定位極大地豐富了arm資源,加速了基于arm核的面向各種應(yīng)用系統(tǒng)芯片的開發(fā)應(yīng)用。如今,arm公司已經(jīng)成為業(yè)界的龍頭老大,幾乎所有的手機、移動設(shè)備、pda都是用基于arm核的系統(tǒng)芯片開發(fā)的。為了順應(yīng)當(dāng)今世界技術(shù)革新的潮流,了解、學(xué)習(xí)和掌握高性能嵌入式技術(shù)已經(jīng)非常重要。1.1.3嵌入式系統(tǒng)的特點嵌入式系統(tǒng)是面向應(yīng)用的專用計算機系統(tǒng)。嵌入式系統(tǒng)最典型的特點是與人們的日常生活緊密相關(guān),現(xiàn)在每一個

11、人都擁有形形色色運用了嵌入式技術(shù)的電子產(chǎn)品,小到mp3、pda等衛(wèi)星數(shù)字化設(shè)備,達到信息家電、智能電器、車載gis等,各種新型嵌入式設(shè)備在數(shù)量上已經(jīng)遠遠超過了通用計算機。1.嵌入式系統(tǒng)通常是面向特定應(yīng)用的軟硬件結(jié)合體。嵌入式系統(tǒng)一般用于特定的場合,其硬件和軟件都務(wù)須高效,量體裁衣,去除冗余;而計算機則是一個通用的計算機平臺。2.系統(tǒng)精簡,關(guān)注成本。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計及實現(xiàn)上過于復(fù)雜,這樣一方面有利于控制系統(tǒng)成本,同時也有利于實現(xiàn)系統(tǒng)安全。3.嵌入式系統(tǒng)有實時性和可靠性的要求。 高實時性的操作系統(tǒng)軟件是嵌入式區(qū)按鍵的基本要求,而且軟件要求固態(tài)存儲,以

12、提高速度。軟件代碼要求高可靠性和實時性。在多任務(wù)嵌入式系統(tǒng)中,對重要性各不相同的任務(wù)進行統(tǒng)籌兼顧的合理調(diào)度是保證每個任務(wù)及時執(zhí)行的關(guān)鍵,單純通過提高處理器速度是無法完成和沒有效率的,因此系統(tǒng)漸漸地高實時性是基本要求。 4.產(chǎn)品升級換代和具體產(chǎn)品同步,具有較長的生命周期。 嵌入式系統(tǒng)和具體應(yīng)用有機地結(jié)合在一起,他的升級換代也和具體產(chǎn)品同步進行,因此嵌入式系統(tǒng)產(chǎn)品一點進入市場,便具有較長的生命周期。 5.嵌入式軟件開發(fā)走向標(biāo)準(zhǔn)化,必須使用多任務(wù)的操作系統(tǒng)。 嵌入式系統(tǒng)的應(yīng)用程序可以在沒有操作系統(tǒng)的情況下,直接在芯片上運行。單位了合理的調(diào)度多任務(wù),利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,必須使用

13、rtos(real-time operating system)系統(tǒng)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。1.2 pwm脈沖寬度調(diào)制簡介pwm就是指脈沖寬度調(diào)制(pulse width modulation),簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。其方法是通過改變電機電樞電壓接通時間與通電周期的比值(即占空比)來控制電機轉(zhuǎn)速。脈沖寬度調(diào)制是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時間的改變,這種方式

14、能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字信號對模擬電路進行控制的一種非常有效的技術(shù)。 pwm控制技術(shù)以其控制簡單,靈活和動態(tài)響應(yīng)好的優(yōu)點而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,也是人們研究的熱點。由于當(dāng)今科學(xué)技術(shù)的發(fā)展已經(jīng)沒有了學(xué)科之間的界限,結(jié)合現(xiàn)代控制理論思想或?qū)崿F(xiàn)無諧振軟開關(guān)技術(shù)將會成為pwm控制技術(shù)發(fā)展的主要方向之一。pwm技術(shù)的發(fā)展經(jīng)過了幾個階段。第一個階段:電子發(fā)展早期由電路設(shè)計產(chǎn)生pwm波,例如由555定時器或者運算放大器產(chǎn)生pwm波。第二個階段:單片機產(chǎn)生后,人們開始采用軟件設(shè)計產(chǎn)生pwm波,這樣的波可以進行數(shù)字控制,可以直接使用計算機來設(shè)定實現(xiàn)自動控制

15、。第三個階段:使用arm嵌入式系統(tǒng)的定時器直接輸出pwm波,只需簡單地編程便可以產(chǎn)生pwm波,不會一直占用處理器,只是在定時器到的時候才用到處理器,所以相對于單片機利用效率非常高。2.系統(tǒng)總體方案設(shè)計2.1方案論證:圖1 方案一 采用軟件編程輸出pwm波控制電機轉(zhuǎn)速2.1.1系統(tǒng)方案:方案一:使用s3c2410的i/o口,定義i/o口為輸出引腳端,通過編程使其中一個引腳輸出低電平,另一引腳輸出高、低交替變化的電平(即pwm波),采用程序改變其中輸出頻率和占空比。通過輸出的pwm波輸入驅(qū)動芯片l9110,進而來控制直流電機的旋轉(zhuǎn)。通過鍵盤中斷來控制pwm占空比的大小。由led數(shù)碼管來顯示電機頻率

16、和占空比的大小。圖2 方案二 采用s3c2410定時器的pwm輸出功能控制電機轉(zhuǎn)速方案二:從電路圖上來說方案二和方案一差別不大,僅僅是驅(qū)動部分連接引腳功能有變化,但是產(chǎn)生的pwm波的原理差別卻很大。s3c2410有5個16位定時器,其中0、1、2、3具有脈沖寬度調(diào)制(pwm)功能。通過使用s3c2410的gpb0引腳的第二功能tout0輸出該pwm波。通過改變定時器技術(shù)緩沖寄存器(tcntbn)和定時器比較緩沖寄存器(tcmpbn)的數(shù)值來改變輸出頻率和占空比。將輸出的pwm波輸入到驅(qū)動,經(jīng)由驅(qū)動來控制直流電機的旋轉(zhuǎn)。通過鍵盤中斷來控制pwm占空比的大小。由led數(shù)碼管來顯示電機頻率和占空比的

17、大小。2.1.2方案比較:方案一和方案二均可以輸出pwm波,但是使用的方法并不一樣。方案一簡單易懂,幾乎沒有用到arm的知識。該方案和單品阿基輸出pwm波進行電機調(diào)速的思路完全一樣,僅僅是使用輸出口時要先進行功能定義。相比較方案二就復(fù)雜了,不僅用到i/o口的寄存器使用方法,而且還用到arm的中斷控制,定時器的設(shè)置,定時器配置/控制寄存器的使用等等,只有深入了解arm才可能完成pwm波的輸出。雖然pwm為定時器自帶功能,但想要輸出pwm波來對直流電機進行控制也要一定的基礎(chǔ),對比而言,方案一在輸出pwm波時一直占用cpu,而采用方案二,則在中斷產(chǎn)生時才用到cpu,大大節(jié)省了資源的使用,使用方案一就

18、顯得有些大材小用了,采用方案二則充分運用了arm的性能,綜上所述,本次設(shè)計采用方案二。2.2系統(tǒng)基本原理2.2.1 s3c2410的pwm定時器概述s3c2410有5個16位定時器,其中定時器0、1、2、3具有脈沖寬度調(diào)制(pwm)功能,定時器4具有內(nèi)部定時作用,但是沒有輸出引腳。定時器0具有死區(qū)生成器,圖3 定時器內(nèi)部電路圖可以控制大電流設(shè)備。定時器t0和t1公用一個8位預(yù)分頻器,定時器t2、t3和t4公用另一個8位預(yù)分頻器,每個定時器都有一個時鐘分頻器,信號分頻輸出有5中模式(1/2、1/4、1/8、1/16和外部時鐘tclk)。每個定時器模塊都從時鐘分頻器接收它自己的時鐘信號,時鐘分頻器

19、接收的時鐘信號來自于8位預(yù)分頻器。當(dāng)時鐘被允許的時候,定時器計數(shù)緩沖寄存器(tcntbn)把計數(shù)初值下載到減法計數(shù)器中,定時器比較緩沖寄存器(tcmpbn)把初始值下載到比較寄存器中,來和減法計數(shù)器的值比較。這種tcntbn和tcmpbn雙緩沖寄存器特性能使定時器產(chǎn)生穩(wěn)定的輸出,且占空比可變。tcmpbn的值用于脈沖寬度調(diào)制(pwm)。當(dāng)定時器的減法計數(shù)器的值和tcmpbn的值相匹配時,定時器輸出改變輸出電平。因此,比較寄存器決定了pwm輸出的開關(guān)時間。定時器輸入時鐘頻率: ftclk=fpclk/(prescaler+1)/分配器分頻值其中,prescaler為預(yù)分頻值(0255);分配器的

20、分頻值為2、4、8和16。 pwm輸出時鐘頻率=定時器輸入時鐘頻率(ftclk)/定時器計數(shù)緩沖寄存器值(tcntbn)pwm輸出信號占空比=定時器比較緩沖寄存器(tcmpbn)/定時器計數(shù)緩沖寄存器(tcntbn)2.2.2 s3c2410的寄存器介紹s3c2410里有很多寄存器,在使用之前都需要對相關(guān)的寄存器進行配置,這里將使用到的寄存器配置及功能列舉出來。(1)s3c2410的i/o口配置:s3c2410中共有117個多功能復(fù)用輸入/輸出端口(即i/o口),可分為端口a端口h,共8組。其中,8組i/o口按照其位數(shù)的不同有可分為:端口a(gpa)是1個23位輸出口;端口b(gpb)和端口h

21、(gph)是2個11位i/o口;端口c(gpc)、端口d(gpd)、端口e(gpe)、和端口g(gpg)是4個16位的i/o口;端口f(gpf)是一個8位i/o口。為了滿足不同系統(tǒng)設(shè)計的需要,每個i/o口可以很容易的通過軟件對其進行配置。每個引腳的功能必須在啟動前進行定義。這里主要介紹端口b的i/o口配置情況:端口b可選擇的引腳端功能gpb10輸入/輸出nxdreq0gpb9輸入/輸出nxdack0gpb8輸入/輸出nxdreq1gpb7輸入/輸出nxdack1gpb6輸入/輸出nxbreqgpb5輸入/輸出nxbackgpb4輸入/輸出tclk0gpb3gpb0輸入/輸出tout3tout0

22、表1 s3c2410端口b的i/o口配置情況(2)s3c2410的i/o口寄存器:在s3c2410中,大多數(shù)的引腳端都是復(fù)用的,所以對于每一個引腳端都需要定義其功能。為了使用i/o口,首先需要定義引腳的功能。每個引腳端的功能通過端口控制寄存器(pncon)來定義(配置)。與配置i/o口相關(guān)的寄存器包括:端口控制寄存器(gpacongphcon)、端口數(shù)據(jù)寄存器(gpadatgphdat)、端口上拉寄存器(gpbupgphup)、雜項控制寄存器以及外部中斷控制寄存器(extintn)等。這里主要介紹端口b的i/o口寄存器。寄存器地 址訪 問描 述復(fù)位值gpbcon0x56000010讀/寫配置端

23、口b引腳端,使用位21:0,分別對端口b的11個引腳進行配置00:輸入; 01:輸出;10:第2功能; 11:保留0x0gpbdat0x56000014讀/寫端口b數(shù)據(jù)寄存器,使用位10:0未定義gpbup0x56000018讀/寫端口b上拉電阻禁止寄存器,使用位10:0 0:使能; 1:禁止0x0reserved0x5600001c保留未定義表2 s3c2410端口b的i/o口寄存器(3)s3c2410的中斷控制器:s3c2410采用arm920t cpu內(nèi)核,arm920t cpu的中斷包含irq和fiq。irq是普通中斷,fiq是快速中斷,fiq的優(yōu)先級高于irq。fiq中斷通常在進行大

24、批量的復(fù)制、數(shù)據(jù)傳輸?shù)裙ぷ鲿r使用。這里主要介紹s3c2410的中斷控制器的特殊寄存器。寄存器地 址訪 問描 述復(fù)位值intmod0x4a00004讀/寫終端模式寄存器:0=ipq模式;1=fiq模式。 多個irq中斷的仲裁過程在優(yōu)先級寄存器進行0x00000000intmsk0x4a00008讀/寫中斷屏蔽寄存器:0=允許中斷; 1=屏蔽中斷。 中斷屏蔽寄存器的主要功能是屏蔽相應(yīng)中斷的請求,即使中斷掛起寄存器的相應(yīng)位已經(jīng)置1,也就是說已經(jīng)有相應(yīng)的中斷請求發(fā)生了;但是如果此時中斷屏蔽寄存器的相應(yīng)位置1,則中斷控制器將屏蔽蓋中斷請求cpu不會響應(yīng)該中斷0xffffffff表3 s3c2410的中斷

25、控制器的特殊寄存器 (4)定時器控制寄存器(tcon) 地址:0x1000008,如下表所示。含 義位描 述初始化狀態(tài)定時器4自動重載on/off220=定時器4運行1次;1=自動重載模式0定時器4手動更新位210=無操作;1=更新tcntb40定時器4啟動位200=無操作;1=啟動定時器40定時器3自動重載on/off190=定時器3運行1次;1=自動重載模式0定時器3輸出倒相位180=倒相關(guān)閉;1=tout3倒相0定時器3手動更新位170=無操作;1=更新tcntb30定時器3啟動位160=無操作;1=啟動定時器30定時器2自動重載on/off150=定時器2運行1次;1=自動重載模式0定

26、時器2輸出倒相位140=倒相關(guān)閉;1=tout2倒相0定時器2手動更新位130=無操作;1=更新tcntb20定時器2啟動位120=無操作;1=啟動定時器20定時器1自動重載on/off110=定時器1運行1次;1=自動重載模式0定時器1輸出倒相位100=倒相關(guān)閉;1=tout1倒相0定時器1手動更新位90=無操作;1=更新tcntb10定時器1啟動位80=無操作;1=啟動定時器10保留7:5保留死區(qū)功能允許40=禁止;1=允許0定時器0自動重載on/off30=定時器0運行1次;1=自動重載模式0定時器0輸出倒相位20=倒相關(guān)閉;1=tout0倒相0定時器0手動更新位10=無操作;1=更新t

27、cntb00定時器0啟動位00=無操作;1=啟動定時器00表4 定時器控制寄存器(tcon)定義(5)定時器配置寄存器0(tcfg0),地址:0x51000000,如下表所示。含 義位描 述初始化狀態(tài)保留31:240x00死區(qū)長度23:16這8位控制死區(qū)的長度。一個單元時間的長度等于定時器0的一個單元時間長度0x00預(yù)分頻器115:8這8位數(shù)據(jù)等于定時器2、3和4的預(yù)分頻值0x00預(yù)分頻器27:0這8位數(shù)據(jù)等于定時器0和1的預(yù)分頻值0x00表5 定時器配置寄存器0(6)定時器減法緩沖寄存器(tcntbn)和比較緩沖寄存器(tcmpbn)定義如下表所示。寄存器讀/寫狀態(tài)描 述初始化狀態(tài)tcntb

28、nr/wtcntbn15:0設(shè)置減法緩沖寄存器的值0x00000000tcmpbnr/wtcmpbn15:0設(shè)置比較緩沖寄存器的值0x00000000表6 tcntbn和tcmpbn基本上通過這些寄存器的設(shè)置和控制就可以實現(xiàn)s3c2410定時器輸出pwm波,然后經(jīng)過驅(qū)動芯片對電機進行控制了。2.2.3 直流電機驅(qū)動芯片介紹本次設(shè)計采用的直流電機驅(qū)動芯片為l9110。l9110 是為控制和驅(qū)動電機設(shè)計的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片ic 之中,使外圍器件成本降低,整機可靠性提高。該芯片有兩個ttl/cmos兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅(qū)動電機的

29、正反向運動,它具有較大的電流驅(qū)動能力,每通道能通過750800ma 的持續(xù)電流,峰值電流能力可達1.52.0a;同時它具有較低的輸出飽和壓降;內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動繼電器、直流電機、步進電機或開關(guān)功率管的使用上安全可靠。l9110 被廣泛應(yīng)用于玩具汽車電機驅(qū)動、步進電機驅(qū)動和開關(guān)功率管等電路上。(1)l9110的特點: 1.低靜態(tài)工作電流; 2.寬電源電壓范圍:2.5v-12v; 3.每通道具有 800ma 連續(xù)電流輸出能力; 4.較低的飽和壓降; 5.ttl/cmos 輸出電平兼容,可直接連cpu; 6.輸出內(nèi)置鉗位二極管,適用于感性負(fù)載; 7.控制和驅(qū)動集

30、成于單片 ic 之中;圖4 l9110管腳圖 8.具備管腳高壓保護功能; 9.工作溫度:0-80。(2)管腳定義:序號符號功能1oaa路輸出管腳2vcc電源電壓3vcc電源電壓4obb路輸出管腳5gnd地線6iaa路輸入管腳7ibb路輸入管腳8gnd地線表7 l9110的管腳定義(3)邏輯關(guān)系:iaiboaobhlhllhlhllllhhll表8 l9110的邏輯關(guān)系(4)l9110的應(yīng)用電路圖:圖5 l9110的應(yīng)用電路圖2.3系統(tǒng)方案實現(xiàn)本次設(shè)計采用s3c2410來進行直流電機的控制,主要實現(xiàn)的功能有:直流電機的開啟、關(guān)閉、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速以及頻率和占空比的顯示等功能。圖6 arm直

31、流電機調(diào)速系統(tǒng)框圖(1)pwm波的產(chǎn)生:采用s3c2410自帶的定時器產(chǎn)生pwm波,設(shè)定gpb0輸出引腳的第2功能tout0,自動產(chǎn)生pwm波。 (2)按鍵處理:采用中斷形式來處理開啟、關(guān)閉、正轉(zhuǎn)、反轉(zhuǎn)等功能,沒有采用鍵盤掃描方式,大大節(jié)省了cpu的使用資源,提高了cpu的利用率。通過按鍵修改pwm波的占空比和頻率(即tcntbn和tcmpbn的值),正反轉(zhuǎn)則修改tcon寄存器中tout0的倒相功能即可。 (3)顯示模塊:對數(shù)碼管進行反復(fù)掃描顯示,并通過s3c2410的i/o口進行片選。沒有使用cd4511顯示譯碼器,采用了直接輸出8位碼進行顯示。這樣節(jié)省了硬件成本,并且充分的運用了s3c24

32、10的資源。 (4)直流電機控制模塊:輸出的pwm波經(jīng)過驅(qū)動芯片l9110后輸出給電機,從而對電機進行控制。3. 系統(tǒng)軟硬件實現(xiàn)3.1系統(tǒng)硬件電路設(shè)計(1)復(fù)位電路:在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運行時用戶的按鍵復(fù)位功能。復(fù)位電路可由簡單的rc電路構(gòu)成,也可以使用其他的相對較復(fù)雜但功能更完善的電路。經(jīng)使用證明rc復(fù)位電路復(fù)位邏輯是可靠的。工作原理如下:在系統(tǒng)上電時,通過電阻r1向電容c1充電,當(dāng)c1兩端的電壓未達到高電平的門限電壓時,reset端輸出為高電平,系統(tǒng)處于復(fù)位狀態(tài);當(dāng)c1兩端的電壓未達到高電平的門限電壓時,reset端輸出為低電平,系統(tǒng)進入正常工作狀態(tài)。如圖7所示

33、。(2)時鐘電路:在s3c2410中的時鐘控制邏輯能夠產(chǎn)生cpu所需的fclk時鐘信號、ahb總線外圍設(shè)備所需的hclk時鐘信號,以及apb總線外圍設(shè)備所需的pclk時鐘信號。s3c2410有兩個鎖相環(huán)(phase locked loops, pll),一個用于fclk、hclk和pclk,另一個專門用于usb模塊(48mhz)。時鐘控制邏輯可以再不需要pll的情圖7 系統(tǒng)的復(fù)位電路況下產(chǎn)生慢速時鐘,并且可以通過軟件來控制時鐘與每個外圍模塊是連接還是斷開,從而降低功耗。圖8 (a)rtc外部時鐘電路 (b)rll外部時鐘電路(3)鍵盤中斷電路: 實驗選擇的外部中斷是eint8eint11.中斷

34、產(chǎn)生分別來自按鈕sb1201、sb1202、sb1203、sb1204。當(dāng)按鈕按下時,eint8eint11與地連接,輸入低電平,從而向cpu發(fā)出中斷請求。當(dāng)cpu受理中斷后,進入相應(yīng)的中斷服務(wù)程序。sb1201控制電機開啟和關(guān)閉,sb1202控制電機的加速,sb1203控制電機的減速,sb1204控制電機的正轉(zhuǎn)和反轉(zhuǎn)。電路圖如圖9所示。圖9 鍵盤中斷電路(4)led顯示電路:led數(shù)碼管有四個,分別為兩位顯示電機的頻率(單位:khz),兩位顯示電機的占空比(單位:%)。使用共陽極led數(shù)碼管,低電平驅(qū)動顯示,循環(huán)掃描顯示。使用s3c2410的i/o口進行驅(qū)動。電路圖如下圖所示:圖10 led

35、數(shù)碼顯示電路(5)電機驅(qū)動電路:電機驅(qū)動電路采用l9110來對電機進行驅(qū)動,只要在l9110的端口6、7(ia、ib)輸入pwm信號,則在l9110的端口1、4(oa、ob)輸出較大的驅(qū)動電流對電機進行驅(qū)動。本次設(shè)計中采用tout0輸入pwm波,gpb1輸入低電平,兩個輸出引腳構(gòu)成pwm波,如果需要進行電機的反轉(zhuǎn),則使tout0反相,然后是gpb1輸出高電平即可實現(xiàn)。電機驅(qū)動電路如下圖所示。圖11 電機驅(qū)動電路3.2系統(tǒng)軟件設(shè)計程序流程圖:首先定義全局變量,在任何函數(shù)中都可以調(diào)用。全局變量用來控制電機的頻率和占空比。int8t ctcntb0,ctcmpb0; /定義兩個變量控制電機頻率和轉(zhuǎn)速

36、int8t cenchange0; /中斷允許變量int8t ctemp; /暫存數(shù)據(jù)ctcmpb0(1)主函數(shù):主函數(shù)中主要包括兩部分內(nèi)容,一是對arm的輸入輸出口進行系統(tǒng)初始化,另一個是運行pwm_text函數(shù)。程序如下: /-/ 主程序/-void main(void)sys_init(); /系統(tǒng)初始化pwm_text(); /輸出pwm波for(;); /其他程序(2)系統(tǒng)初始化函數(shù):系統(tǒng)初始化函數(shù)中將程序中使用到的i/o口進行功能設(shè)定。設(shè)定gpb0為第2功能端口tout0輸出,gpb1為輸出端口,gpf為數(shù)碼管低電平驅(qū)動端口,gpa為片選信號端口,gpg為第2功能端口外部中斷功能。

37、其主要程序如下:/-/ 系統(tǒng)初始化函數(shù)/-void sys_init()rgpbcon=rgpbcon&0xfffff0|(12)|(11);/定義gpb0為第2功能端口tout0輸出,gpb1為輸出端口rgpbup=0x0; /對端口b的上拉電阻進行復(fù)位rgpfcon=0x5555; /定義gpf為輸出端口,進而對led進行低電平驅(qū)動rgpfup=0x0; /對端口f的上拉電阻進行復(fù)位rgpacon=0xffff0; /定義gpa0gpa3為輸出端口,其余為默認(rèn)第2功能口、rgpaup=0x0; /對端口a的上拉電阻進行復(fù)位rgpgcon=rgpgcon&0xffffff00|(17)|(1

38、5)|(13)|(11); /定義gpg0gpg3為第2功能端口,功能為外部中斷功能rgpgup=0x0; /對端口g的上拉電阻進行復(fù)位/*-其余設(shè)置,在此不在贅述-*/(3)定時器初始化函數(shù):對定時器0進行初始化,聲明定時器中斷入口,預(yù)分頻值及中斷和定時器控制寄存器的設(shè)置等等。主要程序如下:/-/ 定時器初始化函數(shù)/-void timer_init(void)pisr_timer0=(unsigned)timer0_int; /定時器0的中斷入口ricfg0=(398)|(39); /預(yù)分頻器0/1=39,39ricfg1=(34)|3; /中斷;分頻器因子值=16/ timer0 cloc

39、k=pclk/(prescaler+1)/16rtcon=0; /禁止死區(qū),自動運轉(zhuǎn)停,不啟動(4)外部中斷初始化函數(shù):/-/ 外部中斷初始化函數(shù)/-void eint_init(void)rextint1=0x0; /復(fù)位外部中斷控制寄存器,設(shè)置為低電平觸發(fā)vicvectaddr8=(uint32) irq_eint8; /中斷8向量地址設(shè)置vicvectaddr9=(uint32) irq_eint9; /中斷9向量地址設(shè)置vicvectaddr10=(uint32) irq_eint10; /中斷10向量地址設(shè)置vicvectaddr11=(uint32) irq_eint11; /中斷

40、11向量地址設(shè)置rpriority=0x0; /使用默認(rèn)的中斷優(yōu)先級rintmod=0x0; /所有中斷均為irq中斷rintmsk=(bit_timer0);(5)定時器中斷處理程序:定時器0的中斷處理子程序,主要將修改后的ctcntb0和ctcmpb0賦值給定時器計數(shù)寄存器(rtcntb0)和定時器緩沖寄存器(rtcmpb0),從而改變輸出pwm波的頻率或者占空比。主要程序如下:/-/ 定時器中斷0處理函數(shù)/-void time0_int(void)clearpending(bit_timer0); /先清timer0中斷掛起if(cenchange0)rtcntb0=ctcntb0; /

41、將變量ctcntb0的值賦給定時器寄存器rtcmpb0=ctcmpb0; /將變量ctcmpb0的值賦給定時器寄存器cenchange0=0; /不允許改變轉(zhuǎn)速(6)外部中斷處理程序:外部中斷程序主要處理按鍵,通過按鍵控制電機速度的增加、減少、正轉(zhuǎn)、反轉(zhuǎn)等等。具體程序如下:/-/ 外部中斷8處理函數(shù)/-void irq_eint8(void)int i;/按鍵 去抖動rgpgcon=rgpgcon&0xfffffffc; /設(shè)置gpg0為輸入端口for(i=0;i100;i+);if(rgpgdat&(10) /若是假按鍵,直接退出rgpgcon=rgpgcon|0xfffffffe /設(shè)置回

42、中斷if(rtcon&0x000004=0)rgpbcon=rgpbcon&0xfffff0|(12)|(10);/定義gpb0為輸出端口,gpb1為輸出端口rgpbdat&=(01|00); /gpb1輸出0,gpb0輸出0,停止電機for(i=0;i10000;i+); /延時處理rtcon|=(12); /tout0倒相rgpbdat|=(11); /gpb1輸出1rgpbcon=rgpbcon&0xfffff0|(12)|(11);/定義gpb0為第2功能端口tout0輸出,gpb1為輸出端口cenchange0=1; if(rtcon&0x000004=0x000004)rgpbcon=rgpbcon&0xfffff0|(12)|(10);/定義gpb0為輸出端口,gpb1為輸出端口rgpbdat&=(01|00); /gpb1輸出0,gpb0輸出0,停止電機for(i=0;i10000;i+); /延時處理rtcon&=(02); /tout0倒相rgpbdat&=7fd; /gpb0輸出0rgpbcon=rgpbcon&0xfffff0|(12)|(11);/定義gpb0為第2功能端口tout0輸出,gpb1為輸出端口cenchange0=1;return; rgpgcon=rgpgcon|0xfffffffe /設(shè)置回

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論