基于基于Arduino的无人机飞行摇杆控制器设计的无人机飞行摇杆控制器设计
飞行摇杆控制无人机更具有真实感,有传统遥控器无法比拟的优点,且拥有较多的通道数。本文使用Arduino开
发板设计了一套无人机飞行摇杆控制器,该控制器不需要电脑,成本低廉,携带方便,是理想的无人机控制平
台。
一、引言
随着无人机正在成为新的经济增长点和国民收入水平的提高,近年来在高校和民间都得到了更多的关注。无人机是无人驾驶飞
机的简称,是利用无线电遥控(含远程驾驶)、预设程序控制和(或)基于机载传感器自主飞行的可重复使用不载人飞机。无
人机已有近百年发展历程,目前世界上有30多个国家在发展和制造无人机,全球现役无人机已有12万架,市场规模达到1000
亿美元左右。
目前用无线电遥控的无人机大部分使用JR或者Futaba公司出品的专用遥控器,这些遥控器优点是手感好,方便携带,但是价
格高昂,通道数较少,难以满足无人机执行任务时需要较多通道数的要求。少部分使用PC作为控制平台,使用了飞行摇杆作
为控制器,能实现更专业的功能,通道数也多,但是携带不方便,需要携带手提电脑或者PC到外场调试,还必须考虑电池续
航问题,造价也比较高昂,且需要专业的计算机软件知识进行编程。
为解决上述不便,本人提出了一种基于Arduino的无人机控制器设计方案。Arduino是2005年1月由米兰交互设计学院的两位教
师David Cuartielles和Massimo Banzi联合创建,是一块基于开放原始代码的Simple I/O平台[2-3].Arduino具有类似java、C语
言的开发环境,将AVR单片机相关的一些寄存器参数设置等都函数化了[4],即使不太了解AVR单片机的朋友也能轻松上手,设
计出各种实用的电路开发系统,是一款价格低廉、易于开发做应用的电子平台。Arduino包括硬件和软件在内的整个平台是完
全开源的。
该方案由于采用Arduino平台,能快速开发出用较低成本的飞行摇杆来进行操纵航模,体验真实飞行的感觉。由于接口较多,
可以实现高达20通道以上,能执行各种扩展任务,且不需要携带电脑。
二、系统原理与架构设计
系统框图如图1所示,分为两大部分,分别是地面控制部分和控制执行部分。地面控制部分是由单片机读取飞行遥杆的数据,
即可获得飞行摇杆各个通道的即时电压,通过模式转换后,得到各个通道的值。将上述值经过编码后通过无线数传模块发送出
去。
空中指令执行部分:
由空中无线数传接收到信号后将指令发送到单片机,单片机将指令解析,并转换为飞控系统常用的PPM信号,该PPM信号可
以直接驱动飞控系统做出响应动作,从而控制无人机。
三、模块原理、设计与制作
1.摇杆信号获取原理
要得到飞行摇杆当前的杆量,一个方法是通过摇杆的usb接口读取,由于各个厂家的通讯协议都不兼容,有些还必须获得授
权,实现起来比较麻烦。另一个方法是直接获取摇杆的电位器值。实际上现在市面上的摇杆除了非常高端的摇杆用了霍尔传
感,大部分都采用了普通的电位器,按照可变电阻来读取即可。本模块采用市场上常见的赛钛客FLY5飞行摇杆,拆开来外
壳,所有电位器都是用3P的白色连接插座和电路板连接的,XYZ三轴用来控制飞机姿态(升降、副翼和方向),油门由拉杆
控制,苦力帽可以用来控制fpv摄像头云台,还有其他的按键可以映射为其他通道,例如空中投掷物体,自动回家,切换飞行
模式等。
2.杆量解析处理模块
我们采用的单片机系统采用了ArduinoM E G A 2 5 6 0 开发板。该开发板是一块以ATmega2560为核心的微控制器开发板,本
身具有54组数字I/O其中14组可做PWM输出),16组模数转换输入端,4组串口,使用16MHz的晶振。
读取摇杆的XYZ轴的电阻值,只需将电位器的电源和地接在电调输出的5v和地上,信号线接在Arduino板的模拟输入口上,由
于Arduino的AD读取精度最高是10位,在程序里将电阻值映射成0到1023的数值,FLY5飞行摇杆的分辨率大概在800~900左
评论0
最新资源