數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)論文_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  AVR 系列的單片機(jī)不僅具有良好的集成性能, 而且都具備在線編程接口, 其中的Mega 系列還具備JTAG 仿真和下載功能; 含有片內(nèi)看門狗電路、片內(nèi)Flash、同步串行接口SPI; 多數(shù)AVR 單片機(jī)還內(nèi)嵌了A/D 轉(zhuǎn)換器、EEPROM、模擬比較器、PWM 定時(shí)計(jì)數(shù)器等多種功能; AVR 單片機(jī)的I/O 接口具有很強(qiáng)的驅(qū)動(dòng)能力

2、, 灌入電流可直接驅(qū)動(dòng)繼電器、LCD 等元件, 從而省去驅(qū)動(dòng)電路, 節(jié)約系統(tǒng)成本。</p><p>  關(guān)鍵詞:直流穩(wěn)壓電源;AVR單片機(jī);液晶顯示</p><p>  Numerical control dc manostat design</p><p><b>  Abstract</b></p><p>  AV

3、R series single-chip not only has good integrated performance,And all have online programming interface。One of the Mega series has JTAG simulation and download function; Contains piece inside watch-dog circuit, piece ins

4、ide Flash, synchronous serial interface SPI, Most AVR microcontroller is embedded with A/D converters, EEPROM, simulated comparator, PWM timing counter multiple functions, AVR SCM's I/O interface has a strong drive a

5、bility, into the current can be directly driven relays, LCD, e</p><p>  Keywords: dc voltage stabilizer, AVR microcontroller, LCD display</p><p><b>  目 錄</b></p><p>&

6、lt;b>  摘要I</b></p><p>  AbstractII</p><p><b>  引言1</b></p><p>  1 直流穩(wěn)壓電源的概述2</p><p>  1.1 什么是直流穩(wěn)壓電源2</p><p>  1.2 研究背景及意義3<

7、;/p><p>  1.3 國(guó)內(nèi)外研究現(xiàn)狀3</p><p><b>  2 系統(tǒng)功能4</b></p><p>  3 方案論證與比較5</p><p>  3.1 穩(wěn)壓電源的分類5</p><p>  3.2 穩(wěn)壓電源部分方案5</p><p>  方案

8、一:簡(jiǎn)單的并聯(lián)型穩(wěn)壓電源5</p><p>  方案二:串聯(lián)型穩(wěn)壓電源6</p><p>  方案三:輸出可調(diào)的開關(guān)電源6</p><p>  3.3 三端集成穩(wěn)壓芯片6</p><p>  方案一:采用LM317可調(diào)式三端穩(wěn)壓器電源6</p><p>  方案二: 采用7805三端穩(wěn)壓器電源6</

9、p><p>  3.4 數(shù)字顯示部分7</p><p>  方案一:用Atmage16實(shí)現(xiàn)模數(shù)轉(zhuǎn)換7</p><p>  方案二:采用三位半A/D轉(zhuǎn)換器ICL71077</p><p>  4 系統(tǒng)硬件設(shè)計(jì)7</p><p>  4.1 電路原理7</p><p>  4.2 At

10、mage16單片機(jī)模塊分析8</p><p>  4.3 系統(tǒng)模塊9</p><p>  5 系統(tǒng)的軟件設(shè)計(jì)13</p><p>  5.1 程序設(shè)計(jì)13</p><p>  5.2 程序流程圖13</p><p><b>  結(jié)束語14</b></p><

11、p><b>  參考文獻(xiàn)15</b></p><p><b>  致 謝16</b></p><p>  附錄1(電路原理圖 )17</p><p>  附錄2(數(shù)控直流穩(wěn)壓電源程序)18</p><p><b>  引言</b></p><

12、p>  直流穩(wěn)壓電源是電子技術(shù)常用的設(shè)備之一.廣泛的應(yīng)用于教學(xué)、科研等領(lǐng)域.傳統(tǒng)的多功能直流穩(wěn)壓電源功能簡(jiǎn)單、難控制、可靠性低.干抗大,精度低且體積大、復(fù)雜度高.瞢通直流穩(wěn)壓電源品種很多.但均存在以下問題:輸出電壓懸通過粗調(diào)(波段開關(guān))及細(xì)調(diào)(電位器)來調(diào)節(jié).這樣,當(dāng)輸出電壓需要精確輸出,或需要在一個(gè)小范圈內(nèi)改變時(shí)(如I.02一1.03V),困難就較大.另外,隨著使用時(shí)問的增加,波段開關(guān)及電位器難免接觸不良,對(duì)輸出會(huì)有影響.常常通

13、過硬件對(duì)過載進(jìn)行限流或截流型保護(hù),電路構(gòu)成復(fù)雜,穩(wěn)壓精度也不高.本文設(shè)計(jì)了一種以單片機(jī)為核心的智能化高精度簡(jiǎn)易直流電源,克服了傳統(tǒng)直流電壓源的缺點(diǎn),具有很高的應(yīng)用價(jià)值。</p><p>  1 直流穩(wěn)壓電源的概述</p><p>  1.1 什么是直流穩(wěn)壓電源</p><p>  直流穩(wěn)壓電源又稱直流穩(wěn)壓器。它的供電電壓大都是交流電壓,當(dāng)交流供電電壓的電壓或輸出

14、負(fù)載電阻變化時(shí),穩(wěn)壓器的直接輸出電壓都能保持穩(wěn)定。穩(wěn)壓器的參數(shù)有電壓穩(wěn)定度、紋波系數(shù)和響應(yīng)速度等。前者表示輸入電壓的變化對(duì)輸出電壓的影響。紋波系數(shù)表示在額定工作情況下,輸出電壓中交流分量的大??;后者表示輸入電壓或負(fù)載急劇變化時(shí),電壓回到正常值所需時(shí)間。</p><p>  直流穩(wěn)壓電源分連續(xù)導(dǎo)電式與開關(guān)式兩類。前者由工頻變壓器把單相或三相交流電壓變到適當(dāng)值,然后經(jīng)整流、濾波,獲得不穩(wěn)定的直流電源,再經(jīng)穩(wěn)壓電路得到

