这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】PID学习--from毅

共4条 1/1 1 跳转至

【原创】PID学习--from毅

工程师
2025-06-18 20:29:11     打赏

走完江科大STM32标准库之路之后就开启了PID之路。PID算法:就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种常见的“保持稳定”控制算法。

个人理解的PID就是一个“跟随”算法。

让被控对象,比如温度,水位,速度,高度,压力等到达我们期望的值,并且保持住。

PID在实际使用中更像一个数学的二元函数,你只要输入你想要的值,当前值,在调节好参数的情况下,无需关心内部过程,直接使用PID算出的结果值送入到执行机构即可。

PID有3个值,设定值(期望值,给定值),实际值(测量值),输出值(结果值)。

常规的模拟PID控制系统原理框图如下所示:

图片1.png

因此可以得出e(t)和u(t)的关系:

图片2.png

说实话这些公式确实不太好理解,只有上手实践才知道其中的意思,于是我就准备了编码电机进行调参,如速度与位置的控制。

图片3.png

图片4.png

图片5.png

具体配置如下:

PWMA

定时器2通道一

VM

12V

AIN1

PB12

AIN2

PB13

STBY

3V

AO1

M1

AO2

M2

C1

定时器3通道一

C2

定时器3通道二



首先进行位置式PID定速控制:

主要代码如下

图片6.png

电机是输出值最大为-100~100,实际值最大为-180~180,所以Kp大约在0.5左右。

比例作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。 控制作用的强弱取决于比例系数Kp, 比例系数Kp越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是Kp越大,也越容易产生振荡, 破坏系统的稳定性。 故而,比例系数Kp选择必须恰当,才能过渡时间少,静差小而又稳定的效果。



专家
2025-06-18 20:39:21     打赏
2楼

感谢分享


专家
2025-06-18 20:40:31     打赏
3楼

感谢分享


专家
2025-06-18 20:46:39     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]