開(kāi)關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(jì)_第1頁(yè)
開(kāi)關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(jì)_第2頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、以 IRF9530 芯片為開(kāi)關(guān),配以 BUCK 的外圍電路實(shí)現(xiàn) 24V-8V 的降壓與穩(wěn)壓。采用 LM328 比較電路實(shí)現(xiàn)電流和電壓的檢測(cè),控制由 DC/DC 模塊構(gòu)成的并聯(lián)供電系統(tǒng)均流與分流工作模式,通過(guò)比較器電路實(shí)現(xiàn)過(guò)流保護(hù)。同時(shí)進(jìn)展 LCD1602 液晶同步顯示、獨(dú)立鍵盤(pán)輸入控制。輸入的值經(jīng)過(guò)單片機(jī)處理程序來(lái)控制輸出電壓,且輸出電壓和電流可實(shí)時(shí)顯示。關(guān)鍵詞關(guān)鍵詞:DC/DC 模塊,BUCK,電流分流-. z目 錄一、緒論 1二、設(shè)計(jì)的目標(biāo)與根本要求 1一 、設(shè)計(jì)目標(biāo) 1二 、根本要求 2三、系統(tǒng)設(shè)計(jì) 2一 、系統(tǒng)框圖 2二 、硬件設(shè)計(jì)與方案選擇 31、單片機(jī)選擇 32、主電路選擇 33、

3、驅(qū)動(dòng)電路圖 44、輔助電源 55、電流、電壓采樣 66、顯示、按鍵 7(三)、軟件設(shè)計(jì) 71、主程序 72、按鍵程序 83、液晶程序 94、采樣程序 105、中斷、PID 流程圖 11四、調(diào)試過(guò)程 12一 、遇到的問(wèn)題及解決方法 12二 、數(shù)據(jù)分析 13五、體會(huì)與展望 14參考文獻(xiàn) 15附錄 15附錄 1整體電路圖 15附錄 2程序代碼 16-. z一、緒論分布式直流開(kāi)關(guān)電源系統(tǒng)取代傳統(tǒng)的集中式直流開(kāi)關(guān)電源系統(tǒng)已成為大功率電源系統(tǒng)的開(kāi)展方向:1單臺(tái)大功率電源容易受技術(shù)、本錢(qián)的限制;2單臺(tái)直流開(kāi)關(guān)電源故障會(huì)導(dǎo)致整個(gè)系統(tǒng)的故障,而分布式電源系統(tǒng)由假設(shè)干電源模塊并聯(lián)組成,*個(gè)電源模塊故障不會(huì)導(dǎo)致整個(gè)

4、電源故障;3可根據(jù)實(shí)際負(fù)荷的變化,自動(dòng)確定需要投入運(yùn)行的模塊數(shù)量或者解列退出的模塊數(shù)量,對(duì)變負(fù)荷運(yùn)行很有意義;4由于多個(gè)電源模塊并聯(lián)運(yùn)行,使每個(gè)電源模塊承受的電應(yīng)力較小,具有較高的運(yùn)行效率,且具有較好的動(dòng)態(tài)和靜態(tài)特性。分布式電源系統(tǒng)需要解決的主要問(wèn)題是實(shí)現(xiàn)多個(gè)并聯(lián)運(yùn)行的模塊輸出一樣的功率。隨著通信電源技術(shù)的高速開(kāi)展,電力電子設(shè)備與人們的工作、生活的關(guān)系日益密切,而通信電子設(shè)備都離不開(kāi)可靠的電源。進(jìn)入 20 世紀(jì) 80 年代,計(jì)算機(jī)電源全面實(shí)現(xiàn)了開(kāi)關(guān)電源化,率先完成計(jì)算機(jī)的電源換代;進(jìn)入 20 世紀(jì) 90 年代,開(kāi)關(guān)電源相繼進(jìn)入各種電子、電氣設(shè)備領(lǐng)域,程控交換機(jī)、通信、電力檢測(cè)設(shè)備電源、控制設(shè)備

5、電源等都已廣泛使用了開(kāi)關(guān)電源,更促進(jìn)了開(kāi)關(guān)電源技術(shù)的迅速開(kāi)展。二、設(shè)計(jì)的目標(biāo)與根本要求一 、設(shè)計(jì)目標(biāo)設(shè)計(jì)并制作一個(gè)由兩個(gè)額定輸出功率均為 16W 的 8V DC/DC 模塊構(gòu)成的并聯(lián)供電系統(tǒng)見(jiàn)圖 2.1圖 2.1 兩路 buck 電路并聯(lián)供電二 、根本要求1調(diào)整負(fù)載電阻至額定輸出功率工作狀態(tài),供電系統(tǒng)的直流輸出電壓UO=8.00.4V。在額定輸出功率工作狀態(tài)下,供電系統(tǒng)的效率不低于 60% 。2調(diào)整負(fù)載電阻,保持輸出電壓 UO=8.00.4V,使兩個(gè)模塊輸出電流之和 IO =1.0A 且按 I1:I2=1:1 模式自動(dòng)分配電流,調(diào)整負(fù)載電阻,保持輸出電壓 UO=8.00.4V,使兩個(gè)模塊輸出電

