課程設(shè)計(jì)-基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)-基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)-基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)-基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)-基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于51單片機(jī)的數(shù)控直流電源設(shè)計(jì)學(xué)號(hào):XXXXXXXXXX姓名:XXX日期:2013年12月1目錄第1章 緒論11.1 課題的背景及意義11.2 課程設(shè)計(jì)的主要內(nèi)容1第2章 系統(tǒng)總體設(shè)計(jì)32.1 方案設(shè)計(jì)與論證32.2 系統(tǒng)總框圖4第3章 硬件設(shè)計(jì)63.1 硬件選型63.1.1 系統(tǒng)供電部分63.1.2 控制器部分63.1.3 顯示部分63.1.4 鍵盤部分63.1.5 數(shù)模/模數(shù)轉(zhuǎn)換部分73.1.6 掉電記憶部分73.2 硬件電路設(shè)計(jì)73.2.1 電源模塊73.2.2 DA轉(zhuǎn)換模塊83.2.3 電壓調(diào)整模塊93.2.4 鍵盤模塊103.2.5 EEPROM拓展模塊113.2.6 顯示模塊12

2、第4章 軟件設(shè)計(jì)134.1主程序流程134.2 鍵盤程序流程圖144.3 EEPROM讀寫(xiě)程序流程154.4 DAC0832程序流程164.5 TLC1543程序流程17第5章 系統(tǒng)測(cè)試及誤差分析185.1 系統(tǒng)測(cè)試185.1.1 軟件測(cè)試185.1.2 硬件測(cè)試185.1.3 系統(tǒng)整體測(cè)試185.2 誤差分析19結(jié)論(心得體會(huì))21參考文獻(xiàn)22附錄一23附錄二24II第1章 緒論1.1 課題的背景及意義電源技術(shù)尤其是數(shù)控電源技術(shù)是一門實(shí)踐性很強(qiáng)的工程技術(shù),服務(wù)于各行各業(yè)。當(dāng)今電源技術(shù)融合了電氣、電子、系統(tǒng)集成、控制理論、材料等諸多學(xué)科領(lǐng)域。直流穩(wěn)壓電源是電子技術(shù)常用的儀器設(shè)備之一,廣泛的應(yīng)用

3、于教學(xué)、科研等領(lǐng)域,是電子實(shí)驗(yàn)員、電子設(shè)計(jì)人員及電路開(kāi)發(fā)部門進(jìn)行實(shí)驗(yàn)操作和研究不可缺少的電子儀器。在電子電路中,通常都需要電壓穩(wěn)定的直流電源來(lái)供電。而整個(gè)穩(wěn)壓過(guò)程是由電源變壓器、整流、濾波、穩(wěn)壓等四部分組成。然而這種傳統(tǒng)的直流穩(wěn)壓電源功能簡(jiǎn)單、不好控制、可靠性低、干擾大、精度低且體積大、復(fù)雜度高。普通的直流穩(wěn)壓電源品種有很多,但均存在以下兩個(gè)問(wèn)題:輸出電壓是通過(guò)粗調(diào)(波段開(kāi)關(guān))及細(xì)調(diào)(電位器)來(lái)調(diào)節(jié)。這樣,當(dāng)輸出電壓需要精確輸出,或需要在一個(gè)小范圍內(nèi)改變時(shí),困難就較大。另外,隨著使用時(shí)間的增加,波段開(kāi)關(guān)及電位器難免接觸不良,對(duì)輸出會(huì)有影響。穩(wěn)壓方式均是采用串聯(lián)型穩(wěn)壓電路,對(duì)過(guò)載進(jìn)行限流或截流型

4、保護(hù),電路構(gòu)成復(fù)雜,穩(wěn)壓精度也不高。在家用電器和其他各類電子設(shè)備中,通常都需要電壓穩(wěn)定的直流電源供電。但在實(shí)際生活中,都是由220V的交流電網(wǎng)供電。這就需要通過(guò)變壓、整流、濾波、穩(wěn)壓電路將交流電轉(zhuǎn)換成穩(wěn)定的直流電。濾波器用于濾去整流輸出電壓中的紋波,一般傳統(tǒng)電路由濾波扼流圈和電容器組成,若由晶體管濾波器來(lái)替代,則可縮小直流電源的體積,減輕其重量,且晶體管濾波直流電源不需直流穩(wěn)壓器就能用作家用電器的電源,這既降低了家用電器的成本,又縮小了其體積,使家用電器小型化。傳統(tǒng)的直流穩(wěn)壓電源通常采用電位器和波段開(kāi)關(guān)來(lái)實(shí)現(xiàn)電壓的調(diào)節(jié),并有電壓表指示電壓值的大小。因此,電壓的調(diào)整精度不高,讀數(shù)欠直觀,電位器也

