物美价廉的无人机摇杆微控制器设计方案,接着不谢!

随着无人机正在成为新的经济增长点和国民收入水平的提高,近年来在高校和民间都得到了更多的关注。用无线电遥控的无人机大部分使用jr或者futaba公司出品的专用遥控器,这些遥控器优点是手感好,方便携带,但是价格高昂,通道数较少,难以满足无人机执行任务时需要较多通道数的要求。
无人机是无人驾驶飞机的简称,是利用无线电遥控(含远程驾驶)、预设程序控制和(或)基于机载传感器自主飞行的可重复使用不载人飞机。目前用无线电遥控的无人机大部分使用jr或者futaba公司出品的专用遥控器,这些遥控器优点是手感好,方便携带,但是价格高昂,通道数较少,难以满足无人机执行任务时需要较多通道数的要求。少部分使用pc作为控制平台,使用了飞行摇杆作为控制器,能实现更专业的功能,通道数也多,但是携带不方便,需要携带手提电脑或者pc到外场调试,还必须考虑电池续航问题,造价也比较高昂,且需要专业的计算机软件知识进行编程。
为解决上述不便,本人提出了一种基于arduino的无人机控制器设计方案。arduino是2005年1月由米兰交互设计学院的两位教师david cuartielles和massimo banzi联合创建,是一块基于开放原始代码的simple i/o平台.arduino具有类似java、c语言的开发环境,将avr单片机相关的一些寄存器参数设置等都函数化了,即使不太了解 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左右。飞行摇杆的电位器是线性的,反应较为灵敏的。实际测试中摇杆回中后,和打到最大和最小的地方,数据会有一些波动和噪点,采用卡尔曼滤波算法进行处理,可以获得平滑的曲线。
3.无线收发模块
无线数传模块采用了一对x b e e p r o900hp无线收发模块,该模块功率为250mw.它们分别用来连接地面控制板单片机和连接飞行控制的单片机。配备原装天线,最远可以达到10km,比传统遥控器距离极大的增加。标准的串口ttl接口,将rx和tx分别接在单片机板上的tx和rx端口上即可。波特率设置为115200,数传是半双工的,通讯增加crc校验,防止数据丢包和被干扰篡改。
4.指令解析模块
有了良好的通讯协议,空中控制板解析出地面发出的命令后,做出相应的驱动舵机的动作。标准ppm信号的周期固定为20ms,理论上脉宽(脉冲的高电平部分)范围在1ms-2ms之间,但实际上脉宽可以在0.5ms-2.5ms之间,脉宽和舵机的转角0°-180°相对应。目前大多数无人机飞行控制器的接收部分都遵循1-2ms规范,50hz的数据刷新率。本设计采用dji公司的naza-m飞控模块。
5.失控保护模块
在空中指令执行部分的单片机控制系统中,设计失控保护装置。在arduino中设计定时器中断,每隔一段时间查询有无收到指令(正常情况下每秒应该接收50条指令)。由于飞行器速度高,瞬息万变,因此可以设置为1秒没有接收到任何一条指令,则进入悬停状态,原地悬停待命,在30秒内没有收到地面的命令后,应该进入失控保护,并切换到飞行器控制器的gps自动返航模式。
使用飞行摇杆进行操控更具有真实感,是传统遥控器无法体验的。左手油门,右手控制升降,副翼,扭动z轴控制方向舵。地面站配备 9dbi全向天线,空中配备3dbi原装天线在开阔地实测控制距离为8km.在单向传输的时候没有出现明显延迟和抖舵,适合直升机或多旋翼无人机等低延时的控制要求,实测延时小于20ms.双向传输的时候延时较大,甚至出现了500ms以上的延时,只能适用于固定翼和滑翔机等对延时要求不高的飞行器。通过对数传模块的分析,原因是数传模块大多都是在单频率下,只能实现半双工的无线传输,发送和接收切换需要延时,如果数据量大会造成阻塞,从而加大延时。
本文提供的解决方案,成本较低,开发方便,易于实现。不足之处是单向传输虽然延时低,但是无法实时返回飞行器的各种数据。为解决该问题,只能使用2对无线模块,或采用mimo天线能实现全双工的无线模块,才能解决。后期将会继续研究,以实现低成本的双向传输,并实现实时数据返回的osd和低延时控制。
推荐阅读:
从系统模块开发设计到仿真,都在这里了!
真飞机拆不着,那就来拆拆无人机“鼻祖”大疆吧!
会设计小型无人机飞控系统吗?不会我教你
生动有趣的无人机模块解剖,你敢一试吗?
让音乐跟着你跑步,阿思翠bx50运动耳机体验

三菱欧蓝德对比丰田RAV4:一个更犀利,一个更爱运动
电缆接地箱技术参数怎样选
投资25亿!做强做优做大,合力泰莆田项目启动
三星权桂贤表示明年上半年在中国推出的大部分手机都将是5G手机
国产MCU MM32F003的振荡电路构建及晶振选配
物美价廉的无人机摇杆微控制器设计方案,接着不谢!
cpu超频有什么好处_超频会降低cpu寿命吗
XDynamics 专业级 M4/3 镜头隆重登场,热能相机云台如期面世!
TEA2260引脚功能的电压资料参数
我们的无人驾驶未来到底何时来?
关于新标准EN 50678和EN 50669电气安全重要信息
荣耀9什么时候上市?荣耀9最新消息:荣耀9发布会将至,荣耀9发布会直播地址出来啦,612在家就能看现场
基于OMAPl510双核架构的移动多媒体通信终端的设计与实现
基于FPGA的光栅解调系统的设计
史上最惊艳的小米手机小米5C,预计下个月正式发布
京瓷将重磅亮相慕尼黑上海电子展
PCBA常见的清洗方式有哪些?
多通道振弦传感器信号转换器 将振弦、温度传感器信号转换为RS485数字信号和模拟信号输出
储能点焊机维修保养_储能点焊机结构
交流激励频率对全桥的影响