張懿楠
(中國民用航空華東地區(qū)空中交通管理局 上海市 200335)
完成設計目標需要具備對單片機進行設計的相關知識,對硬件方面的各類電路設計,以及軟件方面的各類程序編譯,本章主要對設計的方案和需要了解的專業(yè)知識進行一個概述,總起全篇并會在接下來的章節(jié)中對本章內容進行詳細分析。
本次設計采用的是ATmega16 單片機,其內含有多頻段RC 振蕩器,擁有通電自動復位,延時啟動等功能,其數(shù)據(jù)及程序總線互不關聯(lián),以流水線法增加運行效率,可在單位運行周期內運行完畢大部分指令。
1.1.1 主電路設計
小節(jié)介紹主電路,對于升壓式電源的設計,在各類升壓電路中,Boost 電路是不可或缺的,它在電路中起到使輸出電壓比輸入電壓高的作用,可以說是各類升壓電路的核心所在,此次設計有三路輸出,即完整電路中含有三個結構相同,參數(shù)不同的Boost 電路,關于主電路的原理會在后續(xù)章節(jié)中詳細介紹。
1.1.2 驅動電路設計
通常電路直接輸出的PWM 脈沖較小,難以驅動功率晶體管。此時可引入驅動電路,它可以將脈沖放大,并且通過控制功率管的狀態(tài),使Boost 電路能更好運行。在工作時,驅動電路的最前端電阻會有PWM 波輸入,當次PWM 波輸入至一級三極管時會根據(jù)PWM 波的高低電平相應的分為兩種情況。
(1)當輸入電平為高電平時,一級三極管Q1 導通;后續(xù)二級三極管與末端功率管均斷開。
(2)當輸入電平為低電平時,一級三極管Q1 與末端功率管斷開;二級三極管導通。
通過電路的放大作用,得以驅動末端功率管。并根據(jù)功率管的不同狀態(tài)對Boost 電路進行相應控制,驅動電路可以說是完成本次設計的前期準備工作。
1.1.3 緩沖電路設計
當功率管進行開關轉換時,電路會對元件進行充放作用,這會產(chǎn)生一定的熱量,可能會使器件損壞。因此需要設置緩沖電路減緩充放能量時的產(chǎn)生的熱量,對Boost 電路進行輸入/輸出都需要設計緩沖電路。
單片機在進行電壓輸出時,由于系統(tǒng)與外部的影響,其電壓會有一些不可避免的波動,不能將平穩(wěn)的電壓輸入電路,此時需要將電壓輸入到電路前先經(jīng)過穩(wěn)壓管的穩(wěn)壓動作,從而達到一個穩(wěn)壓緩沖的工作,使電路能夠較好的運行。
而設計后緩沖電路的目的是緩沖由于電路中的內因對電路產(chǎn)生的影響。將一部分殘留能量以電阻做功的形式消除,減輕對Boost 電路的影響。
1.1.4 采樣電路設計
此次設計利用PID 對電路進行控制。需要實時對電路的輸出電流/電壓進行反饋,進而調整占空比,使電路得以按照設計運行。
而單片機多能承受的電壓/電流值有限,本次設計電壓值為16V,24V,36V,相對于單片機的可承受電壓過大,所以需要對電路的輸出反饋電流/電壓進行縮小之后再進行輸入。
在對電壓進行采樣時,通過設計電阻串聯(lián),對反饋電壓進行分壓,從而達到縮小電壓的目的,在此之后將電壓輸入到單片機中PID 進行反饋調整。
在對電流進行采樣時,通過添加運算放大器,對電流進行縮小處理,通過改變后端與單片機接口串聯(lián)電阻的值對反饋電流進行一定比例的縮小,本次設計中將實際電流與采樣電流按十比一的比例縮小,在此之后將電流輸入到單片機中PID 進行反饋調整。
1.1.5 輔助電路設計
本次設計的輸入電壓為12V,大于單片機的工作電壓,故在連接單片機與電路之前,需要對電路中的電壓進行降壓處理以達到令單片機正常工作的目的,這里采用7805 作為連接電路與單片機的電壓轉換穩(wěn)壓端,將12V 的輸入電壓轉換為5V 電壓輸出。
1.1.6 時鐘電路設計
時鐘電路是單片機的最小系統(tǒng)的一部分,時鐘電路一般通過晶振電路來實現(xiàn)。本次時鐘電路設計通過晶體振蕩器與兩個電容并聯(lián)實現(xiàn),以晶體振蕩器為時鐘源,與單片機外接晶振引腳XTAL1,2 相連接,并最后接地完成電路。
1.2.1 功率管選取
當功率管導通時,電感電流的最小/大值分別為
而功率管的開關電流為電路峰值電流的2 倍,即大于等于2.6A。
這里選取擊穿電流6A,擊穿電壓110V 的IRF540N 場效應管作為功率管。
1.2.2 電感設計
通過電路電感的電流應該是電路電流的0.2 倍,以此通過公式換算電感應大于:
電路電感的最小電流取電路電流的0.1 倍將I=0.1I代入電感換算公式得:
根據(jù)上式可得電感與占空比的平方值呈比例關系,且占空比與電壓值呈反比。
PWM 頻率為f=16M/256,周期與頻率呈反比即T=1/f=16us。綜上所述可得L ≥120uH。本次設計采用電感值為122uH 的繞制電感。
1.2.3 電容設計
要求經(jīng)過電容的電壓需滿足電路最小電壓值,故選取的電容的等效串聯(lián)電阻應該盡可能小。根據(jù)輸出電容公式C ≥65×10I/U其中I為輸出/輸入電流的最大值;U為輸出電壓最大值。本次設計的Boost 電路輸出電壓分別為16V,24V,36V,則電容電壓分別為160mV,240mV,36mV,則輸出電容分別474F,316F,211F。
1.2.4 其他元器件設計
已知本次設計為升壓電路,為防止輸出電壓過大對電路內部的影響,在電路輸出電壓旁增加了一個并聯(lián)電阻。當輸出電壓增加時,電壓加在該并聯(lián)電阻上,起到消耗多余功率,保護電路的作用。電路中其他元器件的值根據(jù)基本Boost 電路元器件值換算得。
對于升壓式電源的設計,在各類升壓電路中,Boost 電路是不可或缺的,它在電路中起到使輸出電壓比輸入電壓高的作用,可以說是各類升壓電路的核心所在,其高效,結構簡單等特點被廣泛應用于升壓電路、功率因數(shù)校正等,本章節(jié)主要對Boost 電路進行詳細分析。
2.1.1 電路圖
對Boost 電路工作原理進行分析。其電路中為電感與電容均為大電感與大電容,且當電路穩(wěn)定時,一個周期內電感的充放電相等。
Boost 電路的輸入/輸出共地,在有負載時,中路開關管開路的情況,也只是令輸出電壓等于輸入電壓。若無負載且Boost 電路從閉環(huán)系統(tǒng)失控轉化成為開環(huán),使電容只充電不放電,致使輸出電壓增高,則電路將燒毀。由于電感串聯(lián)在電路中輸入波紋小于輸出波紋大,所以對電容也是大電容輸出。連續(xù)模式下,要求電感大,防止電感電流下降太快,來不及補充能量,而且波紋電流隨電感的增大而減小。所有連續(xù)模式中波紋電流較小,開關管和二極管的最大瞬時電流也較小。在低輸入電壓時,升壓倍數(shù)受到升壓電感內阻和功率器件內阻的限制,通常閉環(huán)帶寬很窄,動態(tài)響應差。
2.1.1.1 充電
充電部分:當開關管閉合時。充電過程等效電路中用導線來替代。此刻,輸入電壓流過電感,對電感進行充電(為下一部分放電部分做準備)。下半部分連接二極管以反向不導通用來防止電容對地放電。電流變化量為:△I=UT/L
在電感線圈中,先前增加的能量以磁能的形式進行儲存,且電容處于放電狀態(tài)。
2.1.1.2 放電
放電部分:電感電流具有保持性,即當開關斷開時,電感電流會阻礙電流的減小,從而電流呈緩慢下降的狀態(tài)。由于原開關電路斷開(原二極管位置),則電感的磁能轉化為電能使電容兩端電壓升高。電感電流為:I=(U-U)T/L
2.1.1.3 升壓過程
此過程即通入電感的電能轉化為磁能再轉化為電能的過程。充電過程時電能轉化為電感磁能進行儲存,而在放電時電感中的磁能轉化為電容內的電能。若電容中儲存的能量較大,在放電過程時的電流會呈持續(xù)穩(wěn)定輸出。
2.1.1.4 電壓和電流放大倍數(shù)
充放電兩個狀態(tài)的電流變化量相同,△I=△I,D 即占空比D=T/T,理想狀態(tài)下可得:U=U/(1-D)因為占空比必定小于一,易得輸出電壓U大于輸入電壓U。在理想條件下,電感電壓U為零,則UDT=(U-U)(1-D)T。可得UT=(U-U)T路內無損耗,即P=P, UI=UI
得I/I=1-D
2.1.2 變換器特點
Boost 變換器具有高效簡單的特點,在升壓電路中十分常見,但通常閉環(huán)帶寬很窄,動態(tài)響應差。之前介紹的是理想狀態(tài)時的電路分析,實際情況下的元器件將會產(chǎn)生一定的誤差,且外界環(huán)境也會對設計產(chǎn)生一定影響。
下面進行實際分析,將各元器件的寄生電阻分別簡化為串聯(lián)電阻R 與并聯(lián)電阻R。
則輸出電壓為:U=(U-IR)/(1-D)
將I=U/R,I/I=(1-D)
代入得U/U=(1-D)/((1-D)+R/R)
本章節(jié)主要對設計的軟件編程方面進行分析,主要分為承接上一章的基于Matlab 的PID 控制仿真,以及關于單片機系統(tǒng)的各類程序設計。
上一章提到Boost 電路可以提高輸出電壓,通過放大輸入電流的電壓從而為輸出端提供高壓直流電壓。Boost 電路PID 的參數(shù)選取可以很大程度的影響輸出電壓,本文通過將程序燒入單片機,利用PID 調制系統(tǒng)脈寬。
下面對PID 控制器進行介紹。
常見的PID 控制分為三類:比例—微分環(huán)節(jié);比例—積分環(huán)節(jié);比例—積分—微分環(huán)節(jié)。
PID 控制屬于線性控制,其中比例,微分,積分環(huán)節(jié)的引入可在一定程度上改善系統(tǒng)的性能。比例環(huán)節(jié)(P)可改善開環(huán)增益,但會降低系統(tǒng)的平穩(wěn)性;微分環(huán)節(jié)(I)可增加阻尼比,但會引入高頻噪聲;微分環(huán)節(jié)(D)能降低系統(tǒng)穩(wěn)態(tài)誤差,但會降低系統(tǒng)動態(tài)特性。
所以,比例,微分,積分環(huán)節(jié)的引用會在對系統(tǒng)進行改善的同時,對系統(tǒng)某一方面帶來不好的影響,以此需要將比例—積分—微分以合適的系數(shù)進行運用,達到一個最優(yōu)解。
PID 控制的輸入環(huán)節(jié)與輸出環(huán)節(jié)的關系為:
其中輸出環(huán)節(jié)以u(t)表示,e(t)=e(k)-y(k)表示的是輸入環(huán)節(jié)至輸出環(huán)節(jié)的誤差。
3.1.1 增量式PID 控制原理
不同控制方式采用的PID 控制不同,本文選取的是增量式PID 控制。增量式 PID 控制較傳統(tǒng)PID 控制的誤差是一次周期一清,并不是全動作累計的,所以誤差較低。
確定的首要目標是確定A,B,C 的值,而ABC都與比例系數(shù)k相關。所以利用軟件編程,在實際情況中進行多次更改參數(shù)得到最佳系數(shù)。
3.1.2 選定控制參數(shù)
在控制過程中,確定參數(shù)是控制過程中的重點與難點,如何確定k和T 是一大問題。實操時,可以根據(jù)現(xiàn)有的k以及T 的值,去對D 和I 進行調參,一步步修改,最終完成實驗調參。具體步驟為:1 計算參量ABC;2 設初值e(k)=e(k-1)=0;3 設采樣輸入c(k);4 計算偏差e(k)=e(k)-c(k);5 計算控制量Δu(k)=Ae(k)-Be(k-1)+Ce(k-2);6 輸出Δu(k);7 準備e(k)→e(k-1),e(k-1)→e(k-2);
3.1.3 仿真參數(shù)計算
通過增量式PID 控制,根據(jù)本次設計要求12V-16V,12V-24V,12V-36V。
根據(jù)UT=(U-U)T得D 分別等于0.25,0.5,2/3,則L△I=V/(1/T+1/T)
△I=0.2I開關頻率設為50kHz,得L 分別為6×10H,1.2×10H,106×10H。
根據(jù)式C=U(1-D)T/(8L△U)得C 分別為2.5×10F,4.17×10F,1.5625×10F。
由于要求輸出的電壓分別為16V,24V,36V,要輸出的電流為0.5A。通過歐姆定律計算,三路負載電阻為32Ω,48Ω,72Ω。
所設定的驅動電路開關條件以及輸出電壓與輸入電壓以及PWM 占空比關系,由此傳遞函數(shù)G(s)為:
3.1.4 Matlab 仿真結果
利用上述傳遞函數(shù)在MATLAB 環(huán)境下進行仿真,通過不斷改變PID 環(huán)節(jié)的數(shù)值可以得到不同的圖像,將這些圖像進行對比,選取所有圖像中最為平穩(wěn)的圖像,次圖像所代表的PID 的數(shù)值即最佳比例積分微分參數(shù)。
綜合仿真結果,最終調參結果為 P=15;I=7.9;D=4.9。
3.2.1 單片機初始化程序
ATmega16 單片機的編程在GCCAVR 環(huán)境下利用C 語言進行。
將各類程序的位定義進行模塊的初始化,在C 語言系統(tǒng)中,模塊標頭均以void XXXXXX_Init (void)格式,其中XXXXXX 表示的是各個模塊的名稱,例如輸入/輸出模塊以I/O port 表示,看門狗模塊以WDT 表示,定時器T/C0,1 均以Timer 表示,而模數(shù)轉換器也以ADC 表示。
3.2.2 模數(shù)轉換功能
在對模數(shù)轉換器進行編譯時,需將通道設置為整型通道,可用adc_value 來表示,與定義模數(shù)轉換器模塊初始化類似的是,在進行模數(shù)轉換器功能定義時也需要將多工選擇寄存器ADMUX 與控制和狀態(tài)寄存器ADCSRA 進行編譯,得以確定程序的參考電壓以及對齊方式,編譯循環(huán)語句確認轉換是否結束,以中斷位的高低電平,判斷轉換過程,在轉換結束時對控制和狀態(tài)寄存器編譯設置中斷位為高電平,并將結果返回至模數(shù)轉換器的寄存器中。
3.2.3 PID 控制功能
根據(jù)公式:ADC=U×1024/U可知模數(shù)轉換器轉換前后的差別。
增量式PID 控制將轉換值與設定值進行一對一比較,根據(jù)誤差一步步調整PWM 波的輸出,從而減小誤差使本次實驗更接近于目標值。
本此設計的輸出電壓分別為16V,24V,36V。根據(jù)公式可對模數(shù)轉換器的值與在GCCAVR 編譯環(huán)境下的代碼進行相應替換,其中 16V,24V,36V 代表的設定值分別為0X012A,0X01BF,0X029D。在第三章中通過MATLAB 得到的PID 最優(yōu)參數(shù)分別為:P=15,I=7.9,D=4.9。將此PID參數(shù)輸入程序完成對模數(shù)轉換器的編譯。
3.2.4 程序主函數(shù)
基于GCCAVR 環(huán)境下的單片機C 語言編程主要完成的目的是將所需的電壓數(shù)模擬量轉換為數(shù)字量,并將此數(shù)字量同理想狀態(tài)下的設定值進行比較,在比較之后,經(jīng)過PID 控制之后得到調整過的,誤差較小的數(shù)字量。并以此數(shù)字量為參考對象對PWM 波的占空比進行控制,從而使輸出值與所需的電壓值漸漸接近。
程序主函數(shù)在本節(jié)編程中需要起到的作用為:
(1)對所有程序的中斷禁止指令,以代碼CLI()實現(xiàn),以次預防在運行程序時產(chǎn)生不需要的中斷致使程序的崩壞。
(2)將本章第一節(jié)所定義的各模塊初始化程序通過XXXXX_Init()代碼進行調用,在開始程序前對各模塊初始化處理,消除之前運行所產(chǎn)生的誤差影響。
(3)對控制寄存器與中斷控制寄存器進行編譯,并打開全局中斷允許標志,通過代碼SEI()實現(xiàn)。
(4)通過PID 對三路電壓進行控制,通過與設定值相比較改變波形的占空比,從而得到理想的電壓輸出,通過代碼PID_XXV()實現(xiàn),XX 代表之前設定的電壓值。
本章節(jié)為全篇設計的制作仿真章節(jié),講述的是如何制作電源的過程,以及元器件的測試,利用Altium Designer 仿真軟件將電路原理圖作出。
4.1.1 單片機系統(tǒng)仿真
單片機運行的最低條件即最小系統(tǒng),模擬在單片機三個輸出端口PB3、PD4、PD5 上連接示波器,運行后通過輸出的波形計算占空比。以36V 的波形為例,輸出波形,其占空比約為 67%。
根據(jù)伏秒平衡公式:UD=(U-U)(1-D)可計算36V 波形的占空比理論值:輸入電壓為12V,輸出電壓為36V,即D=0.67,實驗值與理論值吻合。
4.1.2 升壓電路仿真
在Altium Designer 仿真軟件是將Boost 電路的前緩沖電路,驅動電路,后緩沖電路,采樣電路依次畫出。以36V的電壓輸出為例,向前緩沖電路輸入D=0.67 的PWM 波,采樣電路連接電流檢測與電壓檢測,并與單片機的PA4,PA5相連,作為電流/電壓的采樣輸入到單片機仿真電路中。
4.1.3 總電路仿真
根據(jù)Boost 電路的相似性,在系統(tǒng)中添加兩路分別為16V,24V 的Boost 電路,電路連接基本相同,但需要對不同輸出的Boost 電路中輸入占空比不同的PWM 波,其中16V 輸出的占空比為0.25,24V 的為0.5,在三路系統(tǒng)中都連接上模擬電壓表,測得的三路輸出分別為16.08V,23.91V,和35.89V,與理論值基本相同。
但仿真環(huán)境與現(xiàn)實情況還是有很大的不同,在現(xiàn)實中的測量存在更大誤差,例如電路串聯(lián)等效電阻的影響,實操時外界環(huán)境的影響等,需要在實際操作中進一步研究與克服。
隨著軟件硬件的繼續(xù)發(fā)展,電子電氣技術也將越發(fā)先進,本文所提到的升壓電源采用的是ATmega16 單片機,實際上該單片機的初步開發(fā)距今已有很長的時間了,期間各類新型更加先進的單片機層出不窮,例如STM32 系列,STC 系列等,現(xiàn)今先進的32 位單片機的性能可以與上世紀九十年代的專用處理器相比。但是單片機類型中沒有最好的,只有最適合電路的,本次設計選取的是AT16 芯片,在完成電路的設計仿真等過程中也有所感悟,在這里對未來數(shù)字化升壓電源方向作出以下幾點展望。
(1)關于單片機,未來的單片機行業(yè)必然會繼續(xù)發(fā)展,而單片機的類型也會變得更加專業(yè)化,即不同系統(tǒng)要求會有不同的單片機,會產(chǎn)生在某某領域中最好的單片機的說法,這也可以讓使用者在選擇滿足自己電路的單片機時有一個較好的概念。
(2)關于升壓電路及硬件方面,Boost 電路在升壓電路中依舊擁有其不可替代的地位,升壓電路在許多行業(yè)中都會用到,大到電能的傳輸,小到變壓器,如何減小變壓電路元器件對電路的影響以及如何節(jié)約成本應是一個從開發(fā)至將來都需面對的問題,將來電路中元器件的選取應當使電路的輸出更加穩(wěn)定,損耗也應相應降低,使閉環(huán)帶寬增加,提升動態(tài)響應等。
(3)關于軟件及仿真方面,EDA 技術從上世紀六十年代出現(xiàn)的CAD 至現(xiàn)階段作者所采用的Altium Designer 軟件,已經(jīng)產(chǎn)生了極大的提高,而隨著PC 技術的不斷發(fā)展,未來的軟件方向也會有越來越多的功能出現(xiàn),從最初的只能畫電路圖到現(xiàn)今的自動排線,各類器件的仿真等,將來的仿真也會更貼近實際,能減小更多誤差,且操作手段也會貼近使用者,達到便捷高效的目的。