5、易磨損。而基于單片機(jī)控制的直流穩(wěn)壓電源能較好地解決以上傳統(tǒng)穩(wěn)壓電源的不足。隨著科學(xué)技術(shù)的不斷發(fā)展,特別是計(jì)算機(jī)技術(shù)的突飛猛進(jìn),現(xiàn)代工業(yè)應(yīng)用的工控產(chǎn)品均需要有低紋波、寬調(diào)整范圍的高壓電源,而在一些高能物理領(lǐng)域,更是急需電腦或單片機(jī)控制的低紋波、寬調(diào)整范圍的電源。1.2 課程設(shè)計(jì)的主要內(nèi)容本設(shè)計(jì)給出的數(shù)控直流穩(wěn)壓電源的輸出電壓范圍為013V, 額定工作電流為0.5A, 并具有“+”、“- ”步進(jìn)電壓調(diào)節(jié)功能, 其最小步進(jìn)為0.05 V,紋波不大于10 mV, 此外, 還可用LCD液晶顯示器顯示設(shè)定電壓值和輸出電壓值。該系統(tǒng)原理是以STC89C52單片機(jī)為控制單元,以數(shù)模轉(zhuǎn)換芯片DAC0832輸出參

6、考電流控制電壓調(diào)整模塊NE5534輸出電壓大小,同時(shí)輸出穩(wěn)壓采用模數(shù)轉(zhuǎn)換芯片TLC1543將采樣電壓模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),再通過(guò)單片機(jī)實(shí)現(xiàn)閉環(huán)控制。第2章 系統(tǒng)總體設(shè)計(jì)2.1 方案設(shè)計(jì)與論證方案一:設(shè)計(jì)開(kāi)關(guān)電源。在前期方案設(shè)計(jì)中采用PWM脈寬調(diào)制。它的功耗小,效率高,穩(wěn)壓范圍寬,電路形式靈活多樣,功耗小,效率高。在制作過(guò)程中發(fā)現(xiàn),PWM占空比的線性變化使相應(yīng)的電流呈非線性變化,經(jīng)分析發(fā)現(xiàn)濾波電容的存在對(duì)占空比很小的PWM波積分效果明顯,導(dǎo)致電壓的非線性變化更顯著,特別是PWM占空比很小時(shí)(希望得到輸出的電壓很小),利用單片開(kāi)關(guān)電源的PWM技術(shù)控制開(kāi)關(guān)的占空比來(lái)調(diào)整輸出電壓的,以達(dá)到穩(wěn)定輸出的

7、目的。但用數(shù)字量控制的作用更加明顯。方案二:用D/A和運(yùn)算放大器做電流源,即采用D/A輸出調(diào)節(jié)晶體管的偏值電流(電壓)。采用此方案能有效的縮短調(diào)節(jié)時(shí)間,并能提高輸出精度。設(shè)計(jì)方案,包括了微控制器模塊、D/A轉(zhuǎn)換模塊、穩(wěn)壓控制模塊、顯示模塊、鍵盤模塊、電源模塊五部分構(gòu)成,形成開(kāi)環(huán)控制。采用常用的51芯片作為控制器,P0口和DAC0832的數(shù)據(jù)口直接相連,DA的電流輸出端接放大器UA741的反向輸入端,DAC0832和運(yùn)放UA1將單片機(jī)發(fā)出的八位二進(jìn)制數(shù)轉(zhuǎn)換成05V負(fù)電壓,再經(jīng)過(guò)反向比例放大器UA2將負(fù)電壓轉(zhuǎn)換成010V正電壓,輸出到電壓調(diào)整模塊NE5534,將電壓的步進(jìn)值調(diào)整為0.05V。所以,

8、當(dāng)MCU輸出數(shù)據(jù)增加1的時(shí)候,最終輸出電壓增加0.05V,當(dāng)調(diào)節(jié)電壓的時(shí)候,可以以每次依0.05V的梯度增加或者降低電壓。數(shù)碼管顯示電路,該系統(tǒng)使用3個(gè)數(shù)碼管,可以顯示三位數(shù),分別組成顯示電路的十位、個(gè)位、小數(shù)點(diǎn)位。本主電路的原理是通過(guò)MCU控制DA的輸出電流大小,通過(guò)兩級(jí)放大器轉(zhuǎn)換成電壓值并放大,經(jīng)過(guò)電壓調(diào)整模塊調(diào)整作為最終輸出的電壓。 方案三:用D/A和運(yùn)算放大器做電流源,即采用D/A輸出調(diào)節(jié)晶體管的偏值電流(電壓),使用電壓采樣電路,通過(guò)A/D轉(zhuǎn)換實(shí)現(xiàn)閉環(huán)控制。采用此方案是對(duì)方案二的改進(jìn),能有效的縮短調(diào)節(jié)時(shí)間,進(jìn)一步提高輸出精度。設(shè)計(jì)方案,其主要由微控制器模塊、D/A轉(zhuǎn)換模塊、電壓調(diào)整模

