開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(共33頁)_第1頁
開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(共33頁)_第2頁
開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(共33頁)_第3頁
開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(共33頁)_第4頁
開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(共33頁)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)選 修 課 設(shè) 計 (論 文) 題題 目目 開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計 專專 業(yè)業(yè) 電子信息工程 班班 級級 111 112 班 姓姓 名名 鄧逸博 孫浙飛 汪超 指導(dǎo)教師指導(dǎo)教師 王章權(quán) 所在學(xué)院所在學(xué)院 信息學(xué)院 完成時間:2014 年 5 月精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計電子信息工程專業(yè) 鄧逸博 孫浙飛 汪超摘摘 要:要:本設(shè)計設(shè)計制作的是開關(guān)電源模塊并聯(lián)供電系統(tǒng),能夠廣泛應(yīng)用在小功率及各種電子設(shè)備領(lǐng)域,能夠輸出 8V 定壓,功率可達到 16W,并根據(jù)要求對兩路電流進行按比例分配。本系統(tǒng)由 DC/DC 模

2、塊,均流、分流模塊,保護電路組成。DC/DC 模塊以 IRF9530 芯片為開關(guān),配以 BUCK 的外圍電路實現(xiàn) 24V-8V 的降壓與穩(wěn)壓。采用 LM328 比較電路實現(xiàn)電流和電壓的檢測,控制由 DC/DC 模塊構(gòu)成的并聯(lián)供電系統(tǒng)均流與分流工作模式,通過比較器電路實現(xiàn)過流保護。同時進行 LCD1602 液晶同步顯示、獨立鍵盤輸入控制。輸入的值經(jīng)過單片機處理程序來控制輸出電壓,且輸出電壓和電流可實時顯示。關(guān)鍵詞關(guān)鍵詞: DC/DC 模塊,BUCK,電流分流 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)目 錄精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)一、緒論分布式直流開關(guān)電源系統(tǒng)取代傳統(tǒng)的集中式直

3、流開關(guān)電源系統(tǒng)已成為大功率電源系統(tǒng)的發(fā)展方向:(1)單臺大功率電源容易受技術(shù)、成本的限制;(2)單臺直流開關(guān)電源故障會導(dǎo)致整個系統(tǒng)的故障,而分布式電源系統(tǒng)由若干電源模塊并聯(lián)組成,某個電源模塊故障不會導(dǎo)致整個電源故障;(3)可根據(jù)實際負荷的變化,自動確定需要投入運行的模塊數(shù)量或者解列退出的模塊數(shù)量,對變負荷運行很有意義;(4)由于多個電源模塊并聯(lián)運行,使每個電源模塊承受的電應(yīng)力較小,具有較高的運行效率,且具有較好的動態(tài)和靜態(tài)特性。分布式電源系統(tǒng)需要解決的主要問題是實現(xiàn)多個并聯(lián)運行的模塊輸出相同的功率。隨著通信電源技術(shù)的高速發(fā)展,電力電子設(shè)備與人們的工作、生活的關(guān)系日益密切,而通信電子設(shè)備都離不開

4、可靠的電源。進入 20 世紀 80 年代,計算機電源全面實現(xiàn)了開關(guān)電源化,率先完成計算機的電源換代;進入 20 世紀 90 年代,開關(guān)電源相繼進入各種電子、電氣設(shè)備領(lǐng)域,程控交換機、通信、電力檢測設(shè)備電源、控制設(shè)備電源等都已廣泛使用了開關(guān)電源,更促進了開關(guān)電源技術(shù)的迅速發(fā)展。二、設(shè)計的目標與基本要求(一) 、設(shè)計目標設(shè)計并制作一個由兩個額定輸出功率均為 16W 的 8V DC/DC 模塊構(gòu)成的并聯(lián)供電系統(tǒng)(見圖 2.1) 圖 2.1 兩路 buck 電路并聯(lián)供電精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)(二) 、基本要求(1)調(diào)整負載電阻至額定輸出功率工作狀態(tài),供電系統(tǒng)的直流輸出電壓UO=8.

5、00.4V。在額定輸出功率工作狀態(tài)下,供電系統(tǒng)的效率不低于 60% 。(2)調(diào)整負載電阻,保持輸出電壓 UO=8.00.4V,使兩個模塊輸出電流之和 IO =1.0A 且按 I1:I2=1:1 模式自動分配電流,調(diào)整負載電阻,保持輸出電壓 UO=8.00.4V,使兩個模塊輸出電流之和 IO =1.5A 且按 I1:I2= 1:2 模式自動分配電流,每個模塊輸出電流的相對誤差絕對值不大于 5%。調(diào)整負載電阻,保持輸出電壓 UO=8.00.4V,使兩個模塊輸出電流之和 IO =4.0A 且按 I1:I2=1:1 模式自動分配電流,每個模塊的輸出電流的相對誤差的絕對值不大于 2%。(3)調(diào)整負載電阻

