黃夢濤,王濤濤
(西安科技大學電氣與控制工程學院,西安710054)
黃夢濤(教授),主要研究方向為計算機控制、圖像處理等;王濤濤(碩士研究生),主要研究方向為模式識別與智能系統。
隨著國家經濟的快速發展,各行業對能源的需求量越來越大。煤炭、石油等不可再生資源的大量消耗使得存儲量越來越少,能源短缺必將會影響國家經濟的發展。而煤炭、石油的開采又會耗掉大量的電能,特別是石油的開采,抽油機經常會出現“空抽”的現象,大量的電能被耗費[1]。因此,提高用電的效率和質量是緩解能源危機的一種方式,這就需要對電網運行狀況進行實時監測。為了獲得電網的電參數信息,本文采用電能計量芯片ATT7022C結合ARM微控制器設計電參數測量模塊。該模塊可以使用液晶實時顯示數據,也可以把采集的電參數傳輸到上位機來對電網的狀況進行實時監測。
ATT7022C芯片是鉅泉光電科技(上海)有限公司推出的一款高精度三相電能專用計量芯片。它適用于三相三線和三相四線的接線方式,其內部結構框圖如圖1所示。該芯片集成了7路二階 sigma-delta ADC,參考電壓電路以及包括功率、有效值、功率因數、能量等的數字信號處理電路[2]。芯片內置溫度測量傳感器,提供基波有功、基波無功校表脈沖輸出;還具有ADC采樣數據緩存功能,緩存長度為240,可以實時保存原始采樣數據。同時芯片還支持單通道、雙通道和三通道的同步采樣功能,供用戶進行采樣數據的分析[3]。芯片提供一個SPI接口與外部MCU進行數據傳遞,外部控制器只需要通過SPI總線對各寄存器進行讀寫操作,就可以得到三相電參數的值。為了得到精確的電參數數值,必須進行校表操作。芯片支持純軟件校表,經過校正的儀表,有功精度可高達0.5級,無功精度可達2級。

圖1 ATT7022C內部結構框圖
電參數測量模塊的總體結構框圖如圖2所示。模塊主要由電參數實時測量、LCD顯示、存儲、與上位機通信等部分組成。LCD液晶主要用來顯示電壓、電流、耗能、功率因數、時間、溫度等參數。模塊采用RS485總線或無線組網傳輸的方式把測量的各種電參數傳輸到上位機,對電網的運行狀況進行實時的監測。