9、塊、顯示模塊、鍵盤模塊、電源模塊六部分構(gòu)成。液晶屏顯示電路,該系統(tǒng)使用LCD1602液晶顯示屏,可以清晰地顯示分別組成顯示電路的十位、個(gè)位、小數(shù)點(diǎn)位,同時(shí)還能顯示英文名稱和電壓/電流單位。 按照方案三的設(shè)計(jì)能夠很好的滿足課程設(shè)計(jì)的目標(biāo)與要求,所以最后選用方案三。2.2 系統(tǒng)總框圖采用雙220V/18V 變壓器,將220V市電經(jīng)橋式整流,濾波后得+21V和-21V電壓值,再經(jīng)過(guò)三端穩(wěn)壓芯片得到需要的+15V,-15V和+5V,為系統(tǒng)提供電源支持。以單片機(jī)STC89C52為核心,輸出電流經(jīng)D/A轉(zhuǎn)換,比較放大后得到合適的電壓值,經(jīng)電壓調(diào)整后輸出UO,對(duì)UO采樣,經(jīng)A/D轉(zhuǎn)換送回到單片機(jī)與設(shè)定值比較

10、,自動(dòng)調(diào)整以實(shí)現(xiàn)閉環(huán)控制。系統(tǒng)總框圖如圖2-1所示。市電系統(tǒng)電源變壓+21V+15V整流 -15V+5V電壓調(diào)整及過(guò)流保護(hù) UO比較放大取樣 D/A轉(zhuǎn)換電壓顯示STC89C52A/D轉(zhuǎn)換鍵盤掉電記憶圖2-1 系統(tǒng)總框圖 第3章 硬件設(shè)計(jì)3.1 硬件選型3.1.1 系統(tǒng)供電部分由于該電源總共需要+21V,+15V,-15V,+5V電壓,所以采用雙220V/18V 變壓器,經(jīng)橋式整流濾波后得到21V電壓;由三端穩(wěn)壓器7815,7915和7805分別得到+15V,-15V和+5V電壓。3.1.2 控制器部分方案一 應(yīng)用mega16作為控制器。AVR是51的升級(jí)版,具有速度快,且自帶512字節(jié)的EEP

11、ROM,不需要另外接擴(kuò)展的EEPROM的優(yōu)點(diǎn);缺點(diǎn)是,對(duì)AVR的使用不太熟悉,價(jià)格比較貴。方案二 采用STC89C52作為控制器。優(yōu)點(diǎn):技術(shù)比較熟練,使用廣泛,價(jià)格便宜,而且功能上也完全滿足本系統(tǒng)的要求;缺點(diǎn):需要連接擴(kuò)展EEPROM。因?yàn)楸鞠到y(tǒng)對(duì)單片機(jī)的速度要求不是很高,而且連接擴(kuò)展EEPROM也不復(fù)雜,經(jīng)過(guò)比較,選用方案二。3.1.3 顯示部分方案一 使用LED顯示。優(yōu)點(diǎn):可視角度寬,介格便宜;缺點(diǎn):顯示的內(nèi)容少,介面呆板,而且占用較多的IO口資源。方案二 應(yīng)用1602液晶顯示模塊。優(yōu)點(diǎn):界面美觀,可顯示文字及數(shù)字;缺點(diǎn):價(jià)格較貴。 通過(guò)比較,我選節(jié)方案二。3.1.4 鍵盤部分方案一 利用

12、I/O口直接連接的獨(dú)立式鍵盤,每鍵都有相應(yīng)的I/O口對(duì)應(yīng),編程容易控制,實(shí)現(xiàn)方便;方案二 利用P3口接成4*2鍵盤。優(yōu)點(diǎn):利用6個(gè)IO口得到8個(gè)按鍵,可使操作介界變得簡(jiǎn)單,操作也方便;缺點(diǎn):軟件處理比獨(dú)立按鍵復(fù)雜。通過(guò)比較,結(jié)合本設(shè)計(jì)不需要太多IO口,方案一為最佳方案。3.1.5 數(shù)模/模數(shù)轉(zhuǎn)換部分方案一 采用PCF8591芯片。優(yōu)點(diǎn):集AD,DA于一身;缺點(diǎn):價(jià)格昂貴,且操作不熟悉。方案二 數(shù)模轉(zhuǎn)換部分采用DAC0832芯片;模數(shù)轉(zhuǎn)換部分采用TLC1543芯片。優(yōu)點(diǎn):兩芯片均為常用芯片,操作簡(jiǎn)單,軟件編程簡(jiǎn)單;缺點(diǎn):占用比較多的IO口,為PCB布線帶來(lái)困難。經(jīng)過(guò)比較,方案二位最佳。3.1.6

