[项目]基于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调节:

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

经调节合适参数如下:

三.总结

相关推荐
KOAN凯擎小妹13 小时前
无源晶振为什么有串联谐振和并联谐振?MCU为什么使用并联晶体?
单片机·嵌入式硬件·晶振·元器件
茯苓gao14 小时前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车
木木_王14 小时前
嵌入式学习 | STM32 裸板驱动开发(Day06) | DHT11温湿度传感器超详解(单总线时序+全套驱动代码+智能温湿度报警项目)
驱动开发·stm32·学习
论迹复利15 小时前
蓝牙 OTA 升级断连、升级失败底层链路问题定位
嵌入式硬件·安全·bt
振南的单片机世界16 小时前
3.5T静默分帧,CRC16校验:Modbus-RTU帧结构解析
arm开发·stm32·单片机·嵌入式硬件
LingzhiPi16 小时前
零知派ESP32--AS5600磁吸旋钮音量控制器
c++·单片机·嵌入式硬件
尼喃16 小时前
42V热拔插认证过压保护芯片:70V耐压+响应<1μs+可调OVP+SOT23-6
嵌入式硬件
0x3F(小茶)17 小时前
STM32 SPI的5种方向模式
c语言·stm32·单片机·嵌入式硬件
BSD_CGQ18 小时前
FSR压力传感器信号调理电路设计要点
单片机·嵌入式硬件·压力传感器·源头工厂·薄膜压力传感器
爱就是恒久忍耐18 小时前
CanFestival移植到STM32 F103芯片(基于HAL库)
stm32·单片机·嵌入式硬件