一种基于DE1—SOC的四轴飞行器系统设计
2017-04-13魏洋梁伟
魏洋+梁伟
摘 要: 利用软硬件协同设计思想,本文设计了基于DE1-SOC的四轴飞行器系统。DE1-SOC是 Altera公司的一款高性能嵌入式微处理器,集成了 ARM Cortex-A9和 FPGA 的双核资源。在进行四轴飞行器系统设计时,对硬件平台和功能任务进行合理的规划,充分发挥DE1-SOC软硬件协同设计的优势。一方面利用 ARM 核执行灵活度较高的运算任务,包括飞行器飞控程序,飞行器的姿态解算和电机控制信号输出等 ;另一方面利用 FPGA 核实现基本逻辑和高速接口,包括遥控器信号解码、传感器数据接口以及电机控制等。为四轴飞行器的研发提出一种新思路。
關键词:FPGA 四轴飞行器
中图分类号:TP249 文献标识码:A 文章编号:1003-9082(2017)02-0285-01
一、飞行器系统硬件平台设计
整个四旋翼飞行器的飞控系统由集成控制中心 ARM 和逻辑中心 FPGA 的DE1-SOC组成。ARM、FPGA、存储器以及其他各种通信接口均连接在片内的总线上,其中 ARM是飞控系统浮点数计算与资源管理的处理系统(Processing system,PS),完成传感器数据滤波、四元数解算、姿态数据输出、PID 控制等任务 ;FPGA 是飞控系统外部数据接口的可编程逻辑(Programmable Logic,PL),将完成特定功能任务的模块进行 IP 核定制,并挂接在 AXI 总线上,完成传感器数据读取、遥控信号解码以及电调信号输出等任务,为系统的实时性控制提供有力保障。飞控平台有丰富的外设资源,IIC 模块用于姿态传感器的数据接口 ;核心模块由运算处理能力更强的ARM部分实现,包括飞控主程序模块与无线数据传输模块等;PL 与 PS 之间的信息传递通过高速总线实现。遥控器信号经解码后送到 PL 中,飞控系统根据解析出的遥控器指令对飞行姿态进行调整。六轴传感器 MPU6050与 PL 相连,IIC模块实现对传感器数据的读取,然后通过总线将数据送到ARM的飞控系统中进行姿态解算等。飞控系统根据对传感器数据处理的结果以及 PID 控制器调节作用,产生4路 PWM 占空比信息,通过总线分别传给各 PWM 波产生模块,最终产生4路 PWM 控制4路电机的转速,以调整飞行器的飞行姿态。
二、飞控系统软件程序设计
飞控系统的核心算法程序运行在 ARM 内核中,主要完成飞行器的姿态解算,以及控制命令与 PID 控制器对运动进行控制.飞控系统上电后进行初始化,初始化完成后等待定时器中断,定时器中断周期是2ms。定时器中断到来后,首先进行加速度计和陀螺仪的零偏校准,然后等待遥控器指令 ;判断遥控器是否发出飞行指令,若发出起飞指令,则飞控主程序解锁,进入飞控主程序中 ;否则返回,等待下一次中断。飞控主程序解锁后,首先进行传感器数据的读取,对传感器数据进行卡尔曼滤波、修正等 ;修正后的 MPU6050传感器数据,利用四元数法进行俯仰角(pitch)和横滚角(roll)的解算,利用基于磁力计倾斜补偿的偏航角算法进行偏航角(yaw)的解算;解算出的三个姿态角与设定的值进行作差比较,在下一次中断时,通过 PID 控制算法调整输出油门的大小,即输出四组新的 PWM波参数,结束当前控制周期,跳出中断,等待下一次中断。输出的 PWM 波信号控制 PWM 波模块产生相应的 PWM 波,驱动电机控制旋翼的转速,进而实现对飞行姿态的调整。