15、穩(wěn)定電壓(或電流)。這種電源線路簡(jiǎn)單、紋波小、相互干擾小,但體積大、耗材多,效率低(常低于40%~60%)。后者以改變調(diào)整元件(或開關(guān))的通斷時(shí)間比來調(diào)節(jié)輸出電壓,從而達(dá)到穩(wěn)壓。這類電源功耗小,效率可達(dá)85%左右,但缺點(diǎn)是紋波大、相互干擾大。所以,80年代以來發(fā)展迅速。從工作方式上可分為:①可控整流型。用改變晶閘管的導(dǎo)通時(shí)間來調(diào)整輸出電壓。②斬波型。輸入是不穩(wěn)定的直流電壓,以改變開關(guān)電路的通斷比得到單向脈動(dòng)直流,再經(jīng)濾波后得到穩(wěn)定直流電

16、壓。③變換器型。不穩(wěn)定直流電壓先經(jīng)逆變器變換成高頻交流電,再經(jīng)變壓、整流、濾波后,從所得新的直流輸出電壓取樣,反饋控制逆變器工作頻率,達(dá)到穩(wěn)定輸出直流電壓的目的。</p><p>  直流穩(wěn)壓電源是電子技術(shù)常用的設(shè)備之一,廣泛的應(yīng)用于電路,教學(xué)試驗(yàn)和科學(xué)研究等領(lǐng)域。傳統(tǒng)的多功能直流穩(wěn)壓電源功能簡(jiǎn)單、難控制、可靠性低、干擾大、精度低且體積大、復(fù)雜度高。普通直流穩(wěn)壓電源品種很多.但均存在以下問題:輸出電壓是通過粗調(diào)(

17、波段開關(guān))及細(xì)調(diào)(電位器)來調(diào)節(jié)。這樣,當(dāng)輸出電壓需要精確輸出,或需要在一個(gè)小范圍內(nèi)改變時(shí)(如1.02~103V),困難就較大。另外,隨著使用時(shí)間的增加,波段開關(guān)及電位器難免接觸不良,對(duì)輸出會(huì)有影響。常常通過硬件對(duì)過載進(jìn)行限流或截流型保護(hù),電路構(gòu)成復(fù)雜,穩(wěn)壓精度也不高。</p><p>  目前使用的可控直流電源大部分是點(diǎn)動(dòng)的,利用分立器件,體積大,效率低,可靠性差,操作不方便,故障率高。隨著電子技術(shù)的發(fā)展,各種

18、電子,電器設(shè)備對(duì)電源的性能要求提高,電源不斷朝數(shù)字化,高效率,模塊化和智能化發(fā)展。</p><p>  以單片機(jī)系統(tǒng)為核心而設(shè)計(jì)的新一代——數(shù)控直流電源,它不但電路簡(jiǎn)單,結(jié)構(gòu)緊湊,價(jià)格低廉,性能優(yōu)越,而且由于單片機(jī)具有計(jì)算和控制能力,利用它對(duì)數(shù)據(jù)進(jìn)行各種計(jì)算,從而可排除和減少模擬電路引起的誤差,輸出電壓和限定電流采用鍵盤輸入方式,電源的外表美觀,操作使用方便,克服了傳統(tǒng)直流電壓源的缺點(diǎn),具有較高的使用價(jià)值。<

19、;/p><p>  單片機(jī)對(duì)直流穩(wěn)壓電源進(jìn)行控制,改善了電源的性能,使用方便靈活,且成本較低,同時(shí)控制系統(tǒng)在軟件上還可進(jìn)一步改進(jìn),以擴(kuò)展其功能,而并不需要增加硬件開銷,從而提高電源的性能價(jià)格比。</p><p>  直流穩(wěn)壓電源可廣泛應(yīng)用于國(guó)防、科研、大專院校、實(shí)驗(yàn)室、工礦企業(yè)、電解、電鍍、直流電機(jī)、充電設(shè)備等。</p><p>  1.2 研究背景及意義</p

20、><p>  直流穩(wěn)壓電源是電子技術(shù)常用的設(shè)備之一,廣泛的應(yīng)用于教學(xué)、科研等領(lǐng)域。傳統(tǒng)的多功能直流穩(wěn)壓電源功能簡(jiǎn)單、難控制、可靠性低、干擾大、精度低且體積大、復(fù)雜度高。普通直流穩(wěn)壓電源品種很多, 但均存在以下二個(gè)問題: 1) 輸出電壓是通過粗調(diào)(波段開關(guān)) 及細(xì)調(diào)(電位器)來調(diào)節(jié)。這樣, 當(dāng)輸出電壓需要精確輸出, 或需要在一個(gè)小范圍內(nèi)改變時(shí)(如1. 05~ 1. 07V ) ,困難就較大。另外, 隨著使用時(shí)間的增加,

21、 波段開關(guān)及電位器難免接觸不良, 對(duì)輸出會(huì)有影響。2) 穩(wěn)壓方式均是采用串聯(lián)型穩(wěn)壓電路, 對(duì)過載進(jìn)行限流或截流型保護(hù), 電路構(gòu)成復(fù)雜,穩(wěn)壓精度也不高。</p><p>  在家用電器和其他各類電子設(shè)備中,通常都需要電壓穩(wěn)定的直流電源供電。但在實(shí)際生活中,都是由220V 的交流電網(wǎng)供電。這就需要通過變壓、整流、濾波、穩(wěn)壓電路將交流電轉(zhuǎn)換成穩(wěn)定的直流電。濾波器用于濾去整流輸出電壓中的紋波,一般傳統(tǒng)電路由濾波扼流圈和電

