版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、南京工程學(xué)院畢業(yè)設(shè)計說明書(論文)目錄前 言1第一章 概述21.1 單片機控制直流調(diào)速系統(tǒng)的設(shè)計方案21.2 單片機控制直流調(diào)速系統(tǒng)工作原理概述2第二章 單片機控制系統(tǒng)的硬件設(shè)計42.1單片機系統(tǒng)的地址分配4 2.2數(shù)據(jù)存儲器6264的擴展52.3 adc0809與8051單片機的接口電路設(shè)計72.3.1給定速度的設(shè)計72.3.2 反饋速度采樣電路設(shè)計82.4 dac0832與8051單片機的接口電路設(shè)計92.5 led數(shù)碼顯示電路設(shè)計112.6 單片機控制直流調(diào)速系統(tǒng)中的其它設(shè)計132.7 pcb板圖的設(shè)計14第三章 單片機控制系統(tǒng)的軟件設(shè)計163.1主程序的設(shè)計163.2采樣子程序193.
2、2.1 adc0809的采樣程序193.2.2中值濾波算法子程序213.3數(shù)字pid控制算法子程序233.4 dac0832的轉(zhuǎn)換253.5程序中的代碼的轉(zhuǎn)換263.6給定速度顯示與實際速度顯示子程序293.6.1 給定速度顯示程序設(shè)計293.6.2實際速度顯示子程序313.7 程序的調(diào)試31第四章 總結(jié)33致 謝35參 考 文 獻(xiàn)36附錄 一 軟件程序清單3746 第 頁前 言自電動機成為第二次工業(yè)革命開始的標(biāo)志以來,其在工業(yè)生產(chǎn)制造、交通運輸、家用電器等領(lǐng)域發(fā)揮重要作用,電動機的應(yīng)用無處不在。電機的控制系統(tǒng)隨著計算機的發(fā)展而不斷的改進(jìn)。在很長一段時間內(nèi),在較高控制性能的傳動系統(tǒng)中,直流電機
3、一直占據(jù)主導(dǎo)地位,主要原因在于其控制簡單、調(diào)速平滑、性能良好。隨著電力電子技術(shù)的發(fā)展,直流電機拖動將有逐步被交流電機拖動所取代的趨勢。但在中、小功率的場合,采用永磁直流電動機,對其轉(zhuǎn)速控制相對比較簡單,只需對電樞回路進(jìn)行控制。直流調(diào)速系統(tǒng)中應(yīng)用最廣泛的一種調(diào)速方法是調(diào)節(jié)電動機的電樞電壓。為了獲得可調(diào)的直流電壓,利用電力電子器件的完全可控性,采用脈寬調(diào)制(pulse width modulation)技術(shù),將恒定的直流電壓調(diào)制成大小、極性可變的直流電壓作為電動機的電樞電壓,實現(xiàn)系統(tǒng)的平滑調(diào)速,這種調(diào)速系統(tǒng)就稱為直流脈寬調(diào)速系統(tǒng)。它越來越廣泛地應(yīng)用于各種功率的調(diào)速系統(tǒng)中。微處理器使電機運動控制技術(shù)
4、再次發(fā)生巨大變革,使用微處理器實現(xiàn)數(shù)字化控制不僅可以簡化控制硬件,而且可以加入人工智能對運動系統(tǒng)進(jìn)行診斷,這對電機運動控制系統(tǒng)的發(fā)展影響重大。單片機用做微處理器的調(diào)速系統(tǒng)應(yīng)用尤為廣泛。單片機結(jié)構(gòu)相對比較簡單,通過學(xué)習(xí)一些專業(yè)基礎(chǔ)知識以后依靠自己的技術(shù)力量,也能夠開發(fā)出自己所希望的單片機應(yīng)用系統(tǒng)。為了在比較簡單的運動控制系統(tǒng)中實現(xiàn)智能控制,因此設(shè)計了單片機控制直流調(diào)速系統(tǒng)。單片機是應(yīng)用于直流調(diào)速系統(tǒng)的最基本處理器,就其組成和結(jié)構(gòu)而言,大大縮小控制器的體積,增加了功能,而且可以通過串行通信和計算機相連接,實現(xiàn)集中控制。第一章 概述1.1 單片機控制直流調(diào)速系統(tǒng)的設(shè)計方案本次設(shè)計的任務(wù)是單片機控制的
5、直流調(diào)速系統(tǒng),該系統(tǒng)通過單片機對直流電動機的速度進(jìn)行控制,同時對速度進(jìn)行檢測采樣,并顯示給定速度和實際速度。控制系統(tǒng)設(shè)計總體結(jié)構(gòu)框圖如下: 單 片 機a/d轉(zhuǎn)換給定轉(zhuǎn)速a/d轉(zhuǎn)換測速電機直流電機速度顯示示示示d/a轉(zhuǎn)換pwm波形發(fā)生器pwm驅(qū)動 圖1-1系統(tǒng)結(jié)構(gòu)框圖1.2 單片機控制直流調(diào)速系統(tǒng)工作原理概述整個系統(tǒng)的工作原理:首先是人為給定電動機轉(zhuǎn)速的電壓信號,然后將這個電壓信號通過a/d轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號后傳送給單片機(8051)。單片機通過中斷通信方式將接收到數(shù)據(jù)先保存起來。然后再對此數(shù)據(jù)進(jìn)行處理:要將此二進(jìn)制數(shù)進(jìn)行轉(zhuǎn)換,先將(00hffh)轉(zhuǎn)換成對應(yīng)的實際數(shù)值,接著啟動adc0809開
6、始采樣直流電動機的實際速度值,因為用到了中值濾波算法,所以需要連續(xù)采集三次數(shù)據(jù),作比較之后取中間值,這個值即為直流電動機速度的實際值。然后用給定值與這個實際值作比較,再通過pid控制算法,得到一個輸出信號值,再通過dac0832轉(zhuǎn)換器將這個數(shù)字信號轉(zhuǎn)換成相應(yīng)的模擬電壓控制信號,經(jīng)過pwm波形發(fā)生器來驅(qū)動直流電動機;接著繼續(xù)采樣,又通過pid控制算法,同樣又輸出一個電壓控制信號來驅(qū)動直流電動機,其實這是一個不斷地循環(huán)往復(fù)的過程,作比較直至差值為零,即實際速度等于給定速度。并在這個循環(huán)往復(fù)的過程中,將采集到的不斷變化的速度值,通過led數(shù)碼管顯示出直流電動機的給定速度值和實際速度值。整個系統(tǒng)設(shè)計包
7、括了四個大的部分: a/d轉(zhuǎn)換電路部分、d/a轉(zhuǎn)換電路部分、存儲器的擴展部分、轉(zhuǎn)速數(shù)字顯示部分。(1)a/d轉(zhuǎn)換電路的設(shè)計:從畢業(yè)設(shè)計任務(wù)書中給的原始數(shù)據(jù)知道,測速發(fā)電機的輸出電壓范圍為(012v),直流電動機的額定轉(zhuǎn)速值是1500轉(zhuǎn)/分。選用了一塊adc0809芯片,對測速發(fā)電機發(fā)出的電壓進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成相應(yīng)的數(shù)字信號。但是adc0809芯片只能接受(05v)的電壓范圍,需要外加一個轉(zhuǎn)換電路,將測速發(fā)電機發(fā)出的電壓進(jìn)行轉(zhuǎn)換,達(dá)到adc0809芯片能接受要求范圍。(2)d/a轉(zhuǎn)換電路的設(shè)計:畢業(yè)設(shè)計任務(wù)要求單片機控制系統(tǒng)部分能夠輸出(05v)電壓控制信號。這里選用dac0832芯片,因為它具有
8、數(shù)據(jù)鎖存器、片選、讀、寫控制信號線,故可以與mcs-51擴展總線直接相連。但是dac0832的輸出是電流,使用運算放大器可以將dac0832的電流輸出線性的轉(zhuǎn)換成電壓輸出。(3)存儲器的擴展電路設(shè)計:mcs-51系列單片機內(nèi)具有128b或256b的數(shù)據(jù)存儲器ram,但在大多數(shù)的實時控制系統(tǒng)中,肯定會要求采集大量的數(shù)據(jù)信息,而這些信息又比較珍貴,為此需要將這些大量寶貴的數(shù)據(jù)保存下來,唯一可行的辦法就是擴展控制系統(tǒng)的存儲容量,因此外接一塊6264芯片。(4)速度顯示電路設(shè)計:從畢業(yè)設(shè)計任務(wù)書中給的原始數(shù)據(jù)知道,直流電動機的額定轉(zhuǎn)速為1500轉(zhuǎn)/分。led顯示電路設(shè)計的目的就是為了顯示給定轉(zhuǎn)速和實際
9、速度值,而轉(zhuǎn)速值又只能是整數(shù),也就是說led顯示的是一個4位的整數(shù)值。因此選用8個led顯示器,可分別顯示出給定速度值和實際速度值。第二章 單片機控制系統(tǒng)的硬件設(shè)計單片機控制直流調(diào)速系統(tǒng)接口電路集中了mcs-51系列單片機的功能芯片,包括數(shù)據(jù)存儲器擴展芯片6264,i/o口擴展芯片8255,ad轉(zhuǎn)換芯片adc0809及da轉(zhuǎn)換芯片dac0832,另外還有3-8譯碼器74ls138,地址鎖存器74ls373等。下面將分別介紹各個芯片的功能和設(shè)計電路圖。2.1單片機系統(tǒng)的地址分配單片機與74ls138譯碼器的設(shè)計如圖所示: 圖2-1 8051與74ls138的連接圖單片機控制直流調(diào)速系統(tǒng)的接口電路
10、屬于ram和i/o容量較大的應(yīng)用系統(tǒng),單片機共有四個外圍及接口芯片,需要四個片選信號,我們采用全地址譯碼方法。這種譯碼方法將低位地址作為片內(nèi)地址,而用譯碼器74ls138對高位地址線進(jìn)行譯碼,譯碼器輸出的地址選擇線用作片選線。本系統(tǒng)采用的38譯碼器74ls138,輸入端占用3根最高位地址線,取a (p2.5), a (p2.6), a (p2.7)作為74ls138譯碼器的輸入信號依次接至74ls138的a口、b口、c口,剩余的13根低位可作為片內(nèi)地址線。因此,譯碼器的8根輸出線分別對應(yīng)8個8k字節(jié)地址空間。74ls138的控制端,接地,g1接+5v,否則譯碼器的8個輸出端全為高阻狀態(tài)。邏輯功
11、能表如下: c b a (cs3)(cs2)(cs1)(cs0)1 0 00 0 01 1 1 1 1 1 1 0(接6264)1 0 00 0 11 1 1 1 1 1 0(接8255)11 0 00 1 01 1 1 1 1 0(接0809)1 11 0 00 1 11 1 1 1 0(接0832)1 1 11 0 01 0 01 1 1 0 1 1 1 11 0 01 0 11 1 0 1 1 1 1 11 0 01 1 01 0 1 1 1 1 1 11 0 01 1 10 1 1 1 1 1 1 1其 它 狀 態(tài) 1 1 1 1 1 1 1 1 表2-1 74ls138邏輯功能表根據(jù)
12、上表中地址線的連接方法可知各個芯片全部地址譯碼如下表所示:表2-2 地址譯碼元器件地址選擇線片內(nèi)地址單元數(shù)地址編碼6264000 8k0000h1fffh82550011 1111 1111 11 43ffch3fffh08320101 1111 1111 111115fffh08090111 1111 1111 1 87ff8h7fffh 2.2數(shù)據(jù)存儲器6264的擴展數(shù)據(jù)存儲器即隨機存取存儲器,簡稱ram,用于存放可隨時修改的數(shù)據(jù)信息,對ram可進(jìn)行讀、寫操作。數(shù)據(jù)存儲器用于存儲現(xiàn)場采集的原始數(shù)據(jù)、運算結(jié)果等,所以外部數(shù)據(jù)存儲器應(yīng)能夠隨機讀/寫,通常采用半導(dǎo)體隨機存儲器ram電路。ram為
13、易失性存儲器,斷電后所存儲的信息會立即丟失。因為設(shè)計的系統(tǒng)中需要采集大量的數(shù)據(jù)并要保存下來,因此使用一片6264擴展單片機的數(shù)據(jù)存儲器,6264與單片機的電路設(shè)計如下圖所示: 圖2-2 8051與數(shù)據(jù)存儲器6264的接口電路圖因6264是8k字節(jié)的ram,故需要13根低位地址線(a0a12)進(jìn)行片內(nèi)尋址,6264有兩個片選信號(cs2、),只有當(dāng)cs2=1,=0時,芯片才被選中工作。否則就不工作,在實際應(yīng)用中,往往只用其中一個,而另一個接成常有效。本系統(tǒng)將74ls138的片選信號cs0接至6264的,6264的cs2接+5v電源。6264數(shù)據(jù)線d0d7依次接到8051單片機的p0口,地址線a0
14、a7依次接到74ls373的輸出端,高五位地址線(a8a12)依次接到8051單片機的(p2.0p2.4口)。、的信號分別接到8051單片機的和端口。6264在此系統(tǒng)中的工作原理,當(dāng)6264的cs2=1,=0,=0,=1時從6264讀出數(shù)據(jù)到d7d0;當(dāng)6264的cs2=1,=0,=1,=0時把d7d0數(shù)據(jù)寫入6264。具體工作方式見下表:表 2-3 6264的工作方式選擇表工作方式cs2功 能禁止1000不允許同時為低電平讀出1001從6264讀出數(shù)據(jù)到d7d0寫入1010把d7d0數(shù)據(jù)寫入6264選通1011輸出高阻未選通11輸出高阻由于8051單片機的p0口是分時復(fù)用的地址/數(shù)據(jù)總線,因
15、此在進(jìn)行數(shù)據(jù)存儲器擴展時,必須利用地址鎖存器將地址信號從地址/數(shù)據(jù)總線中分離開來。這里使用了帶三態(tài)緩沖輸出的8d鎖存器74ls373,當(dāng)74ls373用作地址鎖存器時,三態(tài)門的使能信號應(yīng)該為低電平。當(dāng)c輸入端為高電平時,鎖存器輸出(1q8q)狀態(tài)和輸入端(1d8d)狀態(tài)相同;當(dāng)c端從高電平返回到低電平(下降沿)時,輸入端(1d8d)的數(shù)據(jù)鎖入(1q8q)的8位鎖存器中。mcs-51單片機外部數(shù)據(jù)操作簡單,只有累加器a和外部數(shù)據(jù)存儲器的數(shù)據(jù)傳送操,它可以通過下面兩類指令實現(xiàn):movx ri, a ;累加器a中數(shù)據(jù)送片外數(shù)據(jù)存儲器movx a, ri ;片外數(shù)據(jù)存儲器中數(shù)據(jù)送累加器a中這類指令中,
16、片外數(shù)據(jù)存儲器低8 位地址由ri(i=0,1)間接尋址,而高8位地址則隱含為程序指令地址的高8位。movx dptr ,a ;累加器a中數(shù)據(jù)送片外數(shù)據(jù)存儲器movx a, dptr ;片外數(shù)據(jù)存儲器中數(shù)據(jù)送累加器a這類指令中,片外數(shù)據(jù)存儲器由16位數(shù)據(jù)指針dptr間接尋址。2.3 adc0809與8051單片機的接口電路設(shè)計2.3.1給定速度的設(shè)計 給定轉(zhuǎn)速電路設(shè)計如下圖所示:圖2-3 給定模擬電壓與adc0809的連接已知直流電動機的額定轉(zhuǎn)速為1500轉(zhuǎn)/分,為簡化設(shè)計電路,給定轉(zhuǎn)速由一個旋轉(zhuǎn)電位器給定一個05v可變模擬電壓,通過adc0809模數(shù)轉(zhuǎn)換器將這一給定05v電壓轉(zhuǎn)換成對應(yīng)的數(shù)字信
17、號,將這個數(shù)字信號作為控制直流電動機轉(zhuǎn)速的給定速度值。旋轉(zhuǎn)電位器r4的一端接+5v直流電壓,另一端接地,可變輸出端接adc0809模擬量輸入通道in0。當(dāng)電位器輸出電壓為0v時即給定轉(zhuǎn)速為0轉(zhuǎn)/分,當(dāng)電位器輸出電壓為+5v時即給定轉(zhuǎn)速為1500轉(zhuǎn)/分。這樣當(dāng)給定電壓在05v之間變化時,其轉(zhuǎn)換后的數(shù)字信號相當(dāng)于01500轉(zhuǎn)/分。2.3.2 反饋速度采樣電路設(shè)計 反饋速度采樣電路設(shè)計如下圖所示:圖2-4 adc0809和8051的連接電路圖在設(shè)計中首先要將給定直流電動機轉(zhuǎn)速的模擬電壓轉(zhuǎn)換成數(shù)字信號,同時還要對測速發(fā)電機進(jìn)行采樣并轉(zhuǎn)化成數(shù)字信號,因此需要一片a/d芯片。a/d的種類很多,根據(jù)轉(zhuǎn)換原理
18、可以分為雙積分式(優(yōu)點是轉(zhuǎn)換精度高,抗干擾性好,價格便宜,但轉(zhuǎn)換速度慢)、逐次逼近式(轉(zhuǎn)換精度、速度、價格適中)、并行式(速度快,但價格昂貴)和計數(shù)器式。其中逐次逼近式a/d轉(zhuǎn)換器應(yīng)用比較普遍,也能滿足設(shè)計要求,因此選用了一片adc0809芯片。adc0809是8路8位逐次逼近式a/d,由多路模擬開關(guān)、通道地址所存、譯碼器、8位a/d轉(zhuǎn)換器及三態(tài)輸出數(shù)據(jù)鎖存器組成。本次設(shè)計中,由于adc0809片內(nèi)無時鐘,因此利用8051單片機 的ale提供,而8051單片機的晶振頻率為12mhz,則其ale腳輸出的頻率為2mhz,再將8051單片機的 ale經(jīng)過觸發(fā)器74ls74 四分頻后為500khz。a
19、dc0809的clk典型值為640 khz,超過640 khz時會使轉(zhuǎn)換精度降低,因此經(jīng)過四分頻后8051單片機的ale連接到adc0809的clk能夠滿足系統(tǒng)的設(shè)計要求。adc0809具有輸出三態(tài)鎖存器,其8位數(shù)據(jù)輸出線d0d7可直接與8051單片機的p0口相連。adc0809的adda、addb、addc分別與8051單片機的地址總線d0、d1、d2經(jīng)過74ls373相連后a0、a1、a2連接,以選中in0in7的某一路,但是實際上只需要兩個轉(zhuǎn)換通道就行了(in0給定轉(zhuǎn)速電壓通道;in1測速發(fā)電機反饋電壓通道)。而將74ls138的cs3()作為片選信號,由8051單片機的寫信號控制adc
20、0809的地址鎖存和轉(zhuǎn)換啟動。由于adc0809的ale和start連在一起,故在鎖存通道的同時,啟動并進(jìn)行轉(zhuǎn)換,輸出允許信號enable由8051單片機的讀信號rd與74ls138的cs3()組合產(chǎn)生。顯然cs3()應(yīng)為低電平。a/d轉(zhuǎn)換是否完成的判斷。因為只有確認(rèn)數(shù)據(jù)轉(zhuǎn)換完成后,才能把數(shù)據(jù)傳送給8051單片機做處理。通常有三種方式:定時傳送方式、查詢方式、中斷方式。從adc0809和8051單片機的連接電路圖中可知 adc0809 的eoc經(jīng)過74f04反向器后再和8051單片機的int0相連接,所以采用的是中斷方式進(jìn)行數(shù)據(jù)傳送。由于采用的是中值濾波算法,所以需要采集三次。當(dāng)檢測到eoc為
21、高電平時,即a/d轉(zhuǎn)換完成,單片機將數(shù)據(jù)讀入并做相應(yīng)的處理。adc0809和8051單片機的連接電路圖中主要涉及到三個問題:第一個是adc0809的8路模擬信號的通道選擇(上文中已經(jīng)做出說明),第二個就是a/d轉(zhuǎn)換完后轉(zhuǎn)換數(shù)據(jù)的傳送,第三個就是adc0809的8路模擬信號的通道所能承受的電壓為05v,而測速發(fā)電機輸出電壓為012v,因此需要加一個轉(zhuǎn)換電路將測速發(fā)電機的輸出電壓轉(zhuǎn)換成能夠滿足adc0809的模擬量輸入通道的要求,通常將測速發(fā)電機的輸出電壓接到一個電位器上,調(diào)整電位器使輸出電壓變成05v的直流電壓。a/d轉(zhuǎn)換后得到的是數(shù)字量,傳送給單片機進(jìn)行處理。2.4 dac0832與8051單
22、片機的接口電路設(shè)計 dac0832與單片機連接電路如圖所示: 圖2-5 dac0832和8051接口電路圖數(shù)/模轉(zhuǎn)換器是一種將數(shù)字信號轉(zhuǎn)換成模擬信號的器件。 設(shè)計中需要將給定轉(zhuǎn)速與實際速度的差值經(jīng)過數(shù)字pid算法后再轉(zhuǎn)換成(05v)電壓輸出,故選擇一片dac0832實現(xiàn)設(shè)計要求。dac0832是8位d/a,片內(nèi)帶數(shù)據(jù)鎖存器,電流輸出,輸出電流穩(wěn)定時間為1µs,+5+15v單電源供電,功耗為20mw。從dac0832和8051單片機的接口電路圖可以看到:dac0832的di0di7這八個引腳和8051單片機的p0口依次相連,用于輸入cpu送來的待轉(zhuǎn)換的數(shù)字量,di7為最高位。dac08
23、32的cs和74ls138的cs2相連,當(dāng)dac0832的cs為低電平時,此芯片被選中工作;當(dāng)cs為高電平時,此芯片不被選中工作。dac0832的iout1和iout2是兩條模擬電流輸出線。iout1+iout2為一常數(shù);若輸入數(shù)字量為全“1”,則iout1為最大,iout2為最小;若輸入數(shù)字量為全“0”,則iout1最小,iout2最大。為了保證額定負(fù)載下輸出電流的線性度,iout1和iout2引腳線上的電位必須盡量接近低電平。單片機控制直流調(diào)速系統(tǒng)中要求用05v 模擬電壓來控制pwm,因此dac0832的電流輸出必須轉(zhuǎn)換成電壓輸出,方法就是在dac0832的iout1和iout2的輸出端接
24、運算放大器,本設(shè)計中選用的是lm339作為運算放大器。dac0832的 wr1、wr2為兩條寫命令輸入線。wr1用于控制數(shù)字量輸入到輸入寄存器:若ile為“1”,cs為“0”和wr1為“0”同時滿足,則與門m1輸出高電平,“8位輸入寄存器”接收信號;若上述條件中有一個不滿足,則m1輸出由高到低,“8位輸入寄存器”鎖存di7di0上的輸入數(shù)據(jù)。wr2用于控制d/a轉(zhuǎn)換的時間:若xfer和wr2同時為低電平,則m3輸出高電平,“8位dac寄存器”輸出跟隨輸入; dac0832的cs和xfer共同構(gòu)成片選線,接到74ls138譯碼器輸出端cs2()。根據(jù)對dac0832的數(shù)據(jù)鎖存器和dac寄存器的不
25、同控制方法,da0832有三種工作方式。單緩沖方式、雙緩沖方式、直通方式。本次設(shè)計采用的是單緩沖方式。此方式適用于只有一路模擬量輸出或幾路模擬量非同步輸出的場合,方法是控制數(shù)據(jù)鎖存器和dac寄存器同時接收數(shù)據(jù),或者只用數(shù)據(jù)鎖存器而把dac寄存器接成直通方式。dac0832的輸出是電流,有兩個電流輸出端(iout1和iout2),它們的和為常數(shù)。使用運算放大器可以將dac0832的iout1和iout2電流輸出線性的轉(zhuǎn)換成電壓輸出。根據(jù)運算放大器和dac0832的連接方法,運算放大器的輸出可以分為單極性和雙極性兩種,這次設(shè)計使用的是單極性的連接方法。輸出電壓vo與對應(yīng)輸入數(shù)字量的關(guān)系為:式子中:
26、 ; /256為一常數(shù)。顯然,vo和b成正比關(guān)系。輸入數(shù)字量b為00h時,vo也為0,輸入數(shù)字量為ffh時,由于=-5v,vo為正的最大值5v,輸出電壓為正的單極性。2.5 led數(shù)碼顯示電路設(shè)計數(shù)碼顯示電路設(shè)計如圖所示: 圖2-6 8255與8051的連接電路圖 本次設(shè)計中要將給定的轉(zhuǎn)速電壓轉(zhuǎn)換成數(shù)字量的轉(zhuǎn)速,并用led(light emitting diode)數(shù)碼管顯示這一給定轉(zhuǎn)速,同時還要顯示直流電機實際轉(zhuǎn)速。已知給定電機的轉(zhuǎn)速為01500轉(zhuǎn)/分,因此需要兩個四位的led數(shù)碼管才能滿足設(shè)計要求。 led顯示器是由發(fā)光二極管夠成的字段組成的顯示器,有8段和16段管兩大類,本次設(shè)計采用的是
27、8段數(shù)碼管。顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。動態(tài)顯示控制的基本原理是,單片機依次發(fā)出段選控制字和對應(yīng)哪一位led顯示器的位選控制信號,顯示器逐個循環(huán)點亮。適當(dāng)選擇掃描速度,利用人眼睛的“留光”效應(yīng),使得看上去好像幾位顯示器同時在顯示一樣,而在動態(tài)掃描顯示控制中,同一時刻實際上只要一位led顯示器被點亮。單片機控制系統(tǒng)的接口電路中的led數(shù)碼顯示器使用的是共陰極接法。共陰極接法的原理:將所有發(fā)光二極管的陰極互相連接后接地,每個發(fā)光二極管的陽極通過電阻與輸入端相連,當(dāng)陽極端輸入高電平時,段發(fā)光二極管就導(dǎo)通點亮,當(dāng)陽極端輸入低電平時,段發(fā)光二極管就不點亮。設(shè)計中采用動態(tài)顯示,單片機控制系統(tǒng)采用動
28、態(tài)掃描顯示。動態(tài)顯示采用軟件法把將要顯示的十六進(jìn)制數(shù)(或bcd碼)轉(zhuǎn)化為相應(yīng)字型碼,所以需要在ram區(qū)中建立一個顯示緩沖區(qū)。顯示緩沖區(qū)內(nèi)包含的存儲單元個數(shù)需和系統(tǒng)中的led顯示器的個數(shù)相等。而顯示緩沖區(qū)的起始地址很重要,它決定了顯示緩沖區(qū)在ram中的位置。顯示緩沖區(qū)的每個存儲單元用于存放相應(yīng)led顯示管將要顯示字符的字型碼地址偏移量,所以cpu可以根據(jù)這個地址偏移量通過查字型碼表找出所顯示字符的字型碼,以便送到字型口顯示。為了顯示字符,要為led顯示器提供顯示段選碼(或稱字型碼)。采用共陰極接法的8段led數(shù)碼顯示器字型碼表如下:表2-3 8段led數(shù)碼顯示器字型碼表所顯字符012345678
29、9共陰極字型碼3fh06h5bh4fh66h6dh7dh07h7fh6fh2.6 單片機控制直流調(diào)速系統(tǒng)中的其它設(shè)計單片機控制直流調(diào)速系統(tǒng)中除上述電路設(shè)計之外,還有8051單片機的復(fù)位電路設(shè)計,本次設(shè)計中采用手動復(fù)位,當(dāng)用手按一下按鈕s1時就可以對8051單片機進(jìn)行復(fù)位。除此之外原理圖中還具備測速發(fā)電機接口卡j3,用來將測速發(fā)電機的電壓信號接入系統(tǒng)?;鶞?zhǔn)電源輸入和模擬電壓輸出接口卡j2,為單片機系統(tǒng)引入5v的基準(zhǔn)電壓,還有將05v的模擬電壓輸出的接口卡j1。前面已經(jīng)分別介紹了系統(tǒng)中各個部分的設(shè)計,現(xiàn)在將系統(tǒng)整體的原理圖設(shè)計如下: 圖2-7單片機控制系統(tǒng)原理圖2.7 pcb板圖的設(shè)計單片機控制直
30、流調(diào)速系統(tǒng)的硬件電路設(shè)計基本完成,接下來是使用protel軟件畫出上述設(shè)計的電路原理圖,繪圖時要注意元器件的布局合理,按照繪制原理圖規(guī)則繪制。然后是對繪制的原理圖進(jìn)行電氣規(guī)則檢查和標(biāo)注。下一步是對元器件的封裝,有時有些元器件的封裝在封裝庫中是找不到的。在封裝按鈕時就沒有找到其封裝,因此只有自己畫封裝圖。接下來是生成網(wǎng)絡(luò)表,網(wǎng)絡(luò)表是描述電路元器件的編號、封裝和元器件管腳之間的連接關(guān)系的列表。最后就是生成pcb板。在布線時分為人工布線和自動布兩種,為了節(jié)省時間采用了自動布線。布線的原則:線長銅膜線應(yīng)該盡可能的短;線寬銅膜線的寬應(yīng)滿足電氣性能要求而又便于生產(chǎn)為準(zhǔn)則,它的最小值取決于流過它的電流;線間
31、寬相鄰銅膜線之間的間距應(yīng)滿足電氣安全要求,最小間距要能承受所加電壓的峰值;屏蔽與接地銅膜線的公共地線應(yīng)盡可能放在電路板的邊緣。自動布線后可以對其進(jìn)行手工改動,使布線更加完善。此次設(shè)計的pcb板圖如下: 圖2-8 pcb板圖第三章 單片機控制系統(tǒng)的軟件設(shè)計為實現(xiàn)單片機對直流電機的控制,滿足設(shè)計的要求,系統(tǒng)的工作過程是靠軟件來實現(xiàn)的。因此軟件的設(shè)計和編寫很重要,程序的編寫采用匯編語言。 3.1主程序的設(shè)計主程序的內(nèi)容一般包括:主程序的起始地址、中斷服務(wù)程序的起始地址、設(shè)置堆棧指針、相關(guān)存儲單元和元器件的初始化以及一些子程序的調(diào)用等。(1)主程序的起始地址:mcs-51系列單片機經(jīng)復(fù)位后,(pc)=
32、0000h,而0003h0023h為各中斷源的入口地址,所以在編程的時候應(yīng)在0000h處寫一跳轉(zhuǎn)指令(一般寫長跳轉(zhuǎn)指令),cpu在執(zhí)行指令時,直接從0000h跳過各中斷服務(wù)程序的入口地址,直接到0300h執(zhí)行主程序(本程序設(shè)置的main從0300h開始)。在設(shè)計的系統(tǒng)中,使用了兩個中斷,即t0,int0。其中在t0中斷程序中必須要對電機的轉(zhuǎn)速進(jìn)行定時采樣,所以t0中斷必須允許嵌套外部中斷0的中斷申請,所以在主程序初始化中置外部中斷0為高優(yōu)先級中斷,在t0中斷服務(wù)程序中必須要開外部中斷0中斷。t0定時器的工作參數(shù)確定后,在主程序初始化部分,對t0定時器進(jìn)行設(shè)定,并且啟動t0定時器(setb tr
33、0),開始工作,定時器t0和cpu并行工作。當(dāng)定時1ms到,t0定時器向cpu提出中斷請求,程序中設(shè)置軟計數(shù)器,當(dāng)一定的時間到,執(zhí)行相應(yīng)的中斷程序。t0定時器中斷服務(wù)程序的功能:15ms執(zhí)行一次a/d轉(zhuǎn)換、數(shù)據(jù)采集、pid算法、d/a轉(zhuǎn)換,結(jié)束后進(jìn)行顯示,1ms顯示一位。int0 中斷主要的功能是完成數(shù)據(jù)的采集,采集完一次數(shù)據(jù)后向cpu發(fā)送中斷請求。(2) 中斷服務(wù)程序的起始地址:當(dāng)cpu接收到中斷請求信號并給予響應(yīng)后,cpu把當(dāng)前接收到的內(nèi)容進(jìn)行堆棧保護(hù),然后轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口地址處開始執(zhí)行。int0的中斷入口地址為0003h。(3) 設(shè)置堆棧指針:在cpu經(jīng)復(fù)位后,sp中的內(nèi)容為0
34、7h,和工作寄存器區(qū)中的內(nèi)容重復(fù)了,所以將sp中的內(nèi)容改為70h。(4) 主程序的初始化:所謂的初始化,就是對將要用到的mcs-51系列單片機的內(nèi)部單元和擴展的芯片進(jìn)行初始化工作狀態(tài)的設(shè)定。mcs-51系列單片機復(fù)位后,特殊功能寄存器ie、ip的內(nèi)容為00h,所以應(yīng)對ie、ip進(jìn)行初始化編程,以開cpu總中斷,允許某些中斷源中斷,并設(shè)置中斷優(yōu)先級等。 主程序流程圖和t0中斷流程圖設(shè)計如下:t0中斷服務(wù)程序開始設(shè)置數(shù)據(jù)、顯示緩沖區(qū)地址設(shè)置時間初值(1ms)等待t0中斷主程序設(shè)置各中斷服務(wù)程序的入口地址設(shè)置堆棧指針相關(guān)寄存器清零設(shè)置定時器0工作方式設(shè)置中斷優(yōu)先級 t0定時中斷判斷15ms到否?ny
35、int0開中斷,上一時刻數(shù)據(jù)進(jìn)行采集a/d轉(zhuǎn)換pid算法d/a轉(zhuǎn)換轉(zhuǎn)換為壓縮bcd碼后顯示顯示中斷返回圖3-1 主程序流程圖 圖3-2 t0中斷服務(wù)流程圖程序如下:org 0000hljmp main ;轉(zhuǎn)主程序org 0003h ;外部中斷int0的入口地址ljmp inta ;轉(zhuǎn)外部中斷int0服務(wù)程序org 000bh ;t0中斷的入口地址ljmp t0-sev ;轉(zhuǎn)t0中斷服務(wù)程序org 0300hdatabuf equ 50h ;數(shù)據(jù)緩沖區(qū)的首地址disbuf1 equ 60h ;給定速度顯示緩沖區(qū)的首地址disbuf2 equ 64h ;實際速度顯示緩沖區(qū)的首地址samp-d1 e
36、qu 0000h ;保存給定速度采樣數(shù)據(jù)的首地址samp-d2 equ 0500h ;保存實際速度采樣數(shù)據(jù)的首地址main: mov sp,#70h ;設(shè)置堆棧指針mov r0,#7fh ;相關(guān)寄存器清零mov r0, #0 mov tmod,#01h ;定時器t0工作方式1 mov tl0,#18h ;定時器賦初值,定時1ms mov th0,#0fchmov ip,#01h ;設(shè)置外部中斷int0優(yōu)先 setb tr0 ;啟動t0工作 setb ex0 ;允許int0中斷 setb ea ;開cpu中斷 sjmp $ ;等待中斷t0中斷程序:t0-sev: ; t0中斷服務(wù)子程序 mov
37、tl0,#18h ;定時器重新賦值mov th0,#0fchsetb it0 ;中斷觸發(fā)方式為邊沿觸發(fā)方式 setb ea ; cpu開中斷 setb ex0 ;允許外部中斷0中斷inta: push acc ;保護(hù)現(xiàn)場 push dph push dpl acall ad1 ;調(diào)用ad1給定速度采樣子程序 acall filter ;調(diào)用中值濾波子程序 acall fa1 acall ad2 ;調(diào)用ad2實際速度采樣子程序 acall filter ;調(diào)用中值濾波子程序acall fa2pop dph ;恢復(fù)現(xiàn)場 pop dpl pop acc reti acall pid ;調(diào)用數(shù)值pid
38、控制算法子程序 acall dac ;調(diào)用dac轉(zhuǎn)換程序 lcall trast1 lcall dbcd1 lcall dis1 ;調(diào)用速度顯示子程序 mov a,2ah ;實際速度值送a lcall trast1 ;調(diào)用代碼轉(zhuǎn)換子程序 lcall dbcd2 ;將實際轉(zhuǎn)速bcd碼轉(zhuǎn)換成單獨的bcd碼 lcall dis2 ;調(diào)用實際速度顯示子程序 reti ;中斷返回3.2采樣子程序3.2.1 adc0809的采樣程序 dac0809 的地址可為7ff8h7fffh,具體該為哪一個地址涉及到轉(zhuǎn)換通道的選擇,在第二章中已經(jīng)設(shè)定給定轉(zhuǎn)速電壓模擬量地址為7ff8h(in0),實際速度電壓通道地址為
39、 7ff9h(in1)。 采樣設(shè)計流程圖如下:啟動adc采樣子程序開始a/d是否完成?延時返回采樣值起始地址送r0采樣次數(shù)送r2所有采樣是否完成?nyny圖3-3 adc0809采樣子程序流程圖程序如下:ad1: ;調(diào)用ad1給定速度采樣子程序mov r0,#2ch ;采樣值起始地址送r0 mov r2,#03h ;采樣次數(shù)初值送r2 mov dptr,#6ff8h jmp adc1ad2: mov r0,#2ch ;采樣值起始地址送r0 mov r2,#03h ;采樣次數(shù)初值送r2mov dptr,#6ff9hadc1: movx dptr,a ;啟動adc0809工作 mov r3,#20
40、hdly djnz r3,dly ;延時deng: jb p3.3,deng ;等待a/d完成 movx a,dptr ;采樣值送a mov r0,a ;存放采樣值 inc r0 djnz r2,adc1 ;若采樣未完,則adc1 ret ;若采樣完,則返回3.2.2中值濾波算法子程序 因為要對速度進(jìn)行三次采樣,取其中間值作為轉(zhuǎn)速的實際值來減小誤差,以達(dá)到設(shè)計要求。設(shè)三次采樣值分別放在2ch、2dh、2eh中,程序流程圖如下:大送2ch,小送2dh判斷(2ch)、(2dh)相等否判斷(2dh)、(2eh)相等否(2dh)< (2eh) ?判斷(2ch)、(2eh)相等否n(2eh) &l
41、t; (2ch) ? y(2ch)送2ah(2eh)送2ah返回nn(2eh)送2ah(2dh)送2ah(2dh)送2ahyyynyy 圖3-4 中值濾波流程圖程序如下:filter: ;中值濾波算法子程序mov a,2ch ;(2ch)送a cjne a,2dh,cmp1 ;(2ch)(2dh),則cmp1 ajmp cmp2 ;否則轉(zhuǎn)cmp2cmp1: jnc cmp2 ;若(2ch)=(2dh),則cmp2 xch a,2dh xch a,2chcmp2: mov a,2dh ;(2dh)送a cjne a,2eh,cmp3 ;若(2dh)(2eh),則cmp3 mov 2ah,a ;否
42、則(2dh)送2ah ret ;返回cmp3: jc cmp4 ;若(2dh)<(2eh),則cmp4 mov 2ah,a ;否則(2dh)送2ah ert ;返回cmp4: mov a,2eh ;(2eh)送a cjne a,2ch,cmp5 ;若(2eh)(2ch),則cmp5 mov 2ah,a ;否則(2en)送2ah ret ;返回cmp5: jc cmp6 ;若(2eh)<(2ch),則cmp6 xch a,2ch ;否則(2eh)(2ch)cmp6: mov 2ah,a ;a送2ah retfa1: mov dptr,#samp-d1 movx dptr,a ;將采樣
43、值送到外部ram中的0000h單元 mov 1ah, a inc dptrfa2: mov dptr,#samp-d2 movx dptr,a ;將采樣值送到外部ram中的0000h單元 inc dptr ret3.3數(shù)字pid控制算法子程序pid控制的理想微分方程為: 式1-1其中稱為偏差值,可作為速度調(diào)節(jié)器的輸入信號,為給定值,為被測變量值,為比例系數(shù),為積分時間常數(shù),為微分時間常數(shù),為調(diào)節(jié)器的輸出控制電壓信號。但計算機只能處理數(shù)字信號,故上述數(shù)學(xué)方程必須加以變換,若設(shè)速度的采樣周期為t,第n次采樣得到的輸入偏差為,調(diào)節(jié)器輸出為,則有: (微分用差分代替) 式1-2 (積分用求和代替) 式1-3 式1-1可改寫為 式1-4寫成遞推形式為 式1-5pid計算程序: 根據(jù)計算計算計算計算計算計算返回 圖3-5 pid算法流程圖表3-1 內(nèi)部ram的有關(guān)參數(shù)分配圖 2ah中間值42h2bh43h2ch三次采樣值46h最低字節(jié)積單元2dh47h次低字節(jié)2eh48h次高字節(jié)2fh本次計算值49h最高字節(jié)30h4ah最低字節(jié)積單元31h給定值4bh次低字節(jié)32h4ch次高字節(jié)33h給定值4dh最高字節(jié)34h35h給定值36h37給定值38h3
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度消防檢測服務(wù)外包合同勞動廳制定2篇
- 2025年度石材行業(yè)市場調(diào)查與分析合同3篇
- 二零二五年度外墻巖棉板保溫材料采購、施工及質(zhì)量監(jiān)管合同2篇
- 二零二五年度旅游行業(yè)SaaS解決方案銷售及服務(wù)協(xié)議3篇
- 二零二五年度波形護(hù)欄安裝及售后保養(yǎng)服務(wù)合同3篇
- 二零二五年度廣告發(fā)布合同:某品牌在央視春晚廣告投放3篇
- 編織紅繩課程設(shè)計
- 二零二五年度建筑膩子產(chǎn)品進(jìn)出口代理合同3篇
- 二零二五年度彩鋼房租賃與投資合作協(xié)議3篇
- 課程設(shè)計怎么形容成語
- 高中數(shù)學(xué)人教A版必修第一冊 全冊 思維導(dǎo)圖
- 【基于自由現(xiàn)金流貼現(xiàn)法的企業(yè)估值的案例探析3300字(論文)】
- 鑄件工藝性分析報告
- 船舶維修搶修方案
- 九年級初三中考物理綜合復(fù)習(xí)測試卷3套(含答案)
- (正式版)JTT 1218.5-2024 城市軌道交通運營設(shè)備維修與更新技術(shù)規(guī)范 第5部分:通信
- 2023年人教版五年級上冊語文期末考試題(加答案)
- 新中國史智慧樹知到期末考試答案2024年
- 基于物聯(lián)網(wǎng)的智能衣柜
- 設(shè)備的故障管理
- 2024年計算機二級ms備考試題庫400題(含答案)
評論
0/150
提交評論