计算机系统应用  2020, Vol. 29 Issue (4): 102-106   PDF    
基于TMS320F28335的小型无人旋翼机数据采集系统
强志鹏, 齐明思, 张纪平, 姬天田, 孙起帆, 薛洋洋     
中北大学 机械工程学院, 太原 030051
摘要:大气数据的采集对于小型无人旋翼机飞行的控制具有关键性的作用, 针对小型无人旋翼机的飞行控制需求, 利用数字式MEMS传感器和TMS320F28335芯片设计了一种装载于小型无人旋翼机上双采集装置的大气数据采集系统. 通过传感器采集数据, 实时解算出控制无人旋翼机飞行所需要的空速等数值, 同时采用线性插值等算法来提高计算性能. 该系统体积小, 功耗低, 抗干扰能力强等优点, 能够满足小型无人旋翼机的需求, 为小型无人旋翼机数据采集系统在实际中的应用做了一定的理论工作.
关键词: 小型无人旋翼机    双采集装置    低功耗    线性插值    微型化    
Small Unmanned Rotorcraft Data Acquisition System Based on TMS320F28335
QIANG Zhi-Peng, QI Ming-Si, ZHANG Ji-Ping, JI Tian-Tian, SUN Qi-Fan, XUE Yang-Yang     
School of Mechanical Engineering, North University of China, Taiyuan 030051, China
Foundation item: Key Discipline Construction Project of Shanxi Province (126/18006802)
Abstract: The collection of atmospheric data plays a key role in the control of small unmanned rotorcraft flight. An atmospheric data acquisition system for the acquisition device of a small unmanned rotorcraft was designed by a digital MEMS sensor and TMS320F28335 chip based on the flight control needs of small unmanned rotorcraft. The space velocity required to control the flight of the unmanned rotorcraft is calculated in real time by collecting data with the sensor, and some algorithms such as linear interpolation are used to improve the calculation performance. The system can meet the needs of small unmanned rotorcraft because of its small size, low power consumption, and strong anti-interference ability, which has made some theoretical work for the practical application of small unmanned rotorcraft data acquisition system.
Key words: unmanned rotorcraft     dual acquisition device     low power consumption     linear interpolation     miniaturization    

引言

近些年随着航空技术的不断发展, 国内外学者针对无人机数据采集的研究成果层出不穷, 但是对无人旋翼机的研究较为少见. 小型无人旋翼机的旋翼不支持动力旋转, 所以其故障率远低于一般无人机, 相对而言经济性和可靠性也比较高[1], 因此无论是在农业植保方面, 还是科研方面, 都具有极其巨大的应用潜力和研究价值. 由于小型无人旋翼机自身的特性, 只使用一套数据采集装置所采集的数据将会出现重大的误差, 为了满足小型无人旋翼机对大气数据采集系统体积小, 功耗低, 测量精准度高, 抗干扰能力强, 数据实时性强等要求[2], 在分析了大气数据采集原理以及小型无人旋翼机飞行特点的基础上, 设计出了基于MEMS数字型差压传感器和F28335芯片的一种小型双采集装置大气数据采集系统, 并对系统的设计进行了一定的分析和研究, 使系统能够更加契合小型无人旋翼机[3].

1 测量原理

大气数据采集系统, 是指通过传感器采集测量飞行器周围多种大气参数及经过解算后输出多种飞行器所需参数的多输入多输出的机载综合测量系统[4]. 由于小型无人旋翼机的一些特点, 现有的大气数据采集系统在使用环境、成本、体积等方面受到了限制, 针对这些特点设计的大气数据采集系统选取了大气静压以及大气动压两个参数作为主要输入参数, 输出气压高度值、指示空速、真实空速[5], 其系统原理图如图1所示.

图 1 大气数据采集系统原理框图

1.1 气压高度测量的计算原理

小型无人旋翼机的飞行高度较低(小于11 km), 飞行速度比较慢, 一般在对流层下层进行飞行, 因此利用大气压力与飞行器高度变化密切相关的特性来测量飞行高度是一种可行的方法. 可以按照以下的计算公式对气压高度进行计算[6].

当0≤H≤11 km时, 大气压力和高度的关系可表示为:

${H_P} = \frac{{{T_0}}}{\tau }\left[ {{{\left( {\frac{{{P_H}}}{{{P_0}}}} \right)}^{ - \frac{{R\tau }}{g}}} - 1} \right]$ (1)

式中, Hp代表气压高度, 单位为m; PH代表小型无人旋翼机所在高度的大气静压, 单位为kPa; 大气静压P0=101.325 kPa(标准大气状态下海平面处); 温度T0=288.15 K(标准大气下海平面处); 气温垂直递减率τ =–6.5×10–3 K/m; 标准自由落体加速度g=9.8 m/s2; 空气专用气体常数R=287.052 87 m2/s2·K.

把查资料所得的标准大气数据代入式(1)得:

$ {H_P} = 44\;330.76\left[ {1 - {{\left( {\frac{{{P_H}}}{{101.325}}} \right)}^{0.190\;392}}} \right] $ (2)

由式(2)可以看出如果我们直接在F28335中利用这个公式对气压高度值进行计算显得比较复杂, 会拖慢系统的运算速度, 不利于系统数据传输的实时性, 所以在本系统中将采用线性插值的方法对其进行处理.

1.2 指示空速和真实空速的测量原理

通过小型无人旋翼机飞行时大气数据采集系统测量得到的动压Pd经过式(3)解算得到指示空速.

${v_i} = 1225.08\sqrt {5\left[ {{{\left( {1 + \frac{{{P_d}}}{{101.325}}} \right)}^{\frac{2}{7}}} - 1} \right]} $ (3)

式中, vi为指示空速, 单位为km/h; Pd为动压, 单位为kPa.

在操控小型无人旋翼机时飞行的高度不同, 小型无人旋翼机周围的环境具有较大的差异, 大气数据采集系统测得的指示空速并不能完全代表小型无人旋翼机的实际速度, 所以通过式(4)对指示空速进行一定的换算修正得到真实空速.

${\nu _H} = {\nu _i}{\left( {1 - \frac{{0.0065}}{{{\rm{288}}{\rm{.15}}}}{H_p}} \right)^{{\rm{ - }}2.126}}$ (4)

式中, vH为真实空速, 单位为km/h.

由式(3)和式(4)可知指示空速和真实空速的解算公式一样比较复杂, 直接运算会占用较多的系统资源, 同理, 将对其采用线性插值的方法进行处理.

2 系统的硬件设计

为了满足小型无人旋翼机大气数据采集系统的体积小, 功耗低, 抗干扰能力强等要求, 设计出的大气数据采集系统的原理框图如图2所示. 传感器将采集到的模拟信号经过放大电路放大调理之后进行AD转换, 将模拟信号转换为数字信号, 传入到DSP的解算模块中, 求其平均值并利用线性插值算法解算出设定好的参数值, 滤波之后通过串口通讯将解算得到的参数值进行输出.

图 2 大气数据采集系统硬件框图

2.1 数据采集模块

根据小型无人旋翼机的飞行需求, 对小型无人旋翼机所需要参数计算原理进行析, 本大气数据采集系统需要两个绝压传感器以及两个差压传感器. 根据大气数据采集系统的设计和实际需求, 绝压传感器选取了基于高度集成的MS5803高分辨率数字式气压传感器[7], 该传感器包括高线性度的压力传感元件和超低功耗的24位模数转换电路, 具有体积小, 价格低, 功耗低(1 μA), 分辨率高(10 cm)等优点, 带有SPI和I2C两种接口, 通讯协议较为简单, 在实际应用中可以根据情况的不同选择不同的工作模式. MS5803传感器的内部结构如图3所示.

图 3 MS5803传感器内部结构图

差压传感器采用了具有高精度, 低成本, 低功耗等优点的4525DO数字式压力传感器[8], 该传感器内部采用了最新的CMOS传感器调节回路, 且支持SPI和I2C两种通信方式, 可选侧面或正面引压, 有多种贴装方式, 具有完全校准和温度补偿功能, 工作电压较小(直流恒压3.3 V或者5 V), 其精度总误差带为0.25%, 内部结构如图4所示.

图 4 4525DO传感器内部结构图

2.2 中央处理器