13、 掉電記憶部分我選用應(yīng)用最廣泛的ST24C02芯片。該芯片價(jià)格便宜,操作簡(jiǎn)單,抗干擾強(qiáng),數(shù)據(jù)能保持一百年。3.2 硬件電路設(shè)計(jì)本系統(tǒng)由電源模塊,調(diào)壓模塊,DA轉(zhuǎn)換模塊,鍵盤模塊,EEPROM拓展模塊與顯示模塊組成。3.2.1 電源模塊220V市電經(jīng)過(guò)雙18V變壓器轉(zhuǎn)換后的到+ -18V電壓,再經(jīng)過(guò)橋式整流濾波電路,得到18*1.2=21.6(V)電壓。其中+21V電壓經(jīng)過(guò)7815轉(zhuǎn)換得到穩(wěn)定+15V電壓,再經(jīng)7805轉(zhuǎn)換得到穩(wěn)定+5V電壓;-21V電壓經(jīng)過(guò)mc7915轉(zhuǎn)換得到穩(wěn)定的-15V電壓。其中,+21V為系統(tǒng)供電,+15V,-15V,+5V分別為各獨(dú)立元件供電。圖3-2-1 電源模塊原理

14、圖3.2.2 DA轉(zhuǎn)換模塊 DA轉(zhuǎn)換模塊由DAC0832,兩級(jí)運(yùn)放UA741組成。DAC0832具有8位分辨率,有3種工作方式(單緩沖,雙緩沖,直通)。本設(shè)計(jì)中DAC工作于直通工作方式。D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬電壓信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)供功能。該片邏輯輸入滿足TTL電壓電平范圍,可直接與TTL電路或微機(jī)電路相接,-芯片電路原理圖如圖3-2-2所示。圖3-2-2 DAC0832引腳圖和內(nèi)部結(jié)構(gòu)電路圖UA741為常用運(yùn)放,由美國(guó)fairchild 公司生產(chǎn),具有低漂移,穩(wěn)定等優(yōu)點(diǎn),可外置調(diào)零電路以抑制零點(diǎn)漂移。DAC0832和運(yùn)放UA1將單片機(jī)

15、發(fā)出的八位二進(jìn)制數(shù)轉(zhuǎn)換成05V負(fù)電壓,再經(jīng)過(guò)反向比例放大器UA2將負(fù)電壓轉(zhuǎn)換成010V正電壓。經(jīng)過(guò)兩級(jí)運(yùn)放放大后,DAC0832的轉(zhuǎn)換分辨率為10/(28-1)=0.04V。即單片機(jī)向DAC送出的數(shù)據(jù)變化1BIT,運(yùn)放UA2輸出的電壓值改變0.04V。滑動(dòng)變阻器R22的作用為調(diào)零電路以抑制零點(diǎn)漂移。圖3-2-3 DA轉(zhuǎn)換模塊原理圖3.2.3 電壓調(diào)整模塊本設(shè)計(jì)的電壓調(diào)整模塊如圖3-2-4所示。Q1,Q2組成復(fù)合管,以實(shí)現(xiàn)大電流輸出。由于該設(shè)計(jì)預(yù)定額定電流為0.5A,最大輸出電壓為12.5V,所以要求Q1管射極最大功率Pmax=0.5*12.5=6.25W,所以選取TIP41c。Q3管9013和

16、電阻R1為限流保護(hù)部分。當(dāng)輸出電流大于0.7A時(shí),R1上的壓降為0.7V使得T3管導(dǎo)通,Q3管集電極對(duì)Q2管基極分流,使得Q2管基極電流明顯變小使得輸出電流變小,從而達(dá)到過(guò)流保護(hù)的功能。發(fā)光二極管起過(guò)流提醒作用。電壓調(diào)整模塊的核心部分是NE5534。NE5534生產(chǎn)于美國(guó)德州半導(dǎo)體公司,具有共模抑制比高,響應(yīng)速度快和壓擺率高等優(yōu)點(diǎn),常用于音響,耳機(jī)等設(shè)備。由DA及運(yùn)放轉(zhuǎn)換后的電壓U1輸入到NE5534的正向輸入端,R12 R13 R17組成NE5534的取樣電路。由于NE5534 Q1 Q2及取樣電路構(gòu)成負(fù)反饋,由運(yùn)放的“虛短”特點(diǎn),NE5534的反向輸入端的電壓U2為正向輸入端的電壓大小U1

17、。由于運(yùn)放還有“虛斷”的特點(diǎn),運(yùn)放的輸入端對(duì)流經(jīng)取樣電路的電流不起分流作用,所以輸出電壓U0/U2=(R12+R13+R17)/(R12+R13)=1.25。即U2每改變0.04V,U0改變0.05V。由于單片機(jī)輸入到DAC0832的二進(jìn)制數(shù)據(jù)每改變1BIT,U1改變0.04V即U2改變0.04V,所以U0改變0.05V。因此,該設(shè)計(jì)最小步進(jìn)電壓為0.05V。電容C9的作用為抑制輸出紋波電壓。圖3-2-4 電壓調(diào)整模塊原理圖3.2.4 鍵盤模塊系統(tǒng)共設(shè)置了9個(gè)獨(dú)立按鍵,實(shí)現(xiàn)了常用電壓設(shè)定,電壓“+”“”設(shè)定及正常關(guān)機(jī)辨別的功能。0108的功能分別是:設(shè)置電壓值12V,9V,5V,3V,步進(jìn)-0