6、,保持輸出電壓 UO=8.00.4V,使負載電流 IO 在 1.53.5A 之間變化時,兩個模塊的輸出電流可在(0.52.0)范圍內(nèi)按指定的比例自動分配,每個模塊的輸出電流相對誤差的絕對值不大于 2%。 (4)具有負載短路保護及自動恢復(fù)功能,保護閾值電流為 4.5A(調(diào)試時允許有0.2A 的偏差) 。在額定輸出功率工作狀態(tài)下,進一步提高供電系統(tǒng)效率。三、系統(tǒng)設(shè)計(一) 、系統(tǒng)框圖 圖 3.1 系統(tǒng)框圖精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)系統(tǒng)說明:以單片機為核心處理元件,DC-DC 變換器為主電路。按鍵、顯示便于人機交互。驅(qū)動電路將單片機和 DC-DC 變換器隔離,輔助電源給單片機和采樣電

7、路供電。單片機將電壓電流通過采樣電路,運放采樣回來在內(nèi)部進行 A/D 處理,然后將數(shù)據(jù)輸出液晶顯示。在內(nèi)部進行算法調(diào)整。使整個系統(tǒng)穩(wěn)定,并達到基本要求。整個系統(tǒng)設(shè)計如上圖 3.1 所示。(二) 、硬件設(shè)計與方案選擇1、單片機選擇方案一:使用 89C51 單片機指令簡單,易學(xué)易懂,外圍電路簡單,硬件設(shè)計方便,IO 口操作簡單,無方向寄存器,資源豐富, ,價格便宜、容易購買,資料豐富容易查到,程序燒寫簡單,但要外接 A/D、D/A 芯片,來實現(xiàn)對整個供電系統(tǒng)的控制,需要占用較多的 I/O 接口,會使普通單片機承載過大的數(shù)據(jù)處理任務(wù),功耗較大。方案二:使用 ATmega16,ATmega16外設(shè)特點

8、:兩個具有獨立的預(yù)分頻器和比較器功能的8位定時器/計數(shù)器,兩個具有預(yù)分頻器、比較功能和撲捉功能的16位定時器/計數(shù)器,具有獨立預(yù)分頻器的實時時鐘計數(shù)器,兩路8位 PWM,4路分辨率可編程(216位)的 PWM,輸出比較調(diào)制器,8路10位 ADC,面向字節(jié)的兩線接口 I2C 總線,兩個可編程的串行 USART,可工作于主機/從機模式的 SPI 串行接口,具有獨立片內(nèi)振蕩器的的可編程看門狗定時器,片內(nèi)模擬比較器。特殊的處理器特點:上電復(fù)位以及可編程的掉電檢測,片內(nèi)經(jīng)過標定的 RC 振蕩器,片內(nèi)/片外中斷源,6種睡眠模式,可以通過軟件進行選擇的時鐘頻率,通過熔絲位可以選擇兼容模式,全局上拉禁止功能。

9、結(jié)合前兩個方案優(yōu)點,經(jīng)過方案比較與論證,最終確定使用方案二,因為ATmega16 速度快 自帶 PWM ,自帶 AD,而用 89C51 會使電路更加復(fù)雜與不穩(wěn)定所以,用 ATmega16 單片機和其它控制器電路同實現(xiàn)整個系統(tǒng)的控制。2、主電路選擇方案一:有一種型號為 LM2956 的降壓開關(guān)電壓調(diào)節(jié)器,能夠輸出 3A 的驅(qū)動電流,同時具有很好的線性和負載調(diào)節(jié)特性,該器件內(nèi)部集成頻率補償和固定頻率發(fā)生器,極大地簡化了開關(guān)電源電路的設(shè)計。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)方案二:采用 SG3525 自帶脈寬調(diào)制電源芯片來設(shè)計 DC-DC 降壓轉(zhuǎn)換電路,SG3525 簡單可靠及使用方便靈活,

10、輸出驅(qū)動為推拉輸出形式,增加了驅(qū)動能力;內(nèi)部含有欠壓鎖定電路,死區(qū)時間可調(diào)、軟啟動控制電路、PWM 鎖存器,有過流保護功能,頻率可調(diào),同時能限制最大占空比。由此設(shè)計而成的電路易于實現(xiàn)脈寬調(diào)制,然而在真正使用時會發(fā)現(xiàn),為得到要求的電壓輸出值,開關(guān)管 S 的參數(shù)選取相當(dāng)不易。方案三:將經(jīng)過隔離變壓器,整流濾波后得到的 24VDC 通過 BUCK 降壓電路進行DC-DC 轉(zhuǎn)換,由 ATmega16 單片機產(chǎn)生 PWM 控制其占空比,從而得到要求的直流電壓。此方案僅用一塊控制芯片不但可以實現(xiàn)對 BUCK 電路的控制,而且可以結(jié)合 A/D 和D/A 對輸出電壓進行調(diào)整與顯示。由于 ATmega16 單片

