張海峰
摘要:對遠程控制的單相智能電表的通訊系統(tǒng)進行了可靠性設(shè)計。首先對其要完成的功能進行了描述,然后對其通訊的硬件外圍電路了設(shè)計,最后用485總線與上位機進行通訊,完成了遠程控制所需要的三個關(guān)鍵寄存器的參數(shù)設(shè)置,對通訊系統(tǒng)進行了可靠性設(shè)計,包括上下位機單片機時鐘頻率的選擇和參數(shù)的設(shè)置使得波特率一致,通過數(shù)據(jù)通訊的偶校驗、數(shù)據(jù)加密、數(shù)據(jù)和校驗、數(shù)據(jù)的多次發(fā)送來使得通訊可靠性大大提高。
Abstract: The reliability design of the remotely controlled single-phase smart meter communication system is carried out. This article first describes the functions to be completed, and then designs the hardware peripheral circuits for communication. Finally, it uses the 485 bus to communicate with the upper computer, and completes the parameter settings of the three key registers required for remote control. The system has been designed for reliability, including the selection of the clock frequency of the upper and lower computer and the setting of parameters to make the baud rate consistent. Through the even communication of data communication, data encryption, data and verification, and multiple transmission of data, the reliability of communication is greatly improved.
關(guān)鍵詞:單相智能電表;通訊;校驗;可靠性
Key words: single-phase smart meter;communication;calibration;reliability
中圖分類號:TM933.4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)04-0284-04
0? 引言
隨著大學(xué)對學(xué)生的生活環(huán)境更加重視,高校宿舍裝空調(diào)已經(jīng)越來越普遍,很多高校都要對原有的宿舍線路和電表加以改進來適應(yīng)新的用電要求。一般來說,高校宿舍的用電負載主要包括插座、照明、空調(diào)三種回路,這三種回路由于所用時間一般不同,如插座一般要求24小時有電,照明需要早晚有電,而空調(diào)一般夏季才使用,所以,這三路一般是分開走線。而在供電側(cè)進行三路繼電器分別控制。但由于學(xué)生宿舍經(jīng)常違禁使用熱水壺、電熱毯、電吹風、電磁爐等大功率電器,傳統(tǒng)的電表不能識別這些用電設(shè)備造成宿舍安全隱患。新型基于實時功率檢測的智能電表除了具有傳統(tǒng)電表能進行數(shù)據(jù)的采集、計量和傳輸外,在保證空調(diào)正常使用前提下,要能檢測惡性負載,既保證用電的安全,又保證宿舍環(huán)境舒適[1-2]。具體采取的方式是當識別出惡性負載后,切斷宿舍的所有電路進行警告,然后10s后恢復(fù)供電,如果惡性負載還沒有去除,又被檢出,再一次斷電警告,然后10s后再恢復(fù)供電,如果再一次檢出還有惡性負載,斷電后將不再供電,也就是說,在長時間斷電之前有三次去掉違禁用電器的機會,這種人性化的設(shè)計使得學(xué)生多了些理解,少了些抱怨,這個過程中需要有效識別惡性負載,為了不出現(xiàn)不能識別或者錯誤識別的情況,不但需要功率計量準確,更重要的是在數(shù)據(jù)通訊過程中不能出現(xiàn)錯誤,保證數(shù)據(jù)的實時性和準確性,這樣為后續(xù)的功率計算以及負載識別打下良好的基礎(chǔ)。為了保證通訊的實時性,本文設(shè)計的智能電表采用485總線與上位機進行通訊,進行遠程數(shù)據(jù)的傳輸和控制。在一些高校的應(yīng)用表明,采用此設(shè)計方案抗干擾性強,可靠性高。
1? 單相智能電表所能完成的功能
本文所研究的單相智能電表具有的功能如下:
電表同時監(jiān)測輸出電壓、電流、功率等各種用電參數(shù),顯示剩余電量、總用電量、已購電量,預(yù)購電量、無費關(guān)斷、欠費斷電提示、透支額度可以通過軟件設(shè)置。最大功率限制(負載限制功率可任意設(shè)置,超過限額自動斷電。惡意負載限制(惡意負載功率可任意設(shè)置(阻性負載功率),有效設(shè)備阻性負載,防止火災(zāi)發(fā)生。具有惡意負載的識別功能,能對30W以上甚至更小的阻性負載進行有效識別,而不影響其他電器的正常使用,為杜絕安全隱患提供了可靠保證;空調(diào)等電器正常使用。實時采集電壓和電流波形,通過2個周期的波形數(shù)據(jù)特征,判斷發(fā)熱電器和防限電插排。反限電插座識別(通過技術(shù)手段有效識別反限電插座的違規(guī)使用,杜絕安全隱患)目前防欠電插座市場上采用可控硅變壓、全波半波技術(shù)破解限電器。每個房間可實現(xiàn)照明、插座、衛(wèi)生間等多回路管理,控制輸出分別對應(yīng)控制房間內(nèi)的照明回路,插座回路,空調(diào)回路,衛(wèi)生間回路,實現(xiàn)分路用電管理。在不需要空調(diào)的季節(jié)關(guān)閉空調(diào)回路的電路,正常時每天晚上熄滅照明和插座回路。在用空調(diào)的季節(jié)晚上熄燈后留著空調(diào)回路,夜間熄燈后留著衛(wèi)生間燈光。同時違章用電未處理時,停止插座回路的供電。時段小功率管理(夜間熄燈后只允許使用充電器臺燈等電器)。總功率限制保護設(shè)置:對每個房間設(shè)置最大用電功率保護;同時該保護具備白天模式、空調(diào)模式、夜間模式;在夜間熄燈后,只有衛(wèi)生間照明時,自動把房間總功率保護調(diào)整到設(shè)定值(如50W),以防止夜間從衛(wèi)生間取電的違規(guī)用電行為。
2? MAX483通訊外圍電路設(shè)計
485總線采用半雙工方式工作,網(wǎng)路傳輸采用雙絞線方式,發(fā)送電路時需要用使能信號加以控制。半雙工數(shù)據(jù)在傳輸?shù)倪^程中只能在一個方向上進行傳輸,等待一方的數(shù)據(jù)傳輸結(jié)束以后,由另外一方再做回應(yīng)。本設(shè)計方案中RS485通信所用的是低功耗收發(fā)器芯片MAX483,其芯片電路如圖1所示,在MAX483芯片中每個元器件中都只含有一個接收器和一個驅(qū)動器,它含有的是有限功率驅(qū)動器,它不僅能夠減少電磁干擾,并且也使得使用不恰當?shù)慕K端匹配電纜而產(chǎn)生的反射有所下降,能夠完成最大250kbps無差錯數(shù)據(jù)傳輸。接收器具有失效保護功能,當輸出端開路,能夠保證輸出邏輯是高電平。電路左邊有3個型號NEC2501光耦,起到隔離作用,以防MAX483芯片和單片機的信號相互干擾。右邊的瞬態(tài)抑制二極管P6KE10CA是吸收浪涌功率用的,能在極短時間內(nèi)承受反向電壓沖擊,使兩極間的電壓被鉗制于一特定電壓上,避免后面的電路受到?jīng)_擊,連接時必須反向工作在電路電源地兩端[3]。
采用單一電源+5V工作,額定電流為300μA,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為RS-485電平的功能。MAX485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可;RE和DE端分別為接收和發(fā)送的使能端,當/RE為邏輯0時,器件處于接收狀態(tài);當DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可;A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在與單片機連接時接線非常簡單。只需要一個信號控制MAX483的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,一般可選100Ω的電阻。
3? RS485串口通訊寄存器參數(shù)設(shè)置和初始化
在RS485通訊過程中,采用的是串行通訊口,可以對UART6進行初始化后,將數(shù)據(jù)處理程序放在接收標志之后,使可對接收到的數(shù)據(jù)或命令進行響應(yīng),UART6的初始化主要包括異步串行接口操作模式寄存器ASIM6、時鐘選擇寄存器CKSR6和波特率發(fā)生器控制寄存器BRGC6這三個寄存器[4]。
3.1 異步串行接口操作模式寄存器ASIM6設(shè)置
該8位寄存器用于控制串行接口UART6的串行通信,可由1位或8位存儲器操作指令設(shè)置該寄存器。其8位符號如表1所示。
3.2 時鐘選擇寄存器CKSR6設(shè)置
該寄存器用于選擇串行接口UART6的基本時鐘fXCLK6,可由8為存儲器操作指令設(shè)置CKSR6。其8位符號如表2所示。
3.3 波特率發(fā)生器控制寄存器BRGC6
波特率發(fā)生器控制寄存器BRGC6,該寄存器用于設(shè)置串行接口UART6的8位計數(shù)器的分頻值,可由8位存儲器操作指令設(shè)置BRGC6。其8位符號如表4所示。
波特率發(fā)生器控制寄存器不同參數(shù)設(shè)置對應(yīng)的不同輸出時鐘,輸出時鐘范圍廣泛,所以相應(yīng)有252種不同的波特率,其對應(yīng)的時鐘輸出如表5所示。
3.4 電表的初始化程序
本電表的初始化程序設(shè)計:
4? 通訊的可靠性設(shè)計
4.1 上下位機的波特率一致性
上下位機的波特率一致性是保證數(shù)據(jù)可靠傳輸?shù)脑搭^,在選擇設(shè)計時候必須引起足夠的重視[5]。下位機電表采用的單片機和上位機收發(fā)器采用的單片機生產(chǎn)廠家不一樣,時鐘頻率也不一樣,這樣在進行通訊時,可能波特率不一致造成誤差,通過我們的選擇,保證了二者的速率一樣,不會造成通訊的延遲。
電表通訊的波特率計算公式:
4.2 軟件設(shè)計保證數(shù)據(jù)傳輸?shù)目煽啃?/p>
首先數(shù)據(jù)通訊時采用9為異步通信,每幀數(shù)據(jù)均為11位,1位起始位為0,8位數(shù)據(jù)位(先低位),1位可程控為1或0的第9位數(shù)據(jù)位和1位停止位,數(shù)據(jù)通訊采用偶校驗,如果接收的數(shù)據(jù)不能通過校驗,通訊會自動報錯。
軟件設(shè)計的流程圖如圖2所示[6],如果接收的數(shù)據(jù)個數(shù)為0,報告沒有接收數(shù)據(jù),返回接收值為0XFF。如果只接收到一個數(shù)據(jù),要判斷接收的數(shù)據(jù)是不是電表號,因為在通斷電時,只需要接收和發(fā)送電表號一個數(shù)據(jù),設(shè)計要求要保證各宿舍斷電時間前后不超過3分鐘,因為時間太長會造成學(xué)生的抱怨,為什么有的宿舍關(guān)燈早,有的宿舍關(guān)燈晚。解決的辦法主要一個增加上位機收發(fā)器的數(shù)量,二是要求通訊的數(shù)據(jù)盡量少,減少發(fā)送數(shù)據(jù)的時間。在進行判斷時,要將電表號加上0x33看是否與接收的數(shù)據(jù)一致,因為在上位機發(fā)送數(shù)據(jù)時,為了增加數(shù)據(jù)的可靠性,對數(shù)據(jù)進行了加密,加了0x33。如果數(shù)據(jù)超過一個,首先檢驗第一個數(shù)據(jù)是不是空格,因為在發(fā)送數(shù)據(jù)前發(fā)送一空格,相當于提示通訊接口要進行正式數(shù)據(jù)通訊了,保證數(shù)據(jù)傳輸?shù)目煽啃?。然后接收后面?個數(shù)據(jù),這些數(shù)據(jù)包括控制字如寫電量、功率設(shè)置等,電表號,用戶號,電量等,如果沒有,就用0填充,這些數(shù)據(jù)和前面的電表號一樣也進行了加密,為了保證這些數(shù)據(jù)的準確性和可靠性,第5個數(shù)據(jù)是校驗數(shù)據(jù),如果前面4個數(shù)據(jù)的和與第5個數(shù)據(jù)相等,就表明傳輸數(shù)據(jù)沒有錯誤,然后把這4個數(shù)據(jù)減去加密數(shù)據(jù)后存入接收SBUF,準備發(fā)送,為了保證這些數(shù)據(jù)有效接收,每組數(shù)據(jù)(包括1個空格和5個數(shù)據(jù))發(fā)送兩次,如果數(shù)據(jù)接收錯誤,發(fā)送字母“N”,這樣通過偶校驗、加密、數(shù)據(jù)和校驗、多次發(fā)送,保證了數(shù)據(jù)傳輸?shù)臏蚀_率和可靠性,實驗表明,錯誤率小于萬分之一,對于大學(xué)宿舍用電已經(jīng)非??煽?,學(xué)生基本沒有不滿意的情況發(fā)生。
5? 結(jié)論
本文對遠程控制的單相智能電表的通訊系統(tǒng)進行了可靠性設(shè)計。包括軟硬件的設(shè)計工作,硬件設(shè)計工作主要是進行了外圍電路設(shè)計和元器件的型號參數(shù)選擇,軟件設(shè)計主要是完成了遠程控制所需要的三個關(guān)鍵寄存器的參數(shù)設(shè)置,上下位機單片機時鐘頻率的選擇和參數(shù)的設(shè)置使得波特率一致,通過數(shù)據(jù)通訊的偶校驗、數(shù)據(jù)加密、數(shù)據(jù)和校驗、數(shù)據(jù)的多次發(fā)送,使得系統(tǒng)的通訊可靠性大大提高,通過這些改進措施,實驗結(jié)果表明大大超過了最初的設(shè)計指標,現(xiàn)已在某些高校得到了較好的應(yīng)用。
參考文獻:
[1]劉朝輝.智能電表發(fā)展前景及市場容量分析[J].市場營銷,2015(2):36-37.
[2]荊永震,朱楚楚,蔡高琰,等.LoRa通信智能用電系統(tǒng)中的應(yīng)用[J].自動化與儀器儀表,2019(1):187-190.
[3]陳斌斌,孫衛(wèi)華,杜志平.基于NEC單片機的智能電表控制系統(tǒng)設(shè)計[J].電子測試,2015(3):16-18.
[4]陳術(shù),王海坤,梁小娜,等.物聯(lián)網(wǎng)電表抄表及遠程電力服務(wù)系統(tǒng)應(yīng)用研究[J].信息與電腦,2017(13):129-130.
[5]許曉毅.基于嵌入式的智能抄表管理系統(tǒng)設(shè)計[J].智能處理與應(yīng)用,2015(6):70-71.
[6]熊文,王莉,肖健,等.一種RS485串口通信電路的高可靠性設(shè)計[J].自動化與儀器儀表,2017(3):43-45.
[7]李偉.基于遠程費控的智能電表的設(shè)計分析[J].價值工程,2018,37(36):279-280.