RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種基于Arduino的無(wú)人機(jī)控制器設(shè)計(jì)方案

lcdz66 ? 來(lái)源:雨飛工作室 ? 2024-01-17 11:26 ? 次閱讀

隨著無(wú)人機(jī)正在成為新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)和國(guó)民收入水平的提高,近年來(lái)在高校和民間都得到了更多的關(guān)注。目前用無(wú)線(xiàn)電遙控的無(wú)人機(jī)大部分使用JR或者Futaba公司出品的專(zhuān)用遙控器,這些遙控器優(yōu)點(diǎn)是手感好,方便攜帶,但是價(jià)格高昂,通道數(shù)較少,難以滿(mǎn)足無(wú)人機(jī)執(zhí)行任務(wù)時(shí)需要較多通道數(shù)的要求。少部分使用PC作為控制平臺(tái),使用了飛行搖桿作為控制器,能實(shí)現(xiàn)更專(zhuān)業(yè)的功能,通道數(shù)也多,但是攜帶不方便,需要攜帶手提電腦或者PC到外場(chǎng)調(diào)試,還必須考慮電池續(xù)航問(wèn)題,造價(jià)也比較高昂,且需要專(zhuān)業(yè)的計(jì)算機(jī)軟件知識(shí)進(jìn)行編程。

為解決上述不便,本人提出了一種基于Arduino的無(wú)人機(jī)控制器設(shè)計(jì)方案。Arduino是2005年1月由米蘭交互設(shè)計(jì)學(xué)院的兩位教師David Cuartielles和Massimo Banzi聯(lián)合創(chuàng)建,是一塊基于開(kāi)放原始代碼的Simple I/O平臺(tái)。Arduino具有類(lèi)似javaC語(yǔ)言的開(kāi)發(fā)環(huán)境,將AVR單片機(jī)相關(guān)的一些寄存器參數(shù)設(shè)置等都函數(shù)化了,即使不太了解AVR單片機(jī)的朋友也能輕松上手,設(shè)計(jì)出各種實(shí)用的電路開(kāi)發(fā)系統(tǒng),是一款價(jià)格低廉、易于開(kāi)發(fā)做應(yīng)用的電子平臺(tái)。Arduino包括硬件和軟件在內(nèi)的整個(gè)平臺(tái)是完全開(kāi)源的。該方案由于采用Arduino平臺(tái),能快速開(kāi)發(fā)出用較低成本的飛行搖桿來(lái)進(jìn)行操縱航模,體驗(yàn)真實(shí)飛行的感覺(jué)。由于接口較多,可以實(shí)現(xiàn)高達(dá)20通道以上,能執(zhí)行各種擴(kuò)展任務(wù),且不需要攜帶電腦。

一、系統(tǒng)原理與架構(gòu)設(shè)計(jì)

系統(tǒng)框圖如圖1所示,分為兩大部分,分別是地面控制部分和控制執(zhí)行部分。地面控制部分是由單片機(jī)讀取飛行遙桿的數(shù)據(jù),即可獲得飛行搖桿各個(gè)通道的即時(shí)電壓,通過(guò)模式轉(zhuǎn)換后,得到各個(gè)通道的值。將上述值經(jīng)過(guò)編碼后通過(guò)無(wú)線(xiàn)數(shù)傳模塊發(fā)送出去。

空中指令執(zhí)行部分:由空中無(wú)線(xiàn)數(shù)傳接收到信號(hào)后將指令發(fā)送到單片機(jī),單片機(jī)將指令解析,并轉(zhuǎn)換為飛控系統(tǒng)常用的PPM信號(hào),該P(yáng)PM信號(hào)可以直接驅(qū)動(dòng)飛控系統(tǒng)做出響應(yīng)動(dòng)作,從而控制無(wú)人機(jī)。

wKgaomWnSQiAUhinAACYtXhcff8736.jpg

二、模塊原理、設(shè)計(jì)與制作

1.搖桿信號(hào)獲取原理

