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

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

经调节合适参数如下:

三.总结

相关推荐
我是一棵无人问荆的小草3 小时前
stm32f103单片机的NVIC分组2介绍
stm32·单片机·嵌入式硬件
紫幽4 小时前
从 0 用 Vue 做屏并生成 LVGL 单片机代码(完整源码备忘)
前端·单片机
智者知已应修善业4 小时前
【51单片机数码管逐位显示1-8余位不亮】2024-10-23
c语言·经验分享·笔记·嵌入式硬件·51单片机
Be for thing6 小时前
【嵌入式成长3】STC89C51外部中断|中断原理、寄存器、中断服务函数
单片机·嵌入式硬件·学习
科芯创展7 小时前
1A,5.5VIN,同步升降压恒流芯片,XZ3442
单片机
恒锐丰-罗生8 小时前
率能半导体 SS6840 单通道 H 桥电机驱动芯片深度解析
驱动开发·嵌入式硬件·硬件工程
9稳8 小时前
基于PLC的小车运料装卸控制系统设计
开发语言·网络·数据库·单片机·嵌入式硬件
拾知_H9 小时前
STM32+FreeRTOS基础配置
stm32·嵌入式硬件·freertos
智购科技自动贩卖机9 小时前
自动售货机硬件主控方案选型实战:单片机、树莓派、ESP32怎么选?
人工智能·单片机·嵌入式硬件·物联网·网络协议·yolo·架构
LCG元10 小时前
STM32 多通道 ADC + DMA 采集实战:数据错位、读数跳动的根因与滤波选型
stm32·单片机·嵌入式硬件