【分享】增量式PID的stm32实现,整定过程

2019-12-11 18:19发布

本帖最后由 tim4146 于 2014-4-6 08:32 编辑

感谢大家最近的帮忙,让我顺利做完增量PID功能,虽然PID不是什么牛逼的东西,但是真心希望以后刚刚接触这块的人能尽快进入状态。
也下面我分享一下近期的这些工作吧。欢迎大家批评指点~

首先说说增量式PID的公式,这个关系到MCU算法公式的书写,实际上两个公式的写法是同一个公式变换来得,不同的是系数的差异。
资料上比较多的是:
A0006DS_副本.jpg (30.87 KB, 下载次数: 37) 下载附件 2014-4-6 00:27 上传
最后欢迎大家拍砖,有批评才会让我更加进步!
最后把PID文件放上来
pid.zip (2.88 KB, 下载次数: 1587) 2014-4-6 08:28 上传 点击文件名下载附件
.C .H


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
zf12862177
1楼-- · 2019-12-18 21:00
tangcangeng 发表于 2014-4-12 16:30
是啊 我是说帖子里头你离散化后不是得用增量式数字PID表达式了么   那你离散化后不用增量式 请问一下用什 ...

举个栗子:
你有一系统,是一阶惯性环节,理论上这个系统是实时响应的,但是现在你将他无限放慢,放到从控制信号输入系统到被控量输出系统用时20ms, 假设你用电路搭一个校正系统,那么根据计算最优的校正系统应该是PI校正。假设你的电路PI校正一次需要1ms,也就是说从信号输入到电路,到控制电压输出,用1ms。

那么你直接将PI校正串联到被控系统就行了。整个系统就变成了一个比例环节。此时系统循环一次需要21ms。在计算电路参数的时候你会用到21ms这个时间参数。

世界本质上就是离散的。只不过离散时间常数足够小的话,从宏观看起来就是连续了。

tangcangeng
2楼-- · 2019-12-18 21:39
zf12862177 发表于 2014-4-12 17:06
举个栗子:
你有一系统,是一阶惯性环节,理论上这个系统是实时响应的,但是现在你将他无限放慢,放到从 ...

虽然不知道你的具体意思,可能自动控制原理学没到你那个境界吧,但是个人觉得增量式PID是数字化PID最好理解的方式,也是用的最基本的方法,只是由于需要采样和计算会出现系统延时,相对用纯拉氏域进行校正会有些出入罢了,这种增量式只不过是一种对这种离散化过程的一种叫法 懂得如何用就是了 名称只是一个代号、  
小混hun
3楼-- · 2019-12-18 22:28
谢谢楼主的讲解!
不知楼主的电机加速过程中有加速算法没有,我一直弄不明白加速算法怎么和PID控制结合起来?
我想做步进电机位置环和速度环,加速算法想用梯形加速或者S形加速。
tim4146
4楼-- · 2019-12-19 01:16
小混hun 发表于 2014-4-15 18:19
谢谢楼主的讲解!
不知楼主的电机加速过程中有加速算法没有,我一直弄不明白加速算法怎么和PID控制结合起来 ...

加速算法是不是目的是让小车走出设定的轨迹啊?
我样机做出来了,可能会写个矩形的运动轨迹,看看回程误差。X Y方向不停测距差不多能实现。
RMB
5楼-- · 2019-12-19 06:28
 精彩回答 2  元偷偷看……
pjhtth
6楼-- · 2019-12-19 06:47
很好的东西

一周热门 更多>