祝 海 寧(上海電機學院 資產與實驗室管理處, 上海 201306)
能源互聯網時代的到來推動了我國電力行業的發展,使我國電力行業邁開了新的發展步伐,進入了新的篇章。我國正處于經濟建設和社會主義發展的重要時期,快速發展的國民經濟對電力需求越來越大,國家也在投入越來越多的人力和財力來發展電力行業。近幾年,國家提出建設堅強智能電網,來完善電力產業,支撐國民經濟的快速發展。堅強智能電網的建設對電力數據采集系統的實時性、準確性、高效性提出了更高的要求。
傳統的電力數據采集裝置存在芯片功能單一、存儲空間小、軟件程序算法復雜、實時性差、精度不夠、效率低等缺點。本文設計了一種基于ATT7022E和STM32為主要芯片的新型的電力數據采集裝置。ATT7022E是多功能高精度三相電能專用計量芯片,其強大的測量功能完全滿足國家電網對智能電表實時性、準確性、存儲容量等各方面要求,再加上ARM處理器高速的數據處理速度、超低的功耗和豐富的片上資源,大大節約了硬件投資,非常有利于推廣應用[1-2]。
如圖1所示。本系統采用專用電能計量芯片ATT7022E和STM32F103ZE主控單元完成多功能智能電表數據采集和處理。其中ATT7022E采集模塊進行數據采集,采集到的數據通過SPI接口與外部MCU連接進行計量與校表參數,STM32F103ZE主要完成數據的處理、存儲和通信,通信模塊可通過CAN、GPRS通信完成與上位機或其他裝置的通信功能,最終將所得數據通過液晶顯示器顯示[3-5]。

圖1 系統總體框圖
本系統電源模塊采用LM2576穩壓器芯片,24 V直流電壓經穩壓芯LM2576后能夠輸出3.3、5、12 V等固定電壓和電壓可調節的可調節電壓,分別給專用計量芯片ATT7022E和控制單元STM32F103ZE供電。同時,輸出的5 V電源經穩壓芯片CS5230A后得到3.8 V輸出電壓,為GPRS模塊的GTM900C芯片供電[6-7]。輸入24 V電源由電網電壓經整流電路后得到。LM2576工作原理如圖2所示。

圖2 LM2576工作原理
電力數據采集模塊采用鉅泉光電科技(上海)股份有限公司的專用計量芯片ATT7022E作為電網電力數據采集裝置的核心芯片。ATT7022E芯片內集成了7路19位的ADC,包含一套電源監控電路,此外含有SPI串行通信接口,數據傳輸速率可達10 Mb/s,可實現與MCU高速數據傳輸。
電源監控特性如圖3所示,可對輸入的模擬電源進行不間斷監測,當電源電壓低于(2.5±5%)V時芯片將被復位,可以保證芯片上電和斷電時正常工作,此外為保證芯片正常工作,對電源去耦,使模擬電源的波動不超過(3.3±5%)V。

圖3 電源監控特性
正常工作時,芯片內7路模擬量輸入被分為電壓輸入通道和電流輸入通道。電力數據采集電路如圖4所示,電路中僅畫出了A相電壓、電流,B相和C相同理。其中電壓采樣電路有電壓互感器采樣電路和電阻分壓采樣電路,本文采用電阻分壓采樣,1 kΩ電阻和0.1 μF電容并聯組成抗混疊濾波器,抑制雜波對數據采集的影響。電流采樣電路采用電流互感器,R7的作用分別是把需要采集的電流信號轉換成ATT7022E專用計量芯片要求的電壓信號。多功能高精度三相電能專用計量芯片ATT7022E含有SPI串行通信接口,可以實現ATT7022E芯片與外部MCU之間進行計量數據的傳輸。

