摘 要:介紹一種基于CRYSTAL公司的電能計(jì)量芯片CS5460A設(shè)計(jì)智能電力控制終端,給出控制系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì),該系統(tǒng)對(duì)電流、電壓,以及電能進(jìn)行測(cè)量、計(jì)算和儲(chǔ)存。 其次,結(jié)合時(shí)鐘芯片DS1302,E2PROM存儲(chǔ)芯片X5045和讀卡器模塊ZLG500C,使系統(tǒng)能完成自動(dòng)抄表、遠(yuǎn)程付費(fèi)、數(shù)據(jù)備份、自動(dòng)斷電等功能,實(shí)現(xiàn)對(duì)電能測(cè)量自動(dòng)化控制和數(shù)字化管理。
關(guān)鍵詞:CS5460A;ZLG500C;電能參數(shù);智能電力控制
中圖分類(lèi)號(hào):TP29文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)01-167-04
Intelligent Power Control System Based on CS5460A
ZHOU Minqi,ZHANG Qian
(Shanghai Normal University,Shanghai,200032,China)
Abstract:CS5460A is used to design the intellgent power control system,andstructure design of the system is provided.It can measure,calculate and save current,voltage and power parameter.In addition,this system combines DS1302,X5045 and ZLG500C to achieve the automatic meter reading,reomte check meter,information backup and automatic power-down.To achieve the automation control and digital management.
Keywords:CS5460A;ZLG500C;power parameter;intelligent power control
0 引 言
隨著智能家居時(shí)代的來(lái)臨,傳統(tǒng)的感應(yīng)式電能表不但無(wú)法滿(mǎn)足自動(dòng)化控制的需要,也為數(shù)字化集中管理帶來(lái)了不便。本系統(tǒng)的研究主要是針對(duì)智能家居的自動(dòng)化、網(wǎng)絡(luò)化和數(shù)字化需求所提出的,使用CS5460A電能計(jì)量芯片與相關(guān)外圍芯片結(jié)合,不但實(shí)現(xiàn)了最基本的電能測(cè)量,還具有自動(dòng)抄表、過(guò)載斷電等功能。本系統(tǒng)通過(guò)微處理器對(duì)整個(gè)系統(tǒng)進(jìn)行控制,因此能夠用軟件的方法實(shí)現(xiàn)信息的采集、處理和存儲(chǔ),大大簡(jiǎn)化了儀器的整體結(jié)構(gòu)。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)的總體架構(gòu)
為了使操作可視化,該系統(tǒng)采用鍵盤(pán)輸入,同時(shí)加入LCD,構(gòu)成人機(jī)互動(dòng)界面。為了更易于組建分布式電能管理系統(tǒng),該電能表加入了標(biāo)準(zhǔn)的RS 485串行接口,將相關(guān)數(shù)據(jù)上傳至上位機(jī)進(jìn)行統(tǒng)一管理。電能表的硬件是由MCU P89C61X2、CS5460A、LCD、DS1302、X5045等所組成,其組成如圖1所示。該系統(tǒng)的工作原理如下:由互感器電路及取樣電路將回路的電壓和電流信號(hào)轉(zhuǎn)換為最大有效值為250 mV的小電壓信號(hào)。CS5460A根據(jù)采樣電路輸入的電壓電流算出電能,然后把電壓、電流和功率存入E2PROM再由串行差分總線RS 485傳送給CPU,CPU將數(shù)據(jù)進(jìn)行處理后顯示在LCD上。同時(shí)可以根據(jù)DS1302內(nèi)的時(shí)鐘信息,定期將用電數(shù)據(jù)者通過(guò)RS 485串行接口把當(dāng)月用電量傳給上位機(jī)。該系統(tǒng)中的E2PROM 存有增益校正和偏移校正的系數(shù)以及相關(guān)的電能計(jì)量信息。可以看出,電能表的準(zhǔn)確與否取決于采樣電路的設(shè)計(jì)及電能計(jì)量芯片的性能。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
1.2 采樣電路的設(shè)計(jì)
CS5460A 的電壓通道和電流通道可與電阻分流器或互感器接口。其電流通道的可編程增益放大器(PGA)的增益可設(shè)為10 dB和50 dB,分別對(duì)應(yīng)于最大有效值為250 mV和50 mV的交流信號(hào)輸入;電壓通道的最大有效值輸入為250 mV。由于CS5460A的Σ-Δ型模/數(shù)轉(zhuǎn)換器采用過(guò)采樣原理,對(duì)高頻噪聲有較強(qiáng)的抑制,因而對(duì)輸入信號(hào)無(wú)需進(jìn)行復(fù)雜的濾波器處理,引入阻容濾波電路反而容易引起相移[1]。
圖2和圖3是電壓和電流的采樣電路。在圖2中,PT是變比為1∶1的電流型電壓互感器,CT為變比2 000∶1的電流互感器。取樣電阻R3,R4,R5,R6的阻值由被測(cè)信號(hào)的最大值決定。電阻R1,R2,R7,R8為電壓、電流模擬通道的輸入保護(hù)電阻。原理圖中R3=R4,R5=R6。經(jīng)變換后的小信號(hào)以差模電壓的形式接到CS5460A的模擬信號(hào)輸入端,減小輸入阻抗。由于互感器的使用引入可能造成輸入信號(hào)的相移,使功率測(cè)量的誤差增大。而CS5460A具有相位補(bǔ)償功能(可進(jìn)行-2.4°~+2.5°的相位補(bǔ)償),可以大大減小互感器相移所帶來(lái)的誤差的影響。
圖2 電壓采樣電路
圖3 電流采樣電路
1.3 CS5460A的接口設(shè)計(jì)[2]
CS5460A 的串行口包括4條控制線:CS,SDI,SDO,SCLK,極易與微處理器連接。對(duì)其操作是通過(guò)傳輸命令字來(lái)實(shí)現(xiàn)的,CS5460A的命令字包括寄存器讀寫(xiě)、校準(zhǔn)等在內(nèi)的7個(gè)命令字。具體來(lái)說(shuō),一個(gè)數(shù)據(jù)的傳輸總是從向串行接口的SDI發(fā)送8位命令字開(kāi)始的,當(dāng)命令中包括一個(gè)寫(xiě)入操作時(shí),在其后有24個(gè)行數(shù)據(jù)。當(dāng)發(fā)出一個(gè)讀取命令字時(shí),串口將根據(jù)發(fā)出的命令,在其后的8,16,24個(gè)SCLK周期從SDO引腳上串行輸出寄存器內(nèi)容[3]。
CS5460A的數(shù)據(jù)輸入SDI、數(shù)據(jù)輸出SDO、串行時(shí)鐘SCLK、片選CS、分別MCU與MC的P0.0,P0.1,P0.2,P0.4相連,復(fù)位端RESET接P89C61X2的P0.3,測(cè)量之前要對(duì)CS5460A進(jìn)行復(fù)位。
INT引腳用來(lái)通知系統(tǒng)轉(zhuǎn)換器轉(zhuǎn)換結(jié)束或出錯(cuò)信息,這些事件包括芯片運(yùn)行的狀態(tài)和內(nèi)部故障狀態(tài),與P89C61X2的INT0相連,低電平有效。狀態(tài)寄存器與屏蔽寄存器組合將產(chǎn)生INT信號(hào),當(dāng)狀態(tài)寄存器的某位有效,并且屏蔽寄存器相應(yīng)的位是邏輯1,INT信號(hào)被激活;當(dāng)狀態(tài)寄存器的這一位恢復(fù)為無(wú)效時(shí),中斷狀態(tài)被清除,一般89C51每經(jīng)一次計(jì)算周期通過(guò)中斷或查詢(xún)讀一次測(cè)量數(shù)據(jù)。CS5460A與89C51系列單片機(jī)的接口電路如圖4所示。
圖4 CS5460與單片機(jī)的接口原理圖
1.4 時(shí)鐘模塊的接口設(shè)計(jì)
DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)RAM 通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過(guò)AM/PM 指示決定采用24 或12 小時(shí)格式DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信僅需用到三個(gè)口線:RST 復(fù)位端;I/O數(shù)據(jù)線;SCLK串行時(shí)鐘時(shí)鐘。RAM 的讀/寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31 個(gè)字節(jié)的字符組方式通信。DS1302 工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1 mW[4]。其接口電路如圖5所示。
圖5 DS1302的接口電路
1.5 E2PROM模塊的接口設(shè)計(jì)
該芯片內(nèi)的串行E2PROM是具有Xicor公司塊鎖的保護(hù)功能的CMOS串行E2PROM,它被組織成8位結(jié)構(gòu),由一個(gè)四線構(gòu)成的SPI 總線方式進(jìn)行操作,其擦寫(xiě)次數(shù)至少有1 000 000次,并且能保存數(shù)據(jù)長(zhǎng)達(dá)100年[5]。X5045的接口電路如圖6所示。
1.6 ZLG500C的接口設(shè)計(jì)
為了能減少I(mǎi)/O口的占用,提高系統(tǒng)的集成度,本系統(tǒng)采用ZLG500C讀卡器模塊來(lái)進(jìn)行開(kāi)發(fā)。ZLG500C以MFRC500為主體,該系列模塊具有如下特點(diǎn): 四層電路板設(shè)計(jì),雙面表貼工藝,EMC性能優(yōu)良; 采用PHILIPS高集成度讀卡芯片MFRC500; 具有控制線和可控蜂鳴器信號(hào)輸出; 能讀寫(xiě)MFRC500內(nèi)E2PROM;支持Mifare1 S50,Mifare1 S70,Mifare UltraLight,Mifare Light。
在使用時(shí)只需將Rx,Tx和相應(yīng)控制接口接入MAX485的相應(yīng)端口即可,模塊中所具有的微控制器能根據(jù)特定的數(shù)據(jù)格式,進(jìn)行網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的格式轉(zhuǎn)換,使得ZLG500C和單片機(jī)之間進(jìn)行通訊[6]。
圖6 X5045的接口電路
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)主體程序框架設(shè)計(jì)
整個(gè)系統(tǒng)軟件由主程序與數(shù)據(jù)采集子程序、數(shù)據(jù)記錄子程序、數(shù)據(jù)通信子程序、異常處理子程序、顯示子程序等組成。如圖7所示。
圖7 系統(tǒng)主程序流程圖
2.2 CS5460A的程序設(shè)計(jì)
2.2.1 CS5460A的校準(zhǔn)
為了能使提高CS5460A的實(shí)際測(cè)量準(zhǔn)確度,在開(kāi)始測(cè)量前要對(duì)其進(jìn)行校準(zhǔn)。CS5460A提供AC和DC校準(zhǔn)。用戶(hù)通過(guò)設(shè)置校準(zhǔn)命令字中的相應(yīng)位來(lái)決定執(zhí)行那種校準(zhǔn),不管是那種校準(zhǔn)都有兩種模式:系統(tǒng)偏移校準(zhǔn)和系統(tǒng)增益校準(zhǔn)。無(wú)論是AC 還是DC 校準(zhǔn),用戶(hù)都必須提供正的滿(mǎn)量程信號(hào)以完成系統(tǒng)增益校準(zhǔn)以及參考地電平以完成系統(tǒng)偏移校準(zhǔn),用戶(hù)提供的校準(zhǔn)信號(hào)的差分電壓必須限定在差分電壓輸入范圍內(nèi)。因?yàn)楸疚氖褂玫氖鞘须娂唇涣餍盘?hào)(220 V,50 Hz),所以校準(zhǔn)均采用AC校準(zhǔn)。AC偏移校準(zhǔn)時(shí)需提供零電壓和零電流信號(hào),最后得到的實(shí)際測(cè)量值=線性值+偏移值;AC增益校準(zhǔn)實(shí)質(zhì)是對(duì)CS5460A的電壓電流有效值寄存器、電能寄存器進(jìn)行系統(tǒng)刻度校準(zhǔn),需提供滿(mǎn)量程電壓電流信號(hào)。最后使得對(duì)應(yīng)輸入端校準(zhǔn)參考信號(hào)電平的電壓有效值寄存器(RMS)的值為0.6。然而,每次復(fù)位會(huì)將偏移寄存器清0和增益寄存器置1,因此,將第一次校準(zhǔn)得到的偏移寄存器值、增益寄存器值保存在E2PROM,每次復(fù)位后,CS5460A初始化時(shí)將這些值重新裝入對(duì)應(yīng)的寄存器中。校準(zhǔn)的一般流程如圖8所示[7,8]。
圖8 校準(zhǔn)的流程框圖
2.2.2 CS5460A的初始化
在該系統(tǒng)中,CS5460A的工作時(shí)鐘MCLK選定為4.096 MHz,分頻系數(shù)K設(shè)為1,循環(huán)計(jì)數(shù)寄存器的N值設(shè)為4 000,則一個(gè)基本的計(jì)算周期[9]為(1 024×N)/(MCLK/K)=1 s。
CS5460A 與單片機(jī)的接口非常簡(jiǎn)單,但它的初始化命令較多,使用上有一定的技巧,如使用不當(dāng)有時(shí)可能初始化不成功,引起芯片的轉(zhuǎn)換出錯(cuò),使系統(tǒng)不能正常工作。所以在使用過(guò)程中將初始化過(guò)程反復(fù)調(diào)試,編成通用子程序,使用時(shí)調(diào)用,可確保每次運(yùn)行的準(zhǔn)確、可靠。CS5460A初始化子程序框圖如圖9所示[10]。
圖9 CS5460A初始化框圖
CS5460A初始化程序如下:
CS5460AWriteReg(0x40);//寫(xiě)配置寄存器
CS5460AWriteReg(0x78);//寫(xiě)控制寄存器
CS5460AWriteReg(0x74);//寫(xiě)屏蔽寄存器
readbyte();//從E2PROM中讀取校準(zhǔn)值
CS5460AWriteReg(0x60);//寫(xiě)交流電流偏移寄存器
CS5460AWriteReg(0x62);//寫(xiě)交流電壓偏移寄存器
CS5460AWriteReg(0x44);//寫(xiě)交流電流增益寄存器
CS5460AWriteReg(0x48);//寫(xiě)交流電壓增益寄存器
CS5460AWriteCommand(0xe8);//寫(xiě)入開(kāi)始轉(zhuǎn)換命令
2.3 ZLG500C的程序設(shè)計(jì)
ZLG500C模塊通過(guò)對(duì)上位機(jī)電能數(shù)據(jù)的存取,和對(duì)非接觸IC卡的值操作,可以實(shí)現(xiàn)對(duì)電表的遠(yuǎn)程付費(fèi)。
一般非接觸IC的讀卡流程如圖10所示。
圖10 讀卡器操作流程
程序如下:
if(PiccRequest(REQSTD,DataBfr)!=OK) continue;//選中IDLE
if(PiccAnticoll(SELCODE1,0,CardSnr)!=OK)continue;//一級(jí)防碰撞,返回卡號(hào)
if(PiccSelect(SELCODE1,CardSnr,DataBfr)!=OK)continue;//選中返回IDLE卡
if(PiccAuthKey(KEYA,CardSnr,PASSWORD,4)!=OK)continue;//密碼匹配
2.4 中斷服務(wù)程序的設(shè)計(jì)
2.4.1 電能測(cè)量中斷處理
中斷處理子程序:本系統(tǒng)利用單片機(jī)外部中斷INT0,低電平有效。當(dāng)CS5460A的一個(gè)計(jì)算周期結(jié)束后,INT引腳由高電平變?yōu)榈碗娖剑|發(fā)微單片機(jī)外部中斷INT0,程序轉(zhuǎn)到中斷處理子程序。中斷服務(wù)子程序的功能是先讀取CS5460A的寄存器值,然后判斷用電量是否過(guò)載,如果過(guò)載則通過(guò)繼電器斷開(kāi)總電源,如果用電在額定功率范圍內(nèi),則更新E2PROM中I,V,P寄存器內(nèi)的值并將最新的電能寄存器中的值與E2PROM中的電能數(shù)據(jù)進(jìn)行累加后存入E2PROM并將數(shù)據(jù)顯示在LCD上。最后判斷當(dāng)月用電信息是否已經(jīng)上傳至上位機(jī),若未上傳則通過(guò)RS 485上傳信息。
2.4.2 按鍵中斷處理
本系統(tǒng)中設(shè)有一個(gè)付費(fèi)按鍵,該鍵連接外部中斷INT1,中斷觸發(fā)后執(zhí)行如圖11所示流程。
圖11 按鍵中斷觸發(fā)程序
3 結(jié) 語(yǔ)
綜上所述,本文為智能化電能管理提供了一個(gè)有效的解決方案。本系統(tǒng)因采用的X5045,所以可將電壓和電流有效值、功率、用電量等歷史數(shù)據(jù)保存在E2PROM中,不斷刷新,以供出現(xiàn)故障時(shí)查看故障過(guò)程,同時(shí)系統(tǒng)作為智能終端通過(guò)RS 485串行差分總線與上位計(jì)算機(jī)連接,將當(dāng)前計(jì)算所得數(shù)據(jù)上傳。對(duì)用電功率、電流、電壓、頻率、電量等進(jìn)行集中監(jiān)測(cè)和控制,設(shè)計(jì)出分布式電能控制系統(tǒng),實(shí)現(xiàn)電能的分散控制和集中管理。此外,該系統(tǒng)可通過(guò)模擬開(kāi)關(guān)復(fù)用RS 485總線,讀卡器模塊ZLG500C實(shí)現(xiàn)遠(yuǎn)程電能付費(fèi)等一體化的功能。
參考文獻(xiàn)
[1]陳國(guó)杰,徐志民.基于CS5460A的真有效值電參數(shù)測(cè)試儀的設(shè)計(jì)[J].儀表技術(shù),2002(2):21-25.
[2]Cirrus CS5460A Product Data Sheet.http://www.cirrus.com/en/pubs/proDatasheet/CS5460AF4.pdf,2009.
[3]崔鵬,邵建龍.電能計(jì)量芯片CS5460在MSP430中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(9):37-39.
[4]21IC DS1302-Dallas Semiconducotr.http://www.21icsearch.com/download.asp?id=709719(pdf),2009.
[5]21IC X5045-Xicor Inc.http://www.21icsearch.com/download.asp?id=106248(pdf),2009.
[6]周立功.Zlg500C模塊使用指南[EB/OL].http://www.zlgmcu.com/philips/mifare/ZLG500/ZLG500Cuser.pdf,2009.
[7]CIRRUS.AN227:Calibrating the CS5460A.http://www.cirrus.com/en/pubs/appNote/an227rev1.pdf,2009.
[8]王綺江,毛明榮.CS5460A芯片及其實(shí)現(xiàn)的單相電能表現(xiàn)場(chǎng)校驗(yàn)儀[J].自動(dòng)化儀器與儀表,2002(5):23-25.
[9]曾智剛,周岳松,謝晨嚦.CS5460A芯片與其在功率測(cè)量的一種應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(3):100-102.
[10]黃玲高,高中文.基于電能計(jì)量芯片CS5460的電子式電能表[J].自動(dòng)化與儀器儀表,2002(5):38-40.