0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于Arduino的无人机控制器设计方案

lcdz66 来源:雨飞工作室 2024-01-17 11:26 次阅读

随着无人机正在成为新的经济增长点和国民收入水平的提高,近年来在高校和民间都得到了更多的关注。目前用无线电遥控的无人机大部分使用JR或者Futaba公司出品的专用遥控器,这些遥控器优点是手感好,方便携带,但是价格高昂,通道数较少,难以满足无人机执行任务时需要较多通道数的要求。少部分使用PC作为控制平台,使用了飞行摇杆作为控制器,能实现更专业的功能,通道数也多,但是携带不方便,需要携带手提电脑或者PC到外场调试,还必须考虑电池续航问题,造价也比较高昂,且需要专业的计算机软件知识进行编程

为解决上述不便,本人提出了一种基于Arduino的无人机控制器设计方案。Arduino是2005年1月由米兰交互设计学院的两位教师David Cuartielles和Massimo Banzi联合创建,是一块基于开放原始代码的Simple I/O平台。Arduino具有类似javaC语言的开发环境,将AVR单片机相关的一些寄存器参数设置等都函数化了,即使不太了解AVR单片机的朋友也能轻松上手,设计出各种实用的电路开发系统,是一款价格低廉、易于开发做应用的电子平台。Arduino包括硬件和软件在内的整个平台是完全开源的。该方案由于采用Arduino平台,能快速开发出用较低成本的飞行摇杆来进行操纵航模,体验真实飞行的感觉。由于接口较多,可以实现高达20通道以上,能执行各种扩展任务,且不需要携带电脑。

一、系统原理与架构设计

系统框图如图1所示,分为两大部分,分别是地面控制部分和控制执行部分。地面控制部分是由单片机读取飞行遥杆的数据,即可获得飞行摇杆各个通道的即时电压,通过模式转换后,得到各个通道的值。将上述值经过编码后通过无线数传模块发送出去。

空中指令执行部分:由空中无线数传接收到信号后将指令发送到单片机,单片机将指令解析,并转换为飞控系统常用的PPM信号,该PPM信号可以直接驱动飞控系统做出响应动作,从而控制无人机。

wKgaomWnSQiAUhinAACYtXhcff8736.jpg

二、模块原理、设计与制作

1.摇杆信号获取原理

要得到飞行摇杆当前的杆量,一个方法是通过摇杆的usb接口读取,由于各个厂家的通讯协议都不兼容,有些还必须获得授权,实现起来比较麻烦。另一个方法是直接获取摇杆的电位器值。**实际上现在市面上的摇杆,除了非常高端的摇杆用了霍尔传感,大部分都采用了普通的电位器,按照可变电阻来读取即可。**本模块采用市场上常见的赛钛客FLY5飞行摇杆,拆开来外壳,所有电位器都是用3P的白色连接插座和电路板连接的,XYZ三轴用来控制飞机姿态(升降、副翼和方向),油门由拉杆控制,苦力帽可以用来控制fpv摄像头云台,还有其他的按键可以映射为其他通道,例如空中投掷物体,自动回家,切换飞行模式等。

2.杆量解析处理模块

单片机系统采用了Arduino MEGA2560开发板。该开发板是一块以ATmega2560为核心的微控制器开发板,本身具有54组数字I/O其中14组可做PWM输出),16组模数转换输入端,4组串口,使用16MHz的晶振。

读取摇杆的XYZ轴的电阻值,只需将电位器的电源和地接在电调输出的5v和地上,信号线接在Arduino板的interwetten与威廉的赔率体系 输入口上,由于Arduino的AD读取精度最高是10位,在程序里将电阻值映射成0到1023的数值,FLY5飞行摇杆的分辨率大概在800~900左右。飞行摇杆的电位器是线性的,反应较为灵敏的。实际测试中摇杆回中后,和打到最大和最小的地方,数据会有一些波动和噪点,采用卡尔曼滤波算法进行处理,可以获得平滑的曲线。

3.无线收发模块

无线数传模块采用Digi的XBee Pro 900HP无线模块,功率为250mW,分别用来连接地面控制板单片机和连接飞行控制的单片机。配备原装天线,最远可以达到10KM(地面站配备9dBi全向天线,空中配备3dBi原装天线),比传统遥控器距离极大地增加。标准的串口TTL接口,将RX和TX分别接在单片机板上的TX和RX端口上即可。波特率设置为115200,数传是半双工的,通讯增加CRC校验,防止数据丢包和被干扰篡改。

4.指令解析模块

有了良好的通讯协议,空中控制板解析出地面发出的命令后,做出相应的驱动舵机的动作。标准PPM信号的周期固定为20ms,理论上脉宽(脉冲的高电平部分)范围在1ms-2ms之间,但实际上脉宽可以在0.5ms-2.5ms之间,脉宽和舵机的转角0°-180°相对应。目前大多数无人机飞行控制器的接收部分都遵循1-2ms规范,50Hz的数据刷新率。本设计采用DJI的飞控。

5.失控保护模块

在空中指令执行部分的单片机控制系统中,设计失控保护装置。在Arduino中设计定时器中断,每隔一段时间查询有无收到指令(正常情况下,每秒应该接收50条指令)。由于飞行器速度高,瞬息万变,因此可以设置为1秒没有接收到任何一条指令,则进入悬停状态,原地悬停待命,在30秒内没有收到地面的命令后,应该进入失控保护,并切换到飞行器控制器的GPS自动返航模式。

