【导读】无人机的功能不断增加,各种相关的技术方案也趋向于多样化。本文介绍无人机系统MCU技术方案设计,包括了三星Artik芯片、mega16l为核心的无人机充放电控制、ATmega2560无人机摇杆微控制器、无人机陀螺仪主控芯片STM32应用等,以下为你详细讲解。
1 三星Artik芯片:八核处理器,可用于无人机
三星在物联网世界大会上推出了新一代低功耗芯片,可以用于洗衣机和无人机等各类联网设备。除此之外,该公司还公布了最新计划,包括如何通过一个云计算平台,从各类终端设备的芯片中汇总数据,并对其加以分析。三星新推出的芯片分为三种尺寸,具备不同的处理和存储能力以及无线电通信功能。所有芯片均嵌入了加密系统,可以降低黑客攻击的概率。
Artik由三星首席战略官孙英权亲直接掌管的战略和创新中心研发,他表示,Artik平台包含了硬件和软件套件,可帮助公司快速打造联网设备。对此,SmartThings CEO Alex Hawkinson公开宣称,SmartThings Open Cloud也将与Artik配合,提供资料运算以及资源整合,为开发者或公司App开发的提供便利。
尺寸最小的Artik 1芯片比瓢虫尺寸略大,目的是供专用的传感器中心等小型设备使用。尺寸最大的Artik
10对角线长度为2英寸(约合5厘米),希望用于家庭服务器和媒体中心。Artik 10采用1.3GHz八核处理器,拥有2GB内存和16GB闪存。三星总裁Young Sohn表示,Artik
5可以用于无人机和相机等体积相对较小的产品,该芯片具备视频编码和解码功能,因此也从一定程度上降低了功耗。这些芯片支持多种硬件标准,包括WiFi、蓝牙和蓝牙低功耗、ZigBee和Thread。
当然,三星在涉足物联网领域的雄心从去年以2亿美元收购SmartThing就显现出来了,我们也看到了二者合作的成绩,目前已经有 1.9万种设备接入了SmartThings的平台。按照三星电子CEO尹富根的说法,到2017年,所有三星电视将成为物联网设备,五年内所有三星硬件设备均将支持物联网。在手机方面,三星与苹果激战多年未分高下。但是,在物联网这块大蛋糕的争抢中,三星还只是个后来者,在它面前的还有高通、英特尔两座大山。
这些芯片已经用于三星的移动设备,今后还将被三星消费电子部门用在电视机和电冰箱等联网设备上。三星认为,提供一套标准芯片,再辅以一套标准开发工具和标准集成平台,将为iOS解决方案的开发提供便利,并降低成本。美国市场研究公司IDC表示,2020年激活的物联网设备将达到500亿台。三星还表示,任何需要使用数十亿芯片的业务,三星都想涉足。
Artik平台的推出对SmartThings有特殊意义,后者是三星18个月前收购的联网家居和物联网公司。SmartThings已经拥有一套开发工具和开发者整合平台,可以帮助开发者打造物联网设备联网系统。SmartThings CEO亚历克斯·霍金森(Alex Hawkinson)表示,已经有1.9万种设备接入了SmartThings的平台。三星正在使用SmartThings的开发云框架作为各类联网设备的主要云数据集成平台,无论这些设备使用的是Artik芯片还是其他的物联网芯片。该平台提供了SDK(软件开发套件)帮助终端设备接入云端。Young Sohn说:“开发者可以使用这些关键的物联网组建更快、更简单地开发新型物联网项目。”SmartThings的霍金森表示,不仅向外部开发者开放,三星内部的电视机、电冰箱和手机团队也会使用相同的工具。
三星曾经表示,该公司旗下的所有产品都将在2020年实现联网。新的Artik芯片将安装在所有三星设备中,这些设备也都将接入共同的
SmartThings。三星将从今天开始向开发者提供这些芯片,方便其开发物联网项目。YoungSohn表示,开发软件将集成在芯片中,并将包含接入云端所需的开放API。
2 揭秘以mega16l为核心的无人机充放电电路
小型旋翼机器人是以模型直升机为载体, 装备上传感器单元,控制单元和伺服机构等装置以实现自主飞行。而为了提高飞机的安全性,需要设计一套设备监测系统,实时的监测飞机的姿态信息,机载设备的状况以及电源的情况等。该平台所使用的电源是两节锂电池串联组成的电池组,利用锂离子电池的充放电特性,设计了一套以mega16l为核心的充放电管理系统。锂电池具有体积小、能量密度高、无记忆效应、循环寿命高、高电压电池和自放电率低等优点,与镍镉电池、镍氢电池不太一样的是必须考虑充电、放电时的安全性,以防止特性劣化。因此在系统运行过程中, 为了保护锂电池的安全,设计了一套欠压保护电路,以防止电源管理系统因过用而发生电池特性和耐久性特性劣化。
电源管理系统总体框架
无人机电源管理系统是飞机实现自主飞行的重要组成部分, 其大致框架如图1 所示。在该系统中, 利用AXI公司生产的2212/34型号发电机将动能转换为220V 交流电, 再经过整流稳压后输出11.6V的直流电压,
可由该输出电压为两节锂电池充电。电源管理系统的控制器是meg a161单片机,该控制器通过检测两节锂电池的电压大小从而控制继电器开关来对电池进行充放电管理。
图1 电源管理系统框架
控制器采集到电源系统中的信息后, 通过无线传输设备将该数据实时传输给地面。地面监控平台还可以发送一些指令给mega16l,通过控制继电器开关来控制电池充放电, 从而实现监测和控制飞机的目的。机上电源模块由两节英特曼电池有限公司生产的锂电池组成,电池组电量充足时电压为8.4V.池的荷电量与整个供电系统的可靠性密切相关,电池剩余电量越多, 系统的可靠性越高,因此飞行时能实时获得电池的剩余电量,这将大大提高飞机的可靠性。
电源监控系统的实现
直升机能顺利完成飞行任务,充足的电源供应不可或缺,由锂电池的特性可知,在过度放电的情况下,电解液因分解而导致电池特性劣化并造成充电次数降低。因此为了保护电池的安全,电源系统在给控制系统供电前要经过欠压保护模块和稳压模块。为了预测电源系统中剩余的电量,这里采用检测电源系统电压的方法,在测得系统的电源电压后,查找由放电曲线建立的数据库,就能估计出电源系统中所剩余的电量。
单片机所需要的电源电压是2.7 ~ 5.5V,因此可为meg a16l 设计外部基准电压为2.5V,该基准稳压电路如图2所示。所以系统要检测电池的电压,需要将电池用电阻进行分压且最大分得的电压值不能超过2.5V.控制器测得的电压值乘上电压分压缩小的倍数后,就能得到电源系统中的实时电压。时刻监测锂电池的用电情况,防止电池过用现象出现,就能达到有效使用电池容量和延长寿命的目的。
图2 基准电压电路
直流无刷电机电路
无刷直流电机是由电动机主体和驱动器组成,是一种典型的机电一体化产品。直流无刷电机与一般直流电机具有相同的工作原理和应用特性,
而其组成是不一样的, 除了电机本身外,前者还多一个换向电路,直流无刷电动机的电机本身是机电能量转换部分,它除了电机电枢、永磁励磁两部分外,还带有传感器。该发电机的部分AC-DC电路如图3所示。
图3 无刷电机AC-DC 电路
充电电路
锂离子电池的充电特性和镍镉、镍氢电池的充电特性有所不同,锂离子电池在充电时,电池电压缓慢上升,充电电流逐渐减小,当电压达到4.2V左右时,电压基本不变,充电电流继续减小。因此对于改型充电器可先用先恒流后恒压充电方式进行充电, 具体充电电路如图4 所示。该电路选用LM2575($0.9360)ADJ 组成斩波式开关稳压器, 最大充电电流为1A.
图4 高效开关型恒流/ 恒压充电器部分电路
该电路工作原理如下:当电池接入充电器后,该电路输出恒定电流, 对电池充电。该充电器的恒流控制部分由双运放LM358($0.0737)的一半、增益设定电阻R3和R4、电流取样电阻R5和1.23V 反馈基准电压源组成。刚接入电池后,运放LM358 输出低电平,开关稳压器LM2575-ADJ 输出电压高,电池开始充电。当充电电流上升到1A时,取样电阻R5(50m 欧) 两端压降达到50mV,该电压经过增益为25的运放放大后,输出1.23V 电压,该电压加到LM2575 的反馈端, 稳定反馈电路。当电池电压达到8.4V 后,LM3420($0.9940)开始控制LM2575ADJ 的反馈脚。LM3420使充电器转入到恒压充电过程,电池两端电压稳定在8.4V.R6、R7和C3组成补偿网络,保证充电器在恒流/ 恒压状态下稳定工作。若输入电源电压中断,二极管D2和运放LM358 中的PNP 输入级反向偏置,从而使电池和充电电路隔离,保证电池不会通过充电电路放电。当充电转入恒压充电状态时,二极管D3反向偏置,因此运放中不会产生灌电流。
3 ATmega2560($10.4500)无人机摇杆微控制器设计方案
电源欠压保护
电源欠压保护由锂电池的电池放电特性易知, 当电池处于3.5V 时, 此时电池电量即将用完,应及时给电池充电,否则电池电压将急剧下降直至电池损坏。于是设计了一套欠压保护电路如图5 所示,利用电阻分压所得和由TL431设计的基准电压比较,将比较结果送入LM324($0.0900) 放大电路进而触发由三极管构成的开关系统,从而控制负载回路的通阻。试验证明,当系统电压达到临界危险电压7V时,系统的输出电流仅为4mA, 从而防止了系统锂电池过度放电现象的产生。
图5 欠压保护电路
由于锂离子电池能量密度高, 因此难以确保电池的安全性。在过度充电状态下,电池温度上升后能量将过剩,于是电解液分解而产生气体,因内压上升而发生自燃或破裂的危险;反之,在过度放电状态下,电解液因分解导致电池特性及耐久性劣化,从而降低可充电次数。该充电电路和本管理系统能有效的防治锂电池的过充和过用,从而确保了电池的安全,提高锂电池的使用寿命。
UAV电源管理系统,该系统具有自动控制充放电管理, 实时监测电池电压等功能。该系统已经经过调试和试验验证了其可行性,但是为了保证飞机安全,还要做更多的试验以保证无人机自主飞行的安全和稳定。除此之外,高低频滤波,电池电量预测等也是重要的方向,需要深入的研究。现今,锂电池的使用范围越来越广,其价格也相对适中,如果掌握先进的科学的使用方法,让锂电池发挥应有的最大效用,将会节省大量的资源和财富。
解读ATmega2560无人机摇杆微控制器设计方案
随着无人机正在成为新的经济增长点和国民收入水平的提高,近年来在高校和民间都得到了更多的关注。无人机是无人驾驶飞机的简称,是利用无线电遥控(含远程驾驶)、预设程序控制和(或)基于机载传感器自主飞行的可重复使用不载人飞机。目前用无线电遥控的无人机大部分使用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.无线收发模块
无线数传模块采用了一对Xbee PR O900HP无线收发模块,该模块功率为250mW.它们分别用来连接地面控制板单片机和连接飞行控制的单片机。配备原装天线,最远可以达到10KM,比传统遥控器距离极大的增加。标准的串口TTL接口,将RX和TX分别接在单片机板上的TX和RX端口上即可。波特率设置为115200,数传是半双工的,通讯增加CRC校验,防止数据丢包和被干扰篡改。本文提供的解决方案,成本较低,开发方便,易于实现。不足之处是单向传输虽然延时低,但是无法实时返回飞行器的各种数据。为解决该问题,只能使用2对无线模块,或采用MIMO天线能实现全双工的无线模块,才能解决。后期将会继续研究,以实现低成本的双向传输,并实现实时数据返回的OSD和低延时控制。
4 无人机陀螺仪主控芯片STM32($18.3200)应用详解
在无人机系统与地面站通信过程中,机载陀螺仪姿态数据的高速产生与外部相对低速的无线数据模块传输的矛盾日益突出,严重制约着无人机的发展。针对这一问题,采用FPGA FIFO作为高速数据缓冲,提出一种基于FPGA内建FIFO的无人机陀螺仪前级通信接口。通过高速异步FIFO缓冲,将无人机陀螺仪姿态数据经由FPGA准确无误地发送给地面站,显著提高数据传输质量,实现了高速芯片与低速设备之间的通信。整个设计在实际应用中效果良好,数据稳定可靠,满足了低误码率与高稳定性的要求,以及无人机与地面站高速通信的需求,有着广阔的市场应用前景。
无人机系统对于地面站发送的控制信号以及飞行器传回的姿态数据有着极高的实时性、可靠性与稳定性要求,这对无人机通信系统设计提出了新的挑战。对于采用ARM作为微处理器的无人机系统来说,系统往往需要协调基于ARM处理器的高速陀螺仪模块与相对低速的外部无线数据传输模块间的工作。在通信高稳定性与低误码率的要求下,处理器不得不花时间运行空操作来等待外部相对低速的传输模块完成一帧数据的收/发。由于等待所浪费的处理器运算周期无形中降低了整个飞控系统的实时性,进而带来许多潜在的不稳定因素。本设计结合无人机系统发展需求,采用FPGA FIFO作为高速数据缓冲,提出一种基于FPGA内建FIFO的无人机陀螺仪前级通信接口。通过高速异步FIFO缓冲,将无人机陀螺仪姿态数据经由FPGA准确无误地发送给地面站,保证了传输质量,架起了高速芯片与低速设备之间沟通的桥梁。
FPGA内建FIFO的基本工作原理
FIFO即先进先出队列,采用环形存储电路结构,是一种传统的按序执行方法。先进入的指令先完成并引退,随后才执行第二条指令,是一种先进先出的数据缓存器。根据FIFO的读写时钟频率是否相同,可将FIFO分为同步FIFO与异步FIFO。FIFO的应用可以很好地协调不同时钟、不同数据宽度数据的通信,满足高/低速时钟频率要求。与普通存储器相比,FIFO没有外部读写地址线,使用方便。
采用FPGA异步FIFO连接基于ARM处理器的高速无人机陀螺仪模块与相对低速的无线数据传输外设。从硬件的观点来看,FIFO实质上就是一块数据内存。异步FIFO采用2个时钟信号控制其读写操作,分别为写时钟(wrclk)和读时钟(rdclk)。一个用来写数据,即将数据存入FIFO;另一个用来读数据,即将数据从FIFO中取出。与FIFO操作相关的有两个指针:写指针指向要写的内存部分;读指针指向要读的内存部分。FIFO控制器通过外部的读写信号控制这两个指针移动,并由此产生FIFO空信号或满信号。读写时钟相互独立设计,有效地保证了FIFO两端数据的异步通信。
基于ARM的无人机陀螺仪接口结构
由于机载燃油和电能储备的制约,无人机载设备要求小巧轻便,能效比高,因此对芯片的选型及电路结构提出了较高的要求。综合稳定性、数据精度、工作温度、封装体积以及能耗等各方面因素,对无人机陀螺仪传感器经行严格筛选,确定了所示的陀螺仪方案。无人机陀螺仪的主控芯片选用ARM32bit CortexTM M3内核的STM32F103T8($3.0391)处理器。其内建64KB的闪存存储器和20KB的运行内存,以及7通道的DMA、7个定时器、2个UART端口等。通过板载的8MHz晶体和STM32内部的PLL,控制器可以运行在72MHz的主频上,为姿态解算提供强大的硬件支持。
三轴加速度与三轴角速度传感器采用Invensense公司的MPU-6050($4.3178)单芯片方案,此芯片为全球首例整合性6轴运动处理组件,相比其他多芯片实现方案,免除了整合陀螺仪与加速度器轴间差的问题,大大减少了封装空间。三轴磁力计采用Honeywell公司的HMC5883L($1.2500)芯片,此芯片内部采用先进的高分辨率HMC188X系列磁阻传感器与行业领先的各向异性磁阻技术(AMR),具有轴向高灵敏度和线性高精度的特点,测量范围从毫高斯到8高斯,稳定可靠。气压传感器采用博世公司的BMP180芯片,该芯片性能卓越,绝对精度可以达到0.03 hpa,并且功耗极低。传感器采用强大的7pin陶瓷无引线芯片承载(LCC)超薄封装,安装使用方便。各传感器与ARM处理器采用I2C总线连接,示意图如图3所示。
陀螺仪与FIFO及FPGA的连接
处理器采集各传感器信号,在ARM内部进行姿态解算,进而得到俯仰角、横滚角、航向角、气压、高度和温度信息。为了及时将解算得到的数据发送回地面站,处理器控制写请求信号wrreq和写时钟wrclk将这些数据高速写入FIFO,然后回到飞行控制程序,进行下一周期的姿态解算。FIFO在数据写满后,写满标志位wrfull会置高电平,ARM处理器通过检测写满标志位的状态来判断是否继续写入数据。与此同时,在FPGA中通过检测所读取FIFO是否为空标志位rdempty来判断是否继续读取数据。读空标志位为低电平代表FIFO中有数据,可以读取,则配合读请求信号rdreq和读时钟rdclk及时读取数据,直到将数据全部读出,标志位变为高电平,此时FIFO中已经没有数据。基于ARM的陀螺仪与FIFO及FPGA的连接如图4所示。
5 盘点无人机飞控与MEMS传感器
制造一个大脑并不容易。大黄蜂的大脑中有100多万个相互联系的神经元细胞,帮助它完成各种意识活动。2014年年末,一个科学家团队曾给一个有轮子的乐高机器人安装过一个数字蠕虫大脑,但是这样的大脑只有302个神经元细胞。到目前为止,“绿色大脑计划”团队只重建了黄蜂大脑中与视觉有关的部分。但是这样的成果已经非常令人震惊了。无人机利用视频摄像头和人造大脑软件沿着走廊飞行,飞行模式就和经过训练完成同样任务的大黄蜂一模一样。现在,这个虚拟大脑还只能追踪位置的移动,而无法识别颜色或形状。“绿色大脑计划”的科学家希望,过一段时间能够用数字重建完整的大黄蜂大脑,并制造出第一台像大黄蜂一样自动行动的机器人。但是现在,他们的重点还放在重建大黄蜂的视觉系统和嗅觉系统。
飞控的大脑:微控制器
在四轴飞行器的飞控主板上,需要用到的芯片并不多。目前的玩具级飞行器还只是简单地在空中飞行或停留,只要能够接收到遥控器发送过来的指令,控制四个马达带动桨翼,基本上就可以实现飞行或悬停的功能。意法半导体高级市场工程师介绍,无人机/多轴飞行器主要部件包括飞行控制以及遥控器两部分。其中飞行控
制包括电调/马达控制、飞机姿态控制以及云台控制等。目前主流的电调控制方式主要分成BLDC方波控制以及FOC正弦波控制。
多轴飞行器由遥控,飞控,动力系统, 航拍等不同模块构成,根据不同等级产品的需求,会采用到不同CPU内核。例如小四轴的飞行主控,因功能单纯,体积小,必须同时整合遥控接收,飞行控制及动力驱动功能;中高阶多轴飞行器则采用内建 DSP及浮点运算单元的,负责飞行主控功能,驱动无刷电机的电调(ESC)板则采用MINI5($1.0889)系列设计。低阶遥控器使用SOP20封装的4T 8051 N79E814;中高阶遥控器则采用Cortex-M0 M051系列。另外, 内建ARM9及H.264视频边译码器的N329系列SOC则应用于2.4G及5.8G的航拍系统。在飞控主板上,目前控制和处理用得最多的还是MCU而不是CPU。由于对于飞行控制方面主要都是浮点运算,简单的ARMCortex-M4内核32位MCU都可以很好的满足。有的传感器MEMS芯片中已经集成了DSP,与之搭配的话,更加简单的8位单片机也可以做到。
高通和英特尔推的飞控主芯片
CES上我们看到了高通和英特尔展示了功能更为丰富的多轴飞行器,他们采用了比微控制器(MCU)更为强大的CPU或是ARM Cortex-A系列处理器作为飞控主芯片。例如,高通CES上展示的Snapdragon Cargo无人机是基于高通Snapdragon芯片开发出来的飞行控制器,它有无线通信、传感器集成和空间定位等功能。Intel CEO Brian Krzanich也亲自在CES上演示了他们的无人机。这款无人机采用了“RealSense”技术,能够建起3D地图和感知周围环境,它可以像一只蝙蝠一样飞行,能主动避免障碍物。英特尔的无人机是与一家德国工业无人机厂商Ascending Technologies合作开发,内置了高达6个英特尔的“RealSense”3D摄像头,以及采用了四核的英特尔凌动(Atom)处理器的PCI-express定制卡,来处理距离远近与传感器的实时信息,以及如何避免近距离的障碍物。这两家公司在CES展示如此强大功能的无人机,一是看好无人机的市场,二是美国即将推出相关法规,对无人机的飞行将有严格的管控。
此外,活跃在在机器人市场的欧洲处理器厂商XMOS也表示已经进入到无人机领域。XMOS公司市场营销和业务拓展副总裁Paul
Neil博士表示,XMOS的xCORE多核微控制器系列已被一些无人机/多轴飞行器的OEM客户采用。在这些系统中,XMOS多核微控制器既用于飞行控制也用于MCU内部通信。
Paul Neil说:xCORE多核微控制器拥有数量在8到32个之间的、频率高达500MHz的32位RISC内核。xCORE器件也带有Hardware Response I/O接口,它们可提供卓越的硬件实时I/O性能,同时伴随很低的延迟。“这种多核解决方案支持完全独立地执行系统控制与通信任务,不产生任何实时操作系统(RTOS)开销。xCORE微控制器的硬件实时性能使得我们的客户能够实现非常精确的控制算法,同时在系统内无抖动。xCORE多核微控制器的这些优点,正是吸引诸如无人机/多轴飞行器这样的高可靠性、高实时性应用用户的关键之处。”
多轴飞行器需要用到四至六颗无刷电机(马达),用来驱动无人机的旋翼。而马达驱动控制器就是用来控制无人机的速度与方向。原则上一颗马达需要配置一颗8位MCU来做控制,但也有一颗MCU控制多个BLDC马达的方案。
多轴无人机的MEMS传感
某无人机方案商总经理认为,目前业内的玩具级飞行器,虽然大部分从三轴升级到了六轴MEMS,但通常采用的都是消费类产品如平板或手机上较常用的价格敏感型型号。在专业航拍以及专为航模发烧友开发的中高端无人机上,则会用到质量更为价格更高的传感器,以保障无人机更为稳定、安全的飞行。这些MEMS传感器主要用来实现飞行器的平稳控制和辅助导航。飞行器之所以能悬停,可以做航拍,是因为MEMS传感器可以检测飞行器在飞行过程中的俯仰角和滚转角变化,在检测到角度变化后,就可以控制电机向相反的方向转动,进而达到稳定的效果。这是一个典型的闭环控制系统。
ADI亚太区微机电产品市场和应用经理表示,ADI产品主要的优势就是在各种恶劣条件下,均可获得高精度的输出。以陀螺仪为例,它的理想输出是只响应角速度变化,但实际上受设计和工艺的限制,陀螺对加速度也是敏感的,就是我们在陀螺仪数据手册上常见的deg/sec/g的指标。对于多轴飞行器的应用来说,这个指标尤为重要,因为飞行器中的马达一般会带来较强烈的振动,一旦减震控制不好,就会在飞行过程中产生很大的加速度,那势必会带来陀螺输出的变化,进而引起角度变化,马达就会误动作,最后给终端用户的直观感觉就是飞行器并不平稳。
除此之外,在某些情况下,如果飞行器突然转弯,可能会造成输入转速超过陀螺仪的测试量程,理想情况下,陀螺仪的输出应该是饱和输出,待转速恢复到陀螺仪量程范围后,陀螺仪再正确反应实时的角速度变化,但有些陀螺仪确不是这样,一旦输入超过量程,陀螺便会产生震荡输出,给出完全错误的角速度。还有某些情况下,飞行器会受到较大的加速度冲击,理想情况陀螺仪要尽量抑制这种冲击,ADI的陀螺仪在设计的时候,也充分考虑到这种情况,利用双核和四核的机械结构,采用差分输出的原理来抑制这种“共模”的冲击,准确测量“差模”的角速度变化。但某些陀螺仪在这种情况下会产生非常大错误输出,甚至是产生震荡输出。对于飞行器来说,最重要的一点就是安全,无论它的硬件设计还是软件设计,都要首先保证安全,而后才是极致的用户体验。”
随着无人机的功能不断增加,GPS传感器、红外传感器、气压传感器、超声波传感器越来越多地被用到无人机上。方案商已经在利用红外和超声波传感器来开发出可自动避撞的无人机,以满足将来相关法规的要求。集成了GPS传感器的无人机则可以实现一键返航功能,防止无人机飞行丢失。而内置了GPS功能的无人机,可以在软件中设置接近机场或航空限制的敏感地点,不让飞机起飞。
6 无人机系统模块开发设计与仿真
在开发的早期阶段,开发一个硬件在环(HIL)测试环境来测试无人机GNC解决方案。HIL测试环境是软件仿真和飞机实验的一个中间步骤,对于无人机GNC软件的开发过程非常关键。通过HIL环境,工程师可以在一个可控的仿真环境中对无人机软件进行测试。同时,它也能加速设计,缩短开发周期,通过HIL环境,工程师可以发觉软件仿真(主要是同步和定时)中没有出现的问题,从而避免现场试验的故障,并增加无人机团队的安全性。开发了一个通用的HIL平台来设计验证控制和导航算法。这个HIL测试环境完全集成在一个基于模型的设计开发周期中(见图1)。
图1 : HWIL测试环境示意图
基于模型的开发
首先我们设计编改了无人机平台,将其用于仿真,并将控制器和算法部署至硬件中。根据基于模型的设计理念来完成这个任务。对于系统设计和仿真来说这是一个可靠方便的方法。使用代码自动生成工具可以使我们减少设计时间,轻松完成对于测试架构的重复利用,以及快速系统原型,从而形成一个连续的确认和验证过程。
构架的目的包括:在不同的硬件平台上不用任何改变即可对模型重复利用;对设计测试套件模型进行重复使用以验证目标系统;将透明模型完全集成到目标硬件中,并创建一个系统的,快速的流程,将自动生成的代码集成到目标硬件,从而使得控制工程师无需软件工程师的参与,即可以快速测试模型(见图2)。对于这个项目,使用Simulink®公司的MathWorks软件(我们还使用了Esterel Technologies公司的SCADE套件)开发了模型任务,并使用MathWorks和Real-Time Workshop®公司的软件实现自动编码。需要两次不同的编改:在无人机中进行测试及执行的算法是由ANSI C代码编写的,仿真无人机动态行为的数学模型将通过LabVIEW仿真接口工具包转换至NI LabVIEW软件动态库中。
图2: 基于模型的开发流程
在最终的系统中,我们使用多个LabVIEW I/O模块来仿真一些无人机航空电子和逻辑传感器以及激励器接口。
LabVIEW Real-Time PXI
PXI是一个基于PC的平台,可用于测试,测量和控制,能够在不同的接口和总线中提供高带宽和超低的执行延时。在这个案例中,PXI需要在一个复杂的无人机模型中运行,该模型会在实时中以动态库的形式被执行。
在系统中使用PXI模块能让我们使用无人机上完全一样的接口进行HIL仿真。所以,我们会以现场实验完全相同的配置验证GNC算法处理单元。这对于一些使用纯仿真不足以捕捉所有硬件相关问题(例如信号噪音,错误和同步问题)的系统来说是十分重要的。通过Spirent GSS8000 GPS仿真器,我们能够仿真并生成用户选择的GNSS星座卫星所发出的相同的射频信号。这些信号会以飞行实验相同的方式传送到无人机上真实的GPS传感器,并能仿真惯性传感器(加速度计和回转仪)。可以指定不同的情况,降级信号,指定天线模式及模拟IMU传感器错误。
板载处理单元
在实时操作系统(QNX或VxWorks)中运行一个PC/104单元,操作系统中包含了算法和控制策略,用于测试自动代码生成工具和集成架构创建的代码的完成。我们在现场实验的真实无人机中也使用了相同的单元。我们可以使用Simulink External Mode软件对无人机进行调试。通过这个软件,我们可以监测用户需要实时知晓的信号值。此外我们可以改变嵌入式处理单元中所执行算法的参数。在操作中所使用的界面,与控制工程师在仿真设计算法时所使用的界面完全一样。由此,整个测试环境完全透明,而且能以同现场测试一样的方式进行HIL测试,从而大幅减少开发时间.
对比飞行遥测和使用同样的GNC算法的HIL仿真,可以表明HIL的精准性和与真实测试结果的相似性。在一架改装过的无线电控制的直升飞机上集成了几个传感器(加速度计,回转仪,磁力计,GPS和一个高度计)和一个处理单元(见图3),将其转变成一架无人机,进行飞行测试。无人机在没有过冲或任何一个永久误差的情况下,达到了水平面要求的参考值(见图4和图5)。HIL仿真和真实的飞行测试结果极其一致。
图4:北方位置对比结果
图5: 西方位置对比结果
HIL环境非常适用于测试包含真实硬件的整个系统。使用NI PXI,我们在实时状态下以低延时仿真了一个复杂的无人机模型,并完美模拟了航空设备界面。这个环境能检测出软件仿真中无法显示的错误,从而避免现场实验意外的发生。因为控制工程师在设计,开发和验证过程中也会使用相同的可视化和调试工具,由此可以快速重复循环,减少开发时间。
特别推荐:
我爱方案网特别推出原创拆解平台——为了科学,我们第一期的拆解产品就是来自德赛的智能睡眠手环 Fitband,已成文 帮你入眠还是给你添乱?Fitband手环完全评测拆解,希望能带给我爱方案网的网友们关于智能手环手表制造的一些启发,欢迎审阅。