6、流之和 IO =1.5A 且按 I1:I2= 1:2 模式自動(dòng)分配電流,每個(gè)模塊輸出電流的相對(duì)誤差絕對(duì)值不大于 5%。調(diào)整負(fù)載電阻,保持輸出電壓 UO=8.00.4V,使兩個(gè)模塊輸出電流之和 IO =4.0A 且按 I1:I2=1:1 模式自動(dòng)分配電-. z流,每個(gè)模塊的輸出電流的相對(duì)誤差的絕對(duì)值不大于 2%。3調(diào)整負(fù)載電阻,保持輸出電壓 UO=8.00.4V,使負(fù)載電流 IO 在 1.53.5A 之間變化時(shí),兩個(gè)模塊的輸出電流可在0.52.0圍按指定的比例自動(dòng)分配,每個(gè)模塊的輸出電流相對(duì)誤差的絕對(duì)值不大于 2%。 4具有負(fù)載短路保護(hù)及自動(dòng)恢復(fù)功能,保護(hù)閾值電流為 4.5A調(diào)試時(shí)允許有0.2A

7、 的偏差 。在額定輸出功率工作狀態(tài)下,進(jìn)一步提高供電系統(tǒng)效率。三、系統(tǒng)設(shè)計(jì)一 、系統(tǒng)框圖圖 3.1 系統(tǒng)框圖系統(tǒng)說(shuō)明:以單片機(jī)為核心處理元件,DC-DC 變換器為主電路。按鍵、顯示便于人機(jī)交互。驅(qū)動(dòng)電路將單片機(jī)和 DC-DC 變換器隔離,輔助電源給單片機(jī)和采樣電路供電。單片機(jī)將電壓電流通過(guò)采樣電路,運(yùn)放采樣回來(lái)在部進(jìn)展 A/D 處理,然后將數(shù)據(jù)輸出液晶顯示。在部進(jìn)展算法調(diào)整。使整個(gè)系統(tǒng)穩(wěn)定,并到達(dá)根本要求。整個(gè)系統(tǒng)設(shè)計(jì)如上圖 3.1 所示。二 、硬件設(shè)計(jì)與方案選擇1、單片機(jī)選擇方案一:使用 89C51 單片機(jī)指令簡(jiǎn)單,易學(xué)易懂,外圍電路簡(jiǎn)單,硬件設(shè)計(jì)方便,IO 口操作簡(jiǎn)單,無(wú)方向存放器,資源豐

8、富, ,價(jià)格廉價(jià)、容易購(gòu)置,資料豐富容易查到,程序燒寫(xiě)簡(jiǎn)單,但要外接 A/D、D/A 芯片,來(lái)實(shí)現(xiàn)對(duì)整個(gè)供電系統(tǒng)的控制,需要占用較多的 I/O 接口,會(huì)使普通單片機(jī)承載過(guò)大的數(shù)據(jù)處理任務(wù),功耗較大。方案二:使用 ATmega16,ATmega16外設(shè)特點(diǎn):兩個(gè)具有獨(dú)立的預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器,兩個(gè)具有預(yù)分頻器、比較功能和撲捉功能的16位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立預(yù)分頻器的實(shí)時(shí)時(shí)鐘計(jì)數(shù)器,兩路8位 PWM,4路分辨率可編程(216位)的 PWM,輸出比較調(diào)制器,8路10位 ADC,面向字節(jié)的兩線接口 I2C 總線,兩個(gè)可編程的串行 USART,可工作于主機(jī)/從機(jī)模式的 SPI 串

9、行接口,具有獨(dú)立片振蕩器的的可編程看門(mén)狗定時(shí)器,片模擬比較器。特殊的處理器特點(diǎn):上電復(fù)位以及可編程的掉電檢測(cè),片經(jīng)過(guò)標(biāo)定的 RC 振蕩器,片/片外中斷源,6種睡眠模式,可以通過(guò)軟件進(jìn)展選擇的時(shí)鐘頻率,通過(guò)熔絲位可以選擇兼容模式,全局上拉制止功能。-. z結(jié)合前兩個(gè)方案優(yōu)點(diǎn),經(jīng)過(guò)方案比較與論證,最終確定使用方案二,因?yàn)锳Tmega16 速度快 自帶 PWM ,自帶 AD,而用 89C51 會(huì)使電路更加復(fù)雜與不穩(wěn)定所以,用 ATmega16 單片機(jī)和其它控制器電路同實(shí)現(xiàn)整個(gè)系統(tǒng)的控制。2、主電路選擇方案一:有一種型號(hào)為 LM2956 的降壓開(kāi)關(guān)電壓調(diào)節(jié)器,能夠輸出 3A 的驅(qū)動(dòng)電流,同時(shí)具有很好的