22、容器組成,若由晶體管濾波器來替代,則可縮小直流電源的體積,減輕其重量,且晶體管濾波直流電源不需直流穩(wěn)壓器就能用作家用電器的電源,這既降低了家用電器的成本,又縮小了其體積,使家用電器小型化。</p><p>  傳統(tǒng)的直流穩(wěn)壓電源通常采用電位器和波段開關(guān)來實(shí)現(xiàn)電壓的調(diào)節(jié),并由電壓表指示電壓值的大小. 因此,電壓的調(diào)整精度不高,讀數(shù)欠直觀,電位器也易磨損.而基于單片機(jī)控制的直流穩(wěn)壓電源能較好地解決以上傳統(tǒng)穩(wěn)壓電源的不

23、足。</p><p>  隨著科學(xué)技術(shù)的不斷發(fā)展,特別是計(jì)算機(jī)技術(shù)的突飛猛進(jìn),現(xiàn)代工業(yè)應(yīng)用的工控產(chǎn)品均需要有低紋波、寬調(diào)整范圍的高壓電源,特別是在一些高能物理領(lǐng)域,急需電腦或單片機(jī)控制的低紋波、寬調(diào)整范圍的電源。</p><p>  1.3 國(guó)內(nèi)外研究現(xiàn)狀</p><p>  電源——作為當(dāng)今人們生活中普遍存在的電子商品,從上世紀(jì)九十年代末起便迅速發(fā)展。隨著對(duì)系統(tǒng)

24、更高效率和更低功耗的需求,電信與數(shù)據(jù)通訊設(shè)備的技術(shù)更新推動(dòng)電源行業(yè)中直流/直流電源轉(zhuǎn)換器向更高靈活性和智能化方向發(fā)展。從80年代的第一代分布式供電系統(tǒng)開始轉(zhuǎn)向到20世紀(jì)末更為先進(jìn)的第四代分布式供電結(jié)構(gòu)以及中間母線結(jié)構(gòu),直流/直流電源行業(yè)正面臨著新的挑戰(zhàn),即如何在現(xiàn)有系統(tǒng)加入嵌入式電源智能系統(tǒng)和數(shù)字控制。然而,早在90年代中,半導(dǎo)體生產(chǎn)商們就開發(fā)出了數(shù)控電源管理技術(shù),而在當(dāng)時(shí),這種方案的性價(jià)比與當(dāng)時(shí)廣泛使用的模擬控制方案相比處與劣勢(shì),因而

25、無法被廣泛采用。由于板載電源管理的更廣泛應(yīng)用和行業(yè)能源節(jié)約和運(yùn)行最優(yōu)化的關(guān)注,電源行業(yè)和半導(dǎo)體生產(chǎn)商們便開始共同開發(fā)這種名為“數(shù)控電源”的新產(chǎn)品。而如今隨著直流電源技術(shù)的飛躍發(fā)展, 整流系統(tǒng)由以前的分立元件和集成電路控制發(fā)展為微機(jī)控制, 從而使直流電源智能化, 具有遙測(cè)、遙信、遙控的三遙功能, 基本實(shí)現(xiàn)了直流電源的無人值守。并且,在當(dāng)今科技快速發(fā)展過程中,模塊化是直流電源的發(fā)展趨勢(shì),并聯(lián)運(yùn)行是電源產(chǎn)品大容量化的一個(gè)有效手段,可以通過設(shè)計(jì)

26、N+1冗余電源系統(tǒng),實(shí)現(xiàn)容量擴(kuò)展</p><p>  電源采用數(shù)字控制,具有以下明顯優(yōu)點(diǎn): </p><p>  1)易于采用先進(jìn)的控制方法和智能控制策略,使電源模塊的智能化程度更高,性能更完美。</p><p>  2)控制靈活,系統(tǒng)升級(jí)方便,甚至可以在線修改控制算法,而不必改動(dòng)硬件線路。</p><p>  3)控制系統(tǒng)的可靠性提高,易于

27、標(biāo)準(zhǔn)化,可以針對(duì)不同的系統(tǒng)(或不同型號(hào)的產(chǎn)品),采用統(tǒng)一的控制板,而只是對(duì)控制軟件做一些調(diào)整即可。</p><p><b>  2 系統(tǒng)功能</b></p><p>  系統(tǒng)電壓調(diào)節(jié)范圍為0~12V,最大輸出電流1A,具有過載和短路保護(hù)功能。輸出電壓可用1602LCD液晶顯示。鍵盤設(shè)有6個(gè)鍵,復(fù)位鍵,步進(jìn)增減1V兩個(gè)鍵,步進(jìn)增減0.1V兩個(gè)鍵以及確認(rèn)鍵。復(fù)位鍵用于啟

28、動(dòng)參數(shù)設(shè)定狀態(tài)(5V),步進(jìn)增減鍵用于設(shè)定參數(shù)數(shù)值,確認(rèn)鍵用于確認(rèn)輸出設(shè)定值[2,3].</p><p>  電源開機(jī)設(shè)定電壓輸出默認(rèn)值為5V。通過步進(jìn)增減按鍵功能選擇可在不同的設(shè)定參數(shù)之間切換,再按確認(rèn)鍵進(jìn)入設(shè)定電壓輸出狀態(tài)。若按復(fù)位鍵,則電壓輸出恢復(fù)5V。系統(tǒng)設(shè)有自動(dòng)識(shí)別功能,將不接受超出使用范圍(0~12V)的設(shè)定值。</p><p>  3 方案論證與比較</p>

