李 莉,栗潤(rùn)萍,孟令軍
(1.山西工程技術(shù)學(xué)院電氣工程與自動(dòng)化系,山西陽(yáng)泉 045000;2.中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
碘化銀發(fā)生器設(shè)置在偏遠(yuǎn)高山的迎風(fēng)山坡,裝有碘化銀試劑的焰條安裝在焰爐中,當(dāng)焰條被點(diǎn)燃后,碘化銀隨上升的氣流和云層結(jié)合,形成降雨或降雪。由于焰爐安裝在偏遠(yuǎn)高山,人工點(diǎn)火既不方便也不安全,所以要對(duì)焰條遠(yuǎn)程遙控點(diǎn)火。目前我國(guó)現(xiàn)有的碘化銀發(fā)生器智能程度較低,硬件設(shè)計(jì)和組網(wǎng)方式復(fù)雜,不易維護(hù),且不能實(shí)現(xiàn)定制化的服務(wù),不利于系統(tǒng)后期的改造升級(jí)。文中設(shè)計(jì)的碘化銀發(fā)生器規(guī)模較小,能滿足用戶的需求,并且有預(yù)留端口,采用4G-DTU 作為遠(yuǎn)程傳輸設(shè)備,為后續(xù)視頻傳輸提供了可能性。
系統(tǒng)主要針對(duì)碘化銀發(fā)生器的遠(yuǎn)程控制開(kāi)發(fā),目標(biāo)用戶為氣象局。系統(tǒng)主要功能為焰條遠(yuǎn)程點(diǎn)火、焰條狀態(tài)監(jiān)測(cè),焰條之間相互獨(dú)立,遠(yuǎn)程遙控點(diǎn)燃焰條后,現(xiàn)場(chǎng)狀態(tài)拍照上傳,確認(rèn)焰條是否點(diǎn)燃。整個(gè)系統(tǒng)設(shè)計(jì)采用三層結(jié)構(gòu),如圖1 所示,包括監(jiān)控層、傳輸層、現(xiàn)場(chǎng)設(shè)備層。監(jiān)控層由PC 機(jī)和一個(gè)DTU[1-3]構(gòu)成,PC 機(jī)發(fā)送網(wǎng)絡(luò)命令進(jìn)行點(diǎn)火和拍照,PC 機(jī)和DTU 通過(guò)RS232 串口相連。傳輸層中,利用透?jìng)髟仆ㄟ^(guò)4G 鏈路和TCP/IP 協(xié)議數(shù)據(jù)透明傳輸?shù)浆F(xiàn)場(chǎng)設(shè)備層的DTU 中,整個(gè)系統(tǒng)中的兩個(gè)DTU 屬于點(diǎn)對(duì)點(diǎn)通信。在現(xiàn)場(chǎng)設(shè)備層,DTU 通過(guò)RS232 串口將命令傳送到STM32 主控制器中,STM32 根據(jù)指令執(zhí)行對(duì)應(yīng)通道的點(diǎn)火操作,同時(shí)拍照,并把圖片和焰條狀態(tài)進(jìn)行回傳。
圖1 系統(tǒng)整體設(shè)計(jì)框圖
系統(tǒng)的硬件設(shè)計(jì)主要針對(duì)現(xiàn)場(chǎng)設(shè)備層,在監(jiān)控層PC 機(jī)和DTU 之間只需要一個(gè)USB 轉(zhuǎn)串口的芯片即可?,F(xiàn)場(chǎng)的主控制器采用STM32F103ZET6,該芯片是32 位的處理器,主頻最高為72 MHz,F(xiàn)LASH ROM 的容量是512 kB,RAM 的容量是64 kB,144 個(gè)引腳,多個(gè)GPIO 組,GPIOA 組-GPIOG 組,每組GPIO有16 個(gè)I/O 口,共計(jì)112 個(gè)I/O 口引腳,低功耗,有運(yùn)行、睡眠、停機(jī)和待機(jī)4 種模式,3 個(gè)12 位A/D 轉(zhuǎn)換器,2 通道的12 位D/A 轉(zhuǎn)換器,12 通道DMA 控制器,11 個(gè)定時(shí)器,13 個(gè)通信接口,其中包含5 個(gè)串口,在該設(shè)計(jì)中用到2 個(gè)串口,串口攝像頭和串口3 相連,DTU 和串口2 相連。
該設(shè)計(jì)有40 路焰條,點(diǎn)火通道為40,用到14 片三重2 通道多路開(kāi)關(guān)CD4053,每片CD4053 控制3 路通 道,CD4053 共 占 用STM32 的42 個(gè)I/O 口,以 圖2 為例進(jìn)行說(shuō)明。MC1043 是高精度電壓基準(zhǔn)芯片,可以穩(wěn)定輸出2.5 V 的電壓,MC1403 芯片的供電電源是3.3 V 即原理圖上的VCC。MC1403 經(jīng)過(guò)一個(gè)可變電阻調(diào)壓輸出2 V 的電壓,該輸出連CD4053的AY、BY、CY 引腳,控制引腳C、B、A 分別連STM32 的PB2、PB1、PB0,STM32 可以通過(guò)控制CD4053 來(lái)控制40 路通道的通斷。以通道1 為例,如果命令通道1 進(jìn)行點(diǎn)火,根據(jù)圖2 以及CD4053 的真值表,輸出引腳a 和輸入AY 連通,應(yīng)設(shè)置PB2、PB1、PB0為001,此時(shí)只有引腳a 輸出的電平為2 V,此輸出連LM358N 集成運(yùn)放(由U4A 和U4B 兩個(gè)運(yùn)放構(gòu)成),U4A 是電壓跟隨器的連法,保證輸出電壓2 V 不變,并且輸出阻抗(作為下一級(jí)U4B 的輸入阻抗)趨近于0,U4B 和Q1(IRL540 NPBF)構(gòu)成典型的壓控恒流電路,使R14上的電壓恒定保持在2 V。根據(jù)歐姆定律,流經(jīng)R14(1 Ω)的電流可以恒定保持在2 A,接線端Header1 用來(lái)連接點(diǎn)火電阻,由于U4B的同相輸入端的電壓為2 V,所以流經(jīng)點(diǎn)火電阻的電流是2 A,根據(jù)焦耳定律,電能轉(zhuǎn)化為熱能,發(fā)熱的電阻引燃在其旁邊的焰條,實(shí)現(xiàn)點(diǎn)火。
圖2 1-3通道點(diǎn)火電路
攝像頭采用串口攝像頭PTC08B 3.6 mm紅外鏡頭(90°),該攝像頭圖片像素為30萬(wàn),像素尺寸為5.6 μm×5.6 μm,圖片格式為JPEG,信噪比為45 dB,最大模擬增益為16 dB,可監(jiān)控距離為5 m,圖像大小有VGA(640×480)、QVGA(320×240)、QCIF(160×120)。圖像采集模塊的連接較為簡(jiǎn)單,攝像頭與STM32 的串口3 進(jìn)行連接,現(xiàn)場(chǎng)的DTU 和STM32 的串口2 連接,經(jīng)過(guò)透?jìng)髟疲F(xiàn)場(chǎng)的DTU 把上位機(jī)的命令送入STM32,STM32 控制攝像頭拍照,照片先回傳到STM32,然后通過(guò)STM32 的串口2 發(fā)送給DTU,再傳入透?jìng)髟啤?/p>
由于該系統(tǒng)安裝在偏遠(yuǎn)的高山上,難以連接市電,故采用功率為30 W 的單晶硅太陽(yáng)能板供電,太陽(yáng)能控制器[4]直接連接太陽(yáng)能板和太陽(yáng)能專(zhuān)用蓄電池,太陽(yáng)能蓄電池采用12 V12 Ah 的鉛酸蓄電池,太陽(yáng)能控制器的型號(hào)為SS15-20A,太陽(yáng)能控制器有3種工作模式,分別為用戶類(lèi)型、純光控系統(tǒng)和光控+時(shí)控類(lèi)型。光控+時(shí)控類(lèi)型適用于24 h 供電的負(fù)載,該系統(tǒng)要求全天供電,所以設(shè)置太陽(yáng)能控制器時(shí)選擇光控+時(shí)控類(lèi)型,太陽(yáng)能供電模塊如圖3 所示。12 V 的輸出可直接用于4G-DTU 的供電,同時(shí)可以通過(guò)AMS1117-3.3 芯片得到3.3 V 的電壓用于給STM32、MC1403 和攝像頭供電,太陽(yáng)能控制器的負(fù)載輸出端可以直接連到AMS1117-3.3 的輸入端。
圖3 太陽(yáng)能供電模塊
碘化銀發(fā)生器設(shè)置在偏遠(yuǎn)高山上,控制室在當(dāng)?shù)貧庀缶?,點(diǎn)火需要遠(yuǎn)程遙控[5]點(diǎn)火。根據(jù)表1中3 種主流的無(wú)線通信技術(shù)[6]的性能比較,可以得出:1)ZigBee 具有低速、低功耗、低成本的特點(diǎn),傳輸距離近,主要用于通信距離100 m 范圍內(nèi),穿透性不高,不適用于遠(yuǎn)程通信。2)LORA 是最近新興的物聯(lián)網(wǎng)技術(shù),LORA 的特點(diǎn)是短距離、低功耗,常用于智慧城市、智慧農(nóng)業(yè)、智能家居等,距離越長(zhǎng),通信速率越低,通信距離在城鎮(zhèn)達(dá)2~5 km,郊區(qū)可以達(dá)到15 km,但對(duì)于超過(guò)此距離的通信不能滿足要求。3)4G 網(wǎng)絡(luò)目前已覆蓋我國(guó)98%的村莊,4G 技術(shù)具有可靠性好,傳輸速率高,低延遲的特點(diǎn),適合于大數(shù)據(jù)量的傳輸,如圖像、視頻的傳輸。該文設(shè)計(jì)選用4G 網(wǎng)絡(luò)進(jìn)行通信。
表1 3種無(wú)線通信技術(shù)的性能比較
通信模塊選用型號(hào)為G785 的4G-DTU[7-8]進(jìn)行通信,DTU 中內(nèi)嵌了完整的TCP/IP 協(xié)議族。該DTU支持移動(dòng)、聯(lián)通、電信的4G 信號(hào)高速接入,同時(shí)向下兼容,在沒(méi)有4G 網(wǎng)絡(luò)的地點(diǎn)自動(dòng)連接3G 或2G 網(wǎng)絡(luò)[9],DTU 支持串口模式(RS232 和RS485),在該系統(tǒng)中采用DTU 的RS232 串口;支持TCP 客戶端和服務(wù)器模式、UDP 客戶端模式;支持兩路Socket 透?jìng)髂J胶蚒DP 模式;支持網(wǎng)絡(luò)透?jìng)髂J胶蛥f(xié)議透?jìng)髂J?;支持心跳包。在該設(shè)計(jì)中采用透?jìng)髟?,透?jìng)髟剖菫榱私鉀Q現(xiàn)場(chǎng)設(shè)備與上位機(jī)進(jìn)行通信而開(kāi)放的平臺(tái),兩個(gè)DTU 進(jìn)行點(diǎn)對(duì)點(diǎn)通過(guò)透?jìng)髟仆競(jìng)鲾?shù)據(jù),數(shù)據(jù)做到透明傳輸,用戶可以不掌握AT 指令,降低了開(kāi)發(fā)難度,只要設(shè)置好兩個(gè)DTU 的分組,如端口號(hào)、波特率、數(shù)據(jù)位、串口參數(shù)等內(nèi)容,在DTU 中插入物聯(lián)網(wǎng)卡,兩個(gè)DTU 就可以進(jìn)行通信。
上位機(jī)采用QT軟件編寫(xiě),發(fā)送的命令界面有發(fā)送和拍照兩個(gè)按鍵,對(duì)應(yīng)兩種命令。采用自定義幀格式,封裝成IP包,進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)的傳輸方向分為下行傳輸和上行傳輸。數(shù)據(jù)下行傳輸時(shí),PC機(jī)發(fā)送命令,數(shù)據(jù)通過(guò)DTU進(jìn)入透?jìng)髟品?wù)器進(jìn)行透明傳輸,現(xiàn)場(chǎng)的DTU接收數(shù)據(jù),把命令送入STM32。數(shù)據(jù)上行傳輸時(shí),現(xiàn)場(chǎng)的焰條狀態(tài)和拍照?qǐng)D片進(jìn)行回傳至PC機(jī)。
從表2 可以看出發(fā)送按鍵對(duì)應(yīng)的命令由10 個(gè)字節(jié)構(gòu)成,幀頭設(shè)置為3個(gè)字節(jié):0X01、0X02、0X03;第4字節(jié)為圖片尺寸:0X01、0X02、0X03 分別表示圖片尺寸為640×480、320×240、160×120;第5 字節(jié)為圖片壓縮率,0X00~0XFF 代表圖片壓縮率從0~100%;第6~10 字節(jié)一共有40 個(gè)位,為1 的位代表點(diǎn)燃對(duì)應(yīng)通道中的焰條。
表2 發(fā)送按鍵對(duì)應(yīng)的命令格式
從表3 可以看出拍照按鍵的指令為5 個(gè)0XFF,當(dāng)拍照按鍵按下,上位機(jī)發(fā)出的命令為0XFF、0XFF、0XFF、0XFF、0XFF。
表3 拍照按鍵對(duì)應(yīng)的命令格式
上位機(jī)采用QT 軟件編寫(xiě)界面[10-11],QT 具有可移植性好的優(yōu)點(diǎn)常用于嵌入式設(shè)備。如圖4 所示,在勾選框勾選點(diǎn)火的通道,在命令框中輸入圖片尺寸和壓縮率對(duì)應(yīng)的編號(hào),然后點(diǎn)擊發(fā)送按鍵和拍照按鍵。下位機(jī)接收到指令后進(jìn)行點(diǎn)火操作拍照并回傳照片和焰條狀態(tài),當(dāng)焰條被點(diǎn)燃后焰條狀態(tài)圖標(biāo)由對(duì)鉤狀變成斜線。
圖4 上位機(jī)界面
下位機(jī)STM32 主要完成3 項(xiàng)功能:焰條點(diǎn)火、拍照并回傳圖片、回傳焰條狀態(tài)。根據(jù)圖5,STM32 首先解析上位機(jī)的命令(參照表2 和表3 中的命令格式),首先判斷是否是點(diǎn)火命令(對(duì)照上位機(jī)軟件界面中的“發(fā)送”按鍵),由于在串口的中斷程序中已經(jīng)將串口緩存區(qū)里的數(shù)據(jù)存入數(shù)組rxdata,如果是點(diǎn)火命令,先解析圖片尺寸,代表圖片尺寸的數(shù)據(jù)存入rxdata[3],rxdata[3]中存放的數(shù)據(jù)可以是0X01、0X02、0X03,它們分別表示圖片尺寸為640×480、320×240、160×120,圖片壓縮率存入rxdata[4],rxdata[4]中存放的數(shù)據(jù)可以是0X00-0XFF,代表圖片壓縮率從0~100%,然后把代表點(diǎn)火通道的5 個(gè)數(shù)組元素rxdata[5]-rxdata[9](每個(gè)元素有8 位,每位代表一個(gè)通道,共表示40 個(gè)通道)的5 個(gè)數(shù)據(jù)送入shuzu[4]-shuzu[0],在程序中通過(guò)檢測(cè)shuzu[4]-shuzu[0]中40 個(gè)位是“1”還是“0”,判斷需要點(diǎn)火通道,對(duì)該通道進(jìn)行點(diǎn)火,并回傳焰條狀態(tài)。之后判斷是否有拍照命令(對(duì)應(yīng)“拍照“按鍵),如果有拍照命令,拍照完成后把圖片數(shù)據(jù)回傳,圖片為JPEG 格式;如果無(wú)拍照命令,返回繼續(xù)判斷是否有點(diǎn)火命令。
圖5 下位機(jī)主程序流程圖
4.2.1 點(diǎn)火軟件設(shè)計(jì)
焰條的點(diǎn)火采用脈沖觸發(fā)點(diǎn)火,當(dāng)需要點(diǎn)火時(shí),連通點(diǎn)火通路,至少持續(xù)50 ms 的時(shí)間,根據(jù)圖2,以1 號(hào)通道為例,當(dāng)沒(méi)有點(diǎn)火指令時(shí)PB2、PB1、PB0 都是低電平,當(dāng)收到1 號(hào)通道的點(diǎn)火指令后,PB2、PB1都是低電平不變、PB0 設(shè)為高電平,延時(shí)50 ms,部分程序如下:
4.2.2 拍照回傳數(shù)據(jù)
在主程序中進(jìn)行判斷,如果接收到的數(shù)據(jù)字節(jié)長(zhǎng)度是5,并且每個(gè)字節(jié)的內(nèi)容都為0XFF,說(shuō)明是拍照命令(如表3所示),進(jìn)行拍照并把數(shù)據(jù)回傳,STM32在對(duì)圖片進(jìn)行轉(zhuǎn)發(fā)時(shí)采用了分段轉(zhuǎn)發(fā)的方式,因?yàn)楦鶕?jù)實(shí)驗(yàn),如果一次把整張圖片轉(zhuǎn)發(fā)給DTU,DTU 進(jìn)行透?jìng)鲿r(shí)上位機(jī)接收到的圖片不完整[12-16],有丟包現(xiàn)象,在降低DTU 波特率的情況下圖片傳輸仍然不完整,這是由于DTU 的緩存小,不能保存整張圖片,所以在發(fā)送圖片時(shí)采用分段轉(zhuǎn)發(fā)的方式。在本例中,單張圖片分段發(fā)送給DTU 的最大數(shù)據(jù)長(zhǎng)度設(shè)為1 000,讀取所拍攝圖片數(shù)據(jù)的返回值為76 00 32 00 00 FF D8……FF D9 76 00 32 00 00,中間為圖片的數(shù)據(jù)。發(fā)送程序段延時(shí)1 500 ms,保證1 000 個(gè)字節(jié)的數(shù)據(jù)在1 500 ms 內(nèi)發(fā)送出去,避免下一次發(fā)送的數(shù)據(jù)已經(jīng)到達(dá),覆蓋上一次還未發(fā)送出去的數(shù)據(jù)。圖6為單張圖片按每段1 000 字節(jié)分段轉(zhuǎn)發(fā)的流程圖,最后不足1 000 字節(jié)的部分按1 000 ms 內(nèi)發(fā)送來(lái)設(shè)置。
圖6 單張圖片按每段1 000字節(jié)分段轉(zhuǎn)發(fā)的流程圖
以圖片大小為320×240,圖片壓縮率為21%(參照表2 的第5 字節(jié),如沒(méi)有在上位機(jī)中設(shè)置,默認(rèn)的數(shù)值為0×36),原圖為50 kB 的圖片為例。遠(yuǎn)程傳輸圖片理論上用時(shí)為:50×1 024×21%/1 000×1 500 ms=16.128 s,加上網(wǎng)絡(luò)延時(shí),實(shí)測(cè)17 s。
采用該設(shè)計(jì)系統(tǒng)可以提高人工影響天氣的能力,其適用于農(nóng)業(yè)增雨的地區(qū)。系統(tǒng)通過(guò)4G-DTU進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸,利用STM32F103ZET6 作為主控制器,接收上位機(jī)的命令,實(shí)現(xiàn)點(diǎn)火、拍照、回傳數(shù)據(jù)等功能。由于現(xiàn)場(chǎng)在偏遠(yuǎn)高山,采用太陽(yáng)能供電。為解決圖片遠(yuǎn)程傳輸丟包的問(wèn)題,采用圖片分段轉(zhuǎn)發(fā)的方式,同時(shí)利用4G 網(wǎng)絡(luò)傳輸速度快,適合大數(shù)據(jù)量的高速傳輸?shù)葍?yōu)點(diǎn),采用4G-DTU 進(jìn)行遠(yuǎn)程傳輸,實(shí)驗(yàn)效果優(yōu)于國(guó)內(nèi)同類(lèi)型產(chǎn)品。系統(tǒng)后續(xù)可改進(jìn)升級(jí)的方向?yàn)閷?shí)時(shí)視頻回傳,4G-DTU 也為系統(tǒng)的后續(xù)改進(jìn)提供了可能性。