要得到飛行搖桿當(dāng)前的桿量,一個(gè)方法是通過(guò)搖桿的usb接口讀取,由于各個(gè)廠家的通訊協(xié)議都不兼容,有些還必須獲得授權(quán),實(shí)現(xiàn)起來(lái)比較麻煩。另一個(gè)方法是直接獲取搖桿的電位器值。**實(shí)際上現(xiàn)在市面上的搖桿,除了非常高端的搖桿用了霍爾傳感,大部分都采用了普通的電位器,按照可變電阻來(lái)讀取即可。**本模塊采用市場(chǎng)上常見(jiàn)的賽鈦客FLY5飛行搖桿,拆開(kāi)來(lái)外殼,所有電位器都是用3P的白色連接插座和電路板連接的,XYZ三軸用來(lái)控制飛機(jī)姿態(tài)(升降、副翼和方向),油門(mén)由拉桿控制,苦力帽可以用來(lái)控制fpv攝像頭云臺(tái),還有其他的按鍵可以映射為其他通道,例如空中投擲物體,自動(dòng)回家,切換飛行模式等。

2.桿量解析處理模塊

單片機(jī)系統(tǒng)采用了Arduino MEGA2560開(kāi)發(fā)板。該開(kāi)發(fā)板是一塊以ATmega2560為核心的微控制器開(kāi)發(fā)板,本身具有54組數(shù)字I/O其中14組可做PWM輸出),16組模數(shù)轉(zhuǎn)換輸入端,4組串口,使用16MHz的晶振。

讀取搖桿的XYZ軸的電阻值,只需將電位器的電源和地接在電調(diào)輸出的5v和地上,信號(hào)線(xiàn)接在Arduino板的模擬輸入口上,由于Arduino的AD讀取精度最高是10位,在程序里將電阻值映射成0到1023的數(shù)值,F(xiàn)LY5飛行搖桿的分辨率大概在800~900左右。飛行搖桿的電位器是線(xiàn)性的,反應(yīng)較為靈敏的。實(shí)際測(cè)試中搖桿回中后,和打到最大和最小的地方,數(shù)據(jù)會(huì)有一些波動(dòng)和噪點(diǎn),采用卡爾曼濾波算法進(jìn)行處理,可以獲得平滑的曲線(xiàn)。

3.無(wú)線(xiàn)收發(fā)模塊

無(wú)線(xiàn)數(shù)傳模塊采用Digi的XBee Pro 900HP無(wú)線(xiàn)模塊,功率為250mW,分別用來(lái)連接地面控制板單片機(jī)和連接飛行控制的單片機(jī)。配備原裝天線(xiàn),最遠(yuǎn)可以達(dá)到10KM(地面站配備9dBi全向天線(xiàn),空中配備3dBi原裝天線(xiàn)),比傳統(tǒng)遙控器距離極大地增加。標(biāo)準(zhǔn)的串口TTL接口,將RX和TX分別接在單片機(jī)板上的TX和RX端口上即可。波特率設(shè)置為115200,數(shù)傳是半雙工的,通訊增加CRC校驗(yàn),防止數(shù)據(jù)丟包和被干擾篡改。

4.指令解析模塊

有了良好的通訊協(xié)議,空中控制板解析出地面發(fā)出的命令后,做出相應(yīng)的驅(qū)動(dòng)舵機(jī)的動(dòng)作。標(biāo)準(zhǔn)PPM信號(hào)的周期固定為20ms,理論上脈寬(脈沖的高電平部分)范圍在1ms-2ms之間,但實(shí)際上脈寬可以在0.5ms-2.5ms之間,脈寬和舵機(jī)的轉(zhuǎn)角0°-180°相對(duì)應(yīng)。目前大多數(shù)無(wú)人機(jī)飛行控制器的接收部分都遵循1-2ms規(guī)范,50Hz的數(shù)據(jù)刷新率。本設(shè)計(jì)采用DJI的飛控。

5.失控保護(hù)模塊

在空中指令執(zhí)行部分的單片機(jī)控制系統(tǒng)中,設(shè)計(jì)失控保護(hù)裝置。在Arduino中設(shè)計(jì)定時(shí)器中斷,每隔一段時(shí)間查詢(xún)有無(wú)收到指令(正常情況下,每秒應(yīng)該接收50條指令)。由于飛行器速度高,瞬息萬(wàn)變,因此可以設(shè)置為1秒沒(méi)有接收到任何一條指令,則進(jìn)入懸停狀態(tài),原地懸停待命,在30秒內(nèi)沒(méi)有收到地面的命令后,應(yīng)該進(jìn)入失控保護(hù),并切換到飛行器控制器的GPS自動(dòng)返航模式。

三、性能測(cè)試