29、<p>  3.1 穩(wěn)壓電源的分類</p><p>  穩(wěn)壓電源的分類方法繁多,按輸出電源的類型分有直流穩(wěn)壓電源和交流穩(wěn)壓電源;按穩(wěn)壓電路與負(fù)載的連接方式分有串聯(lián)穩(wěn)壓電源和并聯(lián)穩(wěn)壓電源;按調(diào)整管的工作狀態(tài)分有線性穩(wěn)壓電源和開關(guān)穩(wěn)壓電源;按電路類型分有簡(jiǎn)單穩(wěn)壓電源和反饋型穩(wěn)壓電源。我們必須弄清楚各個(gè)類別的特點(diǎn),才能從中選出最佳方案。</p><p>  3.2 穩(wěn)壓電源部分方案

30、</p><p>  方案一:簡(jiǎn)單的并聯(lián)型穩(wěn)壓電源</p><p>  并聯(lián)型穩(wěn)壓電源的調(diào)整元件與負(fù)載并聯(lián),因而具有極低的輸出電阻,動(dòng)態(tài)特性好,電路簡(jiǎn)單,并具有自動(dòng)保護(hù)功能;負(fù)載短路時(shí)調(diào)整管截止,可靠性高,但效率低,尤其是在小電流時(shí)調(diào)整管需承受很大的電流,損耗過大。</p><p>  方案二:串聯(lián)型穩(wěn)壓電源</p><p>  并聯(lián)穩(wěn)壓電源

31、有效率低、輸出電壓調(diào)節(jié)范圍小和穩(wěn)定度不高這三個(gè)缺點(diǎn)。而串聯(lián)穩(wěn)壓電源可以避免這些缺點(diǎn)。而簡(jiǎn)易串聯(lián)穩(wěn)壓電源輸出電壓受穩(wěn)壓管穩(wěn)壓值得限制無法調(diào)節(jié),必須對(duì)簡(jiǎn)易穩(wěn)壓電源進(jìn)行改進(jìn),增加一級(jí)放大電路,專門負(fù)責(zé)將輸出電壓的變化量放大后控制調(diào)整管的工作。由于整個(gè)控制過程是一個(gè)負(fù)反饋過程,所以這樣的穩(wěn)壓電源叫串聯(lián)負(fù)反饋穩(wěn)壓電源。而這部分電路的設(shè)計(jì)會(huì)比較麻煩。</p><p>  方案三:輸出可調(diào)的開關(guān)電源</p>&l

32、t;p>  開關(guān)電源的功能元件工作在開關(guān)狀態(tài),因而效率高,輸出功率大;且容易實(shí)現(xiàn)短路保護(hù)與過流保護(hù),只是電路在低輸出電壓時(shí)開關(guān)頻率低,紋波大,穩(wěn)定度差。</p><p>  綜合考慮效率,輸出功率,輸入輸出電壓,負(fù)載調(diào)整率, 本設(shè)計(jì)選用方案三,要求較低,較易實(shí)現(xiàn).對(duì)于效率和紋波的要求可以通過仔細(xì)調(diào)整磁性元件的參數(shù)(L,Q,M等)使其工作在最佳狀態(tài)。我們?cè)谶x擇方案的時(shí)候考慮到電路要簡(jiǎn)單,元件要容易找,所以我們

33、選擇了上述的方案中的第三個(gè)方案。</p><p>  穩(wěn)壓電路部分可以采用三極管等分立元件來實(shí)現(xiàn),也可以采用集成三端集成穩(wěn)壓芯片。從性價(jià)比來說,采用三端集成穩(wěn)壓芯片來實(shí)現(xiàn)要好很多,現(xiàn)在的穩(wěn)壓芯片功能強(qiáng)大,且價(jià)格低廉,很適合我們此次的設(shè)計(jì)。</p><p>  3.3 三端集成穩(wěn)壓芯片</p><p>  方案一:采用LM317可調(diào)式三端穩(wěn)壓器電源</p>

34、;<p>  LM317可調(diào)式三端穩(wěn)壓器電源能夠連續(xù)輸出可調(diào)的直流電壓.,不過它只能連續(xù)調(diào)正電壓,穩(wěn)壓器內(nèi)部含有過流,過熱保護(hù)電路;由一個(gè)電阻(R)和一個(gè)可變電位器(RP)組成電壓輸出調(diào)節(jié)電路,輸出電壓為:Vo=1.25(1+RP/R).</p><p>  方案二: 采用7805三端穩(wěn)壓器電源</p><p>  固定式三端穩(wěn)壓電源(7805)是由輸出腳Vo,輸入腳Vi和接

35、地腳GND組成,它的穩(wěn)壓值為+5V,它屬于CW78xx系列的穩(wěn)壓器,輸入端接電容可以進(jìn)一步的濾波,輸出端也要接電容可以改善負(fù)載的瞬間影響,此電路的穩(wěn)定性也比較好,使用起來可靠 、方便,而且價(jià)格便宜。</p><p>  本設(shè)計(jì)只需使用到5V輸出作為單片機(jī)的電源輸入,所以選用方案一</p><p>  3.4 數(shù)字顯示部分</p><p>  方案一:用Atmage

36、16實(shí)現(xiàn)模數(shù)轉(zhuǎn)換</p><p>  利用單片機(jī)的軟硬件資源實(shí)現(xiàn)高精度高速A/D轉(zhuǎn)換,轉(zhuǎn)換精度和轉(zhuǎn)換速度還可以通過軟件來改變,價(jià)格也低廉。不過對(duì)軟件部分要求較高。</p><p>  方案二:采用三位半A/D轉(zhuǎn)換器ICL7107</p><p>  ICL7107是高性能,低功耗的三位半A/D轉(zhuǎn)換器,它含有七段譯碼器,顯示驅(qū)動(dòng),參考源和時(shí)鐘系統(tǒng),它將高性能和低成本結(jié)

