专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
关于运用PID遇到的一点问题,望大神路过救救小白,纠结3天了,没有一点进展。。。
2019-08-14 16:53
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
7147
7
1509
如题
,我在做关于吹帆板实验的过程种需要闭环控制,就是实现按键输入一个角度用空心杯电机吹动帆板达到指定角度。所以需要PID算法。我用的是一套网上找的增量式PID算法,我在实际操作过程中发现,PID算法对于我的设定值没有反应,输出的PWM波感觉根本没有进入算法
(跟想象的不太一样)。传感器模块用的mpu6050,用的原子哥的例程,板子是stm32f103zet6,希望各位大佬指点一二,在此感激不尽
!下面附上完整程序,主要问题就是在主函数里的PWM输出和PID。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
学霸君
1楼-- · 2019-08-14 21:03
首先分别把P,I,D,3个参数分别单独作用,同时用屏幕显示当前值与PID单独调节后的值,看看每个参数是否有反应。还有,你的PID的3个参数设置太小,你原始值是什么数据?还有,我看你的设定值是一个KEYstar()函数,而你的实际值是一个Temp/10定值,最好改一下,不然方向会反。最后再查一下你这个函数KEYstar()的返回值类型,看看是否为float类型。
PID调节是件很蛋疼的事情,任重而道远。
加载中...
我不想说
2楼-- · 2019-08-15 01:03
自己顶一下,希望不要沉
加载中...
我不想说
3楼-- · 2019-08-15 05:16
真的沉了吗,5天了 好心大神带带小白,谢谢啦!
加载中...
学霸君
4楼-- · 2019-08-15 07:24
最后,你用的是增量式的,而的PID调节后的值又直接赋值给了定时器,而你的PID三个值又太小,我不太清楚你的KEYstar()函数返回值有多大。而你的PID只是与你的两次之间的变化大小来决定的,你先试试把P调大,I,D值给0,然后把外界改变KEYstar()函数测得的值,看看你电机转速时候有变化。如果有,那应该是你PID参数整定有问题。
加载中...
我不想说
5楼-- · 2019-08-15 08:33
精彩回答 2 元偷偷看……
加载中...
我系林峯
6楼-- · 2019-08-15 10:16
老哥 能把搞出来 的程序发下吗 急需 谢谢啊啊
加载中...
1
2
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一周热门 更多>