10、線性和負(fù)載調(diào)節(jié)特性,該器件部集成頻率補(bǔ)償和固定頻率發(fā)生器,極簡(jiǎn)化了開(kāi)關(guān)電源電路的設(shè)計(jì)。方案二:采用 SG3525 自帶脈寬調(diào)制電源芯片來(lái)設(shè)計(jì) DC-DC 降壓轉(zhuǎn)換電路,SG3525 簡(jiǎn)單可靠及使用方便靈活,輸出驅(qū)動(dòng)為推拉輸出形式,增加了驅(qū)動(dòng)能力;部含有欠壓鎖定電路,死區(qū)時(shí)間可調(diào)、軟啟動(dòng)控制電路、PWM 鎖存器,有過(guò)流保護(hù)功能,頻率可調(diào),同時(shí)能限制最大占空比。由此設(shè)計(jì)而成的電路易于實(shí)現(xiàn)脈寬調(diào)制,然而在真正使用時(shí)會(huì)發(fā)現(xiàn),為得到要求的電壓輸出值,開(kāi)關(guān)管 S 的參數(shù)選取相當(dāng)不易。方案三:將經(jīng)過(guò)隔離變壓器,整流濾波后得到的 24VDC 通過(guò) BUCK 降壓電路進(jìn)展DC-DC 轉(zhuǎn)換,由 ATmega16

11、單片機(jī)產(chǎn)生 PWM 控制其占空比,從而得到要求的直流電壓。此方案僅用一塊控制芯片不但可以實(shí)現(xiàn)對(duì) BUCK 電路的控制,而且可以結(jié)合 A/D 和D/A 對(duì)輸出電壓進(jìn)展調(diào)整與顯示。由于 ATmega16 單片機(jī)自帶能夠產(chǎn)生脈寬調(diào)制所需的 PWM 信號(hào)的端口,在實(shí)際制作中用起來(lái)比較方便。ATmega16 單片機(jī)自帶 8 路 10位 A/D 轉(zhuǎn)換。結(jié)合前兩個(gè)方案優(yōu)點(diǎn),經(jīng)過(guò)方案比較與論證,最終確定使用方案三如圖 3.2,因?yàn)?ATmega16 單片機(jī),自帶 PWM 模塊,可以輸出 PWM 方波控制電路,節(jié)約芯片本錢(qián),也可實(shí)現(xiàn) AD 轉(zhuǎn)換。用單片機(jī)和其它控制器電路同實(shí)現(xiàn)整個(gè)系統(tǒng)的控制。-. z3.2 主電

12、路圖3、驅(qū)動(dòng)電路圖方案一:?jiǎn)纹瑱C(jī)輸出 PWM,采用 IR2101 驅(qū)動(dòng) DC-DC 電路中的 IRF9530,控制輸出電壓。方案二:先采用光耦 TLP250 和單片機(jī)進(jìn)展隔離,有效保護(hù)單片機(jī),之后用IRF3205 去驅(qū)動(dòng) MOS 管 IRF9530,控制輸出電壓。結(jié)合兩種方案的比照選擇方案二如圖 3.3,因?yàn)榉桨付胁捎霉怦?,將單片機(jī)與主電路隔離,能夠有效保護(hù)單片機(jī),而且也能使正常使電路工作。圖 3.3 驅(qū)動(dòng)電路圖4、輔助電源方案一:采用集成的三端穩(wěn)壓集成芯片,7815 和 7805 分別給光耦和運(yùn)放,還有單片機(jī)供電,7815 含過(guò)流,過(guò)熱,過(guò)載保護(hù)電路。方案二:采用 LM2575 開(kāi)關(guān)穩(wěn)壓集

