一、項目背景
隨著社會經(jīng)濟的發(fā)展和人民生活水平的提高,居民生活用電、商業(yè)用電的結(jié)構(gòu)和用電量也發(fā)生了根本性的變化,已經(jīng)從過去單一的照明用電變?yōu)橐?a target="_blank">電子設(shè)備和電炊具等家用電器為主的生活、辦公用電,這些用電設(shè)備的廣泛普及與增換,必然使在同區(qū)域的居民用電量大幅增長的同時,實際供電質(zhì)量與國家標(biāo)準(zhǔn)要求還存在不小的差異。
無功損耗增加、功率因數(shù)下降、諧波增加,會影響到用戶用電設(shè)備的正常運行,嚴(yán)重時會造成用電設(shè)備損壞,增大電氣設(shè)備損耗、溫度升高、降低運行效率,絕緣加速老化、縮短設(shè)備使用壽命;降低供用電設(shè)備的繼電保護、控制以及檢測裝置的工作精度和可靠性。
20世紀(jì)20年代末,人們開始注意到電力系統(tǒng)非線性負(fù)載會產(chǎn)生諧波。20世紀(jì)50年代,隨著科學(xué)技術(shù)的進步,大量非線性負(fù)載給電力系統(tǒng)帶來了嚴(yán)重的諧波干擾。20世紀(jì)70年代以來,由于諧波所造成的危害日趨嚴(yán)重,世界各國對諧波問題都予以充分的關(guān)注,國際上召開了多次有關(guān)諧波問題的學(xué)術(shù)會議。最近40年,世界各國對電力系統(tǒng)諧波問題的研究已超過了電力系統(tǒng)自身的研究范疇,并且取得了前所未有的發(fā)展。
目前諧波治理設(shè)備檢測一般通過更改有源電力濾波器(APF)的代碼,使其工作于負(fù)載模式,模擬諧波源,將諧波注入待測電網(wǎng),而諧波治理設(shè)備并入后,通過一系列檢測算法計算出電網(wǎng)含有諧波電流的大小,發(fā)出與諧波源大小相等,方向相反的諧波電流,在并網(wǎng)處疊加抵消,達到治理的效果。通過對比治理設(shè)備投入前后剩余諧波電流大小并于相關(guān)標(biāo)準(zhǔn)對比,最終判定諧波治理設(shè)備的功能特性。
本次比賽實驗主要基于PSOC6處理器PWM模塊發(fā)波,在功率驅(qū)動板側(cè)檢測波形和相關(guān)驅(qū)動能力。
二、項目開發(fā)原理
由于全控型電力半導(dǎo)體器件的出現(xiàn),不僅使得逆變電路的結(jié)構(gòu)大為簡化,而且在控制策略上與晶閘管類的半控型器件相比,也有著根本的不同,由原來的相位控制技術(shù)改變?yōu)槊}沖寬度控制技術(shù),簡稱PWM技術(shù)。采用PWM方式構(gòu)成的逆變器,其輸入為固定不變的直流電壓,可以通過PWM技術(shù)在同一逆變器中既實現(xiàn)調(diào)壓又實現(xiàn)調(diào)頻。
工程實際中應(yīng)用最多的是正弦PWM法(簡稱SPWM),它是在每半個周期內(nèi)輸出若干個寬窄不同的矩形脈沖波,每一矩形波的面積近似對應(yīng)正弦波各相應(yīng)每一等份的正弦波形下的面積可用一個與該面積相等的矩形來代替,于是正弦波形所包圍的面積可用這N個等幅(Vd)不等寬的矩形脈沖面積之和來等效。各矩形脈沖的寬度自可由理論計算得出,但在實際應(yīng)用中常由正弦調(diào)制波和三角形載波相比較的方式來確定脈寬:因為等腰三角形波的寬度自上向下是線性變化的,所以當(dāng)它與某一光滑曲線相交時,可得到一組幅值不變而寬度正比于該曲線函數(shù)值的矩形脈沖。若使脈沖寬度與正弦函數(shù)值成比例,則也可生成SPWM波形。
在進行脈寬調(diào)制時,使脈沖系列的占空比按正弦規(guī)律來安排。當(dāng)正弦值為最大值時,脈沖的寬度也最大,而脈沖間的間隔則最小。反之,當(dāng)正弦值較小時,脈沖的寬度也小,而脈沖間的間隔則較大;這樣的電壓脈沖系列可以使負(fù)載電流中的高次諧波成分大為減小,稱為正弦波脈寬調(diào)制。三相互差120°PWM波形如圖 1所示:
圖1 三相PWM波形
工程中,一般將三相正弦波數(shù)據(jù)制表,然后通過查表法將數(shù)據(jù)與定時器的計數(shù)值進行比較,輸出PWM波形。一般采用兩個定時器,一個高級定時器(需要具備三路互補輸出的PWM)和一個基本定時器(通用定時器),其中高級定時器用于輸出PWM,作為高頻載波。而基本定時器用于設(shè)置輸出波形的周期(頻率),通過定時的查表讀取數(shù)據(jù),調(diào)節(jié)高級定時器脈沖的占空比,實現(xiàn)正弦波的輸出。需要注意的是,高級定時器輸出的波形依然是相較規(guī)則的脈沖,通過功率驅(qū)動板放大輸出,驅(qū)動IGBT功率管。兩路互補的PWM波形如圖 2所示:
圖2 互補PWM波形
經(jīng)過功率驅(qū)動板放大后的PWM信號,驅(qū)動IGBT的柵極,由于IGBT結(jié)電容的存在,會導(dǎo)致PWM信號出現(xiàn)一些不規(guī)則的變化,通過添加?xùn)艠O電阻可以調(diào)整作用在IGBT柵極上的PWM波形。在IGBT輸出交流測輸出的依然是不規(guī)則的直流電壓,需要對輸出進行濾波,在出線側(cè)加裝電感器,濾除高頻成分,而保留低頻部分。經(jīng)過濾波處理后的三相電流與電壓波形如圖3所示,由于驅(qū)動采用調(diào)制波采用單極性,因此波形電壓于電流均含有直流分量。
目標(biāo)設(shè)計PWM頻率為20KHZ,輸出波形頻率50Hz,調(diào)制波為多個高次諧波疊加基波,不再是標(biāo)準(zhǔn)的正弦波。需要對各次諧波的幅值設(shè)置可調(diào),相位可調(diào)。通過仿真進行頻譜分析各次諧波含有率及總畸變率如圖4所示。
三、項目硬件
1、主控制器
PSoC?6單片機是一款高性能、超低功耗、安全的單片機平臺,專為物聯(lián)網(wǎng)應(yīng)用而設(shè)計。
CY8C62x8/A產(chǎn)品線,基于PSoC 6 MCU平臺,是一個雙CPU微控制器與低功耗閃光技術(shù)、數(shù)字可編程邏輯、高性能模擬到數(shù)字轉(zhuǎn)換和標(biāo)準(zhǔn)通信和定時外設(shè)的組合。PSOC 6是雙核CPU系統(tǒng),具有一個M4F核和一個M0+內(nèi)核,其中M4F內(nèi)核150MHz,M0+內(nèi)核100MHz,具備豐富的存儲,高達2M 的Flash以及1M 的SRAM。
計時器/計數(shù)器/脈寬調(diào)制器(TCPWM)
■TCPWM支持以下操作模式:
?計時器計數(shù)器比較
?計時器與捕獲
?正交解碼
?脈寬調(diào)制(PWM)
?偽隨機PWM
?PWM與死時間
■上,下,上/下計數(shù)模式
■時鐘調(diào)整(除1、2、4,…。64,128)
■雙緩沖比較/捕獲和周期值■下流,溢出,和捕獲/比較輸出信號
■支持中斷:
?終端計數(shù)-取決于模式;通常發(fā)生在溢出或下流?捕獲/比較-計數(shù)被捕獲到捕獲寄存器或計數(shù)器值等于比較寄存器
■互補輸出
■可選擇開始、重加載、停止、計數(shù)和捕獲事件信號;有上升邊,下降邊,兩個邊,和水平觸發(fā)選項。TCPWM具有一個剎車輸入,以強制輸出到預(yù)定狀態(tài)。
在PSOC 6設(shè)備中有:
■8個32位TCPWMs
■24個16位TCPWMs
本次IGBT驅(qū)動采用板子上的Arduino擴展接口CON7上的1-6腳,剛好對應(yīng)3對互補輸出的PWM,其對應(yīng)關(guān)系如下表:
2、功率驅(qū)動板
由PSOC 6單片機TCPWM模塊輸出的PWM信號不足以直接驅(qū)動IGBT,需要對其進行功率放大,采用厚膜驅(qū)動。功率驅(qū)動板設(shè)計6單元IGBT驅(qū)動,可驅(qū)動300A/1700V 以下的 IGBT,每路輸出電流可達6A。其中互補的兩個單元共用一路輔助電源??梢詼y試帶IGBT和不帶IGBT兩種情況。
3、IGBT模塊
IGBT模塊采用英飛凌6單元封裝IGBT,型號為FS50R12KT3,集電極-發(fā)射極電壓1200V,連續(xù)集電極電流可達50A,柵極閾值電壓為5-6.5V;其反并聯(lián)二極管正向壓降1.65V。IGBT模塊自帶負(fù)溫度系數(shù)熱敏電阻,25℃時,其額定阻值為5000歐姆。
4、直流電源
功率驅(qū)動板僅需要一路直流電源,就可以實現(xiàn)驅(qū)動6單元IGBT,直流電源采用直流穩(wěn)壓電壓。
四、項目軟件
軟件采用RT-Thread Studio開發(fā),RT-Thread系統(tǒng)版本為5.0.1,BSP版本為1.0.3。
1、程序流程
(1)、初始化開發(fā)板;
(2)、PWM初始化;
(3)、設(shè)置含諧波次數(shù)及幅值;
(4)、PWM輸出;
2、關(guān)鍵程序
/*
- Copyright (c) 2006-2023, RT-Thread Development Team
- SPDX-License-Identifier: Apache-2.0
- Change Logs:
- Date Author Notes
- 2022-06-29 Rbb666 first version
/
#include
#include
#include "drv_gpio.h"
#include "cyhal_pwm.h"
/線程控制塊 **/
rt_thread_t led_thread=RT_NULL;
rt_thread_t pwm_thread=RT_NULL;
/***********線程入口函數(shù)*************/
static void led_thread_entry(void *parameter);
static void pwm_thread_entry(void *parameter);
#define LED_PIN GET_PIN(0, 1)
/***********A、B、C三相*************/
uint16_t ua[128]={
0
};
uint16_t ub[128]={
0};
uint16_t uc[128]={
0
};
cyhal_pwm_t pwm_obj1;
cyhal_pwm_t pwm_obj2;
cyhal_pwm_t pwm_obj3;
cyhal_clock_t clock_obj;
/***********互補輸出PWM初始化函數(shù)*************/
static void pwm_init(void)
{
pwm_obj1.dead_time_set=1;
pwm_obj1.pin=P5_0;
pwm_obj1.pin_compl=P5_1;
cyhal_pwm_init_adv(&pwm_obj1,P5_0,P5_1,CYHAL_PWM_CENTER_ALIGN,1,2,1,&clock_obj);
cyhal_pwm_set_period(&pwm_obj1,3000-1,0);
cyhal_pwm_start(&pwm_obj1);
pwm_obj2.dead_time_set=1;
pwm_obj2.pin=P11_2;
pwm_obj2.pin_compl=P11_3;
cyhal_pwm_init_adv(&pwm_obj2,P11_2,P11_3,CYHAL_PWM_CENTER_ALIGN,1,2,1,&clock_obj);
cyhal_pwm_set_period(&pwm_obj2,3000-1,0);
cyhal_pwm_start(&pwm_obj2);
pwm_obj3.dead_time_set=1;
pwm_obj3.pin=P11_4;
pwm_obj3.pin_compl=P11_5;
cyhal_pwm_init_adv(&pwm_obj3,P11_4,P11_5,CYHAL_PWM_CENTER_ALIGN,1,2,1,&clock_obj);
cyhal_pwm_set_period(&pwm_obj3,3000-1,0);
cyhal_pwm_start(&pwm_obj3);
}
/***********main函數(shù)*************/
int main(void)
{
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
pwm_init();
led_thread=rt_thread_create("led",led_thread_entry,RT_NULL,256,3,10);
if(RT_NULL!=led_thread)
{
rt_thread_startup(led_thread);
}
pwm_thread=rt_thread_create("pwm",pwm_thread_entry,RT_NULL,256,2,10);
if(RT_NULL!=pwm_thread)
{
rt_thread_startup(pwm_thread);
}
}
/***********LED線程入口函數(shù)*************/
static void led_thread_entry(void *parameter)
{
while(1)
{
rt_pin_write(LED_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
}
/***********諧波注入PWM線程入口函數(shù)*************/
static void pwm_thread_entry(void *parameter)
{
uint8_t i=0;
while(1)
{
for(i=0;i<128;i++)
{
cyhal_pwm_set_period(&pwm_obj1,3000-1,ua[i]);
cyhal_pwm_set_period(&pwm_obj2,3000-1,ub[i]);
cyhal_pwm_set_period(&pwm_obj3,3000-1,uc[i]);
rt_thread_mdelay(20);
}
}
}
五、實驗結(jié)果
1、開發(fā)板PWM輸出
圖9 互補PWM輸出
2、驅(qū)動板PWM輸出
3、IGBT諧波輸出波形
六、結(jié)論和后期展望
1、結(jié)論
通過采用PSOC 6處理器的PWM以及基于類SPWM調(diào)制實現(xiàn)輸出諧波,基本實現(xiàn)了本次比賽預(yù)計的功能。
2、后期工作
后續(xù)將采用ARM+FPGA架構(gòu),進一步針對SPWM,實現(xiàn)諧波輸出;增加人機交互,參數(shù)設(shè)置可視化,利用FFT算法展示諧波頻譜;故障處理,緊急切除IGBT;增加輸出反饋信號采集,實現(xiàn)輸出閉環(huán)控制,提高精度。目前就ARM+FPGA主控制、主電路、電源部分已完成初步設(shè)計。
評論
查看更多