完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人使用的设备/驱动:
本文直接从项目中加入相关功能说起,环境以及其他外设配置: CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, CubeMX配合PlatformIO开发STM32, 正文 耳熟能详pid: 设计方便 不需要知道被控对象的传递函数 只需要调整参数,可以很好的控制很多的系统 在控制系统中,pid作为控制器,根据需求角度和实际角度的角度差,控制过程电机以一定速度转动,来跟随需求角度。 PID的连续函数: 因为要在计算机中实现,所以要进行离散化: 因为main算法以200Hz的频率刷新,所以delta_t可以求出,I和D直接整合进I和D进行调整即可 #define cutoff_coefficent ((float)1/(2*MATH_PI*30.0f)) #define delta_t ((float)SYSTEM_PERIOD*0.001) static float pitchPPara = 130.0; static float pitchIPara = 1.0; static float pitchDPara = 10.0; static float rollPPara = 130.0; static float rollIPara = 1.0; static float rollDPara = 10.0; static float yawPPara = 80.0; static float yawIPara = 0.0; static float yawDPara = 8.0; float PID_Motor1(float actAngle, float expAngle) // return electric angular speed { static float expAngle_old = 0.0, et = 0.0, et_pre = 0.0, et_sum = 0.0, et_diff = 0.0,et_diff_last =0, dpid = 0.0; static float dP = 0.0, dI = 0.0, dD = 0.0; et = actAngle - expAngle; //error dP = rollPPara * et; // et_sum += et; dI = rollIPara * et_sum; et_diff_last=et_diff; et_diff = et - et_pre; // low-pass filter et_diff = cutoff_coefficent / (cutoff_coefficent + delta_t) * et_diff_last + delta_t / (cutoff_coefficent + delta_t) * et_diff; et_pre = et; dD = rollDPara * et_diff; dpid = dP + dI + dD; return dpid; } 在实验中发现信号的噪声会使D参数的波动较大,影响控制的性能,所以增加了一个低通滤波器。 其中,截止频率选择为30rad/s,因为通过建模,得出系统的wn大约是22rad/s。 |
|
|
|
只有小组成员才能发言,加入小组>>
3314 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9059 浏览 16 评论
4088 浏览 18 评论
1179浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:44 , Processed in 1.046174 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号