太阳能光伏逆变器转换来自太阳能电池板的电力,并将这些电力有效地部署到公用电网。旧时代的太阳能光伏逆变器只是将电力倾倒到公用电网的模块。然而,新设计需要太阳能光伏逆变器来促进电网的稳定性。
本文将回顾以HAE(谐波分析引擎)形式出现的ADI新技术如何改善智能电网集成并监控电网电能质量,从而为电网的稳定性做出巨大贡献。
智能电网
什么是智能电网?IMS Research将智能电网定义为“具有有效匹配和管理发电和消费的固有能力的公用事业供电基础设施,同时从可用资源中获得最大收益。为了使新一代太阳能光伏逆变器连接到智能电网,逆变器中需要越来越多的智能来实现这一点。这本身就是一个问题,主要是由于当需求无法满足电网供应的需求时,由于太多的电网连接可能造成的不平衡。基于此,如前所述,太阳能光伏逆变器将需要更多的智能,而这种智能的重点需要放在电网整合上,系统需要帮助稳定电网的能力,而不是作为电网的简单电力供应商。
图1.ADSP-CM403 HAE框图,ADI公司。
这需要更好地测量、控制和分析注入电网的电力质量。当然,这会导致新的指令和更高的技术要求,这反过来又直接转化为新技术。
ADSP-CM403XY HAE 外设模块
HAE 模块本质上是一个简化的数字 PLL,如下所示。HAE 连续接收 V 和 I 数据,并在几个周期后锁定输入波形的基波。HAE 模块的输入范围为 45 Hz 至 66 Hz,最多可分析 40 次谐波,一次分析 12 次。对于每个谐波,PLL将尝试锁定所需的信号。
图2.HAE 简化数字锁相环
谐波发动机硬件模块与谐波分析仪协同处理结果。当谐波引擎以最终格式产生结果时,它们存储在结果存储器中。HAE 引擎计算 45 Hz 和 66 Hz 之间线路频率的 2.8kHz 无衰减通带(对应于 3.3 kHz 的 –3 dB 带宽)中的谐波信息。
图3.HAE 的频率通带。
零线电流也可以与相电流的总和同时进行分析。在新的采样周期开始时,谐波引擎在数据RAM中的预定义位置之间循环,其中包含分析仪处理结果。然后根据需要进一步处理内容。
电压和电流数据可以从sinc模块或ADC(均存储在SRAM中)接收,并以8 kHz速率输入HAE模块。可以在此8 kHz速率下生成中断,以建议太阳能光伏逆变器输入可用数据。当分析数据并计算以下计算时,HAE 模块将生成另一个中断,以通知太阳能光伏系统谐波分析数据已准备好显示。ADSP-CM403还可以将HAE定向到DMA的所有结果到SRAM,然后系统代码可以显示结果。这导致整个 HAE 系统的代码开销很小。
ADSP-CM403XY HAE 结果
图 4 中的 HAE 结果清楚地显示了在查看电压均方根数据时系统中存在哪些谐波。50 Hz 时的基波明显存在,但 250 Hz 和 350 Hz 处的低次谐波(即谐波 5 和 7)在此示例结果集中存在一些。
图4.谐波 1–12 的 HAE 的 V rms 样本结果。
这些计算中使用的特定方程如下所示,用于基波和谐波计算。
谐波引擎输出和寄存器,其中存储值
数量 | 定义 | HAE 注册 |
基本组件的有效值 | V1我1 | F_VRMS, F_IRMS |
谐波分量的均方根 | Vn我n,n = 2,3,...,12 | Hnn_VRMS, Hnn_XIRMS |
基波元件的有功功率 | P1= V1我1cos( φ11 /1) | F_ACT |
谐波分量的有功功率 | Pn= Vn我n因为(φn1 /n), n = 2,3,...,12 | Fnn_ACT |
基波元件的无功功率 | Q1= V1我1罪(φ11 /1) | F_REACT |
谐波分量的无功功率 | Qn= Vn我n罪(φ11 /1), n = 2,3,...,12 | Hnn_REACT |
基本元件的视在功率 | S1= V1我1 | F_APP |
谐波分量的视在功率 | Sn= Vn我n, n = 2,3,...,12 | Hnn_APP |
基本元件的功率因数 | F_PF | |
谐波分量的功率因数 |
Hnn_PF | |
谐波分量的谐波失真 |
Hnn_VHDN, Hnn_IHDN |
编程示例
INT HAE_CONFIG(VOID)
{ INT I;
HAE_INPUT_DATA(VOUTPUT, SINC_VEXT_DATA);
HAE_INPUT_DATA(输出,SINC_IMEAS_DATA);
RESULT = ADI_HAE_OPEN(DEVNUM, DEVMEMORY, MEMORY_SIZE, &DEV);
结果 = ADI_HAE_REGISTERCALLBACK(DEV, HAECALLBACK, 0);
结果 = ADI_HAE_SELECTLINEFREQ(开发,ADI_HAE_LINE_FREQ_50);
结果 = ADI_HAE_CONFIGRESULTS(开发、ADI_HAE_RESULT_MODE_IMMEDIATE、ADI_HAE_SETTLE_TIME_512、ADI_HAE_UPDATE_RATE_128000);
结果 = ADI_HAE_SETVOLTAGELEVEL(开发,1.0);
结果 = ADI_HAE_ENABLEINPUTPROCESSING(DEV, FALSE, FALSE);/* 滤波器启用 */ /* 启用所有谐波(按顺序) */
结果 = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_1, 1);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_2、2);
结果 = ADI_HAE_HARMONICINDEX (开发, ADI_HAE_HARMONIC_INDEX_3, 3);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_4、4);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_5、5);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_6、6);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_7、7);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_8、8);
结果 = ADI_HAE_HARMONICINDEX (开发, ADI_HAE_HARMONIC_INDEX_9, 9);
结果 = ADI_HAE_HARMONICINDEX(开发、ADI_HAE_HARMONIC_INDEX_10、10);
结果 = ADI_HAE_HARMONICINDEX(开发,ADI_HAE_HARMONIC_INDEX_11,11);
结果 = ADI_HAE_HARMONICINDEX (开发, ADI_HAE_HARMONIC_INDEX_12, 12);
结果 = ADI_HAE_SUBMITTXBUFFER(DEV, &TXBUFFER1[0], SIZEOF(TXBUFFER1));
RESULT = ADI_HAE_SUBMITTXBUFFER(DEV, &TXBUFFER2[0], SIZEOF(TXBUFFER2));
结果 = ADI_HAE_ENABLEINTERRUPT(开发、ADI_HAE_INT_RX、真);
结果 = ADI_HAE_ENABLEINTERRUPT(开发、ADI_HAE_INT_TX、真);
结果 = ADI_HAE_CONFIGSAMPLEDIVIDER(DEV, 100000000);
结果 = ADI_HAE_RUN(开发,真);
结果 = ADI_HAE_CLOSE(DEV);
}
/*事件*/
VOID HAECALLBACK(VOID* PHANDLE, UINT32_T EVENT, VOID* PARG) /* ISR ROUTINE,用于从 HAE 加载/卸载数据
{
UINT32_T N;
ADI_HAE_EVENT EEVENT = (ADI_HAE_EVENT)EVENT; /* 从 HAE 128MS 收到的结果 */
如果(EEVENT == ADI_HAE_EVENT_RESULTS_READY)
{ /* 获取结果 */
结果 = (ADI_HAE_RESULT_STRUCT*)PARG; /* 指向 TXBUFFER1 或 TXBUFFER2 的指针 */
/* 对结果执行一些操作 */
对于 (N=0;N
{
IRMS[N] = 结果[N]。IRMS;
VRMS[N] = 结果[N]。VRMS;
ACTIVEPWR[N] = PRESULTS[N].ACTIVEPWR;
}
} /* 将输入样本传输到 HAE – 8KHZ */
如果(EEVENT == ADI_HAE_EVENT_INPUT_SAMPLE)
{ /* 从 SINC 缓冲区查找 LATETS 样本 . */
ADI_HAE_INPUTSAMPLE(DEV, (SINC_IMEAS_DATA[PWM_SINC_LOOP]),(SINC_VEXT_DATA[PWM_SINC_LOOP]));
索引++;
如果(索引 >= NUM_SAMPLES) 索引 = 0;
}
计数++;
}
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !