专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
【原创】PID调试经验分享
2019-07-20 22:10
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
5120
10
1716
本帖最后由 cmz 于 2018-7-4 17:55 编辑
下面的PID调试经验完全是看文档和自己想的,也不知道这样对不对,分享出来的就是想虚心的请教各路大神指正,完善。后面我用这个经验做一些实际项目会继续发上来。
分享一个通俗易懂的PID文档,也是从本论坛下载的,不过这个我加入了书签。
由入门到精通-吃透PID2.0版.pdf
(1.43 MB, 下载次数: 402)
2018-7-4 17:41 上传 点击文件名下载附件
源代码
电机调速源代码.zip
(624.54 KB, 下载次数: 358)
2018-7-4 17:42 上传 点击文件名下载附件
本帖pdf文档
PID电机调速经验.pdf
(676.69 KB, 下载次数: 344)
2018-7-4 17:47 上传 点击文件名下载附件
硬件组成:
直流编码电机
软件组成:
一定先确定电机方向,P、I、D正负。
要输出的曲线:
NowVal、TargetVal、PIDout 、Pout、Iout、Dout、delError
熟悉匿名四轴上位机的使用
说明:
NowVal:当前值,
TargetVal:目标值,
PIDout:PID输出,即PWM
Pout、Iout、Dout:分别是比例输出,积分输出,微分输出
delError:Ek - Ek_1,即微分
1、PID各自的作用
P:对系统瞬间产生的偏差进行快速修正,只有P时会有静差。
I:补偿系统的静差。当系统稳定运行时,PIDout=Iout,Pout=0。即:只有I维持系统的运行。只有PI调节时,TargetVal阶跃变化时,NowVal会产生一个大波动和小波动后才稳定。
D:阻尼作用,当调好PI后,加入D来消除{ NowVal会产生一个大波动和小波动后才稳定} 的现象。
2、PID参数整定
2.1、P参数整定
需要看的曲线有:NowVal、TargetVal、PIDout、Pout。
先慢慢增大P,增大到振荡,又减小回来至不震荡,P最好小一点,在只有P调节时,输出不能有振荡,这时会有静差,无所谓,静差由I调节。这时如果TargetVal变化大,如从0变100,这时Pout=100*P。这时可以看到Pout会出现一个很尖的峰值,这时就要对偏差限幅,这很重要,这对影响系统的稳定性很重要。偏差限幅的值根据实际情况,如果TargetVal变化不大,则偏差限幅可以设置小一点。
调节好P后,NowVal稳定在一个值,与TargetVal有偏差,而且如果TargetVal变化大,如从0变100,PIDout=Pout也不能有振荡才对。
2.2、I参数整定
需要看的曲线有:NowVal、TargetVal、PIDout、Pout、Iout。
慢慢增大I,这时可以看到NowVal会从静差位置随着I的增大逐渐靠近TargetVal,当I较小时NowVal有可能够不着TargetVal,或者上升到TargetVal慢,这时就要增大I。慢慢增大I可以看到NowVal上升到TargetVal速度变快。在增大I的过程中,时刻注意Iout,I过大时Iout会振荡。
调节好I后,NowVal会快速增大到TargetVal,消除系统静差。这时TargetVal阶跃变化时,NowVal快速跟随变化,并会在变化处出现一个大波动,一个小波动系统就会稳定即为I调好。
2.3、D参数整定
需要看的曲线有:NowVal、TargetVal、PIDout、Pout、Iout、Dout。
D的作用是阻尼,当TargetVal大幅度变化时,如从0变到100。这时Pout大幅度上升,使得NowVal冲出TargetVal振荡一两下,加入D就是使它不冲出去。慢慢增大D,发现当TargetVal阶跃变化时Dout会有非常尖的尖峰,这时就要对delError进行限幅。在PID调节中,不允许出现很大的尖峰。
调好D后,NowVal会很好的跟随TargetVal的变化而变化。
3、看图整定参数
1-7曲线分别是:NowVal、TargetVal、PIDout、Pout、Iout、Dout、delError。
3.1、I参数整定
浅蓝线:TargetVal,绿线:NowVal,红线:Iout
PID=3,1,0时,明显看到系统静差还没消除,更别谈NowVal变化要快。所以图1 I参数小了。
图1 I参数1
PID=3,2,0时,看到系统静差已消除,但是NowVal上升慢,还需增大I。调试看到这种情况,当慢慢增大某个参数,现象和上面分析的一样,说明一切都是好的开始。就这样调试下去准能调好。如图2。
图2 I参数2
PID=3,4.5,0,看到一个大波动和一个小波动就稳定下来,就说明PI已经调好。如图3。
图3 I参数3
由图3 看到PI已调好。下面看看TargetVal阶跃变化时NowVal的跟随情况。跟随很好,就是阶跃变化时有大波动+小波动。这需要加入D来消除。
图4 阶跃变化
3.2、D参数整定
浅蓝线:TargetVal,绿线:NowVal,红线:Iout,青 {MOD}:Dout
PID=3,4.5,1。明显看到阶跃变化的大波动+小波动变小。说明增大D的作用效果和上面分析的一样,所以这也是好的开始。如图5。
图5 D参数1
PID=3,4.5,2。NowVal基本能跟随TargetVal变化。即绿线跟随浅蓝线。PID参数整定成功。如图6。
图6 D参数2
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
gongzq666
2019-07-21 22:19
mark一下,谢谢分享!!
加载中...
查看其它10个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一周热门 更多>