賀洪江;傅世川;易險峰
(葛洲壩易普力重慶力能民爆股份有限公司, 重慶 418300)
隨著科學(xué)技術(shù)的發(fā)展,無線技術(shù)在工業(yè)現(xiàn)場的應(yīng)用已經(jīng)比較成熟,但由于工業(yè)現(xiàn)場環(huán)境的限制以及應(yīng)用目的的不一致,導(dǎo)致沒有一種統(tǒng)一的規(guī)范能夠滿足不同的應(yīng)用場合。這導(dǎo)致一方面增加了設(shè)備的設(shè)計成本,另一方面限制了無線技術(shù)在工業(yè)現(xiàn)場的使用。
水作為工業(yè)現(xiàn)場必要的生產(chǎn)要素之一,不可或缺。但蓄水池往往建在離生產(chǎn)現(xiàn)場較遠(yuǎn)的地方。如果通過有線的方式采集水池數(shù)據(jù),一方面增加了建造成本和后期維護(hù)成本;另一方面對采集數(shù)據(jù)量及種類也產(chǎn)生了一定的限制,比如,現(xiàn)在只需要采集水池的液位,過一段時間后又需要采集水池溫度,如果采用有線的方式就需要重新布線,而采用無線傳輸方式只需要在程序中多預(yù)留幾個通道,就可以滿足后期的生產(chǎn)需要。
針對工業(yè)現(xiàn)場存在著各種信號的干擾的情況,因此,是否能夠及時、準(zhǔn)確的接收工業(yè)現(xiàn)場數(shù)據(jù),是限制無線技術(shù)在工業(yè)現(xiàn)場使用的要素之一。基于SI4432無線射頻芯片的遠(yuǎn)程液位監(jiān)控系統(tǒng),模塊自動實現(xiàn)CRC校驗,使抗干擾和靈敏度大大地提高;采用載波偵聽多路訪問/沖突避免(CSMA/CA)協(xié)議,避免了因通信沖突引起的信道阻塞和數(shù)據(jù)丟失;再利用調(diào)頻管理機(jī)制,對射頻網(wǎng)絡(luò)頻段進(jìn)行管理[1]。
針對較偏遠(yuǎn)的工業(yè)生產(chǎn)現(xiàn)場,數(shù)據(jù)采集的另一個受限因素是采集系統(tǒng)的供電。該無線液位采集系統(tǒng)采用太陽能板加蓄電池作為供電源,有效地解決了偏遠(yuǎn)工業(yè)生產(chǎn)現(xiàn)場的傳感器數(shù)據(jù)采集網(wǎng)絡(luò)供電難的問題,節(jié)能環(huán)保的同時降低了建設(shè)成本。
下位機(jī)硬件組成包括作為供電源的太陽能板和蓄電池,自帶8通道10位高精度A/D轉(zhuǎn)換功能的微處理器STC12C5A60S2,輸出為0~5 V電信號的高精度液位變送器和SI4432無線射頻芯片,如圖1所示。
圖1 下位機(jī)硬件系統(tǒng)
該系統(tǒng)采用20 W多晶硅太陽能電池板,最高開路電壓21.64 V,最高短路電流1.16 A,轉(zhuǎn)換效率達(dá)17.5%以上,工作溫度在-50℃~85℃。能夠滿足本系統(tǒng)的要求。
該系統(tǒng)采用12 V電壓等級的太陽能控制器,可以有效的實現(xiàn)電池過沖保護(hù)和過放電保護(hù)。當(dāng)蓄電池端電壓高于控制器上的保護(hù)設(shè)定值時,太陽能控制器將停止對蓄電池充電;當(dāng)蓄電池電壓低于某個設(shè)定值時,太陽能控制器將停止對負(fù)載供電,當(dāng)蓄電池電壓高于低保護(hù)設(shè)定值時,系統(tǒng)重新恢復(fù)供電。過沖保護(hù)和過放保護(hù)能夠有效保護(hù)蓄電池,延長了蓄電池壽命,增加了系統(tǒng)的穩(wěn)定性。采用12 V7 Ah的后備電池,以便實現(xiàn)液位數(shù)據(jù)的全時段監(jiān)控。
傳統(tǒng)的8051單片機(jī)時鐘頻率較高時,ALE腳是一個干擾源,STC12C5A60S2增加了AUXR特殊功能寄存器,直接禁止ALE腳對系統(tǒng)時鐘進(jìn)行分頻輸出,徹底清除此干擾源,增加了系統(tǒng)的穩(wěn)定性。
STC12C5A60S2微處理器內(nèi)部集成MAX810專用復(fù)位電路,8路高速10位A/D轉(zhuǎn)換,轉(zhuǎn)換速度可達(dá)250 kb/s[2]。60 kb系統(tǒng)編程的Flash內(nèi)存,1280字節(jié)的片內(nèi)RAM,可尋址64 kb地址空間的外部數(shù)據(jù)存儲器接口,硬件實現(xiàn)的ISP/IPA在線系統(tǒng)可編程/在線應(yīng)用可編程,可通過串口(P3.0/P3.1)直接下載用戶程序[3]。
本設(shè)計采用STC12C5A60S2空閑省電模式,當(dāng)SI4432模塊正確接收由控制中心發(fā)來的控制指令后,置低AUX引腳,該引腳直接和微處理器的外部中斷引腳INT0相連,當(dāng)外部中斷引腳INT0收到低電平信號時,將微處理器由空閑模式中喚醒,執(zhí)行20次A/D轉(zhuǎn)換,并求取20次A/D轉(zhuǎn)換的平均值,然后通過串口發(fā)送給SI4432模塊,傳回至控制中心服務(wù)器端,系統(tǒng)將再次進(jìn)入休眠模式。通過外部中斷喚醒方式,既滿足數(shù)據(jù)采集的實時性,又達(dá)到了節(jié)能降耗的作用,延長了系統(tǒng)獨立運行時間。
液位傳感器選用北京港北中天科技有限公司生產(chǎn)的GB2100A型三線制液位變送器,該傳感器的供電電壓為12.36 V,輸出0~5 V直流電壓,測量精度高達(dá)0.2%。三線制有線路電阻補(bǔ)償,可以消除引線電阻對測量的影響,提高了測量數(shù)據(jù)的可信度。
SI4432是由Silicon公司推出的一款高集成度、低功耗、多頻段EZRadioPRO系列無線收發(fā)芯片[4]。該芯片可提供數(shù)據(jù)包處理、數(shù)據(jù)緩沖FIFO、接收信號強(qiáng)度指示(RSSI)、空閑信道評估(CCA)、喚醒定時器、低電壓檢測、溫度傳感器等功能的硬件支持。該模塊片上集成了STM8L101處理器,可通過串口在線修改發(fā)射功率、射頻速率等各種參數(shù)。SI4432輸出功率可達(dá)+20 dBm,接收靈敏度達(dá)到-121 dBm,射頻前端采用二級高頻放大電路,獨立提供5 V電源,通信距離可達(dá)5 km以上,實現(xiàn)了真正意義上的遠(yuǎn)距離通信。
該芯片具有前向糾錯機(jī)制,利用傳輸冗長信息的方法,當(dāng)傳輸過程中出現(xiàn)錯誤,能夠在接收端重建數(shù)據(jù),大大提高了無線傳輸?shù)目煽啃?。同時支持載波監(jiān)聽功能,使用無線防碰撞和硬件物理機(jī)制,有效地解決了同周圍無線節(jié)點的同頻干擾問題。同時該芯片具有1個字節(jié)的地址信息單元,能夠?qū)崿F(xiàn)信息的定點傳輸,防止其他無線節(jié)點被無辜喚醒,進(jìn)而降低功耗,同時也延長了芯片的使用壽命。
軟件是系統(tǒng)的靈魂,一個好的軟件不僅可以增強(qiáng)系統(tǒng)的穩(wěn)定性,同時可以提升系統(tǒng)的響應(yīng)速度,降低系統(tǒng)能源消耗。
當(dāng)下位機(jī)搜索到空中的載波信號,并正確接收后通過置低SI4432的AUX引腳,觸發(fā)微控制器的外部引腳中斷,要使用外部中斷功能,首先需要對相應(yīng)的寄存器進(jìn)行初始化。TCON為定時器/計數(shù)器控制寄存器,同時也鎖存T0、T1溢出中斷源和外部請求中斷源[5]。初始化指令如下:IT0=1;EX0=1;EA=1。
通過AUX下降沿將微控制器從空閑模式中喚醒,執(zhí)行中斷處理程序。
STC12C5A60S2微控制器具有2個采用UART工作方式的全雙工串行通信接口,每個串行口的數(shù)據(jù)緩沖器由2個相互獨立的接收、發(fā)送緩沖器構(gòu)成,可以同時接收和發(fā)送數(shù)據(jù)[6]。要通過串口與SI4432進(jìn)行數(shù)據(jù)交換,需要設(shè)置正確的波特率,本次設(shè)計采用晶振為11.0952MHz,波特率為9600,對定時器的設(shè)置如下:TMOD=0x20;TH1=0xFD;TL1=0xFD;。
STC12C5A60S2在正確接收到SI4432傳送的數(shù)據(jù)后,對其進(jìn)行解析。如果要求采集的數(shù)據(jù)為模塊的供電電壓,微控制器啟動0號AD轉(zhuǎn)換通道,通過查詢ADC控制寄存器的ADC_FLAG標(biāo)志位,獲取當(dāng)前AD轉(zhuǎn)換的狀態(tài)。待轉(zhuǎn)換結(jié)束,可以從A/D轉(zhuǎn)換結(jié)果寄存器ADC_RES和ADC_RESL獲取10位精度的轉(zhuǎn)換結(jié)果。通過該結(jié)果可以計算出對應(yīng)的物理量。具體公式如下:
A/D轉(zhuǎn)換結(jié)果 = (AD轉(zhuǎn)換高8位數(shù)×4+AD轉(zhuǎn)換低2位數(shù)據(jù))×量程/210
將A/D轉(zhuǎn)換后的結(jié)果寫入SBUF,通過串口將數(shù)據(jù)輸出至SI4432,即可完成數(shù)據(jù)的回傳過程。
下位機(jī)只完成了數(shù)據(jù)的采集、解析、回傳等任務(wù),要獲取下位機(jī)的液位數(shù)據(jù),還需要建立與監(jiān)控中心的數(shù)據(jù)連接通道。上位機(jī)由SI4432模塊、USB轉(zhuǎn)RS485數(shù)據(jù)線和工控計算機(jī)組成,如圖2所示。
圖2 上位機(jī)系統(tǒng)
上位機(jī)上安裝的服務(wù)器由VB6.0編寫,服務(wù)器界面如圖3所示。
圖3 服務(wù)器界面
連接在互聯(lián)網(wǎng)上面的客戶機(jī),可以通過Internet實現(xiàn)與服務(wù)器的數(shù)據(jù)交換。客戶端如圖4所示。
圖4 客戶端界面
客戶端在輸入正確的服務(wù)器IP以后,點擊“連接服務(wù)器”按鈕,可以連接至上位機(jī)服務(wù)器。此時,“電壓值”和“液位值”變?yōu)榭煽貭顟B(tài)。點擊相應(yīng)的按鈕,客戶端會將控制指令發(fā)送給服務(wù)器端,服務(wù)器端會根據(jù)客戶端的控制要求,經(jīng)判斷后是否轉(zhuǎn)發(fā)給下位機(jī)??蛻舳巳绻枰杉呶凰氐囊何恢担?wù)器在接收到客戶端的請求時,將發(fā)送給下位機(jī)采集液位控制指令,下位機(jī)將采集的液位數(shù)據(jù)回傳給服務(wù)器,服務(wù)器再轉(zhuǎn)發(fā)給請求的客戶端,一次采集周期結(jié)束。
服務(wù)器與SI4432無線射頻模塊通過RS485進(jìn)行數(shù)據(jù)交換,該協(xié)議使用了VB的MSComm控件。要使用串口MSComm控件進(jìn)行串口通信,需要對其相應(yīng)的屬性進(jìn)行設(shè)置。通過CommPort屬性設(shè)置或返回端口號;Setting屬性設(shè)置或返回通信端口的波特率、奇偶校驗、數(shù)據(jù)位和停止位;發(fā)送數(shù)據(jù)之前要打開相應(yīng)的端口,通過PortOpen設(shè)置或返回通信端口的狀態(tài);Input返回接收緩沖區(qū)中的字符串;Output將完成向輸出緩沖區(qū)中寫入數(shù)據(jù)。具體程序如下:
MSComm1.CommPort= 2
MSComm1.OutBufferCount= 0
MSComm1.InBufferCount= 0
MSComm1.InputMode= 0
MSComm1.Settings = "9600,n,8,1"
服務(wù)器與客戶端進(jìn)行數(shù)據(jù)交換使用了VB的Winsock控件。需要注意的是,客戶端要能夠正常和服務(wù)器進(jìn)行通信,兩者的端口號需要設(shè)置一致,同時要避免和其它應(yīng)用程序端口號重疊。服務(wù)器不需要設(shè)置IP地址,當(dāng)客戶端發(fā)送連接請求時,自動建立與客戶端的連接通道。服務(wù)器在設(shè)置端口號后,要通過Listen方法,進(jìn)行端口監(jiān)聽,以及時響應(yīng)客戶端的連接請求。
服務(wù)器通過Accept接收客戶端的連接請求,執(zhí)行該指令后,服務(wù)器與客戶端就完成了通信連接,此時就可以通過GetData指令接收客戶端發(fā)送的數(shù)據(jù),通過SendData指令可以發(fā)送數(shù)據(jù)至客戶端。
傳統(tǒng)的有線傳輸方式布線困難,電信號在遠(yuǎn)距離的傳輸過程中信號強(qiáng)度急劇下降,同時也受到工業(yè)現(xiàn)場各種電磁信號的干擾,這就大大降低了采集數(shù)據(jù)的真實性、可靠性。
本系統(tǒng)采用的Si4432無線射頻芯片具有前向糾錯機(jī)制。當(dāng)傳輸中出現(xiàn)錯誤,能夠在接收端再建數(shù)據(jù),大大提高無線通信的抗干擾能力。在Si4432前端采用二級放大電路,能夠?qū)崿F(xiàn)最遠(yuǎn)8 km距離的通信。
該系統(tǒng)能夠應(yīng)用于水庫液位采集與控制;工業(yè)現(xiàn)場的溫度采集與控制;家庭樓宇自動化數(shù)據(jù)交互;無線抄表系統(tǒng)等。
參考文獻(xiàn):
[1]高仁璟,劉國新,唐禎安.基于Si4432的無線射頻遙控系統(tǒng)設(shè)計[J].通信技術(shù),2010,43(226):1 ̄1.
[2]宋鳳娟,付 侃,薛雅麗.STC12C5A60S2單片機(jī)高速A/D轉(zhuǎn)換方法[J].煤礦機(jī)械,2010,31(06):1 ̄1.
[3]秦相林,張海兵,張盈盈.基于STC12C5A60S2的無線溫度采集系統(tǒng)設(shè)計[J].哈爾濱商業(yè)大學(xué)學(xué)報,2011,27(6):2 ̄2.
[4]郭 亮.基于Si4432的無線射頻收發(fā)系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009,38(11):1 ̄1.
[5]似水流年.多路數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計論文[EB/OL].http://www.docin.com/p-644574058.html,2013 ̄05.
[6]Meatislitt.基于STC12C5A60S2單片機(jī)GPS信號控制系統(tǒng)設(shè)計[EB/OL].http://www.doc88.com/p-0048741946789.html,2013 ̄02.