本文今天要講的SEPIC拓撲結構,中文全稱為單端初級電感變換器。這種混合式直流/直流DC-DC轉換器架構,在針對汽車應用的LED驅動器解決方案中有特殊優勢。因SEPIC可在輸入電壓低於/高於輸出電壓的情況下,保持輸出電壓的穩定可靠,同時還能提供一個非反向輸出,即其參考與輸入相同的接地電位,故此解決方案具有極強的吸引力。例如汽車工況出現蓄電池電源在汽車冷啟動時電壓被拉低至LED電壓以下,或是在負載空降時電壓猛升高至LED電壓以上,用SEPIC架構則可穩定地維LED電流恆定輸出,從而確保LED的照明亮度穩定。另外在太陽能充電器應用中,也能靈活適應太陽能電池輸出電壓的較大範圍波動。SEPIC拓撲電源 系統架構圖如下:
SEPIC轉換器
SEPIC拓撲電路中使用的兩個電感L1和L2,可以繞在同一個磁芯上,因在整個開關周期內加在兩個電感上的電壓相同。採用一個耦合電感與兩個獨立的電感相比較,可節省較多PCB空間以及降低產品成本。功率傳輸電路圖如下圖1:
SEPIC拓撲電路的工作過程,相比於經典的BUCK、BOOST電路,其理解難度會稍大一些,其主要難點在於電能傳遞電容Cs的電流變換過程,這一點至少是作者本人的難點之一,因此將其用兩個分解圖進行分別說明,分為主開關Q1的關斷和開通兩個階段,圖示分別如下兩個。
主開關關斷時電流流向原理,如下圖2:
主開關閉合時電流流向原理,如下圖3:
下面我們將針對採用8位混合數字電源控制MCU PIC16F1779進行SEPIC電路的PWM驅動外設的配置代碼開發的相關步驟和注意事項進行說明。
首先明確產品規格定義,我們MCHP 的PIC16F1779的PWM是10bit/16bit ,所設計的SEPIC拓撲LED調光頻率20KHz, SEPIC電源主開關頻率333.3KHz,其控制的各燈組--尾燈/前大燈/流水轉向燈的PWM頻率均相同(如前述設置參數)。電源主PWM的占空比為81%。 但調光亮度占空比略有不同,亮度參數(占空比)一般固定不變,初始化配置好,有15%、12%、20%,根據廠家規格而定。
其次進行MCU主頻率配置,即MCU時鐘源配置:FOSC=16MHz ,用內部振盪器。
第三步,確認TIMER2時鐘源:FOSC/4,預分頻比CKPS = 1:1,則T4時鐘頻率為:4MHz,輸出後分頻比OUTPS =1:1,T2溢出周期11+1=12個時鐘,即fp=333.3KHz,T2的輸出作為電源高頻PWM3/4時鐘源。
第四步,確認TIMER4時鐘源:FOSC/4,預分頻比CKPS = 1:4,則T4時鐘頻率為:1MHz,輸出後分頻比OUTPS =1:1,T4溢出周期49+1=50個時鐘,即fd=20KHz,T4的輸出作為調光低頻PWM9/10時鐘源。
第五步,確認電源主頻率:fp=333.3KHz,其驅動PWM信號分別為PWM3(10bit PWM),PWM4(10bit PWM),PWM11,PWM12。T2輸出作電源高頻PWM3/4時鐘源,fp=333.3KHz。對於PWM11/PWM12,16bit PWM,則是16MHz主頻輸入,無預分頻,PWM周期配置計數PWMxPRH/L: 0x0030=0*256+3*16=48,時鐘計數周期48個時鐘,即fd=16MHz/48=333.3KHz, PWM11/PWM12之占空比設置同周期值,
PWMxDCH/L:0x0027=0*256+2*16+7=39。
同時程序算法中有軟啟動:電源占空比逐漸增大到上限為初始化配置占空比值,39/48=81.25%。
第六步,確認調光頻率:fd=20KHz。其驅動PWM信號分別為PWM9(10bit PWM),PWM10(10bit PWM),PWM5,PWM6。T4輸出作調光低頻PWM9/10時鐘源,fd=20KHz,設置T4PR = 0x31;
程序算法中uint16_t PWMPR = (uint16_t)T4PR<
// =00 1100 0111=0xC7=12*16+7=199,
PWM9_LoadDutyValue((uint32_t)dim * PWMPR / 100);
//將PWMx的周期值分為100份, 再用給定的 dim(1~100))來調節PWM占空比0~100%,
再裝載到PWM10DCH/L組成的10bit占空比寄存器中。
PWM10頻率配置同PWM9,占空比配置同PWM9。
對於PWM5:是16MHz主頻輸入,無預分頻。
PWM5周期配置計數PWMxPRH/L: 0x031F=3*256+1*16+15=799,時鐘溢出周期799+1=800個時鐘,即fd=16MHz/800=20KHz,
PWM5之占空比設置同周期值,PWMxDCH/L:0x031F=3*256+31=799,
//程序算法中PWMx_DutyCycleSet((uint32_t)dim * PWMPR / 100);
將PWMx的周期值分為100份, 再用給定的 dim(1~100))來調節PWM占空比0~100%,
亮度參數(占空比)一般固定不變,初始化配置好,例如15%,12%,20%,根據廠家規格而定.
PWM6頻率配置同PWM5,占空比配置同PWM5。
第七步,對各燈組調光驅動PWM參數寄存器進行配置,代碼如下:
//**********************************遠近光:PWM9-10bit:
// T4PR 49;
T4PR = 0x31;//PWM周期值,0x0000 0000,TIMER4的相關寄存器,當T2PR/T4PR/T6PR/T8PR為255 時,最大PWM解析度為10 位。解析度是T2PR/T4PR/T6PR/T8PR寄存器值的函數,
PWMPR = (uint16_t)T4PR<
PWM9_LoadDutyValue((uint32_t)dim * PWMPR / 100);//占空比設置,
PWM9占空比初始化為如下:
// DC 49;
PWM9DCH = 0x31;
// DC 3;
PWM9DCL = 0xC0;
//**********************************日行燈:PWM10-10bit:
// T4PR 49;
T4PR = 0x31;//
PWMPR = (uint16_t)T4PR<
PWM10_LoadDutyValue((uint32_t)dim * PWMPR / 100);//占空比設置,
// DC 49;
PWM10DCH = 0x31;
// DC 3;
PWM10DCL = 0xC0;
//**********************************位置燈:PWM5-16bit:
//PWM5PRH 3;
PWM5PRH = 0x03;
//PWM5PRL 31;
PWM5PRL = 0x1F;
//PWM5DCH 3;
PWM5DCH = 0x03;
//PWM5DCL 31;
PWM5DCL = 0x1F;
//**********************************轉向燈:PWM6-16bit:
//PWM6PRH 3;
PWM6PRH = 0x03;
//PWM6PRL 31;
PWM6PRL = 0x1F;
//PWM6DCH 3;
PWM6DCH = 0x03;
//PWM6DCL 31;
PWM6DCL = 0x1F;
第八步,進行內部CIP組件配置。所使用的工具是MPLAB X IDE及插件MCC。分別是TYPE-II補償環路、斜率補償組件、峰值電流保護組件、過電壓保護組件、平均電流過流保護組件等,進行內部運放、比較器、DAC、固定電壓參考FVR、互補信號發生器COG、數據信號調製器DSM、可編程斜率補償器PRG、定時器TIMER、PWM信號發生器等智能部件的有機組合配對,形成功能完善的獨立於內核CPU的外設集群,從而實現電源環路的高效運行。
最後生成驅動代碼,再配合主控函數中的狀態機流程控制、故障檢測保護等,就能實現硬體與軟體的融合運行,實現電源按設計要求輸出工作。
後續我們將對開關電源的其它拓撲設計進行分別解說,敬請期待。
評論