37、合在一起。精度相對(duì)方案一要差,所以數(shù)字顯示部分采用方案一。</p><p><b>  4 系統(tǒng)硬件設(shè)計(jì)</b></p><p><b>  4.1 電路原理</b></p><p>  電路系統(tǒng)結(jié)構(gòu)如圖1所示,系統(tǒng)選用Atmage16單片機(jī)為控制核心,外部擴(kuò)展1602驅(qū)動(dòng)芯片用以實(shí)現(xiàn)電壓輸出功能,同時(shí)1602液晶顯示

38、相應(yīng)的輸出電壓值。單片機(jī)計(jì)算設(shè)定值與A/D轉(zhuǎn)換采樣反饋值的偏差以及偏差的變化率,得出相應(yīng)的輸出值,由D/A轉(zhuǎn)換變換為模擬量去驅(qū)動(dòng)電壓輸出控制電路,從而使電壓穩(wěn)定在設(shè)定值。</p><p>  圖1 電路系統(tǒng)結(jié)構(gòu)圖</p><p>  4.2 Atmage16單片機(jī)模塊分析</p><p>  其外部引腳封裝如圖2所示</p><p>  圖

39、2 ATmage16 外部引腳與封裝示意圖</p><p>  其中,各個(gè)引腳的功能如下:</p><p>  電源、系統(tǒng)晶振、芯片復(fù)位引腳</p><p>  Vcc: 芯片供電(片內(nèi)數(shù)字電路電源)輸入引腳,使用時(shí)連接到電源正極。</p><p>  AVcc:為端口A和片內(nèi)ADC模擬電路電源輸入引腳。不使用ADC時(shí),直接連接到電源正極;

40、使用ADC時(shí),應(yīng)通過一個(gè)低通電源濾波器與Vcc連接。</p><p>  AREF:使用ADC時(shí),可作為外部ADC參考源的輸入引腳。</p><p>  GND: 芯片接地引腳,使用時(shí)接地。</p><p>  XTAL2:片內(nèi)反相振蕩放大器的輸出端。</p><p>  XTAL1:片內(nèi)反相振蕩放大器和內(nèi)部時(shí)鐘操作電路的輸入端。</p

41、><p>  RESET:RESET為芯片復(fù)位輸入引腳。在該引腳上施加(拉低)一個(gè)最小脈沖寬度為1.5us的低電平,將引起芯片的硬件復(fù)位(外部復(fù)位)。</p><p>  32根I/O引腳,分成PA、PB、PC和PD四個(gè)8位端口,他們?nèi)渴强删幊炭刂频碾p(多)功能復(fù)用的I/O引腳(口)。</p><p>  四個(gè)端口的第一功能是通用的雙向數(shù)字輸入/輸出(I/O)口,其中

42、每一位都可以由指令設(shè)置為獨(dú)立的輸入口,或輸出口。當(dāng)I/O設(shè)置為輸入時(shí),引腳內(nèi)部還配置有上拉電阻,這個(gè)內(nèi)部的上拉電阻可通過編程設(shè)置為上拉有效或上拉無效。</p><p>  如果AVR的I/O口設(shè)置為輸出方式工作,當(dāng)其輸出高電平時(shí),能夠輸出20mA的電流,而當(dāng)其輸出低電平時(shí),可以吸收40mA的電流。因此AVR的I/O口驅(qū)動(dòng)能力非常強(qiáng),能夠直接驅(qū)動(dòng)LED發(fā)光二極管、數(shù)碼管等。而早期單片機(jī)I/O口的驅(qū)動(dòng)能力只有5mA,

43、驅(qū)動(dòng)LED時(shí),還需要增加外部的驅(qū)動(dòng)電路和器件。</p><p>  芯片Reset復(fù)位后,所有I/O口的缺省狀態(tài)為輸入方式,上拉電阻無效,即I/O為輸入高阻的三態(tài)狀態(tài)。</p><p>  應(yīng)用ATmage16 主要完成PWM 波的輸出及控制功能。它可以先產(chǎn)生一定脈寬的PWM 波,作為L(zhǎng)1603 驅(qū)動(dòng)電路輸入信號(hào),然后根據(jù)所需要的基準(zhǔn)電壓與檢測(cè)到的輸出電壓的比較,調(diào)整脈寬,即改變占空比,最

44、終實(shí)現(xiàn)高性能可調(diào)直流穩(wěn)壓</p><p>  圖3內(nèi)部晶體振蕩器外接電路</p><p><b>  4.3 系統(tǒng)模塊</b></p><p><b>  L6203驅(qū)動(dòng)模塊</b></p><p>  L6203驅(qū)動(dòng)模塊就是將5V的輸入電壓變成Vin的電壓24V,一方面提高電壓,一方面提高電流。

45、電源驅(qū)動(dòng)芯片的選擇,由于器材的限制以及使用CMOS管需要的驅(qū)動(dòng)需要注意比較多的前級(jí)推動(dòng),如果直接使用電機(jī)驅(qū)動(dòng)芯片L6203,其價(jià)格實(shí)惠,電路簡(jiǎn)單而且效果非常好。</p><p>  圖4 L6203驅(qū)動(dòng)模塊</p><p>  圖5 L6203的外觀圖</p><p>  L6203的各管腳說明見下表</p><p><b>  5

46、V電源模塊</b></p><p>  單片機(jī)要工作需要有5V電源輸入,本設(shè)計(jì)采用7805穩(wěn)壓電源電路</p><p>  圖6 5V系統(tǒng)電源模塊</p><p>  1602液晶顯示模塊</p><p>  如果采用數(shù)碼管顯示,其價(jià)格便宜,但是占用端口較多,功耗大、顯示不功能不全。而用1602液晶顯示,則占用端口少,顯示功能較全

47、面,驅(qū)動(dòng)電流小。所以選擇選擇1602液晶顯示。</p><p>  圖7 給出1602 字符液晶作為信號(hào)顯示部分</p><p>  圖7 1602液晶顯示模塊</p><p>  輸出電壓采集反饋電路模塊</p><p>  圖8 輸出電壓采集反饋電路</p><p>  5 系統(tǒng)的軟件設(shè)計(jì)</p>

