呂佳慧
(國網(wǎng)山東省電力公司萊陽市供電公司 山東 萊陽 265200)
隨著經(jīng)濟水平和科學(xué)技術(shù)的發(fā)展,人們對電力需求量越來越大,電力抄核收模式已經(jīng)不能滿足社會需求,傳統(tǒng)的抄核收模式不僅費時費力,還容易出錯。因此須進行改革,提高效率、降低成本、方便群眾,以促進供電企業(yè)更好更快地發(fā)展,提高服務(wù)水平、增加社會效益、實現(xiàn)經(jīng)濟效益最大化。電力抄表核算收費智能化是為減輕電力企業(yè)工作人員工作負擔(dān)而產(chǎn)生的,抄表算費智能化系統(tǒng)提升了抄表核算收費效率[1]。智能電表通常設(shè)計有對應(yīng)的電能統(tǒng)計和遠程通信模塊,因此,供電公司就可以通過其服務(wù)器遠程監(jiān)測用戶用電情況,簡化煩瑣抄表過程,并且耗電數(shù)據(jù)可由微處理器直接算費。
系統(tǒng)可劃分為5個單元:電源模塊、STM32F103C8T6芯片的最小系統(tǒng)模塊、繼電器保護模塊、交流電流電壓檢測模塊、Wi-Fi模塊。電源模塊對系統(tǒng)電路進行供電;STM32F103C8T6芯片的最小系統(tǒng)模塊對整個系統(tǒng)進行監(jiān)控[2];繼電器保護模塊確保其他模塊能夠正常工作;交流電流電壓檢測模塊采用交流220 V電源在降壓處理后作為外部輸入信號,同時也作為Wi-Fi模塊的電源輸入;Wi-Fi模塊以實現(xiàn)系統(tǒng)數(shù)據(jù)的接收和發(fā)送。
STM32F103C8T6芯片作為一款單片機,內(nèi)核采用32位。它支持多種協(xié)議及操作系統(tǒng),有強大的外設(shè)驅(qū)動能力,市場潛力巨大。與C51單片機相比,STM32F103C8T6芯片有更多的功能與串口,被用于許多自動化控制設(shè)備中[3]。
STM32F103C8T6芯片基本參數(shù)電路類別為集成電路(IC)控制型,總線寬度為32位,最高工作速度為72 MHz,輸入輸出數(shù)量為37個,程序存儲器的容量為64 KB,程序存儲器的型號為FLASHRAM,容量為20 K×8,模數(shù)轉(zhuǎn)換器為A/D10x12 b。STM32F103C8T6芯片引腳,如圖1所示。

圖1 STM32F103C8T6芯片引腳
該設(shè)計使用了外部時鐘,分別為高速外部時鐘8 MHz接PD1、PD0計數(shù),低速外部時鐘32.768 kHz接PC14、PC15,以實現(xiàn)時鐘的使能。時鐘電路的功能主要與晶振電路配套使用,以提高工作的準(zhǔn)確性節(jié)奏平穩(wěn),使用時間片為50 ms,所述系統(tǒng)時鐘配置為APB1,使時鐘使能,使用10 kHz為計數(shù)頻率,采用向上計數(shù),以初始化時鐘3的時間為基數(shù)參數(shù),IRQ通道的使能、外設(shè)NVIC寄存器的初始化和使能時鐘3的實現(xiàn)[4]。所用2種時鐘電路的原理,如圖2所示。

圖2 時鐘電路原理圖
STM32F103C8T6芯片工作電壓為DC 3.3 V,因此電源電路需要一個能將大于3.3 V電壓轉(zhuǎn)換為穩(wěn)定的3.3 V電壓的芯片。選擇AMS1117-3.3降壓穩(wěn)壓芯片,芯片輸入電壓為DC 4.75~15 V、輸出電壓為3.3 V/1 A max,芯片的輸入電壓具有較寬的范圍,以及電路連接方便,輸入與輸出并聯(lián)為10 F,22 F濾波電容均可。電源接口為mini貼片USB接口,在開發(fā)板上導(dǎo)入5 V供電,串聯(lián)在一起的二極管用來保護開發(fā)板。電源模塊電路原理,如圖3所示。