11、機自帶能夠產(chǎn)生脈寬調(diào)制所需的 PWM 信號的端口,在實際制作中用起來比較方便。ATmega16 單片機自帶 8 路 10位 A/D 轉(zhuǎn)換。結(jié)合前兩個方案優(yōu)點,經(jīng)過方案比較與論證,最終確定使用方案三如圖 3.2,因為 ATmega16 單片機,自帶 PWM 模塊,可以輸出 PWM 方波控制電路,節(jié)約芯片成本,也可實現(xiàn) AD 轉(zhuǎn)換。用單片機和其它控制器電路同實現(xiàn)整個系統(tǒng)的控制。3.2 主電路圖3、驅(qū)動電路圖方案一:單片機輸出 PWM,采用 IR2101 驅(qū)動 DC-DC 電路中的 IRF9530,控制輸出電壓。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)方案二:先采用光耦 TLP250 和單片機進行

12、隔離,有效保護單片機,之后用IRF3205 去驅(qū)動 MOS 管 IRF9530,控制輸出電壓。結(jié)合兩種方案的對比選擇方案二如圖 3.3,因為方案二中采用光耦,將單片機與主電路隔離,能夠有效保護單片機,而且也能使正常使電路工作。圖 3.3 驅(qū)動電路圖4、輔助電源方案一:采用集成的三端穩(wěn)壓集成芯片,7815 和 7805 分別給光耦和運放,還有單片機供電,7815 內(nèi)含過流,過熱,過載保護電路。方案二:采用 LM2575 開關(guān)穩(wěn)壓集成芯片,它內(nèi)部集成了一個固定的振蕩器,是一種高效的穩(wěn)壓芯片,大多數(shù)情況下無需加散熱片。內(nèi)部有完善的保護電路,包括電流限制及熱關(guān)斷電路等。它可以根據(jù)用戶要求選擇輸出電壓,

13、可輸出3.3V,5V,12V,15V。然后再經(jīng)過 7805 產(chǎn)生 5V 電壓。結(jié)合兩種方案的對比選擇方案二如圖 3.4,因為方案二中的 LM2575 的是可調(diào)節(jié)輸出電壓的芯片,方便調(diào)控,而且它內(nèi)部有電壓基準比較,使輸出的電壓能夠準確并穩(wěn)定,比 7815 要精確,且性能好。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)圖 3.4 輔助電源電路圖5、電流、電壓采樣 采樣模塊是輸出電壓經(jīng)過采樣回來,形成一個負反饋.經(jīng)過單片機內(nèi)部 A/D 進行處理,然后使輸出更加穩(wěn)定和準確。電壓采樣模塊直接采用 LM358 運放如圖 3.5,將輸出的電壓縮小一定倍數(shù)后,然后送給單片機處理判斷。電流采樣是經(jīng)過 0.1 歐/

14、4 瓦的采樣電阻后,縮小一定倍數(shù),然后經(jīng)過一個差分電路,將電壓值送入單片機進行處理如圖 3.6。圖 3.5 電壓采樣電路圖圖 3.6 電流采樣電路圖精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)6、顯示、按鍵顯示部分采用字符型液晶 1602,能夠同時顯示 16x02 即 32 個字符。16 個引腳,3 個控制引腳,8 位雙向數(shù)據(jù)端引腳。具有微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的特點。用戶可以對 EN、RW、RS 的數(shù)據(jù)進行編程,然后通過 D0D7 輸出顯示數(shù)據(jù)。其引腳功能圖見下表 6.1表 6.1 1602 引腳功能圖按鍵部分采用四個獨立的按鍵,分別控制占空比的加和減,對輸出的電壓和電流進行控制

15、,使輸出能夠達到期望的要求,其按鍵功能表如表 6.2。 表 6.2 按鍵功能表鍵名S1S2S3S4功能PWM1 加 0.2%PWM1 減 0.2%PWM2 加 0.2%PWM2 減 0.2%CPU 端口號PD0PD1PD2PD3(三)、軟件設(shè)計1、主程序如圖 3.7 為主程序流程圖,一開始給系統(tǒng)各部分初始化,包括按鍵初始化,液晶初始化,PWM 初始化,AD 采樣初始化,中斷初始化,然后在進入大循環(huán),在循環(huán)內(nèi)進行數(shù)據(jù)的顯示,包括當(dāng)前輸入的占空比為多少,當(dāng)前采樣回來的數(shù)字量和實際的電壓值為多少。還有按鍵程序,和 AD 采樣。同時每 10 毫秒進入定時器 0 中斷進行調(diào)整。精選優(yōu)質(zhì)文檔-傾情為你奉上