18、.5V,步進(jìn)+0.5V,步進(jìn)-0.05V,步進(jìn)+0.05V。09為關(guān)機(jī)設(shè)定。 圖3-2-5 按鍵模塊原理圖3.2.5 EEPROM拓展模塊為了實(shí)現(xiàn)設(shè)定電壓數(shù)據(jù)的掉電保護(hù),我在系統(tǒng)中連接了EEPROM24C02B,保證了在行駛過(guò)程中,如果數(shù)控電源意外掉電,已經(jīng)設(shè)定的電壓數(shù)據(jù)能夠下來(lái)。 24C02B是ATMEL公司生產(chǎn)的一款256 byte的串行EEPROM,能重復(fù)擦寫(xiě)1,000,000次,記錄的信息能保存100年以上,而且與單片機(jī)的連接只要2根線。24C02的接圖如圖3-2-6所示。圖3-2-6 EEPROM拓展模塊原理圖3.2.6 顯示模塊顯示模塊主要由TLC1543及LCD液晶顯示屏組成。由

19、美國(guó)德州公司生產(chǎn)的TLC1543,是具有10位分辨率的AD轉(zhuǎn)換器,它具有11路模擬輸入通道及3路內(nèi)置自測(cè)試方式,具有顯著的優(yōu)點(diǎn)。LCD液晶屏幕采用1602,能夠顯示16X2個(gè)字符。由輸出端采樣得到的模擬信號(hào),輸入到TLC1543的其中一路模擬輸入通道IN0,通過(guò)AD轉(zhuǎn)換,TLC1543將模擬量轉(zhuǎn)化為10位數(shù)字量輸入到單片機(jī)相應(yīng)的IO口。通過(guò)處理,單片機(jī)將模擬量值通過(guò)1602液晶顯示出來(lái)。顯示模塊的接圖如圖3-2-7所示。 圖3-2-7 顯示模塊原理圖第4章 軟件設(shè)計(jì)4.1主程序流程系統(tǒng)的核心部分是對(duì)輸出精度的閉環(huán)控制。對(duì)輸出電壓值采樣,通過(guò)A/D轉(zhuǎn)換通道送入單片機(jī),與輸出值進(jìn)行比較,若誤差不在

20、規(guī)定范圍內(nèi),就調(diào)整STC89C52的輸出值,直到滿足要求。系統(tǒng)主程序流程圖如圖4-1-1和圖4-1-2所示。 開(kāi)始 初始化讀取上次關(guān)機(jī)設(shè)定值DA輸出調(diào)整STC89C52的輸出值TLC1543檢測(cè)實(shí)際輸出值誤差小于50mV? N Y 圖4-1-1 主程序流程圖(1) 鍵盤掃描 等待輸入更改DA輸出值保存設(shè)定值屏幕顯示當(dāng)前設(shè)定值與輸出值圖4-1-2 主程序流程圖(2)4.2 鍵盤程序流程圖本系統(tǒng)中鍵盤程序分為鍵盤掃描子程序和按鍵功能執(zhí)行子程序。鍵盤掃描子程序流程圖如圖4-2-1所示,按鍵功能子程序流程圖如圖4-2-2所示。開(kāi)始掃描鍵盤 有鍵接下?返回鍵值退出YY YN圖4-2-1 鍵盤掃描子程序流

21、程圖有按鍵按下 開(kāi)始 執(zhí)行相應(yīng)功能退出圖4-2-2 按鍵功能執(zhí)行子程序流程圖4.3 EEPROM讀寫(xiě)程序流程24C02B讀寫(xiě)程序流程圖如圖4-3-1和圖4-3-2所示。開(kāi)始寫(xiě)入數(shù)據(jù)退出發(fā)送地址圖4-3-1 24C02B寫(xiě)入程序流程圖讀取數(shù)據(jù)退出發(fā)送地址開(kāi)始圖4-3-2 24C02B讀取程序流程圖 4.4 DAC0832程序流程DAC0832的程序流程圖如圖4-4所示。開(kāi)始 結(jié)束輸出相應(yīng)值讀取數(shù)據(jù)發(fā)送數(shù)據(jù)圖4-4 DAC0832的程序流程圖4.5 TLC1543程序流程TLC1543的小程序流程圖如圖4-5所示:開(kāi)始 CLK發(fā)送脈沖信號(hào)發(fā)送4位地址讀取前四位數(shù)據(jù)CLK發(fā)送脈沖信號(hào)讀取后6位數(shù)據(jù)結(jié)

22、束圖4-5 TLC1543的小程序流程圖第5章 系統(tǒng)測(cè)試及誤差分析5.1 系統(tǒng)測(cè)試5.1.1 軟件測(cè)試1、測(cè)試軟件程序編輯器keil uvision4程序燒制器STC-ISP V352、編譯結(jié)果在編制完C語(yǔ)言后,即keil uvision4界面下,進(jìn)行了調(diào)試,根據(jù)提示,我找到了程序在編寫(xiě)上的錯(cuò)誤,加以改正,再次進(jìn)行調(diào)試。通過(guò)上述簡(jiǎn)單的測(cè)試,證明此次設(shè)計(jì)的程序基本上正確無(wú)誤。然后,將燒錄了程序的單片機(jī)STC89C52接到系統(tǒng)電路中,查看系統(tǒng)電路的運(yùn)行情況;如果程序邏輯有問(wèn)題可進(jìn)一步修改,直到系統(tǒng)正常運(yùn)行。5.1.2 硬件測(cè)試1、電源部分提供整個(gè)電路所需各種電壓,由電源變壓器和整流濾波電路及三個(gè)輔