圖4 ATT7022E電壓、電流采集電路
根據ATT7022E芯片的功能特點,采用多功能高精度三相電能專用計量芯片ATT7022E作為三相電網電力數據采集裝置的核心芯片,芯片的電源監控電路有利于保障上電和斷電時芯片的正常啟動和正常工作電源。把電源監控電路安排在延時和過濾環節中可以最大程度減少由電源噪聲引起的誤差。系統自帶兩個獨立的硬件復位和軟件復位功能。最主要的是ATT7022E芯片可以完成三相三線或者三相四線模式下的電能質量測量、有效值測量、有功計算、無功計算、視在計算、硬件端口檢測、片上溫度檢測、能量脈沖輸出、ADC采樣數據緩沖以及同步采樣數據緩沖等功能。以功能高精度三相電能專用計量芯片ATT7022E作為電力數據采集單元,可以簡化傳統的電力監測儀的復雜的硬件系統,同時可以極大地提高運行速率,因此基于ATT7022E專用計量芯片的多功能電力數據采集系統具有實時性高、準確性高、存儲容量大等特點。
MCU模塊采用意法半導體公司ARM Cortex-M3內核STM32F103ZE。STM32F103ZE是32位微處理器,其片上資源豐富,工作頻率最高可達72 MHz,帶512 Kbyte的FLASH,內部功耗較低,電源調節器有睡眠、停機和待機3種工作模式,含有3個12位ADC、11個定時器和13個通信接口,包括2個I2C接口、5個UART接口、3個SPI接口、CAN接口、USB2.0全速接口和SDIO接口,通用I/O口達到112個,具有高性能、低能耗、強大處理能力的優點。
時鐘電路模塊主要由DS1307時鐘芯片來完成。DS1307是一種低功耗的時鐘芯片,可提供秒、分、小時、星期、日期、月和年等時鐘日歷數據。它的接口采用I2C兩線制串行接口,因此可通過SCL和SDA引腳與MCU單元連接。另外,DS1307時鐘芯片具有2.5~5.5 V的寬電壓供電范圍,同時還具有32.768 kHz 的外部晶振[8]。它的3號引腳接有備用電池,當芯片供電輸入引腳出現故障時,可自動切換到電池供電模式。時鐘電路原理圖如圖5所示。

圖5 時鐘電路原理圖
2.5.1CAN通信
控制器局域網(Controller Area Network,CAN)包含OSI中的物理層、數據鏈路層、傳輸層。STM32F103ZE中包含兩個CAN通信接口CAN1和CAN2。它的通信是通過幀格式,包括數據幀、遙控幀、錯誤幀、過載幀、幀間隔,其中數據幀和遙控幀有標準格式的11位標識符和擴展格式的29位標識符。CAN通過報文的形式發送和接收數據,每組報文開頭的11位字符為標識符,它是站與站直接收發數據的標志,同時當有多個數據同時發送時,也可通過標識符判斷發送數據的優先級。
圖6所示為CAN通信電路原理圖。其中CTM1050 為帶隔離的高速CAN收發器芯片,該芯片通過CANRXB和CANTXB引腳與MCU相連,將CAN控制器的邏輯電平轉換為CAN總線的差分電平,通過CANH、CANL兩根總線的電位差判斷總電平的顯、隱性。另外該芯片還具有 2.5 kV直流隔離功能及ESD保護作用。

圖6 CAN通信原理圖
2.5.2GPRS通信
通用無線分組業務(General Packet Radio Service,GPRS)一種在GSM網絡上增加了SGSN(GPRS業務支持節點)及GGSN(GPRS網關支持節點)的無線分組交換技術,支持點到點和點到多點數據服務。相較于其他無線傳輸技術,GPRS無線通信技術采用按流量計費,減低用戶費用,同時,GPRS無線通信技術支持SMS業務,可作為備用通信方式,當GPRS通信故障時,啟動短信通道通信。
本系統采用華為的GTM900C作為GPRS通信模塊,該模塊支持3種頻率通信,內部嵌有TCP/IP協議、異步串行接口、SIM卡接口,支持多種串口速率,同時可通過AT命令控制GPRS無線模塊,GTM900C引腳連接圖如圖7所示。GTM900C模塊輸入電壓為3.8 V,可通過穩壓芯片CS5203A獲得。GPRS模塊和MCU之間通過UART串口進行通信,端口UART_RXD和UART_TXD用于MCU模塊接收和發送數據,同時,該模塊支持外接SIM卡,SIM卡接口分別于外置SIM卡上對應接口CCVCC、CCGND、CCRST、CCCLK、CCIO連接。

