航拍的软硬件常识,你都知道哪些?
App包括飞控内部的App和地面站的App。
飞控内部App是飞控的灵魂,如果只有硬件只是电子垃圾。
一谈到App很多朋友就是讨论使用ucos、linux等等的操作系统。其实作为飞行控制这种实时性要求很强的控制系统,不一定要采用操作系统。使用操作系统对硬件和时序的控制能力降低,CPU的有效使用率降低,对内存的需求增加。在UP10和UP20中都没有采用操作系统。
UP10完成了传感器数据采集,GPS信息获取,接收机信号获取,舵机控制,与地面站通讯,飞行控制率计算,导航控制,任务控制等所有功能。其中舵机控制和接收机信号获取拥有最高的优先级,与地面站的通讯优先级最低,合理处理CPU的优先级问题能够避免CPU控制时序的混乱和相互的干涉问题。
对于飞行控制方法问题上取决于获取的数据。如果只是简单获得了飞机的角速率和加速度计信号等原始数据,控制方法只能采取某些飞控采取的间接姿态控制方法,也就是说在俯仰控制上采用控制空速的方法,角速率只用于阻尼增稳作用;在方向控制上采用转弯角速率控制方式。控制外环是高度和GPS导航航向。这种控制方法得到的飞机控制精度不算很好,特别是高度容易出现波动。但是控制了飞机的稳定的最核心,所以飞行还算是安全的。
如果能够采取一些计算方法获取飞机的姿态角,pitch,roll,heading,那么控制方法就变为姿态控制了。采用姿态控制时,内环变成了副翼控制飞机的转弯坡度和升降舵控制飞机的俯仰角度(加一定的限制)。这种控制是飞机最正确的控制方式,因此其控制精度是相当高的,稳定性也增强很多。但是这种计算方法很复杂,都是浮点数矩阵运算,对CPU的运算能力要求很高,所以需要引入ARM、DSP等32位浮点运算能力很强的处理器。UP20中增加了ARM专门用于飞行姿态计算,并将计算出来的姿态数据交给UP10,而UP10原来的功能丝毫不受影响。如果全新设计飞控则UP10前面所进行的所有飞行试验就白费了。
PID控制内环通常采用20Hz以上就足够了,外环通常4——6Hz就足够了,再快已经没有多大的意义。对于PID参数最好能够通过与地面站的无线通讯实现,这对于飞行时的PID参数调整会带来极大的方便,尽量减少飞机的起落次数。
在编制与地面站的通讯程序部分,一定要考虑到无线通讯的误码率问题,所有上下行数据必须都要加以校验,特别是飞行航点数据这些重要数据要反复校验,一旦错误将会将飞机导航到不可知的方向。
导航逻辑一定要严谨,对于可能出现的一些问题要提前考虑到。
对于可能出现的GPS丢星,发动机停车,飞机机体解体,遥控失灵等问题要考虑补救措施。
舵机的反舵设置,不同布局的混控设置等最好在飞控中都能实现。
对于地面站App,要考虑到方便、实用、可靠,美观是其次的。其实要设计一个好的地面站也是需要经验来支撑的。
这个地面站App应该考虑到如下功能:
· 地面站App集成化
· 可以支撑多种地图:电子地图,扫描配准地图,自定义地图
· 飞行仪表(空速,地平仪,高度,转速,罗盘,升降率)
· 传感器数据监测
· 飞行中实时PID调节:地面站实时监控飞行数据,并动态显示数据曲线,实时修改PID增益参数
· 飞行中可以设定目标航点
· 可以实时操作任务舵机位置,操作和显示任务IO口
· 可使用地面站远程控制飞机飞行
· 图形化方便灵活的航点编辑方式(包括制式航线):可以直接在地图上使用鼠标增加、删除航点,可以直接拖动编辑所选择的批量航点,可以手动修改航点数据。支撑单点和所有航点上传和下载。
· 调整舵机旋转方向和中立值
· 记录遥测数据
· 显示飞机的飞行轨迹和姿态
· 危险告警(电压、温度、GPS状况、发动机转速、高度、爬升率等)
· 回放飞行数据
数传电台的选择不要一味的追求发射功率,可以通过好的增益天线来获得远距离的传输,飞机上数传的安装要避免对舵机、遥控接收机、飞控内部的传感器造成干扰。
试飞前的准备工作要做充分,遥自控切换要切实可靠(调试初期出现任何问题要能及时切换到遥控状态),准备好试飞计划,做好飞行前检查,做好飞行后总结,由简到难,逐步实现自动控制。