23、助穩(wěn)壓芯片輸出構(gòu)成,電源變壓器的功率由需要輸出的電流大小決定,確保有充足的功率余量。2、電流取樣電阻R1要選擇大功率的電阻(5W或10W)。也可使用廢舊萬(wàn)用表上拆下來(lái)的電阻線。檢查電路連接無(wú)誤后,即可試機(jī)。找一塊數(shù)字表將其并聯(lián)在輸出電路上,按S1或S2設(shè)定一個(gè)電壓,此時(shí)LCD1602第一行顯示的電壓可能會(huì)有誤差,適當(dāng)微調(diào)反饋電路的VR2,使其與數(shù)字表讀數(shù)一致,再將數(shù)字表串聯(lián)在電源的輸出電路上,選擇適當(dāng)?shù)碾娏鳈n,接上一定的負(fù)載。此時(shí),LCD1602第二行會(huì)顯示出電流值,適當(dāng)?shù)恼{(diào)節(jié)VR3改變TLC1543參考電壓,直至顯示的電流值與萬(wàn)用表顯示的電流值一致為止,校正完成后即可使用。5.1.3 系統(tǒng)整

24、體測(cè)試1、測(cè)試工具雙蹤示波器數(shù)字萬(wàn)用表2、 測(cè)試結(jié)果 測(cè)試結(jié)果如表5-1所示。表5-1 電壓測(cè)試表系統(tǒng)理論值系統(tǒng)測(cè)量值誤差顯示電壓值(V)理論碼值(bit)實(shí)測(cè)碼值(bit)實(shí)測(cè)電壓值(V)3.000011110000111103.20.24.500101101001011004.60.15.000110010001100015.10.15.500110111001101105.60.16.000111100001110116.006.501000001010000006.60.17.001000110010001017.20.27.501001011010010107.60.18.00101

25、0000010011118.00.8.501010101010101008.509.001011010010110019.20.210.001100100011000119.8-0.2系統(tǒng)由于剛啟動(dòng)在電壓方面不穩(wěn)定,存在一定誤差,但是單片機(jī)會(huì)對(duì)其進(jìn)行控制,使系統(tǒng)再次穩(wěn)定。3、精度分析絕對(duì)誤差:U=(0.2+0.1+.+0.2+0.2)/12=0.11V相對(duì)誤差:A=U/U=(0.2/3.0+0.1/4.0+0.2/9.0+0.2/10)/12=1.8%線性度:L=Lmax/YFS=0.2/15=1.3%靈敏度:K=0.1V5.2 誤差分析從電路的原理框圖可以看出,系統(tǒng)的誤差來(lái)源于四個(gè)方面:1、

26、 DAC0832的量化誤差。2、 基準(zhǔn)電壓溫漂引入的誤差。3、 三端穩(wěn)壓器的電路引起的誤差。4、 其它器件和線路由于溫漂、不穩(wěn)定等原因引起的誤差。結(jié)論(心得體會(huì))經(jīng)過(guò)兩個(gè)周的艱苦奮戰(zhàn),我最終完成了課程設(shè)計(jì)。雖然過(guò)程是艱苦的,但最終成功的喜悅同樣令我快樂(lè)!此設(shè)計(jì)用D/A和運(yùn)算放大器做電源,及采用D/A輸出調(diào)節(jié)晶體管的偏值電流電壓。采用此方案能有效地縮短調(diào)節(jié)時(shí)間,并能提高輸出精度,經(jīng)計(jì)算需要采用8位的D/A芯片。為了爭(zhēng)取時(shí)間,降低成本,我的解決方案是采用51單片機(jī)。改變電壓的大小,當(dāng)單片機(jī)通過(guò)閉環(huán)負(fù)反饋調(diào)節(jié)回路的A/D轉(zhuǎn)換檢測(cè)到電壓達(dá)到設(shè)定值時(shí),將再次對(duì)輸出電壓進(jìn)行調(diào)制,直到輸出電壓達(dá)到設(shè)定值;電

27、壓值理論上是象形變化的,不會(huì)產(chǎn)生高次諧波,基本實(shí)現(xiàn)了各項(xiàng)要求和目標(biāo),達(dá)到了此次課程設(shè)計(jì)的預(yù)期目的。本次設(shè)計(jì)過(guò)程中,對(duì)紋波也沒(méi)有提出嚴(yán)格的要求,所以常用的穩(wěn)壓集成電路就可以滿足要求。本設(shè)計(jì)輸出的電壓穩(wěn)壓精度高,可以用在對(duì)直流電壓要求較高的設(shè)備上,或在實(shí)驗(yàn)室中當(dāng)作實(shí)驗(yàn)電源使用。在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,給我的感覺(jué)就是很難,很不順手,看似原理比較簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來(lái)卻是很難的一件事,主要原因是我們沒(méi)有經(jīng)常動(dòng)手設(shè)計(jì)過(guò)電路,還有資料的查找也是一大難題,這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會(huì)把從書(shū)本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來(lái),這不論是對(duì)我們以后的就

28、業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助,我相信,通過(guò)這次的課程設(shè)計(jì),在下一階段的學(xué)習(xí)中我會(huì)更加努力,力爭(zhēng)把功課學(xué)好,學(xué)精。同時(shí),通過(guò)本次課程設(shè)計(jì),鞏固了我們學(xué)習(xí)過(guò)的專業(yè)知識(shí),也使我們把理論與實(shí)踐從真正意義上相結(jié)合了起來(lái);考驗(yàn)了我們借助互聯(lián)網(wǎng)搜集、查閱相關(guān)文獻(xiàn)資料,和組織材料的綜合能力;從中可以自我測(cè)驗(yàn),認(rèn)識(shí)到自己哪方面有欠缺、不足,以便于在日后的學(xué)習(xí)中得到改進(jìn)、提高。參考文獻(xiàn)1鄒紅.數(shù)字電路與邏輯設(shè)計(jì)M. 北京:人民郵電出版社,2008.2李祥臣.模擬電子技術(shù)基礎(chǔ)教程.M 北京:清華大學(xué)出版社.2005.3童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)M 北京:高等教育出版社,2006.4邱關(guān)源.電路(第四版

29、)M.北京:高等教育出版社,2006.56-745李群芳,張士軍,黃建. 單片微型計(jì)算機(jī)與接口技術(shù)(第二版)M.北京:電子工業(yè)出版社,2007.6劉文濤.單片機(jī)語(yǔ)言C51典型應(yīng)用設(shè)計(jì)M.北京:人民郵電出版社,2006.7于永,戴佳,常江.51單片機(jī)實(shí)例精講M.北京:電子工業(yè)出版社,2007.8曹鳳.微機(jī)數(shù)控技術(shù)及其應(yīng)用M.四川:電子科技大學(xué)出版社,2002.9胡壽松.自動(dòng)控制原理M.北京:科學(xué)出版社,2007.152-23310潘永雄,沙河,劉向陽(yáng).電子線路CAD實(shí)用教程(第二版)M.陜西:西安電子科技大學(xué)出版社,2006.11李朝青.單片機(jī)原理及接口技術(shù)(建明修訂版).北京:北京航空航天大學(xué)