圖2 電參數測量模塊總體結構框圖
模塊設計的目標是以較低能耗實時測量、顯示電參數,并能夠與上位機進行通信。這就要求處理器的運行速度要快、功耗要低。LPC2138芯片可以滿足這個要求。它有2個SPI、I2C接口、多達47個可承受5 V電壓的通用I/O口,以及帶有獨立電源與時鐘源的實時時鐘模塊[4]。
電能計量芯片復位時內部的能量寄存器將復位為0。如果發生意外斷電,芯片中能量寄存器中的值將會丟失,設計時選用AT24C02芯片保存能量寄存器的值。在軟件程序設計中,當負載消耗1度電或其他數據量的時候刷新一次存儲器。
實時時鐘采用ARM系統與外接電池共同供電的方式,當系統意外斷電時,時鐘模塊可由外部電池供電,保證時鐘的正常運行。值得注意的是,實時時鐘初始化時,第一次把準確的時間寫到時鐘芯片后,時鐘就開始正確地運行,然后應當把程序中的時鐘初始化函數去掉,把整個程序再加載一遍。否則,模塊每次復位都會對時鐘初始化一次,這樣時鐘就不能正確地運行了。
ATT7022C外圍電路如圖3所示。在設計時,為使電源的紋波和噪聲減小到最低,要在芯片的各個電源引腳使用 10 μ F和 0.1 μ F電容進行去耦。在圖 3中,V1P/V1N、V3P/V3N、V5P/V5N分別是A、B、C三相的電流采集通道;V2P/V2N、V4P/V4N、V6P/V6N分別是A、B、C三相的電壓采集通道。電路連接時,把 ATT7022C 的 SPI口、SIG、CS、RESET 分別與LPC2138的 SPI口、P0.28、P0.29、P0.30相連進行通信。SIG為握手信號,控制器通過該引腳監測芯片的運行狀況。SEL為三相電接線方式選擇引腳。電能芯片內部有300 kΩ上拉電阻,當該引腳懸空時為三相四線接線方式,當該引腳接地時為三相三線的接線方式。在硬件電路連接時必須要注意的是,電能計量芯片與 LPC2138的電源要共地,否則控制器讀寫芯片將會出錯。
電壓、電流采集采用雙端差分信號輸入的方式采集數據。正常工作時最大輸入電壓為±1.5 V,2個引腳內部都有ESD保護電路,最大承受電壓為±6 V。
電壓信號的采集可選擇分壓方式或互感器方式。本系統為了能得到較穩定的信號,決定采用互感器來采集信號。這樣不僅起到了電氣隔離的作用,還可防止電流過大燒毀芯片。由于電能計量芯片的電壓通道在互感器的次級電壓為0.5 V時有較好的精確度和線性度,所以在設計時,選擇LCTV3JCF-220V/0.5V規格的電壓互感器作為電壓信號的采集端。電壓采集電路如圖4(a)所示。電路中的1.2 kΩ電阻和0.01 μ F電容構成了抗混疊濾波器。REFO信號連接電能計量芯片輸出的2.4 V參考電壓,這個電壓起到直流偏置的作用。
電流信號的采集是通過把電流互感器輸出的電流信號并接一個適當的電阻,采集電阻兩端電壓的方式來間接測量電流值。電流通道在采集電壓為0.1 V時芯片有較好的精確度和線性度,因此在設計時選用HTTA-5 A/5 mA規格的電流互感器。在輸入額定電流的情況下,輸出的電流信號并接20 Ω的電阻可以得到0.1 V的電壓信號。值得注意的是,電流互感器的選擇應根據實際應用時初級電路中電流大小的范圍而選擇,電阻也要相應地變化,保證輸入的信號在0.1 V左右。電流采集電路如圖4(b)所示。

圖3 ATT7022C的外圍電路

圖4 采集電路
模塊的軟件設計首先是對各部分的通信接口進行初始化,然后對芯片進行校正,接著把實驗校正的值寫入ATT7022C的各個寄存器。最后,在主函數的循環語句中讀取芯片各個寄存器的數據進行顯示、存儲、向上位機傳輸。
圖5、圖6分別為ATT7022C芯片的SPI接口讀、寫時序圖。圖中,CS為芯片的片選信號線;SCLK為時鐘信號線;DIN為串行數據輸入線,用于把用戶的數據、命令、地址傳輸到ATT7022C芯片,它與ARM處理器的SPI總線的MOSI連接通信;DOUT為串行數據輸出線,用于從ATT7022C芯片讀取數據,它與ARM處理器的SPI總線的MISO連接通信。從圖5中可以看出,當向ATT7022C芯片寫一個字節數據時,SCLK高電平時在DIN引腳準備好數據,一個時鐘下降沿,就把一位數據寫入芯片中。當從ATT7022C讀取一個字節數據時,一個時鐘上升沿,芯片會把一位數據傳輸到DOUT引腳,ARM讀取該引腳得到一位數據。使用ARM的SPI總線,數據在SCLK高電平時有效,所以在設置SPI控制寄存器時CPOL位應置0。SPI傳輸的第一位數據在第二個時鐘沿被采樣,CPHA位應置1。ARM與ATT7022C芯片進行數據通信時,需要先向ATT7022C芯片寫入8位的命令字,然后才能通過SPI接口讀出或寫入24位數據。數據傳輸時高位在先,LSBF位應置0。在數據傳輸的過程中CS要保持在低電平的狀態,傳輸完成后應把CS拉高。同時設置SPI總線為主模式、禁止SPI的中斷。

