版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)課程設(shè)計(jì)報(bào)告書</p><p> 題目:電機(jī)測速系統(tǒng) </p><p><b> 電機(jī)測速系統(tǒng)</b></p><p><b> 設(shè)計(jì)目的</b></p><p> 隨著科技的飛速發(fā)展,計(jì)算機(jī)應(yīng)用技術(shù)日益滲透到社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域,而單片機(jī)的應(yīng)用則起到了舉足輕重
2、的作用。在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測量轉(zhuǎn)速的場合,例如在發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測量、顯示其轉(zhuǎn)速及瞬時(shí)速度。為了能精確地測量轉(zhuǎn)速,還要保證測量的實(shí)時(shí)性,要求能測得瞬時(shí)轉(zhuǎn)速。因此設(shè)計(jì)一種較為理想的電機(jī)測速控制系統(tǒng)是非常有價(jià)值的。</p><p><b> 設(shè)計(jì)要求 </b></p><p> 1.用按鍵控制電機(jī)起停
3、;</p><p> 2.電機(jī)有兩種速度,通過按鍵來改變速度;</p><p> 3.通過數(shù)碼管顯示每分鐘或每秒的轉(zhuǎn)速。</p><p><b> 三、設(shè)計(jì)器材</b></p><p> 四、設(shè)計(jì)方案及分析(包含設(shè)計(jì)電路圖)</p><p> 1. STC89C52單片機(jī)介紹</p
4、><p> STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。</p><p> ?。?)單片機(jī)最小系統(tǒng)</p&
5、gt;<p> 單片機(jī)最小系統(tǒng)電路如圖所示,由主控器STC89C52、時(shí)鐘電路和復(fù)位電路三部分組成。單片機(jī)STC89C52作為核心控制器控制著整個(gè)系統(tǒng)的工作,而時(shí)鐘電路負(fù)責(zé)產(chǎn)生單片機(jī)工作所必需的時(shí)鐘信號(hào),復(fù)位電路使得單片機(jī)能夠正常、有序、穩(wěn)定地工作。</p><p><b> 圖 單片機(jī)最小系統(tǒng)</b></p><p><b> ?。?)晶
6、振電路</b></p><p><b> ?。?)復(fù)位電路</b></p><p> 復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。</p><p><b&
7、gt; 2. ST151 </b></p><p> 光電轉(zhuǎn)速傳感器是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強(qiáng)度變化的電子器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時(shí),則接收器感應(yīng)出相應(yīng)的電信號(hào)。它包含調(diào)制光源,由光敏元件等組成的光學(xué)系統(tǒng)、放大器、開關(guān)或模擬量輸出裝置。光電式傳感器由獨(dú)立且相對放置的光發(fā)射器和收光器組成。當(dāng)目標(biāo)通過光發(fā)射器和收光器之間并阻斷光線時(shí),傳感器輸出信號(hào)。由于葉輪的旋轉(zhuǎn),當(dāng)葉輪
8、扇葉進(jìn)入凹槽遮擋著發(fā)光二極管時(shí),光敏三極管沒接收光,輸出為零;當(dāng)葉輪扇葉通過光電傳感器時(shí),光敏三極管接收光在ST151電路輸出為頻率信號(hào)。</p><p><b> 3. 設(shè)計(jì)思路</b></p><p> 通過ST151光電傳感器接收電機(jī)扇葉轉(zhuǎn)動(dòng)切割的次數(shù)獲得脈沖,從而通過單片機(jī)T1口接收高低電平,計(jì)數(shù)器在定時(shí)器的定時(shí)范圍內(nèi)記錄脈沖個(gè)數(shù),通過計(jì)算將轉(zhuǎn)速送給數(shù)碼管
9、并進(jìn)行顯示。</p><p><b> 4. 程序框圖</b></p><p><b> 五. 程序</b></p><p><b> 參見附錄一。</b></p><p><b> 六.系統(tǒng)仿真</b></p><p>&
10、lt;b> 參見附錄二。</b></p><p> 七、設(shè)計(jì)體會(huì)與收獲(小組成員每人一份)</p><p><b> XXX</b></p><p> 本次課程設(shè)計(jì)我主要負(fù)責(zé)電路板的焊接,電路板的焊接需要先了解整個(gè)電路的各個(gè)硬件的組成,并清楚它們各自的所在功能區(qū)域,然后要做的就是在電路板上為各硬件做一個(gè)整體的規(guī)劃,合適
11、的規(guī)劃很重要,既要考慮到整體看上去的美觀,還要考慮到對以后的調(diào)試和調(diào)整方便的地方,本人具體是先在電路板上劃分開具體的功能區(qū)域,比如單片機(jī)在左邊占一塊適當(dāng)?shù)奈恢?,它的左端還要留有晶振電路和復(fù)位電路,依此做好其他模塊的分配。關(guān)于電路的具體焊接,感覺只要按照電路仿真圖按一定的次序焊接,本人焊接時(shí)速度較慢,但是基本比較順利,沒有出現(xiàn)很大問題。</p><p><b> XX</b></p&g
12、t;<p> 本次課程設(shè)計(jì)我主要負(fù)責(zé)程序的編寫以及調(diào)試。編寫程序的主要是利用中斷來產(chǎn)生PWM,利用中斷統(tǒng)計(jì)ST151產(chǎn)生的頻率信號(hào)。</p><p> 才拿到題目時(shí)面臨的一個(gè)問題是如何利用程序來改變點(diǎn)擊的速度,請教同學(xué)后知道一種方法叫 PWM,通過改變一個(gè)周期的電信號(hào)的占空比來實(shí)現(xiàn)。當(dāng)然,在寫程序時(shí)還是遇到了不少問題,比方按鍵怎么判斷、改變 PWM 怎么實(shí)現(xiàn)、怎么再繼續(xù)產(chǎn)生等。</p>
13、;<p> 程序的第二重點(diǎn)則是利用中斷來統(tǒng)計(jì)電機(jī)轉(zhuǎn)動(dòng)后由ST151產(chǎn)生的頻率信號(hào)。這個(gè)問題前前后后想了幾種方法,如用計(jì)數(shù)器統(tǒng)計(jì)再讀取計(jì)數(shù)值、通過計(jì)數(shù)定時(shí)時(shí)間的頻率再湊成1秒等。但是由于方法不當(dāng),結(jié)果做出來的效果很差。最終選定,定時(shí)時(shí)間直接1秒再來統(tǒng)計(jì)頻率,這樣的結(jié)果還是可以的。 </p><p> 程序的第三個(gè)重點(diǎn),是中斷程序的設(shè)計(jì)。這是我第一次編C,所以在中斷方面有很多不懂的地方,參考資料、請
14、教同學(xué)后有了一定的了解,再寫程序就不再那么不順了。</p><p><b> XX</b></p><p> 本次實(shí)習(xí)我們組是直流電機(jī)測速系統(tǒng)的設(shè)計(jì),就是要通過轉(zhuǎn)速的改變將其速度顯示在led中,來體現(xiàn)其轉(zhuǎn)速的增大或減小。而如何改變其速率呢,就是通過pwm改變其占空比來實(shí)現(xiàn)的。</p><p> 我主要負(fù)責(zé)仿真,即使用軟件Proteus 7
15、 Professional測試仿真調(diào)試。這次實(shí)習(xí)的重點(diǎn)就是如何編寫程序以及仿真中的行騙各個(gè)管腳的連接問題,主要的芯片有89C52、uln2003、led顯示、電機(jī)。首先分清各管腳起什么作用,比如說晶振要與89C 2的XTAL1和XTAL2連接等等。其次還要知道那個(gè)管腳是高電平哪個(gè)是低電平、跟誰連才能達(dá)到選通。通過同組同學(xué)所編程序,就可以清楚的知道這些芯片的連接,再細(xì)心的對照各個(gè)管腳的初始化、定義來連接各個(gè)芯片。在仿真的時(shí),我學(xué)到的就是熟
16、練掌握使用proteus 7 Professional軟件,比如知道在proteus 7 Professional中如何正確的找出單片機(jī)、uln、led顯示、電機(jī)等這些芯片,怎么將keil中運(yùn)行鏈接好的程序燒錄到proteus 7 Professional中,然后正確的運(yùn)行。當(dāng)同組的同學(xué)咁好板子后,接通電源時(shí)發(fā)現(xiàn)led顯示不夠亮,所以就進(jìn)行改進(jìn),通過再接入放大器放大信號(hào)就可以使led更好的顯示出來。</p><p&g
17、t; 總的來說這次實(shí)習(xí),受益匪淺,不僅熟悉了兩個(gè)軟件的使用更進(jìn)一步的將所學(xué)的知識(shí)實(shí)踐了出來,以前沒有怎么接觸過這兩個(gè)軟件,現(xiàn)在發(fā)現(xiàn)我索要學(xué)習(xí)的還很多。合作也是我收獲很多的一點(diǎn)。</p><p><b> XX</b></p><p> 在本次課程設(shè)計(jì)中,我們做的是“直流電機(jī)的測速系統(tǒng)”。</p><p> 在實(shí)驗(yàn)中,我們最先遇到的問題是
18、在電機(jī)驅(qū)動(dòng)中的頻率變化問題,一開始只使用了一個(gè)三極管,結(jié)果造成了電機(jī)轉(zhuǎn)動(dòng)始終處于一個(gè)較穩(wěn)定狀態(tài),經(jīng)過復(fù)位也沒有變化,后來在原基礎(chǔ)上增加了一個(gè)三極管,放大了頻率信號(hào),使得返回INT0口的信號(hào)更明顯,得到了預(yù)想的結(jié)果使直流電機(jī)完成了變速。</p><p> 在實(shí)驗(yàn)的最后,我們的電機(jī)已經(jīng)按照要求完成了改變轉(zhuǎn)速的功能,但是數(shù)碼管的亮度很暗,得用手擋著才可以看到其具體顯示,這是數(shù)碼管亮度不夠造成的,通過分析添加了第二個(gè)排
19、阻,讓他來控制片選信號(hào),通過這個(gè)排阻使得共陽極數(shù)碼管變得較亮。</p><p> 這次實(shí)驗(yàn)是對本學(xué)期所學(xué)的單片機(jī)課程的簡單應(yīng)用,在實(shí)驗(yàn)中運(yùn)用了80c52單片機(jī)。通過它完成了電機(jī)的簡單驅(qū)動(dòng),調(diào)節(jié)轉(zhuǎn)速使之反饋及讓轉(zhuǎn)速具體的體現(xiàn)在數(shù)碼管上的功能。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 彭介華編.電子技術(shù)課程設(shè)計(jì)指
20、導(dǎo)[M].北京:高等教育出版社,1997</p><p> [2] 張建華主編.數(shù)字電子技術(shù)[M].第2版.北京:機(jī)械工業(yè)出版社,2000 </p><p> [3] 常健生主編.檢測與轉(zhuǎn)換技術(shù)[M].第3版.北京:機(jī)械工業(yè)出版社,2003</p><p> [4] 張毅剛主編.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2003</p>&l
21、t;p> [5] 歐陽文主編.ATMEL89系列單片機(jī)的原理與開發(fā)實(shí)踐[M].北京:中國電力出版社,2007</p><p><b> 附錄一 程序</b></p><p> #include <reg52.h></p><p> unsigned char code TABLE[10] = {0xc0,0xf9,0x
22、a4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p> void display();</p><p> #define uint unsigned int</p><p> #define uchar unsigned char</p><p> #define V_TH1 (65535 -
23、 1000) / 256</p><p> #define V_TL1 (65535 - 1000) % 256</p><p> sbit output = P2^7; //P2^7接ULN2003</p><p> sbit key1 = P3^3; //P3^3接可以改變電機(jī)轉(zhuǎn)速的按鍵</p><p> int frq = 0
24、, frq1, flag;</p><p><b> char pwm;</b></p><p> int div = 0, p = 0;</p><p><b> uchar a;</b></p><p><b> uint c;</b></p><
25、;p> void display();</p><p><b> /*系統(tǒng)初始化*/</b></p><p> void initial(void)</p><p><b> {</b></p><p> TMOD = 0x10; //設(shè)置定時(shí)器1在工作方式1下</p>
26、<p> EA = 1; //開中斷</p><p> EX0 = 1; //外部中斷0使能</p><p> ET1 = 1; //定時(shí)器1使能</p><p> IT0 = 1; //外部中斷0下降沿觸發(fā)</p><p> IT1 = 1; //外部中斷1下降沿觸發(fā)</p><p> TH
27、1 = V_TH1; //裝載計(jì)數(shù)值</p><p> TL1 = V_TL1; </p><p> TR1=1; //定時(shí)器1可工作</p><p><b> }</b></p><p><b> /*延時(shí)程序*/</b></p><p> void del
28、ay(unsigned int k)</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(i = 0;i < k;i++)</p><p><b> {</b></p><p> for(j =
29、 0;j < 110;j++)</p><p><b> {</b></p><p><b> ;</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
30、 }</b></p><p><b> /*顯示子程序*/</b></p><p> void display()</p><p><b> {</b></p><p> uchar qian,bai,shi,ge;</p><p><b>
31、 qian = 0;</b></p><p><b> bai = 0;</b></p><p><b> shi = 0;</b></p><p><b> ge = 0;</b></p><p><b> c = frq1;</b>
32、</p><p> qian = c / 1000;</p><p> bai = c / 100 % 10;</p><p> shi = c / 10 % 10;</p><p> ge = c % 10;</p><p> P2 = 0X01;</p><p> P0 = TA
33、BLE[qian];</p><p><b> delay(5);</b></p><p> P2 = 0X02;</p><p> P0 = TABLE[bai];</p><p><b> delay(5);</b></p><p> P2 = 0X04;<
34、;/p><p> P0 = TABLE[shi];</p><p><b> delay(5);</b></p><p> P2 = 0X08;</p><p> P0 = TABLE[ge];</p><p> delay(5); </p><p><b>
35、; } </b></p><p><b> /*主函數(shù)*/</b></p><p> void main()</p><p><b> { </b></p><p> initial();</p><p><b> while(1)<
36、/b></p><p><b> { </b></p><p> if(key1 == 0)</p><p> delay(100); //按鍵消抖</p><p> if(key1 == 0)</p><p><b> {</b></p>
37、<p> while(key1 == 0) ; //松手檢測</p><p><b> div ++;</b></p><p><b> }</b></p><p> if(div % 2 == 0)</p><p><b> flag = 0;</b>
38、;</p><p> if(div % 2 == 1)</p><p><b> flag = 1;</b></p><p> if(flag == 0)</p><p><b> pwm = 30;</b></p><p> if(flag == 1)</p
39、><p><b> pwm = 70;</b></p><p> display();</p><p><b> }</b></p><p><b> }</b></p><p><b> /*外部中斷0*/</b></
40、p><p> void int0isr() interrupt 0 //統(tǒng)計(jì)定時(shí)時(shí)間內(nèi)的個(gè)數(shù)</p><p><b> {</b></p><p><b> frq ++;</b></p><p><b> }</b></p><p> /*定時(shí)器
41、1中斷*/</p><p> void time1isr() interrupt 3 //定時(shí)器1實(shí)現(xiàn)pwm</p><p><b> { </b></p><p> TH1 = V_TH1; //裝載計(jì)數(shù)值</p><p> TL1 = V_TL1;</p><p><b>
42、 EA = 0;</b></p><p><b> a ++;</b></p><p><b> p ++;</b></p><p> if (a <= pwm) </p><p> output = 1;</p><p> else output
43、 = 0;</p><p> if(a > 100)</p><p><b> a = 0;</b></p><p> if(p > 1000)</p><p><b> {</b></p><p> frq1 = frq;</p><
44、;p><b> frq = 0;</b></p><p><b> p = 0;</b></p><p><b> }</b></p><p><b> EA = 1; </b></p><p><b> }</b>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 直流電機(jī)課程設(shè)計(jì)--直流電機(jī)控制系統(tǒng)設(shè)計(jì)
- 小功率直流電機(jī)測速系統(tǒng)的設(shè)計(jì)課程設(shè)計(jì)
- 直流電機(jī)調(diào)速課程設(shè)計(jì)
- 直流電機(jī)無極調(diào)速系統(tǒng)課程設(shè)計(jì)
- 直流電機(jī)雙閉環(huán)系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---直流電機(jī)速度控制
- 直流電機(jī)閉環(huán)調(diào)速課程設(shè)計(jì)
- 基于arm的直流電機(jī)測速
- 直流電機(jī)測速畢業(yè)設(shè)計(jì)報(bào)告
- 電機(jī)拖動(dòng)課程設(shè)計(jì)--直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)
- 課程設(shè)計(jì)--直流電機(jī)調(diào)速控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的直流電機(jī)測速、調(diào)速及顯示系統(tǒng)課程設(shè)計(jì)
- 直流電機(jī)順序控制課程設(shè)計(jì)報(bào)告
- eda直流電機(jī)測控儀課程設(shè)計(jì)
- 直流電機(jī)串電阻啟動(dòng)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-直流電機(jī)
- 課程設(shè)計(jì)---基于單片機(jī)的直流電機(jī)測速、調(diào)速及顯示系統(tǒng)設(shè)計(jì)
- 微機(jī)接口課程設(shè)計(jì)--直流電機(jī)控制
- eda課程設(shè)計(jì)--直流電機(jī)測控儀
- 電力電子課程設(shè)計(jì)-直流電機(jī)調(diào)速
評論
0/150
提交評論