機械電子工程畢業(yè)設(shè)計-基于proteus的直流電機控制系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  基于Proteus的直流電機控制系統(tǒng)的設(shè)計</p><p><b>  誠信聲明</b></p><p>  本人鄭重聲明:本論文及其研究工作是本人在指導(dǎo)

2、教師的指導(dǎo)下獨立完成的,在完成論文時所利用的一切資料均已在參考文獻中列出。</p><p><b>  本人簽名:</b></p><p> 所在學(xué)院</p><p> 專業(yè)班級機械電子工程</p><p> 學(xué)生姓名</p><p> 指導(dǎo)教師</p><p> 完成日期

3、</p><p><b>  畢業(yè)設(shè)計任務(wù)書</b></p><p>  設(shè)計題目: 基于Proteus的直流電機控制系統(tǒng)的設(shè)計 </p><p>  1.設(shè)計的主要任務(wù)及目標(biāo)</p><p>  本設(shè)計是利用Pr

4、oteus軟件與直流電動機,通過合理的設(shè)備選型、參數(shù)設(shè)置和程序設(shè)計,完成對直流電動機的正反轉(zhuǎn)控制及直流電機的調(diào)速控制,實現(xiàn)控制功能,達到本次設(shè)計的目的。首先應(yīng)參閱各類相關(guān)資料,完成電動機控制回路原理圖,然后進行硬件設(shè)計及程序編制與調(diào)試。</p><p>  2.設(shè)計的基本要求和內(nèi)容</p><p> ?。?)查閱關(guān)于直流電機控制的文獻資料,并撰寫開題報告;</p><p

5、> ?。?)熟悉Proteus的開發(fā)環(huán)境、并完成整體方案的設(shè)計;</p><p>  (3)完成直流電機控制回路的硬件、軟件設(shè)計;</p><p> ?。?)編寫設(shè)計說明書</p><p><b>  3.主要參考文獻</b></p><p>  [1] 代啟化.基于Proteus的電路設(shè)計與仿真[J]. 現(xiàn)代電子

6、技術(shù),2006,29(19):84-86</p><p>  [2] 張俊凡.基于直流電機變頻調(diào)速系統(tǒng)的設(shè)計與實現(xiàn)[D]. 學(xué)位授予單位:華中科技大學(xué) 學(xué)位名稱:碩士 學(xué)位年度:2009 </p><p>  [3] 劉春華,王向周,南順成,徐冬平.基于PWM控制器的低壓直流電機控制系統(tǒng)設(shè)計及其應(yīng)用[C]. 會議名稱:第3屆制造業(yè)自動化與信息化學(xué)術(shù)交流會 日期:2004</p&

7、gt;<p><b>  4.進度安排</b></p><p>  基于Proteus的直流電機控制系統(tǒng)的設(shè)計</p><p>  摘要:直流電機作為最常見的一種電機,具有非常優(yōu)秀的線性機械特性、較寬的調(diào)速范圍、良好的啟動性以及簡單的控制電路等優(yōu)點,在社會的各個領(lǐng)域中都得到了十分廣泛的應(yīng)用。 </p><p>  本文設(shè)計了以單片

8、機AT89C51和L298驅(qū)動芯片控制直流電機脈寬調(diào)制(PWM)調(diào)速系統(tǒng)。主要介紹了直流電機控制系統(tǒng)的基本方案,闡述了該系統(tǒng)的基本結(jié)構(gòu)、工作原理、運行特性及其設(shè)計方法。本系統(tǒng)采用霍爾元器件測量電動機的轉(zhuǎn)速,用單片機軟件實現(xiàn)PWM調(diào)整電機轉(zhuǎn)速,給出了程序流程圖、程序。硬件電路實現(xiàn)了對電機的預(yù)置初值、正反轉(zhuǎn)、急停、加速、減速的控制,以及轉(zhuǎn)速在四位LED上的顯示。</p><p>  關(guān)鍵詞:單片機AT89C51, 脈

9、寬調(diào)制,直流電機</p><p>  Design of the control system of dc motor based on Proteus</p><p>  Abstract:The direct current machine takes the most common one kind of electrical machinery, has the very outs

10、tanding linear physical characteristics, the wide governor deflection, the good starting as well as merits and so on simple control circuit, therefore obtained the very widespread application in society’s each domain.<

11、;/p><p>  This article designs the MCU AT89C51 and L298 drive chip control dc motor pulse width modulation (PWM) control system. Mainly introduces the control system of dc motor, this paper expounds the basic s

12、cheme of the system is the basic structure, working principle,operation characteristics and design method. This system USES hall components measured the speed of the motor used in the simulation software , MCU software r

13、ealization PWM motor speed adjustment, the program flow chart, keilc Proteus pro</p><p>  Key words: Single Chip Microcontroller, AT89C51, Pulse Width Modulation, DC Motor</p><p><b>  目

14、錄</b></p><p><b>  1 緒論1</b></p><p><b>  1.1研究背景1</b></p><p><b>  1.2研究意義1</b></p><p>  2 系統(tǒng)硬件設(shè)計3</p><p>  2.1

15、直流電機的簡介3</p><p>  2.1.1直流電機的基本結(jié)構(gòu)3</p><p>  2.1.2直流電機的工作原理3</p><p>  2.1.3直流電機調(diào)速原理3</p><p>  2.2系統(tǒng)方案設(shè)計6</p><p>  2.2.1直流電機驅(qū)動方案6</p><p>  

16、2.2.2 PWM方式的選擇6</p><p>  2.2.3 PWM控制信號的產(chǎn)生方式7</p><p>  2.2.4正反轉(zhuǎn)的設(shè)計7</p><p>  2.2.5速度調(diào)控的實現(xiàn)7</p><p><b>  2.3系統(tǒng)原理8</b></p><p>  2.4系統(tǒng)模塊的設(shè)計9&l

17、t;/p><p>  2.4.1單片機最小系統(tǒng)設(shè)計9</p><p>  2.4.2直流電機驅(qū)動電路設(shè)計12</p><p>  2.4.3轉(zhuǎn)速測量及顯示模塊設(shè)計15</p><p>  3 系統(tǒng)軟件設(shè)計19</p><p><b>  3.1主程序19</b></p><

18、;p>  3.2 PWM控制程序24</p><p>  3.3正反轉(zhuǎn)控制程序25</p><p>  3.4顯示功能的實現(xiàn)26</p><p>  3.5鍵盤的功能的實現(xiàn)與設(shè)計28</p><p><b>  結(jié) 論30</b></p><p><b>  參考文獻