TMS320F28335[9]实物如图5所示, 集成了DSP和微控制器的长处, 具有强大的数字信号处理功能, 且具有丰富的外设模块, 具有精度高、功耗低等优点, 价格较为低廉, 适用于低成本的小型无人旋翼机. 高性能的静态CMOS技术使得F28335的主频最高能达到150 MHz(6.67 ns时钟周期), CPU具有IEEE-754单精度浮点单元, 能够快速中断响应保护关键的寄存器和处理外部异步事件, 支持动态锁相环比率变化, 低功耗模式和省电模式能够极大的节省系统的资源, 能够适应较为严苛的运行环境.

2.3 电源模块

本系统采用AC-DC降压稳压电源模块, 将220 V电源转换为5 V(±0.2 V)为F28335进行供电. 鉴于本系统选择的芯片是浮点型DSP, 所以为了实现系统的稳定运行, 需要选择一款功率大且驱动负载能力强的非线性电源芯片, 根据TI公司的手册选择TPS767D301, 5 V的电压输入, 3.3 V和1.9 V同时产生, 3.3 V供给IO, 1.9 V供给内核[10].

图 5 F28335实物图

3 系统的软件设计

系统的软件设计主要包含对系统的初始化, 数据的采集, A/D转换, 数据的处理以及串口通信的设计. 系统的初始化包括对F28335芯片的各个端口, 时钟, 串口以及寄存器进行初始化; 数据的采集是对小型无人旋翼机所在高度的气压进行采集转换成模拟信号, A/D转换是将模拟信号转换为数字信号; 数据的处理是对采集的数据进行压力补偿、小型无人旋翼机所需参数的计算[11]和数据滤波[12-14]. 主程序流程图如图6所示.

3.1 系统的工作流程

TMS320F28335和传感器之间通过I2C总线进行同步通信. 当进行数据传输时, 每个连接到I2C总线的器件都具有唯一的识别地址且可以实现发送或接收功能. 当SCL为高电平时, SDA信号由高电平转为低电平, 主机输出START信号, 表示数据传输开始; 当SCL为高电平时, SDA信号由低电平转为高电平, 主机输出STOP信号, 表示数据传输结束.

图 6 主程序流程图

当发出START信号I2C模块开始数据传输时, I2CMDR中的主模式位(MST)和START条件位(STT)必须置1.当发出STOP信号I2C模块结束数据传输时, STOP条件位(STP)必须置1. 当I2CSTR总线繁忙标志位(BB)和SST位都设置为1时, 产生重复START操作.

3.2 数据处理算法

利用软件和硬件的紧密配合, 一方面可以降低系统对硬件的要求, 另一方面可以提高系统的灵活性以及稳定性. 由上述的式(2)和式(3)可以看出, 小型无人旋翼机所需要的参数都是利用传感器所采集数据的单值函数, 但是其函数结构比较复杂, 如果直接用F28335进行计算的话, 会出现程序比较繁琐, 运算量较大等问题, 不利于系统对数据的实时解算, 因此为了提升系统的实时性, 在系统可以接受的误差范围内对原函数利用线性插值算法进行处理, 用一个较为简便的函数代替原来的函数, 如式(5):

$y = {y_i} + {k_i}(x - {x_i})$ (5)

式中, yi代表第i个插值气压高度的值(或指示空速的值); xi代表第i个插值点大气静压的值(或动压的值); ki代表插值线段的斜率. 而插值点的个数则可以由式(6)线性插值法的误差公式确定:

$\left| {{R_r}} \right| = \left| {\frac{{f''(\xi )}}{{2!}}(x - {x_i})(x - {x_{i + 1}})} \right| \le \delta ,(x < \xi < {x_{i + 1}})$ (6)

根据测量需要, 在确定所需要插值点个数之后, 可以得出各个插值点相对应的yi值和xi值以及插值方程线段的斜率ki, 然后存放到F28335的ROM中, 当采集转换的两组数据输入DSP时, 先将采集得到的数据求平均值, 然后与存储的数据进行比较, 确定其大致所在的分段, 然后将该分段对应的yixiki提取出来带入式(5)中计算, 得出一组数值进行滤波后输出, 输出的数值即为小型无人旋翼机所需要的数据.

4 实验结果分析

由于实验条件的限制, 采用模拟实验的方式对设计的数据采集系统进行验证.

