孫正 朱學玲
【摘 要】本文是擬基于Arduino平臺進行方案設計、開發及實現,在無人機基本功能上進行拓展與開發,致力于將無人機作用更大化,更多應用于實際生活,開發功能包括驅鳥、信息傳輸、搜救以及高空作業。本文將主要介紹多功能無人機設計當中的搜救功能的設計與實現部分。該平臺開發成本低、功能性強,對無人機發展及項目預研具有創新意義。
【關鍵詞】Arduino;無人機;功能開發;搜救
中圖分類號: V279 文獻標識碼: A 文章編號: 2095-2457(2019)17-0025-002
DOI:10.19694/j.cnki.issn2095-2457.2019.17.010
目前,我國的無人機的發展正處于快速發展時期,無人機在技術層面不斷提高,涉及的領域也在不斷擴大,這些領域主要涉及到農業、林業植物保護、電力檢查、石油管道安全問題排查、物流快遞中、土地測繪上、氣象探測上、森林火災預防、警方的巡邏、海洋遙感技術等,此類無人機的專業性較強,但大多以PC機作為控制平臺,這不但大大限制了無人機的便捷使用而且對使用者要求高,需要一定的專業性。傳統的無人機功能性單一,綜合應用能力差并且價格昂貴,控制方面也比較不足,通道數少,綜合目前無人機優缺點,本文提出了基于Arduino平臺的無人機設計開發。
1 基于Arduino平臺開發的優點
Arduino可能大部分人不是很熟悉,它與C++、java等語言相比更加的簡單、實用性能更高,具有豐富的接口,它沒有復雜的單片機底層代碼,讓使用者能夠更容易地去理解與應用,也沒有難以理解的程序集,只是簡單實用的功能。它不但有一個簡單的編程環境IDE,可以很容易地使用,連Arduino相關的一些軟硬件都是完全開源的,這更為我們的后續開發提供了便利。基于Arduino開發較之其他,能以較低成本開發出普通Android系統手機即可操縱的航空模型,便捷、實用性強,且后期還能自行設計操控器模型,由于通道數多能輕松執行后期各項拓展任務。
2 控制原理
2.1 飛行控制
在控制原理部分,身為無人機最為重要的莫過于飛行控制了,飛行控制主要分為地面控制和無人機空中接收端,兩個不同的部分互相配合,當無人機空中接收端接收到來自于地面控制端的命令后開始執行。地面控制部分是從安卓控制端(如手機)獲取控制信號,即獲得不同的即時電壓(如前向和后向的控制),并獲得模式轉換后各個通道的值。得到的數值首先要經過編碼轉換,再通過XBee-Pro900M這個無線收發模塊也就是我們常說的藍牙模塊來進行發送。
XBee-Pro900M收發模塊在接收到信號后,將其發送到Arduino主板,此時,主板進行指令解析并將之轉換為飛控使用的PWM信號,飛控就可以控制無人機完成前進、后退等飛行動作。無人機主體流程圖如圖1所示:
2.2 通訊控制
在控制執行部分,飛行器可以執行空中拍攝,通過MAC視頻傳輸協議將視頻實時傳輸,該協議結合無人機網絡動態性強、節點密度小的特點,采用具有多個RTS周期、單個CTS周期和協調信道競爭機制的特殊時隙結構。同時還能夠將當前環境的溫濕度等信號實時顯示在操控平臺上。將視頻圖像、溫濕度信號傳輸回控制端,便于掌握無人機當前飛行環境與操作需要的一些其他功能,如:在驅鳥時,應實時掌握機場或農場鳥類情況;在擦拭高樓外墻體玻璃時,實時掌握無人機工作環境及擦拭情況等。
2.3 搜救控制
每年我國都會因自然災害導致嚴重經濟損失和人口傷亡,而大部分傷亡都是因為救援不及時導致的。人工搜索速度慢、安全性低,還可能造成二次傷亡。而無人機搜救則完全沒有這方面的缺陷,搜索速度快、沒有二次踩踏,體積小,搜索范圍廣、深度較人工更深入。
2.3.1 工作原理
搜救功能應用人體紅外傳感模塊,它通過熱釋電效應產生特定信號進行工作。
當一些晶體受到外部熱量時,晶體上會產生相同數量的相反電荷。這類由于受到外部熱量變化而引起的電荷產生現象也就是電極化就被我們稱之為熱釋電效應。人體紅外傳感器上的半球形蓋子叫做菲涅耳透鏡,它是根據菲涅耳原理制成的,菲涅耳透鏡的作用類型分為兩種:折射型和反射型,它的第一種類型是通過將熱釋后的紅外信號折射(反射)在人體紅外傳感器PIR(Passive InfraRed)模塊上稱之為聚焦作用;第二種類型就是將檢測的區域化分為了很多個明區和暗區,這就使得當有移動中的物體在進入到檢測區域中,在通過明區和暗區的過程中就會以溫度變化的形式在PIR上產生相應變化的熱釋紅外信號。這樣一來PIR就能產生相應變化的電信號,進而提高了靈敏度。
無人機搜救通過PIR模塊進行探測受災群眾的大致位置。我們都知道每個人的體溫基本都保持在37度左右,但也會發射出我們人眼無法觀測到的10UM左右特定波長的紅外線,這時紅外探測器就是通過檢測這些紅外線來進行工作的。菲泥爾濾光片就像一個放大鏡一樣增強了我們體內發射出的紅外線信號,并使其聚集在了紅外傳感器上。紅外傳感源通常使用的都是熱電元件,當它們接收到人體紅外輻射溫度的變化時會失去電荷平衡,電荷被檢測到以后通過一系列的處理產生提示信號。
在特定場合需要執行搜救任務時,由地面控制端發出信號,指定搜救模塊即人體紅外探測,再經由無人機端Arduino主板進行指令解析,給人體紅外探測模塊發出指令并開始工作,當檢測到異常時,將該信號記錄并返回給地面控制端,地面控制端收到信息警報器報警,并將信號顯示在控制器上如安卓手機控制器顯示屏。
2.3.2 模塊特性
PIR模塊也就是人體紅外傳感器(圖2)主要是用來檢測人體發出的輻射紅外線。因此,這些充當紅外探測模塊傳感源的熱電元件就必須對波長約為10MU的紅外輻射非常敏感才行。然而又為了僅對人體的紅外輻射敏感,在其輻射表面通常覆蓋有特殊的菲泥爾濾光片,從而才能顯著地降低環境的干擾。被動紅外探頭內包含的熱電元件是兩個通過串聯或并聯方式連接。環境對其產生的影響被相互抵消,因為它們都產生作用,最為重要的是電極化方向完全相反。當有人出現在探測區域,人體發出的紅外輻射由于作用在模塊上的熱量不同,所以產生的熱釋電也不同不能被抵消,通過檢測發出提示信號。根據菲泥爾濾光片的性能不同,所帶來的焦距也是不完全相同的,這就是所謂的感應距離了,才近而產生不同的監測視場,視場越多的話,也就越是嚴密。
2.3.3 實現方法
人體紅外模塊有三個引腳,分別為VCC、GND、OUT,OUT接在飛行模塊自定義的I/O引腳上,探測信號通過藍牙模塊將數據傳輸回控制端,控制端可自行定義音頻或聲光用來接收傳輸回的高低電平信號,用來接收檢測。
2.3.4 應用場景
多功能無人機的搜救功能,由于人體紅外感應模塊的局限性,應在災害(如:地震)發生不久便應投入使用,因為該模塊只能檢測活動的人體信號,災害發生時間過長,可能受災群眾會導致昏迷或因體力消耗過大無力發出求救信號。
2.3.5 人體紅外感應具體代碼
int Sensor_pin = 2;
int Buzzer_pin = 3;
void Alarm() //蜂鳴器發出警報
{
for(int i=0;i<100;i++)
{
digitalWrite(Buzzer_pin,HIGH); //將變量值置高,發聲音
delay(2);
digitalWrite(Buzzer_pin,LOW); //將變量值置低,不發聲音
delay(2); //修改延時時間,改變發聲頻率
}
}
void setup()
{
pinMode(Sensor_pin,INPUT);
pinMode(Buzzer_pin,OUTPUT);
}
void loop()
{
int people_pin=digitalRead(Sensor_pin); //定義參數用來表示人體紅外傳感器檢測到的狀態
if(people_pin== 1) //如果檢測到有動物運動(在檢測范圍內),蜂鳴器發出警報
{
Alarm();
}
else { return; }
delay(100); //延時100毫秒
}
3 擬解決問題
指令傳輸及時——由于無人機運用的是無線傳輸模式,及時響應就顯得尤為重要,我們的飛機將使用一對功率為250mW的XBee-Pro900M無線收發器模塊。它們用于連接地面控制板MCU和連接到飛行控制的MCU。配備了原裝天線,最遠的鏈路范圍可以達到近乎10KM,這與傳統遙控器相比,控制距離得到了非常大的提高。
失控保護——普通的飛行器,在遭遇一些突發情況時,可能導致無法飛行,墜機等情形,可以通過增加一個失控檢測設備來避免這種情況的發生,在Arduino芯片中增加一個定時器中斷,設置好間隔時間,檢測在間隔時間內有沒有收到相應指令,正常情況下設置的時間一般為1秒,因為飛行器在一秒內可以接收50條指令,如果一秒內沒有接收到指令,完全可以判斷無人機進入失控狀態,此時將無人機設置為空中懸停狀態,原地等待,如果經過20秒之后沒有收到地面控制系統的指令,則開啟自動返航模式。
【參考文獻】
[1]王曉偉,李偉,王琦.小型無人機在機場驅鳥工作中的應用[J].山東工業技術,2017(11):278.
[2]丁劍橋,蔣美其,彭華洲.驅鳥草技術在機場的應用探討[J].科技創新導報,2012(35):240-241.
[3]翟代廷.無人機遙感技術在地質災害監測中的應用[J].世界有色金屬,2018(17):279+281.
[4]毛勇忠,徐剛,丁晨.消防無人機的應用助力消防滅火救援工作[J].中國管理信息化,2018(23):176-178.