19、31</b></p><p><b>  致 謝32</b></p><p>  附錄1 系統(tǒng)硬件原理圖33</p><p>  附錄2 系統(tǒng)程序34</p><p><b>  1 緒論</b></p><p><b>  1.1研究背景<

20、;/b></p><p>  1964年U.stemmler和A.Schonung首先提出把PWM技術(shù)應(yīng)用到電機傳動中,從此為電機傳動的推廣應(yīng)用開辟了新的局面[1]。進入80年代以來,由于微電子技術(shù)、電力電子技術(shù)、傳感器技術(shù)、永磁材料技術(shù)、電動控制技術(shù)、微機應(yīng)用技術(shù)的興起,電動機有了最新的發(fā)展成果[2]。正是這些技術(shù)的進步使電機控制技術(shù)在近20多年內(nèi)發(fā)生了翻天覆地的變化,逐漸形成以體積小、耗電少、成本低、速

21、度快、功能強、可靠性高的大規(guī)模集成電路微處理器,與電機相結(jié)合,把電機控制推上了一個嶄新的階段。其中電動機的控制部分已由模擬控制逐漸讓位于以單片機為主的微處理器控制,形成數(shù)字和模擬的混合控制系統(tǒng)和純數(shù)字控制的應(yīng)用,并向全數(shù)字化控制方向快速發(fā)展[3]。電動機的驅(qū)動部分所用的功率器件經(jīng)歷了幾次更新?lián)Q代,目前開關(guān)速度更快、控制更容易的全控型功率器件MOSFET和IGBT成為主流。功率器件控制條件的變化和微電子技術(shù)的使用也使新型的電動控制方法能夠

22、得到實現(xiàn),脈寬調(diào)制控制方法(PWM和SPWM),變頻技術(shù)在直流調(diào)速和交流調(diào)速中獲得廣泛的應(yīng)用[4]。永磁材料技術(shù)的突破與微電子技術(shù)的結(jié)合又產(chǎn)生了一批新型電動機,如永磁直流電動機、交</p><p><b>  1.2研究意義</b></p><p>  隨著現(xiàn)代科學(xué)技術(shù)的不斷更新發(fā)展,電動機技術(shù)已經(jīng)頻頻出現(xiàn)在科研,軍事,教育,工業(yè),以及人們的日常生活中。在目前實際應(yīng)用

23、中,主要出現(xiàn)有步進電動機和直流電動機兩大類,他們在不同的領(lǐng)域中都起著比較核心的作用[6]。</p><p>  對電動機的控制可分為簡單控制和復(fù)雜控制兩種,簡單控制是對電動機進行啟動、制動、正反轉(zhuǎn)控制和順序控制;復(fù)雜控制是對電動機的轉(zhuǎn)速轉(zhuǎn)速、轉(zhuǎn)角、轉(zhuǎn)矩、電壓、電流等物理量進行控制。本次設(shè)計可以作為簡單控制向復(fù)雜控制的過度,實現(xiàn)直流電機啟動、制動、正反轉(zhuǎn)控制外,還要進行轉(zhuǎn)速控制為以后復(fù)雜控制做為基礎(chǔ)學(xué)習(xí)。 <

24、/p><p>  直流電動機具有良好的起動、制動性能,宜于在大范圍內(nèi)平滑調(diào)速,在許多需要調(diào)速或快速正反向的電力拖動領(lǐng)域中得到了廣泛的應(yīng)用。從控制的角度來看,直流調(diào)速還是交流拖動系統(tǒng)的基礎(chǔ)。早期直流電動機的控制均以模擬電路為基礎(chǔ),采用運算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試困難,阻礙了直流電動機控制技術(shù)的發(fā)展和應(yīng)用范圍的推廣。隨著單片機技術(shù)的日新月

25、異,使得許多控制功能及算法可以采用軟件技術(shù)來完成,為直流電動機的控制提供了更大的靈活性,并使系統(tǒng)能達到更高的性能。采用單片機構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率,可以實現(xiàn)復(fù)雜的控制:控制靈活性和適應(yīng)性好,無零點漂移,控制精密高,可提供人機界面,多機聯(lián)網(wǎng)工作。 采用智能功率電路驅(qū)動比傳統(tǒng)的分立功率器件組成的驅(qū)動體積小,功能強;減少了電路元器件數(shù)量,提高了系統(tǒng)的可靠性??刂齐娐饭柟β孰娐芳稍谝黄?,使監(jiān)控更

26、容易實現(xiàn)。集成化使電路的連線減少,減少了布線電容和電感以及信號傳輸?shù)难訒r,增加了系統(tǒng)抗干擾的能力,集成化使系統(tǒng)成本大大降低。</p><p><b>  2 系統(tǒng)硬件設(shè)計</b></p><p>  2.1 直流電機的簡介</p><p>  2.1.1直流電機的基本結(jié)構(gòu)</p><p>  直流電機由定子和轉(zhuǎn)子兩部分組

27、成。在定子上裝有磁極(電磁式直流電機磁極由繞在定子上的磁繞提供), 其轉(zhuǎn)子由硅鋼片疊壓而成,轉(zhuǎn)子外圈有槽,槽內(nèi)嵌有電樞繞組,繞組通過換向器和電刷引出,直流電機的結(jié)構(gòu)如下圖2.1所示:</p><p>  圖2.1 直流電動機結(jié)構(gòu) 圖2.2 直流電動機工作原理圖 </p><p>  2.1.2直流電機的工作原理</p><p>

28、  如圖2.2所示,磁極N、S間裝著一個可轉(zhuǎn)動的鐵磁圓柱體,直流電機里邊固定有環(huán)狀永磁體,圓柱體的表面上固定著一個線圈 abcd,當(dāng)電流通過轉(zhuǎn)子上的線圈時產(chǎn)生安培力,從而產(chǎn)生旋轉(zhuǎn)。根據(jù)左手定則可知,當(dāng)流過線圈中的電流改變方向時,線圈的受力方向也將改變,因此通過改變線圈電流的方向可實現(xiàn)改變電機轉(zhuǎn)動的方向。</p><p>  2.1.3直流電機調(diào)速原理 </p><p>  根據(jù)勵磁方式不同

