基于 RISCV 四轴飞行器实验
基于 RISCV 四轴飞行器实验
项目名称:基于蜂鸟——四轴飞行器实验
项目介绍:本项目基于 perf_v 开发板(蜂鸟核)实现四轴飞行器的飞控板的设计,采用 pid 算法调整姿态控制,主要用到 spi、iic、pwm 等外设。
一、四轴飞行器简介
1、四轴飞行器硬件结构:四轴飞行器硬件主要包括机架、电机、电调、螺旋桨、主控板、姿态传感器模块(主要包括陀螺仪、加速度计)、电池、电源板、遥控器与接收机、充电器等。
2、 四轴飞行器软件结构:四轴飞行器软件依赖于飞控板和摇控器。摇控器主要起到控制、通信等作用。飞行器的飞控板则需要完成控制、测量、通信等任务。飞控板需要编写的基本的程序包括驱动程序、控制程序、通信程序。驱动程序主要是控制板底层的一些驱动程序,也包括驱动电机以及其他外设的驱动程序;控制程序是整个系统的核心程序,主要包括姿态控制、高度控制等;通信程序主要包括飞控板与摇控器之间的通信等。
3、四轴飞行器的实现原理
四轴飞行器是在空气中飞行的飞行器。为了获得廉价的动力,它只能利用空气动力,不能像火箭一样飞行。所以四轴飞行器的动力、偏航的动作只能依靠与空气的作用来实现。如下图是四轴飞行器的力学简化图。
上图中的 F1、F2、F3和 F4的大小由桨的转速决定。转速越大力越大,转速越小力越小,这样通过控制四个力的大小变化就可以实现四轴飞行器的前进、后退、转向(偏航)和旋转。
二、PID 算法简介
PID 是一个闭环控制系统。
PID 控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快大惯性系统响应速度以及减弱超调趋势。
PID 控制器就是根据系统的误差(当前误差和期望误差),利用比例、积分、微分计算出控制量进行控制的。
比例 P 控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。
在积分 I 控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
在微分 D 控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,从而避免了被控量的严重超调。
三、陀螺仪 mpu6050
mpu6050 集成了 3 轴 MEMS 陀螺仪, 3 轴 MEMS 加速度计, 对陀螺仪和加速度计分别用了三个 16 位的 ADC,将其测量的模拟量转化为可输出的数字量。通过主 IIC 接口向应用端输出姿态解算后的数据。
四、NRF24L01
NRF24L01 是一款工作在 2.4~2.5GHz 世界通用 ISM 频段的单片无线收发器芯片。输出功率、频道选择和协议的设置可以通过 SPI 接口进行设置。可以实现点对点或是 1 对 6 的无线通信。无线通信速度最高可达到 2Mbps。