李國洪 羅 秦
(天津理工大學天津市復雜系統控制理論及應用重點實驗室,天津 300384)
我國經濟的高速發展帶動了各行業的電力需求,在電能使用量大幅度增加的情況下,電力公司對電能數據的及時監測與分析受到了嚴重挑戰。為了滿足電力公司對農村和邊遠中小電站電力數據監測與分析的精確性、實時性和可靠性需求[1],筆者提出了基于電力線載波通信的嵌入式電力數據監測系統。
基于電力線載波通信的嵌入式電力數據監測系統由主機與從機組成(圖1),從機搭載了采集模塊和電力線載波通信模塊,主機不僅搭載了電力線載波通信模塊,還設有數據存儲模塊和上位機通信模塊。采集過程為:電壓和電流信號經過信號調理電路調理后,由模數轉換器(ADC)轉換為數字信號,再由STM32進行數據處理;開關量信號通過I/O端口輸入,STM32芯片以中斷方式讀取;收集到的電力數據經過處理后,利用HL-PLC-V2.0電力線載波模塊發送至主機進行儲存,以便對歷史數據進行查詢;最后上位機通過RS232與主機通信,發送控制信號并讀取數據。

圖1 系統總體結構示意圖
嵌入式電力數據監測系統選用32位增強型微控制器STM32F103VET6作為嵌入式系統的核心。基于Cortex-M3內核的STM32芯片工作頻率最高可達72MHz,片上不僅擁有512KByte的Flash,而且擁有64KByte的SRAM,它豐富的片上資源不但簡化了硬件系統的設計,還有效降低了系統功耗[2]。STM32F103VET6片上的ADC為12位逐次逼近型模數轉換器,它的各通道擁有單次、連續、掃描和間斷轉換模式,轉換結果以左對齊或者右對齊方式保存于數據寄存器中,并且支持DMA數據傳輸模式。
STM32F103VET6具有5個USART串行通信接口,發送與接收速率最高達4.5Mbit/s。芯片上的靈活靜態存儲器控制器(FSMC)利用同(異)步存儲器與PC卡接口(16位)相連,能方便地外擴存儲器。
具體設計包括兩個部分:模擬量信號采集部分與開關量信號采集部分。
該系統采集的模擬信號為高電壓信號和大電流信號,因此采集時首先要將信號進行調理,得到模數轉換器輸入范圍內的電壓信號。其中各相電流信號需要通過電流互感器和電流變送器變換,各相電壓信號則需要通過電壓互感器和電壓變送器來轉換為合適的低電壓信號(0.0~3.3 V),最后輸入STM32 ADC輸入端口。該系統選用的電壓互感器與電流互感器來自西安銥星電子科技公司,其單相電壓信號同步調理電路如圖2所示,220V交流電壓經調壓器轉換為100V交流電壓,通過調節限流電阻改變電壓互感器SPT204E的輸入端電流,使SPT204E輸出端電流為2mA,通過調節運算放大器OP_07cp的反饋電阻就可以得到需要的輸出電壓。單向電流信號調理電路采用的電流互感器 SCT254EK 的使用方法與 SPT204E相似[3]。

圖2 電壓信號同步調理電路
該系統的ADC采用同步注入模式,配置ADC通道1采樣A相電壓電流,通道2采樣B相電壓電流,從而實現A、B相電力數據的同步采樣;再通過三相電的特征(UA+UB+UC=0和IA+IB+IC=0)就可計算出C相電力數據。通過設置定時器2的TRGO事件來觸發A/D轉換,采樣時間設置為1.5個周期,使A/D轉換時間達到1μs,將轉換后的電力數據以右對齊格式保存,最后使用DMA方式將寄存器中的轉換數據快速存放到指定區域[4]。
開關量信號的輸入端口是STM32 I/O,并且I/O端口可配置到外部中斷線。開關量輸入電路如圖3所示。為了提高電絕緣與抗干擾能力,筆者選擇利用光耦合器TLP521完成開關量信號與STM32芯片之間的電氣隔離。光耦合器前的一階RC低通濾波器用于濾除輸入信號中的高頻噪聲。

圖3 開關量輸入電路
數據傳輸模塊的作用是將從機收集到的電力數據通過電力線傳輸到主機中。該系統采用HL-PLC電力線載波通信模塊,載波信號的調制方式為FSK,通信穩定、抗干擾能力強。載波中心頻率110kHz,模塊可以在過零發送模式和正常發送模式間自由切換。模塊使用HLPLCS520F芯片,這是專為電力線載波通信設計的一種高集成度FSK調制解調芯片,不僅集成了FSK調制解調器,還擁有高速數字信號處理器(圖4)。由于芯片中的FSK解調器具有較低的靈敏度和較強的抗干擾性能,因此可以保證電力線載波通信的可靠性。

圖4 HLPLCS520芯片接口電路
該系統的主機可以將收集到的電力數據上傳至監控中心的PC機,同時也方便計算機聯網共享數據。由于RS-232串口通信性價比高,傳輸可靠性強,通信距離和數據傳輸速率合適,因此該系統通過RS-232串口將采集到的電力數據由主機上傳到PC。
通過在主機上擴展閃存芯片,該系統可以實現對采集歷史數據的查詢。系統閃存芯片選用的是NAND256-A芯片,利用STM32片上的靜態存儲器控制器(FSMC)將外部存儲器劃分為固定大小的4塊,最后利用FSMC中的存儲塊2來連接閃存芯片[5]。
該系統的軟件設計以高效ARM開發環境Keil MDK為平臺。應用程序包括主程序、中斷處理程序、電力線載波通信程序和串行通信程序4部分。主程序用來配置GPIO口、嵌套中斷和系統時鐘,以及對系統定時器、ADC、電力線載波通信模塊、數據儲存模塊和串行通信模塊的初始化。
該系統采用由定時器觸發的同步注入模式同步采樣多路信號。當A/D轉換后的數據量達到256Byte后[6],從機將通過電力線載波模塊發送數據到主機,而主機收到從機的數據后進行一次存儲,將數據存入Flash芯片中,實現了歷史數據的查詢功能。同時,主機STM32通過串口通信將收到的數據發送到上位機。主程序流程如圖5所示。

圖5 主程序流程
定時器T2每6ms觸發一次中斷,進入中斷服務程序后(圖6),就將進行一次ADC注入組的同步轉換,A/D轉換后程序將會讀取轉換的結果并對讀取的數據進行計算。

圖6 中斷處理程序流程
電壓和電流的計算公式分別為:
式中I——電流有效值;
ik——在第k點采樣的電流值;
n——每周期采樣點數;
U——電壓有效值;
uk——在第k點采樣的電壓值。
三相電有功功率的計算公式為:
P=uAiA+uBiB+uCiC=PA+PB+PC
其中,A、B、C分別代表三相電。然后將計算得到的數據以右對齊格式保存,然后使用DMA方式進行數據傳輸,將寄存器中的數據快速儲存到指定區域等候主程序調用。
筆者介紹了一種基于電力線載波通信的嵌入式電力數據監測系統,其控制芯片采用了STM32F103VET6芯片,利用HL-PLC電力線載波通信模塊傳輸數據。該系統抗干擾能力強、通信距離遠,同時電力數據的準確性和實時性都有明顯提高。由于系統無需架設專門的通信電纜,非常適合國內邊遠地區復雜多變的電網環境。隨著電力系統的不斷發展,這種基于電力線載波通信的嵌入式電力數據監測系統將會具有更高的應用價值和更加廣闊的市場前景。