使用飛行搖桿進(jìn)行操控更具有真實(shí)感,是傳統(tǒng)遙控器無(wú)法體驗(yàn)的。左手油門(mén),右手控制升降,副翼,扭動(dòng)z軸控制方向舵。地面站配備9dBi全向天線(xiàn),空中配備3dBi原裝天線(xiàn)在開(kāi)闊地實(shí)測(cè)控制距離為8KM。在單向傳輸?shù)臅r(shí)候沒(méi)有出現(xiàn)明顯延遲和抖舵,適合直升機(jī)或多旋翼無(wú)人機(jī)等低延時(shí)的控制要求,實(shí)測(cè)延時(shí)小于20ms。雙向傳輸?shù)臅r(shí)候延時(shí)較大,甚至出現(xiàn)了500ms以上的延時(shí),只能適用于固定翼和滑翔機(jī)等對(duì)延時(shí)要求不高的飛行器。通過(guò)對(duì)數(shù)傳模塊的分析,原因是數(shù)傳模塊大多都是在單頻率下,只能實(shí)現(xiàn)半雙工的無(wú)線(xiàn)傳輸,發(fā)送和接收切換需要延時(shí),如果數(shù)據(jù)量大會(huì)造成阻塞,從而加大延時(shí)。

四、結(jié)論與展望

本文提供的解決方案,成本較低,開(kāi)發(fā)方便,易于實(shí)現(xiàn)。不足之處是單向傳輸雖然延時(shí)低,但是無(wú)法實(shí)時(shí)返回飛行器的各種數(shù)據(jù)。為解決該問(wèn)題,只能使用2對(duì)無(wú)線(xiàn)模塊,或采用MIMO天線(xiàn)能實(shí)現(xiàn)全雙工的無(wú)線(xiàn)模塊,才能解決。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 無(wú)人機(jī)
    +關(guān)注

    關(guān)注

    229

    文章

    10420

    瀏覽量

    180119
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6468

    瀏覽量

    186951
  • 飛行搖桿控制器
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    778

原文標(biāo)題:基于Arduino+900HP的無(wú)人機(jī)飛行搖桿控制器設(shè)計(jì)

