郭庭熙
(華北電力大學電氣與電子工程學院,河北 保定 071003)
基于單片機的電能計量插座設計
郭庭熙
(華北電力大學電氣與電子工程學院,河北 保定 071003)
介紹了一種具有電參數(shù)計量功能的基于單片機的電能計量插座。系統(tǒng)以AT89S51單片機為核心,計量芯片CS5460A通過采樣電路完成對電能的測量,并把數(shù)據(jù)傳送給單片機進行計算顯示。nRF24L01+無線模塊實現(xiàn)主機無線數(shù)據(jù)的采集和遠端監(jiān)控。X5045存儲各項校準值和電量值,實現(xiàn)系統(tǒng)的自動校準和斷電后電能值保留的功能。系統(tǒng)由程序?qū)崿F(xiàn)報警和繼電控制。
電能計量插座 AT89S51單片機 CS5460A nRF24L01+ 繼電控制
電表作為電能計量的重要裝置,其結構和性能經(jīng)歷了不斷更新、優(yōu)化的發(fā)展過程,由最初的感應電能表到感應系脈沖電能表,直到現(xiàn)在的純電子式電度表[1]。近些年,我國電能計量行業(yè)繼續(xù)保持較高的發(fā)展速度,電能表的核心——電能計量芯片在其下游電表整機產(chǎn)品的帶動下實現(xiàn)了出貨量的全面增長[2]。文獻[3~5]設計了基于單片機主控芯片自帶AD或者獨立AD芯片的智能數(shù)字檢測裝置。文獻[6]指出,電能表計量性能的差異與計量芯片關系密切,計量芯片設計不合理,丟失的電量不容忽視。由于主控芯片自帶AD精度有限、獨立AD芯片后期采集數(shù)據(jù)處理算法要求較高,故采用集成專用計量芯片可以使系統(tǒng)設計靈活精準,節(jié)約儀器的購置成本,提高工作效率[7~9]。
筆者設計了一種基于單片機的多功能電能計量插座[10],具有插座和電參數(shù)計量的功能,并且加入無線模塊,實現(xiàn)了遠端監(jiān)測。
基于單片機的多功能電能計量系統(tǒng)(圖1)分為計量插座、繼電控制和無線通信3部分[11]。與普通數(shù)字式電表相比,多了插座、通信和繼電器控制功能。該系統(tǒng)除了基本的電源分配功能外,還具有電能檢測、繼電控制及數(shù)據(jù)通信等功能[12]。
圖1 多功能電能計量插座結構框圖
2.1單片機主外圍電路
設計中,選用高性能的CMOS 8位AT89S51作為核心控制芯片,AT89S51使用方便、價格低廉,支持系統(tǒng)在線可編程(ISP),滿足設計要求。
2.2電能計量芯片
電能計量芯片選用帶有串行接口的單相雙向功率/電能計量集成電路芯片CS5460A。
芯片CS5460A提供了一個集成化的電能計量解決方案,僅需電壓、電流通道的模擬輸入便可測量電量參數(shù);自帶全數(shù)字校準,其技術指標較高;與同類芯片相比,精度和線性度均具有優(yōu)越性[13,14]。
2.3電壓電流采樣電路
輸入CS5460A的差模電壓峰值要限制在±250mV以內(nèi),否則會燒壞芯片[15]。實際應用中,交流信號的波形通常不是以準確的正弦曲線形式出現(xiàn)。為防止數(shù)值超量程,在輸入通道留有一定余量[16,17],通常取最大輸入電壓250mV×0.6=150mV。圖2和圖3分別為電壓和電流采樣電路。
圖2 電壓采樣電路
圖3 電流采樣電路
2.4光耦隔離電路
選用PC817線性光耦芯片,光耦隔離電路如圖4所示。
圖4 PC817光耦隔離電路
PC817實現(xiàn)了電能計量和控制芯片之間的隔離,即模擬電路和數(shù)字電路完全分隔開來,提高了系統(tǒng)的抗干擾性能,保證了系統(tǒng)的穩(wěn)定性。
2.5外置存儲器電路
外置存儲器芯片選用X5045,單片機只需4條線即可完成對X5045的讀寫操作[18],復位方式采用上電自動復位和按鍵手動復位的組合。
2.6無線通信模塊
選用nRF24L01+無線通信芯片,工作范圍為2.4~2.5GHz世界通用ISM頻段,無線傳輸速率為1~2Mbit/s。
無線模塊與單片機的硬件接線如圖5所示。VCC引腳電壓范圍在1.9~3.6V,如果超過3.6V將會燒毀模塊。并聯(lián)在VCC和GND之間的1kΩ電阻和0.1μF電容,起到去耦濾波的作用。
圖5 nRF24L01+模塊與單片機連接電路
2.7顯示模塊
顯示模塊選用段碼液晶顯示屏,可以顯示多種可視化圖案,操作簡單、價格低廉,非常適合本系統(tǒng)。
2.8繼電器模塊
單片機是一個弱電元件,驅(qū)動電流在毫安級以下,需要用到繼電器作為功率驅(qū)動元件,如圖6所示。
圖6 繼電器接線
開關K處于插座接線端子的最前端,保證負載電壓或電流出現(xiàn)異常時及時切斷電源,保證電器的安全。
3.1主程序
基于單片機的電能計量插座的軟件主程序負責將各個子函數(shù)整合起來,對從CS5460A芯片讀出的數(shù)據(jù)(如瞬時功率、電壓有效值、電流有效值和電量值)進行處理,送給無線模塊,繼電器起到安全保障功能。主程序流程如圖7所示。
圖7 主程序流程
3.2CS5460A子程序
3.2.1校準操作
CS5460A校準之后可以減小溫漂,降低電路干擾,提高儀器的精確度和穩(wěn)定性。將校準值保存在X5045中,避免了芯片每次上電后的重新校準,提高了系統(tǒng)的反應速度[19]。以直流電壓偏置校準為例(其他校準改變校準命令字即可),其程序代碼如下:
//電壓:直流偏置校準
Clear_DRDY();//清除狀態(tài)寄存器的DRDY位
buf[0]=0xd1;//電壓通道的直流偏置(DC Offset)校準命令是0xd1
Write_CS5460A(buf,1);//寫校準命令字0xd1
Wait_DRDY_High();//等待校準完成
Read_CS5460A(0x06,buf);//讀電壓通道的直流偏置(DC Offset)校準寄存器的值
write_x5045(0x00,buf[1]);//將校準數(shù)據(jù)存入x5045
write_x5045(0x01,buf[2]);
write_x5045(0x02,buf[3]);
3.2.2相位補償
CS5460A不能進行自動相位補償,需要通過設置配置寄存器實現(xiàn)。在CS5460A的負載端加入純阻性負載,并使CS5460A處于轉換狀態(tài),實現(xiàn)相位補償?shù)牟糠殖绦虼a如下:
for(i=0;i<128;i++)
{
Read_CS5460A(0x00,buf);//讀CONFIG寄存器
buf[1]&=1;
buf[1]|=(i<<1);
buf[0]=0x40;
Write_CS5460A(buf,4);//寫CONFIG寄存器
Wait_DRDY_High();
Read_CS5460A(0x14,buf);//讀能量寄存器
engery=buf[1];
engery<<=8;
engery|=buf[2];
engery<<=8;
engery|=buf[3];
if(engery>max_engery)
{
phase=i;
max_engery=engery;
}
}
3.3電能值獲取
CS5460A交流增益校正后,VIMS和IIMS寄存器的值為0.6(十進制數(shù))。寄存器值為0.6表示交流增益校準時輸入的交流電壓或交流電流。
單片機可以直接從CS5460A的電壓有效值寄存器、電流有效值寄存器中讀取電壓有效值和電流有效值。當把CS5460A的計算周期設置為1s時,其電能寄存器中的電能值就是有功功率值[20,21]。因此,單片機直接從CS5460A的電能寄存器中讀出的就是有功功率。得到有功功率、電壓和電流之后,功率因數(shù)cosθ可由公式P/(UI)計算得到。
3.4無線模塊程序
NRF24L01的編程基本流程如下[22,23]:
a. 使能芯片,配置芯片的各個參數(shù),配置參數(shù)在Power Down狀態(tài)中完成。
b. 如果是Tx模式,填充Tx FIFO寄存器。
c. 配置完成以后,通過CE和CONFIG中的PWR_UP與PRIM_RX參數(shù)確定芯片要切換到的狀態(tài)。
d. 當Rx FIFO收到數(shù)據(jù),Tx FIFO發(fā)送完成并且收到ACK校驗,達到最大重發(fā)次數(shù)時,IRQ中斷引腳觸發(fā),表示發(fā)送完成。
無線模塊初始化,發(fā)送接收函數(shù)具有統(tǒng)一性,編寫并不太復雜,但是會出現(xiàn)數(shù)據(jù)發(fā)送不成功的現(xiàn)象,需要在ACK校驗函數(shù)中清空FIFO,程序代碼如下:
uchar check_ACK()
{//用于發(fā)射
sta=SPI_Read(READ_REG+STATUS);//
if(TX_DS||MAX_RT)//發(fā)送完畢中斷
{ SPI_RW_Reg(WRITE_REG+STATUS,0xff);//清除TX_DS或MAX_RT中斷標志
CSN=0;
SPI_RW(FLUSH_TX);//用于清空FIFO
CSN=1;
return(1);//發(fā)射成功,返回1
}
else
return(0);//發(fā)射失敗,返回0
}
基于單片機設計的多功能電能計量插座,可以當作普通插線板使用,也可以顯示電壓、電流、功率和用電量。計量插座穩(wěn)定可靠、安裝使用方便、體積小、精度高、價格便宜且易于維護。在信息化和物聯(lián)網(wǎng)的背景下,多功能插座更符合現(xiàn)代人的需求,滿足人信更直觀了解電器用電情況的需求,為推行節(jié)能減排和精細化管理提供支持,具有廣闊的應用前景。
[1] 趙偉,龐海波.電能表技術的發(fā)展歷程[J].電測與儀表,1999,36(6):4~7.
[2] 袁遠.我國電能計量芯片市場前景廣闊[N].中國電力報,2012-07-19(7).
[3] 翟永前,蔣芳芳.基于MSP430單片機的智能數(shù)字電壓表設計[J].化工自動化及儀表,2011,38(3):297~300.
[4] 閆瑞杰,李海香,郝瑞霞.基于ATmega16的AD7705多通道模擬量采集系統(tǒng)設計[J].化工自動化及儀表,2011,38(4):466~468.
[5] 王金晨,馬思樂,紀成,等.基于MSP430的高精度微功耗可存取數(shù)字壓力表設計[J].化工自動化及儀表,2012,39(5):619~622.
[6] 宗建華,高津茹,楊湘江,等.電子式單相電能表計量芯片性能分析[J].電測與儀表,2002,39(8):14~16.
[7] 張健雄,蘇宏英,鄭文爭.基于電能計量芯片的功率因數(shù)測量儀器[J].電氣應用,2006,25(4):76~78.
[8] 唐文亮,全惠敏,夏清文.基于71M6542F的高精度智能電表的設計[J].電子技術應用,2011,37(12):60~62.
[9] 何昱.基于STM32F407的單相電參數(shù)測量儀[J].成都大學學報(自然科學版),2013,32(4):386~388.
[10] 郭庭熙.Wi-Fi電能計量插座[P].中國:ZL201521054087.7,2016-04-27.
[11] 徐偉,姜元建,王斌.智能插座在智能家居系統(tǒng)中的設計和應用[J].中國儀器儀表,2010,(10):45~47.
[12] 李云和.獨立式功率計量插座智能斷電的優(yōu)化設計與樣機研制[J].中國技術監(jiān)督,2014,(11):64~65.
[13] Duane B,Humberd S.Watt-Hour Meter Using PIC16C923 and CS5460[DB/OL].www.microchip.com/,2002-03-01.
[14] 劉賢鍇.基于CS5463的便攜式電能分析儀設計[J].化工自動化及儀表,2009,36(3):57~59.
[15] Cirrus Logic ASA.CS5460A Product Specification[DB/OL].http://www.cirrus.com/,2011-04-01.
[16] 金榮泰,許昌.CS5460A應用中的幾個關鍵問題[J].電子技術(上海),2004,31(2):13~14.
[17] 徐小軍,陳躍東,汪鵬飛,等.基于CS5460A的三相智能電能表的設計[J].安徽工程科技學院學報,2010,25(3):27~30.
[18] 姜偉光,郝磊.X5045電路及其應用[J].電子設計工程,2002,(5):48~51.
[19] 周敏奇,張謙.基于CS5460A的智能電力控制系統(tǒng)[J].現(xiàn)代電子技術,2010,33(1):167~170.
[20] 羅旭,張彥斌,胡國鵬,等.電子式電能表專用芯片CS5460及其在電測儀表中的應用[J].電子技術應用,2001,27(5):69~71.
[21] Chen Y,Piao Z L,Sun X W.The Design of Voltage Measuring System of TCR[C].Computer Application and System Modeling(ICCASM),2010 International Conference on.Taiyuan,China:IEEE,2010:114~117.
[22] Nordic Semiconductor ASA.nRF24L01+ Product Specification[DB/OL]. http://www.nordicsemi.com/,2008-09-01.
[23] 張永宏,曹健,王麗華.基于51單片機與nRF24L01無線門禁控制系統(tǒng)設計[J].江蘇科技大學學報(自然科學版),2013,27(1):64~69.
SocketDesignforElectricPowerMeasurementBasedonMCU
GUO Ting-xi
(CollegeofElectricalandElectronicEngineering,NorthChinaElectricPowerUniversity,Baoding071003,China)
A MCU-based electric power measurement socket was introduced, which adopts AT89S51 MCU and CS5460A metering chip answers for measuring the electrical energy through the sampling circuit and then transmits the data to the MCU for calculation and display; and nRF24L01+ wireless module can realize host’s wireless data collection and remote monitoring; and X5045 module stores every calibration value and electric quantity so that the function of auto-calibration and value-saving after the power failure can be realized. The system has out-of-limit alarm and relay control.
electric power measurement socket, AT89S51 MCU, CS5460A, nRF24L01+, relay control
TH89
B
1000-3932(2016)09-0977-05
2016-06-05(修改稿)