[项目]基于FreeRTOS的STM32四轴飞行器: 十五.PID参数调节

基于FreeRTOS的STM32四轴飞行器: 十五.PID参数调节

一.飞行方向的控制

因为在函数调用中已经将外环输出设置为内环期望值,所以在函数中不用设置。

如果需要向前后飞,设置期望值为:

pitchPID.desire = (joyStick.PIT - 500) * 0.04;

乘以0.04后该飞行角度最大值为20度。

如果需要向左右飞,设置期望值为:

rollPID.desire = (joyStick.ROL - 500) * 0.04;

如果需要转向,设置期望值为:

yawPID.desire = (joyStick.YAW - 500) * 0.04;

二.PID参数调节

先调内环P再调外环P,如果有震荡再调节内环D不行再调外环D,都做完后有稳态误差再调节内环I,再调节外环I。
俯仰角PID调节:

调节时将无人机绑在调节架上观察飞行状态,因为和重力相比较PID不足以完全恢复原先状态,现象为缓慢往下掉 ,出现这种现象证明内环P调节完毕。

先设置内环为1观察极性。

观察发现在飞机下落时有阻止趋势,极性正确。

如果设置极性相反, 在松开飞机时飞机会转圈。

因为在这时即使油门值为0,因为PID的作用飞机还在转,需要在代码中添加油门值判断关机。

根据现象一直增大内环P值观察现象,直到缓慢下降。

再来调节外环P值,该值调节俯仰角角度 使角度为0,观察发现极性相反

在增大值为-5.0时,发现飞机有震荡现象

修改内环D值抑制震荡 ,增大内环P值加快恢复速度


横滚角PID调节:

将机头换一个方向绑在调节架上。

横滚角和俯仰角值差不多,观察发现极性相反调节参数为:

偏航角PID调节:

先确定极性,如果极性对给予转动会缓慢回到起始位置,观察发现极性相反。

经调节合适参数如下:

三.总结

相关推荐
沐欣工作室_lvyiyi15 小时前
基于无线互联的电源健康监测与控制系统设计(论文+源码)
stm32·单片机·毕业设计·电源健康监测
@good_good_study15 小时前
STM32 ADC单通道采样函数及实验
stm32·单片机
田甲16 小时前
【STM32】基于TPS61165芯片的LED驱动电路
stm32·单片机·嵌入式硬件
d111111111d16 小时前
STM32得中断服务函数,为什么不能有返回值
笔记·stm32·单片机·嵌入式硬件·学习
CS Beginner16 小时前
【单片机】GPIO位结构图解析
单片机·嵌入式硬件
时光の尘16 小时前
嵌入式面试八股文(十九)·裸机开发与RTOS开发的区别
linux·stm32·单片机·iic·rtos·spi
袖手蹲16 小时前
Arduino UNO Q 烘托圣诞节气氛
人工智能·单片机·嵌入式硬件
电子工程师-C5116 小时前
基于51单片机的64位流水灯
单片机·嵌入式硬件·51单片机
d111111111d16 小时前
连续形式PID和离散PID-详情学习-江科大(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
电气_空空16 小时前
基于 PLC控制机械手臂取放料的系统设计
人工智能·嵌入式硬件·毕业设计