基于CS5460A的智能電力控制系統(tǒng)
摘要:介紹一種基于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ù);智能電力控制
0 引 言
隨著智能家居時(shí)代的來臨,傳統(tǒng)的感應(yīng)式電能表不但無法滿足自動(dòng)化控制的需要,也為數(shù)字化集中管理帶來了不便。本系統(tǒng)的研究主要是針對(duì)智能家居的自動(dòng)化、網(wǎng)絡(luò)化和數(shù)字化需求所提出的,使用CS5460A電能計(jì)量芯片與相關(guān)外圍芯片結(jié)合,不但實(shí)現(xiàn)了最基本的電能測(cè)量,還具有自動(dòng)抄表、過載斷電等功能。本系統(tǒng)通過微處理器對(duì)整個(gè)系統(tǒng)進(jìn)行控制,因此能夠用軟件的方法實(shí)現(xiàn)信息的采集、處理和存儲(chǔ),大大簡(jiǎn)化了儀器的整體結(jié)構(gòu)。
1 系統(tǒng)硬件設(shè)計(jì)
l.1 系統(tǒng)的總體架構(gòu)
為了使操作可視化,該系統(tǒng)采用鍵盤輸入,同時(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、C85460A、LCD、DSl302、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ù)DSl302內(nèi)的時(shí)鐘信息,定期將用電數(shù)據(jù)者通過RS 485串行接口把當(dāng)月用電量傳給上位機(jī)。該系統(tǒng)中的E2PROM存有增益校正和偏移校正的系數(shù)以及相關(guān)的電能計(jì)量信息。可以看出,電能表的準(zhǔn)確與否取決于采樣電路的設(shè)計(jì)及電能計(jì)量芯片的性能。
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)換器采用過采樣原理,對(duì)高頻噪聲有較強(qiáng)的抑制,因而對(duì)輸入信號(hào)無需進(jìn)行復(fù)雜的濾波器處理,引入阻容濾波電路反而容易引起相移。
圖2和圖3是電壓和電流的采樣電路。在圖2中,PT是變比為1:1的電流型電壓互感器,CT為變比2 000:1的電流互感器。取樣電阻R3,R4,R3,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ǔ)償),可以大大減小互感器相移所帶來的誤差的影響。
1.3 CS5460A的接口設(shè)計(jì)
CS5460A的串行口包括4條控制線:,SDI,SDO,SCLK,極易與微處理器連接。對(duì)其操作是通過傳輸命令字來實(shí)現(xiàn)的,CS5460A的命令字包括寄存器讀寫、校準(zhǔn)等在內(nèi)的7個(gè)命令字。具體來說,一個(gè)數(shù)據(jù)的傳輸總是從向串行接口的SDI發(fā)送8位命令字開始的,當(dāng)命令中包括一個(gè)寫入操作時(shí),在其后有24個(gè)行數(shù)據(jù)。當(dāng)發(fā)出一個(gè)讀取命令字時(shí),串口將根據(jù)發(fā)出的命令,在其后的8,16,24個(gè)SCLK周期從SDO引腳上串行輸出寄存器內(nèi)容。
CS5460A的數(shù)據(jù)輸入SDI、數(shù)據(jù)輸出SDO、串行時(shí)鐘SCLK、片選、分別MCU與MC的PO.0,P0.1,P0.2,P0.4相連,復(fù)位端RESET接P89C61X2的PO.3,測(cè)量之前要對(duì)CS5460A進(jìn)行復(fù)位。
引腳用來通知系統(tǒng)轉(zhuǎn)換器轉(zhuǎn)換結(jié)束或出錯(cuò)信息,這些事件包括芯片運(yùn)行的狀態(tài)和內(nèi)部故障狀態(tài),與P89C61X2的INT0相連,低電平有效。狀態(tài)寄存器與屏蔽寄存器組合將產(chǎn)生信號(hào),當(dāng)狀態(tài)寄存器的某位有效,并且屏蔽寄存器相應(yīng)的位是邏輯1,INT信號(hào)被激活;當(dāng)狀態(tài)寄存器的這一位恢復(fù)為無效時(shí),中斷狀態(tài)被清除,一般89C51每經(jīng)一次計(jì)算周期通過中斷或查詢讀一次測(cè)量數(shù)據(jù)。CS5460A與89C51系列單片機(jī)的接口電路如圖4所示。
1.4 時(shí)鐘模塊的接口設(shè)計(jì)
DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM通過簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過AM/PM指示決定采用24或12小時(shí)格式DS1302與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信僅需用到三個(gè)口線:RST復(fù)位端;I/0數(shù)據(jù)線;SCLK串行時(shí)鐘時(shí)鐘。RAM的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的字符組方式通信。 DS1302工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1 mW。其接口電路如圖5所示。
1.5 E2PROM模塊的接口設(shè)計(jì)
該芯片內(nèi)的串行E2PROM是具有Xicor公司塊鎖的保護(hù)功能的CMOS串行E2PROM,它被組織成8位結(jié)構(gòu),由一個(gè)四線構(gòu)成的SPI總線方式進(jìn)行操作,其擦寫次數(shù)至少有l(wèi) 000 000次,并且能保存數(shù)據(jù)長(zhǎng)達(dá)100年。X5045的接口電路如圖6所示。
1.6 ZLG500C的接口設(shè)計(jì)
為了能減少I/0口的占用,提高系統(tǒng)的集成度,本系統(tǒng)采用ZLG500C讀卡器模塊來進(jìn)行開發(fā)。ZLG500C以MFRC500為主體,該系列模塊具有如下特點(diǎn):四層電路板設(shè)計(jì),雙面表貼工藝,EMC性能優(yōu)良;采用PHILIPs高集成度讀卡芯片MFRC500;具有控制線和可控蜂鳴器信號(hào)輸出;能讀寫MFRC500內(nèi)E2PROM;支持Mifarel S50,Mifarel S70,MifareUltraLight,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)行通訊。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)主體程序框架設(shè)計(jì)
整個(gè)系統(tǒng)軟件由主程序與數(shù)據(jù)采集子程序、數(shù)據(jù)記錄子程序、數(shù)據(jù)通信子程序、異常處理子程序、顯示子程序等組成。如圖7所示。
2.2 CS5460A的程序設(shè)計(jì)
2.2.1 CS5460A的校準(zhǔn)
為了能使提高CS5460A的實(shí)際測(cè)量準(zhǔn)確度,在開始測(cè)量前要對(duì)其進(jìn)行校準(zhǔn)。CS5460A提供AC和DC校準(zhǔn)。用戶通過設(shè)置校準(zhǔn)命令字中的相應(yīng)位來決定執(zhí)行那種校準(zhǔn),不管是那種校準(zhǔn)都有兩種模式:系統(tǒng)偏移校準(zhǔn)和系統(tǒng)增益校準(zhǔn)。無論是AC還是DC校準(zhǔn),用戶部必須提供正的滿量程信號(hào)以完成系統(tǒng)增益校準(zhǔn)以及參考地電平以完成系統(tǒng)偏移校準(zhǔn),用戶提供的校準(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),需提供滿量程電壓電流信號(hào)。最后使得對(duì)應(yīng)輸入端校準(zhǔn)參考信號(hào)電平的電壓有效值寄存器(RMS)的值為0.6。然而,每次復(fù)位會(huì)將偏移寄存器清O和增益寄存器置1,因此,將第一次校準(zhǔn)得到的偏移寄存器值、增益寄存器值保存在E2PROM,每次復(fù)位后,CS5460A初始化時(shí)將這些值重新裝入對(duì)應(yīng)的寄存器中。校準(zhǔn)的一般流程如圖8所示。
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ì)算周期為(1 024×N)/(MCLK/K)=1 s。
CS5460A與單片機(jī)的接口非常簡(jiǎn)單,但它的初始化命令較多,使用上有一定的技巧,如使用不當(dāng)有時(shí)可能初始化不成功,引起芯片的轉(zhuǎn)換出錯(cuò),使系統(tǒng)不能正常工作。所以在使用過程中將初始化過程反復(fù)調(diào)試,編成通用子程序,使用時(shí)調(diào)用,可確保每次運(yùn)行的準(zhǔn)確、可靠。CS5460A初始化子程序框圖如圖9所示。
CS5460A初始化程序如下:
CS5460A WriteReg(0x40); //寫配置寄存器
CS5460A_WriteReg(0x78); //寫控制寄存器
CS5460A WriteReg(0x74); //寫屏蔽寄存器
read byte(); //從E2PROM中讀取校準(zhǔn)值
CS5460A_WriteReg(Ox60); //寫交流電流偏移寄存器
CS5460A_WriteReg(Ox62); //寫交流電壓偏移寄存器
CS5460A_WriteReg(0x44); //寫交流電流增益寄存器
CS5460A_WriteReg(0x48); //寫交流電壓增益寄存器
CS5460A_WriteCommand(0xe8); //寫入開始轉(zhuǎn)換命令
2.3 ZLG500C的程序設(shè)計(jì)
ZLG500C模塊通過對(duì)上位機(jī)電能數(shù)據(jù)的存取,和對(duì)非接觸IC卡的值操作,可以實(shí)現(xiàn)對(duì)電表的遠(yuǎn)程付費(fèi)。
一般非接觸IC的讀卡流程如圖10所示。
程序如下:
2.4 中斷服務(wù)程序的設(shè)計(jì)
2.4.1 電能測(cè)量中斷處理
中斷處理子程序:本系統(tǒng)利用單片機(jī)外部中斷,低電平有效。當(dāng)CS5460A的一個(gè)計(jì)算周期結(jié)束后,引腳由高電平變?yōu)榈碗娖?,觸發(fā)微單片機(jī)外部中斷,程序轉(zhuǎn)到中斷處理子程序。中斷服務(wù)子程序的功能是先讀取CS5460A的寄存器值,然后判斷用電量是否過載,如果過載則通過繼電器斷開總電源,如果用電在額定功率范圍內(nèi),則更新E2PROM中I,V,P寄存器內(nèi)的值并將最新的電能寄存器中的值與E2PROM中的電能數(shù)據(jù)進(jìn)行累加后存入E2PROM并將數(shù)據(jù)顯示在LCD上。最后判斷當(dāng)月用電信息是否已經(jīng)上傳至上位機(jī),若未上傳則通過RS 485上傳信息。
2.4.2 按鍵中斷處理
本系統(tǒng)中設(shè)有一個(gè)付費(fèi)按鍵,該鍵連接外部中斷,中斷觸發(fā)后執(zhí)行如圖11所示流程。
3 結(jié) 語
綜上所述,本文為智能化電能管理提供了一個(gè)有效的解決方案。本系統(tǒng)因采用的X5045,所以可將電壓和電流有效值、功率、用電量等歷史數(shù)據(jù)保存在E2PROM中,不斷刷新,以供出現(xiàn)故障時(shí)查看故障過程,同時(shí)系統(tǒng)作為智能終端通過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ān)復(fù)用RS 485總線,讀卡器模塊ZLG500C實(shí)現(xiàn)遠(yuǎn)程電能付費(fèi)等一體化的功能。