你的位置:首頁 > 電源管理 > 正文

                                        ADSP-CM403 HAE在太陽能應用中的諧波分析

                                        發布時間:2020-07-17 來源:Martin Murnane 責任編輯:wenwei

                                        【導讀】太陽能光伏逆變器轉換來自太陽能面板的電能并高效地 將其部署到公用電網中。早期太陽能PV逆變器只是將 電能轉儲到公用電網的模塊。但是,新設計要求太陽能 光伏逆變器對電網的穩定性作出貢獻。
                                         
                                        本文將回顧最新的ADI技術如何以HAE(諧波分析引擎) 的方式改善智能電網的集成度,并監控電網上的電源質 量,從而極大地增強電網穩定
                                         
                                        智能電網
                                         
                                        什么是智能電網?IMS Research將智能電網定義為“一種 自身能夠高效匹配和管理發電和用電并可最大程度地利 用各種可用資源的公用供電基礎設施”。若要將新一代 太陽能光伏逆變器接入智能電網,則逆變器需要越來越 高的智能程度才能實現。這本身就是一個難題,主要是 因為當電力需求在別處時,此處卻連接了過多的電網, 從而發生不平衡?;谶@個原因,如前文所述,太陽能 光伏逆變器需要具備更高的智能程度,并且這種智能應 側重于電網集成,其中系統需協助穩定電網,而非作為 電網的一個簡單電源使用。
                                         
                                        ADSP-CM403 HAE在太陽能應用中的諧波分析
                                        圖1. ADSP-CM403 HAE框圖(ADI公司)
                                         
                                        這要求更好地對注入電網的電能進行測量、控制和質量 分析。當然,這會促成新指令的發布以及更高的技術要 求,進而直接導致新技術的產生。
                                         
                                        ADSP-CM403XY HAE外設模塊
                                         
                                        HAE模塊本質上是一個數字PLL,其簡化原理圖如下圖 所示。HAE連續接收V和I數據,并且數個周期后將鎖定 至輸入波形的基波。HAE模塊的輸入范圍為45 Hz至66 Hz。 最多可分析40個諧波,每次12個。對于每個諧波,PLL 會試圖鎖定至所需的信號頻率
                                         
                                        ADSP-CM403 HAE在太陽能應用中的諧波分析
                                        圖2. HAE簡化數字PLL
                                         
                                        諧波引擎硬件模塊與諧波分析儀共同處理結果。由于諧 波引擎產生的結果為最終格式,這些結果數據保存在結 果存儲器中。HAE引擎在無衰減的2.8 kHz通帶內計算諧 波信息(相當于3.3 kHz的-3 dB帶寬),用于45 Hz至66 Hz 范圍內的線路頻率。
                                         
                                        ADSP-CM403 HAE在太陽能應用中的諧波分析
                                        圖3. HAE通帶頻率
                                         
                                        同時可使用相電流和來分析零線電流。在新采樣周期的 最初時刻,諧波引擎在含有數據RAM內的預定義位置 循環,該數據RAM含有分析儀處理結果。若有需要, 內容可進一步處理。
                                         
                                        電壓和電流數據可來自Sinc模塊或ADC(兩者均存儲在 SRAM中),并輸入至HAE模塊,速率為8 kHz。該速率下 可產生一個中斷,提示太陽能光伏逆變器輸入可用數 據。進行數據分析并執行下列計算時,HAE模塊將產生 另一次中斷,提示太陽能光伏系統準備顯示諧波分析數 據。ADSP-CM403還可將HAE至DMA的全部結果數據 直接傳輸至SRAM,之后系統代碼便可顯示結果。這會 導致整個HAE系統的少許代碼開銷。
                                         
                                        ADSP-CM403XY HAE結果
                                         
                                        圖4中的HAE結果清楚表明觀察電壓均方根數據時,系 統中存在哪些諧波。圖中50 Hz基波清晰可見,但250 Hz 和350 Hz處的較低諧波(如諧波5和7)亦可在本示例結果中 看到。
                                         
                                        ADSP-CM403 HAE在太陽能應用中的諧波分析
                                        圖4. HAE的V rms示例結果(諧波1-12)
                                         
                                        這些計算中采用的特定等式如下所示;下列等式同時適 用于基波和諧波計算。
                                         
                                        Harmonic Engine Outputs and Registers where Values are Stored
                                         
                                        表1. HAE數學計算
                                        ADSP-CM403 HAE在太陽能應用中的諧波分析
                                         
                                        編程示例
                                         
                                        INT HAE_CONFIG(VOID)
                                        { INT I;
                                         
                                        HAE_INPUT_DATA(VOUTPUT, SINC_VEXT_DATA);
                                        HAE_INPUT_DATA(IOUTPUT, SINC_IMEAS_DATA);
                                         
                                        RESULT = ADI_HAE_OPEN(DEVNUM, DEVMEMORY, MEMORY_SIZE, &DEV);
                                        RESULT = ADI_HAE_REGISTERCALLBACK(DEV, HAECALLBACK, 0);
                                        RESULT = ADI_HAE_SELECTLINEFREQ(DEV, ADI_HAE_LINE_FREQ_50);
                                        RESULT = ADI_HAE_CONFIGRESULTS(DEV, ADI_HAE_RESULT_MODE_IMMEDIATE, ADI_HAE_SETTLE_TIME_512, ADI_HAE_UPDATE_RATE_128000);
                                        RESULT = ADI_HAE_SETVOLTAGELEVEL (DEV, 1.0);
                                        RESULT = ADI_HAE_ENABLEINPUTPROCESSING(DEV, FALSE, FALSE); /* FILTER ENABLED */
                                        /* ENABLE ALL HARMONICS (IN ORDER) */
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_1, 1);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_2, 2);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_3, 3);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_4, 4);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_5, 5);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_6, 6);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_7, 7);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_8, 8);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_9, 9);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_10, 10);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_11, 11);
                                        RESULT = ADI_HAE_HARMONICINDEX (DEV, ADI_HAE_HARMONIC_INDEX_12, 12);
                                         
                                        RESULT = ADI_HAE_SUBMITTXBUFFER(DEV, &TXBUFFER1[0], SIZEOF(TXBUFFER1));
                                        RESULT = ADI_HAE_SUBMITTXBUFFER(DEV, &TXBUFFER2[0], SIZEOF(TXBUFFER2));
                                        RESULT = ADI_HAE_ENABLEINTERRUPT(DEV, ADI_HAE_INT_RX, TRUE);
                                        RESULT = ADI_HAE_ENABLEINTERRUPT(DEV, ADI_HAE_INT_TX, TRUE);
                                        RESULT = ADI_HAE_CONFIGSAMPLEDIVIDER(DEV, 100000000);
                                        RESULT = ADI_HAE_RUN(DEV, TRUE);
                                        // RESULT = ADI_HAE_CLOSE(DEV);
                                         
                                        }
                                         
                                        /* EVENTS */
                                         
                                        VOID HAECALLBACK(VOID* PHANDLE, UINT32_T EVENT, VOID* PARG) /* ISR ROUTINE TO LOAD / UNLOAD DATA FROM HAE
                                         
                                        {
                                         
                                        UINT32_T N;
                                        ADI_HAE_EVENT EEVENT = (ADI_HAE_EVENT)EVENT; /* RESULTS RECEIVED FROM HAE 128MS */
                                        IF (EEVENT == ADI_HAE_EVENT_RESULTS_READY)
                                         
                                        { /* GET RESULTS */
                                         
                                        PRESULTS = (ADI_HAE_RESULT_STRUCT*)PARG; /* POINTER TO TXBUFFER1 OR TXBUFFER2 */
                                         
                                        /* DO SOMETHING WITH THE RESULTS */
                                        FOR (N=0; N<NUM_CHANNELS; N++)
                                         
                                        {
                                         
                                        IRMS[N] = PRESULTS[N].IRMS;
                                         
                                        VRMS[N] = PRESULTS[N].VRMS;
                                        ACTIVEPWR[N] = PRESULTS[N].ACTIVEPWR;
                                         
                                        }
                                         
                                        } /* TRANSMIT INPUT SAMPLES TO HAE – 8KHZ */
                                         
                                        IF (EEVENT == ADI_HAE_EVENT_INPUT_SAMPLE)
                                         
                                        { /* FIND LATETS SAMPLES FROM SINC BUFFER . */
                                         
                                        ADI_HAE_INPUTSAMPLE(DEV, (SINC_IMEAS_DATA[PWM_SINC_LOOP]),(SINC_VEXT_DATA[PWM_SINC_LOOP]));
                                        INDEX++;
                                          IF (INDEX >= NUM_SAMPLES) INDEX = 0;
                                         
                                        }
                                         
                                        COUNT++;
                                         
                                        }
                                         
                                         
                                        推薦閱讀:
                                         
                                        如何計算控制器參數使隔離式CAN網絡以1 Mbps的速度運行
                                        貿澤榮膺Bel Fuse 2019年度全球分銷商大獎
                                        HT566 I2S數字輸入2x20W立體聲無電感閉環D類音頻功放解決方案
                                        從ADAS到驅動器更換——實際雷達性能是否足夠好?
                                        用低噪聲儀表放大器設計高性能系統
                                        特別推薦
                                        技術文章更多>>
                                        技術白皮書下載更多>>
                                        熱門搜索
                                        ?

                                        關閉

                                        ?

                                        關閉

                                        国产精品亚洲АV无码播放|久久青青|老熟妇仑乱视频一区二区|国产精品经典三级一区|亚洲 校园 春色 另类 激情