29、,直流電機分為自勵和他勵兩種類型。不同勵磁方式的直流電機機械特性曲線有所不同。但在調(diào)節(jié)電壓時都可以改變它們的速度 ,由公式2.1</p><p>  n=(Ua-IaRa)/Ceφ (2.1)</p><p>  可知調(diào)節(jié)電壓都可以改變速度,本設(shè)計實現(xiàn)無級調(diào)速,可通過PWM控制固定電壓的直流電源開關(guān)頻率,從而改變負載兩端的電壓,進而達到

30、控制要求。</p><p>  直流電機轉(zhuǎn)速的數(shù)學(xué)模型可用圖2.3表示、由圖可見電機的電樞電動勢Ea的正方向與電樞電流Ia的方向相反,Ea為反電動勢,電磁轉(zhuǎn)矩T1的正方向與轉(zhuǎn)速n的方向相同,是拖動轉(zhuǎn)矩,軸上的機械負載轉(zhuǎn)矩T2及空載轉(zhuǎn)矩T0均與n相反,是制動轉(zhuǎn)矩</p><p>  圖2.3 直流電機的數(shù)學(xué)模型</p><p>  根據(jù)基爾霍夫定律,得到電樞電壓平衡方

31、程式</p><p>  U=Ea-Ia(Ra+Rc) (2.2)</p><p>  上式2.2中,Ra為電樞回路電阻,電樞回路串聯(lián)保繞阻與電刷接觸電阻的總和,Rc是外接在電樞回路中的調(diào)節(jié)電阻</p><p>  由此可得到直流電機的轉(zhuǎn)速公式為:</p><p>  n=(Ua-IaR

32、a)/Ceφ (2.3)</p><p>  上式2.3中,Ce為電動勢常數(shù),φ是磁通量??傻?</p><p>  n=Ea/ Ceφ (2.4)</p><p>  由上式2.4可以看出,對于一個己經(jīng)制造好的電機,當(dāng)勵磁電壓和負載轉(zhuǎn)矩恒定時,它的轉(zhuǎn)

33、速由電樞兩端的電壓Ea決定,電樞電壓越高,電機轉(zhuǎn)速就越快,電樞電壓降低到0時,電機就停止轉(zhuǎn)動:改變電樞電壓的極性,電機就反轉(zhuǎn)。</p><p>  對于本課題直流電機來說,電壓是一個脈動電壓,如圖2.4,在調(diào)速中通過脈動電壓來控制電動機的平均電壓,即PWM調(diào)速,在驅(qū)動控制調(diào)速系統(tǒng)中,按一個固定的頻率來接通和斷開電源,并根據(jù)需要改變一個周期內(nèi)"接通"和"斷開"時間的長短。通過

34、改變直流電機電樞上電壓的"占空比"來改變平均壓的大小,從而控制電動機的轉(zhuǎn)速。在脈沖作用下,當(dāng)電機通電時,速度增加,電機斷電時,速度逐漸減少。只要按一定規(guī)律改變通、斷電的時間,即可讓電機轉(zhuǎn)速得到控制。</p><p>  圖2.4 電樞兩端的脈動電壓</p><p>  設(shè)電機接通電源時電機轉(zhuǎn)速最大為Vmax, 設(shè)占空比為a,則電機的平均速度為:</p>&

35、lt;p>  Vd=Vmax*a (2.5)</p><p>  式2.5中Vd---電機的平均速度,Vmax---電機全通電時的速度,a=t1/T---占空比。 由公式2.5可見當(dāng)我們改變占空比a時,就可以得到不同的電機平均速度Vd 。由2.4可得</p><p>  n=Ea/ Ceφ≈Vmax*a/Ceφ=ka

36、 (2.6)</p><p>  假設(shè)電樞內(nèi)阻很小的情況下上式2.6中的k= Vmax/ Ceφ是常數(shù),則施加不同的占空比時,測的占空比與轉(zhuǎn)速的關(guān)系圖如圖2.5</p><p>  圖2.5 占空比與電機轉(zhuǎn)速關(guān)系</p><p>  由上圖可知平均速度與占空比并不是嚴格的線性關(guān)系,原因是電樞本身有電阻,但在一般的應(yīng)用直流電機的內(nèi)阻都很小,

37、故可以將其近似地看成線性關(guān)系。</p><p>  由此可見改變施加在電樞兩端的電壓就可以改變電機的轉(zhuǎn)速,這就是直流電機調(diào)速原理。</p><p><b>  2.2系統(tǒng)方案設(shè)計</b></p><p>  2.2.1直流電機驅(qū)動方案</p><p>  方案一:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)整電動機的分壓,從而達到調(diào)速的目

38、的。但是電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般電動機的電阻很小,但電流很大,分壓不僅會降低效率,而且實現(xiàn)很困難。 </p><p>  方案二:采用繼電器對電動機的開或關(guān)進行控制,通過開關(guān)的切換對電機的速度進行調(diào)整。這個方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢、機械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。 </p><p>  方案三:采用由L2

39、98的H型PWM電路。用單片機控制L298驅(qū)動芯片使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電動機轉(zhuǎn)速。這種電路效率非常高,H型電路保證了可以簡單地實現(xiàn)轉(zhuǎn)速和方向的控制。電子開關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。 </p><p>  綜合上述三種方案,方案三調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,因此在本次設(shè)計中采用方案三,由電動機的驅(qū)動芯片為L298來驅(qū)動電機轉(zhuǎn)動。</p&

40、gt;<p>  2.2.2 PWM方式的選擇</p><p>  在PWM調(diào)速時,占空比a是一個重要的參數(shù),如下圖2.6所示,以下3種方法都可以改變占空比的值。</p><p>  方案一:定寬調(diào)頻法,這種是保持t1不變只改變t,這樣使得周期T也隨之改變。</p><p>  方案二:調(diào)寬調(diào)頻法,這種是保持t不變而改變t1,這樣使得周期T或頻率也隨之

41、改變。</p><p>  方案三:定頻調(diào)寬法,這種是周期T不變而改變t1 和 t ,前兩種方法由于在調(diào)速時改變了控制脈沖的周期或頻率,當(dāng)控制脈沖的頻率與系統(tǒng)的固有頻率接近時將會引起震蕩,因此前2種方法用得很少。目前在直流電機的控制中主要用定頻調(diào)寬法。</p><p>  圖 2.6 占空比a=t1/T</p><p>  2.2.3 PWM控制信號的產(chǎn)生方式&l

42、t;/p><p>  方案一:分立電子元件組成的PWM信號發(fā)生器</p><p>  這種方法是用分立的邏輯電子元件組成PWM信號發(fā)生器,其為早期的方法,現(xiàn)在逐漸被淘汰。</p><p><b>  方案二:軟件模擬法</b></p><p>  利用單片機的一個I/O口的引腳,通過軟件對這個引腳不斷地輸出高低電平來實現(xiàn)PW

43、M波的輸出,采用定時器做為脈寬控制的定時方式,這一方式產(chǎn)生的脈沖寬度極其精確,誤差只在幾個us。本設(shè)計采用方案二。</p><p>  2.2.4正反轉(zhuǎn)的設(shè)計</p><p>  單片機通過L298中的H橋從AT89C51中的P3.0、 P3.1輸出控制信號與L298的IN1、IN2相連,通過控制P3.0、 P3.1的端口的高低電平,從而達到控制電機轉(zhuǎn)向的目的。</p>&l

44、t;p>  2.2.5速度調(diào)控的實現(xiàn)</p><p>  單片機通過控制L298的使能端“允許”或“禁止”,通過改變a(脈沖寬度)的值,從而達到控制PWM脈沖寬度調(diào)節(jié)電機轉(zhuǎn)速的目的,這里利用定時計數(shù)器讓單片機的P3口的P3.0引腳輸出不同的方波,然后經(jīng)驅(qū)動芯片L298放大后控制直流電機。驅(qū)動電機的輸入電壓是兩腳的電壓差,在調(diào)速時一根引腳線為低電平,另一個引腳產(chǎn)生調(diào)速方波, 這樣兩個引腳的電壓差就可通過控制其

45、中一個引腳來控制。定時計數(shù)器若干時間 比如(0.1ms)中斷一次,就使P3.0或P3.1 產(chǎn)生一個高電平或低電平。直流電機的速度分為100個等級 ,因此一個周期就有100個脈沖,速度等級對應(yīng)一個周期的高電平的個數(shù)。占空比為高電平脈沖個數(shù)占一個周期總脈沖個數(shù)的百分數(shù)。一個周期加在電機兩端的電壓為脈沖高電壓乘以占空比 。占空比越大,加在電機兩端的電壓越大,電機轉(zhuǎn)動越快。電機的平均速度等于在一定的占空比下電機的最大速度乘以占空比 。當(dāng)我們改變

46、占空比時,就可以得到不同的電機平均速度,從而達到調(diào)速的目的。</p><p><b>  2.3系統(tǒng)原理</b></p><p>  本文主要介紹利用單片機對PWM信號的軟件實現(xiàn)辦法。采用單片機構(gòu)成的直流電動機數(shù)字PWM調(diào)速系統(tǒng),其控制核心主要由顯示模塊、鍵盤、驅(qū)動模塊、測速模塊、直流電機組成。系統(tǒng)采用L298芯片作為PWM驅(qū)動直流電動機的供電主回路,單片機通過軟件延

47、時處理輸出PWM信號,實現(xiàn)了直流電動機的轉(zhuǎn)速控制,在運行中獲得了良好的動靜態(tài)性能。</p><p>  (1)鍵盤識別:通過P1口的底電平輸入,識別不同的按鍵</p><p> ?。?)通過對單片機的程序輸入來實現(xiàn)對直流電動機的啟動、停止、正反轉(zhuǎn)、加速、減速的控制。</p><p> ?。?)由于單片機的驅(qū)動能力不強,驅(qū)動直流電機需要很強的電流,所以必須有外圍的驅(qū)動

48、電路,因此本設(shè)計采用L298芯片放大單片機的微弱電流來驅(qū)動直流電動機轉(zhuǎn)動。系統(tǒng)框圖如下:</p><p>  圖2.7系統(tǒng)硬件框圖</p><p>  故本次設(shè)計由3大模塊來實現(xiàn)基本功能:</p><p> ?。?)單片機系統(tǒng),單片機采用PWM控制原理控制直流電動機,設(shè)計復(fù)位電路和晶振電路。</p><p> ?。?)外圍電路,實現(xiàn)單片機和電

49、動機驅(qū)動電路的電路接口,直流電動機機動電路和直流電動機的接口電路,以及按鍵顯示接口電路</p><p> ?。?)系統(tǒng)軟件編寫基于PWM控制程序,實現(xiàn)對直流電機的控制功能。</p><p>  2.4系統(tǒng)模塊的設(shè)計</p><p>  2.4.1單片機最小系統(tǒng)設(shè)計</p><p>  單片機最小系統(tǒng):所謂單片機最小系統(tǒng)就是指由單片機和一些基本

50、的外圍電路所組成的一個可以是單片機工作的系統(tǒng),一般來說,它包括單片機,晶振電路和復(fù)位電路。如下圖2.8所示:</p><p><b>  (1)單片機</b></p><p>  單片機是整個測量系統(tǒng)的主要部分,擔(dān)負對前端脈沖信號的處理、計算、以及信號的同步,計時等任務(wù);其次將測量的數(shù)據(jù)經(jīng)計算后,將得到的轉(zhuǎn)速值傳送到顯示接口中,用數(shù)碼管顯示數(shù)值。在本系統(tǒng)中考慮到計數(shù)的

51、范圍、使用的定時/計數(shù)器的個數(shù)及I/O口線,選用AT89C51單片機。</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲的低電壓,高性能CMOS 8位微處理器。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準的MCS-51指令集和輸出管腳相兼容。由于將多功能

52、8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖2.9所示</p><p><b>  管腳說明:</b></p><p><b>  VCC:供電電壓。</b></p>

53、<p><b>  GND:接地。</b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。</p>

54、<p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。 <

55、;/p><p>  圖 2.9 AT89C51單片機引腳序列</p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高

56、八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故

57、。</p><p>  P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p>

58、<p>  P3.4 T0(計時器0外部輸入)</p><p>  P3.5 T1(計時器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p&g

59、t;  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p><b>  (2)復(fù)位電路:</b></p><p>  復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進行計算。和計算器清零按鈕有所不同的是,復(fù)位電路啟動的手段有所不同。一是在給電路通電時馬上進行復(fù)位操作;二是在必

60、要時可以由手動操作。 </p><p>  復(fù)位電路的作用在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。 </p><p>  單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到

61、芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位  </p><p><b>  ①手動按鈕復(fù)位 </b></p><p>  手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入

62、高電平如圖2.10所示。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以完全能夠滿足復(fù)位的時間要求。</p><p><b> ?、谏想姀?fù)位 </b></p><p>  AT89C51的上電復(fù)位電路如圖2.11所示

