巢玉江, 袁紅兵,馮鋒
(1.南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094;2.南京理工大學(xué) 無錫研究院,江蘇 無錫 214000)
基于ATT7022A與MSP430的智能三相電力計(jì)量?jī)x表的設(shè)計(jì)與實(shí)現(xiàn)
巢玉江1, 袁紅兵2,馮鋒2
(1.南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094;2.南京理工大學(xué) 無錫研究院,江蘇 無錫 214000)
介紹了一款以電能計(jì)量芯片ATT7022A為基礎(chǔ),以MSP430系列的MSP430F149為主控芯片的三相電參數(shù)采集儀表。通過RS-485總線能實(shí)現(xiàn)信號(hào)和數(shù)據(jù)的輸入輸出、計(jì)算、控制等功能。通信協(xié)議采用Modbus-RTU協(xié)議格式,增強(qiáng)了可靠性和實(shí)用性?,F(xiàn)場(chǎng)運(yùn)行表明, 系統(tǒng)穩(wěn)定可靠, 具有較高的實(shí)用價(jià)值。
ATT7022A;MSP430;Modbus-RTU協(xié)議;三相交流電
近年來,隨著科技的快速發(fā)展,電子式電能表在國(guó)內(nèi)和國(guó)際上得到迅速推廣。但是許多企業(yè)里設(shè)備的電器控制柜還是老式機(jī)械式電能表,這種電表功能單一,精度不高,數(shù)據(jù)不能遠(yuǎn)程共享。隨著越來越多的企業(yè)開始向生產(chǎn)和管理自動(dòng)化轉(zhuǎn)變,智能三相電表應(yīng)運(yùn)而生。
本文設(shè)計(jì)的多功能三相三線電表主要應(yīng)用于大功率設(shè)備(如潛水泵)的電力參數(shù)的測(cè)量。在數(shù)據(jù)傳輸方面,由于RS-485總線以差分平衡方式傳輸信號(hào),所以具有抗干擾性好、傳輸距離遠(yuǎn)等特點(diǎn),非常適用于組成工業(yè)級(jí)的多機(jī)通信系統(tǒng)。Modbus協(xié)議是智能儀表的通用協(xié)議,更是增加了本儀表的通用性,與其他設(shè)備實(shí)現(xiàn)無縫對(duì)接。
整個(gè)系統(tǒng)由三相電能芯片ATT7022A、MSP430F149單片機(jī)、數(shù)碼管顯示電路、接口電路等組成部分。系統(tǒng)的整體架構(gòu)如圖1所示。
圖1 系統(tǒng)框圖
1) ATT7022A的特性
ATT7022A的一款多功能三相電能計(jì)量專用芯片,該芯片具有高精度,在輸入動(dòng)態(tài)工作范圍(1000∶1)內(nèi),非線性誤差小于0.1%;對(duì)有功、無功功率的測(cè)量精度分別達(dá)到0.2s和0.5s,對(duì)有功、無功電能測(cè)量精確度達(dá)到0.5s和2級(jí);所能測(cè)量的電能參數(shù)包括有功、無功、視在功率、雙向有功和四象限無功電能、基波/諧波電能以及總電能、電壓和電流有效值、相位、頻率以及21次諧波的有功、無功和視在功率等;具有SPI接口,方便的進(jìn)行軟件調(diào)試電表,讀測(cè)量數(shù)據(jù);適用于三相三線和三相四線電表[1]。
2) 單片機(jī)的選型
MSP430F149單片機(jī)是美國(guó)TI(德州儀器)公司近年推廣的16位高性能混合信號(hào)處理器。它有看門狗定時(shí)器(WDT)、模擬比較器A、定時(shí)器A(Timer_A)、定時(shí)器B(Timer_B)、串口0/1(USART0/1)、硬件乘法器、12位ADC、I2C總線直接數(shù)據(jù)存取(DMA)以及端口1~6(P1~P6)等外圍模塊。由于它具有處理能力強(qiáng)、運(yùn)算速度快、集成度高、外部設(shè)備豐富、超低功耗等優(yōu)點(diǎn),而且有很高的性價(jià)比,因此在許多領(lǐng)域內(nèi)都得到了廣泛的應(yīng)用[2]。MSP430F149單片機(jī)本身具有硬件支持的SPI接口,所以軟件的設(shè)置就非常簡(jiǎn)單,并且CPU有更多的時(shí)間去處理其他的任務(wù)。
3) 具體電路的設(shè)計(jì)
本方案主要有測(cè)量單元(ATT7022A)、MCU(MSP430F149)、數(shù)碼管顯示、電源、電平轉(zhuǎn)換電路、通信接口電路、按鍵等部分。
a) 測(cè)量單元:測(cè)量三相電各相的電壓電流、有功功率、無功功率等參數(shù)。主要有電壓互感器、電流互感器、芯片ATT7022A組成。電壓電流信號(hào)分別通過互感器和測(cè)量電路送給ATT7022A處理,ATT7022A處理完的數(shù)據(jù)通過SPI提供給MCU。ATT7022A內(nèi)部集成了6路16位A/D轉(zhuǎn)換器,電流通道有效值在2mV至1V范圍內(nèi),電壓有效值在10mV與1V的范圍內(nèi)。前端的采集電路如圖2所示。
圖2 前端采集電路
b) 芯片與MCU之間的通信:由于單片機(jī)工作電壓為3.3V,ATT7022A的高電平為5V,所以芯片與MCU之間SPI通信需要電平轉(zhuǎn)換電路。此處選用芯片SN74LVC4245。此芯片通過2腳(DIR)和22腳(/OE)來選擇3.3V與5V的轉(zhuǎn)換,這兩個(gè)腳與單片機(jī)的IO口相連。轉(zhuǎn)換關(guān)系為:當(dāng)/OE、DIR都為低電平時(shí),3.3V→5V;當(dāng)/OE、DIR都為高電平時(shí),5V→3.3V;當(dāng)/OE為高電平時(shí),為阻斷態(tài)。此芯片的轉(zhuǎn)換時(shí)間在2~5ns,當(dāng)SPI的波特率為9600時(shí),足夠滿足需求。
考慮到SPI傳輸信號(hào)線有可能受到干擾或者出現(xiàn)抖動(dòng),可以在SPI信號(hào)線上串聯(lián)一個(gè)小電阻。這個(gè)電阻與IC輸入端的寄生電容C結(jié)合起來可構(gòu)成一個(gè)低通濾波器,可以消除SPI接口信號(hào)上的任何振蕩,一般推薦使用10~100Ω的電阻。如果數(shù)字輸入端的內(nèi)部電容不夠大,還可在這個(gè)輸入端加一個(gè)外接電容,可選10pF左右的電容。對(duì)于這兩個(gè)電阻電容參數(shù)選擇要根據(jù)SPI通訊速率以及外部 MCU 的型號(hào)進(jìn)行分析并需要作些相關(guān)的實(shí)驗(yàn)以確定電阻電容值是否合適。具體的接線框圖如圖3所示。
圖3 ATT7022A與MCU的接線框圖
c) 通信接口電路:MSP430F149單片機(jī)有兩個(gè)串口-USART0/1。單片機(jī)串口0通過MAX3232芯片電平轉(zhuǎn)換可以與PC機(jī)的串口相連,實(shí)現(xiàn)上位機(jī)與下位機(jī)的通信。在設(shè)備的調(diào)試過程中有很重要的作用,也可以通過串口,實(shí)現(xiàn)上位機(jī)軟件對(duì)設(shè)備的配置。比如:設(shè)備地址、波特率、數(shù)據(jù)位數(shù)等參數(shù)的配置。單片機(jī)串口1通過芯片MAX485,實(shí)現(xiàn)485信號(hào)的輸出,可以實(shí)現(xiàn)帶多個(gè)此類設(shè)備。具體如圖4所示。
圖4 232和485電路
d) 數(shù)碼管和按鍵電路:主要負(fù)責(zé)電能、功率、電能等一系列參數(shù)的現(xiàn)實(shí)工作和地址和一些參數(shù)的設(shè)置工作。
e) 電源電路:本設(shè)備采用24V直流電供電,經(jīng)過7805芯片產(chǎn)生5V電壓供給ATT7022A芯片工作,再經(jīng)過一個(gè)1117-3.3電源芯片產(chǎn)生3.3V電壓供單片機(jī)等使用。
f) DS1302時(shí)鐘:給設(shè)備提供一個(gè)準(zhǔn)確的參考時(shí)間。
1) 多功能電表程序結(jié)構(gòu)流程圖如圖5所示。多功能電表的軟件設(shè)計(jì)主要是進(jìn)行測(cè)量數(shù)據(jù)的處理、數(shù)據(jù)的傳輸、電能的累加、異常情況的判斷和處理。主要完成ATT7022A芯片的初始化、單片機(jī)時(shí)鐘初始化、串口和SPI通訊的初始化、DS1302實(shí)時(shí)時(shí)鐘的初始化等,主程序中對(duì)各個(gè)參數(shù)的測(cè)量和計(jì)算。中斷程序中是SPI中斷和串口的中斷服務(wù)程序,及時(shí)響應(yīng)各種功能命令[3]。
電量計(jì)量程序是該多功能電表的主要部分。主要是通過單片機(jī)SPI去讀ATT7022A電壓寄存器、電流寄存器、功率寄存器;相序檢查;電壓負(fù)序與零序不平衡度、電流負(fù)序與零序不平衡度計(jì)算。在電表數(shù)據(jù)處理過程中,最重要是要判斷出ATT7022A是否在正常工作。定時(shí)讀取ATT7022A提供的校表寄存器的校驗(yàn)和寄存器的值。當(dāng)發(fā)現(xiàn)校驗(yàn)出錯(cuò)時(shí),單片機(jī)對(duì)ATT7022A復(fù)位并重新寫入校表數(shù)據(jù)。
2) 電力電參數(shù)的計(jì)算
3) Modbus通信協(xié)議
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控[4]。
控制器能設(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信。用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗(yàn)方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè)Modbus網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。本設(shè)備采用MODBUS-RTU通訊協(xié)議。MODBUS協(xié)議在一根通訊線上采用主從應(yīng)答方式的通訊連接方式。首先,主計(jì)算機(jī)的信號(hào)尋址到一臺(tái)唯一地址的終端設(shè)備(從機(jī)),然后,終端設(shè)備發(fā)出的應(yīng)答信號(hào)以相反的方向傳輸給主機(jī),即:在一根單獨(dú)的通訊線上信號(hào)沿著相反的兩個(gè)方向傳輸所有的通訊數(shù)據(jù)流(半雙工的工作模式)。
數(shù)據(jù)幀的結(jié)構(gòu):即報(bào)文格式。
地址碼功能碼數(shù)據(jù)碼校驗(yàn)碼1個(gè)BYTE1個(gè)BYTEN個(gè)BYTE2個(gè)BYTE
地址碼是幀的開頭部分,標(biāo)明了用戶指定的終端設(shè)備的地址。校驗(yàn)碼采用CRC校驗(yàn)方式。具體的功能碼在此不詳細(xì)列出。
ATT7022A支持全數(shù)字校表,即軟件校表。經(jīng)過校正的儀表,有功精度可高達(dá)0.5s,無功精度2級(jí)。如果選擇軟件校表,那么SCF、S0、S1全部接高電平或者全部懸空不接。由于構(gòu)成電流、電壓通道的抗混疊濾波器RC元件存在容差, 導(dǎo)致2個(gè)通道相位失配, 給最終測(cè)量帶來誤差。引起該誤差的相位可以與互感器的角差同時(shí)得到校正。ATT7022A提供的校表參數(shù)寄存器包括相位補(bǔ)償區(qū)域設(shè)置、相位校正、功率增益校正、電壓/ 電流校正、比差補(bǔ)償設(shè)置、啟動(dòng)電流、高頻脈沖輸出設(shè)置、斷相閾值電壓設(shè)置和合相能量累加模式等寄存器。每個(gè)寄存器3個(gè)字節(jié), 地址不連續(xù)地分布在0x01~0x3F之間。校表是電能表設(shè)計(jì)中非常重要的環(huán)節(jié),ATT7022A通電復(fù)位后, 校表寄存器的初始數(shù)據(jù)為默認(rèn)值, 此時(shí)讀出的計(jì)量參數(shù)值和實(shí)際參數(shù)值不符, 因而需要對(duì)校表寄存器進(jìn)行設(shè)置, 以將測(cè)量值減小到誤差范圍之內(nèi)。校表可按高頻輸出參數(shù)設(shè)置、比差補(bǔ)償區(qū)域設(shè)置、角差補(bǔ)償區(qū)域設(shè)置、功率增益校正、相位校正、啟動(dòng)電流設(shè)置、功率增益校正、參量累加模式設(shè)置、電壓校正、電流校正先后順序進(jìn)行[5]。
按以上思路設(shè)計(jì)的基于ATT7022A的多功能電表實(shí)現(xiàn)對(duì)有功、無功、視在功率、雙向有功和四象限無功電能, 以及電壓和電流有效值、相位、頻率等電參數(shù)的準(zhǔn)確測(cè)量。電表的線路設(shè)計(jì)簡(jiǎn)單、計(jì)量精度高。已經(jīng)經(jīng)過大量實(shí)驗(yàn)的考驗(yàn),實(shí)驗(yàn)結(jié)果表明該電能表有很好的穩(wěn)定性,并且精度高,成本低,有很高的性價(jià)比。這種基于ATT7022A的多功能電表就將在我校研究院一個(gè)水利項(xiàng)目上得到大量應(yīng)用。
[1] 炬力集成電路設(shè)計(jì)有限公司.ATT7022A用戶手冊(cè)[Z].珠海:炬力集成電路設(shè)計(jì)有限公司,2005.
[2] 胡大可.MSP430系列FLASH型超低功耗16位單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2001.
[3] 龍健,徐巖.基于ATT7022A的三相三線多功能電能表[J].PLC&FA,1606—5123(2010)07—0061-0:2-4.
[4] Modbus通信協(xié)議.
[5] 陳四根,陳濤.基于ATT7022A電能計(jì)量芯片電力監(jiān)控終端設(shè)計(jì)[J].東北電力技術(shù),1004- 7913 (2007) 06- 0042- 04:4-5.
Design of Electric Monitoring Terminals Based on IC ATT7022A and MSP430F149
CHAO Yu-jiang1, YUAN Hong-bin2, FENG Feng2
(1.School of Mechanical Engineering Nanjing University of Science and Technology, Nanjing 210094, China;2.Wuxi Institute of Nanjing University of Science and Technology, Wuxi 214000, China)
This paper introduces a collection instrument based on a chip ATT7022A and MCU(MSP430F149).It can be used to achieve many functions by RS-485 bus ,such as signal and data input, output,calculation and the control. To enhance reliability and practicability, Modbus protocol format is used. Field operation shows that the system is stable and reliable and has high practical value.
ATT7022A; MSP430; Modbus-RTU; three-phase AC
巢玉江(1987-),男,江蘇沭陽人,碩士,研究方向?yàn)榍度胧介_發(fā)和機(jī)電一體化設(shè)計(jì)。
TH89;TP29
B
1671-5276(2014)02-0180-04
2013-03-07