收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

本文研究PID控制的Simulink模型实现及其代码生成。

文章目录

1 PID控制

PID控制是一个非常经典的控制方法,离散化的位置式PID控制的公式如下:

x

(

t

)

=

K

p

e

(

t

)

K

i

0

t

e

(

t

)

d

t

K

d

d

e

(

t

)

d

t

x(t) = K_{p}\cdot e(t) + K_{i}\cdot \int_{0}^{t} e(t)dt + K_{d}\cdot \frac{de(t)}{dt}

x(t)=Kp​⋅e(t)+Ki​⋅∫0t​e(t)dt+Kd​⋅dtde(t)​
其中,e(k)为k时刻的偏差值,Kp,Ki,Kd分别为比例、积分、微分系数。PID控制的示意图如下:
在这里插入图片描述

2 应用场景

通过一个汽车加速的场景可以很好地理解PID控制的原理。

首先,设想自己是一名驾驶员,刚刚经过收费站上了高速公路。现在,高速公路上是一个一望无际的长直道,并且周围都没有车。这时驾驶员的想法是,尽快将车加速到100km/h的时速,并保持这个速度在路上行驶。

此时,驾驶员就是控制系统中的传感器、控制器和执行器。其中眼睛就是传感器,可以获取仪表盘上的车速;大脑是一个控制器,可以计算出油门踏板或刹车踏板的行程;右脚是执行器,可以根据大脑发来的行程指令,踩下踏板。那么PID控制的示意图就会变成下图:

在这里插入图片描述
驾驶员看到当前的车速,会和自己内心期望的100km/h的车速做比较,得出error的偏差值。PID在其中的含义就是:

  • P项的含义就是,偏差越大,就需要踩踏板踩得越深,才能尽快减小偏差值。
  • I项的含义就是考虑整个过程中的偏差的累计值,可以理解为,经历的越长的时间还没到达期望车速,就会在P项的基础上再踩得深一些。
  • D项的含义是考虑当前时刻偏差的变化率,可以理解为如果偏差在减小,那么de/dt就是个负值,其绝对值表示减小的速率,这个速率越大,D项越大,抵消的P项越多,类似于一个阻力的效果,防止变化过快。

3 Simulink建模

本文重点研究通过Simulink实现PID控制模型。

3.1 对公式的理解

PID的工程应用比理论公式稍微复杂一些,因为要考虑实际工况中是离散的控制,并且Err无论怎样都不可能等于0。为了较好的进行建模,博主会结合自己做汽车电控开发的经验对公式进行理解,这些理解会指导后面的建模。

  • 输入值、输出值和参数值都应该是浮点数,建模时统一定为single类型;
  • 比例项的计算直接用Kp乘以偏差值;
  • 积分项的计算需要先累加每个周期的偏差值与周期、Ki的乘积,同时需要对输出限幅和并且在某种条件下清零,以防止积分项过大;
  • 微分项的计算需要本周期和上周期的偏差相减,再除以周期值,同时也需要输出限幅;
  • 最后将比例、积分、微分项相加得到控制量输出,并且每一项也需要单独输出以便于观测。

3.2 建模过程

根据上文的理解,建立一个子系统,在其中实现PID控制算法。模型建模如下:
在这里插入图片描述
1)对于I项的计算中,为了实现能够清零的策略,引入了I_Reset接口,当I_Reset置为1时积分项输出0;
在这里插入图片描述

2)I项和D项分别引入上下限,通过一个Saturation Dynamic模块限值输出,这样可以选择根据外部工况动态调整上下限,或者外部给定一个标定量,比Saturation模块更加灵活;
在这里插入图片描述

3.3 模型配置及更新

模块和信号线都搭建好了以后,需要对他们进行一些必要的配置。

1)将Inport,Outport和每个运算模块的Output DataType都配置成single,这样保证了整个数据流都是浮点型的;将Reset的接口配置为boolean型,因为它是一个0或1的布尔量标志位;
在这里插入图片描述

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