謝錫鋒 鄭立玲 左江林
摘要:為滿足變電站電壓、電流、溫度濕度參數(shù)測(cè)量與監(jiān)控的需要,設(shè)計(jì)了一種基于STM32處理器的RTU系統(tǒng),該設(shè)計(jì)實(shí)現(xiàn)了各功能模塊并給出了相應(yīng)的硬件電路及軟件的實(shí)現(xiàn)方法,系統(tǒng)使用GPRS與遠(yuǎn)程監(jiān)控主機(jī)進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程上位計(jì)算機(jī)數(shù)據(jù)實(shí)時(shí)監(jiān)控的需要。
關(guān)鍵詞:遠(yuǎn)動(dòng)終端單元;通用分組無(wú)線服務(wù)技術(shù);數(shù)據(jù)采集
中圖分類號(hào):TP338 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)01-0044-03
目前市場(chǎng)上的RTU終端大多采用8位或16位單片機(jī),且數(shù)據(jù)通信大多采用串行通信,存在時(shí)鐘頻率低、位數(shù)小、指令執(zhí)行時(shí)間長(zhǎng)、內(nèi)存小、傳輸速度慢等缺點(diǎn),已不能滿足對(duì)變電站實(shí)時(shí)監(jiān)控的要求,因此,開發(fā)具有低成本、實(shí)時(shí)性好的RTU系統(tǒng)勢(shì)在必行。
1 設(shè)計(jì)方案
STM32以其豐富的外圍模塊、高速的指令執(zhí)行速度、方便的JTAG 調(diào)試方式和低功耗等特性為數(shù)據(jù)采集與處理的設(shè)計(jì)提供了一個(gè)較為完善的平臺(tái),而覆蓋全國(guó)的GPRS網(wǎng)絡(luò)已成為一種可持續(xù)利用和開發(fā)的資源,因而在此基礎(chǔ)上開發(fā)出滿足需求的無(wú)線接入產(chǎn)品就成為可能,將變電站監(jiān)控應(yīng)用系統(tǒng)架構(gòu)于GPRS環(huán)境中,可以從許多方面改善監(jiān)控系統(tǒng)的性能和擴(kuò)展增強(qiáng)系統(tǒng)功能。
根據(jù)RTU功能和電壓電流參數(shù)測(cè)量誤差精度的需求,選用意法半導(dǎo)體公司推出的新型32位ARM處理器STM32F103VC為控制核心,由電壓電流傳感器、數(shù)據(jù)采集模塊、采樣信號(hào)調(diào)理單元、控制輸出、通信單元、存儲(chǔ)單元、LED顯示單元、時(shí)鐘單元、電源管理單元、掉電檢測(cè)單元等部分組成,具有遙測(cè)、遙信、遙控、遙調(diào)等功能。在程序設(shè)計(jì)上除了完成數(shù)據(jù)快速處理工作以外,還針對(duì)系統(tǒng)溫度及濕度的非線性失真進(jìn)行了修正和補(bǔ)償。
2 RTU硬件設(shè)計(jì)
2.1硬件結(jié)構(gòu)框圖
設(shè)計(jì)的RTU硬件結(jié)構(gòu)如圖1所示。
電壓電流信號(hào)由電壓互感器和電流互感器獲取,送入信號(hào)采集電路,經(jīng)前置放大、主放大、高低通濾波,得到符合要求的電信號(hào),并送入到STM32的ADC進(jìn)行AD轉(zhuǎn)換,系統(tǒng)控制芯片采用STM32,LCD的觸摸功能加上少量按鍵可以建立良好的人機(jī)交互環(huán)境,可以通過LCD實(shí)時(shí)顯示和回放,數(shù)據(jù)通過以太網(wǎng)、GPRS可靠地傳輸?shù)絇C監(jiān)控端,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸,方便對(duì)電壓電流數(shù)據(jù)做進(jìn)一步的分析,并接受來(lái)自PC監(jiān)控端的遙控遙調(diào)命令,輸出控制電路主要是實(shí)現(xiàn)對(duì)繼電器的控制。
2.2 主要單元模塊設(shè)計(jì)
1)微處理器單元
微處理器系統(tǒng),通過輸入通道采集傳感器信息,對(duì)數(shù)據(jù)進(jìn)行處理并通過一定的算法輸出,通過執(zhí)行機(jī)構(gòu)控制被控對(duì)象達(dá)到控制的指標(biāo),同時(shí)微處理器系統(tǒng)還包括存儲(chǔ)器、通信接口等。處理器的選擇主要從以下五個(gè)方面來(lái)考慮:處理器的處理速度, 處理器在完成任務(wù)的復(fù)雜程度, 盡可能簡(jiǎn)化外圍電路的復(fù)雜程度, 盡可能簡(jiǎn)化外圍電路的復(fù)雜程度和盡可能底的功耗,綜合以上幾個(gè)方面,最終選用了意法半導(dǎo)體公司推出的新型32位ARM處理器STM32F103VC(Cortex-M3內(nèi)核,72MHz頻率,256K Flash,48K RAM)。
2)電流電壓采集模塊
STM32F103VC內(nèi)嵌2個(gè)12位的模擬/數(shù)字轉(zhuǎn)換器(ADC), ADC可以使用DMA操作,16路通用輸入接口,輸入類別可選下面類型:12~24V光隔數(shù)字量或脈沖或計(jì)數(shù)輸入(PNP方式),0-5V模擬量輸入(12位),0-10V模擬量輸入(12位),0-20mA模擬量輸入(12位)。微處理器單元對(duì)電壓電流信號(hào)采樣值進(jìn)行處理,通過對(duì)采樣值的積分和軟件濾波運(yùn)算獲得電壓、電流值,通過對(duì)采樣值的乘積運(yùn)算獲得對(duì)應(yīng)的瞬時(shí)功率,然后通過對(duì)瞬時(shí)功率的積分,得到一段時(shí)間內(nèi)的能量,通過傅立葉變換計(jì)算出基波電能及電壓電流2~21次諧波含量數(shù)據(jù)。
3)通信模塊
GPRS模塊采用GU900無(wú)線模塊,其是一款雙頻段900/1800MHZ 的GSM/GPRS 無(wú)線模塊,有更小的體積,可以進(jìn)行板級(jí)SMT,節(jié)省空間,降低成本。它支持標(biāo)準(zhǔn)的AT 命令及增強(qiáng)AT 命令,支持TCP/IP協(xié)議棧,支持高達(dá)10K大容量緩存,支持多鏈接;此外,還支持DTU功能,支持可配置的網(wǎng)絡(luò)斷線重連,支持可配置的外部電平觸發(fā)短信功能。
3 監(jiān)測(cè)系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件編寫分為上位機(jī)PC管理系統(tǒng)程序和下位機(jī)程序,上位機(jī)管理程序采用Visual Basic 6.0開發(fā)平臺(tái)編寫,下位機(jī)程序通過C語(yǔ)言來(lái)編寫。
3.1 軟件總體分析
從整體上看,該系統(tǒng)軟件分為兩個(gè)大的部分:
1)下位機(jī)軟件即STM32應(yīng)用程序,主要完成采集電信號(hào)、濾波電信號(hào)、輸出控制信號(hào)、液晶顯示LCD和GPRS通信等功能;當(dāng)系統(tǒng)上電后,開始對(duì)整個(gè)下位機(jī)系統(tǒng)初始化,設(shè)置定時(shí)器和串口工作方式,然后控制器便總是處于等待狀態(tài),直到上位機(jī)發(fā)送控制指令給控制器后,控制器進(jìn)入接受命令程序;每個(gè)功能模塊對(duì)應(yīng)一個(gè)子程序,通過在主程序中調(diào)用子程序完成所要實(shí)現(xiàn)的功能。
2)上位機(jī)軟件即PC端監(jiān)控管理軟件,具有下達(dá)采集命令及回傳實(shí)時(shí)數(shù)據(jù)的讀取、數(shù)據(jù)顯示、曲線繪圖、傳感器狀態(tài)顯示等功能,采用Visual Basic作為監(jiān)控軟件平臺(tái)。監(jiān)控軟件的各項(xiàng)功能建立在以太網(wǎng)通信的基礎(chǔ)上,通過Visual Basic中的Winsock控件來(lái)實(shí)現(xiàn)雙機(jī)的點(diǎn)對(duì)點(diǎn)通信,并通過用戶數(shù)據(jù)報(bào)文協(xié)議(UDP)或傳輸控制協(xié)議(TCP)進(jìn)行數(shù)據(jù)交換。
3.2 信號(hào)采集程序設(shè)計(jì)
STM32的片內(nèi)ADC是12位的模數(shù)轉(zhuǎn)換器,使用前必須對(duì)ADC及DMA進(jìn)行配置,DMA配置包括復(fù)位DMA通道、定義 DMA通道外設(shè)基地址、定義DMA通道存儲(chǔ)器地址、指定外設(shè)為源地址、定義DMA緩沖區(qū)大小、設(shè)置當(dāng)前外設(shè)寄存器地址、設(shè)置DMA的內(nèi)存遞增模式、定義外設(shè)數(shù)據(jù)寬度、定義存儲(chǔ)器數(shù)據(jù)寬度、設(shè)置DMA通道操作模式為環(huán)形緩沖模式、設(shè)置DMA通道優(yōu)先級(jí)、禁止DMA通道存儲(chǔ)器到存儲(chǔ)器傳輸和初始化DMA通道等,ADC配置包括:設(shè)置ADC1和ADC2工作在獨(dú)立模式、使能掃描、設(shè)置ADC轉(zhuǎn)換工作在連續(xù)模式、設(shè)置軟件控制轉(zhuǎn)換、設(shè)置轉(zhuǎn)換數(shù)據(jù)右對(duì)齊、設(shè)置轉(zhuǎn)換通道、初始化ADC、使能ADC1模塊DMA、使能ADC1、重置ADC1校準(zhǔn)寄存器、等待ADC1校準(zhǔn)重置完成、開始ADC1校準(zhǔn)、等待ADC1校準(zhǔn)完成、使能DMA通道1、使能ADC1軟件開始轉(zhuǎn)換等,配置完以上的程序,那么AD每轉(zhuǎn)換一次,DMA都會(huì)將轉(zhuǎn)換結(jié)果搬到指定存儲(chǔ)單元ADC1_DR_Address中,而無(wú)需每次都用賦值語(yǔ)句來(lái)取值A(chǔ)D轉(zhuǎn)換的值,大大提高了數(shù)據(jù)的采集速度。
3.3 GPRS通信程序
上位機(jī)與主控通信模塊的通信過程如下:通信端口成功打開后,上位機(jī)向主控通信模塊發(fā)送詢問當(dāng)前狀態(tài)幀,如果在1s之內(nèi)主控通信模塊有確認(rèn)幀,說(shuō)明通信初始化成功,通信通路建立;當(dāng)主控通信模塊收到上位機(jī)發(fā)過來(lái)的讀取數(shù)據(jù)命令幀后,以數(shù)據(jù)包的形式上位機(jī)發(fā)送包含采樣數(shù)據(jù)信息的數(shù)據(jù)幀,上位機(jī)通過VB程序中的Winsock組件實(shí)現(xiàn)數(shù)據(jù)的接收功能。
設(shè)計(jì)中要實(shí)現(xiàn)收發(fā)數(shù)據(jù)時(shí),應(yīng)用程序需要得到客戶端或者服務(wù)器的確認(rèn)信息,而且點(diǎn)對(duì)點(diǎn)通信要求通信質(zhì)量高,所以選擇TCP協(xié)議。圖2為RTU往PC監(jiān)控端發(fā)送遙測(cè)遙信信息程序流程。
其中,STM32使用AT命令對(duì)GPRS模塊進(jìn)行控制,所使用的AT命令包括:測(cè)試SIM 卡是否存在(AT+ESIMS ),查詢信號(hào)質(zhì)量(AT+CSQ),模塊關(guān)機(jī)(AT+MSO),GPRS 網(wǎng)絡(luò)注冊(cè)狀態(tài)(AT+CGREG),帳號(hào)配置命令(AT+CSTT),激活無(wú)線網(wǎng)絡(luò)鏈接(AT+CIICR),設(shè)置多鏈接命令(AT+CIPMUX),設(shè)置數(shù)據(jù)透?jìng)髂J矫睿ˋT+CIPMODE),打開一條TCP 或者UDP 鏈接命令(AT+CIPSTART),發(fā)送數(shù)據(jù)命令(AT+CIPSEND),自動(dòng)接收數(shù)據(jù)( +IPD),透?jìng)鲄?shù)配置(AT+CIPCFG),關(guān)閉鏈接命令(AT+CIPCLOSE)等。
4 結(jié)束語(yǔ)
在充分考慮功能與成本的情況下,設(shè)計(jì)了一種基于GPRS的RTU系統(tǒng),該系統(tǒng)具有體積小、功耗低、操作靈活的特點(diǎn),其將工業(yè)控制、數(shù)據(jù)采集存儲(chǔ)和無(wú)線通訊結(jié)合在一起,可實(shí)現(xiàn)RTU的控制功能,又帶有數(shù)據(jù)采集儀的功能,十分的方便,滿足一般小型變電站監(jiān)控的所有需要,系統(tǒng)投入使用后,監(jiān)控室值班人員可以實(shí)時(shí)查看各個(gè)電力設(shè)備的運(yùn)行狀態(tài),并可根據(jù)調(diào)度指令及時(shí)啟停斷路器,同時(shí)值班人員可以及時(shí)發(fā)現(xiàn)各設(shè)備的故障,減少了不必要的損失。
參考文獻(xiàn):
[1] 楊黃華.基于DSP的電能質(zhì)量監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].水電能源科學(xué),2010(11).
[2] 徐偉.基于Modbus RTU協(xié)議的智能型低壓電器通信功能檢測(cè)的實(shí)現(xiàn)[J].機(jī)床與液壓,2011(15).
[3] 羅會(huì)玖.基于GPRS的輸油管道實(shí)時(shí)監(jiān)控系統(tǒng)[J].電腦知識(shí)與技術(shù),2013(7).
[4] 崔利娜.S3C2410在電能質(zhì)量監(jiān)測(cè)分析儀中的應(yīng)用研究[J].電測(cè)與儀表,2010(2).