63、,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。上電壓從無到有在RESET處會先處于高電平一段時間,然后由于該點通過電阻接地則RESET該點的電平會逐漸的改變?yōu)榈碗娖?,從而使得單片機復(fù)位口電平從1到0,達到給單片機復(fù)位的功能。</p><p>  圖2.10 上電復(fù)位電路 圖2.11 上電/外部復(fù)位電路</p><p>  由于本系統(tǒng)的設(shè)計不需

64、要太復(fù)雜,直接采用手動復(fù)位即可。</p><p><b>  (3)時鐘電路</b></p><p>  晶體振蕩電路的簡稱,AT89C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。晶體振蕩電路如圖所示,晶振有一個重要參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。

65、如下圖2.12所示:</p><p>  圖2.12 晶振電路</p><p>  2.4.2直流電機驅(qū)動電路設(shè)計</p><p>  根據(jù)電動機的驅(qū)動可分為方向可逆和方向不可逆兩種,本次設(shè)計由設(shè)計規(guī)則選擇方向可逆的電路驅(qū)動。由于單片機的輸出電壓和電流都很小,在許多的應(yīng)用場合單片機都不能驅(qū)動電機,因此必須采用一些驅(qū)動芯片或構(gòu)件驅(qū)動電路以驅(qū)動控制對象。由于電路的要求,

66、本系統(tǒng)采用L298來驅(qū)動直流電機的轉(zhuǎn)動。</p><p>  L298是ST公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;它是由達林頓管組成的雙橋高電壓大電流集成PWM電路,可以用來驅(qū)動直流電動機和步進電動機、繼電器、線圈等感性負載,PWM電路由四個大功率晶體管組成的H橋電路構(gòu)成,四個晶體管分為組,交替導(dǎo)通和

67、截止 ,用單片機控制達林頓管使之工作在開關(guān)狀態(tài),根據(jù)調(diào)整輸入脈沖的占空比,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于管子工作只在飽合和截止?fàn)顟B(tài)下,效率非常高。H型電路使實現(xiàn)轉(zhuǎn)速和方向的控制簡單化 ,且電子開關(guān)的速度很快,穩(wěn)定性也極強,是一種廣泛采用的PWM調(diào)速技術(shù)。L298內(nèi)部的每個H 橋的下側(cè)橋臂晶體管發(fā)射極連在一起,其輸出腳(SENSA和SENSB) 用來連接電阻檢測電流。單片機通過控制L298的使能端“允許“或者“禁止”,通過改變a(脈沖寬

68、度)的值,從而達到控制PWM脈沖寬度調(diào)節(jié)電機轉(zhuǎn)速的目的,即通過軟件延時程序延時得到PWM信號與ENA相連,來調(diào)節(jié)電機的加速減速。L298芯片的引腳功能見下表2.1</p><p>  表2.1 L298引腳功能</p><p>  在本次設(shè)計中采用L298驅(qū)動電機與其連接的電氣原理圖如2.13所示,參數(shù)如表2.2所示:</p><p>  圖2.13 L298的驅(qū)動

69、連接電路</p><p>  表2.2 L298的工作參數(shù)</p><p>  2.4.3轉(zhuǎn)速測量及顯示模塊設(shè)計</p><p><b>  (1)轉(zhuǎn)速測量</b></p><p>  由于本設(shè)計需要測量電動機的轉(zhuǎn)速,因此需要一個測量工具,以下是對測量元器件的原理及測量方法的介紹:</p><p>

70、;<b> ?、俎D(zhuǎn)速測量原理</b></p><p>  轉(zhuǎn)速是工程上一個常用的參數(shù),旋轉(zhuǎn)體的轉(zhuǎn)速常以每分鐘的轉(zhuǎn)數(shù)來表示。其單位為r/min。轉(zhuǎn)速的測量方法很多,由于轉(zhuǎn)速是以單位時間內(nèi)的轉(zhuǎn)數(shù)來衡量的,因此采用霍爾元器件測量轉(zhuǎn)速是較為常用的一種測量方法。</p><p>  霍爾元器件是由導(dǎo)體材料制成的一種薄片,器件的長、寬、高分別是l、b、d。若在垂直于薄片平面(沿厚

71、度d)方向施加外加磁場B,在沿l方向的兩個端面加以外電場,則有一定的電流經(jīng)過。由于電子在磁場中運動,所以將受到一個洛倫磁力,其大小為:fl=qVB。式中:fl---洛倫磁力,q---載流子電荷,V---載流子運動速度,B---磁感應(yīng)強度。</p><p>  這樣使電子的運動軌跡發(fā)生偏移,在霍爾元器件薄片的兩個側(cè)面分別產(chǎn)生電子積聚或電荷過剩,形成霍爾電場,霍爾元器件兩個側(cè)面間電位差UH稱為霍爾電壓?;魻栯妷捍笮?/p>

72、: </p><p>  UH=RH×I×B/d(mV) (2.7)</p><p>  式2.7中:RH---霍爾常數(shù),d----元件厚度,B---磁感應(yīng)強度,I---控制電流。設(shè)KH=RH/d,則UH=KH×I×B(mV),KH為霍爾元器件的靈敏系數(shù)(mV/mA/T),它表示該霍爾元器件在單位磁感

73、應(yīng)強度和單位控制點留下輸出霍爾電動勢的大小。應(yīng)注意,當(dāng)電磁感應(yīng)強度B反向時,霍爾電動勢也反向。若控制電流保持不變,則霍爾感應(yīng)電壓將隨外界磁場強度而變化,根據(jù)這一原理,可以將一塊永久磁鋼固定在電動機的轉(zhuǎn)軸上轉(zhuǎn)盤的邊沿,轉(zhuǎn)盤隨被測軸旋轉(zhuǎn),磁鋼也將跟著同步旋轉(zhuǎn),在轉(zhuǎn)盤附近安裝一個霍爾元件,轉(zhuǎn)盤隨軸旋轉(zhuǎn)時,霍爾元件收到磁鋼所產(chǎn)生的磁場影響,故輸出脈沖信號,其頻率和轉(zhuǎn)速成正比,測出脈沖的周期或頻率即可計算出轉(zhuǎn)速。本系統(tǒng)在進行軟件仿真時采用moto

