摘要:本文依据四旋翼飞翔器的作业原理和功能特色,给出了飞翔器操控体系规划方案,进行了姿势和高度数据收集的软件规划,并依据卡尔曼滤波算法完成了传感器数据交融,规划了PID操控器并完成了软件完成。试验结果表明,该操控体系能够安稳牢靠运转,具有较强的鲁棒性。
导言
四旋翼飞翔器是一种具有6个自由度和4个操控输入的体系,能进行笔直起降、悬停、前飞、侧飞和倒飞等运动。其与直升机不同之处在于它通过4个旋翼发生能够彼此抵消的反扭力矩,因而不需求专门的反扭矩桨。被广泛应用于无人侦查、森林防火、灾情监测、城市巡查等范畴。而且跟着现在开展情况,四旋翼飞翔器首要长处有: (1)具有简略的机械结构; (2)飞翔姿势安稳。一起飞翔操控体系通过传感器收集飞翔姿势数据,实时监测和操控飞翔姿势,能够使飞翔器坚持平稳飞翔。比较传统单旋翼直升飞机,四旋翼飞翔器的飞翔更为安稳。
1 体系硬件结构
1.1 飞翔器的原理以及机械结构
四旋翼飞翔器的根本结构如图1所示,四旋翼飞翔器的4只旋翼装置于十字形机体的4个极点方位,分为顺时针旋转(1、3) 和逆时针旋转 (2、4)2组,当4只旋翼转速持平时,彼此间抵消反扭力矩;一起添加或减小4只旋翼的转速可完成上升或下降运动;当1号与3号旋翼转速添加(减小),2号和4号转速不变,飞翔器完成偏航;当1号和3号旋翼转速固定,2号旋翼转速添加(减小),4号旋翼转速减小(添加),飞翔器完成向左(向右)飞翔;当2号和4号旋翼转速固定,1号旋翼转速添加(减小),3号旋翼转速减小(添加),飞翔器完成撤退(行进)飞翔。
1.2 硬件渠道全体规划方案
硬件的挑选对操控体系的功能有很重要的影响,一个杰出的硬件调配会极大地进步操控体系的安全性、安稳性和准确性等各项功能指标。
如图2所示为本次研讨所用飞翔器的实践结构框图。由上位机或遥控手柄承受指令,操控芯片通过超声波模块获取高度信息,再通过MPU6050获取姿势信息以及加速度信息,通过数字PID操控器核算得到操控量,再通过操控芯片处理,向电调宣布对应于操控量的PWM波,改动电机的转速。
1.2.1 I2C总线
对MPU6050的操控与数据的读写首要通过I2C总线方式。I2C结构简略,仅需求两根线(SCL时钟操控线,SDA数据传输线)即可完成对芯片的操控与数据读取,而且每个芯片都有其独立的辨认地址。在本试验中,由于只要一个MPU6050,且只要它运用的是I2C总线,因而,只需求设置其作业在从发送形式即可。
关于STM32F103RBT6单片机而言,其硬件I2C接口极不安稳,容易发生数据过错和堕入死循环中,导致程序溃散跑飞。因而,本试验通过设置一般GPIO接口进行模仿I2C与MPU6050进行通讯。
1.2.2 对飞翔器全体的操控
对飞翔器的操控首要有三个部分。首要是对无刷直流电机的操控,在这里首要表现为PWM波的发生与调理。另一部分是对惯导体系信息的收集与读取,以及高度信息的获取。最终一部分便是怎么处理上位机与遥控手柄发来的指令,即操控流程怎么完成。
2 操控体系的软件规划
2.1 对无刷直流电机的操控
对无刷直流电机的操控首要有两个方面,一方面是通过PID算法得到操控量,另一方面是依据操控量输出相应的PWM波。
别的,在对无刷电机的驱动问题上,通过实践调试发现,首要需求对电调输入最高电压,电调对PWM信号的辨认需求一段时刻,之后再对电调输入最低电平才干完成PWM波调理规模的设定。
2.1.1 依据PID操控器的PWM波操控量的核算
实践上,信号的传递并不一定是接连的,比如在本试验中,信号的读取是依据操控守时器决议读取数据时刻距离的。因而,本规划为数字式PID操控器。
在实践编程中,运用离散型PID操控算法完成,详细表达式经简化表明为:
其间AUK为输出的操控量,KP、KI和KD为PID的三个参量,但需实践飞翔时进行调整。EK为设定值与本次采样值的差值;EK_1为设定值与上一次采样值的差值;EK_2为再上一次的设定值与采样值的差值。
图3所示为详细程序流程框图。其间针对不同的PID操控器,如俯仰PID操控器与横滚PID操控器的不同点仅在于“操控量输出”部分。从操控量到电机输入电压的转化这一部分涉及到操控量的分配问题。由于针对每一个操控信号,以“phi_ctrl_in(横滚操控输入)”为例,横滚角的操控量与2号电机和4号电机的输入电压相关,即该操控量的巨细会改动两个电机的输入电压的巨细。因而,一个操控量的改动会影响整个飞翔器的飞翔姿势,通过反应后,会带动其他操控回环进行操控。即这四个操控量之间的耦合性很高。因而,在这里进行操控量分配。
通过重复调试后,得到一组最理想的PID参数。横滚角phi操控器PID参数为:Kp=0.15,Ki=0,Kd=0.02;
俯仰角theta操控器参数: Kp=0.2,Ki=0,Kd=0.03;
偏航角psi操控器参数:Kp=1.1,Ki=0,Kd=0.4;
高度height操控器参数:Kp=6,Ki=0.2,Kd=2;
x轴方向加速度PID操控器参数:Kp=7,Ki=1.0,Kd=0;
y轴方向加速度PID操控器参数:Kp=6,Ki=1.0,Kd=0。
2.1.2 PWM波调速
本试验所用四旋翼飞翔器硬件渠道选用无刷直流电机,运用电子调速器作为驱动模块。操控的中心办法为向电调宣布PWM波,通过操控PWM输出的占空比来改动电机的操控电压,完成对电机转速的操控。PWM波通过主控芯片发生。本文运用的主控芯片为STM32F103RBT6,它通过装备守时器作业在PWM形式下,关于通用的守时器,能够独登时一起宣布四路PWM波,完全能够满足本试验的要求。
硬件完成上,运用守时器4输出四路PWM波信号。使守时器4作业在复用形式下,对应的外部端口为:PB6、PB7、PB8和PB9,他们别离衔接1号、2号、3号和4号电机的信号操控线。
在对守时器4的装备上,首要翻开守时器4的时钟RCC_APB1Periph_TIM4,以及对应PB端口的时钟RCC_APB2Periph_GPIOB。由于守时器4为通用守时器,可进行16位主动重装载计数。运用的是单片机的固定频率72M的时钟信号,但能够通过改动预分频寄存器里的值,改动计数时钟频率。本试验中设定为72-1;设置波形周期TIM_Period计数上限为2000,为向上计数形式。装备TIM_OCMode为PWM1形式(即TIM脉冲宽度调制形式1),使能四个比较通道。之后装备输出端口,将端口设置为50MHz复用推挽输出。最终翻开使能守时周期TIM_Cmd(TIM4, ENABLE)即可开端作业。通过比较TIM_Period中的值与寄存器TIM4_CCRx中的值能够输出不同占空比的波形。
通过实践试验发现,只要当设定值为1050以上时,电调才干辨认出电压信号,即只要当占空比大于50%时,电调才会认可输出PWM波信号。因而,对电机的占空比调理规模为:1050/2000~2000/2000;当设定值为1050时,电机刚开端旋转,当设定值为2000时,电机到达最高转速。为了避免TIM4_CCRx中的值超越计数上限,也为了操控电机的最高转速,在向TIM4_CCRx写入转速操控变量行进行限幅滤波,使其写入值一直在牢靠规模内。
本文来源于我国科技期刊《电子产品世界》2016年第9期第48页,欢迎您写论文时引证,并注明出处。