![課程設(shè)計基于單片機的數(shù)控直流電源設(shè)計樣本_第1頁](http://file4.renrendoc.com/view11/M00/37/24/wKhkGWX9v_6Ab9eZAABN5mF2CQM817.jpg)
![課程設(shè)計基于單片機的數(shù)控直流電源設(shè)計樣本_第2頁](http://file4.renrendoc.com/view11/M00/37/24/wKhkGWX9v_6Ab9eZAABN5mF2CQM8172.jpg)
![課程設(shè)計基于單片機的數(shù)控直流電源設(shè)計樣本_第3頁](http://file4.renrendoc.com/view11/M00/37/24/wKhkGWX9v_6Ab9eZAABN5mF2CQM8173.jpg)
![課程設(shè)計基于單片機的數(shù)控直流電源設(shè)計樣本_第4頁](http://file4.renrendoc.com/view11/M00/37/24/wKhkGWX9v_6Ab9eZAABN5mF2CQM8174.jpg)
![課程設(shè)計基于單片機的數(shù)控直流電源設(shè)計樣本_第5頁](http://file4.renrendoc.com/view11/M00/37/24/wKhkGWX9v_6Ab9eZAABN5mF2CQM8175.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于51單片機數(shù)控直流電源設(shè)計學號:XXXXXXXXXX姓名:XXX日期:12月目錄第1章緒論 11.1課題背景及意義 11.2課程設(shè)計重要內(nèi)容 1第2章系統(tǒng)總體設(shè)計 32.1方案設(shè)計與論證 32.2系統(tǒng)總框圖 4第3章硬件設(shè)計 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è)計 73.2.1電源模塊 73.2.2DA轉(zhuǎn)換模塊 83.2.3電壓調(diào)節(jié)模塊 93.2.4鍵盤模塊 103.2.5EEPROM拓展模塊 113.2.6顯示模塊 12第4章軟件設(shè)計 134.1主程序流程 134.2鍵盤程序流程圖 144.3EEPROM讀寫程序流程 154.4DAC0832程序流程 164.5TLC1543程序流程 17第5章系統(tǒng)測試及誤差分析 185.1系統(tǒng)測試 185.1.1軟件測試 185.1.2硬件測試 185.1.3系統(tǒng)整體測試 185.2誤差分析 19結(jié)論(心得體會) 21參照文獻 22附錄一 23附錄二 24第1章緒論1.1課題背景及意義電源技術(shù)特別是數(shù)控電源技術(shù)是一門實踐性很強工程技術(shù),服務(wù)于各行各業(yè)。當今電源技術(shù)融合了電氣、電子、系統(tǒng)集成、控制理論、材料等諸多學科領(lǐng)域。直流穩(wěn)壓電源是電子技術(shù)慣用儀器設(shè)備之一,廣泛應(yīng)用于教學、科研等領(lǐng)域,是電子實驗員、電子設(shè)計人員及電路開發(fā)部門進行實驗操作和研究不可缺少電子儀器。在電子電路中,普通都需要電壓穩(wěn)定直流電源來供電。而整個穩(wěn)壓過程是由電源變壓器、整流、濾波、穩(wěn)壓等四某些構(gòu)成。然而這種老式直流穩(wěn)壓電源功能簡樸、不好控制、可靠性低、干擾大、精度低且體積大、復雜度高。普通直流穩(wěn)壓電源品種有諸多,但均存在如下兩個問題:輸出電壓是通過粗調(diào)(波段開關(guān))及細調(diào)(電位器)來調(diào)節(jié)。這樣,當輸出電壓需要精準輸出,或需要在一種小范疇內(nèi)變化時,困難就較大。此外,隨著使用時間增長,波段開關(guān)及電位器難免接觸不良,對輸出會有影響。穩(wěn)壓方式均是采用串聯(lián)型穩(wěn)壓電路,對過載進行限流或截流型保護,電路構(gòu)成復雜,穩(wěn)壓精度也不高。在家用電器和其她各類電子設(shè)備中,普通都需要電壓穩(wěn)定直流電源供電。但在實際生活中,都是由220V交流電網(wǎng)供電。這就需要通過變壓、整流、濾波、穩(wěn)壓電路將交流電轉(zhuǎn)換成穩(wěn)定直流電。濾波器用于濾去整流輸出電壓中紋波,普通老式電路由濾波扼流圈和電容器構(gòu)成,若由晶體管濾波器來代替,則可縮小直流電源體積,減輕其重量,且晶體管濾波直流電源不需直流穩(wěn)壓器就能用作家用電器電源,這既減少了家用電器成本,又縮小了其體積,使家用電器小型化。老式直流穩(wěn)壓電源普通采用電位器和波段開關(guān)來實現(xiàn)電壓調(diào)節(jié),并有電壓表批示電壓值大小。因而,電壓調(diào)節(jié)精度不高,讀數(shù)欠直觀,電位器也易磨損。而基于單片機控制直流穩(wěn)壓電源能較好地解決以上老式穩(wěn)壓電源局限性。隨著科學技術(shù)不斷發(fā)展,特別是計算機技術(shù)突飛猛進,當代工業(yè)應(yīng)用工控產(chǎn)品均需要有低紋波、寬調(diào)節(jié)范疇高壓電源,而在某些高能物理領(lǐng)域,更是急需電腦或單片機控制低紋波、寬調(diào)節(jié)范疇電源。1.2課程設(shè)計重要內(nèi)容本設(shè)計給出數(shù)控直流穩(wěn)壓電源輸出電壓范疇為0~13V,額定工作電流為0.5A,并具備“+”、“-”步進電壓調(diào)節(jié)功能,其最小步進為0.05V,紋波不不不大于10mV,此外,還可用LCD液晶顯示屏顯示設(shè)定電壓值和輸出電壓值。該系統(tǒng)原理是以STC89C52單片機為控制單元,以數(shù)模轉(zhuǎn)換芯片DAC0832輸出參照電流控制電壓調(diào)節(jié)模塊NE5534輸出電壓大小,同步輸出穩(wěn)壓采用模數(shù)轉(zhuǎn)換芯片TLC1543將采樣電壓模仿信號轉(zhuǎn)換為數(shù)字信號,再通過單片機實現(xiàn)閉環(huán)控制。
第2章系統(tǒng)總體設(shè)計2.1方案設(shè)計與論證方案一:設(shè)計開關(guān)電源。在前期方案設(shè)計中采用PWM脈寬調(diào)制。它功耗小,效率高,穩(wěn)壓范疇寬,電路形式靈活多樣,功耗小,效率高。在制作過程中發(fā)現(xiàn),PWM占空比線性變化使相應(yīng)電流呈非線性變化,經(jīng)分析發(fā)現(xiàn)濾波電容存在對占空比很小PWM波積分效果明顯,導致電壓非線性變化更明顯,特別是PWM占空比很小時(但愿得到輸出電壓很小),運用單片開關(guān)電源PWM技術(shù)控制開關(guān)占空比來調(diào)節(jié)輸出電壓,以達到穩(wěn)定輸出目。但用數(shù)字量控制作用更加明顯。方案二:用D/A和運算放大器做電流源,即采用D/A輸出調(diào)節(jié)晶體管偏值電流(電壓)。采用此方案能有效縮短調(diào)節(jié)時間,并能提高輸出精度。設(shè)計方案,涉及了微控制器模塊、D/A轉(zhuǎn)換模塊、穩(wěn)壓控制模塊、顯示模塊、鍵盤模塊、電源模塊五某些構(gòu)成,形成開環(huán)控制。采用慣用51芯片作為控制器,P0口和DAC0832數(shù)據(jù)口直接相連,DA電流輸出端接放大器UA741反向輸入端,DAC0832和運放UA1將單片機發(fā)出八位二進制數(shù)轉(zhuǎn)換成0—5V負電壓,再通過反向比例放大器UA2將負電壓轉(zhuǎn)換成0—10V正電壓,輸出到電壓調(diào)節(jié)模塊NE5534,將電壓步進值調(diào)節(jié)為0.05V。因此,當MCU輸出數(shù)據(jù)增長1時候,最后輸出電壓增長0.05V,當調(diào)節(jié)電壓時候,可以以每次依0.05V梯度增長或者減少電壓。數(shù)碼管顯示電路,該系統(tǒng)使用3個數(shù)碼管,可以顯示三位數(shù),分別構(gòu)成顯示電路十位、個位、小數(shù)點位。本主電路原理是通過MCU控制DA輸出電流大小,通過兩級放大器轉(zhuǎn)換成電壓值并放大,通過電壓調(diào)節(jié)模塊調(diào)節(jié)作為最后輸出電壓。方案三:用D/A和運算放大器做電流源,即采用D/A輸出調(diào)節(jié)晶體管偏值電流(電壓),使用電壓采樣電路,通過A/D轉(zhuǎn)換實現(xiàn)閉環(huán)控制。采用此方案是對方案二改進,能有效縮短調(diào)節(jié)時間,進一步提高輸出精度。設(shè)計方案,其重要由微控制器模塊、D/A轉(zhuǎn)換模塊、電壓調(diào)節(jié)模塊、顯示模塊、鍵盤模塊、電源模塊六某些構(gòu)成。液晶屏顯示電路,該系統(tǒng)使用LCD1602液晶顯示屏,可以清晰地顯示分別構(gòu)成顯示電路十位、個位、小數(shù)點位,同步還能顯示英文名稱和電壓/電流單位。
按照方案三設(shè)計可以較好滿足課程設(shè)計目的與規(guī)定,因此最后選用方案三。2.2系統(tǒng)總框圖采用雙220V/18V變壓器,將220V市電經(jīng)橋式整流,濾波后得+21V和-21V電壓值,再通過三端穩(wěn)壓芯片得到需要+15V,-15V和+5V,為系統(tǒng)提供電源支持。以單片機STC89C52為核心,輸出電流經(jīng)D/A轉(zhuǎn)換,比較放大后得到適當電壓值,經(jīng)電壓調(diào)節(jié)后輸出UO,對UO采樣,經(jīng)A/D轉(zhuǎn)換送回到單片機與設(shè)定值比較,自動調(diào)節(jié)以實現(xiàn)閉環(huán)控制。系統(tǒng)總框圖如圖2-1所示。
市電 市電 系統(tǒng)電系統(tǒng)電源變壓+21V+15V整流-15V整流+5V 電壓調(diào)節(jié)及過流保護 電壓調(diào)節(jié)及過流保護UO 比較放大取樣比較放大取樣 D/A轉(zhuǎn)換 D/A轉(zhuǎn)換 電壓顯示STC89C52電壓顯示STC89C52A/D轉(zhuǎn)換鍵盤A/D轉(zhuǎn)換鍵盤掉電記憶 掉電記憶 圖2-1系統(tǒng)總框圖
第3章硬件設(shè)計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升級版,具備速度快,且自帶512字節(jié)EEPROM,不需要此外接擴展EEPROM長處;缺陷是,對AVR使用不太熟悉,價格比較貴。方案二采用STC89C52作為控制器。長處:技術(shù)比較純熟,使用廣泛,價格便宜,并且功能上也完全滿足本系統(tǒng)規(guī)定;缺陷:需要連接擴展EEPROM。由于本系統(tǒng)對單片機速度規(guī)定不是很高,并且連接擴展EEPROM也不復雜,通過比較,選用方案二。3.1.3顯示某些方案一使用LED顯示。長處:可視角度寬,介格便宜;缺陷:顯示內(nèi)容少,介面呆板,并且占用較多IO口資源。方案二應(yīng)用1602液晶顯示模塊。長處:界面美觀,可顯示文字及數(shù)字;缺陷:價格較貴。通過比較,我選節(jié)方案二。3.1.4鍵盤某些方案一運用I/O口直接連接獨立式鍵盤,每鍵均有相應(yīng)I/O口相應(yīng),編程容易控制,實現(xiàn)以便;方案二運用P3口接成4*2鍵盤。長處:運用6個IO口得到8個按鍵,可使操作介界變得簡樸,操作也以便;缺陷:軟件解決比獨立按鍵復雜。通過比較,結(jié)合本設(shè)計不需要太多IO口,方案一為最佳方案。3.1.5數(shù)模/模數(shù)轉(zhuǎn)換某些方案一采用PCF8591芯片。長處:集AD,DA于一身;缺陷:價格昂貴,且操作不熟悉。方案二數(shù)模轉(zhuǎn)換某些采用DAC0832芯片;模數(shù)轉(zhuǎn)換某些采用TLC1543芯片。長處:兩芯片均為慣用芯片,操作簡樸,軟件編程簡樸;缺陷:占用比較多IO口,為PCB布線帶來困難。通過比較,方案二位最佳。3.1.6掉電記憶某些我選用應(yīng)用最廣泛ST24C02芯片。該芯片價格便宜,操作簡樸,抗干擾強,數(shù)據(jù)能保持一百年。3.2硬件電路設(shè)計本系統(tǒng)由電源模塊,調(diào)壓模塊,DA轉(zhuǎn)換模塊,鍵盤模塊,EEPROM拓展模塊與顯示模塊構(gòu)成。3.2.1電源模塊220V市電通過雙18V變壓器轉(zhuǎn)換后到+-18V電壓,再通過橋式整流濾波電路,得到18*1.2=21.6(V)電壓。其中+21V電壓通過7815轉(zhuǎn)換得到穩(wěn)定+15V電壓,再經(jīng)7805轉(zhuǎn)換得到穩(wěn)定+5V電壓;-21V電壓通過mc7915轉(zhuǎn)換得到穩(wěn)定-15V電壓。其中,+21V為系統(tǒng)供電,+15V,-15V,+5V分別為各獨立元件供電。圖3-2-1電源模塊原理圖3.2.2DA轉(zhuǎn)換模塊DA轉(zhuǎn)換模塊由DAC0832,兩級運放UA741構(gòu)成。DAC0832具備8位辨別率,有3種工作方式(單緩沖,雙緩沖,直通)。本設(shè)計中DAC工作于直通工作方式。D/A轉(zhuǎn)換成果采用電流形式輸出。要是需要相應(yīng)模仿電壓信號,可通過一種高輸入阻抗線性運算放大器實現(xiàn)這個供功能。該片邏輯輸入滿足TTL電壓電平范疇,可直接與TTL電路或微機電路相接,-芯片電路原理圖如圖3-2-2所示。圖3-2-2DAC0832引腳圖和內(nèi)部構(gòu)造電路圖UA741為慣用運放,由美國fairchild公司生產(chǎn),具備低漂移,穩(wěn)定等長處,可外置調(diào)零電路以抑制零點漂移。DAC0832和運放UA1將單片機發(fā)出八位二進制數(shù)轉(zhuǎn)換成0—5V負電壓,再通過反向比例放大器UA2將負電壓轉(zhuǎn)換成0—10V正電壓。通過兩級運放放大后,DAC0832轉(zhuǎn)換辨別率為10/(2^8-1)=0.04V。即單片機向DAC送出數(shù)據(jù)變化1BIT,運放UA2輸出電壓值變化0.04V?;瑒幼冏杵鱎22作用為調(diào)零電路以抑制零點漂移。圖3-2-3DA轉(zhuǎn)換模塊原理圖3.2.3電壓調(diào)節(jié)模塊本設(shè)計電壓調(diào)節(jié)模塊如圖3-2-4所示。Q1,Q2構(gòu)成復合管,以實現(xiàn)大電流輸出。由于該設(shè)計預(yù)定額定電流為0.5A,最大輸出電壓為12.5V,因此規(guī)定Q1管射極最大功率Pmax=0.5*12.5=6.25W,因此選用TIP41c。Q3管9013和電阻R1為限流保護某些。當輸出電流不不大于0.7A時,R1上壓降為0.7V使得T3管導通,Q3管集電極對Q2管基極分流,使得Q2管基極電流明顯變小使得輸出電流變小,從而達到過流保護功能。發(fā)光二極管起過流提示作用。電壓調(diào)節(jié)模塊核心某些是NE5534。NE5534生產(chǎn)于美國德州半導體公司,具備共模抑制比高,響應(yīng)速度快和壓擺率高等長處,慣用于音響,耳機等設(shè)備。由DA及運放轉(zhuǎn)換后電壓U1輸入到NE5534正向輸入端,R12R13R17構(gòu)成NE5534取樣電路。由于NE5534Q1Q2及取樣電路構(gòu)成負反饋,由運放“虛短”特點,NE5534反向輸入端電壓U2為正向輸入端電壓大小U1。由于運放尚有“虛斷”特點,運放輸入端對流經(jīng)取樣電路電流不起分流作用,因此輸出電壓U0/U2=(R12+R13+R17)/(R12+R13)=1.25。即U2每變化0.04V,U0變化0.05V。由于單片機輸入到DAC0832二進制數(shù)據(jù)每變化1BIT,U1變化0.04V即U2變化0.04V,因此U0變化0.05V。因而,該設(shè)計最小步進電壓為0.05V。電容C9作用為抑制輸出紋波電壓。圖3-2-4電壓調(diào)節(jié)模塊原理圖3.2.4鍵盤模塊系統(tǒng)共設(shè)立了9個獨立按鍵,實現(xiàn)了慣用電壓設(shè)定,電壓“+”“—”設(shè)定及正常關(guān)機辨別功能。01~08功能分別是:設(shè)立電壓值12V,9V,5V,3V,步進-0.5V,步進+0.5V,步進-0.05V,步進+0.05V。09為關(guān)機設(shè)定。圖3-2-5按鍵模塊原理圖3.2.5EEPROM拓展模塊為了實現(xiàn)設(shè)定電壓數(shù)據(jù)掉電保護,我在系統(tǒng)中連接了EEPROM24C02B,保證了在行駛過程中,如果數(shù)控電源意外掉電,已經(jīng)設(shè)定電壓數(shù)據(jù)可以下來。24C02B是ATMEL公司生產(chǎn)一款256byte串行EEPROM,能重復擦寫1,000,000次,記錄信息能保存1以上,并且與單片機連接只要2根線。24C02接圖如圖3-2-6圖3-2-6EEPROM拓展模塊原理圖3.2.6顯示模塊顯示模塊重要由TLC1543及LCD液晶顯示屏構(gòu)成。由美國德州公司生產(chǎn)TLC1543,是具備10位辨別率AD轉(zhuǎn)換器,,它具備11路模仿輸入通道及3路內(nèi)置自測試方式,具備明顯長處。LCD液晶屏幕采用1602,可以顯示16X2個字符。由輸出端采樣得到模仿信號,輸入到TLC1543其中一路模仿輸入通道IN0,通過AD轉(zhuǎn)換,TLC1543將模仿量轉(zhuǎn)化為10位數(shù)字量輸入到單片機相應(yīng)IO口。通過解決,單片機將模仿量值通過1602液晶顯示出來。顯示模塊接圖如圖3-2-7所示。圖3-2-7顯示模塊原理圖
第4章軟件設(shè)計4.1主程序流程系統(tǒng)核心某些是對輸出精度閉環(huán)控制。對輸出電壓值采樣,通過A/D轉(zhuǎn)換通道送入單片機,與輸出值進行比較,若誤差不在規(guī)定范疇內(nèi),就調(diào)節(jié)STC89C52輸出值,直到滿足規(guī)定。系統(tǒng)主程序流程圖如圖4-1-1和圖4-1-2所示。 開始開始 初始化 初始化 讀取上次關(guān)機設(shè)定值 讀取上次關(guān)機設(shè)定值 DA輸出 DA輸出 調(diào)節(jié)STC89C52輸出值TLC1543檢測實際輸出值 調(diào)節(jié)STC89C52輸出值TLC1543檢測實際輸出值誤差不大于50mV?誤差不大于50mV?N Y 圖4-1-1主程序流程圖(1)
鍵盤掃描等待輸入鍵盤掃描等待輸入 更改DA輸出值 更改DA輸出值 保存設(shè)定值 保存設(shè)定值 屏幕顯示當前設(shè)定值與輸出值 屏幕顯示當前設(shè)定值與輸出值 圖4-1-2主程序流程圖(2) 4.2鍵盤程序流程圖本系統(tǒng)中鍵盤程序分為鍵盤掃描子程序和按鍵功能執(zhí)行子程序。鍵盤掃描子程序流程圖如圖4-2-1所示,按鍵功能子程序流程圖如圖4-2-2所示。開始開始掃描鍵盤有鍵接下?返回鍵值退出YYYN圖4-2-1鍵盤掃描子程序流程圖有按鍵按下開始有按鍵按下開始 執(zhí)行相應(yīng)功能 執(zhí)行相應(yīng)功能 退出 退出 圖4-2-2按鍵功能執(zhí)行子程序流程圖4.3EEPROM讀寫程序流程24C02B讀寫程序流程圖如圖4-3-1和圖4-3-2所示。開始開始寫入數(shù)據(jù)退出發(fā)送地址圖4-3-124C02B寫入程序流程圖讀取數(shù)據(jù)讀取數(shù)據(jù)退出發(fā)送地址開始圖4-3-224C02B讀取程序流程圖4.4DAC0832程序流程DAC0832程序流程圖如圖4-4所示。開始開始結(jié)束輸出相應(yīng)值讀取數(shù)據(jù)發(fā)送數(shù)據(jù)結(jié)束輸出相應(yīng)值讀取數(shù)據(jù)發(fā)送數(shù)據(jù)圖4-4DAC0832程序流程圖
4.5TLC1543程序流程TLC1543小程序流程圖如圖4-5所示:開始開始CLK發(fā)送脈沖信號CLK發(fā)送脈沖信號發(fā)送4位地址發(fā)送4位地址讀取前四位數(shù)據(jù)讀取前四位數(shù)據(jù)CLK發(fā)送脈沖信號CLK發(fā)送脈沖信號 讀取后6位數(shù)據(jù)讀取后6位數(shù)據(jù)結(jié)束結(jié)束 圖4-5TLC1543小程序流程圖
第5章系統(tǒng)測試及誤差分析5.1系統(tǒng)測試5.1.1軟件測試1、測試軟件程序編輯器keiluvision4程序燒制器STC-ISPV352、編譯成果在編制完C語言后,即keiluvision4界面下,進行了調(diào)試,依照提示,我找到了程序在編寫上錯誤,加以改正,再次進行調(diào)試。通過上述簡樸測試,證明本次設(shè)計程序基本上對的無誤。然后,將燒錄了程序單片機STC89C52接到系統(tǒng)電路中,查看系統(tǒng)電路運營狀況;如果程序邏輯有問題可進一步修改,直到系統(tǒng)正常運營。5.1.2硬件測試1、電源某些提供整個電路所需各種電壓,由電源變壓器和整流濾波電路及三個輔助穩(wěn)壓芯片輸出構(gòu)成,電源變壓器功率由需要輸出電流大小決定,保證有充分功率余量。2、電流取樣電阻R1要選取大功率電阻(5W或10W)。也可使用廢舊萬用表上拆下來電阻線。檢查電路連接無誤后,即可試機。找一塊數(shù)字表將其并聯(lián)在輸出電路上,按S1或S2設(shè)定一種電壓,此時LCD1602第一行顯示電壓也許會有誤差,恰當微調(diào)反饋電路VR2,使其與數(shù)字表讀數(shù)一致,再將數(shù)字表串聯(lián)在電源輸出電路上,選取恰當電流檔,接上一定負載。此時,LCD1602第二行會顯示出電流值,恰當調(diào)節(jié)VR3變化TLC1543參照電壓,直至顯示電流值與萬用表顯示電流值一致為止,校正完畢后即可使用。5.1.3系統(tǒng)整體測試1、測試工具雙蹤示波器數(shù)字萬用表測試成果測試成果如表5-1所示。表5-1電壓測試表系統(tǒng)理論值系統(tǒng)測量值誤差顯示電壓值(V)理論碼值(bit)實測碼值(bit)實測電壓值(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.001010000010011118.00.8.501010101010101008.509.001011010010110019.20.210.001100100011000119.8-0.2 系統(tǒng)由于剛啟動在電壓方面不穩(wěn)定,存在一定誤差,但是單片機會對其進行控制,使系統(tǒng)再次穩(wěn)定。3、精度分析 絕對誤差:ΔU=(0.2+0.1+…...+0.2+0.2)/12=0.11V相對誤差:γ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)誤差來源于四個方面:DAC0832量化誤差?;鶞孰妷簻仄胝`差。三端穩(wěn)壓器電路引起誤差。其他器件和線路由于溫漂、不穩(wěn)定等因素引起誤差。
結(jié)論(心得體會)通過兩個周艱難奮戰(zhàn),我最后完畢了課程設(shè)計。雖然過程是艱難,但最后成功喜悅同樣令我高興! 此設(shè)計用D/A和運算放大器做電源,及采用D/A輸出調(diào)節(jié)晶體管偏值電流{電壓}。采用此方案能有效地縮短調(diào)節(jié)時間,并能提高輸出精度,經(jīng)計算需要采用8位D/A芯片。 為了爭取時間,減少成本,我解決方案是采用51單片機。變化電壓大小,當單片機通過閉環(huán)負反饋調(diào)節(jié)回路A/D轉(zhuǎn)換檢測到電壓達到設(shè)定值時,將再次對輸出電壓進行調(diào)制,直到輸出電壓達到設(shè)定值;電壓值理論上是象形變化,不會產(chǎn)生高次諧波,基本實現(xiàn)了各項規(guī)定和目的,達到了本次課程設(shè)計預(yù)期目。本次設(shè)計過程中,對紋波也沒有提出嚴格規(guī)定,因此慣用穩(wěn)壓集成電路就可以滿足規(guī)定。本設(shè)計輸出電壓穩(wěn)壓精度高,可以用在對直流電壓規(guī)定較高設(shè)備上,或在實驗室中當作實驗電源使用。在本次設(shè)計過程中,我發(fā)現(xiàn)諸多問題,給我感覺就是很難,很不順手,看似原理比較簡樸電路,要動手把它給設(shè)計出來卻是很難一件事,重要因素是咱們沒有經(jīng)常動手設(shè)計過電路,尚有資料查找也是一大難題,這就規(guī)定咱們在后來學習中,應(yīng)當注意到這一點,更重要是咱們要學會把從課本中學到知識和實際電路聯(lián)系起來,這無論是對咱們后來就業(yè)還是學習,都會起到很大增進和協(xié)助,我相信,通過這次課程設(shè)計,在下一階段學習中我會更加努力,力求把功課學好,學精。同步,通過本次課程設(shè)計,鞏固了咱們學習過專業(yè)知識,也使咱們把理論與實踐從真正意義上相結(jié)合了起來;考驗了咱們借助互聯(lián)網(wǎng)收集、查閱有關(guān)文獻資料,和組織材料綜合能力;從中可以自我測驗,結(jié)識到自己哪方面有欠缺、局限性,以便于在日后學習中得到改進、提高。
參照文獻[1]鄒紅.數(shù)字電路與邏輯設(shè)計[M].北京:人民郵電出版社,.[2]李祥臣.模仿電子技術(shù)基本教程.[M]北京:清華大學出版社..[3]童詩白,華成英.模仿電子技術(shù)基本[M]北京:高等教誨出版社,.[4]邱關(guān)源.電路(第四版)[M].北京:高等教誨出版社,.56-74[5]李群芳,張士軍,黃建.單片微型計算機與接口技術(shù)(第二版)[M].北京:電子工業(yè)出版社,.[6]劉文濤.單片機語言C51典型應(yīng)用設(shè)計[M].北京:人民郵電出版社,.[7]于永,戴佳,常江.51單片機實例精講[M].北京:電子工業(yè)出版社,.[8]曹鳳.微機數(shù)控技術(shù)及其應(yīng)用[M].四川:電子科技大學出版社,.[9]胡壽松.自動控制原理[M].北京:科學出版社,.152-233[10]潘永雄,沙河,劉向陽.電子線路CAD實用教程(第二版)[M].陜西:西安電子科技大學出版社,.[11]李朝青.單片機原理及接口技術(shù)(建明修訂版).北京:北京航空航天大學出版社,1999.[12]李朝青.單片機學習輔導測驗及解答講義.北京:北京航空航天出版社,.[13]何立民.單片機高檔編程.北京:北京航空航天大學出版社,1999.[14]張迎新,等.單片機初級編程.北京:北京航空航天大學出版社,1999.[15]余永權(quán).Flash單片機原理及應(yīng)用.北京:電子工業(yè)出版社,1997.[16]錢逸秋.單片機原理及應(yīng)用.北京:電子工業(yè)出版社,.[17]王兆安,劉進軍.電力電子技術(shù)(第五版).北京:機械工業(yè)出版社,.43-95
附錄一
附錄二完整源程序 #include<reg52.h>#include<intrins.h>#include<math.h>#defineuintunsignedint#defineucharunsignedchartypedefunsignedcharBYTE;typedefunsignedintWORD;typedefbitBOOL;BYTEcodedis1[]={"PowerSupply"};BYTEcodedis2[]={"welcome!"};BYTEcodedis3[]={"Pleasewait..."};BYTEcodedis4[]={"SetValue:"};BYTEcodedis5[]={"Output:"};BYTEsetv[6],getv[6];//LCD輸出字符數(shù)組floatn,setvalue;//電壓設(shè)定值floatdq,dp,qq,pp,l,xx;//轉(zhuǎn)換傳遞參數(shù)ucharctu,outv,inv;//DA與AD某些傳遞參數(shù)sbitTLCEOC=P1^1;//TLC占用IO口sbitTLCCL=P1^2;sbitTLCAD=P1^3;sbitTLCOUT=P1^4;sbitTLCCS=P1^5;sbitscl=P2^0;//斷電保存占用IO口sbitsda=P2^1;sbitDACS=P1^6;//DA占用IO口sbitDAWR=P1^7;sbitrs =P2^2; //液晶LCD占用IO口sbitrw=P2^3;sbitep=P2^4;voiddelay(BYTEms) //延時子程序{ BYTEi; while(ms--) { for(i=0;i<250;i++) { _nop_(); _nop_(); _nop_(); _nop_(); } }}/********************************************************************LCD顯示子函數(shù)組*******************************************************************/BOOLlcd_bz(){ //測試LCD忙碌狀態(tài) BOOLresult; rs=0; rw=1; ep=1; _nop_(); _nop_(); _nop_(); _nop_(); result=(BOOL)(P0&0x80); ep=0; returnresult; }voidlcd_wcmd(BYTEcmd){ //寫入指令數(shù)據(jù)到LCD while(lcd_bz()); rs=0; rw=0; ep=0; _nop_(); _nop_(); P0=cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(); _nop_(); _nop_(); ep=0; }voidlcd_pos(BYTEpos){ //設(shè)定顯示位置 lcd_wcmd(pos|0x80);}voidlcd_wdat(BYTEdat) { //寫入字符顯示數(shù)據(jù)到LCD while(lcd_bz()); rs=1; rw=0; ep=0; P0=dat; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(); _nop_(); _nop_(); ep=0; }voidlcd_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ù)***********************************************************************/voidwrite_da() { P0=outv;//將輸出值送p0口 delay(1); DACS=0;// DACS,DAWR都為低電平,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ù)*****************************************************************/voidread_tlc(){ floatvad; inti; i=2; while(i) { uchartemp; vad=0; TLCEOC=1; delay(1); TLCCL=0; TLCCS=0; delay(1); TLCCL=0;//1 TLCAD=0; temp=TLCOUT; if(temp==1) { vad=vad+512 ; } delay(1); TLCCL=1; delay(1); TLCCL=0;//2 TLCAD=0; temp=TLCOUT; if(temp==1) { vad=vad+256 ; } delay(1); TLCCL=1; delay(1); TLCCL=0;//3 TLCAD=0; temp=TLCOUT; if(temp==1) { vad=vad+128 ; } delay(1); TLCCL=1; delay(1); TLCCL=0;//4 TLCAD=1; temp=TLCOUT; if(temp==1) { vad=vad+64 ; } delay(1); TLCCL=1; delay(1); TLCCL=0;//5 temp=TLCOUT; if(temp==1) { vad=vad+32; } delay(1); TLCCL=1; delay(1); TLCCL=0;//6 temp=TLCOUT; if(temp==1) { vad=vad+16; } delay(1); TLCCL=1; delay(1); TLCCL=0;//7 temp=TLCOUT; if(temp==1) { vad=vad+8; } delay(1); TLCCL=1; delay(1); TLCCL=0;//8 temp=TLCOUT; if(temp==1) { vad=vad+4; } delay(1); TLCCL=1; delay(1); TLCCL=0;//9 temp=TLCOUT; if(temp==1) { vad=vad+2 ; } delay(1); TLCCL=1; delay(1); TLCCL=0;//10 temp=TLCOUT; 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ù)******************************************************************/voidchange(floatnn,BYTEa[6])//float轉(zhuǎn)字符數(shù)組{ uinti,y; floatx=nn*100; for(i=0;i<4;i++) { y=x/(pow(10,(3-i))); switch(y) { case0:a[i]='0';break; case1:a[i]='1';break; case2:a[i]='2';break; case3:a[i]='3';break; case4:a[i]='4';break; case5:a[i]='5';break; case6:a[i]='6';break; case7:a[i]='7';break; case8:a[i]='8';break; case9:a[i]='9';break; } x=x-y*(pow(10,(3-i))); } a[4]=a[3]; a[3]=a[2]; a[2]='.'; a[5]='V'; }voidchangetf()//UCHAR轉(zhuǎn)FLOAT{ setvalue=(dq*13)/255; //dq為單片機p0口輸出八位數(shù)字量 l=dp*13/255/100; setvalue=setvalue+l+0.02;}voidchangetu()//float轉(zhuǎn)UCHAR{ qq=setvalue*255/13; ctu=qq; pp=(qq-ctu)*100;}/********************************************************************鍵盤掃描函數(shù)**********************************************************************/voidkeyscan(){ uchartemp1,temp; P3=0xff; temp1=P3; while(temp1==0xff)//等待按鍵 { P3=0xff; temp1=P3; } temp=temp1;//記錄按鍵 while(temp1!=0xff)//等待松手 { P3=0xff; temp1=P3; } switch(temp) { case0x7f:setvalue=setvalue+0.05;break; case0xbf:setvalue=setvalue-0.05;break; case0xdf:setvalue=setvalue+0.5;break; case0xef:setvalue=setvalue-0.5;break; case0xf7:setvalue=3;break; case0xfb:setvalue=5;break; case0xfd:setvalue=9;break; case0xfe:setvalue=12;break; } if(setvalue>13) setvalue=13; if(setvalue<0) setvalue=0; }/********************************************************************開機歡迎界面**********************************************************************/voidwelcome() //歡迎界面{ BYTEi; lcd_init(); //初始化LCD delay(10); lcd_pos(2); //設(shè)立顯示位置為第一行第3個字符 i=0; while(dis1[i]!='\0') { lcd_wdat(dis1[i]); //顯示字符 i++; } lcd_pos(0x44); //設(shè)立顯示位置為第二行第5個字符 i=0; while(dis2[i]!='\0') { lcd_wdat(dis2[i]); //顯示字符 i++; } delay(200); delay(200); delay(200); delay(200); delay(200); lcd_wcmd(0x01); //清除LCD顯示內(nèi)容 lcd_pos(1); //設(shè)立顯示位置為第一行第1個字符 i=0; while(dis3[i]!='\0') { lcd_wdat(dis3[i]); //顯示字符 i++; } delay(200); delay(200); delay(200); delay(200); delay(200); }/********************************************************************當前參數(shù)顯示界面******************************************************************/voidshow() //歡迎界面{ BYTEi; lcd_init(); //初始化LCD delay(10); lcd_pos(0); //設(shè)立顯示位置為第一行第1個字符 i=0; while(dis4[i]!='\0') { lcd_wdat(dis4[i]); //顯示字符 i++; } i=0; while(i<6) { lcd_wdat(setv[i]); //顯示字符 i++; } lcd_pos(0x42); //設(shè)立顯示位置為第二行第3個字符 i=0; while(dis5[i]!='\0') { lcd_wdat(dis5[i]); //顯示字符 i++; } i=0; while(i<6) { lcd_wdat(getv[i]); //顯示字符 i++; }}/********************************************************************斷電保存子函數(shù)組******************************************************************/voidshort_delay(){;;}void_24hc_init(){ sda=1; scl=1;//初始化釋放總線} voidstart()//信號開始函數(shù){ sda=1;short_delay(); scl=1; short_delay(); sda=0;short_delay(); }voidstop()//信號結(jié)束函數(shù){ sda=0; short_delay(); scl=1; short_delay(); sda=1; short_delay();}voidresponse()//應(yīng)答信號{uchari; scl=1; short_delay(); while((sda==1)&&(i<250))i++;//若無應(yīng)答(sda==1),則一段時間后默以為應(yīng)答 scl=0; short_delay();}voidwrite_byte(uchardate)//寫數(shù)據(jù)函數(shù){ uchartemp; uchari; scl=0;short_delay(); temp=date; for(i=0;i<8;i
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025秋部編版二年級道德與法治課題研究計劃
- 2025年中國汽車配電盒行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報告
- 2024-2030年中國牙齒矯正設(shè)備行業(yè)市場調(diào)查研究及投資前景展望報告
- 2025年中國酒文化行業(yè)市場運行態(tài)勢及投資戰(zhàn)略咨詢研究報告
- 2025年孚瑞爾項目投資可行性研究分析報告
- 2021-2026年中國魚肝油市場調(diào)查研究及行業(yè)投資潛力預(yù)測報告
- 2025年中棉茄克項目投資可行性研究分析報告
- 2025年防護制品用布項目投資可行性研究分析報告
- 年產(chǎn)100萬捆膠帶生產(chǎn)項目可行性研究報告
- 光顯示產(chǎn)品行業(yè)深度研究報告
- 關(guān)鍵工序特殊過程培訓課件精
- 輪機備件的管理(船舶管理課件)
- 【活教育】陳鶴琴現(xiàn)代兒童教育學說
- 《機修工基礎(chǔ)培訓》課件
- 統(tǒng)編《道德與法治》三年級下冊教材分析
- 紡織材料學課件第二章-植物纖維(棉)
- 《鑄造用珍珠巖除渣劑》
- 清淤邊坡支護施工方案
- 智能制造裝備及系統(tǒng) 配套課件
- 離婚協(xié)議書怎么寫
- 國開行政管理論文行政組織的變革及其現(xiàn)實性研究
評論
0/150
提交評論