74、rencoder電機代替霍爾元件,該電機每轉(zhuǎn)動一圈產(chǎn)生一個脈沖,通過對產(chǎn)生的脈沖值計數(shù)可以測出電機轉(zhuǎn)動的速度。</p><p><b>  ②轉(zhuǎn)速測量方法</b></p><p>  轉(zhuǎn)速是工程中應(yīng)用非常廣泛的一個參數(shù),早期模擬量的模擬處理一直是作為轉(zhuǎn)速測量的主要方法。這種測量方法在測量范圍和測量精度上,已不能適應(yīng)現(xiàn)代科技發(fā)展的要求。而隨著大規(guī)模及超大規(guī)模集成電路技術(shù)

75、的發(fā)展,數(shù)字測量系統(tǒng)得到普遍應(yīng)用。利用單片機對脈沖數(shù)字信號的強大處理能力,應(yīng)用全數(shù)字化的結(jié)構(gòu),使數(shù)字測量系統(tǒng)的越來越普及。在測量范圍和測量精度方面都有極大的提高。</p><p>  一般轉(zhuǎn)速測量系統(tǒng)有以下幾個部分構(gòu)成,轉(zhuǎn)速測量框圖如下圖2.14所示:</p><p>  圖2.14 轉(zhuǎn)速測量框圖</p><p>  單片機通過P3.4 口接受電機發(fā)出的脈沖信號,在

76、仿真里是采用protues里的motor-encoder電機,用這個可以簡單的測得電機的轉(zhuǎn)速,主要原理是編碼器可以根據(jù)電機轉(zhuǎn)一圈輸出脈沖數(shù)、根據(jù)統(tǒng)計的脈沖量得到電機的轉(zhuǎn)數(shù),左右兩邊是檢測左轉(zhuǎn)還是右轉(zhuǎn)。哪邊先高電平,就是往哪邊轉(zhuǎn)。在本次設(shè)計中采用檢測每轉(zhuǎn)動一周高電平一次來簡單的計算電機的轉(zhuǎn)速。單片機T1采用模式一定時中斷模式,TO采用模式一計數(shù)中斷定計數(shù)模式,由高8位THO和低8位TLO兩個8位寄存器組成,當(dāng)設(shè)定計算值為65536-500

77、00=15536( D)時,轉(zhuǎn)換為十六進制就是3CB0(H)此時THO=3C, TLO=BO,定時器Tl計數(shù)50ms。此時電機每轉(zhuǎn)動一周,P3.4高電平一次,存儲電機轉(zhuǎn)動的轉(zhuǎn)數(shù),同時來集2.5s之后將電機的轉(zhuǎn)數(shù)進行LED顯示。</p><p><b>  (2)速度的顯示</b></p><p>  在本設(shè)計中需要顯示電機轉(zhuǎn)動的速度,因此需要選擇一個合適的顯示器,一般

78、在生活中用LED與LCD這兩種顯示器,由于LED顯示器與LCD顯示器相比,LED在亮度、功耗、可視角度和刷新速率等方面,都更具優(yōu)勢。LED與LCD的功耗比大約為10:1,而且更高的刷新速率使得LED在視頻方面有更好的性能表現(xiàn),能提供寬達160°的視角,可以顯示各種文字、數(shù)字、彩色圖像及動畫信息,也可以播放電視、錄像、VCD、DVD等彩色視頻信號,多幅顯示屏還可以進行聯(lián)網(wǎng)播出。有機LED顯示屏的單個元素反應(yīng)速度是LCD液晶屏的1

79、000倍,在強光下也可以照看不誤,并且適應(yīng)零下40度的低溫。利用LED技術(shù),可以制造出比LCD更薄、更亮、更清晰的顯示器,擁有廣泛的應(yīng)用前景。</p><p>  由于LED數(shù)碼管具有亮度高、可靠性好等特點,工業(yè)測控系統(tǒng)中常用LED數(shù)碼管作為顯示輸出。本系統(tǒng)也采用數(shù)碼管作顯示。用四位共陰LED數(shù)碼管實時顯示單片機的轉(zhuǎn)速,以單片機AT89C51的P0口做八位數(shù)據(jù)線,要求外接上拉電阻。以 P2.0-P2.3做數(shù)碼管的

80、控制端。運行方式的設(shè)置由P1口外接按鍵來完成。判斷按鍵是否按下的方法是:首先置P1口為高電平;然后從P1.0開始到P1.4為止,逐個檢測引腳的電平,如果某引腳為低電平表示該鍵按下,此時需做相應(yīng)的處理實現(xiàn)按鍵功能,如果引腳為高電平則不做處理。</p><p>  它與單片機連接及它的引腳圖如下圖2.15所示: </p><p>  圖 2.15 數(shù)碼管引腳連接電路</p>

81、<p><b>  3 系統(tǒng)軟件設(shè)計</b></p><p><b>  3.1主程序</b></p><p>  根據(jù)硬件電路設(shè)計,進行程序設(shè)計,在程序設(shè)計之前,首先要確定定時器的工作方式,確定串行口的工作模式等,下面分別討論。</p><p>  (1)定時/計數(shù)器T0 </p><p&

82、gt;  本系統(tǒng)設(shè)計中,T0被用于計數(shù),我們當(dāng)然希望計數(shù)量越大越好,這樣可以獲得較大的測量范圍,因此,T0選定為工作方式1(16位的計數(shù)方式),設(shè)計中,沒有使用外部控制端,僅用指令置位/清零TR0來進行計數(shù)的啟動/停止,這樣電路較為簡單,但精度會受到一定的影響,但在本設(shè)計中,認為采用這種方式,精度可達到要求,因此,T0采用自由計數(shù)的方式,不用預(yù)置初值。 </p><p>  (2)定時/計數(shù)器T1 </p&

83、gt;<p>  定時器T1每10ms中斷一次,用以進行數(shù)碼管顯示和每一秒讀取一次計數(shù)器T0中的數(shù)值。這里選用T1的工作狀態(tài)為1。要使T1設(shè)定正確的定時時間,首先要計算其初值,定時時間為: </p><p>  t=(-T1的初值)×晶振周期×12</p><p>  定時時間10ms: </p><p>  10ms=(-T1的初

84、值)×1/12*×12</p><p>  則: T1的初值=-</p><p>  因此, TH1=D8, TH1=F0 </p><p>  確定了定時/計數(shù)器T1的定時時間以后,就要計算定時初值,本系統(tǒng)用了12M的晶振,恰好是一個機器周期為1μs,因此,1ms定時時間意味著只要計數(shù)1000次即可,由于定時/計數(shù)器