16、專心-專注-專業(yè)開始系統(tǒng)各初始化顯示PWM顯示AD數(shù)據(jù)AD采樣按鍵定時器0中斷進行PID調(diào)整結(jié)束定時器0中斷定時10毫秒定時器0中斷10毫秒?電壓比較反饋定時器0中斷YN主程序圖 3.7 主程序流程圖2、按鍵程序按鍵程序流程圖如圖 3.8 所示。按鍵采用四個獨立的按鍵,分別控制 PWM1,PWM2 的加和減,當(dāng)有鍵按下時,掃描按鍵,然后進入判斷。判斷當(dāng)前寄存器對應(yīng)的值是否大于了設(shè)定的上限值,如果沒有則數(shù)值加 1,如果達到了則鉗位在最大的上限值。然后返回數(shù)據(jù)。通過按鍵程序,可以控制占空比的調(diào)節(jié)。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)按鍵開始PD0是否按下?OCR1A+1OCR1B+1OCR1

17、A265&OCR1B265?OCR1A=265OCR1B=265OCR1A-1OCR1B-1OCR1A240&OCR1B261|OCR1B251?OCR1A=261OCR1B=251PD3是否按下?OCR1A-1OCR1B+1OCR1A260?OCR1A=250OCR1B=260結(jié)束YNYNYNNYYYYYNNNN 圖 3.8 按鍵程序流程圖3、液晶程序圖 3.8 為 1602 液晶屏的程序框圖,1602 由 3 個控制引腳,8 位雙向數(shù)據(jù)端引腳控制顯示的內(nèi)容和位置。因此,這部分程序主要有初始化函數(shù),寫命令函數(shù)和寫數(shù)據(jù)函數(shù)組成。初始化函數(shù)主要對液晶屏的顯示模式進行設(shè)定,寫命令函

18、數(shù)主要是對顯示的位置和顯示的方式進行設(shè)置,寫數(shù)據(jù)函數(shù)是決定顯示的內(nèi)容。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)開始寫命令設(shè)置為寫命令方式寫入命令把命令送入PB口延時5毫秒EN置高,把命令寫入寄存器延時5毫秒EN置低結(jié)束寫數(shù)據(jù)開始設(shè)置為寫數(shù)據(jù)方式寫入數(shù)據(jù)把數(shù)據(jù)送入PB口延時5毫秒EN置高,把數(shù)據(jù)寫入寄存器延時5毫秒EN置低結(jié)束開始初始化設(shè)置為雙行,5*7點陣延時5毫秒開顯示,不顯示光標延時5毫秒輸入地址自加,屏幕不移動延時5毫秒清屏延時5毫秒結(jié)束 圖 3.8 1602 程序流程圖4、采樣程序如圖 3.9 是采樣程序流程圖。一開始配置 AD 寄存器,然后啟動 AD 寄存器,然后將采樣回來的數(shù)據(jù)組

19、合成 10 位的數(shù)據(jù),然后采樣 8 次,去頭去尾后,對其求平均值。將數(shù)據(jù)處理后,給液晶顯示。然后進行電壓判斷,是否小于要求的最小值,如果是的話進行鉗位,然后是否小于設(shè)定的最大值,是的話,就是在要求范圍內(nèi),那就進行 PID 算法的調(diào)整,進行電流的分流。如果大于最大值的話,就進行鉗位。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)開始AD配置,啟動AD采樣8次獲取采樣值獲取AD采樣8次的平均值A(chǔ)D采樣值小于8.4V對應(yīng)數(shù)字量?OCR1A=265OCR1B=265采樣值小于7.6V對應(yīng)數(shù)字量?OCR1A=240OCR1B=240結(jié)束中斷PID電流計算YNN圖 3.9 AD 采樣程序流程圖5、中斷、PID