30、出版社,1999.12李朝青.單片機(jī)學(xué)習(xí)輔導(dǎo)測(cè)驗(yàn)及解答講義.北京:北京航空航天出版社,2003.13何立民.單片機(jī)高級(jí)編程.北京:北京航空航天大學(xué)出版社,1999.14張迎新,等.單片機(jī)初級(jí)編程.北京:北京航空航天大學(xué)出版社,1999.15余永權(quán).Flash單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,1997.16錢逸秋.單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2002.17王兆安,劉進(jìn)軍.電力電子技術(shù)(第五版).北京:機(jī)械工業(yè)出版社,2009.43-95附錄一附錄二-完整源程序#include <reg52.h>#include <intrins.h>#include &

31、lt;math.h>#define uint unsigned int #define uchar unsigned char typedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BOOL ;BYTE code dis1 = "Power Supply"BYTE code dis2 = "welcome!"BYTE code dis3 = "Please wait."BYTE code dis4 = "SetValue: "BYTE

32、 code dis5 = "Output: "BYTE setv6,getv6;/LCD輸出字符數(shù)組float n,setvalue;/電壓設(shè)定值float dq,dp,qq,pp,l,xx;/轉(zhuǎn)換傳遞參數(shù)uchar ctu,outv,inv;/DA與AD部分傳遞參數(shù)sbit TLCEOC=P11;/TLC占用IO口sbit TLCCL=P12;sbit TLCAD=P13;sbit TLCOUT=P14;sbit TLCCS=P15;sbit scl=P20;/斷電保存占用IO口sbit sda=P21;sbit DACS=P16;/DA占用IO口sbit DAWR=P1

33、7;sbit rs= P22;/液晶LCD占用IO口sbit rw = P23;sbit ep = P24;void delay(BYTE ms)/ 延時(shí)子程序BYTE i;while(ms-)for(i = 0; i< 250; i+)_nop_();_nop_();_nop_();_nop_();/* LCD顯示 子函數(shù)組 */BOOL lcd_bz()/ 測(cè)試LCD忙碌狀態(tài)BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);ep = 0;ret