圖5 SPⅠ讀時序圖

圖6 SPⅠ寫時序圖
SPI的接口函數如下:


程序運行時,要想知道通信函數是否正確,可以通過讀取校表數據校驗和寄存器的值來判斷。在芯片復位后未寫校表數據前,它里面存儲的復位數據是定值。發送命令字0x3E或0x5F,讀取24位數據。在三相四線模式下,值是0x043C73;在三相三線模式下,值是0x16BC73。如果是其他值,則程序有誤。
校表是設計的關鍵環節,芯片校表流程如圖7所示。所有的校正都是在校表寄存器參數為0的條件下進行的。

圖7 校表流程
以A相電壓、電流的校正為例說明芯片的校表過程。
(1)A相電壓的校正
電壓輸入為238 V,功率因數為1。在校正寄存器Ugain為0時,讀A相電壓有效值寄存器Vu的值,十六進制為0x25d75c,十進制為2 479 964。代入公式計算得到測量電壓有效值:Urms=Vu×210/223=Vu/213=2 479 964/8 192=302.73。Ur為標準表讀出的實際輸入電壓有效值即238 V,校表時Ur用2倍標準表的電壓值計算,即Ur=2×238=476。Ugain為A相電壓的校正寄存器的值。當Ugain=Ur/Urms-1=476/302.73-1=0.572 358 207>0時,則Ugain=INT(Ugain×223)=4 801 289=0x494309,最后把0x494309寫入A相電壓的校正寄存器,則完成A相電壓的校正。校表完成后,處理器讀出的值要縮小2倍才能得到最終的測量電壓有效值:Urms=Vu/213/2=Vu/214。
(2)A相電流的校正
電流輸入為4 A,功率因數為1,在校正寄存器Igain為0時,讀A相電流有效值寄存器Li的值。十六進制為0x56d60,轉化成十進制為355 680。代入公式計算得到測量電流有效值:Irms=Ii×210/223=Ii/213=355 680/8 192=43.417 968 75。Ir為標準表讀出的實際輸入電流有效值即4 A。校表時Ir用24倍的電流輸入值代入計算,即Ir=4×24=64。Igain為A相電流的校正寄存器的值。當Igain=Ir/Irms-1=64/43.417 968 75-1=0.474 044 084 57>0時,則Igain=INT(Igain×223)=3 976 570=0x3cad7a。最后把0x3cad7a寫入A相電流的校正寄存器,則完成A相電流的校正。校表完成后,處理器讀出的值要再縮小24倍,才能得到最終的測量值,即Irms=Ii/213/24=Ii/217。
其他參數的校正要根據ATT7022C的各個參數的校表公式來完成,這里不再贅述。校表完成后使用自耦調壓器調節負載兩端的電壓、電流,得到的測量數據如表1、表2所列。

表1 電壓的測量數據

表2 電流的測量數據
通過基于ATT7022C和LPC2138的硬件電路設計、軟件的編程、校表及PCB板的制作,最終完成了整個模塊的設計。通過實驗得到的測量數據誤差較小,在模塊測量誤差允許的范圍內。模塊具有采集數據速度快、耗能低的特點,并能長期穩定運行,達到了模塊設計的預期目標。該模塊可用于電力系統、礦井電網、抽油機等電參數的精確測量。
[1]張炳成.抽油機智能間抽節能控制系統的應用[J].節能,2010(7):42.
[2]炬泉光電科技(上海)有限公司.AT T7022C用戶手冊[OL].[2011-07].http://www.hitreendtech.com.
[3]張明雄.AT T7022C的應用[C]∥2009第十八屆中國電工儀器儀表產業發展論壇,北京,2009.
[4]周立功,張華.深入淺出ARM7:LPC213x/214x(上冊)[M].北京:北京航空航天大學出版社,2005.