逆變器:從拓?fù)涞紻SP代碼實(shí)現(xiàn))
基于TMS320F280039C的7.2kW單相光伏儲能Heric并網(wǎng)逆變器從拓?fù)洹⒖刂扑惴ǖ紻SP代碼落地光伏儲能一體機(jī)是當(dāng)前戶用儲能系統(tǒng)中很常見的一種形態(tài)前級接光伏或電池后級通過并網(wǎng)逆變器與電網(wǎng)交互。當(dāng)單相系統(tǒng)做到7.2kW時(shí)母線電壓、電流應(yīng)力、共模漏電流、散熱和并網(wǎng)電流質(zhì)量都會成為必須認(rèn)真對待的問題。Heric拓?fù)湟驗(yàn)槟苡行б种艸橋結(jié)構(gòu)在高頻開關(guān)時(shí)產(chǎn)生的共模電壓變化常被用于單相無變壓器并網(wǎng)逆變器設(shè)計(jì)。這篇文章圍繞基于TMS320F280039C的7.2kW單相光伏儲能Heric并網(wǎng)逆變器項(xiàng)目從硬件原理圖、PCB設(shè)計(jì)、控制算法到DSP代碼框架完整梳理一套可以學(xué)習(xí)、參考和復(fù)現(xiàn)的技術(shù)主線。文章不是貼一段現(xiàn)成代碼就結(jié)束而是按“系統(tǒng)架構(gòu) - 拓?fù)湓?- 硬件設(shè)計(jì) - 控制方案 - 代碼架構(gòu) - 實(shí)驗(yàn)驗(yàn)證 - 問題排查 - 工程規(guī)范”的順序來展開。適合正在做數(shù)字電源、儲能逆變器、并網(wǎng)變換器的嵌入式工程師也適合想把DSP控制代碼、原理圖和PCB放在一起理解的學(xué)生或研究人員。讀完這篇文章你應(yīng)該能回答三個(gè)問題為什么選Heric拓?fù)銬SP里到底怎么跑電流環(huán)調(diào)試階段燒管子、電流畸變、鎖相失敗時(shí)該從哪入手。1. 先理解7.2kW單相光伏儲能系統(tǒng)的整體架構(gòu)1.1 系統(tǒng)能量鏈路光伏、電池和電網(wǎng)之間怎么配合7.2kW單相光伏儲能逆變器的典型結(jié)構(gòu)不是一個(gè)DC/AC逆變器而是一個(gè)多端口能量變換系統(tǒng)。常見電路拓?fù)涫莾杉壗Y(jié)構(gòu)前級負(fù)責(zé)光伏和儲能的直流變換后級負(fù)責(zé)并網(wǎng)逆變。在光伏儲能場景中前級一般包含一路Boost電路用于光伏MPPT以及一路雙向Buck-Boost電路用于電池充放電。兩級之間通過直流母線連接后級逆變器把母線直流電壓轉(zhuǎn)換為與電網(wǎng)同步的正弦交流電。Heric拓?fù)溆迷诤蠹壊⒕W(wǎng)逆變環(huán)節(jié)目的是無變壓器情況下既保持高效率又抑制共模漏電流。這樣的結(jié)構(gòu)帶來一個(gè)關(guān)鍵控制邏輯光伏和電池通過前級功率變換器共同維持直流母線電壓穩(wěn)定后級Heric逆變器的主要控制目標(biāo)是輸出高質(zhì)量正弦電流并跟隨電網(wǎng)電壓鎖相。簡單說后級不是直接控制輸出功率而是把母線能量以受控電流形式送入電網(wǎng)。7.2kW這個(gè)功率級別對單相系統(tǒng)來說屬于中等功率戶用級別。按220V交流電網(wǎng)計(jì)算輸出電流有效值約33A峰值電流接近46A。按110V電網(wǎng)計(jì)算電流會再翻倍。設(shè)計(jì)者首先要明確目標(biāo)電網(wǎng)電壓等級因?yàn)殡娏鲬?yīng)力會直接影響功率管、電感、采樣電阻和PCB走線的設(shè)計(jì)。1.2 為什么選用Heric拓?fù)涠皇瞧胀℉橋或H5拓?fù)淦胀ǖ膯蜗嗳珮蚰孀兤饔伤膫€(gè)開關(guān)管構(gòu)成結(jié)構(gòu)簡單、控制也容易理解但在無變壓器并網(wǎng)應(yīng)用中存在明顯問題四個(gè)開關(guān)管在正負(fù)半周高頻切換時(shí)光伏電池對地寄生電容兩端的共模電壓會高頻跳變形成共模電流。這個(gè)電流會流過寄生電容和電網(wǎng)形成回路既帶來EMI問題也帶來安全性隱患。業(yè)界解決共模漏電流的常見思路是拓?fù)浼墐?yōu)化不改變控制核心而是通過增加開關(guān)管和續(xù)流支路讓續(xù)流階段的電流回路保持共模電壓穩(wěn)定。H5拓?fù)湓谥绷鱾?cè)增加一個(gè)開關(guān)管Heric拓?fù)鋭t在交流側(cè)增加一條雙向開關(guān)支路。Heric拓?fù)涞乃悸房梢杂靡痪湓捀爬ɡm(xù)流階段不再讓電流經(jīng)過全橋的上下管和直流母線而是通過額外的雙向開關(guān)支路構(gòu)成交流側(cè)續(xù)流回路從而把電網(wǎng)側(cè)與光伏陣列在續(xù)流階段隔離。這樣共模電壓的波動明顯降低漏電流被抑制同時(shí)效率也得到保障。相比普通H橋Heric的代價(jià)是增加兩個(gè)開關(guān)管、驅(qū)動電路和相應(yīng)的控制邏輯相比H5Heric的續(xù)流路徑清晰對電感電流的續(xù)流能力更強(qiáng)。這里需要注意Heric也有不同實(shí)現(xiàn)細(xì)節(jié)比如雙向開關(guān)支路與輸出電容的具體接法、是否采用中點(diǎn)鉗位等不同資料里的畫法略有差異。實(shí)際項(xiàng)目中要結(jié)合具體原理圖確認(rèn)邏輯不能只看到“Heric”三個(gè)字就照著網(wǎng)上的圖照搬。1.3 7.2kW設(shè)計(jì)指標(biāo)帶來的約束條件7.2kW不是簡單把功率值寫進(jìn)參數(shù)表它會影響幾個(gè)具體設(shè)計(jì)選型開關(guān)管電流應(yīng)力按1.5到2倍峰值電流留余量需要選擇合適電流等級的單管IGBT或超結(jié)MOSFET。輸出濾波電感電流紋波設(shè)計(jì)時(shí)要考慮電感體積、鐵損、銅損和系統(tǒng)動態(tài)響應(yīng)。散熱設(shè)計(jì)必須算清損耗功率7.2kW逆變器滿載時(shí)的總損耗通常在200W到500W區(qū)間需要風(fēng)道或者大散熱器。母線電容的容值選擇要滿足母線電壓紋波和系統(tǒng)掉電維持時(shí)間的要求。保護(hù)電路動作速度要達(dá)到微秒級不能依賴軟件慢悠悠地去關(guān)PWM。在正式畫原理圖和寫代碼之前把系統(tǒng)設(shè)計(jì)邊界列清楚是第一步。下表是一個(gè)可參考的設(shè)計(jì)邊界示例實(shí)際參數(shù)要以目標(biāo)電網(wǎng)、功率管和磁性元件規(guī)格為準(zhǔn)。設(shè)計(jì)項(xiàng)示例目標(biāo)說明額定輸出功率7.2kW按連續(xù)運(yùn)行設(shè)計(jì)短時(shí)過載另算輸出電網(wǎng)電壓220V AC不同地區(qū)電網(wǎng)電壓不同電流應(yīng)力不同開關(guān)頻率20kHz需結(jié)合器件開關(guān)損耗和電感體積直流母線電壓400V DC左右取決于電網(wǎng)峰值和拓?fù)潆妷涸鲆娌⒕W(wǎng)電流THD小于5%需要兼顧死區(qū)補(bǔ)償和數(shù)字控制精度共模漏電流盡量低與拓?fù)?、調(diào)制策略和PCB布局相關(guān)2. 硬件設(shè)計(jì)原理圖和PCB的關(guān)鍵設(shè)計(jì)點(diǎn)2.1 主功率電路設(shè)計(jì)從母線電容到Heric橋臂主功率電路是整個(gè)硬件的核心。在原理圖設(shè)計(jì)時(shí)一般按功率流向劃分為輸入接口、母線電容、逆變橋、雙向續(xù)流支路、濾波電感和繼電器電路。母線電容在7.2kW設(shè)計(jì)中通常采用多個(gè)電解電容并聯(lián)并根據(jù)需要配合高頻薄膜電容吸收開關(guān)紋波。電容的耐壓要按母線電壓的1.2到1.5倍選取容值則需要兼顧紋波和動態(tài)響應(yīng)。母線電容過小會導(dǎo)致電壓紋波大過大則啟動電流和成本增加。Heric橋臂的四個(gè)主開關(guān)管承擔(dān)主要功率傳輸雙向續(xù)流支路的兩個(gè)開關(guān)管在續(xù)流階段高頻開通。開關(guān)管的驅(qū)動電阻、吸收電路和門極保護(hù)都要在原理圖上體現(xiàn)。驅(qū)動電阻過大會加大開關(guān)損耗過小會導(dǎo)致振蕩和EMI增大需要結(jié)合驅(qū)動芯片輸出能力和開關(guān)管Qg調(diào)試。輸出濾波電感是決定并網(wǎng)電流質(zhì)量的關(guān)鍵元件。設(shè)計(jì)時(shí)要根據(jù)允許的電流紋波計(jì)算電感量典型紋波電流可以取額定電流的15%到30%。同時(shí)還要考慮電感飽和電流、磁芯材料和繞線方式。2.2 采樣與調(diào)理電路電壓、電流、溫度一個(gè)都不能省DSP控制算法再準(zhǔn)確如果采樣電路把信號搞壞了系統(tǒng)也無法正常工作。7.2kW并網(wǎng)逆變器至少需要以下采樣點(diǎn)。電網(wǎng)電壓采樣用于鎖相和孤島檢測通常通過電阻分壓或電壓互感器轉(zhuǎn)換為低壓信號再經(jīng)過運(yùn)放調(diào)理進(jìn)入ADC。母線電壓采樣用于過壓保護(hù)、欠壓保護(hù)和電壓環(huán)控制。輸出電流采樣用于電流環(huán)閉環(huán)可以使用電流互感器、霍爾傳感器或采樣電阻。此外還要有電感溫度、IGBT殼溫、散熱器溫度等溫度采樣點(diǎn)。采樣電路的關(guān)鍵不是把信號送到ADC就結(jié)束還要處理信號偏移、零點(diǎn)漂移和鉗位保護(hù)。ADC輸入過壓時(shí)必須有鉗位二極管否則一個(gè)浪涌就可能擊穿DSP引腳。調(diào)理電路的帶寬也要設(shè)計(jì)合理既要保留高頻開關(guān)紋波信息用于保護(hù)又要防止高頻噪聲混疊進(jìn)ADC采樣。2.3 驅(qū)動與保護(hù)電路故障響應(yīng)要快到微秒級Heric拓?fù)涞?個(gè)或6個(gè)開關(guān)管必須使用獨(dú)立隔離驅(qū)動。驅(qū)動芯片需要具備足夠的峰值電流保證開關(guān)管快速導(dǎo)通和關(guān)斷。驅(qū)動電源建議采用原副邊隔離輸出多路的方式每路之間做好絕緣。保護(hù)電路分兩類。一類是硬件比較器快速保護(hù)比如過流信號直接送到驅(qū)動芯片的DESAT或相應(yīng)保護(hù)引腳立即封鎖PWM。另一類是DSP內(nèi)部保護(hù)ADC采樣到過流或過壓后在中斷里快速置位PWM TZTrip Zone引腳封鎖輸出。實(shí)際項(xiàng)目中寫軟件保護(hù)時(shí)一定要結(jié)合C2000系列PWM模塊的Trip Zone機(jī)制。不要把過流保護(hù)做成“檢測到過流后進(jìn)入中斷再在中斷里寫寄存器關(guān)PWM”雖然也能關(guān)斷但中斷響應(yīng)和指令執(zhí)行之間存在延遲。更可靠的做法是把故障信號連接到PWM模塊的Trip Zone輸入引腳由硬件外設(shè)直接動作DSP中斷負(fù)責(zé)記錄故障原因和狀態(tài)切換。2.4 PCB布局與EMC設(shè)計(jì)要點(diǎn)7.2kW功率級別下PCB布局對系統(tǒng)穩(wěn)定性的影響非常大。功率回路必須遵循最小環(huán)路原則。高頻開關(guān)電流流過的回路面積越小環(huán)路電感和輻射騷擾越低。母線電容到功率管的回路要盡量短而寬并盡量使用多層板讓功率回路的正負(fù)層形成緊耦合。驅(qū)動回路同樣要短驅(qū)動芯片輸出到開關(guān)管柵極的走線不能拉得太遠(yuǎn)必要時(shí)加?xùn)艠O電阻來抑制信號振蕩。采樣走線要注意與功率走線隔離避免功率回路的大電流在地層產(chǎn)生壓降干擾控制信號。推薦采用單點(diǎn)接地或者星形接地策略明確區(qū)分功率地、驅(qū)動地和信號地。電流采樣信號在進(jìn)入DSP前要做好濾波和鉗位。EMC設(shè)計(jì)在原理圖階段就要開始考慮。輸入和輸出端口要預(yù)留共模電感、差模電感、安規(guī)電容位置。屏蔽層或散熱器接地要仔細(xì)設(shè)計(jì)因?yàn)闊o變壓器拓?fù)渲猩崞魍枪材k娏鱾鲗?dǎo)路徑的一部分。3. 控制方案從鎖相、電流環(huán)到模式切換3.1 單相鎖相環(huán)設(shè)計(jì)沒有穩(wěn)定相位并網(wǎng)電流就無法控制并網(wǎng)逆變器需要實(shí)時(shí)跟蹤電網(wǎng)電壓的幅值、頻率和相位才能在正確的時(shí)刻輸出正確的電流。三相系統(tǒng)可以借助Clark變換直接得到角度單相系統(tǒng)則通常采用虛擬正交信號方式。常見做法是使用SOGI二階廣義積分器構(gòu)造一個(gè)與電網(wǎng)電壓正交的虛擬信號然后通過Park變換得到d軸和q軸分量再使用PI調(diào)節(jié)器鎖定d軸為零或固定角度。SOGI-PLL在電網(wǎng)頻率波動和諧波畸變時(shí)表現(xiàn)穩(wěn)定是單相并網(wǎng)項(xiàng)目里比較穩(wěn)妥的選擇。SOGI的核心結(jié)構(gòu)是讓輸入信號經(jīng)過兩個(gè)積分環(huán)節(jié)分別產(chǎn)生同相信號和正交信號。其調(diào)節(jié)參數(shù)與諧振頻率和帶寬有關(guān)。工程上要對輸出信號進(jìn)行限幅防止PLL在電網(wǎng)異常時(shí)大幅度跳變。PLL輸出角度用于電流環(huán)的坐標(biāo)變換角度一旦抖動并網(wǎng)電流波形就會出現(xiàn)明顯的毛刺。3.2 電流環(huán)控制PR調(diào)節(jié)器與dq旋轉(zhuǎn)系PI的取舍在單相并網(wǎng)逆變器中電流環(huán)有兩種主流實(shí)現(xiàn)路徑。第一種是靜止坐標(biāo)系下的PR調(diào)節(jié)器。PR調(diào)節(jié)器也叫比例諧振調(diào)節(jié)器其傳遞函數(shù)在基波頻率處具有無窮大增益可以無穩(wěn)態(tài)誤差地跟蹤正弦給定。工程中更常用準(zhǔn)PR調(diào)節(jié)器因?yàn)樵跀?shù)字實(shí)現(xiàn)時(shí)帶寬更穩(wěn)定對電網(wǎng)頻率偏移也有一定容忍度。在連續(xù)域中準(zhǔn)PR調(diào)節(jié)器可以寫作G(s) Kp Kr * (2 * wc * s) / (s^2 2 * wc * s w0^2)其中Kp影響動態(tài)響應(yīng)速度Kr影響諧振增益wc影響諧振帶寬w0是諧振頻率通常設(shè)為2pi50Hz。離散化時(shí)可以采用雙線性變換或零極點(diǎn)匹配并在代碼里驗(yàn)證離散化后的頻響是否符合預(yù)期。第二種是同步旋轉(zhuǎn)坐標(biāo)系下的PI控制。單相系統(tǒng)本來沒有天然的兩相正交坐標(biāo)系但可以通過SOGI構(gòu)造虛擬反饋量實(shí)現(xiàn)類似三相系統(tǒng)的dq控制。dq系PI控制的優(yōu)點(diǎn)是動態(tài)性能好d軸有功、q軸無功可獨(dú)立調(diào)節(jié)但實(shí)現(xiàn)上比PR控制多一層坐標(biāo)變換。從工程落地角度看很多單相項(xiàng)目會選擇準(zhǔn)PR控制因?yàn)榻Y(jié)構(gòu)簡單、參數(shù)直觀不需要復(fù)雜的坐標(biāo)變換。如果項(xiàng)目要求較強(qiáng)諧波抑制能力還可以并聯(lián)多個(gè)諧振點(diǎn)例如3次、5次、7次諧波補(bǔ)償器。不過諧振項(xiàng)增加后系統(tǒng)階數(shù)上升穩(wěn)定性分析會更復(fù)雜。3.3 直流母線電壓控制和MPPT的配合在后級并網(wǎng)逆變器輸出電流閉環(huán)穩(wěn)定的前提下直流母線電壓通常由前級變換器控制。光伏Boost電路負(fù)責(zé)MPPT電池Buck-Boost電路負(fù)責(zé)母線電壓恒壓或功率分配。光伏儲能系統(tǒng)中控制模式需要分情況考慮光伏功率小于負(fù)載或充電功率時(shí)光伏工作于MPPT狀態(tài)電池補(bǔ)充母線功率。光伏功率大于負(fù)載和充電需求時(shí)光伏脫離MPPT通過直流母線電壓限制輸出功率。并網(wǎng)模式下逆變器把母線剩余功率送到電網(wǎng)母線電壓由前級維持。這種模式切換由能量管理狀態(tài)機(jī)完成。DSP代碼中要定義清晰的系統(tǒng)狀態(tài)例如待機(jī)狀態(tài)、軟啟動狀態(tài)、并網(wǎng)運(yùn)行狀態(tài)、故障保護(hù)狀態(tài)。狀態(tài)切換時(shí)不僅要改變控制目標(biāo)還要考慮繼電器動作和啟動浪涌。3.4 并網(wǎng)保護(hù)與狀態(tài)機(jī)孤島檢測、過壓過頻保護(hù)不能少并網(wǎng)逆變器不是只執(zhí)行控制算法還要滿足電網(wǎng)保護(hù)和防孤島要求。DSP需要實(shí)時(shí)監(jiān)測電網(wǎng)電壓幅值、頻率、相位以及母線電壓、輸出電流和模塊溫度。孤島檢測通常分為被動式和主動式兩類。被動式檢測電網(wǎng)電壓幅值、頻率和相位跳變主動式檢測方法會向電網(wǎng)注入微小擾動例如頻率偏移或功率擾動觀察是否激發(fā)失穩(wěn)。實(shí)際產(chǎn)品中往往組合使用。軟件保護(hù)邏輯要實(shí)現(xiàn)“先動作、后記錄、再恢復(fù)”的順序。一旦觸發(fā)保護(hù)立即封波沒有經(jīng)過人工復(fù)位或工況恢復(fù)確認(rèn)不能自動重新并網(wǎng)。可靠性比復(fù)位的便利性更重要。4. TMS320F280039C上的DSP代碼架構(gòu)4.1 工程文件結(jié)構(gòu)把配置、算法和狀態(tài)機(jī)分開TMS320F280039C屬于TI C2000實(shí)時(shí)控制系列面向數(shù)字電源和電機(jī)控制等強(qiáng)實(shí)時(shí)場景。它集成了浮點(diǎn)處理單元、三角函數(shù)加速單元和CLA等協(xié)處理器。具體芯片主頻、Flash、ADC位數(shù)等參數(shù)需要以官方數(shù)據(jù)手冊和當(dāng)前SDK版本為準(zhǔn)。建議在CCS中創(chuàng)建工程時(shí)把代碼按功能模塊拆開而不是把所有邏輯寫進(jìn)一個(gè)main.c。以下是可參考的工程結(jié)構(gòu)project/ main.c 系統(tǒng)初始化、主循環(huán) system.c clock、GPIO、外設(shè)使能 adc.c ADC觸發(fā)配置、采樣結(jié)果讀取 pwm.c PWM初始化、死區(qū)、TZ保護(hù) interrupt.c 中斷服務(wù)函數(shù)入口 control.c 電流環(huán)、電壓環(huán)、PLL算法 protection.c 軟件保護(hù)邏輯 state_machine.c 系統(tǒng)狀態(tài)機(jī) power_measure.c 功率計(jì)算、有效值計(jì)算 communication.c 上位機(jī)通信、參數(shù)讀寫這樣的結(jié)構(gòu)在調(diào)試時(shí)有明顯優(yōu)勢看到異常現(xiàn)象不需要在幾千行代碼里亂翻可以直奔對應(yīng)的模塊。4.2 ADC采樣與PWM保持同步數(shù)字控制器最容易犯的問題就是對PWM中點(diǎn)信號采樣時(shí)ADC觸發(fā)時(shí)機(jī)不可控。當(dāng)開關(guān)管導(dǎo)通和關(guān)斷瞬間產(chǎn)生噪聲時(shí)如果ADC采樣正好落在開關(guān)邊沿附近采樣值會疊加嚴(yán)重的開關(guān)噪聲。正確做法是使用PWM模塊事件觸發(fā)ADC。C2000的PWM模塊可以在周期計(jì)數(shù)值匹配或事件觸發(fā)點(diǎn)產(chǎn)生ADC啟動信號ADC采集完成后觸發(fā)中斷在中斷里執(zhí)行控制算法。典型配置邏輯如下設(shè)定PWM載波頻率例如20kHz。觸發(fā)ADC在PWM周期中心點(diǎn)附近采樣。ADC轉(zhuǎn)換完成后產(chǎn)生中斷。中斷里讀取采樣值執(zhí)行PLL、電壓環(huán)和電流環(huán)。計(jì)算占空比更新PWM比較寄存器。使用這種“ADC觸發(fā) - 中斷 - 控制 - 更新PWM”的同步順序可以最大程度避免采樣抖動和占空比更新延遲不一致。4.3 PWM發(fā)波與死區(qū)配置Heric拓?fù)浒鳂蜷_關(guān)管和續(xù)流開關(guān)管PWM配置的關(guān)鍵是確定各橋臂的互補(bǔ)關(guān)系、死區(qū)時(shí)間和Trip Zone保護(hù)來源。在連續(xù)控制模式下主橋臂上下管必須互補(bǔ)導(dǎo)通中間插入死區(qū)時(shí)間。死區(qū)太短會出現(xiàn)直通短路死區(qū)太長會導(dǎo)致輸出電流畸變增大。典型IGBT死區(qū)時(shí)間在幾百納秒到2微秒之間具體由器件關(guān)斷延遲和驅(qū)動電路延遲決定。Heric續(xù)流開關(guān)管的PWM邏輯與調(diào)制方式有關(guān)不同調(diào)制策略下續(xù)流管的導(dǎo)通區(qū)間不同。項(xiàng)目代碼中要格外注意續(xù)流管的開通時(shí)序是否與主橋互補(bǔ)邏輯一致。寫錯(cuò)續(xù)流管的控制邏輯輕則電流畸變重則燒毀開關(guān)管。4.4 核心控制算法實(shí)現(xiàn)示意下面給出電流環(huán)控制中斷的示意代碼用于說明控制時(shí)序。實(shí)際項(xiàng)目中寄存器名和API以當(dāng)前SDK版本為準(zhǔn)不能原樣照抄。// control_isr由ADC完成中斷調(diào)用每個(gè)PWM周期執(zhí)行一次 interrupt void adc_isr(void) { // 1. 讀取ADC采樣結(jié)果 float vbus read_adc(ADC_CH_VBUS); float iac read_adc(ADC_CH_IAC); float vgrid read_adc(ADC_CH_VGRID); // 2. 更新鎖相環(huán) update_sogi_pll(vgrid); // 3. 計(jì)算電網(wǎng)電壓相位和單位正弦 float theta get_pll_theta(); // 4. 電流給定由電壓環(huán)輸出作為有功電流幅值 float iref_amp voltage_pi_ctrl(vbus_ref, vbus); // 5. 準(zhǔn)PR電流調(diào)節(jié)器 float ierr iref_amp * sin(theta) - iac; float duty quasi_pr_ctrl(ierr); // 6. 限幅保護(hù) protect_limiter(); // 7. 更新PWM比較寄存器 set_pwm_duty(duty); }準(zhǔn)PR調(diào)節(jié)器在工程中需要離散化。如果采用雙線性變換離散代碼里會維護(hù)幾個(gè)歷史狀態(tài)變量。編寫時(shí)要注意所有中間變量類型280039C支持浮點(diǎn)計(jì)算可以使用float但在低端定點(diǎn)芯片上則需要改用IQmath或者標(biāo)幺化處理。需要強(qiáng)調(diào)的是上面的代碼是控制主流程示意不是完整可運(yùn)行代碼。實(shí)際中斷中還要處理保護(hù)標(biāo)志、故障狀態(tài)鎖存、死區(qū)補(bǔ)償、前饋解耦和通信交互。4.5 參數(shù)在線調(diào)試與上位機(jī)交互數(shù)字控制器如果每次調(diào)參數(shù)都要重新編譯、燒錄、斷電效率會很低。項(xiàng)目中建議預(yù)留寄存器變量通過SCI、CAN或PMSM接口與上位機(jī)通信在運(yùn)行過程中在線調(diào)整Kp、Kr、限幅值等參數(shù)。使用CCS的Expression窗口也能修改變量但更適合單步調(diào)試。實(shí)際聯(lián)調(diào)時(shí)通常會接一個(gè)簡單上位機(jī)把IGBT溫度、母線電壓、并網(wǎng)電流、PLL頻率等關(guān)鍵變量以周期方式上傳同時(shí)下發(fā)參數(shù)修改指令。設(shè)計(jì)通信協(xié)議時(shí)要注意控制參數(shù)不宜直接寫入運(yùn)行變量更安全的做法是先寫入緩沖區(qū)收到參數(shù)更新命令后再一次性應(yīng)用到控制代碼避免參數(shù)寫入過程中出現(xiàn)半個(gè)周期的異常占空比。5. 仿真、驗(yàn)證與聯(lián)調(diào)方法5.1 先建立離線仿真模型再決定改硬件還是改代碼直接在設(shè)計(jì)出來的功率板上調(diào)試7.2kW風(fēng)險(xiǎn)很大一次炸管成本高還不容易找到原因。建議先在Matlab/Simulink或相關(guān)仿真環(huán)境中搭建拓?fù)淠P秃涂刂颇P桶袶eric拓?fù)?、采樣延遲、PWM死區(qū)、準(zhǔn)PR調(diào)節(jié)器放進(jìn)去觀察穩(wěn)態(tài)波形和動態(tài)響應(yīng)。仿真模型的價(jià)值在于可以安全地驗(yàn)證控制參數(shù)的范圍。比如發(fā)現(xiàn)并網(wǎng)電流在某個(gè)參數(shù)下不穩(wěn)定可以在仿真里不斷調(diào)整得到一個(gè)大概可行參數(shù)區(qū)間再拿到DSP上進(jìn)一步微調(diào)。注意仿真模型并不能替代硬件測試因?yàn)槠骷纳鷧?shù)、驅(qū)動延遲、傳感器噪聲和PCB寄生電感的建模并不完整。仿真驗(yàn)證合理的參數(shù)上板后也仍然需要重新微調(diào)。5.2 低壓小功率驗(yàn)證先空載、再阻性負(fù)載、最后才并網(wǎng)從零開始調(diào)試一個(gè)7.2kW并網(wǎng)逆變器不建議直接把電網(wǎng)接上。推薦按以下順序推進(jìn)。第一步只燒錄開環(huán)測試程序不接電網(wǎng)給定固定占空比觀察母線電壓和輸出驅(qū)動波形是否正常。第二步接入阻性負(fù)載或電子負(fù)載用較低母線電壓測試電流采樣、PWM發(fā)波和軟件計(jì)算鏈路是否正常。第三步通過調(diào)壓器提供低壓交流電進(jìn)行低壓并網(wǎng)測試。第四步逐步提高母線電壓和輸出功率。每一步都要確認(rèn)采樣值精度、PWM死區(qū)、保護(hù)觸發(fā)邏輯和溫度變化。如果低壓階段已經(jīng)出現(xiàn)異常不要急著提升功率先定位問題。5.3 并網(wǎng)波形與效率驗(yàn)證并網(wǎng)測試時(shí)重點(diǎn)看以下波形電網(wǎng)電壓與并網(wǎng)電流的相位關(guān)系應(yīng)該近似同相位。并網(wǎng)電流THD目標(biāo)通常小于5%。高頻開關(guān)紋波是否在濾波后得到有效抑制。有無過零畸變、電流尖峰和輕微震蕩。母線電壓在不同負(fù)載階躍下的恢復(fù)情況。效率測試則需要高精度功率分析儀。7.2kW級別項(xiàng)目中整機(jī)效率與功率管開關(guān)頻率、死區(qū)時(shí)間、電感損耗和驅(qū)動損耗都有關(guān)系。測試效率時(shí)不要只看滿載一點(diǎn)建議從10%負(fù)載到110%負(fù)載逐點(diǎn)記錄形成效率曲線。6. 常見問題排查從現(xiàn)象倒推根因6.1 上電后功率器件燒毀這是數(shù)字電源項(xiàng)目里代價(jià)最高的故障。需要從硬件和控制兩個(gè)方向同時(shí)排查。問題現(xiàn)象常見原因檢查方式處理建議上電瞬間IGBT擊穿驅(qū)動時(shí)序錯(cuò)亂或上下管同時(shí)導(dǎo)通使用示波器同時(shí)觀察上下管驅(qū)動波形重點(diǎn)看死區(qū)確認(rèn)PWM死區(qū)配置、驅(qū)動芯片欠壓保護(hù)、上電時(shí)序開機(jī)后功率管連續(xù)燒毀電流環(huán)未閉合或保護(hù)不動作查看DSP故障標(biāo)志位、Trip Zone引腳狀態(tài)先小功率驗(yàn)證確保保護(hù)觸發(fā)優(yōu)先級高于控制續(xù)流管損壞Heric續(xù)流管控制邏輯錯(cuò)誤對照原理圖確認(rèn)續(xù)流管與主橋的邏輯關(guān)系重新梳理PWM邏輯增加硬件保護(hù)回路6.2 并網(wǎng)電流畸變明顯電流畸變原因復(fù)雜建議按以下鏈路排查。檢查電流采樣調(diào)理電路是否在開關(guān)管導(dǎo)通瞬間抓到噪聲。檢查PWM死區(qū)補(bǔ)償是否開啟。檢查準(zhǔn)PR調(diào)節(jié)器參數(shù)是否偏大導(dǎo)致諧振點(diǎn)不穩(wěn)定。檢查PLL輸出角度是否抖動。檢查濾波電感是否飽和或參數(shù)偏移。最容易忽略的是采樣時(shí)序問題。如果ADC采樣點(diǎn)落在PWM開關(guān)邊沿附近即使電流環(huán)參數(shù)正確電流波形也會表現(xiàn)出周期性毛刺。這時(shí)候不要急著調(diào)Kp和Kr先把采樣時(shí)刻移到PWM載波中點(diǎn)附近。6.3 鎖相失敗或PLL輸出持續(xù)波動單相系統(tǒng)鎖相失敗通常與電網(wǎng)電壓采樣噪聲和正交信號生成參數(shù)有關(guān)。檢查步驟包括確認(rèn)電網(wǎng)電壓采樣值沒有削頂和偏移。確認(rèn)SOGI的諧振頻率與電網(wǎng)頻率一致。確認(rèn)PLL環(huán)路帶寬設(shè)置合理。確認(rèn)電網(wǎng)電壓頻率超過允許范圍時(shí)軟件能夠進(jìn)入保護(hù)狀態(tài)而不是繼續(xù)追蹤。如果電網(wǎng)電壓波形本身畸變嚴(yán)重PLL參數(shù)過于激進(jìn)會導(dǎo)致角度跟隨諧波抖動。此時(shí)適當(dāng)降低PLL帶寬在PLL輸出端加入限幅。6.4 程序跑飛、中斷配置錯(cuò)誤或變量異常DSP程序跑飛大多不是芯片問題而是中斷優(yōu)先級、變量地址或外設(shè)配置沖突。常見現(xiàn)象和處理方法如下現(xiàn)象控制中斷偶發(fā)不執(zhí)行。原因中斷進(jìn)出沒有及時(shí)響應(yīng)或觸發(fā)標(biāo)志沒有清零。處理檢查中斷服務(wù)函數(shù)末尾是否清除標(biāo)志位確認(rèn)中斷優(yōu)先級是否被其他中斷阻塞?,F(xiàn)象PWM輸出有時(shí)出現(xiàn)大占空比跳變。原因變量被多處修改比如上位機(jī)參數(shù)寫入和中斷控制同時(shí)訪問同一變量。處理對關(guān)鍵變量使用原子操作或短暫關(guān)中斷保護(hù)?,F(xiàn)象程序在特定條件下復(fù)位。原因看門狗未喂或內(nèi)存越界。處理檢查看門狗配置優(yōu)先在調(diào)試階段關(guān)閉看門狗定位越界代碼。6.5 漏電流偏大或EMI超標(biāo)當(dāng)Heric拓?fù)湟呀?jīng)正確實(shí)現(xiàn)漏電流卻仍然偏大時(shí)首先要懷疑PCB布局和共模路徑。檢查散熱器接地、電纜屏蔽層、母線電容放置位置和輸出濾波器設(shè)計(jì)。其次檢查調(diào)制策略是否真的在續(xù)流階段斷開了直流側(cè)與交流側(cè)的連接。共模問題可以通過在交流側(cè)增加共模電感、優(yōu)化Y電容連接方式、調(diào)整PWM調(diào)制策略等方向處理。7. 最佳實(shí)踐、可復(fù)用清單與擴(kuò)展方向7.1 項(xiàng)目排障與發(fā)布清單實(shí)際開發(fā)過程中建議建立一個(gè)可復(fù)用的檢查清單。每次上電和打樣前逐項(xiàng)確認(rèn)能明顯減少低級錯(cuò)誤引發(fā)的故障。已確認(rèn)DSP型號、晶振頻率、ADC參考電壓和PWM引腳映射。已確認(rèn)原理圖中驅(qū)動信號、反饋信號和DSP引腳一一對應(yīng)沒有反接或錯(cuò)位。已確認(rèn)功率部分和控制部分的地平面分割與連接點(diǎn)合理。已確認(rèn)所有ADC輸入都有鉗位保護(hù)。已確認(rèn)保護(hù)觸發(fā)信號連接到PWM Trip Zone引腳而不是只依賴中斷。已確認(rèn)PWM死區(qū)時(shí)間大于功率管關(guān)斷延遲。已確認(rèn)母線電壓采樣分壓比和過壓保護(hù)閾值一致。已確認(rèn)電流采樣放大倍數(shù)和DSP標(biāo)幺值轉(zhuǎn)換關(guān)系一致。已確認(rèn)低壓小功率驗(yàn)證通過后再提升電壓和功率。已確認(rèn)并網(wǎng)測試前孤島檢測、過/欠壓、過/欠頻保護(hù)均已在臺架測試中觸發(fā)。這個(gè)清單還會隨著調(diào)試過程不斷補(bǔ)充。每遇到一個(gè)新坑就把坑記錄到清單中后續(xù)項(xiàng)目直接復(fù)用。7.2 控制算法的擴(kuò)展方向基礎(chǔ)準(zhǔn)PR電流環(huán)跑通之后可以繼續(xù)擴(kuò)展以下方向。第一死區(qū)補(bǔ)償。IGBT開關(guān)管存在死區(qū)時(shí)間死區(qū)會造成輸出電壓畸變引入低頻諧波。通過電流極性判斷可以在PWM占空比中疊加補(bǔ)償量。第二諧波補(bǔ)償。在準(zhǔn)PR調(diào)節(jié)器基礎(chǔ)上并聯(lián)5次、7次等諧波諧振器可以進(jìn)一步降低并網(wǎng)電流THD。第三重復(fù)控制。重復(fù)控制基于內(nèi)模原理能對周期性誤差提供較好抑制效果但動態(tài)響應(yīng)較慢常與比例控制器結(jié)合使用。關(guān)于預(yù)測控制、ADRC、LQR、模糊PID、神經(jīng)網(wǎng)絡(luò)控制等算法這些方向在研究項(xiàng)目中有很多討論。需要提示的是面向7.2kW并網(wǎng)逆變器的控制算法首要目標(biāo)是穩(wěn)定性、實(shí)時(shí)性和可解釋性。先進(jìn)控制算法在仿真中表現(xiàn)好不等于在DSP中執(zhí)行效率和魯棒性也滿足要求。如果打算研究這些算法建議先在已有的準(zhǔn)PR閉環(huán)基礎(chǔ)上建立仿真對比框架用THD、動態(tài)響應(yīng)時(shí)間、參數(shù)魯棒性和計(jì)算開銷四個(gè)維度進(jìn)行量化評估再決定是否替換或融合現(xiàn)有控制結(jié)構(gòu)。7.3 對新手最有價(jià)值的練習(xí)路徑如果你想從零開始掌握這個(gè)項(xiàng)目不要一開始就追求直接并網(wǎng)。建議按這樣的順序練習(xí)用Simulink搭建一個(gè)單相H6/Heric逆變器模型先理解各開關(guān)管的導(dǎo)通狀態(tài)。在DSP開發(fā)板上實(shí)現(xiàn)一個(gè)LED燈點(diǎn)亮和定時(shí)器中斷熟悉CCS工程結(jié)構(gòu)和編譯燒錄流程。實(shí)現(xiàn)ADC采樣并通過串口把采樣值發(fā)送到電腦驗(yàn)證采樣鏈路。實(shí)現(xiàn)一個(gè)固定占空比方波輸出用示波器觀察死區(qū)是否正確。在低壓阻性負(fù)載下跑通開環(huán)和閉環(huán)電流控制。最后再進(jìn)入并網(wǎng)階段。每一步都是下一步的基礎(chǔ)跳步往往意味著后面需要花更多時(shí)間排查低級問題。數(shù)字電源和并網(wǎng)逆變器的調(diào)試經(jīng)驗(yàn)大多不是來自復(fù)雜的理論推導(dǎo)而是來自一次次對采樣波形、驅(qū)動波形和保護(hù)行為的觀察。把每個(gè)環(huán)節(jié)的數(shù)據(jù)記錄下來問題就能更快找到出口。