48、<p><b>  5.1 程序設(shè)計(jì)</b></p><p>  數(shù)控直流穩(wěn)壓電源的程序主要包括3個(gè)方面的內(nèi)容:一是單片機(jī)從按鍵中讀取數(shù)據(jù),而后和原有的輸出電壓進(jìn)行比較;二是利用按鍵進(jìn)行輸出的調(diào)整;三是從單片機(jī)中讀取數(shù)據(jù)傳輸?shù)?602液晶顯示器,進(jìn)而顯示輸出電壓。</p><p>  5.2 程序流程圖</p><p><b

49、>  如圖9所示</b></p><p><b>  圖9程序流程圖</b></p><p><b>  結(jié)束語</b></p><p>  利用單片機(jī)對(duì)直流穩(wěn)壓電源進(jìn)行控制,改善了電源的性能,使用方便靈活,且成本較低。另一方面,根據(jù)對(duì)電源的新要求,控制系統(tǒng)在軟件上還可進(jìn)一步改進(jìn),以擴(kuò)展其功能,而并不需要

50、增加硬件開銷,從而提高了電源的性能價(jià)格比。</p><p><b>  參考文獻(xiàn)</b></p><p>  王兆安,黃俊.電力電子技術(shù)[M].北京:機(jī)械工業(yè)出版社,2005</p><p>  [2] 李文元.高精度工業(yè)用可調(diào)直流電源的設(shè)計(jì)和制造[R].蘭州理工大學(xué),2000</p><p>  [3] 張毅剛.單片機(jī)

51、原理及應(yīng)用[M].北京:高等教育出版社,2004</p><p>  [4] 范立南.單片微型計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)[M].北京;人民郵電出版社,2004</p><p>  [5] 王水平,史俊杰,田慶安.開關(guān)穩(wěn)壓電源—原理、設(shè)計(jì)及實(shí)用電路(修訂版)[M].西安:西安電子科技大學(xué)出版社,2005</p><p>  [6] 潘永雄.新編單片機(jī)原理與應(yīng)用[M].西安:西

52、安電子科技大學(xué)出版社,2003</p><p>  [7] 瞿德福 編著 《數(shù)字電路與模擬電路》[M].中國(guó)標(biāo)準(zhǔn)出版社,2004年4月</p><p>  [8] 競(jìng)新.數(shù)字電子電路第1版[M].北京:清華大學(xué)出版社,2003</p><p>  [9] 《電路與電子技術(shù)實(shí)驗(yàn)教程》[M],中國(guó)計(jì)量學(xué)院出版社</p><p>  [10] 薛永

53、毅、王淑英編著《新型電源電路應(yīng)用實(shí)例》[M].電子工業(yè)出版社,2001年10月</p><p>  [11] 論數(shù)字技術(shù)[J].《電子報(bào)》合訂本,四川科學(xué)技術(shù)出版社,2002.12</p><p>  [12] 曹巧媛.《單片機(jī)原理及應(yīng)用》[M].電子工業(yè)出版社, 1997年6月</p><p><b>  致 謝</b></p>

54、<p>  經(jīng)過幾個(gè)月的忙碌,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)大學(xué)生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有老師的督促指導(dǎo),想要完成這個(gè)設(shè)計(jì)是難以想象的。所以在這里首先要感謝**老師,她在百忙之中抽空給我指導(dǎo)寫畢業(yè)設(shè)計(jì)。從理論學(xué)習(xí)到查閱資料,設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),裝配草圖等整個(gè)過程中都給予了我悉心的指導(dǎo)。雖然在這段時(shí)間里申老師有許多工作要忙,但是*老師仍然抽出大量時(shí)間細(xì)心地

55、幫助我糾正論文中的錯(cuò)誤。除了敬佩*老師的專業(yè)水平外,她的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。其次要衷心的感謝指導(dǎo)我理論學(xué)習(xí)的老師,他們給予了我很多學(xué)習(xí)經(jīng)驗(yàn)和技巧,以及與我一起學(xué)習(xí)和作畢業(yè)設(shè)計(jì)的各位同學(xué),他們給了我許多建議和意見。在這次設(shè)中我克服了許多困難,最后將設(shè)計(jì)圓滿的完成。</p><p>  附錄1(電路原理圖 )</p><p>  附錄2

56、(數(shù)控直流穩(wěn)壓電源程序)</p><p>  /*****************************************************</p><p>  This program was produced by the</p><p>  CodeWizardAVR V1.25.7a Evaluation</p><p>

57、;  Automatic Program Generator</p><p>  ?Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.</p><p>  http://www.hpinfotech.com</p><p>  Project : </p><p>  Version :

58、</p><p>  Date : 2010-5-20</p><p>  Author : Freeware, for evaluation and non-commercial use only</p><p>  Company : </p><p>  Comments: </p><p>  Chip

59、 type : ATmega16</p><p>  Program type : Application</p><p>  Clock frequency : 8.000000 MHz</p><p>  Memory model : Small</p><p>  External

60、 SRAM size : 0</p><p>  Data Stack size : 256</p><p>  *****************************************************/</p><p>  #include <mega16.h></p><p>  #include

61、"1602.c"</p><p>  #include "adc.c" </p><p>  /*------------------------------------------------------</p><p><b>  全局定義</b></p><p>  ----

62、-------------------------------------------------*/</p><p>  #define choice 0x7e</p><p>  #define up PIND.6</p><p>  #define down PIND.0</p>

63、<p>  #define right PIND.2</p><p>  #define left PIND.1</p><p>  #define ok PIND.3 </p><p>  #define Enable PORTD.7

64、 </p><p>  /**********************定義界面內(nèi)容*******/</p><p>  flash uchar set1[]="Plese set Volt: ";</p><p>  //flash uchar shu[]="0123456789.";</p><p>