13、成芯片,它部集成了一個(gè)固定的振蕩器,是一種高效的穩(wěn)壓芯片,大多數(shù)情況下無(wú)需加散熱片。部有完善的保護(hù)電路,包括電流限制及熱關(guān)斷電路等。它可以根據(jù)用戶(hù)要求選擇輸出電壓,可輸出3.3V,5V,12V,15V。然后再經(jīng)過(guò) 7805 產(chǎn)生 5V 電壓。結(jié)合兩種方案的比照選擇方案二如圖 3.4,因?yàn)榉桨付械?LM2575 的是可調(diào)節(jié)輸出電壓的芯片,方便調(diào)控,而且它部有電壓基準(zhǔn)比較,使輸出的電壓能夠準(zhǔn)確并穩(wěn)定,比 7815 要準(zhǔn)確,且性能好。-. z圖 3.4 輔助電源電路圖5、電流、電壓采樣采樣模塊是輸出電壓經(jīng)過(guò)采樣回來(lái),形成一個(gè)負(fù)反響.經(jīng)過(guò)單片機(jī)部 A/D 進(jìn)展處理,然后使輸出更加穩(wěn)定和準(zhǔn)確。電壓采樣

14、模塊直接采用 LM358 運(yùn)放如圖 3.5,將輸出的電壓縮小一定倍數(shù)后,然后送給單片機(jī)處理判斷。電流采樣是經(jīng)過(guò) 0.1 歐/4 瓦的采樣電阻后,縮小一定倍數(shù),然后經(jīng)過(guò)一個(gè)差分電路,將電壓值送入單片機(jī)進(jìn)展處理如圖 3.6。圖 3.5 電壓采樣電路圖圖 3.6 電流采樣電路圖6、顯示、按鍵顯示局部采用字符型液晶 1602,能夠同時(shí)顯示 16*02 即 32 個(gè)字符。16 個(gè)引腳,3 個(gè)控制引腳,8 位雙向數(shù)據(jù)端引腳。具有微功耗、體積小、顯示容豐富、超薄輕巧的特點(diǎn)。用戶(hù)可以對(duì) EN、RW、RS 的數(shù)據(jù)進(jìn)展編程,然后通過(guò) D0D7 輸出顯示數(shù)據(jù)。其引腳功能圖見(jiàn)下表 6.1表 6.1 1602 引腳功能

15、圖按鍵局部采用四個(gè)獨(dú)立的按鍵,分別控制占空比的加和減,對(duì)輸出的電壓和電流進(jìn)展控制,使輸出能夠到達(dá)期望的要求,其按鍵功能表如表 6.2。表 6.2 按鍵功能表鍵名S1S2S3S4功能PWM1 加 0.2%PWM1 減 0.2%PWM2 加 0.2%PWM2 減 0.2%CPU 端口號(hào)PD0PD1PD2PD3(三)、軟件設(shè)計(jì)1、主程序如圖 3.7 為主程序流程圖,一開(kāi)場(chǎng)給系統(tǒng)各局部初始化,包括按鍵初始化,液晶初始化,PWM 初始化,AD 采樣初始化,中斷初始化,然后在進(jìn)入大循環(huán),在循環(huán)進(jìn)展數(shù)據(jù)的顯示,包括當(dāng)前輸入的占空比為多少,當(dāng)前采樣回來(lái)的數(shù)字量和實(shí)際的電壓值為多少。還有按鍵程序,和 AD 采樣

16、。同時(shí)每 10 毫秒進(jìn)入定時(shí)器 0 中斷進(jìn)展調(diào)整。-. z圖 3.7 主程序流程圖2、按鍵程序按鍵程序流程圖如圖 3.8 所示。按鍵采用四個(gè)獨(dú)立的按鍵,分別控制 PWM1,PWM2 的加和減,當(dāng)有鍵按下時(shí),掃描按鍵,然后進(jìn)入判斷。判斷當(dāng)前存放器對(duì)應(yīng)的值是否大于了設(shè)定的上限值,如果沒(méi)有則數(shù)值加 1,如果到達(dá)了則鉗位在最大的上限值。然后返回?cái)?shù)據(jù)。通過(guò)按鍵程序,可以控制占空比的調(diào)節(jié)。按鍵開(kāi)始PD0是否按下?OCR1A+1OCR1B+1OCR1A265&OCR1B265?OCR1A=265OCR1B=265OCR1A-1OCR1B-1OCR1A240&OCR1B261|OCR1B251

17、?OCR1A=261OCR1B=251PD3是否按下?OCR1A-1OCR1B+1OCR1A260?OCR1A=250OCR1B=260結(jié)束YNYNYNNYYYYYNNNN-. z圖 3.8 按鍵程序流程圖3、液晶程序圖 3.8 為 1602 液晶屏的程序框圖,1602 由 3 個(gè)控制引腳,8 位雙向數(shù)據(jù)端引腳控制顯示的容和位置。因此,這局部程序主要有初始化函數(shù),寫(xiě)命令函數(shù)和寫(xiě)數(shù)據(jù)函數(shù)組成。初始化函數(shù)主要對(duì)液晶屏的顯示模式進(jìn)展設(shè)定,寫(xiě)命令函數(shù)主要是對(duì)顯示的位置和顯示的方式進(jìn)展設(shè)置,寫(xiě)數(shù)據(jù)函數(shù)是決定顯示的容。開(kāi)始寫(xiě)命令設(shè)置為寫(xiě)命令方式寫(xiě)入命令把命令送入PB口延時(shí)5毫秒EN置高,把命令寫(xiě)入寄存器延