85、T1是向上計數(shù),因此,要化為16進制,并分別送入T1的高8位和低8位。這里,采用的keil匯編軟件有較強的預(yù)處理功能,能夠處理較復(fù)雜的運算,因此,計數(shù)程序中可寫為:PlusCounter = TH0*256 + TL0。</p><p>  這里用PlusCounter作為轉(zhuǎn)化為10進制數(shù)值的數(shù)值存儲器,TH0和TL0分別是二進制計數(shù)值的高8位和低8位。</p><p>  由于AT89C

86、51單片機在中斷時,會附加延時3-8個周期,在滿足一定條件的情形下,驗證這個數(shù)值是否正確,可以在進入仿真調(diào)試時通過觀察Keil提供的有關(guān)變量看到,如果不正確,可以根據(jù)實際情況略作調(diào)整,保證定時時間盡量準確。 </p><p> ?。?)定時/計數(shù)器的方式控制字 </p><p>  定時/計數(shù)器的方式控制字TMOD,其地址為89H,復(fù)位值00H,不可位尋址。其8位控制。如圖3.4工作模式寄

87、存器TMOD的位定義所示。</p><p>  圖3.4 工作模式寄存器TMOD的定位義圖</p><p><b>  說明: </b></p><p>  GATE:門控位。由GATE、軟件控制位TR0/1和INT0/1共同決定定時/計數(shù)器0/1的打開或關(guān)閉。當(dāng)GATE=0,只要用指令置TR0/1=1即可啟動定時/計數(shù)器0/1工作。GAT

88、E=1,只有INT0/1引腳為高電平且用指令置TR0/1=1時,才能啟</p><p>  動定時/計數(shù)器0/1的工作。 </p><p>  C/T:定時器/計數(shù)器選擇位。C/T=1,工作于計數(shù)器方式: C/T=0工作于定時器方式。 </p><p>  M1M0:定時/計數(shù)工作模式選擇位。M1M0=00,13位計數(shù);M1M0=01,16位計數(shù);M1M0=10,自

89、動再裝入8位計數(shù);M1M0=11,工作于模式3狀態(tài)。 </p><p>  根據(jù)前面的描述,可以確定TMOD的控制字應(yīng)為00010101B。 </p><p><b>  程序如下: </b></p><p>  void init_timer0() // T0、T1分別定義 </p><p><b&

90、gt;  { </b></p><p>  TMOD= 0xF1; </p><p><b>  } </b></p><p>  void init_timer1() </p><p><b>  { </b></p><p>  TMOD = 0x50; &l

91、t;/p><p><b>  } </b></p><p>  將控制字分別送入TMOD。 </p><p> ?。?)定時/計數(shù)控制寄存器TCON </p><p>  TCON地址88H,可進行位尋址,復(fù)位值00H。如圖3.5控制寄存器TCON的位定義圖所示。 </p><p>  圖3.5 控制

92、寄存器TCON的位定義圖</p><p>  TF0、TF1分別為定時器T0和計數(shù)器T1的溢出標(biāo)志位,TR0和TR1在正常情況下,都沒有溢出標(biāo)志,只有當(dāng)計數(shù)值或定時值超過65536時,才能有溢出中斷請求,這兩位是由硬件置位和硬件清零,不需另行設(shè)置??稍赥0和T1的溢出中斷服務(wù)程序中,以供使用。 </p><p>  TR1、TR0分別用于開啟T1和T0的開關(guān)位,其中TR1由系統(tǒng)開啟時,直接

93、置位,打開T1,開始定時,經(jīng)運行判斷后,打開TR0。 </p><p> ?。?)變量分配及程序的初始化 </p><p>  在程序開始之前,首先進行變量的分配,程序的初始化,根據(jù)硬件電路的要求,將各硬件電路置于其規(guī)定的狀態(tài);根據(jù)需要,對定時器、計數(shù)器、串行口等設(shè)置工作狀態(tài),預(yù)置初值等。以下是程序定義變量及進行初始化的程序行:</p><p>  uint Tco

94、unter = 0; //時間計數(shù)器 </p><p>  bit Flag_Fresh = 0; //刷新標(biāo)志 </p><p>  bit Flag_clac = 0; //計算轉(zhuǎn)速標(biāo)志 </p><p>  bit Flag_Err = 0; //超量程標(biāo)志 </p><p>  Disbuf[0] = 0;

95、 //開機時,初始化為0000 </p><p>  Disbuf[1] = 0; </p><p>  Disbuf[2] = 0; </p><p>  Disbuf[3] = 0; </p><p>  init_timer0(); //T0、T1分別初始化 </p><p>  init_timer

96、1(); </p><p>  本系統(tǒng)的主程序參考圖如圖3.1所示,在完成初始化工作以后,即循環(huán)等待,每1s時間到之后,T1中斷程序?qū)x取T0中的計數(shù)值,并將其放入約定的存儲單元中,并且判斷是否有鍵按下,當(dāng)P1.0被按下時,主程序即轉(zhuǎn)入計算,第一步判斷是否有鍵按下,第二步將16進制數(shù)的結(jié)果轉(zhuǎn)化為BCD碼,第三步,將BCD碼轉(zhuǎn)化并送入顯示緩沖區(qū)。當(dāng)轉(zhuǎn)速小于預(yù)設(shè)值時,通過改變P3.0端口輸出脈沖的占空比來增加轉(zhuǎn)速。

97、</p><p>  圖3.1 系統(tǒng)總流程圖</p><p>  3.2 PWM控制程序</p><p>  本系統(tǒng)的PWM控制參考圖如圖3.2所示,在完成初始化工作以后,單片機通電啟動,根據(jù)程序輸入來控制占空比的大小,繼而控制轉(zhuǎn)速,達到所需目的。</p><p>  圖3.2 PWM控制程序流程圖</p><p>

98、  3.3正反轉(zhuǎn)控制程序</p><p>  本系統(tǒng)的正反轉(zhuǎn)控制參考圖如圖3.3所示,在完成初始化工作以后,單片機通電啟動,根據(jù)按鍵是否按下來控制正反轉(zhuǎn),當(dāng)P1.2為高電平,正轉(zhuǎn),當(dāng)接地變?yōu)榈碗娖?,則反轉(zhuǎn)。</p><p>  圖3.3 正反轉(zhuǎn)流程圖</p><p>  3.4顯示功能的實現(xiàn) </p><p>  定時計數(shù)器T1每10ms中

99、斷一次,用以進行數(shù)碼管顯示和每1秒讀取一次計數(shù)器T0中的數(shù)值。 </p><p> ?。?)秒信號的產(chǎn)生 </p><p><b>  中斷產(chǎn)生后:</b></p><p>  #define TIME_CYLC 100 </p><p>  Tcounter++; </p><p>  if(

