電子式多功能電能表的設(shè)計(jì)與實(shí)現(xiàn)
本文闡述了電子式多功能電能表的設(shè)計(jì)方法、硬件設(shè)計(jì)的技術(shù)關(guān)鍵和軟件設(shè)計(jì)流程。并以NEC的μPD78F0338單片機(jī)為例,實(shí)現(xiàn)了一款具有四種費(fèi)率、六條負(fù)荷曲線和兩套費(fèi)率結(jié)構(gòu)的三相四線電子式多功能電能表。
電子式多功能電能表主要針對(duì)國(guó)內(nèi)市場(chǎng)三相用電的工業(yè)用戶。隨著電力行業(yè)改革深入,工業(yè)三相用電對(duì)多功能電能表的需求大量增加。目前國(guó)內(nèi)多功能表種類少、價(jià)格較高、功能不完善,往往僅是針對(duì)某些地區(qū)的特定要求開發(fā),缺乏通用性,某些產(chǎn)品未能完全達(dá)到國(guó)標(biāo)的要求。本文介紹的電子式多功能電能表正是為了適應(yīng)這種市場(chǎng)需求而設(shè)計(jì)的。
這是一款智能型高科技電能計(jì)量產(chǎn)品,該表可以同時(shí)計(jì)量正/反向有功電能、正/反向無(wú)功電能、四象限無(wú)功電能,還具有多費(fèi)率控制,負(fù)荷曲線記錄,各相失壓、過(guò)壓、頻率超限記錄,數(shù)據(jù)LCD顯示等多種功能。主站可以通過(guò)RS-485總線或手持紅外抄表器對(duì)該電表進(jìn)行查表、設(shè)表、抄表等操作。
軟件代碼全部采用C/C++語(yǔ)言編寫,編碼效率高,可維護(hù)性好,便于實(shí)現(xiàn)模塊化設(shè)計(jì),可根據(jù)用戶的需求方便地對(duì)功能模塊進(jìn)行裁剪。而且代碼經(jīng)過(guò)優(yōu)化,其生成的目標(biāo)代碼大小和執(zhí)行效率已與匯編代碼相差無(wú)幾。該產(chǎn)品的技術(shù)指標(biāo)全面符合 GB/T 17215-1998 《1級(jí)和2級(jí)靜止式交流有功電度表》、DL/T 614-1997《多功能電能表》和 DL/T 645-1997《多功能電能表通信規(guī)約》的要求。
多功能電能表的總體結(jié)構(gòu)和硬件設(shè)計(jì)
多功能表總體結(jié)構(gòu)
電子式多功能電能表硬件的核心MCU主控制器,它負(fù)責(zé)按鍵輸入掃描、工作狀態(tài)檢測(cè)、計(jì)量數(shù)據(jù)的讀入、計(jì)算和存儲(chǔ)、電表參數(shù)的現(xiàn)場(chǎng)配置以及與外界的通信控制等。其主要功能單元包括MCU主控制器單元、電量計(jì)量模塊、紅外和RS-485通信模塊、校表模塊、EEPROM存儲(chǔ)陣列等;其他輔助模塊主要有:時(shí)鐘日歷電路、工作異常報(bào)警電路、按鍵輸入電路、復(fù)位和看門狗電路、開關(guān)電源模塊和后備電池電路、大屏幕液晶顯示模塊和LED顯示模塊。多功能表總體結(jié)構(gòu)框圖如圖1所示。
高性能主控制器單元
主控制器采用NEC公司8位單片機(jī)中的高檔產(chǎn)品μPD78F0338。該款單片機(jī)為120腳QFP封裝,單片集成有60kB Flash、一個(gè)異步通信串行口、40×4段LCD驅(qū)動(dòng)器、高達(dá)10MHz的總線時(shí)鐘和10路10位精度的ADC,并可通過(guò)簡(jiǎn)單的接口進(jìn)行在系統(tǒng)編程,極大地方便在線調(diào)試和軟件升級(jí)。并且支持高級(jí)語(yǔ)言,較好地滿足了多功能表任務(wù)繁多、數(shù)據(jù)量龐大、算法較復(fù)雜的功能要求。
串口復(fù)用通信單元
通信電路模塊主要包括TSOP1838紅外接收頭、紅外發(fā)射二極管、載波電路、MAX487專用485收發(fā)電路、驅(qū)動(dòng)/開關(guān)二極管和其他元件。
圖1 多功能電能表總體結(jié)構(gòu)框圖
本電能表為便于用戶抄表,設(shè)計(jì)有紅外本地抄表和RS-485集中抄表兩種串行抄表方式,因?yàn)棣蘌D78F0338僅有一個(gè)串口,故通信電路設(shè)計(jì)時(shí)采用串口復(fù)用技術(shù)。由9012、9014和若干電阻等器件組成互補(bǔ)開關(guān),由MCU的一個(gè)I/O口來(lái)控制紅外和RS-485通信方式的切換,如圖2所示。
圖2 通信串行口復(fù)用電路
高精度電量計(jì)量模塊
計(jì)量模塊由高精度專用電能計(jì)量芯片SA9904、電流互感器和其他外圍電路元件組成。SA9904是Sames公司生產(chǎn)的一款三相雙向功率/電能計(jì)量芯片,可以計(jì)量有功/無(wú)功功率、電壓、頻率、相序異常等,可以單獨(dú)計(jì)量每一相的用電信息,符合IEC521/1036標(biāo)準(zhǔn),可達(dá)到1級(jí)交流電能表的精度要求,各數(shù)據(jù)寄存器具有24位精度,可通過(guò)三線SPI接口與CPU交換數(shù)據(jù)。從而可以較好地適應(yīng)多功能表需要計(jì)量多種電量數(shù)據(jù)的要求。SA9904引腳及其外圍電路圖如圖3所示。
圖3 SA9904引腳及其外圍電路圖
圖4 RTC-4553引腳及其外圍電路
其中,CLK、DO、DI構(gòu)成與MCU控制器的接口,用于傳輸控制命令和測(cè)得的電量數(shù)據(jù),IIPs、IIPt、IIPr用來(lái)對(duì)電流取樣,IVP1、IVP2、IVP3用來(lái)對(duì)電壓取樣。
時(shí)鐘日歷模塊
時(shí)鐘電路采用EPSON生產(chǎn)的RTC-4553實(shí)時(shí)時(shí)鐘芯片。內(nèi)部集成了32.768kHz的石英晶體振蕩器,簡(jiǎn)化外圍電路,并可以根據(jù)需要進(jìn)行自由設(shè)置以得到較高的頻率;同時(shí)集成有時(shí)鐘和日歷計(jì)數(shù)器;可選擇24或12小時(shí)顯示模式;時(shí)鐘可通過(guò)軟件方式進(jìn)行間隔30秒的調(diào)整;并提供0.1Hz或1024Hz的定時(shí)脈沖輸出,以便于在電能表的外部對(duì)時(shí)鐘精度進(jìn)行定期檢查。RTC-4553引腳及其外圍電路圖如圖4所示。
其中,SCK、Sin、Sout與主處理器接口,用于發(fā)送控制指令或者傳輸日期時(shí)間數(shù)據(jù),本系統(tǒng)日歷時(shí)鐘模塊采用電池作后備電源,以確保在停電狀態(tài)下,日期時(shí)間的準(zhǔn)確無(wú)誤。
圖5 主程序流程圖
多功能電能表的軟件設(shè)計(jì)
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
多功能電能表涉及的數(shù)據(jù)類型種類繁多。按字節(jié)分包括單字節(jié)、雙字節(jié)、三字節(jié)、四字節(jié)和六字節(jié)等;按表征的意義分有時(shí)間、時(shí)刻、電壓、電流、有功功率、無(wú)功功率、有功電能、無(wú)功電能、次數(shù)、功率因數(shù)、門限、狀態(tài)字、系數(shù)、表號(hào)等。復(fù)雜的數(shù)據(jù)類型對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)提出了較高的要求,本實(shí)現(xiàn)方案通過(guò)采用多種數(shù)據(jù)尋址方式和多種類型存儲(chǔ)器較好地解決了這一問(wèn)題。
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)要點(diǎn)
系統(tǒng)的數(shù)據(jù)存放方式有:內(nèi)部ROM、RAM和外掛EEPROM。
內(nèi)部ROM用來(lái)存放大量的常數(shù)表格;RAM用于存放臨時(shí)變量和堆棧,本方案需要2.5kB左右的RAM;串行EEPROM則存儲(chǔ)各種用戶電量數(shù)據(jù)和設(shè)表參數(shù),通過(guò)I2C總線與CPU交換數(shù)據(jù),電能表按設(shè)計(jì)需求的最大要求大約需要250kB的EEPROM,本方案采用8片256位EEPROM通過(guò)級(jí)聯(lián)來(lái)實(shí)現(xiàn)。
數(shù)據(jù)尋址方式
EEPROM數(shù)據(jù)訪問(wèn)采用兩種方式:直接地址訪問(wèn),通過(guò)數(shù)據(jù)的EEPROM地址直接讀寫數(shù)據(jù);數(shù)據(jù)ID尋址,通過(guò)數(shù)據(jù)的編碼讀寫數(shù)據(jù)。
通信口復(fù)用功能設(shè)計(jì)
紅外通信和RS-485共用一個(gè)串行口(RxD/TxD)通信,由于串行口通信開始都有一低電平位(0),因此將紅外接收端(與485接收端用一三極管隔開)引到一中斷引腳INTP1,通過(guò)其引發(fā)的中斷可判斷串行口數(shù)據(jù)是否來(lái)自紅外。發(fā)送時(shí)按對(duì)應(yīng)方式發(fā)送,使其不互相干擾。由于紅外通信和遙控接收用同一接收管,因此在判斷紅外來(lái)源的中斷中啟動(dòng)定時(shí)器INTTM4檢測(cè)紅外接收端,如果檢測(cè)到脈沖寬度為9ms或0.56ms,則判斷為紅外遙控,并根據(jù)定時(shí)檢測(cè)遙控編碼;否則判定為紅外產(chǎn)生的串行口接收中斷,并將定時(shí)檢測(cè)關(guān)閉。
紅外38.4kHz調(diào)制信號(hào)由CPU內(nèi)部分頻輸出(P05/PCL)。 f=fx/27=4.9152/128=38.4kHz。
因紅外發(fā)送字節(jié)之間可選有15~20ms的延時(shí),而485通信則不需要延時(shí)。數(shù)據(jù)發(fā)送在發(fā)送中斷中進(jìn)行,紅外通信在發(fā)送操作后立即關(guān)閉發(fā)送中斷允許,待延時(shí)時(shí)間到后再允許發(fā)送中斷。
多功能表程序流程圖
多功能表主程序流程主要包括初始化、數(shù)據(jù)校驗(yàn)、負(fù)荷曲線修補(bǔ)和事務(wù)處理等,其流程圖如圖5所示。
日常事務(wù)處理流程集中體現(xiàn)了多功能表的大部分主要功能,包括費(fèi)率處理、計(jì)量數(shù)據(jù)采集及處理、自動(dòng)抄表、電能脈沖輸出、校表模塊和掉電檢測(cè)及處理模塊等,其流程圖如圖6所示。
圖6 日常事務(wù)處理流程圖