圖7 GTM900C模塊
GPRS遠程電力計量系統實時性強,集抄范圍廣,數據傳輸速率高,傳輸容量大,建設成本低,通信費用低,充分利用當前先進的計算機網絡通信技術和控制技術,克服了傳統運行的局限性,實現了對各個系統的自動采集、傳輸、存儲、計算、分析和WEB的發布。用戶可以通過平臺訪問到每塊表的數據,了解每時每刻的用電情況和電氣運行狀態。
本系統主要有以下模塊組成:主程序、數據采集模塊、數據存儲模塊、通信模塊、顯示模塊等。軟件運行中還包含:定時器中斷、外部中斷以及通信中斷程序等[9-10]。
軟件系統首先初始化,設置各個子系統參數,再通過ATT7022E模塊完成模擬量、開關量的采集。采集完信息后,檢測通信標志,完成數據發送,并判別數據是否發送錯誤。經MCU接收數據完成數據處理,最后傳送數據到顯示系統。主程序流程圖如8所示。

圖8 主程序流程圖
ATT7022E和MCU之間通過SPI通信接口連接,SPI通信接口包含4條接口線。CS為片選,下降沿有效;DIN、DOUT分別為串行數據輸入和輸出,分別用于將數據傳輸到ATT7022E和從ATT7022E中讀出數據;SCLK為串行時鐘,在下升沿時將DIN數據采樣到ATT7022E中,上降沿時將ATT7022E中數據放到DOUT輸出。數據傳輸格式為8位命令和24位數據,其讀寫操作時序圖如圖9所示。