圖3 電源模塊電路原理
將交流220 V電源降壓處理后作為外部輸入信號,同時也作為Wi-Fi模塊電源輸入。交流檢測模塊由電壓互感器(TV1005)、電流互感器(TA1005)二極管IN4148、4個電容和4個電阻連接而成。電壓互感器原理與變壓器作用相似,使用一次繞組(N1)為高壓側(cè)連接電源,二次繞組(N2)為低壓側(cè)連接輸出,起到降壓作用。電流互感器的原理與電壓互感器原理類似,一次側(cè)匝數(shù)(n1)與二次側(cè)匝數(shù)(n2)的比為電流比(kn),起到使輸入的電流成比縮小的作用。將濾波電容在STM32F103C8T6芯片引腳PA1和PA2作輸入信號。
Wi-Fi模塊選用的是ESP8266芯片,具有體積較小,能耗較少,方便實用,性價比高,可靠性好等優(yōu)點。Wi-Fi模塊利用串口和單片機進行通信,內(nèi)建TCP/IP協(xié)議棧可以實現(xiàn)串口和Wi-Fi的切換。ESP8266芯片內(nèi)含有滿足協(xié)議棧網(wǎng)絡(luò)標(biāo)準(zhǔn)的TCP/IP協(xié)議,可以滿足本文設(shè)計中功能的實現(xiàn)要求。由于使用了以上技術(shù),系統(tǒng)需將多個設(shè)備連接起來組成一個局域網(wǎng),并且具有很強的擴展性。另外,ESP8266芯片本身自帶USB接口,能夠與其他外部設(shè)備相連接。Wi-Fi模塊完成串口協(xié)議的收發(fā)數(shù)據(jù),分別為pin1和pin2,功能UART_RXD為接收命令,UART_TXD為發(fā)送命令,這是Wi-Fi模塊設(shè)計時的主要作用。
為了保護其他模塊的正常工作,避免負載模塊溫度過高而造成不應(yīng)有的損失,設(shè)計上增加了繼電器對線路進行保護,當(dāng)使用功率大于200 W后繼電器將被帶動進而切斷電源。電路設(shè)計時由于STM32F103C8T6芯片引腳處電流驅(qū)動性能很低,難以帶動繼電器通斷,故采用9012三極管供電,從而實現(xiàn)繼電器的關(guān)閉。LED1亮滅可判斷繼電器是否關(guān)斷,若燈亮則繼電器已關(guān)斷,若燈滅則繼電器已斷路。
為了保證繼電器能夠可靠工作,需要對三極管的管壓和導(dǎo)通時間等參數(shù)進行測量,并根據(jù)數(shù)據(jù)進行相應(yīng)調(diào)整。由于元器件數(shù)量較多,電路比較復(fù)雜,故采用分立元件模型。為保護二極管 前加裝限流電阻,則為保護三極管,繼電保護設(shè)計中也會安裝限流電阻。此外,由于STM32F103C8T6芯片內(nèi)部集成有1個電阻(R)和3個電容(C2、C3、C4),通過改變電阻值可以調(diào)節(jié)繼電器輸出電壓的高低,進而調(diào)整其靈敏度。當(dāng)輸入電壓較高時繼電器不工作,反之,輸入電壓較低時則工作。控制引腳RY1收到的信號為高電平,則繼電器立即關(guān)斷,否則繼電器不關(guān)斷。繼電器模塊如圖4所示。

圖4 繼電器模塊
硬件調(diào)試主要分動態(tài)調(diào)試與靜態(tài)調(diào)試2個部分,檢查硬件主要線路有無虛焊短路問題,以直流電源或示波器來整體調(diào)試被焊板,檢查各器件是否運轉(zhuǎn)正常。靜態(tài)調(diào)試是檢查開發(fā)板外層有無表面問題、焊接過程中有無焊點問題及線路漏接,利用儀器檢查開發(fā)板連接線路有無錯誤,尤其電源模塊,需查看管腳接線焊點焊接情況,并使用萬用表逐一檢查電路判斷短路問題[5]。完成檢查后,可對開發(fā)板進行上電檢測,若上電后指示燈能正常點亮且各模塊均未發(fā)生故障,則可在該開發(fā)板上進行各模塊功能檢測與調(diào)試。動態(tài)調(diào)試是以靜態(tài)調(diào)試已全部調(diào)試成功為先決條件,給開發(fā)板通電,查看指示燈均是否正常亮,并與PC端相連,看功能能否全部完成。
就整體程序設(shè)計而言,子程序均需連接控制芯片調(diào)試,對于不同模塊連接方式,需研究不同通道連接的方式。電源模塊對通電互感器執(zhí)行處理,直至控制模塊能夠接收到電壓和電流后,送入控制芯片STM32F103C8T6中進行ADC轉(zhuǎn)換,以實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換,將接收到的數(shù)據(jù)存入規(guī)則數(shù)據(jù)寄存器(ADC1)寄存器,STM32F103C8T6芯片通過引腳端口與Wi-Fi模塊相連,Wi-Fi模塊用于將手機端的APP以AP模式進行發(fā)送,手機端可顯示目前用電量,并且根據(jù)當(dāng)前的最新電價進行計算電費并實時顯示電費。若功率大于200 W時,繼電器將切斷電源,以保護線路[6]。系統(tǒng)設(shè)計程序流程,如圖5所示。

