APM 飞控系统介绍 APM 飞控系统是国外的一个开源飞控系统,能够支持固定翼,直升机,3 轴,4 轴,6 轴飞行器。在此我只介绍固定翼飞控系统。 APM 飞控系统主要结构和功能 组成 功能 飞控主芯片 Atmega1280/2560 主控芯片 PPM 解码芯片 Atmega168/328 负 责 监 视 模 式 通 道 的pwm 信号监测,以便在手动模式和其他模式之间进行切换。提高系统安全 惯性测量单元 双轴陀螺,单轴陀螺,三轴加速度计 测量三轴角速度,三轴加速度,配合三轴磁力计或gps 测得方向数据进行校正,实现方向余弦算法,计算出飞机姿态。 GPS 导航模块 Lea-5h 或其他信号 gps 模块 测量飞机当前的经纬度,高度,航迹方向(track),地速等信息。 三轴磁力计模块 HMC5843/5883 模块 测 量 飞 机 当 前 的 航 向(heading) 空速计 MPXV7002 模块 测量飞机空速(误差较大,而且测得数据不稳定,会导致油门一阵一阵变化) 空压计 BMP085 芯片 测量 空气压力,用以换算成高度 AD 芯片 ADS7844 芯片 将三轴陀螺仪、三轴加速度计、双轴陀螺仪输出温度、空速计输出的模拟电压转换成数字量,以供后续计算 其他模块 电源芯片,usb 电平转换芯片等 飞控原理 在 APM 飞控系统中,采用的是两级 PID 控制方式,第一级是导航级,第二级 是 控 制 级 , 导 航 级 的 计 算 集 中 在 medium_loop( ) 和 fastloop( ) 的update_current_flight_mode( )函数中,控制级集中在 fastloop( )的 stabilize( )函数中。导航级 PID 控制就是要解决飞机如何以预定空速飞行在预定高度的问题,以及如何转弯飞往目标问题,通过算法给出飞机需要的俯仰角、油门和横滚角,然后交给控制级进行控制解算。控制级的任务就是依据需要的俯仰角、油门、横滚角,结合飞机当前的姿态解算出合适的舵机控制量,使飞机保持预定的俯仰角,横滚角和方向角。最后通过舵机控制级 set_servos_4( )将控制量转换成具体的pw m 信号量输出给舵机。值得一提的是,油门的控制量是在导航级确定的。控制级中不对油门控制量进行解算,而直接交给舵机控制级。而对于方向舵的控制,导航级并不给出方向舵量的解算,而是由控制级直接解算方向舵控制量,然后再交给舵机控制级。 以下,我剔除了 APM 飞控系统的细枝末节,仅仅将飞控系统的重要语句展现,只浅显易懂地说明 APM 飞控系统的核心工作原理。 一,如何让飞机保持预定高...