20、 流程圖如圖 3.10 和 3.11 分別是中斷流程圖和 PID 算法程序流程圖。定時器 0 中斷定時 10毫秒溢出中斷,在中斷中進行 PID 調(diào)整,和電壓反饋調(diào)整。PID 算法是根據(jù)公式,對采樣電阻采樣回來的電壓進行反饋計算。根據(jù)對 P,I,D 三個參數(shù)的設(shè)置,然后結(jié)合算法公式,對輸出的數(shù)據(jù)進行不斷的調(diào)整,達到要求的值。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)開始定時器0中斷進行PID調(diào)整結(jié)束配置定時器0中斷,定時10毫秒定時器0中斷10毫秒?電壓比較反饋定時器0中斷YN開始誤差=設(shè)定值-AD采樣值PID算法誤差是否小于最小偏差?進入PID公式調(diào)整調(diào)整值=0調(diào)整值是否大于設(shè)定最大值?調(diào)整值

21、=設(shè)定最大值調(diào)整值是否大于設(shè)定最小值?調(diào)整值=設(shè)定最小值輸出值=調(diào)整值+輸出值輸出值是否大于設(shè)定最大值?輸出值=設(shè)定最大值輸出是否小于設(shè)定最小值?輸出值=設(shè)定最小值結(jié)束YNNYYNYNYN 圖 3.10 定時器 0 中斷 圖 3.11 PID 算法流程圖四、調(diào)試過程(一) 、遇到的問題及解決辦法(1) 、在對電路板進行設(shè)計,做板子的時候,經(jīng)過封塑機出來后的板子,然后用腐蝕劑進行腐蝕,得到了一塊單面板,當(dāng)我們把器件焊上去的時候發(fā)現(xiàn),跟我們預(yù)期的反了一下,所有的器件都反了一下,這樣子,整個電路就不能用了。經(jīng)過我們的討論和思考,我們認為是我們在打印出油印紙的時候沒有將它鏡像,使整塊板子就是按照反面的

22、印了出來,經(jīng)過我們鏡像后,發(fā)現(xiàn)和我們所需要的板子是一樣的了,所有的元器件都能按照原來的位置進行裝配。而且板子也能正常工作。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)(2) 、在整個電路都做出來以后,進行模塊調(diào)試的時候發(fā)現(xiàn)方波的波形并不是很好,有一點的曲線,經(jīng)過老師上課的講解指導(dǎo)了是,柵極旁邊的電阻阻值太大,因為有分布電容,所有會充放電,使波形不是很理想。經(jīng)過計算后選取了一個合適的阻值,使波形能夠達到電路的要求。還有在整體調(diào)試的時候,發(fā)現(xiàn)上面一路的測試點,一直是 0,下面一路一直是 1A 左右,經(jīng)過主電路排查后,發(fā)現(xiàn)沒有問題,然后對測試點進行排查,發(fā)現(xiàn)測試點的夾子松掉了,使電流都往下去了。將夾子

23、焊好后,電路正常工作。(3) 、在進行程序調(diào)試的時候,一直在使用內(nèi)部的 1M 晶振,所以一直精度上不去,調(diào)節(jié)都是很粗的調(diào)節(jié),電流一直達不到指標。還有液晶刷新很慢,按鍵要按很久才能用。后來查閱了資料,發(fā)現(xiàn)在燒寫程序的時候要勾上熔絲位,如果使用的是 8M 以上的外部晶振的話,那就要把熔絲位全部勾上。這樣才是在使用外部的 16M 晶振。將熔絲位勾上后,調(diào)節(jié)程序后,發(fā)現(xiàn)精度大大的提升了。能夠達到基本的要求。還有在對 PID 參數(shù)設(shè)置的時候,一開始沒有頭緒,隨便調(diào),后來看論壇和同學(xué)談?wù)?,發(fā)現(xiàn)要一個一個參數(shù)的調(diào),在經(jīng)過多次實驗后,將 PID 參數(shù)調(diào)整好了,是指標達到了要求。(二) 、數(shù)據(jù)分析表 4.1 和

24、表 4.2 是在電流 1:1 情況下,比例調(diào)節(jié)和 PI 調(diào)節(jié)的數(shù)據(jù)對比。表 4.1 負載為 8.9, 兩模塊電流按 1:1 分配(比例反饋)I1(A)I2 (A)I總 (A)Uo(V)給定值0.5051.08.0測量值0.5050.5151.0028.24絕對誤差1%3%0.2%3%表 4.2 負載為 8.5, 兩模塊電流按 1:1 分配(PI 反饋)I1(A)I2 (A)I總 (A)Uo(V)給定值0.5051.08.0測量值0.4940.5081.0078.08絕對誤差1.2%1.7%0.7%1%精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)表 4.3 和表 4.4 是在電流 1:2 情況下,

