完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新概念:积分限幅。在物理量达到期望值之前防止误差积分越来越大使得没有稳定的反而作用相反了。而有了积分限幅之后在积分误差达到幅值的时候将会保持不变,其目的是让PID控制函数不会输出一个很大的值,这样就能让物理量稳定下来。从机 uint8_t start_flag = 0; uint8_t finish_flag = 0; uint8_t cnt = 0; uint8_t data_to_receive[2]; void UART4_IRQHandler(void) { //接收数据帧 if(start_flag == 1 && finish_flag == 0) { if (cnt < 2) data_to_receive[cnt++] = USART_ReceiveData(UART4); if (cnt == 2) finish_flag = 1; } //检测是否为帧头 if (start_flag == 0) { uint8_t start_byte = USART_ReceiveData(UART4); if (start_byte == 0xAA) start_flag = 1; } //检测帧尾 if (finish_flag == 1) { uint8_t finish_byte = USART_ReceiveData(UART4); if (finish_byte == 0x11 && cnt == 2) { finish_flag = 0; start_flag = 0; cnt = 0; int16_t data = *((int16_t *)data_to_receive); int pwm = (int)((data + 36.705882) / 2.111569); MotorRun(data, data); } } } 主机
初始图像 提取的数据 [tr]x(非占空量)y(rps * 100)[/tr]
函数方程表达式为:F ( x ) = 2.11156862745098 ∗ x − 36.70588235294107 F(x) = 2.11156862745098*x-36.70588235294107F(x)=2.11156862745098∗x−36.70588235294107 拟合误差:0.9995420363644586 0.99954203636445860.9995420363644586 PID调节(速度采样和控制间隔均为20ms) kp = 0.80, ki = 2.50, kd = 0.00, SetSpeed = 6.0 |
|
|
|
只有小组成员才能发言,加入小组>>
2443 浏览 0 评论
9131 浏览 4 评论
36808 浏览 19 评论
5033 浏览 0 评论
24793 浏览 34 评论
1545浏览 2评论
1766浏览 1评论
2213浏览 1评论
1571浏览 0评论
543浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 19:11 , Processed in 1.092083 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号