文章出處:【微信號(hào):雨飛工作室,微信公眾號(hào):雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【云智易申請(qǐng)】智能無(wú)人機(jī)通信

    的拘泥一種形式,這樣使方案更加靈活,便于二次開(kāi)發(fā)者實(shí)用。項(xiàng)目描述:WiFi實(shí)現(xiàn)無(wú)人機(jī)和遙控之間通信,無(wú)人機(jī)的電機(jī)我們可以用云智易開(kāi)發(fā)板上面
    發(fā)表于 08-07 11:02

    無(wú)人機(jī)主從式姿態(tài)同步控制器設(shè)計(jì)與仿真

    無(wú)人機(jī)主從式姿態(tài)同步控制器設(shè)計(jì)與仿真[size=13.3333px]、設(shè)計(jì)內(nèi)容[size=13.3333px] 無(wú)人機(jī)姿態(tài)同步是無(wú)人機(jī)編隊(duì)
    發(fā)表于 04-27 14:10

    Ameya360 無(wú)人機(jī)視覺(jué)、高級(jí)傳感與處理解決方案

    回收等整個(gè)飛行過(guò)程的核心系統(tǒng),飛控對(duì)于無(wú)人機(jī)相當(dāng)于駕駛員對(duì)于有人機(jī)的作用,我們認(rèn)為是無(wú)人機(jī)最核心的技術(shù)之。飛控般包括傳感
    發(fā)表于 04-23 17:22

    無(wú)人機(jī)電源系統(tǒng)設(shè)計(jì)方案探討

    到消防,都可以由不同類(lèi)別的無(wú)人機(jī)來(lái)實(shí)現(xiàn)。   無(wú)人機(jī)的電源:  根據(jù)子系統(tǒng)之負(fù)載要求,無(wú)人機(jī)有幾個(gè)電源選項(xiàng)。  鋰離子電池是一種常用的電源,體積較小、成本較低,因此是100瓦和運(yùn)行數(shù)天
    發(fā)表于 10-09 10:31

    無(wú)人機(jī)電源系統(tǒng)設(shè)計(jì)方案探討

    。無(wú)人機(jī)有許多應(yīng)用,從具結(jié)到消防,都可以由不同類(lèi)別的無(wú)人機(jī)來(lái)實(shí)現(xiàn)。     無(wú)人機(jī)的電源:  根據(jù)子系統(tǒng)之負(fù)載要求,無(wú)人機(jī)有幾個(gè)電源選項(xiàng)?! ′囯x子電池是
    發(fā)表于 10-09 10:02

    無(wú)人機(jī)飛行控制器電路該怎么設(shè)計(jì)?

    無(wú)人機(jī)飛行控制系統(tǒng)中,飛行控制器是其核心部件,它負(fù)責(zé)飛行控制系統(tǒng)信號(hào)的采集、控制律的解算、飛機(jī)的姿態(tài)和速度,以及與地面設(shè)備的通訊等工作。隨
    發(fā)表于 10-22 07:58

    多軸無(wú)人機(jī)BLDC驅(qū)動(dòng)解決方案

    提升可靠性,并獲得更大的載重量和更好的電池續(xù)航能力。  二、方案框圖:  以下是款典型的以拍攝為主的無(wú)人機(jī)的系統(tǒng)框圖,其主要由攝像頭、MCU控制器、GPS電路、傳感
    發(fā)表于 07-02 15:40

    航模/無(wú)人機(jī)遙控的解決方案

      方案概述:  個(gè)典型的無(wú)人機(jī)系統(tǒng)包括飛行、個(gè)地面
    發(fā)表于 07-03 14:56

    分享一種無(wú)人機(jī)開(kāi)發(fā)的基礎(chǔ)技能體系

    分享一種無(wú)人機(jī)開(kāi)發(fā)的基礎(chǔ)技能體系
    發(fā)表于 11-22 07:22

    有刷電機(jī)無(wú)人機(jī)飛行控制器

    描述有刷電機(jī)無(wú)人機(jī)飛行控制器 Mini本項(xiàng)目用于有刷電機(jī)微型無(wú)人機(jī)專(zhuān)用的控制實(shí)踐。使用6軸IMU,我們可以使無(wú)人機(jī)自平衡。借助磁力計(jì),我們可
    發(fā)表于 08-08 06:37

    基于FPGA的無(wú)人機(jī)控制器設(shè)計(jì)與實(shí)現(xiàn)

    根據(jù)無(wú)人機(jī)系統(tǒng)的控制特點(diǎn),提出了一種基于FPGA的無(wú)人機(jī)控制器設(shè)計(jì)方案,并完成了該
    發(fā)表于 05-11 10:55 ?212次下載
    基于FPGA的<b class='flag-5'>無(wú)人機(jī)</b><b class='flag-5'>控制器</b>設(shè)計(jì)與實(shí)現(xiàn)

    無(wú)人機(jī)飛行控制系統(tǒng)地面仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    為滿(mǎn)足無(wú)人機(jī)控制律參數(shù)調(diào)節(jié)及后期控制策略?xún)?yōu)化的需要,以某型無(wú)人機(jī)為應(yīng)用背景,提出了一種無(wú)人機(jī)飛行
    發(fā)表于 05-06 11:15 ?136次下載
    <b class='flag-5'>無(wú)人機(jī)</b>飛行<b class='flag-5'>控制</b>系統(tǒng)地面仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    淺析基于FPGA的無(wú)人機(jī)控制器設(shè)計(jì)方案解析

    無(wú)人機(jī)的飛行控制和機(jī)載電子設(shè)備的控制指令主要通過(guò)地面控制計(jì)算機(jī)中的軟件或者無(wú)人機(jī)控制器產(chǎn)生,這
    發(fā)表于 06-06 12:28 ?7017次閱讀

    基于Arduino UNO的自動(dòng)駕駛無(wú)人機(jī)

    方案個(gè)基于 Arduino UNO 的自動(dòng)駕駛無(wú)人機(jī)。帶有多個(gè)傳感和由兩個(gè)微控制器
    發(fā)表于 12-22 14:51 ?2次下載

    基于Arduino無(wú)人機(jī)

    做的各種無(wú)人機(jī)項(xiàng)目集成了配電、傳感和引腳?;旧蠈?arduino 板變成體式飛行控制器,這是帶有自己的地面站和應(yīng)用程序的軟件包這塊板是
    發(fā)表于 12-26 15:30 ?1次下載
    RM新时代网站-首页