对某教学楼1层到8层各楼层的气压高度值进行了测量, 测量综合结果如表1所示.

表 1 各层气压高度值(单位: m)

表1中可知测量的气压高度值和实际高度的误差不超过0.2 m, 符合无人旋翼机的操控要求.

空速利用风扇档数以及距离远近的调节来进行模拟测量, 同时使用GM8901+风速计测量风速作为参考数据, 该风速计的技术指标如表2所示.

表 2 GM8901+风速计技术指标

空速和温度测量得到的结果如图7图8图9所示.

经过多次测量, 在图7中测量得到的空速为7.5~8.5 m/s, 风速计测量的到的风速为7.1~7.3 m/s; 图8中测量得到的空速为9.6~10.4 m/s, 风速计测量的到的风速为9.3~9.6 m/s; 图9中测量得到的温度为25.43~25.45 ℃, 温度计测量到的温度为27.03~27.07 ℃. 可以看出测量得到的数据和实际的误差较小, 能够满足无人旋翼机的操控要求.

图 7 一档模拟飞行的空速测量数值

图 8 二档模拟飞行的空速测量数值

图 9 温度测量数值

5 结语

在分析了小型无人旋翼机需求的基础上, 基于TMS320F28335和MEMS传感器设计的小型双采集装置大气数据采集系统测量高度误差在0.2 m以内, 空速误差在1.5 m/s以内, 温度误差在2 ℃以内, 基本能够满足小型无人旋翼机的操控要求, 并具有体积小, 功耗低等优点, 为小型无人旋翼机大气数据采集系统在实际中的应用做了一定的理论工作.

参考文献
[1]
郝春杰. 无人驾驶自转旋翼机控制技术研究[硕士学位论文]. 南京: 南京航空航天大学, 2011.
[2]
朱菲菲. 小型无人机大气数据测量系统设计[硕士学位论文]. 西安: 西安电子科技大学, 2014.
[3]
刘书选, 马亚军, 王伟. 一种多通道高精度数字化传感器变换装置设计. 计算机测量与控制, 2016, 24(6): 326-329.
[4]
郝旭耀. 无人机的大气数据处理计算系统研究与设计[硕士学位论文]. 上海: 上海应用技术学院, 2015.
[5]
王军强, 来新泉, 朱明英. 基于DSP的小型飞行器大气数据测量系统设计. 弹箭与制导学报, 2008, 28(1): 327-328, 332. DOI:10.3969/j.issn.1673-9728.2008.01.096
[6]
赵祥飞, 赵怀林, 朱纪洪. 一种微型大气数据计算机的研究与设计. 计算机测量与控制, 2013, 21(12): 3337-3339, 3342. DOI:10.3969/j.issn.1671-4598.2013.12.056
[7]
Measurement Specialties. MS5803-01BA Miniature variometer module. Datasheet, 2017. 1–3.
[8]
Measurement Specialties. MS4525DO. Datasheet, 2019. 1–4.
[9]
TI. TMS320F28335/28334/28332 Digital Signal Controllers (DSCs) data manual. 2008. 11–59.
[10]
任鑫, 李泓锦. 基于TMS320F2812的数据采集系统的设计. 北华航天工业学院学报, 2017, 27(1): 21-22. DOI:10.3969/j.issn.1673-7938.2017.01.007
[11]
尤焜, 雷彪. 基于TMS320F2812与AD7610的数据采集传输系统设计. 电子测试, 2018(7): 35-37. DOI:10.3969/j.issn.1000-8519.2018.07.015
[12]
Ben-Moshe B, Shvalb N, Gozlan K, et al. Long-range and energy-efficient optical networking for tiny sensors. Wireless Networks, 2019, 25(3): 2375-2392.
[13]
Nooralishahi P, Loo CK, Shiung LW. Robust remote heart rate estimation from multiple asynchronous noisy channels using autoregressive model with Kalman filter. Biomedical Signal Processing and Control, 2019, 47: 366-379. DOI:10.1016/j.bspc.2018.09.007
[14]
Lee D, Shim DH. A mini-drone development, genetic vector field-based multi-agent path planning, and flight tests. International Journal of Aeronautical and Space Sciences, 2018, 19(3): 785-797. DOI:10.1007/s42405-018-0052-0