宋雨蒙
(上海五零盛同信息技術(shù)有限公司,上海 200331)
電能是現(xiàn)代工業(yè)以及生活的主要能源。電網(wǎng)電能質(zhì)量的好壞越來越受到關(guān)注[1]。因此,提高計量精度、減少誤差、提高用戶的用電安全等,是目前亟需解決的難題。傳統(tǒng)的感應(yīng)式電表難以滿足未來電力市場的發(fā)展要求。因此,電子式電表獲得了巨大的發(fā)展[2]。文獻[3]~文獻[4]結(jié)合 ZigBee 和通用分組無線服務(wù)技術(shù)(general packet radio service,GPRS)這兩種通信方法,對電能進行遠程監(jiān)控。文獻[5]采用了RS-485與 WiFi 設(shè)計電能測控系統(tǒng),其可在多種工作模式之間切換。該系統(tǒng)能實現(xiàn)的功能有:電能計量、實時電流感應(yīng)順(currect transformer,CT)開路檢測、諧波測量等。其不足之處是計量功能與其他功能并沒有相互獨立,無法保證電能表的計量功能不受其他功能更新的影響。
因此,本文設(shè)計了一款高精度三相電能采集板,可以擴展應(yīng)用于市場上的照明監(jiān)控終端。其計量功能與其他功能相互獨立,可以確保電能表的計量功能不受其他功能更新的影響,且測量精度更高。
照明監(jiān)控系統(tǒng)如果缺乏電能采集模塊,將無法對電能進行計量。目前,市場上的電能計量產(chǎn)品質(zhì)量參差不齊,精度不高,穩(wěn)定性差。所以,亟需研發(fā)一款穩(wěn)定性強、精度高且能獨立于其他功能的電能采集模塊。
三相電能采集板作為照明監(jiān)控終端的一個功能模塊,完成進線總回路(即所有負載回路)A/B/C三相的有功電能、無功電能計量,以及功率因數(shù)、頻率、有功功率、無功功率、電流、電壓采樣的功能[6]。
本電能采集板以STM32F0系列芯片為核心。交流采樣電路由電壓互感器、電流互感器構(gòu)成。主芯片采集三相電壓、電流、功率因數(shù)、有功功率、無功功率、有功電能、無功電能等電能數(shù)據(jù)[7]。軟件程序進行電能值累加計算,并通過I2C接口存儲到片外EEPROM。
電能采集板系統(tǒng)如圖1所示。
圖1 電能采集板系統(tǒng)示意圖
系統(tǒng)硬件電路主要包括電壓電流采樣電路[8]、晶振電路、串行外設(shè)接口(serial peripheral interface,SPI)通信接口電路、基準(zhǔn)電壓電路、電源電路。
①采樣電路。采樣電路采用電壓互感器對交流電壓前端進行采樣,實現(xiàn)了采樣數(shù)字電路與輸入電壓零線的完全隔離。因此,可以節(jié)省采樣前端和CPU的光耦隔離電路、采樣芯片的電源隔離電路,有效降低成本。交采電壓接口加防浪涌器件保護。電源輸入第一級用自恢復(fù)保險絲進行保護,第二級壓敏電阻鉗位。印制電路板布局將強電與弱電隔離,干擾源與信號線分開,避免環(huán)形走線,采用電磁兼容性設(shè)計。
②晶振電路。電能采集芯片系統(tǒng)時鐘為8.192 MHz。因此,系統(tǒng)使用8.192 MHz晶振。
③SPI通信接口電路。電能采集芯片支持SPI與CPU之間通信,最高速率3.5 MHz。SPI含有4根線,分別是片選信號CS、時鐘信號SCLK、數(shù)據(jù)輸入DIN、數(shù)據(jù)輸出DOUT。
④基準(zhǔn)電壓電路。計量芯片內(nèi)置1.25(1±1%)基準(zhǔn)電壓,設(shè)計時在芯片的REF引腳上加兩個電容。一個為1~10 μF電容,另外一個為0.1 μF電容。
⑤電源電路。模擬電源與數(shù)字電源間接10 Ω電阻以減少數(shù)字噪聲,并在靠近AVDD和DVDD引腳處各接一個 0.1 μF去耦電容。
本系統(tǒng)的CPU為STM32F0,編程環(huán)境為Keil5。
系統(tǒng)主程序流程是:①初始化系統(tǒng)(系統(tǒng)時鐘更新、定時器初始化、USART串口通信初始化、IIC初始化、程序運行指示燈初始化、地址更新函數(shù));②電能采集芯片端口初始化(SPI初始化、端口初始化);③電能采集芯片初始化(芯片參數(shù)初始化、EEPROM初始化、從EEPROM讀取累計電能值、從EEPROM讀取電壓電流校準(zhǔn)參數(shù)、芯片寄存器配置);④每隔1 s,通過SPI讀取電能芯片上的電能信息,電能芯片設(shè)置為讀后清零型,所以MCU需要將電能進行累加計算,存入EEPROM;⑤當(dāng)主機板下發(fā)指令,按協(xié)議回復(fù)主機板的命令。協(xié)議會對指令進行幀頭、標(biāo)志符、地址、長度、命令、循環(huán)冗余校驗(cyclic randundancy eheck,CRC)等進行判斷。命令種類包括軟件版本信息、電能數(shù)據(jù)、EEPROM測試、電壓電流校準(zhǔn)等。
根據(jù)計量芯片的功能,電能采集板對采樣數(shù)據(jù)進行本地累加計算,并寫入EEPROM保存,再將累計值上報到主板機,優(yōu)化了系統(tǒng)的功能。
電能采集芯片對采集的信號進行處理,計算電壓電流間的相角、功率、頻率、電壓相序、諧波等電能信息,存儲在對應(yīng)的寄存器中[9]。MCU通過SPI實現(xiàn)與電能芯片的通信。為了避免因SPI傳輸受干擾而出現(xiàn)抖動,設(shè)計RC濾波電路。主芯片STM32把每秒從電能芯片讀取的三相電能和上次存入EEPROM中的三相電能值進行累加運算后,通過IIC接口寫入片外EEPROM。下一秒主芯片通過IIC接口讀取上次的電能累加值。然后,循環(huán)以上的流程。
電能計量優(yōu)化設(shè)計依據(jù):通過空間換壽命,充分利用EEPROM的全部空間,通過對所有地址輪流寫電能值,延長了EEPROM的寫次數(shù)[10],是固定地址寫參數(shù)壽命的253倍。利用該片外EEPROM,實現(xiàn)電能板對電能的累加功能,可以與其他功能模塊獨立開。
全局變量P表示頁碼。其中,page0、page1、page2存儲其他參數(shù),page3~page255用于循環(huán)儲存電能累計值。所以,頁碼的取值范圍是3≤flagN≤255。當(dāng)標(biāo)志為5 A時,此頁的上一頁存放了最新的電能累計值,其默認(rèn)值是00。它用于斷電重新上電后尋找上次電能累計值的存儲位置。
將電能板上的EEPROM共分為256頁,每頁有32個字節(jié),空間一共是8 KB。每頁內(nèi)的32個字節(jié)的地址,分別表示為0x20×P,0x20×P+0x01,…,0x20×P+0x1E,0x20×P+0x1F。每頁的首地址0x20×P存放標(biāo)志flag。0x20×P+0x01到0x20×P+0x18共24個字節(jié)存放A、B、C三相有功和無功電能累計值。每頁的地址0x20×P+0x19處存放下一次電能累計值該寫的地址處頁碼P。電能累計值寫EEPROM流程如圖2所示。
圖2 電能累計值寫EEPROM流程
電能采集系統(tǒng)最重要的是穩(wěn)定、可靠,要免于經(jīng)常性維護。因此,進行了參數(shù)校驗設(shè)計。
將校準(zhǔn)參數(shù)存在EEPROM的3個區(qū)域,同時計算并存入校驗值[11]。當(dāng)系統(tǒng)每隔一段時間讀取參數(shù)時,需要判斷三個區(qū)域值的校驗值是否一致。若有一個與其他兩個不一致,說明這個區(qū)域存儲的參數(shù)已經(jīng)不可靠,那么將讓其余兩個一致區(qū)域的參數(shù)值覆蓋出錯區(qū)域的參數(shù)值,然后讀出正確參數(shù)值。這樣可以保證參數(shù)穩(wěn)定,實現(xiàn)軟件硬件化。
執(zhí)行寫EEPROM的操作時,進行寫后反讀參數(shù)校驗:寫參數(shù)之后,延時,再讀出參數(shù),比較讀出的值與寫入值是否一致。若一致,結(jié)束;若不一致,則重復(fù)3次,仍不成功,則標(biāo)志出錯。
本文加上以上兩種參數(shù)校驗,并且通過軟件對通信接口進行定期重置,可以大大提高系統(tǒng)的穩(wěn)定性和可靠性。
與傳統(tǒng)的脈沖校表法相比,功率法校表更簡單、快捷[12]。校表系統(tǒng)只需一臺高精度電流電壓源。
功率法校表流程如下所示。
①計算額定輸入時標(biāo)準(zhǔn)的U、I寄存器值,計算F=1.0 L和F=0.5 L時的標(biāo)準(zhǔn)有功功率值,并根據(jù)電表常數(shù)計算芯片的HFConst。
②搭好校表環(huán)境并設(shè)置參數(shù),如配置好芯片的模數(shù)轉(zhuǎn)換器(analog to digital converter,ADC)增益、HFConst、閾值寄存器等。
③標(biāo)準(zhǔn)源額定輸出,讀出A相實際電壓、電流有效值,計算與理論值的誤差,再根據(jù)此誤差計算出A相電壓、電流通道增益寄存器的值,填入并比對校正結(jié)果,完成A相U、I通道增益校正。
④標(biāo)準(zhǔn)源電流空載,讀空載有效值、功率值,根據(jù)空載值計算相應(yīng)的OFFSET值并填入相應(yīng)的OFFSET寄存器,完成A相OFFSET校正。
⑤采用相同的方法,完成其他相的增益、OFFSET校正。
⑥校表結(jié)束。
通過以上校準(zhǔn)流程,對電能芯片的電壓電流校準(zhǔn)寄存器寫校準(zhǔn)參數(shù),就可以使測量誤差精確到0.3%以下。
試驗設(shè)備:三相電能采集板,主機板,高精度電壓電流源,筆記本安裝有串口調(diào)試助手軟件,RS-485串口調(diào)試工具。
試驗過程:設(shè)置高精度電壓電流源輸出電壓220 V、電流2 A,將設(shè)備上電,打開串口調(diào)試軟件。
用串口調(diào)試助手軟件發(fā)出以下錯誤協(xié)議幀:幀頭錯誤、標(biāo)識錯誤、地址錯誤、命令錯誤、CRC錯誤,電能采集板均不會回復(fù)。
通過以上協(xié)議測試,電能采集板可以穩(wěn)定工作,并與其他功能模塊穩(wěn)定通信。
設(shè)置高精度電壓電流源輸出220 V、2 A,將電能板軟件校準(zhǔn)前后的數(shù)據(jù)通過RS-485串口上報主機板。
通過測試可以看出,校準(zhǔn)后電能采集板采集電能數(shù)據(jù)誤差不超過0.3%,精度相對校準(zhǔn)前有顯著提高。
為測試電能采集板的性能,還進行了包括復(fù)位功能測試、設(shè)備參數(shù)存儲測試、溫升試驗、高低溫準(zhǔn)確度與濕熱試驗、快速脈沖試驗、沖擊耐壓試驗等試驗。以上試驗均成功通過。
試驗要求:電能累計值每秒鐘進行一次累加與EEPROM存儲。當(dāng)發(fā)生系統(tǒng)復(fù)位、掉電重啟或定期參數(shù)CRC異常時,從EEPROM中重新讀取更新電能累計值。重新讀取的累計值與上一次存儲的累計值應(yīng)保持一致。
重復(fù)4.1節(jié)中的試驗過程:通過RS-485串口觀察電能數(shù)據(jù)中的當(dāng)前累計電能,對電能采集板進行手動系統(tǒng)復(fù)位操作或掉電重啟;同時,對高精度電壓電流源斷電,待電能采集板重新啟動后,再通過串口調(diào)試助手觀察當(dāng)前累計電能。將本次讀取到的電能累計值與復(fù)位前的電能累計值進行對比,試驗結(jié)果符合上述試驗要求。
本文提供了一種簡單三相電能采集板的設(shè)計方法。采用該方法設(shè)計的電能表穩(wěn)定性好、準(zhǔn)確性高。本文采用了三相電能計量芯片結(jié)合意法半導(dǎo)體STM32,通過硬件電路設(shè)計、軟件程序設(shè)計,最終實現(xiàn)了對電壓、電流、功率、功率因數(shù)等電能數(shù)據(jù)的采集、存儲與上報。加上軟件校準(zhǔn)以后,經(jīng)過長時間的試驗測試,系統(tǒng)可以穩(wěn)定工作、正常通信,并且所有的電能數(shù)據(jù)誤差都在0.3%以下,滿足設(shè)計要求。