历史上的今天
返回首页

历史上的今天

今天是:2024年10月20日(星期日)

正在发生

2018年10月20日 | 用STM32F407玩控制—常规PID控制

2018-10-20 来源:eefocus

常规PID控制或算法如下:

uc=Kc*(e+∫e*dt/Ti+Td*de/dt)

或者用传递函数表示:

Gc(s)=Kc*(1+1/(Ti*s)+Td*s)

如果用计算机实现PID算法,那得用数值积分和数值微分来代替积分和微分运算,即Δt代替dt,用∑运算代替∫运算,用差分代替微分运算,但每次作∑运算显然是不合理的,1是计算量大,2是随着时间增加,变量将趋无穷多,这也是不可能的,所以,改成增量计算是更好的方法,这样PID控制的增量计算式为:

Δu=Kc*{e(k)-e(k-1)+e(k)*Ts/Ti+[e(k)-2*e(k-1)+e(k-2)]*Td/Ts}

式中Ts为采样时间,Kc为比例增益,Ti是积分时间,Td是微分分时间。

这个算式在单片机中实现是非常简单的。

采样时间通常来说,流量系统一般是1-2秒,压力系统一般是3-5秒,液位系统一般是3-5秒,温度系统一般是15-20秒,在STM32F407上,我们把采样时间定为1秒,这能满足通用要求。

STM32F407上,PID控制的效果如图1所示。

从图中可以看出,仿真情况由WINCC组态软件显示,监控画面主要由一个在线趋势控件、三个输入/输出域、两个按钮组成,在线趋势控件显示过程值曲线,输入/输出域显示过程值,一个按钮实现自动/手动切换,另一个按钮实现自动整定切换。

图1中调节器输出曲线(蓝色线)有突变现象,那是由于STM32F407串行通讯中,接到的设定值(SP)或者过程值(PV)出错而造成的,对接收的SP和PV数据进行异常处理后,这个问题就解决了,此时,实时仿真情况如图2所示。

图1和图2都是没有干扰情况下进行的仿真,而现实世界中都有电磁干扰存在,那时情况又如何?我们在SIMULINK模型中加入有限带宽的白噪声,在此基础上进行仿真,结果图3所示,从图中可以看出,调节器输出MV(执行变量)波动很大,如果调节器后面的执行机构是调节阀,那么调节阀阀杆摩损被加速,缩短调节阀寿命。

对付干扰的一个方法是对信号作滤波处理,控制工程中常用的滤波方法有:1算术平均滤波,2滑动平均滤波,3一阶低通滤波,其传递函数为Gf(s)=1/(Tf*s+1),低通数字滤波实现,1)是可以将微分方程转换为差分方程,然后进行代数运算,2)是用控制系统仿真中离散相似法进行计算,我们用的后者,低通环节也是一阶系统,后面还将应用在smith预估补偿控制中,低通数字滤波实现其实还有其他方法,这里不再赘述。

对过程值(PV)进行滤波处理后,仿真情况如图4所示,从图中可以看出,调节器输出波动小了很多。

用STM32F407玩控制—常规PID控制

用STM32F407玩控制—常规PID控制


用STM32F407玩控制—常规PID控制



用STM32F407玩控制—常规PID控制

推荐阅读

史海拾趣

BULGIN公司的发展小趣事

随着技术的不断进步和市场的扩大,BULGIN公司在20世纪60年代成为了当时世界上最大的、产品线最为齐全的电子零件制造商之一。公司保持着快速的创新与发展,BULGIN品牌开始覆盖多国市场,为全球各地的客户提供优质的产品和服务。

AAT [Advanced Analog Technology, Inc.]公司的发展小趣事

在1939年至1945年的二战期间,BULGIN的产能被英国政府全面征用。为了满足战时需求,BULGIN公司开发出能够适应全世界各地区苛刻使用环境的产品。在这段时间里,公司为英国政府制造了超过1千万只零部件,并在密封技术领域积累了宝贵的经验,这些经验一直延续至今。

AITSEMI公司的发展小趣事

随着全球化趋势的加剧,AITSEMI公司开始实施全球化战略,积极开拓海外市场。通过设立海外分支机构、参加国际展会等方式,AITSEMI成功将产品推广至全球范围,并赢得了广泛的国际认可。同时,公司还加大了品牌建设的力度,通过广告宣传、社交媒体推广等方式提升品牌影响力,进一步巩固了公司在全球电子行业的领先地位。