65、;  flash uchar putvolt[]=" Volt: ";</p><p>  flash uchar putamp[]=" Amp: ";</p><p>  flash uchar start[]="Starting";</p><p>  //fl

66、ash uchar error[]="error";</p><p>  uint volt=50;</p><p>  /*------------------------------------------------------</p><p>  功能:進(jìn)入系統(tǒng)的初始化函數(shù)</p><p>  ---------

67、--------------------------------------------*/</p><p>  void intosys()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  lcd_init();</p>

68、<p>  write_com(lcd_clr);</p><p>  write_com(0x80);</p><p>  delay_ms(5);</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  write_

69、data(start[i]); //啟動(dòng)開機(jī)界面</p><p>  delay_ms(2); //延時(shí)寫入,可以防止液晶處于忙狀態(tài)</p><p><b>  }</b></p><p>  write_com(0x80+0x40);</p><p>  delay_ms(

70、5);</p><p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  write_data('-');</p><p>  delay_ms(100);</p><p><b>  } </b>&l

71、t;/p><p><b>  }</b></p><p>  /*------------------------------------------------------</p><p>  用戶界面一,設(shè)置界面</p><p>  --------------------------------------------

72、---------*/</p><p>  void user_1()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  write_com(lcd_clr);</p><p>  write_com(0x80)

73、;</p><p>  delay_ms(5);</p><p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  write_data(putvolt[i]);</p><p>  delay_ms(5);</p><p

74、><b>  }</b></p><p>  write_com(0x80+0x40);</p><p>  delay_ms(5);</p><p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  write_

75、data(putamp[i]);</p><p>  delay_ms(5);</p><p><b>  } </b></p><p><b>  };</b></p><p>  /*------------------------------------------------------

76、</p><p>  用戶界面2,輸出狀態(tài)下</p><p>  -----------------------------------------------------*/</p><p>  void user_2()</p><p><b>  {</b></p><p><b>

77、;  uchar i;</b></p><p>  write_com(lcd_clr);</p><p>  write_com(0x80+1);</p><p>  delay_ms(5);</p><p>  for(i=0;i<16;i++)</p><p><b>  {</

78、b></p><p>  write_data(putvolt[i]);</p><p>  delay_ms(3);</p><p><b>  }</b></p><p>  write_com(0x80+0x40);</p><p>  delay_ms(5);</p>

79、<p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  write_data(set1[i]);</p><p>  delay_ms(3);</p><p><b>  } </b></p><p&

80、gt;<b>  }</b></p><p>  /*------------------------------------------------------</p><p>  顯示數(shù)據(jù)函數(shù),將數(shù)據(jù)分開</p><p>  -----------------------------------------------------*/<

81、;/p><p>  void show_data(uint data)</p><p><b>  {</b></p><p>  char ch1,ch2,ch3;</p><p>  ch1=data/100;</p><p>  ch2=data/10%10;</p><p&

82、gt;  ch3=data%10;</p><p>  if(ch1==0)</p><p><b>  {</b></p><p>  write_data(0x30+ch2);</p><p>  delay_ms(4);</p><p>  write_data('.');&

83、lt;/p><p>  delay_ms(4);</p><p>  write_data(0x30+ch3);</p><p>  delay_ms(4);</p><p>  write_data(0x20);</p><p><b>  }</b></p><p><

84、;b>  else</b></p><p><b>  {</b></p><p>  write_data(0x30+ch1);</p><p>  delay_ms(4);</p><p>  write_data(0x30+ch2);</p><p>  delay_ms(

85、4);</p><p>  write_data('.');</p><p>  delay_ms(4);</p><p>  write_data(0x30+ch3);</p><p>  delay_ms(4);</p><p><b>  }</b></p>&

86、lt;p><b>  }</b></p><p>  /*------------------------------------------------------</p><p><b>  顯示電壓值</b></p><p>  -----------------------------------------

87、------------*/</p><p>  void show_volt(uint data)</p><p><b>  {</b></p><p>  write_com(0x80+6);</p><p>  show_data( data);</p><p><b>  }&

88、lt;/b></p><p>  /*------------------------------------------------------</p><p><b>  顯示電流值</b></p><p>  -----------------------------------------------------*/</p&

