摘要:針對采用ADE7755作為電能計量芯片而設(shè)計的電表存在著功能簡單和精度低等缺點,提出了一種新型數(shù)字式三相多功能電表的設(shè)計方案.該方案采用ADE7758芯片和PIC16C76芯片進行設(shè)計,電表不僅能計量多種電能參數(shù)以滿足不同的實際需求,而且可對ADE7758片內(nèi)寄存器的參數(shù)進行微調(diào),使其達到很高的計量精度.
為了確保在缺相供電情況下能夠繼續(xù)正常工作,采用三相供電的方式.每一相交流電壓經(jīng)過一個專用的BT104型號變壓器,可提供兩組+12V和一組+9V的交流低電壓,兩組+12V輸出線圈間的最大隔離電壓為2400V,其中一組+12V輸出線圈與+9v輸出線圈間的最大隔離電壓為2400V,但另一組+12V輸出線圈與+9V輸出線圈間的最大隔離電壓只有1200V.由于在實際使用過程中RS4g5接口電路與電表內(nèi)部電路間的靜電電勢差可能 舊當大,同時為了在三相都掉電后有幾十毫秒的供電時間使PIC單片機仍能正常工作進行電量數(shù)據(jù)保存處理,所以第1組+12V電源供RS485接口電路使用,第2組+12V電源供中央控制和紅外通訊電路使用,第3組+9V電源供電能計量電路使用
1.2 電能計量電路
由3個精密電流互感器提供每相的電流信號.對于不同規(guī)格的電表,采用了不同電流變換比例
的互感器,由3路電阻網(wǎng)絡(luò)分壓得到每相的電壓信號.將電流信號和電壓信號接人電能計量芯片ADE7758,由ADE7758將電流信號和電壓信號先進行采樣、A/D(模/數(shù))轉(zhuǎn)化和相位校準,再將電流
在電表的軟件程序中分為主程序和中斷程序2大部分.主程序用于實現(xiàn)電表的每一項功能,中斷程序用于暫停主程序的運行,發(fā)送顯示代碼給數(shù)碼管,同時檢測電能脈沖、鍵盤操作和數(shù)據(jù)通訊事件是否發(fā)生.假如有事件產(chǎn)生則將對應(yīng)的標志位置1,退出中斷程序后繼續(xù)執(zhí)行主程序,主程序則根據(jù)標志位來確定是否需要調(diào)用相應(yīng)的處理子程序.由于PIC16C76僅有8級硬件堆棧和程序跨越4個分區(qū)的特殊性,所以在編寫程序時需要注意程序中嵌套子程序的層次和調(diào)用的子程序是否跨區(qū),否則會出現(xiàn)程序跑飛或者芯片自動復(fù)位的現(xiàn)象.
2.1 主程序的設(shè)計
在主程序中按實現(xiàn)的功能可分為9個模塊.第1個模塊實現(xiàn)上電后對電表的初始化和設(shè)置.先對單片機的工作模式進行設(shè)置,再從E PROM 中讀取ADE7758的工作參數(shù),寫入ADE7758使其能正確計量電能;從E PROM 中讀取所有歷史電能存放到單片機內(nèi)部寄存器中;從E PROM 中讀取表
號和密碼等通訊參數(shù),使得能與外部主機進行正確的數(shù)據(jù)通訊.第2個模塊對電壓值進行檢測判
斷,當連續(xù)3次檢測到的電壓都低于程序設(shè)定值時,則調(diào)用子程序保存所有電能,防止電路數(shù)據(jù)的丟失.第3個模塊對總有功脈沖和總無功脈沖進行計數(shù)得到總有功和總無功電能.第4個模塊負責更新顯示緩沖區(qū)的內(nèi)容,把單片機內(nèi)部寄存器中的電能由十六進制轉(zhuǎn)換為十進制,再轉(zhuǎn)換為LED顯示代碼存放到顯示緩沖區(qū)中.第5個模塊實現(xiàn)與外部通訊的功能,分為發(fā)送數(shù)據(jù)和接收數(shù)據(jù)2個子程序.第6個模塊對鍵盤操作進行響應(yīng),通過鍵盤操作可對ADE7758電能計量相關(guān)的參數(shù)進行微調(diào),使電表的電能計量誤差控制在很小的范圍內(nèi).第7個模塊從ADE7758寄存器中讀取A、B、C三相的有功、無功和視在功,再乘以不同的系數(shù)(不同規(guī)格的電表系數(shù)不同)后,然后累加到單片機的內(nèi)部電能寄存器中.第8個模塊分別計算有功、無功和視在功的總功率,以及計算總功率的因數(shù).第9個模塊從ADE7758寄存器中讀取電壓、電流、溫度和頻率值.執(zhí)行完后直接跳轉(zhuǎn)到第2個程序模塊的人口,開始了新一輪的循環(huán).主程序流程如圖2所示.
2.2 中斷程序的設(shè)計
?1 Analog Devices Inc..Energy Metering IC with Pulse Out—put[Z].USA,2002.
[3] Microchip Technology Inc..PIC16F87X Data Sheet[z].USA.2001.
|