这些故事基于AITSEMI公司的公开资料和发展历程进行编写,旨在展示其在电子行业中的成长和发展。然而,由于公司具体的发展过程可能涉及更多的细节和未公开的信息,因此这些故事可能并不完全准确或详尽。如需更详细和准确的信息,建议直接访问AITSEMI公司的官方网站或查阅相关新闻报道。

GTK UK Ltd公司的发展小趣事
选择高精度的光电传感器、运算放大器、比较器等元件,以减少误差。
Holt Integrated Circuits公司的发展小趣事

自成立以来,Holt Integrated Circuits便专注于为航空电子行业提供高性能的集成电路解决方案。四十多年来,Holt始终站在技术前沿,为全球超过400家制造商提供模拟和混合信号IC数据总线解决方案。从F-16到A-350等先进飞行器,Holt的IC产品已成为飞行控制、导航、发动机管理、通信、安全系统及机上娱乐系统的核心部件。这种长期且稳定的合作关系,不仅奠定了Holt在航空电子领域的领导地位,也推动了整个行业的技术进步。

CAMBION公司的发展小趣事

随着国内市场的饱和,CAMBION公司开始将目光投向海外市场。公司制定了详细的国际化战略,通过设立海外研发中心、拓展销售渠道等方式进入国际市场。在国际化过程中,CAMBION公司不仅面临着文化差异、法律法规等挑战,还需要与众多国际知名企业竞争。然而,凭借卓越的技术实力和灵活的市场策略,CAMBION逐渐在国际市场上占据了一席之地。

问答坊 | AI 解惑

雪崩光电二极管反向电流的测量

雪崩光电二极管是一种高灵敏度、高速度的光电二极管。施加反向电压时,能启动其内部的增益机构。APD的增益可以由反向偏置电压的幅度来控制。反向偏置电压越大增益就越高。APD在电场强度的作用下工作,光电流的雪崩倍增类似于链式反应。APD应用于对 ...…

查看全部问答>

protues元件库

protues元件库 立元件库元件名称及中英对照 AND 与门 ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟 BVC 同轴电缆接插件 BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) BUFFER 缓冲器 BUZZER 蜂鸣器 CAP 电容 CAP ...…

查看全部问答>

2440开发板通过交换机连摄像头

  我们做的这个项目要求连四路摄像头到开发板上,我们打算用交换机连在开发板上的网络口,然后通过交换机引出四个摄像头,这个方案我们需要做些什么啊,没有思路。摄像头指令怎么发啊。大家谁做过分享一下经验,有没有这方面的例子啊。在 ...…

查看全部问答>

超级终端+批处理

做的是linux+arm,现在需要写个批处理来,烧写uboot,内核,和文件系统 当前完成了   1.一个批处理来烧写Uboot.              2.打开超级终端 粘贴1段语句来设置uboot的环境    &nbs ...…

查看全部问答>

SBC84500 没有SDK 如何开发程序

请问如果没有SDK 怎么开发基于wince的程序? 急寻高手指点…

查看全部问答>

获取电池电量函数问题GetSystemPowerStatusEx2

我查了我的sdk里已经包含了Coredll.lib和Winbase.h,为什么我在EVC里调用GetSystemPowerStatusEx2函数,编译时说没有定义呢,头文件我已经加了的…

查看全部问答>

怎样实现:在线监控嵌入式软件的全部运行过程??

怎样实现:在线监控嵌入式软件的全部运行过程。包括报错,警示等功能。 是监控运行过程哦。 给一个思路也可以的,当然最好能写详细点啦!!! 比如可以把嵌入式软件的运行情况全部记录在一个数据库中。 不过在数据库中应该记录哪些具体的信息 ...…

查看全部问答>

管理到底是什么意思阿

我发了一个帖子,系统告诉我管理,到底是意思阿。 …

查看全部问答>

Verilog 源代码与testbench直接的关系

我刚学习了FPGA 有一个问题一直困恼我 testbench是用来给源码测试激励 赋值等用于仿真的 但是真正下载到板子上去是不用testbench的 那这个测试激励又由谁给的呢?没有测试激励就不可能有源码实现的功能…

查看全部问答>