25、比例調(diào)節(jié)和 PI 調(diào)節(jié)的數(shù)據(jù)對比。表 4.3 負載為 7.0,兩模塊電流按 1:2 分配情況(比例反饋)I1(A)I2 (A)I總 (A)Uo(V)給定值0.51.01.58.0測量值0.4620.9301.4977.71絕對誤差7.6%7%0.2%3.6%表 4.4 負載為 5.9,兩模塊電流按 1:2 分配情況(PI 反饋)I1(A)I2 (A)I總 (A)Uo(V)給定值0.51.01.58.0測量值0.5080.9811.5027.60絕對誤差1.6%1.9%0.2%5%對比表 4.1 和表 4.2 可以看出,同樣是 1:1 的電流分配情況下,比例調(diào)節(jié)的誤差在5%以內(nèi),達到了基本的要求

26、,但是在 PI 調(diào)節(jié)下,可以看出誤差精度已經(jīng)達到了 2%的要求。對比表 4.3 和表 4.4 可以看出,同樣是 1:2 的電流分配情況下,比例調(diào)節(jié)的誤差已經(jīng)超出了 5%的要求,而在 PI 調(diào)節(jié)下精度達到了 2%以內(nèi)。對比著兩組數(shù)據(jù),可以看出了在 PI 的調(diào)節(jié)下精度大大的提升,說明了 PID 算法在控制方面的優(yōu)勢,使整個系統(tǒng)更加完善。五、體會與展望通過這次選修課的學(xué)習(xí),學(xué)到了專業(yè)知識方面的一些知識。整個學(xué)習(xí)的過程是很重要的。由于這個學(xué)期在學(xué)習(xí)電力電子這門課,而課題又正好和電力電子相關(guān)知識有關(guān),所以對于這次的課程,通過對整個系統(tǒng)的設(shè)計,測試,調(diào)整。更好的了解了電力電子和開關(guān)電源相關(guān)的知識,也更深入

27、的學(xué)習(xí)到了一些課堂上無法學(xué)習(xí)到的東西。將課堂的理論知識和實踐想結(jié)合,將學(xué)習(xí)到的東西更加印象深刻,不用去死記硬背,能夠靈活運用。對于編寫程序,整體的邏輯性還要加強。流程圖要寫好精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)再寫程序。對于展望,希望能夠在以后的學(xué)習(xí)中把硬件方面學(xué)的更好,能夠把不足給彌補。在程序方面多學(xué)習(xí)一下別人的算法。學(xué)的更好,希望一次比一次有進步。參考文獻1 程漢湘,武小梅電力電子技術(shù)第二版. 科學(xué)出版社2 譚浩強C 程序設(shè)計第三版,華大學(xué)出版社,2008.113 童詩白,華成英.模擬電子技術(shù),第四版北京:高等教育出版社,2006.54 閻石數(shù)字電子技術(shù)基礎(chǔ),第五版.北京:高等教育出

28、版社,2006.55 蔣燕君.自動控制原理.重慶大學(xué)出版社,2008.1附 錄附錄 1整體電路圖附錄 2程序代碼/*main.c*/#include#include#include1602.h#includekey.h#includead.h精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)#includepid.h#define uchar unsigned char#define uint unsigned int#pragma interrupt_handler timer0_ovf_isr:10/*定時器 0 中斷*/void timer0_init(void) TCCR0 = 0 x00;

29、/停止定時器 TCNT0 = 0 x64;/初始值,每 10 毫秒進一次中斷 TIMSK = 0 x01; /允許中斷 SREG |= BIT(7); /允許全局中斷/*外中斷 0 函數(shù)*/void timer0_ovf_isr(void) TCNT0 = 0 x64; pid1_calculating(); /PID 調(diào)整 OCR1A pid2_calculating(); /PID 調(diào)整 OCR1B com_vol(); /電壓反饋/*PWM 設(shè)置輸出*/void KPWM(void) PORTD|=BIT(4)|BIT(5); DDRD|=BIT(4)|BIT(5); TCCR1A =

30、0 xA2; /兩路 PWM,匹配清零 TCCR1B = 0 x11; /相位修正 PWM 模式,位數(shù)可調(diào),預(yù)分頻 1 ICR1 = 800; /此數(shù)為 16 位 PWM,16M 晶振,clk/(2*N*TOP),頻率為 10K OCR1A = 255; /占空比 31.8% OCR1B = 255; /占空比 31.8%void main()精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) KPWM(); /PWM 函數(shù) LCD_init(); /1602 初始化函數(shù) key_init(); /按鍵初始化函數(shù) timer0_init(); /定時器 0 初始化 adcport_init(); /A

31、D 端口初始化 while(1) Display_PWM(); /顯示 PWM 函數(shù)press(); /按鍵函數(shù)display_AD0(); /顯示 AD0 的模擬量和數(shù)字量 /*1602.h*/#ifndef _1602_H_#define _1602_H_#define uchar unsigned char#define uint unsigned intvoid delay(uint MS);void write_com(uint com);void write_dat(uint dat);void LCD_init();void Display_PWM();void calculat

