摘 要: 介紹了基于AT89S52單片機的一種新型多用戶單相電能表設計原理。給出了硬軟件設計及試驗測試結果。經測試與生產表明,該單相電能表設計技術新穎,具有計量準確、智能卡預付費、多用戶、用電管理靈活、低成本的特點。
??? 關鍵詞: 智能卡;預付費;多用戶;單相電能表;AT89S52
?
?? 隨著電子技術應用的快速發展,智能卡應用越來越廣泛,校園內一卡通管理應用越來越多。為了解決學校洗衣房的自動控制問題,本文設計了基于AT89S52單片機的一種新型的多用戶電能表,用戶利用智能卡實現先買電后用電的預付費方式,按照誰插卡誰用電的原則,插卡送電;用電結束后,再插卡取電,實現了一表多用戶的管理。該電能表采用AD7755單相電能計量芯片,電能計量精確,具有設計理念新穎、智能卡控制靈活、液晶顯示直觀、功耗低的特點,特別適合于學校洗衣房等公共用電場所的多用戶用電計量與管理。
1 電能表的結構與工作原理
多用戶電能表是基于AT89S52單片機研制而成的。AT89S52具有8 KB Flash閃速存儲器,三級加密程序存儲器,256 KB內部RAM,32個可編程I/O 口線,3個16位定時/計數器,1個6向量兩級中斷結構等。接口電路采用I2C總線結構,是一個比較適合于以開關量信號輸入檢測的性價比較高的8位單片機。多用戶電能表結構如圖1所示,包括單相電能計量電路AD7755、智能卡讀寫控制電路、串行存儲與看門狗X25045電路、HT1621液晶顯示電路、繼電器控制、漏電檢測及掉電檢測6大模塊。電能表的工作原理是:把單相交流電壓和電流分別經過分壓器和電流互感器轉換為小信號送到電能計量電路AD7755,由AT89S52對用電電能進行計量和供電控制。利用智能卡實現先買電后用電的預付費管理,通過插卡送電,再插卡取電,實現多用戶供電與斷電管理。該電能表可供數千戶用戶使用,當用戶把智能卡插入電能表中時,首先進行智能卡密碼校驗,識別該用戶卡是否是本單位用戶卡,若是則進行智能卡讀寫和供電與斷電控制;若不是,則顯示不是本單位用戶卡。該表還具有液晶顯示清晰、直觀、停電檢測與存儲、余額不足預報警處理、漏電檢測和負荷控制等功能。
2 硬件電路設計
2.1 智能卡控制電路
智能卡采用SIEMENS公司的HD4442加密卡[1]。智能卡控制電路由HD4442卡座和保護電路構成,如圖2所示(2個未使用的引腳略)。卡座的復位RST、時鐘CLK、數據線SD、卡輸入CIN引腳,分別與AT89S52的P20、P21、P22、P23引腳連接,AT89S52的P2端口內部有上拉電阻,不需外加上拉電阻。卡座底端有一個微動常開開關,無卡插入開關時,斷開CIN引腳為高電平,有卡插入開關閉合時,CIN引腳為低電平,AT89S52通過查詢P23引腳的電平判斷是否有智能卡。當卡插入時,智能卡的金屬卡片與卡座觸點緊密相連,AT89S52通過P21、P22實現對智能卡的讀寫控制操作。卡保護電路由三極管Q1實現,智能卡的電源VCC利用三極管Q1的輸出供電,這樣可以有效地防止卡座被人為插入片狀金屬物造成短路情況。為了可靠讀取卡中數據信息,當檢測到有卡時,可以延時10 ms去抖動,然后再進行智能卡讀寫。
?
2.2 電能計量
單相電能計量采用美國ADI公司的AD7755低功耗芯片實現[2-3]。AD7755內部除了ADC和濾波、相乘電路外都采用了數字電路,有效地消除了尖脈沖等干擾信號。對單相交流電源回路中的電壓、電流信號采樣,計算出功率并積分將其轉換為電能脈沖輸出,輸出端CF的脈沖經光電隔離器4N25后接入AT89S52的INT0中斷引腳,CPU進行電能計量。利用S0和S1狀態組合調整CF輸出脈沖常數。電能與脈沖的關系為:W=M/C,式中W為電能(單位為千瓦時),M為脈沖累計個數,C為電表脈沖常數,選取C=3 200,每千瓦時為3 200個脈沖。
2.3 液晶顯示
? 采用HOLTEK公司HT1621的LCD顯示驅動芯片,實現12位LCD數字顯示。HT1621是具有128段(32×4)、內置存儲器的LCD驅動器,片內包括控制與計時電路、顯示RAM、LCD驅動及偏置、監視定時器等,具有體積小、功耗低的優點,非常適合應用于電能表中。HT1621與AT89S52之間采用串行接口,只需3根線。AT89S52的P14、P15、P16引腳分別接到HT1621的CS片選、WR寫允許、DATA串行數據3個引腳上,以控制刷新顯示RAM緩沖區。另外,應用中,在VDD、VLCD之間接1個20 kΩ可調電阻,用來調節LCD顯示對比度,通過調節電阻,使得VDD=5 V、VLCD=4 V對比度較好。
2.4 串行存儲器
??? 串行存儲器采用XICOR公司的X25045低功耗芯片,它具有看門狗定時器WTD、電源電壓監控和具有512 B的串行E2PROM存儲器3種功能。E2PROM的512 B分別用于存儲電能表的單位碼、電表編碼、累計電量、停電時的用戶信息等,可以暫存用戶信息達到128戶,存儲次數可改寫10萬次,數據可保存100年。WTD設置為600 ms喂狗定時間隔,軟件編程寫入X25045中。在程序運行期間,WTD在定時間隔內收到觸發信號,以確保程序正常運行。如果一端WTD在定時間隔內沒有收到觸發信號,X25045即通過RESET引腳輸出1個高電平信號,觸發電能表復位來防止程序跑飛。X25045與AT89S52接口電路如圖2所示。
2.5 繼電器控制與漏電檢測
??? 利用AT89S52的P27引腳來實現繼電器控制,如圖2所示。P27經過4N25光電隔離器直接控制繼電器,完成供電與斷電控制。漏電檢測采用交流電源的火線與零線穿過電流線圈取樣,經過二極管全波整流和電容濾波后接入電壓比較器,比較器輸出接光電隔離器的1腳,檢測隔離器的4腳判斷其是否漏電。一旦檢測到漏電后,再次檢測,2次確認漏電立即斷電。掉電保護電路,用AT89S52的INT1中斷引腳檢測掉電信號,當突然發生斷電時,INT1跳變為低電平,INT1中斷進入掉電保護程序。在系統中,AD7755的脈沖輸出端、繼電器控制端、檢測漏電信號輸入端都使用了4N25光電隔離器。通過光的耦合作用傳遞電信號,提高系統抗干擾的能力。
3 軟件程序設計
3.1 軟件程序資源分配
??? 智能卡多用戶單相電能表軟件程序包括:初始化及主程序、X25045讀寫程序、智能卡讀寫處理程序、中斷處理程序、定時器處理程序、HT1621顯示控制程序、電能計量與掉電處理程序、系統自檢與軟件抗干擾處理程序模塊。系統的中斷資源分配為:INT0中斷用于AD7755脈沖檢測,INT1中斷用于掉電檢測,定時器T0用于定時100 ms,T1用于定時1 s,T2未使用。
3.2 程序模塊的設計
電能表每次上電時都要進行初始化,初始化程序包括對AT89S52單片機定時器、中斷等工作方式的設定,寫入串行存儲芯片X25045的控制字以及串行液晶驅動芯片HT1621的控制字。在子程序模塊中,INT0中斷處理程序完成電能計量、電量暫存儲于AT89S52的RAM存儲器中,然后累計電量每到1度時即寫入到X25045相應的地址中。電能表中電量分為用戶剩余電量和多用戶累計用電量,AT89S52根據用戶剩余電量余額大小進行控制,當余額不足時,電能表LED指示燈閃爍,提醒用戶需要購電。X25045讀寫程序完成串行數據的寫入與讀出。HT1621顯示控制程序實現12位液晶顯示器輪流顯示用戶編碼和單位碼、剩余電量、累計用電量信息,輪流顯示間隔為5 s。
智能卡處理程序完成智能卡的密碼校驗、讀寫和卡的類型判斷并進行相應操作。智能卡的類型共分5種:清零卡用于電能表的出廠初始設置;設置卡用來設置電能表的單位碼和負荷門限;換表卡用來換出表內全部信息再送入新更換的信息到電能表中;抄表卡用來抄回表內用戶信息和累計用電量,然后利用讀卡器傳送給上位計算機售電管理系統;用戶卡用戶首先通過計算機售電管理系統進行開戶交費充值,計算機售電管理系統根據電費和水費的總計價,把充值金額換算成電能數值寫于用戶卡中,然后用來向電能表送電與取電。前4種卡是用電管理部門使用,用戶僅持有用戶卡。當前用戶正在用電時,其他用戶插入用戶卡電能表指示有人正在用電,此時插入的用戶卡只取走本人的表內信息,不影響他人正常使用。當前無人用電時,插入用戶卡則把卡中信息寫入電能表中,并指示送入購電量數值,拔出智能卡后立即供電;再次插入用戶卡則把電能表中本人信息寫入卡中,并指示取走本人剩余電量,立即斷電。若當前用戶正在用電突然停電時,則電表進入掉電處理程序,把當前用戶剩余電量和累計用電量存入X25045中。若當前用戶正在用電卻檢測到漏電時,電能表存儲當前信息后并立即斷電。若用電超負荷時則斷電。
系統自檢與軟件抗干擾處理程序用來完成數據校驗與系統自診斷。電能表的工作過程主程序流程圖如圖3所示。
4 測試結果
??? 該電能表在淄博貝林電子有限公司進行了誤差測試和運行試驗,用1.0級標準電子式電能表校驗臺作為標準表,多用戶單相電能表為被測表,電能表額定負荷為12 kW。貝林電子有限公司針對不同負荷的情況下進行測試,限于篇幅僅列出負荷為1 kW、5 kW、12 kW時的實測數據,如表1所示。測試結果表明,該智能卡電能表誤差小于1%,屬于1.0級標準。
??? 經實驗,減小電能計量誤差方法有:(1)通過調節AD7755的取樣匹配電阻調整到精確值;(2)該匹配電阻阻值要求隨溫度變化阻值變化較小;(3)在電能計量過程中,當送電和取電時,計量電能的尾數部分不足0.01度的電能及余下的脈沖數值一并存取,避免了不足0.01度的電能丟失而造成累計電量有誤差。
??? 該電能表經淄博貝林電子有限公司生產表明,設計技術新穎、計量準確、智能卡控制靈活、液晶顯示直觀、功耗低。各項技術指標均達到國家智能卡電能表的技術標準,已經在山東多所高校投入使用,具有廣闊的應用前景。
參考文獻
[1] 龐桂云.智能IC卡電能表設計[J].電測與儀表,2007(9).
[2] Anthony Collins.用AD7755設計的低成本電能表[J].電子技術應用,2000,20(8).
[3] 彭衛東.單相電子式電能表的竊電分析及防竊電措施[J].電測與儀表,2004(2).