89、gt;<p>  void show_amp(uint data)</p><p><b>  {</b></p><p>  char ch1,ch2,ch3,ch4;</p><p>  write_com(0x80+0x45);</p><p>  ch1=data/1000;</p>

90、<p>  ch2=data/100%10;</p><p>  ch3=data/10%10;</p><p>  ch4=data%10;</p><p>  write_data(0x30+ch1);</p><p>  delay_ms(4); </p><p>  write_data(

91、9;.');</p><p>  delay_ms(4);</p><p>  write_data(0x30+ch2);</p><p>  delay_ms(4);</p><p>  write_data(0x30+ch3);</p><p>  delay_ms(4);</p><p

92、>  write_data(0x30+ch4);</p><p>  delay_ms(4); </p><p><b>  }</b></p><p>  /*------------------------------------------------------</p><p><b

93、>  讀取電流值</b></p><p>  -----------------------------------------------------*/</p><p>  uint Read_Amp()</p><p><b>  {</b></p><p>  unsigned int free

94、back_amp,ampdata[],temp;</p><p>  uchar chi,i,j;</p><p>  for(chi=0;chi<50;chi++)</p><p><b>  {</b></p><p>  ampdata[chi]=mega16_ad(0)*2.6/10;</p>

95、<p>  //delay_ms(2);</p><p><b>  }</b></p><p>  for(i=0;i<50;i++)</p><p><b>  {</b></p><p>  for(j=0;j<50;j++)</p><p>&

96、lt;b>  {</b></p><p>  if(ampdata[i]<ampdata[j])</p><p><b>  {</b></p><p>  temp=ampdata[i];</p><p>  ampdata[i]=ampdata[j];</p><p>

97、  ampdata[j]=temp;</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  freeback_amp=(ampdata[24]+ampdata[25]+ampdata[26

98、])/3;</p><p>  return freeback_amp;</p><p><b>  }</b></p><p>  /*------------------------------------------------------</p><p><b>  讀取輸出電壓</b>&l

99、t;/p><p>  -----------------------------------------------------*/</p><p>  uint Read_Output_Volt()</p><p><b>  {</b></p><p>  unsigned int freeback_volt,data[

100、],temp;</p><p>  uchar chi,i,j;</p><p>  for(chi=0;chi<30;chi++)</p><p><b>  {</b></p><p>  data[chi]=mega16_ad(1)*0.15;</p><p>  //delay_ms

101、(2);</p><p><b>  }</b></p><p>  for(i=0;i<30;i++)</p><p><b>  {</b></p><p>  for(j=0;j<30;j++)</p><p><b>  {</b>&

102、lt;/p><p>  if(data[i]<data[j])</p><p><b>  {</b></p><p>  temp=data[i];</p><p>  data[i]=data[j];</p><p>  data[j]=temp;</p><p>&

103、lt;b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  freeback_volt=(data[14]+data[15]+data[16])/3;</p><p>  return freeback_volt

104、;</p><p><b>  }</b></p><p>  /*------------------------------------------------------</p><p><b>  輸出與設(shè)置比較程序</b></p><p>  -----------------------

105、------------------------------*/</p><p>  void cheak()</p><p><b>  { </b></p><p>  show_volt(Read_Output_Volt());</p><p>  while(Read_Output_Volt()>

106、volt)</p><p><b>  { </b></p><p><b>  OCR1B--;</b></p><p>  delay_ms(3);</p><p><b>  }</b></p><p>  while(Read_Output_Vo

107、lt()<volt)</p><p><b>  { </b></p><p><b>  OCR1B++; </b></p><p>  delay_ms(3);</p><p><b>  }</b></p><p>  show_amp(Re

108、ad_Amp());</p><p><b>  } </b></p><p>  /*------------------------------------------------------</p><p><b>  電壓設(shè)置1</b></p><p>  -----------------

109、------------------------------------*/</p><p>  void user_set1()</p><p><b>  {</b></p><p><b>  user_2();</b></p><p>  Enable=0; </p><

110、p><b>  while(ok)</b></p><p><b>  {</b></p><p><b>  SREG.0=0;</b></p><p><b>  if(up==0)</b></p><p><b>  {</b&

111、gt;</p><p><b>  volt++;</b></p><p>  delay_ms(50);</p><p><b>  }</b></p><p>  else if(down==0)</p><p><b>  {</b></p&

112、gt;<p><b>  volt--;</b></p><p>  delay_ms(50);</p><p><b>  }</b></p><p>  else if(right==0)</p><p>  volt=volt-10;</p><p>  

113、else if(left==0)</p><p>  volt=volt+10;</p><p>  if(SREG.0==1)</p><p><b>  {</b></p><p><b>  volt=0;</b></p><p><b>  }</b&

114、gt;</p><p>  if(volt>120)</p><p><b>  {</b></p><p><b>  volt=120;</b></p><p><b>  }</b></p><p>  delay_ms(100);</

115、p><p>  show_volt(volt); </p><p><b>  }</b></p><p>  OCR1B=1.7*volt; </p><p>  Enable=1; </p><p><b>  }</b></p><p>

116、;  /*------------------------------------------------------</p><p>  電壓設(shè)置2,輸出不關(guān)閉的情況調(diào)節(jié)電壓</p><p>  -----------------------------------------------------*/</p><p>  void user_set2()<

117、;/p><p><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  while(ok) /*當(dāng)確定鍵沒有被按下時(shí)使用up/down按鍵實(shí)時(shí)調(diào)節(jié)輸出電壓</p><p>

118、;  并且可以查看電流*/</p><p>  { SREG.0=0;</p><p><b>  if(up==0)</b></p><p>  { volt++; }</p><p>  else if(down==0)</p><p>  { volt--; }</p>

119、<p>  else if(right==0)</p><p>  {volt=volt-10;}</p><p>  else if(left==0)</p><p>  { volt=volt+10; }</p><p>  if(SREG.0==1)</p><p><b>  {</

120、b></p><p><b>  volt=0;</b></p><p>  //OCR1B=1.7*volt;</p><p><b>  }</b></p><p>  if(volt>120)</p><p><b>  {</b>&l

121、t;/p><p><b>  volt=120;</b></p><p>  //OCR1B=1.7*volt; </p><p><b>  }</b></p><p>  delay_ms(100);</p><p>  //show_volt(volt); </p&g

122、t;<p><b>  Enable=1;</b></p><p><b>  cheak(); </b></p><p><b>  };</b></p><p>  //delay_ms(20);</p><p>  while(~ok);</p>

123、<p>  user_set1();</p><p><b>  user_1();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*---------------------------------

124、---------------------</p><p><b>  主函數(shù)</b></p><p>  -----------------------------------------------------*/</p><p>  void main()</p><p><b>  {</b>

125、;</p><p>  DDRD=0xB0;</p><p>  PORTD=0X4F;</p><p>  TCCR1A=0Xa1; //8位快速PWM,OC1A為普通用途,OC1B為PWM</p><p>  TCCR1B=0X09; //無預(yù)分頻位,fpwm=8000000/256=31.5k </

126、p><p>  delay_ms(100);</p><p>  intosys(); </p><p>  //Enable=1;</p><p>  user_set1();</p><p><b>  user_1();</b></p><p>  user_set2()

127、;</p><p><b>  }</b></p><p>  This program was produced by the</p><p>  CodeWizardAVR V1.25.7a Evaluation</p><p>  Automatic Program Generator</p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論