婁曉琪
(石家莊鐵路職業技術學院 河北石家莊 050000)
傳統的代碼開發模式主要采用人工手寫代碼的方式,存在著需求分析錯誤、項目前期開發投入大、開發周期長手寫代碼良莠不齊等缺點,限制了復雜控制系統開發效率和準確度的提升。
基于Simulink 模型設計的開發模式能夠有效降低嵌入式系統的開發門檻,通過Simulink/Stateflow建立系統模型,利用RTW-EC 自動生成可優移植的產品級C 代碼,并根據特定的配置自動生成系統應用程序,同時全流程的快速開發工具鏈為系統開發提供了有力的工具。在開發控制系統時,能夠減少對于底層代碼的關注,從而將更多地精力集中于模型的建立以及優化上,縮短系統開發時間。
本文針對單相電力鎖相環的相位跟蹤算法,在Matlab/Simulink 軟件中搭建系統模型,利用基于模型設計的方法成嵌入式代碼,通過DSP28335[3]開發平臺實現DAC 正弦及相位的信號的輸出,驗證了自動代生成技術能夠高效可靠地實現控制算法的設計與驗證。
電網電壓的相位檢測法主要分為以下幾種[4]:硬件電路過零法、基于基波傅里葉變換計算相位法、基于三相dq 變換的鎖相環方法、基于單相dq 變換的鎖相環方法等,由于單相鎖相環能夠避免過多引入硬件、且在不對稱工況下也能夠正產運行,因此采用單相鎖相環的控制策略。
對單相鎖相的原理進行分析。設電網電壓為:

ω0為電網角頻率,,Φ0為電網電壓相位,ε0為電網檢測誤差分量及諧波。
假設生成的信號為:

ω1 為跟蹤信號角頻率,Φ1 為跟蹤信號相位。將(1)及(2)式相乘得到:

由公式(4)可知,其中共有三項分量,第一分量是100Hz 的正弦波動分量,第二分量是直流分量,第三是高頻諧波引起的干擾。將相乘結果送入到平均值濾波器濾去2 倍頻分量及諧波分量。當系統處于穩態時刻:


圖1 單相鎖相環原理圖
將相位差與參考值0 做差后送入PI 控制器進行相位跟蹤。其基本調節過程為,若跟蹤信號相位滯后輸入電網電壓信號,則數字PI 調節器增大輸出ω值,最終使跟蹤信號相位趕上電網相位。當跟蹤信號相位超前電網電壓信號相位,則數字PID 調節器輸出ω值,最終使跟蹤信號相位趕上電網相位。當系統調蹤信號和電網相位相等。
基于模型設計的方法實現單相電力鎖相環的檢測算法首先在Simulink 軟件搭建仿真模型,將輸入信號設置為正弦函數,相位輸出信號通過余弦函數與輸入信號相乘,仿真模型如圖2。

圖2 單相鎖相環仿真模型
仿真結果如圖3 所示,為便于觀測將系統信號放大兩倍,將鎖相環輸出相位與系統電壓放置于同一坐標系,分析波形可以得出結論:單相鎖相環能夠準確地跟蹤正弦信號相位,實現鎖相功能。

圖3 系統電壓及輸出相位波形圖
在Matlab/Simulink 中搭建代碼生成模型。其中ADC 模塊系統為Simulink 硬件支持包自帶的ADC采樣模塊,主要作用為采集外部帶有直流偏置的正弦信號,并將采樣信號傳遞至交流信號提取模塊中,設置ADC 采樣時間為5e-5s,利用軟件查詢方式(software 方式)進行采樣,采樣通道設置為ADCA0 通道,將采集數據類型設置為single。

圖4 Simulink 單相鎖相環代碼自動成模型
由于ADC 采樣值為正值,參與鎖相環計算的正弦波為正負變化的正弦波,因此需要將直流量轉換為交流量進行計算。將ADC 采樣信號縮小后引入活動平均值濾波器[5]。Simulink 濾波器模型如圖5。設置采樣周期為5e-5s,假設二倍頻分量為周期為0.01s,得到一周波的延時d=400 拍。

圖5 Simulink 滑動濾波器模型
為消除鑒相器產生的二倍頻分量,將輸入信號積分后延遲與原信號相即可消除二倍頻分量。設置采樣周期為5e-5s,假設二倍頻分量為周期為0.01s,得到一周波的延時d=200 拍。
利用SPI 串口輸出數據至TLV5620 數模轉換芯片,利用數字示波器觀測系統電壓及計算相位信息。
在自動生成的CCS 文件中添加添加驅動代碼:①在board.c 文件中添加代碼,將與TLV5620DAC芯片相連接的復用GPIO 配置為SPI 數據輸出口。②在adc.c 文件中進行spi 波特率等配置。③在生成的Simulink 同名.c 文件中的step 子函數中添加DAC 輸出函數。輸出信息主要有相位值及至以及相位的正弦函數。
示波器輸出如圖6,CH1 通道為系統電壓,CH2 通道為單相鎖相環相位的正弦值DAC 輸出。輸出正弦值與系統電壓波形頻率相同,鎖相環能夠準確跟蹤系統相位。

圖6 DAC 系統電壓及相位信息輸出
將相位信息的正弦值導出為CSV 格式,并利用MATLAB/Simulink 進行FFT 分析,結果如圖7,正弦輸出為50Hz 基頻分量疊加直流分量,THD 為4.93%,驗證了輸出相位正弦波的DAC 信號具有較低的畸變率及較高的平滑度。

圖7 DAC 相位輸出FFT 分析
仿真及實驗表明,基于MATLAB 自動生成代碼的方式能夠極大的加快嵌入式控制系統的開發進程,為電力電子控制系統的快速開發及算法驗證提供了有利的工具。