18、時(shí)5毫秒EN置低結(jié)束寫(xiě)數(shù)據(jù)開(kāi)始設(shè)置為寫(xiě)數(shù)據(jù)方式寫(xiě)入數(shù)據(jù)把數(shù)據(jù)送入PB口延時(shí)5毫秒EN置高,把數(shù)據(jù)寫(xiě)入寄存器延時(shí)5毫秒EN置低結(jié)束開(kāi)始初始化設(shè)置為雙行,5*7點(diǎn)陣延時(shí)5毫秒開(kāi)顯示,不顯示光標(biāo)延時(shí)5毫秒輸入地址自加,屏幕不移動(dòng)延時(shí)5毫秒清屏延時(shí)5毫秒結(jié)束 圖 3.8 1602 程序流程圖4、采樣程序-. z如圖 3.9 是采樣程序流程圖。一開(kāi)場(chǎng)配置 AD 存放器,然后啟動(dòng) AD 存放器,然后將采樣回來(lái)的數(shù)據(jù)組合成 10 位的數(shù)據(jù),然后采樣 8 次,去頭去尾后,對(duì)其求平均值。將數(shù)據(jù)處理后,給液晶顯示。然后進(jìn)展電壓判斷,是否小于要求的最小值,如果是的話進(jìn)展鉗位,然后是否小于設(shè)定的最大值,是的話,就是在

19、要求圍,那就進(jìn)展 PID算法的調(diào)整,進(jìn)展電流的分流。如果大于最大值的話,就進(jìn)展鉗位。圖 3.9 AD 采樣程序流程圖5、中斷、PID 流程圖如圖 3.10 和 3.11 分別是中斷流程圖和 PID 算法程序流程圖。定時(shí)器 0 中斷定時(shí) 10毫秒溢出中斷,在中斷中進(jìn)展 PID 調(diào)整,和電壓反響調(diào)整。PID 算法是根據(jù)公式,對(duì)采樣電阻采樣回來(lái)的電壓進(jìn)展反響計(jì)算。根據(jù)對(duì) P,I,D 三個(gè)參數(shù)的設(shè)置,然后結(jié)合算法公式,對(duì)輸出的數(shù)據(jù)進(jìn)展不斷的調(diào)整,到達(dá)要求的值。圖 3.10 定時(shí)器 0 中斷 圖 3.11 PID 算法流程圖四、調(diào)試過(guò)程一 、遇到的問(wèn)題及解決方法1 、在對(duì)電路板進(jìn)展設(shè)計(jì),做板子的時(shí)候,經(jīng)

20、過(guò)封塑機(jī)出來(lái)后的板子,然后用腐蝕劑進(jìn)展腐蝕,得到了一塊單面板,當(dāng)我們把器件焊上去的時(shí)候發(fā)現(xiàn),跟我們預(yù)期的反了一下,所有的器件都反了一下,這樣子,整個(gè)電路就不能用了。經(jīng)過(guò)我們的討論和思考,我們認(rèn)為是我們?cè)诖蛴〕鲇陀〖埖臅r(shí)候沒(méi)有將它鏡像,使整塊板子就是按照反面的印了出來(lái),經(jīng)過(guò)我們鏡像后,發(fā)現(xiàn)和我們所需要的板子是一樣的了,所有的元器件都能按照原來(lái)的位置進(jìn)展裝配。而且板子也能正常工作。2 、在整個(gè)電路都做出來(lái)以后,進(jìn)展模塊調(diào)試的時(shí)候發(fā)現(xiàn)方波的波形并不是很好,有一點(diǎn)的曲線,經(jīng)過(guò)教師上課的講解指導(dǎo)了是,柵極旁邊的電阻阻值太大,因?yàn)橛蟹植茧娙?,所有?huì)充放電,使波形不是很理想。經(jīng)過(guò)計(jì)算后選取了一個(gè)適宜的阻值,

