c语言中离散化,PID控制器的离散化推导及其C语言实现

一、理论下图是采用了PID控制器的闭环控制策略。 PID控制器的传递函数: 上式中,Y是控制器的输出,U是控制器的输入。有时候,在Matlab仿真中已经调好了Kp和Ki、Kd参数,但是离散化后,系数和离散时间有关。因此需要重新计算系数。方法一、用公式替代s算子用Trapezoid(Tustin)方法离散化PID控制器。另外更多的传递函数离散化方法请浏览:https://blog.csdn.net/...
摘要由CSDN通过智能技术生成

一、理论

下图是采用了PID控制器的闭环控制策略。

ad62754283ea87703e69143e01c8ff10.png

PID控制器的传递函数:

a57e31710a36e5432a5f1b82eef44d30.png

上式中,Y是控制器的输出,U是控制器的输入。

有时候,在Matlab仿真中已经调好了Kp和Ki、Kd参数,但是离散化后,系数和离散时间有关。因此需要重新计算系数。

方法一、用公式替代s算子

用Trapezoid(Tustin)方法离散化PID控制器。另外更多的传递函数离散化方法请浏览:https://blog.csdn.net/qq_27158179/article/details/82739641#2%E3%80%81%E7%A6%BB%E6%95%A3%E5%8C%96%E9%A2%84%E5%A4%87%E7%9F%A5%E8%AF%86

a57e31710a36e5432a5f1b82eef44d30.png

d83bb7a854db7054c2ab719f8f008e6b.png代入上式,得到

691c62cedf180c2a804658713013804b.png

化简过程略,得到:

3e649d11b28d98753bd116f09c7057a7.gif

故离散化公式为:

a1b84f82814eb5e63093311c2c6508db.gif

方法二、传统计算方法

PID控制器分为比例环节、积分环节、微分环节。如下:

d55396b3fa5a880e485e204f5a91f2cd.png

上式也是位置式PID。

如果要转换为增量式,过程如下:

我们把PID控制器分为比例环节、积分环节、微分环节。由于控制器的输出就是三个环节的叠加,因此可以分别计算每个环节:

比例部分:

d3e9ae0912a9dbb14b83d617d70c669c.png

积分部分:

21e6a85b6283abb1aa56bba680ad17cf.png

由于

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值