山西大學(xué)、國網(wǎng)山西省電力公司、國網(wǎng)甘肅省電力公司經(jīng)濟(jì)技術(shù)研究院的研究人員王秀麗、宋健等,在2018年第7期《電氣技術(shù)》雜志上撰文,以單片機(jī)Arduino為核心,利用無線WiFi技術(shù)實(shí)現(xiàn)遠(yuǎn)距離通信和圖像傳輸,PC控制端通過讀取紅外、溫濕度、PM2.5及速度傳感器傳回的數(shù)據(jù)和圖像監(jiān)測小車運(yùn)行環(huán)境和自身狀態(tài),以L298N電機(jī)驅(qū)動(dòng)來控制小車行進(jìn)。在此基礎(chǔ)上加入太陽能自動(dòng)追光系統(tǒng),采用光電追蹤方式實(shí)現(xiàn)對太陽能的有效利用。
構(gòu)建智能化設(shè)備是當(dāng)前科技發(fā)展的主旋律,而節(jié)能高效是局限所在。因此,提高可再生新能源的有效利用,對智能化發(fā)展具有重要意義。
本文設(shè)計(jì)了一種智能型太陽能追光系統(tǒng),使太陽能利用裝置始終保持與太陽光垂直,最大程度的提高太陽能的利用率。同時(shí)把該系統(tǒng)應(yīng)用于基于無線WiFi通信的智能小車上,其環(huán)境感知、數(shù)據(jù)處理、控制策略及系統(tǒng)搭建的研究與實(shí)現(xiàn),能夠在一定程度上推動(dòng)科考、搶險(xiǎn)救災(zāi)的智能化發(fā)展,進(jìn)一步為未來軍事探測構(gòu)建體系結(jié)構(gòu)、初步構(gòu)建智能工業(yè)的模型與理論基礎(chǔ)提供了功能性技術(shù)價(jià)值。
1 系統(tǒng)簡介
本設(shè)計(jì)以Arduino Mega2560核心電路板為主控制單元,通過APC220無線傳輸裝置和主控制單元通信,其發(fā)送的數(shù)據(jù)包括除圖像之外的所有模塊需要傳輸?shù)臄?shù)據(jù),從而實(shí)現(xiàn)小車移動(dòng)及其他配置的功能。另外再獨(dú)立有圖像模塊,利用發(fā)送設(shè)備TS832和接收設(shè)備RC832通過點(diǎn)對點(diǎn)的通信方式建立圖像與PC上位機(jī)的傳輸。
為實(shí)現(xiàn)能量的可持續(xù)清潔利用,使用太陽能電池板來對太陽能進(jìn)行轉(zhuǎn)化利用,并通過舵機(jī)來使太陽能得到最有效利用。通過溫度、濕度、氣體、速度和紅外傳感器構(gòu)成的多傳感器系統(tǒng)實(shí)現(xiàn)多方位的檢測功能。
系統(tǒng)的體系結(jié)構(gòu)如圖1所示,其工作流程為:在PC上位機(jī)的控制信號下,多傳感器系統(tǒng)對自身狀態(tài)及現(xiàn)實(shí)環(huán)境不同特征進(jìn)行檢測并傳回主控制單元Arduino,利用APC220無線傳輸裝置和圖像傳輸系統(tǒng)把處理后的數(shù)據(jù)選擇性傳回PC上位機(jī),PC端再根據(jù)傳回信號來對智能小車實(shí)現(xiàn)進(jìn)一步操作。系統(tǒng)在實(shí)現(xiàn)控制方式多樣化的同時(shí),根據(jù)需要進(jìn)行相應(yīng)的系統(tǒng)控制對象的改變,使整體具有冗余性和互補(bǔ)性[5-6]。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2 系統(tǒng)的軟件設(shè)計(jì)
本系統(tǒng)軟件部分分為兩部分,其中Arduino下位機(jī)部分作為系統(tǒng)的控制層,其處理多傳感器系統(tǒng)、自身狀態(tài)檢測裝置及太陽能自動(dòng)追光系統(tǒng)傳回?cái)?shù)據(jù)并加以實(shí)施控制信號。第二部分PC上位機(jī)實(shí)現(xiàn)智能小車的示教和人機(jī)交互功能,不僅能夠通過感知各傳感模塊的實(shí)時(shí)數(shù)據(jù)對環(huán)境變量及自身狀態(tài)進(jìn)行分析,而且還能遠(yuǎn)距離發(fā)出決策命令,這將極大的改善智能小車系統(tǒng)的性能,提高系統(tǒng)的可靠性和可操作性。
2.1 Arduino下位機(jī)設(shè)計(jì)思路
下位機(jī)采用的Arduino開發(fā)板本身已經(jīng)有完善的模板,將APC220及各種外設(shè)的初始化工作放在setup()函數(shù)中,loop()函數(shù)中直接調(diào)用各模塊函數(shù)實(shí)現(xiàn)功能。Loop()中的函數(shù)主要有WiFi()函數(shù),其主要掌控消息接收和發(fā)送,解析接收數(shù)據(jù)并執(zhí)行;其余的函數(shù)均為各模塊的處理函數(shù),例如Wire_end_ Sun()電源和太陽能之間的關(guān)系處理及數(shù)據(jù)更新。
該系統(tǒng)屬于普通實(shí)時(shí)系統(tǒng),同上位機(jī)一樣設(shè)置中斷函數(shù),并設(shè)置信號量機(jī)制避免各同優(yōu)先級中斷函數(shù)之間互相干擾。
此程序的設(shè)計(jì)在于模板化,針對于智能小車給出了模板類,封裝為庫文件,當(dāng)需要添加功能時(shí),只需將該功能加入到模板中即可。針對于小車的移動(dòng),給出了模板類,調(diào)用時(shí)只需輸入相應(yīng)控制引腳即可。而信息傳遞函數(shù)WiFi()的設(shè)置,也只需根據(jù)需要添加調(diào)用模塊條件調(diào)用相應(yīng)函數(shù)即可。此程序可以應(yīng)用任何相同開發(fā)板的智能小車,只需修改對應(yīng)引腳,對應(yīng)功能也只需要寫入對應(yīng)模塊即可,無需重新編寫程序[7-8]。
圖2 下位機(jī)程序流程圖
2.2 PC上位機(jī)設(shè)計(jì)思路
上位機(jī)使用Matlab的GUIDE(圖形用戶接口開發(fā)環(huán)境)構(gòu)建,其中定義了圖像模塊、WiFi控制模塊、電源模塊、遙控模塊、太陽能模塊、傳感器模塊。
圖像模塊的實(shí)現(xiàn)機(jī)理:視頻采集端由FPV(First Person View)針孔攝像頭和發(fā)送設(shè)備TS832組成;TS832由12V電源供電,輸出5V電壓給攝像頭供電,而后FPV視頻輸出端通過信號線將視頻數(shù)據(jù)傳遞給TS832,由其進(jìn)行傳輸。
視頻接收端,由RC832和視頻采集卡、上位機(jī)組成,RC832通過與TS832相同的頻率將視頻數(shù)據(jù)接收,通過AV線與視頻采集卡連接,視頻采集卡主要起轉(zhuǎn)換接口和緩存視頻數(shù)據(jù)的功能,上位機(jī)軟件讀取采集卡的數(shù)據(jù)將視頻顯示,其讀取和顯示的核心代碼如圖7和圖8所示,最終的cam是其接口,顯示時(shí)將其捕獲。
圖3 讀取部分
圖4 顯示部分
WiFi模塊的實(shí)現(xiàn)過程:首先WiFi模塊的APC220也是一對點(diǎn)對點(diǎn)的傳輸模塊。下位機(jī)置放一個(gè)APC220,上位機(jī)處置放一個(gè)APC220。下位機(jī)傳回?cái)?shù)據(jù)時(shí),其APC220與Arduino板進(jìn)行串口通信,將Arduino板上各模塊的數(shù)據(jù)根據(jù)規(guī)定協(xié)議封裝后傳回到上位機(jī)APC220,上位機(jī)軟件通過串口與其通信,通過數(shù)據(jù)處理將數(shù)據(jù)提取顯示。上位機(jī)發(fā)送數(shù)據(jù)時(shí),其APC220將操作命令依據(jù)傳輸協(xié)議封裝后發(fā)送給另一個(gè)APC220,Arduino板對其進(jìn)行解析并執(zhí)行命令。傳輸協(xié)議采用自定義協(xié)議,協(xié)議如下:
起始位‘SOH’數(shù)據(jù)類別 數(shù)據(jù)位位數(shù) 數(shù)據(jù) 終止位‘EOT’
當(dāng)數(shù)據(jù)類別為傳感器等一類事物的總稱時(shí),數(shù)據(jù)位的第一位數(shù)據(jù)將其分別標(biāo)明是哪一類的傳感器。由于APC220具有自帶的檢錯(cuò)功能,所以協(xié)議中沒有定義檢錯(cuò)位。
上位機(jī)與APC220的連接和數(shù)據(jù)的封裝函數(shù)如圖5和圖6所示。
圖5 連接部分
圖6 封裝部分
上位機(jī)軟件的實(shí)現(xiàn)設(shè)置了3個(gè)主要處理機(jī)制,分別對應(yīng)與WiFi模塊的接收、WiFi發(fā)送指令、圖像的接收。由于該系統(tǒng)屬于典型的實(shí)時(shí)系統(tǒng),需要無時(shí)無刻的接收和發(fā)送數(shù)據(jù),因此就可能產(chǎn)生死鎖問題,因此需要定義合理的中斷優(yōu)先級,此軟件將WiFi的接收定義為最高優(yōu)先級,WiFi的發(fā)送次之,最低優(yōu)先級為圖像的接收。通過信號量機(jī)制使系統(tǒng)變的穩(wěn)定可靠。
WiFi接收中斷,當(dāng)掃描到串口有數(shù)據(jù)到來時(shí),會觸發(fā)串口終端去處理并解析數(shù)據(jù);定時(shí)器中斷掃描全局變量中斷標(biāo)志,當(dāng)標(biāo)志位置1時(shí),有指令發(fā)送,將該指令封裝發(fā)送。圖像接收按鈕回調(diào),當(dāng)圖像為顯示狀態(tài)時(shí),顯示圖像[9-10]。
此軟件利用定時(shí)器中斷和數(shù)據(jù)接收串口中斷構(gòu)造了一個(gè)典型的實(shí)時(shí)系統(tǒng),對下位機(jī)進(jìn)行檢測控制。其中傳輸數(shù)據(jù)幀的格式模仿TCP/IP協(xié)議,自定義出一套完整的幀協(xié)議,相對于TCP/IP協(xié)議的最大優(yōu)點(diǎn)在于不需要限制一幀數(shù)據(jù)的數(shù)據(jù)大小,簡潔實(shí)用。
圖像接收端也采用新穎獨(dú)特的方式顯示圖像,使得圖像清晰度和實(shí)時(shí)度相較于其他方式的視頻顯示大大提升。此軟件的一個(gè)缺點(diǎn)在于當(dāng)打開圖像顯示時(shí),該軟件會一直占用當(dāng)前窗口實(shí)時(shí)顯示,不過仔細(xì)思考,動(dòng)態(tài)刷新圖像,更好地顯示了系統(tǒng)強(qiáng)大的實(shí)時(shí)性。
圖8為設(shè)計(jì)出來的上位機(jī)控制軟件平臺界面。
圖7 上位機(jī)程序流程圖
圖8 上位機(jī)控制平臺界面
結(jié)論
本設(shè)計(jì)在含有多種傳感器的無線智能小車基礎(chǔ)上集成了一種雙軸自動(dòng)追光設(shè)備,經(jīng)性能指標(biāo)測試實(shí)驗(yàn),小車能夠做到遠(yuǎn)距離實(shí)時(shí)操控及環(huán)境圖像的準(zhǔn)確高效傳輸,追光設(shè)備實(shí)現(xiàn)對移動(dòng)光源的自動(dòng)追蹤,此系統(tǒng)的廣泛應(yīng)用必然會帶來可觀的環(huán)境效益與經(jīng)濟(jì)效益。