圖5 系統(tǒng)設(shè)計程序流程
ADC的狀態(tài)和控制寄存器初始化,主要是針對多重ADC模式下的DMA請求。在ADC程序設(shè)計中選用了逐步逼近型使能ADC1時鐘,初始化配置并設(shè)定六分頻器和PA1、PA2用作模擬通道的輸入引腳,轉(zhuǎn)換工作選用單通道ADC1進行,工作模式為單次轉(zhuǎn)化,觸發(fā)方式選用軟件觸發(fā)。選定工作模式后使能規(guī)定ADC1并打開AD校準(zhǔn)和終止校準(zhǔn),選取規(guī)則通道,啟動軟件轉(zhuǎn)換ADC1,等轉(zhuǎn)換完成,返回近期ADC1規(guī)則轉(zhuǎn)換結(jié)果,芯片將數(shù)據(jù)結(jié)果發(fā)送至規(guī)則數(shù)據(jù)寄存器。ADC模塊子程序流程,如圖6所示。

圖6 ADC模塊子程序流程
Wi-Fi模塊子程序功能負責(zé)從芯片接收數(shù)據(jù)后,向接收數(shù)據(jù)顯示終端發(fā)送數(shù)據(jù),能用流程圖來表達。無線模塊的子程序通過初始化使IP地址匹配,VVC輸入3.3 V電壓,在GPIO3執(zhí)行UART-RXD接收數(shù)據(jù)的指令,啟動數(shù)據(jù)接收,Wi-Fi模塊用于以AP模式完成UART-TXD的發(fā)送命令,將對應(yīng)電量消耗值顯示于手機終端上。模塊程序按要求初始化,從芯片接收數(shù)據(jù),將外設(shè)與Wi-Fi模塊相連接收數(shù)據(jù),顯示所述對應(yīng)消耗電量及電費。Wi-Fi模塊子程序流程,如圖7所示。

圖7 Wi-Fi模塊子程序流程
軟件調(diào)試前需要對系統(tǒng)進行整體通電調(diào)試。硬件的監(jiān)測是觀察其表面焊接有無問題,是否有很明顯地破裂,元器件正負極均是否有接反現(xiàn)象,電路接線是否接錯等。監(jiān)測完成后用萬用表探測有無短路和其他嚴(yán)重電路連線。整個硬件的焊接情況也需要做細致檢查,以保證不出現(xiàn)缺焊、過焊等問題。
調(diào)試平臺建成后,開始進行軟件程序的調(diào)試。當(dāng)程序未出現(xiàn)問題,隨即進行功能調(diào)試,考察功能能否達到設(shè)計要求,如功能有問題,需要立即進行程序的再次調(diào)試,直至功能能夠完全滿足設(shè)計的要求,軟件調(diào)試步驟如下。
步驟1 開發(fā)軟件Keil uVision5,需從菜單中選擇project創(chuàng)建新項目文件夾,查找新項目并鍵入新項目名稱后保存,然后選擇“STM32F103”型號單片機。
步驟2 將程序源代碼寫入到新的空白文本后,保存并命名為文件,即源文件建立成功。
步驟3 進行程序編譯與調(diào)試,啟動編譯程序、運行文檔、窗口啟動輸出信息。如出現(xiàn)報錯程序時,需及時查找錯誤并糾正,重新編譯直到不報錯為止,其中提醒可忽略而不需修改[7-8]。
綜上所述,本文設(shè)計是以STM32F103C8T6芯片為核心,經(jīng)電源模塊降壓處理,并將其傳送至STM32F103C8T6芯片,實現(xiàn)了模擬信號值到數(shù)字信號值的ADC轉(zhuǎn)換,并在ADC1寄存器里保存它們的數(shù)據(jù),由此電流電壓與其用電量消耗的作用。將所述芯片連接采用AP模式的Wi-Fi模塊并向其發(fā)送數(shù)據(jù),以Wi-Fi作為熱點端,對所設(shè)計的Wi-Fi和IP地址進行匹配連接,得到一個專門的單一通道的聯(lián)系,從而達到遠程查看電表功能。此設(shè)計實現(xiàn)了智能電表遠程抄表與算費,方便用戶隨時隨地查看用電量和電費,較好地發(fā)揮了其特有的優(yōu)越性,發(fā)展前景非常廣闊。