21、使波形能夠到達(dá)電路的要求。還有在整體調(diào)試的時(shí)候,發(fā)現(xiàn)上面一路的測(cè)試點(diǎn),一直是 0,下面一路一直是 1A 左右,經(jīng)過(guò)主電路排查后,發(fā)現(xiàn)沒(méi)有問(wèn)題,然后對(duì)測(cè)試點(diǎn)進(jìn)展排查,發(fā)現(xiàn)測(cè)試點(diǎn)的夾子松掉了,使電流都往下去了。將夾子焊好后,電路正常工作。3 、在進(jìn)展程序調(diào)試的時(shí)候,一直在使用部的 1M 晶振,所以一直精度上不去,調(diào)-. z節(jié)都是很粗的調(diào)節(jié),電流一直達(dá)不到指標(biāo)。還有液晶刷新很慢,按鍵要按很久才能用。后來(lái)查閱了資料,發(fā)現(xiàn)在燒寫(xiě)程序的時(shí)候要勾上熔絲位,如果使用的是 8M 以上的外部晶振的話,那就要把熔絲位全部勾上。這樣才是在使用外部的 16M 晶振。將熔絲位勾上后,調(diào)節(jié)程序后,發(fā)現(xiàn)精度大大的提升了。能夠

22、到達(dá)根本的要求。還有在對(duì) PID 參數(shù)設(shè)置的時(shí)候,一開(kāi)場(chǎng)沒(méi)有頭緒,隨便調(diào),后來(lái)看論壇和同學(xué)談?wù)?,發(fā)現(xiàn)要一個(gè)一個(gè)參數(shù)的調(diào),在經(jīng)過(guò)屢次實(shí)驗(yàn)后,將 PID 參數(shù)調(diào)整好了,是指標(biāo)到達(dá)了要求。二 、數(shù)據(jù)分析表 4.1 和表 4.2 是在電流 1:1 情況下,比例調(diào)節(jié)和 PI 調(diào)節(jié)的數(shù)據(jù)比照。表 4.1 負(fù)載為 8.9, 兩模塊電流按 1:1 分配比例反響I1AI2 AI總 AUoV給定值0.5051.08.0測(cè)量值0.5050.5151.0028.24絕對(duì)誤差1%3%0.2%3%表 4.2 負(fù)載為 8.5, 兩模塊電流按 1:1 分配PI 反響I1AI2 AI總 AUoV給定值0.5051.08.0測(cè)量

23、值0.4940.5081.0078.08絕對(duì)誤差1.2%1.7%0.7%1%表 4.3 和表 4.4 是在電流 1:2 情況下,比例調(diào)節(jié)和 PI 調(diào)節(jié)的數(shù)據(jù)比照。表 4.3 負(fù)載為 7.0,兩模塊電流按 1:2 分配情況比例反響I1AI2 AI總 AUoV給定值0.51.01.58.0測(cè)量值0.4620.9301.4977.71絕對(duì)誤差7.6%7%0.2%3.6%表 4.4 負(fù)載為 5.9,兩模塊電流按 1:2 分配情況PI 反響I1AI2 AI總 AUoV給定值0.51.01.58.0-. z測(cè)量值0.5080.9811.5027.60絕對(duì)誤差1.6%1.9%0.2%5%比照表 4.1 和表

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

25、這次的課程,通過(guò)對(duì)整個(gè)系統(tǒng)的設(shè)計(jì),測(cè)試,調(diào)整。更好的了解了電力電子和開(kāi)關(guān)電源相關(guān)的知識(shí),也更深入的學(xué)習(xí)到了一些課堂上無(wú)法學(xué)習(xí)到的東西。將課堂的理論知識(shí)和實(shí)踐想結(jié)合,將學(xué)習(xí)到的東西更加印象深刻,不用去死記硬背,能夠靈活運(yùn)用。對(duì)于編寫(xiě)程序,整體的邏輯性還要加強(qiáng)。流程圖要寫(xiě)好再寫(xiě)程序。對(duì)于展望,希望能夠在以后的學(xué)習(xí)中把硬件方面學(xué)的更好,能夠把缺乏給彌補(bǔ)。在程序方面多學(xué)習(xí)一下別人的算法。學(xué)的更好,希望一次比一次有進(jìn)步。參考文獻(xiàn)1 程漢湘,武小梅電力電子技術(shù)第二版. 科學(xué)2 譚浩強(qiáng)C 程序設(shè)計(jì)第三版,:清華大學(xué),2021.113 童詩(shī)白,華成英.模擬電子技術(shù),第四版:高等教育,2006.54 閻石數(shù)字電

26、子技術(shù)根底,第五版.:高等教育,2006.55 燕君.自動(dòng)控制原理.大學(xué),2021.1附 錄附錄 1整體電路圖附錄 2程序代碼-. z/*main.c*/*include*include*include1602.h*includekey.h*includead.h*includepid.h*define uchar unsigned char*define uint unsigned int*pragma interrupt_handler timer0_ovf_isr:10/*定時(shí)器 0 中斷*/void timer0_init(void) TCCR0 = 0*00; /停頓定時(shí)器 TT0