100、Tcounter>TIME_CYLC) </p><p><b>  { </b></p><p>  Flag_clac = 1; </p><p><b>  } </b></p><p>  判斷Tcounetr是否到達100了,如果到達100,則說明1秒時間已到,程序?qū)㈥P(guān)閉T0計數(shù)器

101、,然后對T0中已計得的數(shù)據(jù)進行處理,然后再去進行顯示,否則直接轉(zhuǎn)去顯示。這部份的程序流程圖如圖秒信號子程序流程圖3.6所示。 </p><p>  圖3.6 秒信號子程序流程圖</p><p> ?。?)數(shù)碼管的顯示 </p><p>  數(shù)碼管顯示采用動態(tài)方式,即通過延遲程序使數(shù)碼管分時點亮,依次循環(huán)。由于數(shù)碼管共有4位,延遲5ms,因此,每20ms即可輪流點亮

102、每個數(shù)碼管一次,利用人的視覺暫留現(xiàn)象,可以穩(wěn)定地顯示各位數(shù)碼管的值。 </p><p>  在程序中利用了一個延時函數(shù),在函數(shù)中由計數(shù)器自加來實現(xiàn)延時的(自加速度由晶振頻率決定),當(dāng)計數(shù)值到5000時,計數(shù)值清零,點亮下一個數(shù)碼管,從而使第一至第四位數(shù)碼管按設(shè)定逐個點亮。下面以顯示182為例,即速度為182r/min加以說明。當(dāng)數(shù)碼管顯示182時,意味著第四位數(shù)碼管顯示2,第三位顯示8,第二位顯示1,第一位顯示0

103、 。</p><p>  程序如下:當(dāng)轉(zhuǎn)速為182時,即 </p><p>  Disbuf[0] = 0; </p><p>  Disbuf[1] = 1; </p><p>  Disbuf[2] = 8; </p><p>  Disbuf[3] = 2; </p><p><b&

104、gt;  送入顯示緩沖區(qū) </b></p><p>  switch(disp)</p><p>  { case 0: </p><p>  { P2=disp_bit[disp]; //P2為位碼 </p><p>  P0= table[Disbuf[0]]; //P0為段碼 </p

105、><p>  break; } </p><p>  ...... </p><p>  以此規(guī)律進行顯示,直至四位全部顯示完畢,等待下一次循環(huán)。</p><p>  3.5鍵盤的功能的實現(xiàn)與設(shè)計 </p><p>  本課題的硬件設(shè)計中使用了5個按鍵,功能分別是實現(xiàn)轉(zhuǎn)速測量的啟動、停止和加速

106、、減速、正反轉(zhuǎn)。加速可通過P1.3接口進行控制,當(dāng)按鍵按下時,按鍵端口接地,I/O接口P1.3輸入低電平,程序可表示為P1^3=0,通過此條件改變占空比便可實現(xiàn)加速功能,在按鍵過程中會有按鍵抖動,因此我們一般通過軟件延遲程序?qū)存I命令延遲5-10ms再執(zhí)行,便可減少抖動造成的誤差。程序如下: </p><p><b>  while(1) </b></p><p> 

107、 { while(up==0) //加速鍵 </p><p>  { Delay(5); </p><p>  while(up==0) </p><p>  { pwm_disp+=10; </p><p>  if( pwm_disp>=1000

108、) </p><p>  pwm_disp=0; </p><p>  while(up==0); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  ......</b></p&g

109、t;<p><b>  結(jié) 論</b></p><p>  本文根據(jù)智能轉(zhuǎn)速測量系統(tǒng)的硬件設(shè)計和要求,設(shè)計出相應(yīng)軟件系統(tǒng)。文中首先對單片機用于轉(zhuǎn)速測量的理論、原理進行了簡單的分析、比較,并對基于AT89C51單片機的轉(zhuǎn)速測量電路做了簡單的介紹,詳細闡述了軟件的設(shè)計,編譯程序,最終實現(xiàn)轉(zhuǎn)速測量、顯示的功能。</p><p>  本設(shè)計的具體研究成果如下:

110、</p><p>  (1)系統(tǒng)初始化程序的設(shè)計 </p><p>  根據(jù)硬件電路的要求,將各硬件電路置于其規(guī)定的狀態(tài),根據(jù)需要,對定時器、計數(shù)器、串行口等設(shè)置工作狀態(tài),預(yù)置了初值。 </p><p>  (2)鍵盤掃描程序的設(shè)計 </p><p>  將開關(guān)直接與AT89C51單片機的P1.0接口相連,通過讀I/O口,判定各I/O線的電平

111、狀態(tài),即可識別出按下的按鍵。操作員通過鍵盤可以輸入數(shù)據(jù)或指令,實現(xiàn)了簡單的人機通信。 </p><p>  (3)顯示程序的設(shè)計 </p><p>  數(shù)碼管顯示采用動態(tài)方式,即通過延遲程序使數(shù)碼管分時點亮,依次循環(huán),通過設(shè)定了合適的時間,利用人的視覺暫留現(xiàn)象,便可穩(wěn)定地顯示出各位數(shù)碼管的值。</p><p><b>  參考文獻</b><

112、;/p><p>  [1] 王燦,馬瑞卿,李玲娟,徐剛.基于單片機的舵機用無刷直流電機控制器設(shè)計[C]. 會議名稱:中國航空學(xué)會控制與應(yīng)用第十二屆學(xué)術(shù)年會 日期:2006 </p><p>  [2] 崔金寶,顧穎玲.基于單片機控制的高精度寬范圍PWM直流調(diào)速系統(tǒng)[C]. 會議名稱:中國航空學(xué)會控制與應(yīng)用第六屆學(xué)術(shù)年會 日期:1994</p><p>

113、;  [3] 高振東,林風(fēng)云,王東.基于單片機的低價直流電機PWM系統(tǒng)的設(shè)計[C]. 會議名稱:全國單片機學(xué)術(shù)交流會 會議錄名稱:全國單片機學(xué)術(shù)交流會論文集 日期:1998</p><p>  [4] 劉春華,王向周,南順成,徐冬平.基于PWM控制器的低壓直流電機控制系統(tǒng)設(shè)計及其應(yīng)用[C]. 會議名稱:第3屆制造業(yè)自動化與信息化學(xué)術(shù)交流會 日期:2004 </p><p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論