32、e_AD0();#endif/*1602.c*/#include#include#include1602.h#define uchar unsigned char#define uint unsigned int/*顯示固定數(shù)組 PWM:*/const uchar tab=PWM:;/*延時函數(shù)*/void delay(uint MS) /約為 1MS 的延時函數(shù) uint i,j;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) for(i=0;iMS;i+) for(j=0;j2282;j+); /2282 是在 16MHz 晶振下為 MS 毫秒/*1602 寫地址*/void write_co

33、m(uint com) PORTA&=BIT(5); /RS=0 PORTA&=BIT(6); /RW=0 PORTB=com; /送地址 delay(5); PORTA|=BIT(7); /EN=1 delay(5); PORTA&=BIT(7); /EN=0/*1602 寫數(shù)據(jù)*/void write_dat(uint dat) PORTA|=BIT(5); /RS=1 PORTA&=BIT(6); /RW=0 PORTB=dat; /送數(shù)據(jù) delay(5); PORTA|=BIT(7); /EN=1 delay(5); PORTA&=BIT(7)

34、; /EN=0 /*1602 初始化*/void LCD_init() DDRA=0XFF; DDRB=0 xFF; delay(5); write_com(0X38); /設(shè) 8 位數(shù)據(jù)線,雙行,5*7 點陣 delay(5); write_com(0X0c); /開顯示,不顯示光標 delay(5); write_com(0X06); /輸入地址自加,屏幕不移動 delay(5); write_com(0X01); /清屏 delay(5);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)/*顯示 PWM 占空比*/void Display_PWM() uchar i; uint shi,ge,

35、xiaoshu,beichu; uint shi1,ge1,xiaoshu1; shi=OCR1A/100; /將 OCR1A 百位拆分 ge=OCR1A/10%10; /將 OCR1A 十位拆分 xiaoshu=OCR1A%10; /將 OCR1A 個位拆分 beichu=ICR1/10; /將 ICR1 變?yōu)閮晌粩?shù) shi1=OCR1B/100; /將 OCR1B 百位拆分 ge1=OCR1B/10%10; /將 OCR1B 十位拆分 xiaoshu1=OCR1B%10; /將 OCR1B 個位拆分 write_com(0 x80); for(i=0;tabi!=0;i+) write_d

36、at(tabi); write_com(0 x84); write_dat(shi*100+ge*10+xiaoshu)*100/beichu/100+0 x30); /顯示十位 write_dat(shi*100+ge*10+xiaoshu)*100/beichu/10%10+0 x30); /顯示個位 write_dat(.); write_dat(shi*100+ge*10+xiaoshu)*100/beichu%10+0 x30); /顯示小數(shù)點 write_dat(%); write_com(0 x8a); write_dat(shi1*100+ge1*10+xiaoshu1)*10

37、0/beichu/100+0 x30); /顯示十位 write_dat(shi1*100+ge1*10+xiaoshu1)*100/beichu/10%10+0 x30); /顯示個位 write_dat(.); write_dat(shi1*100+ge1*10+xiaoshu1)*100/beichu%10+0 x30); /顯示小數(shù)點 write_dat(%); /*AD.H*/#ifndef _AD_H_#define _AD_H_void adcport_init();void ADC0INIT(void);void ADC1INIT(void);void ADC2INIT(voi

38、d);int get_ADCdata(void);float get_ave(int a8);float get_ADC0data(void);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)float get_ADC1data(void);float get_ADC2data(void);void display_AD0();#endif/*AD.C*/#include#include#include1602.h#define uchar unsigned char#define uint unsigned int /參考電壓#define REF 5.12 /*ADC 端口初始化*/void a

39、dcport_init() DDRA&=BIT(0); PORTA&=BIT(0); DDRA&=BIT(1); PORTA&=BIT(1); DDRA&=BIT(2); PORTA&=BIT(2);/*ADC0 初始化*/void ADC0INIT(void) ADMUX=0 x40; /AREF 基準壓,結(jié)果右對齊,通道為 ADC0 ADCSRA=0 x87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟動首次轉(zhuǎn)換 while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)換結(jié)束 ADCSRA|=(

40、1ADIF); /清除 ADIF 位/*ADC1 初始化*/void ADC1INIT(void) ADMUX=0 x41; /AREF 基準壓,結(jié)果右對齊,通道為 ADC1 ADCSRA=0 x87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟動首次轉(zhuǎn)換精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)結(jié)束循環(huán) ADCSRA|=(1ADIF); /清除 ADIF 位/*ADC2 初始化*/void ADC2INIT(void) ADMUX=0 x42; /AREF 基準壓,結(jié)果右對齊,通道為 A