27、= 0*64;/初始值,每 10 毫秒進(jìn)一次中斷 TIMSK = 0*01; /允許中斷 SREG |= BIT(7); /允許全局中斷/*外中斷 0 函數(shù)*/void timer0_ovf_isr(void) TT0 = 0*64; pid1_calculating(); /PID 調(diào)整 OCR1A pid2_calculating(); /PID 調(diào)整 OCR1B _vol(); /電壓反響/*PWM 設(shè)置輸出*/void KPWM(void) PORTD|=BIT(4)|BIT(5); DDRD|=BIT(4)|BIT(5); TCCR1A = 0*A2; /兩路 PWM,匹配清零 TC

28、CR1B = 0*11; /相位修正 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() KPWM(); /PWM 函數(shù) LCD_init(); /1602 初始化函數(shù) key_init(); /按鍵初始化函數(shù) timer0_init(); /定時(shí)器 0 初始化 adcport_init(); /AD 端口初始化-. z while(1) Display_PWM(); /顯示 PWM

29、函數(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_(uint );void write_dat(uint dat);void LCD_init();void Display_PWM();void calculate_AD0();*endif/*1602.c*/*include*include*inclu

30、de1602.h*define uchar unsigned char*define uint unsigned int/*顯示固定數(shù)組 PWM:*/const uchar tab=PWM:;/*延時(shí)函數(shù)*/void delay(uint MS) /約為 1MS 的延時(shí)函數(shù) uint i,j; for(i=0;iMS;i+) for(j=0;j2282;j+); /2282 是在 16MHz 晶振下為 MS 毫秒/*1602 寫(xiě)地址*/void write_(uint ) PORTA&=BIT(5); /RS=0 PORTA&=BIT(6); /RW=0 PORTB=; /送地

31、址 delay(5); PORTA|=BIT(7); /EN=1 delay(5); PORTA&=BIT(7); /EN=0-. z/*1602 寫(xiě)數(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); /EN=0 /*1602 初始化*/void LCD_init() DDRA=0*FF; DDRB=0*FF; delay(5); writ

32、e_(0*38); /設(shè) 8 位數(shù)據(jù)線,雙行,5*7 點(diǎn)陣 delay(5); write_(0*0c); /開(kāi)顯示,不顯示光標(biāo) delay(5); write_(0*06); /輸入地址自加,屏幕不移動(dòng) delay(5); write_(0*01); /清屏 delay(5);/*顯示 PWM 占空比*/void Display_PWM() uchar i; uint shi,ge,*iaoshu,beichu; uint shi1,ge1,*iaoshu1; shi=OCR1A/100; /將 OCR1A 百位拆分 ge=OCR1A/10%10; /將 OCR1A 十位拆分 *iaoshu

33、=OCR1A%10; /將 OCR1A 個(gè)位拆分 beichu=ICR1/10; /將 ICR1 變?yōu)閮晌粩?shù) shi1=OCR1B/100; /將 OCR1B 百位拆分 ge1=OCR1B/10%10; /將 OCR1B 十位拆分 *iaoshu1=OCR1B%10; /將 OCR1B 個(gè)位拆分 write_(0*80); for(i=0;tabi!=0;i+) write_dat(tabi);-. z write_(0*84); write_dat(shi*100+ge*10+*iaoshu)*100/beichu/100+0*30); /顯示十位 write_dat(shi*100+ge*

34、10+*iaoshu)*100/beichu/10%10+0*30); /顯示個(gè)位 write_dat(.); write_dat(shi*100+ge*10+*iaoshu)*100/beichu%10+0*30); /顯示小數(shù)點(diǎn) write_dat(%); write_(0*8a); write_dat(shi1*100+ge1*10+*iaoshu1)*100/beichu/100+0*30); /顯示十位 write_dat(shi1*100+ge1*10+*iaoshu1)*100/beichu/10%10+0*30); /顯示個(gè)位 write_dat(.); write_dat(s

35、hi1*100+ge1*10+*iaoshu1)*100/beichu%10+0*30); /顯示小數(shù)點(diǎn) write_dat(%);/*AD.H*/*ifndef _AD_H_*define _AD_H_void adcport_init();void ADC0INIT(void);void ADC1INIT(void);void ADC2INIT(void);int get_ADCdata(void);float get_ave(int a8);float get_ADC0data(void);float get_ADC1data(void);float get_ADC2data(void)

36、;void display_AD0();*endif/*AD.C*/*include*include*include1602.h*define uchar unsigned char*define uint unsigned int/參考電壓*define REF 5.12 /*ADC 端口初始化*/void adcport_init() DDRA&=BIT(0); PORTA&=BIT(0); DDRA&=BIT(1); PORTA&=BIT(1); DDRA&=BIT(2);-. z PORTA&=BIT(2);/*ADC0 初始化*/voi

