婁曉琪
(石家莊鐵路職業(yè)技術(shù)學(xué)院 河北石家莊 050000)
傳統(tǒng)的代碼開(kāi)發(fā)模式主要采用人工手寫代碼的方式,存在著需求分析錯(cuò)誤、項(xiàng)目前期開(kāi)發(fā)投入大、開(kāi)發(fā)周期長(zhǎng)手寫代碼良莠不齊等缺點(diǎn),限制了復(fù)雜控制系統(tǒng)開(kāi)發(fā)效率和準(zhǔn)確度的提升。
基于Simulink 模型設(shè)計(jì)的開(kāi)發(fā)模式能夠有效降低嵌入式系統(tǒng)的開(kāi)發(fā)門檻,通過(guò)Simulink/Stateflow建立系統(tǒng)模型,利用RTW-EC 自動(dòng)生成可優(yōu)移植的產(chǎn)品級(jí)C 代碼,并根據(jù)特定的配置自動(dòng)生成系統(tǒng)應(yīng)用程序,同時(shí)全流程的快速開(kāi)發(fā)工具鏈為系統(tǒng)開(kāi)發(fā)提供了有力的工具。在開(kāi)發(fā)控制系統(tǒng)時(shí),能夠減少對(duì)于底層代碼的關(guān)注,從而將更多地精力集中于模型的建立以及優(yōu)化上,縮短系統(tǒng)開(kāi)發(fā)時(shí)間。
本文針對(duì)單相電力鎖相環(huán)的相位跟蹤算法,在Matlab/Simulink 軟件中搭建系統(tǒng)模型,利用基于模型設(shè)計(jì)的方法成嵌入式代碼,通過(guò)DSP28335[3]開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)DAC 正弦及相位的信號(hào)的輸出,驗(yàn)證了自動(dòng)代生成技術(shù)能夠高效可靠地實(shí)現(xiàn)控制算法的設(shè)計(jì)與驗(yàn)證。
電網(wǎng)電壓的相位檢測(cè)法主要分為以下幾種[4]:硬件電路過(guò)零法、基于基波傅里葉變換計(jì)算相位法、基于三相dq 變換的鎖相環(huán)方法、基于單相dq 變換的鎖相環(huán)方法等,由于單相鎖相環(huán)能夠避免過(guò)多引入硬件、且在不對(duì)稱工況下也能夠正產(chǎn)運(yùn)行,因此采用單相鎖相環(huán)的控制策略。
對(duì)單相鎖相的原理進(jìn)行分析。設(shè)電網(wǎng)電壓為:
ω0為電網(wǎng)角頻率,,Φ0為電網(wǎng)電壓相位,ε0為電網(wǎng)檢測(cè)誤差分量及諧波。
假設(shè)生成的信號(hào)為:
ω1 為跟蹤信號(hào)角頻率,Φ1 為跟蹤信號(hào)相位。將(1)及(2)式相乘得到:
由公式(4)可知,其中共有三項(xiàng)分量,第一分量是100Hz 的正弦波動(dòng)分量,第二分量是直流分量,第三是高頻諧波引起的干擾。將相乘結(jié)果送入到平均值濾波器濾去2 倍頻分量及諧波分量。當(dāng)系統(tǒng)處于穩(wěn)態(tài)時(shí)刻:
圖1 單相鎖相環(huán)原理圖
將相位差與參考值0 做差后送入PI 控制器進(jìn)行相位跟蹤。其基本調(diào)節(jié)過(guò)程為,若跟蹤信號(hào)相位滯后輸入電網(wǎng)電壓信號(hào),則數(shù)字PI 調(diào)節(jié)器增大輸出ω值,最終使跟蹤信號(hào)相位趕上電網(wǎng)相位。當(dāng)跟蹤信號(hào)相位超前電網(wǎng)電壓信號(hào)相位,則數(shù)字PID 調(diào)節(jié)器輸出ω值,最終使跟蹤信號(hào)相位趕上電網(wǎng)相位。當(dāng)系統(tǒng)調(diào)蹤信號(hào)和電網(wǎng)相位相等。
基于模型設(shè)計(jì)的方法實(shí)現(xiàn)單相電力鎖相環(huán)的檢測(cè)算法首先在Simulink 軟件搭建仿真模型,將輸入信號(hào)設(shè)置為正弦函數(shù),相位輸出信號(hào)通過(guò)余弦函數(shù)與輸入信號(hào)相乘,仿真模型如圖2。
圖2 單相鎖相環(huán)仿真模型
仿真結(jié)果如圖3 所示,為便于觀測(cè)將系統(tǒng)信號(hào)放大兩倍,將鎖相環(huán)輸出相位與系統(tǒng)電壓放置于同一坐標(biāo)系,分析波形可以得出結(jié)論:?jiǎn)蜗噫i相環(huán)能夠準(zhǔn)確地跟蹤正弦信號(hào)相位,實(shí)現(xiàn)鎖相功能。
圖3 系統(tǒng)電壓及輸出相位波形圖
在Matlab/Simulink 中搭建代碼生成模型。其中ADC 模塊系統(tǒng)為Simulink 硬件支持包自帶的ADC采樣模塊,主要作用為采集外部帶有直流偏置的正弦信號(hào),并將采樣信號(hào)傳遞至交流信號(hào)提取模塊中,設(shè)置ADC 采樣時(shí)間為5e-5s,利用軟件查詢方式(software 方式)進(jìn)行采樣,采樣通道設(shè)置為ADCA0 通道,將采集數(shù)據(jù)類型設(shè)置為single。
圖4 Simulink 單相鎖相環(huán)代碼自動(dòng)成模型
由于ADC 采樣值為正值,參與鎖相環(huán)計(jì)算的正弦波為正負(fù)變化的正弦波,因此需要將直流量轉(zhuǎn)換為交流量進(jìn)行計(jì)算。將ADC 采樣信號(hào)縮小后引入活動(dòng)平均值濾波器[5]。Simulink 濾波器模型如圖5。設(shè)置采樣周期為5e-5s,假設(shè)二倍頻分量為周期為0.01s,得到一周波的延時(shí)d=400 拍。
圖5 Simulink 滑動(dòng)濾波器模型
為消除鑒相器產(chǎn)生的二倍頻分量,將輸入信號(hào)積分后延遲與原信號(hào)相即可消除二倍頻分量。設(shè)置采樣周期為5e-5s,假設(shè)二倍頻分量為周期為0.01s,得到一周波的延時(shí)d=200 拍。
利用SPI 串口輸出數(shù)據(jù)至TLV5620 數(shù)模轉(zhuǎn)換芯片,利用數(shù)字示波器觀測(cè)系統(tǒng)電壓及計(jì)算相位信息。
在自動(dòng)生成的CCS 文件中添加添加驅(qū)動(dòng)代碼:①在board.c 文件中添加代碼,將與TLV5620DAC芯片相連接的復(fù)用GPIO 配置為SPI 數(shù)據(jù)輸出口。②在adc.c 文件中進(jìn)行spi 波特率等配置。③在生成的Simulink 同名.c 文件中的step 子函數(shù)中添加DAC 輸出函數(shù)。輸出信息主要有相位值及至以及相位的正弦函數(shù)。
示波器輸出如圖6,CH1 通道為系統(tǒng)電壓,CH2 通道為單相鎖相環(huán)相位的正弦值DAC 輸出。輸出正弦值與系統(tǒng)電壓波形頻率相同,鎖相環(huán)能夠準(zhǔn)確跟蹤系統(tǒng)相位。
圖6 DAC 系統(tǒng)電壓及相位信息輸出
將相位信息的正弦值導(dǎo)出為CSV 格式,并利用MATLAB/Simulink 進(jìn)行FFT 分析,結(jié)果如圖7,正弦輸出為50Hz 基頻分量疊加直流分量,THD 為4.93%,驗(yàn)證了輸出相位正弦波的DAC 信號(hào)具有較低的畸變率及較高的平滑度。
圖7 DAC 相位輸出FFT 分析
仿真及實(shí)驗(yàn)表明,基于MATLAB 自動(dòng)生成代碼的方式能夠極大的加快嵌入式控制系統(tǒng)的開(kāi)發(fā)進(jìn)程,為電力電子控制系統(tǒng)的快速開(kāi)發(fā)及算法驗(yàn)證提供了有利的工具。
石家莊鐵路職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年2期