34、urn result;void lcd_wcmd(BYTE cmd)/ 寫(xiě)入指令數(shù)據(jù)到LCDwhile(lcd_bz();rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;void lcd_pos(BYTE pos)/設(shè)定顯示位置lcd_wcmd(pos | 0x80);void lcd_wdat(BYTE dat)/寫(xiě)入字符顯示數(shù)據(jù)到LCDwhile(lcd_bz();rs = 1;rw = 0;

35、ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;void lcd_init()/LCD初始化設(shè)定lcd_wcmd(0x38);/delay(1);lcd_wcmd(0x0c);/delay(1);lcd_wcmd(0x06);/delay(1);lcd_wcmd(0x01);/清除LCD的顯示內(nèi)容delay(1);/* DA輸出函數(shù) */void write_da() P0=outv;/ 將輸出值送p0口delay(1);DACS=0; /DACS,DAW

36、R都為低電平,0832為直通方式,送出數(shù)據(jù)delay(1);DAWR=0;delay(1);delay(1); DAWR=1;/都為高電平,0832為單緩沖方式,數(shù)據(jù)緩存delay(1);DACS=1;delay(1);/* AD(TLC)讀取函數(shù) */void read_tlc()float vad;int i;i=2;while(i)uchar temp;vad=0;TLCEOC=1;delay(1);TLCCL=0;TLCCS=0;delay(1);TLCCL=0;/1TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+512;delay(1);TLCCL=1;d

37、elay(1);TLCCL=0;/2TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+256;delay(1);TLCCL=1;delay(1);TLCCL=0;/3TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+128;delay(1);TLCCL=1;delay(1);TLCCL=0;/4TLCAD=1;temp=TLCOUT;if(temp=1)vad=vad+64;delay(1);TLCCL=1;delay(1);TLCCL=0;/5temp=TLCOUT;if(temp=1)vad=vad+32;delay(1);TLCCL=1

38、;delay(1);TLCCL=0;/6temp=TLCOUT;if(temp=1)vad=vad+16;delay(1);TLCCL=1;delay(1);TLCCL=0;/7temp=TLCOUT;if(temp=1)vad=vad+8;delay(1);TLCCL=1;delay(1);TLCCL=0;/8temp=TLCOUT;if(temp=1)vad=vad+4;delay(1);TLCCL=1;delay(1);TLCCL=0;/9temp=TLCOUT;if(temp=1)vad=vad+2;delay(1);TLCCL=1;delay(1);TLCCL=0;/10temp=T

39、LCOUT;if(temp=1)vad=vad+1;delay(1);TLCCL=1;delay(1);TLCEOC=0;delay(1);TLCCS=1;delay(1);i-;inv=(vad/1023)*255;/* 字符類型轉(zhuǎn)換函數(shù) */void change(float nn,BYTE a6) /float轉(zhuǎn)字符數(shù)組uint i,y;float x=nn*100;for(i=0;i<4;i+)y=x/(pow(10,(3-i);switch(y)case 0 : ai='0' ; break;case 1 : ai='1' ; break;cas

40、e 2 : ai='2' ; break;case 3 : ai='3' ; break;case 4 : ai='4' ; break;case 5 : ai='5' ; break;case 6 : ai='6' ; break;case 7 : ai='7' ; break;case 8 : ai='8' ; break;case 9 : ai='9' ; break;x=x-y*(pow(10,(3-i);a4=a3;a3=a2;a2='.'a

41、5='V'void changetf()/UCHAR轉(zhuǎn)FLOATsetvalue=(dq*13)/255; /dq為單片機(jī)p0口輸出的八位數(shù)字量l=dp*13/255/100;setvalue=setvalue+l+0.02;void changetu() /float轉(zhuǎn)UCHARqq=setvalue*255/13;ctu=qq;pp=(qq-ctu)*100;/* 鍵盤掃描函數(shù) */void keyscan()uchar temp1,temp;P3=0xff;temp1=P3;while(temp1=0xff)/等待按鍵P3=0xff;temp1=P3;temp=temp1

42、;/記錄按鍵while(temp1!=0xff)/等待松手P3=0xff;temp1=P3;switch(temp)case 0x7f: setvalue=setvalue+0.05;break;case 0xbf: setvalue=setvalue-0.05;break;case 0xdf: setvalue=setvalue+0.5;break;case 0xef: setvalue=setvalue-0.5;break;case 0xf7: setvalue=3;break;case 0xfb: setvalue=5;break;case 0xfd: setvalue=9;break;

43、case 0xfe: setvalue=12;break;if(setvalue>13)setvalue=13;if(setvalue<0)setvalue=0;/* 開(kāi)機(jī)歡迎界面 */void welcome()/歡迎界面BYTE i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(2);/ 設(shè)置顯示位置為第一行的第3個(gè)字符i = 0;while(dis1i != '0')lcd_wdat(dis1i);/ 顯示字符i+;lcd_pos(0x44);/ 設(shè)置顯示位置為第二行第5個(gè)字符i = 0;while(dis2i != '0')lcd_wdat(dis2i);/ 顯示字符i+;delay(200);delay(200);delay(200);delay(200);delay(200);lcd_wcmd(0x01);/清除LCD的顯示內(nèi)容lcd_po

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論