41、DC2 ADCSRA=0 x87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟動首次轉(zhuǎn)換 while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)結(jié)束循環(huán) ADCSRA|=(1ADIF); /清除 ADIF 位/*獲取 ADC 的采樣值*/int get_ADCdata(void) int a,b; a=b=0; b=ADCL; /讀高位后數(shù)據(jù)更新 a=ADCH; /再讀取 ADCH 數(shù)據(jù) a=(a8); /右對齊,左移八位 a=(a|b); /組成 10 位二進制數(shù)據(jù) return a;/*去頭去尾,獲取平均值*/float get_ave(i

42、nt a8)float v;unsigned char i;float sum=0;for(i=1;i7;i+) /從第 2 次到第 6 次數(shù)據(jù)sum=sum+ai;v=sum/6;return v;/*獲取 ADC0 采樣 8 次的平均值*/float get_ADC0data(void)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)unsigned char i=0;float v;int buf8=0;for(i=0;i8;i+)ADC0INIT(); /AD 初始化一次bufi=get_ADCdata(); /將數(shù)據(jù)放入數(shù)組v=get_ave(buf);return v;/*獲取 ADC1

43、 采樣 8 次的平均值*/float get_ADC1data(void)unsigned char i=0;float v;int buf8=0;for(i=0;i8;i+)ADC1INIT(); /AD 初始化一次bufi=get_ADCdata(); /將數(shù)據(jù)放入數(shù)組v=get_ave(buf);return v;/*獲取 ADC2 采樣 8 次的平均值*/float get_ADC2data(void)unsigned char i=0;float v;int buf8=0;for(i=0;i8;i+)ADC2INIT(); /AD 初始化一次 bufi=get_ADCdata();

44、/將數(shù)據(jù)放入數(shù)組v=get_ave(buf);return v;/*將數(shù)據(jù)拆分送顯示*/void display_AD0()精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) int a,b; uchar s6,k6; uchar i,j,m; a=get_ADC0data()*REF/1024*1000; /將數(shù)據(jù)轉(zhuǎn)化為十進制 b=get_ADC0data(); /數(shù)字量 s0=a/1000+0; s1=.; s2=a%1000/100+0; s3=a%100/10+0; s4=a%10+0; s5=V; k0=D; k1=:; k2=b/1000+0; k3=b%1000/100+0; k4=b%

45、100/10+0; k5=b%10+0; write_com(0 xC0); for(i=0;i6;i+) write_dat(si); write_com(0 xC7); for(j=0;j=360) /實際電壓值大于 8.4V OCR1A=265; /鉗位到 8.4VOCR1B=265; 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) if(get_ADC2data()=310) /實際電壓值小于 7.6V OCR1A=240; /鉗位到 7.6VOCR1B=240; /*KEY.H*/#ifndef _KEY_H_#define _KEY_H_void key_init();void pre

46、ss();uchar key();#endif/*KEY.C*/#include#include#include1602.h#define uchar unsigned char#define uint unsigned intuint count_pwm=255;uint count_pwm1=255;/*按鍵初始化函數(shù)*/void key_init() DDRD&=BIT(0); /獨立鍵盤接口置高電平 PORTD|=BIT(0); DDRD&=BIT(1); /獨立鍵盤接口置高電平 PORTD|=BIT(1); DDRD&=BIT(2); /獨立鍵盤接口置高電平

47、PORTD|=BIT(2); DDRD&=BIT(3); /獨立鍵盤接口置高電平 PORTD|=BIT(3); DDRD&=BIT(7); /獨立鍵盤接口置高電平 PORTD|=BIT(7); /*按鍵函數(shù)*/精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)void press() uchar m; m=PIND; m&=0 x0f; if(m=0X0e) count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm+=1; count_pwm=OCR1B; /讀取當(dāng)前 PWM 值 count_pwm+=1; delay(1); /按鍵消抖 while(PIN

48、D=0 x0e); OCR1A=count_pwm; /OCR1A 賦新值 OCR1B=count_pwm; /OCR1B 賦新值 if(OCR1A=265&OCR1B=265) OCR1A=265;OCR1B=265; if(m=0X0d) count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm-=1; count_pwm=OCR1B; /讀取當(dāng)前 PWM 值 count_pwm-=1; delay(1); /按鍵消抖 while(PIND=0 x0d); OCR1A=count_pwm; /OCR1A 賦新值 OCR1B=count_pwm; /OCR1B 賦新值 if(OCR1A=240&OCR1B=261|OCR1B=251) OCR1A=261;OCR1B=251; if(m=0X07) count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm-=1; count_pwm

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論