三、性能测试

使用飞行摇杆进行操控更具有真实感,是传统遥控器无法体验的。左手油门,右手控制升降,副翼,扭动z轴控制方向舵。地面站配备9dBi全向天线,空中配备3dBi原装天线在开阔地实测控制距离为8KM。在单向传输的时候没有出现明显延迟和抖舵,适合直升机或多旋翼无人机等低延时的控制要求,实测延时小于20ms。双向传输的时候延时较大,甚至出现了500ms以上的延时,只能适用于固定翼和滑翔机等对延时要求不高的飞行器。通过对数传模块的分析,原因是数传模块大多都是在单频率下,只能实现半双工的无线传输,发送和接收切换需要延时,如果数据量大会造成阻塞,从而加大延时。

四、结论与展望

本文提供的解决方案,成本较低,开发方便,易于实现。不足之处是单向传输虽然延时低,但是无法实时返回飞行器的各种数据。为解决该问题,只能使用2对无线模块,或采用MIMO天线能实现全双工的无线模块,才能解决。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 无人机
    +关注

    关注

    230

    文章

    10437

    浏览量

    180454
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187085
  • 飞行摇杆控制器

    关注

    0

    文章

    2

    浏览量

    787

原文标题:基于Arduino+900HP的无人机飞行摇杆控制器设计

文章出处:【微信号:雨飞工作室,微信公众号:雨飞工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【云智易申请】智能无人机通信

    的拘泥一种形式,这样使方案更加灵活,便于二次开发者实用。项目描述:WiFi实现无人机和遥控之间通信,无人机的电机我们可以用云智易开发板上面
    发表于 08-07 11:02

    无人机主从式姿态同步控制器设计与仿真

    无人机主从式姿态同步控制器设计与仿真[size=13.3333px]、设计内容[size=13.3333px] 无人机姿态同步是无人机编队
    发表于 04-27 14:10

    Ameya360 无人机视觉、高级传感与处理解决方案

    回收等整个飞行过程的核心系统,飞控对于无人机相当于驾驶员对于有人机的作用,我们认为是无人机最核心的威廉希尔官方网站 之。飞控般包括传感
    发表于 04-23 17:22

    无人机电源系统设计方案探讨

    到消防,都可以由不同类别的无人机来实现。   无人机的电源:  根据子系统之负载要求,无人机有几个电源选项。  锂离子电池是一种常用的电源,体积较小、成本较低,因此是100瓦和运行数天
    发表于 10-09 10:31

    无人机电源系统设计方案探讨

    无人机有许多应用,从具结到消防,都可以由不同类别的无人机来实现。     无人机的电源:  根据子系统之负载要求,无人机有几个电源选项。  锂离子电池是
    发表于 10-09 10:02

    无人机飞行控制器电路该怎么设计?

    无人机飞行控制系统中,飞行控制器是其核心部件,它负责飞行控制系统信号的采集、控制律的解算、飞机的姿态和速度,以及与地面设备的通讯等工作。随
    发表于 10-22 07:58

    多轴无人机BLDC驱动解决方案

    提升可靠性,并获得更大的载重量和更好的电池续航能力。  二、方案框图:  以下是款典型的以拍摄为主的无人机的系统框图,其主要由摄像头、MCU控制器、GPS电路、传感
    发表于 07-02 15:40

    航模/无人机遥控的解决方案

      方案概述:  个典型的无人机系统包括飞行个地面
    发表于 07-03 14:56

    分享一种无人机开发的基础技能体系

    分享一种无人机开发的基础技能体系
    发表于 11-22 07:22

    有刷电机无人机飞行控制器

    描述有刷电机无人机飞行控制器 Mini本项目用于有刷电机微型无人机专用的控制实践。使用6轴IMU,我们可以使无人机自平衡。借助磁力计,我们可
    发表于 08-08 06:37

    基于FPGA的无人机控制器设计与实现

    根据无人机系统的控制特点,提出了一种基于FPGA的无人机控制器设计方案,并完成了该
    发表于 05-11 10:55 212次下载
    基于FPGA的<b class='flag-5'>无人机</b><b class='flag-5'>控制器</b>设计与实现

    无人机飞行控制系统地面仿真平台设计与实现

    为满足无人机控制律参数调节及后期控制策略优化的需要,以某型无人机为应用背景,提出了一种无人机飞行
    发表于 05-06 11:15 136次下载
    <b class='flag-5'>无人机</b>飞行<b class='flag-5'>控制</b>系统地面仿真平台设计与实现

    浅析基于FPGA的无人机控制器设计方案解析

    无人机的飞行控制和机载电子设备的控制指令主要通过地面控制计算机中的软件或者无人机控制器产生,这
    发表于 06-06 12:28 7039次阅读

    基于Arduino UNO的自动驾驶无人机

    方案个基于 Arduino UNO 的自动驾驶无人机。带有多个传感和由两个微控制器
    发表于 12-22 14:51 2次下载

    基于Arduino无人机

    做的各种无人机项目集成了配电、传感和引脚。基本上将 arduino 板变成体式飞行控制器,这是带有自己的地面站和应用程序的软件包这块板是
    发表于 12-26 15:30 1次下载