圖9 ATT7022E操作時序圖
在程序設計時,首先初始化ATT7022E的SPI引腳功能配置,然后調用讀寫數據函數,在ATT7022E指定地址的寄存器中實現讀寫操作,當CS引腳下降沿時,進入讀寫操作,依次完成4個字節的讀寫后,將CS引腳拉高,完成一次數據傳輸。
STM32F103ZE外部中斷寄存器由中斷屏蔽寄存器、事件屏蔽寄存器、上升沿觸發選擇寄存器、下降沿觸發選擇寄存器、軟件中斷事件寄存器、掛起寄存器。其中每個輸入線可以獨立配置輸入類型和對應的出發事件,也可以被獨立屏蔽。掛起寄存器保持著狀態線的終端要求。
EXTI寄存器部分中斷程序代碼:
Void EXTI0-IRQHandler(void)
{
OS-CPU-SR cpu-sr
INT32U temp;
OS-ENTER-CRITICAL();
OSIntNesting++;
OS-EXIT-CRITICAL();
if(EXTI-GetITStatus(KEY-DOWN-INTRUPT)!=RESET)
{ temp=EXTI->IMR;
temp &=~DISPLAY-TURN-DOWN-INTERUPT-EXTI-LINE;
EXTI->IMR=temp;
EXTI-ClearITPendingBit(KEY DOWN INTRUPT)
if(GPIO-ReadInputDataBit(DISPLAY-TURN-DOWN-PORT, DISPLAY-TURN-DOWN-PIN)==0)
{ Power-ctr.count=0;
OSSemPost(1cd-sem);
}
}
OSIntExit();
}
在使用CAN通信時,首先調用CAN_Int()初始化函數,完成對CAN的模式選擇、IO口配置和CAN參數的初始化,然后調用CAN_Transmit()函數來發送數據,其發送數據流程為:選擇空置的發送郵箱;設置標識符、數據長度和待發送數據;然后對CAN_TIxR寄存器的TXRQ位置‘1’,請求發送。CAN數據的接收需要知道ID,因此設置了CAN的過濾器,屏蔽掉不想要的ID,STM32F103ZE中有14組過濾器,每組過濾器有兩個32位的寄存器,CAN過濾器可通過CAN_FilterInit()函數來設置。CAN發送和接收部分程序如下[11]:
(1) CAN發送函數。
Void CAN_SendMesg(uint32_t id,uint8_t len,uint8_t*dat)
{
Uint16_t i=0;
canTxMsg TxMessage;
if(len>8)
{
Return;
}
TxMessage.StdId=(id&0x7FF);//標準幀ID11位
TxMessage.ExtId=(id>>11);設置擴展標示符
TxMessage.RTR=CAN_RTR_DATA;
if((id&0x7FF)== 0x7FF)//檢測是標準幀還是拓展幀
{
TxMessage.IDE=CAN_ID_STD;//標準ID
}
else
{
TxMessage.IDE=CAN_ID_EXT;//拓展ID
}
TxMessage.DLC=len;//發送的數據長度
/*將數據放入到郵箱中*/
for(i=0;i { TxMessage.Data[i]=*dat; Dat++; } /*開始傳數據*/ CAN_Transmit(CAN,&TxMessage); } (2) CAN接收函數。 Void CAN_ReceiveMesg(uint8_t*receiveBuff) { Uint8_t i=0; canRxMsg RxMessage;//設置接收郵箱 if((CAN_Messpagepending(CAN,CAN_FIFO0)!=0)) //檢查FIFO0里面是否有數據 { CAN_Receive (CAN,CAN_FIFO0,&RxMessage); //讀取FIFO0里面的數據 for(i=0;i { *receiveBUFF=RxMessage.Data[i]; receiveBuff++; } } } 本采集系統采用STM32加專用計量芯片ATT7022E的設計方案,能精確測量各相電壓、電流、有功功率、無功功率、功率因數以及CF脈沖輸出等,有功測量滿足0.1 s、0.2 s,無功測量滿足1級、2級。已知電表基準值為各相電壓有效值為220 V,各相電流為2.5 A,各相有功功率為550 W,功率因數為1,無功功率為0 var。表1為電能表實際測量值[12-15]。 表1 電能表測量值 由表中實驗數據可知,各相電壓有效值均為220 V,各相測量誤差接近于0%,A相、C相電流值為2.49A,誤差為0.4%,各相有功功率相對誤差為0.18%,無功功率為0 var,功率因數為0.999,基本接近于基準值,誤差很小。因此電能表測量數據都在精度允許誤差范圍之內,滿足國網公司對智能電表技術標準的要求。 本文設計了一款基于ATT7022E的多功能電力數據采集系統,多功能高精度三相電能專用計量芯片ATT7022E可以完成三相三線或者三相四線模式下的電能質量測量、有效值測量、有功計算、無功計算、視在計算、硬件端口檢測、片上溫度檢測、能量脈沖輸出、ADC采樣數據緩沖以及同步采樣數據緩沖等功能。MCU模塊采用STM32F103ZE芯片具有豐富的片上資源,可實現電力數據的大規模傳輸、處理與存儲。系統采用GPRS通信,實現了造價低、傳輸效率快、準確性高的優點。系統軟件流程設計簡單、操作簡便、易于推廣。 系統設計克服傳統電力數據采集的實時性差、傳輸效率低、存儲受限、軟件算法復雜的缺點,展示了一款實時性高、采集容量大、傳輸效率高、體積小、造價低的多功能電力數據采集系統,具有廣闊的發展前景。 參考文獻(References): [1] 姚國珍,康 怡.基于DSP的電力數據采集平臺的設計與研究[J].電子工程師,2004,30(4):72-74. [2] 鄭一維,李長俊.基于STM32電力數據采集系統的設計[J].國外電子測量技術,2011,30(6):72-74. [3] 倪健華,談恩民,姚普糧.基于ATT7022E與STM32多功能電力監測儀設計[J].國外電子測量技術,2015,34(5):48-51. [4] 王克祥 ,李 悠, 王曉雪.基于ATT7022E的新型多功能網絡電力儀表設計[J].數字通信世界2016(7):205. [5] 段雙明.基于ATT7022E的高精度三相電能計量儀軟件設計[J].中小企業管理與科技(上旬刊),2015(12):278. [6] 張倚僑, 李 宏.基于ATT7022E的無功補償控制器電參數測量模塊設計[J].工業控制計算機 , 2015 (1) :137-138. [7] 王曉愚.基于ATT7022D和DSP的電力諧波分析系統設計[J].山東科技大學學報, 2013 (11) :11-13. [8] 賀靜丹,滕召勝.單相多功能電能表設計[J].電子測量與儀器學報,2011,25(1):89-95. [9] 舒華英,胡一聞.移動互聯網技術及應用[M].北京:人民郵電出版社,2001. [10] 韓斌杰.GPRS原理及其網絡優化[M].北京,機械工業出版社,2003. [11] 意法半導體(中國)投資有限公.STM32F10×××參考手冊_V10_CN[OB/OL]. 10版.(2010-01-10)[2017-03-20].http://www.doc88.com/p-67949134973.html [12] 杜運福.基于STM32與ATT7022E的用電智能采集模塊設計[D].蘇州:蘇州大學,2012. [13] 李夢婷.基于ATT7022C的三相智能電表的設計[D].青島:青島理工大學,2011. [14] 陳文榮.基于GPRS的儀表數據采集與監控系統[D].杭州:浙江大學,2005. [15] 韋正叢.基于GPRS通信的三相智能電表的設計[D].南寧:廣西師范大學,2012.4 實驗數據分析

5 結 語