37、d ADC0INIT(void) ADMU*=0*40; /AREF 基準(zhǔn)壓,結(jié)果右對(duì)齊,通道為 ADC0 ADCSRA=0*87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟動(dòng)首次轉(zhuǎn)換 while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)換完畢 ADCSRA|=(1ADIF); /去除 ADIF 位/*ADC1 初始化*/void ADC1INIT(void) ADMU*=0*41; /AREF 基準(zhǔn)壓,結(jié)果右對(duì)齊,通道為 ADC1 ADCSRA=0*87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟

38、動(dòng)首次轉(zhuǎn)換 while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)完畢循環(huán) ADCSRA|=(1ADIF); /去除 ADIF 位/*ADC2 初始化*/void ADC2INIT(void) ADMU*=0*42; /AREF 基準(zhǔn)壓,結(jié)果右對(duì)齊,通道為 ADC2 ADCSRA=0*87; /使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC); /啟動(dòng)首次轉(zhuǎn)換 while(!(ADCSRA&(1ADIF); /等待轉(zhuǎn)完畢循環(huán) ADCSRA|=(1ADIF); /去除 ADIF 位/*獲取 ADC 的采樣值*/int get_ADCdata(void)

39、int a,b; a=b=0; b=ADCL; /讀高位后數(shù)據(jù)更新 a=ADCH; /再讀取 ADCH 數(shù)據(jù) a=(a8); /右對(duì)齊,左移八位 a=(a|b); /組成 10 位二進(jìn)制數(shù)據(jù) return a;/*去頭去尾,獲取平均值*/float get_ave(int a8)float v;-. zunsigned 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)unsigned char i=

40、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 采樣 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 次的平均值*/

41、float get_ADC2data(void)unsigned char i=0;float v;int buf8=0;for(i=0;i8;i+)-. zADC2INIT(); /AD 初始化一次 bufi=get_ADCdata(); /將數(shù)據(jù)放入數(shù)組v=get_ave(buf);return v;/*將數(shù)據(jù)拆分送顯示*/void display_AD0() int a,b; uchar s6,k6; uchar i,j,m; a=get_ADC0data()*REF/1024*1000; /將數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制 b=get_ADC0data(); /數(shù)字量 s0=a/1000+0; s1

42、=.; 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%100/10+0; k5=b%10+0; write_(0*C0); for(i=0;i6;i+) write_dat(si); write_(0*C7); for(j=0;j=360) /實(shí)際電壓值大于 8.4V OCR1A=265; /鉗位到 8.4V-. zOCR1B=265; if(get_ADC2data()=310) /實(shí)際電壓值小于 7.6V OCR1A=240; /鉗位到 7.6V

43、OCR1B=240; /*KEY.H*/*ifndef _KEY_H_*define _KEY_H_void key_init();void press();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); /獨(dú)立鍵盤(pán)接口置高電平 PORTD|=BIT(0); D

44、DRD&=BIT(1); /獨(dú)立鍵盤(pán)接口置高電平 PORTD|=BIT(1); DDRD&=BIT(2); /獨(dú)立鍵盤(pán)接口置高電平 PORTD|=BIT(2); DDRD&=BIT(3); /獨(dú)立鍵盤(pán)接口置高電平 PORTD|=BIT(3); DDRD&=BIT(7); /獨(dú)立鍵盤(pán)接口置高電平 PORTD|=BIT(7); /*按鍵函數(shù)*/void press() uchar m; m=PIND; m&=0*0f; if(m=0*0e) -. z count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm+=1; count_pwm=O

45、CR1B; /讀取當(dāng)前 PWM 值 count_pwm+=1; delay(1); /按鍵消抖 while(PIND=0*0e); OCR1A=count_pwm; /OCR1A 賦新值 OCR1B=count_pwm; /OCR1B 賦新值 if(OCR1A=265&OCR1B=265) OCR1A=265;OCR1B=265; if(m=0*0d) count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm-=1; count_pwm=OCR1B; /讀取當(dāng)前 PWM 值 count_pwm-=1; delay(1); /按鍵消抖 while(PIND=0*0d); OCR1A=count_pwm; /OCR1A 賦新值 OCR1B=count_pwm; /OCR1B 賦新值 if(OCR1A=240&OCR1B=261|OCR1B=251) OCR1A=261;-. zOCR1B=251; if(m=0*07) count_pwm=OCR1A; /讀取當(dāng)前 PWM 值 count_pwm-=1; count_pwm1=OCR1B; /讀取當(dāng)前 PWM 值 count_pwm1+=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論