历史上的今天
返回首页

历史上的今天

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

正在发生

2018年10月20日 | 用STM32F407玩控制—不完全微分PID控制

2018-10-20 来源:eefocus

常规pid算法有缺陷,主要有:1是当偏差发生突变时,微分作用仅在一个周期内起作用,这个也不合理,2是当输入PV值有噪声时,调节器输出波动大,这在前面的图中可以看到,这对机械执行机构不理,使执行机构容易坏,执行机构故障多,自然生产也就不稳定,所以工程上通常用不完全微分PID调节器,文献中有两种类型的不完全微分PID算法,一种是在常规PID算法后串一个一阶延滞环节(比如参见金以慧《过程控制》,即

Gc(s)=Kc*(1+1/(Ti*s)+Td*s)/(Tf*s+1),这种不完全微分PID算法,与前面讲的常规pid算法加过程值(PV)滤波有点相近,仅在设定(SP)有变化的情况下,调节器输出不同,其余情况下是一样的;另一种是在微分环节上串一个一阶延滞环节,这又分为2种,

第1种算法是:

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

第2种算法是:

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

第1种算法见诸西门子S7-300/400PLC的FB41功能块实现的PID算法中。

第2种算法见诸西门子DR系列调节器实现的PID算法中,如图1所示,图中Tv就是Td,vv就是KD,KD一般称为微分增益,工程上KD通常在5-10范围内取值,我们也采用这种不完全微分PID算法,且取KD=8。

滤波常数Tf可以在2-5sec范围内取值。

我们在《用单片机玩PID控制—从理想PID控制至先进PID控制_8》一文中,已经介绍过用离散相似法计算滤波环节,这里介绍用差分变换计算滤波环节:

1.将拉氏变换传递函数变换为微分方程,这里是滤波环节。

2.将微分方程变换为差分方程。

3.进行数值计算。

具体计算式:

y(k)=α*y(k-1)+(1-α)*x(k)

其中   α=Tf/(Tf+Ts)    Ts:采样时间,进一步

4.将数值滤波计算串在微分环节(或PID环节)后面。

5.转换为pid增量计算式。

6.c语言实现。

我们也可以将Td*s/(Tf*s+1)作为一个整体进行差分变换,再作数值计算,或者将Td*s/(Tf*s+1)转换为

(Td/Tf)*(1-1/(Tf*s+1)),再用离散相似法进行计算,这里略过。

采样时间,我们定为1sec,这可以满足过程控制的要求,在STM32F407中用定时器来实现周期循环,具体是用TIM_GetITStatus函数实现定时中断,pid控制算法就放在这个函数条件下,TIM_GetITStatus的用法如下(参见《F407固件库手册》):

ITStatus TIM_GetITStatus  ( TIM_TypeDef *  TIMx, 
  uint16_t  TIM_IT 
 )  

Checks whether the TIM interrupt has occurred or not.

Parameters:
TIMx,: where x can be 1 to 14 to select the TIM peripheral. 
TIM_IT,: specifies the TIM interrupt source to check. This parameter can be one of the following values:
TIM_IT_Update: TIM update Interrupt source
TIM_IT_CC1: TIM Capture Compare 1 Interrupt source
TIM_IT_CC2: TIM Capture Compare 2 Interrupt source
TIM_IT_CC3: TIM Capture Compare 3 Interrupt source
TIM_IT_CC4: TIM Capture Compare 4 Interrupt source
TIM_IT_COM: TIM Commutation Interrupt source
TIM_IT_Trigger: TIM Trigger Interrupt source
TIM_IT_Break: TIM Break Interrupt source
 

Note:
TIM6 and TIM7 can generate only an update interrupt.
TIM_IT_COM and TIM_IT_Break are used only with TIM1 and TIM8.
Return values:
The new state of the TIM_IT(SET or RESET). 

 

不完全微分PID控制的效果如图2所示,从图中可以看出,输出波动还是比较大,如对PV值作滤波,效果会好很多。

用STM32F407玩控制—不完全微分PID控制



用STM32F407玩控制—不完全微分PID控制


推荐阅读

史海拾趣

ETERNA公司的发展小趣事

随着中国市场的崛起,ETERNA开始将目光投向了亚洲市场。2011年,中国从德国保时捷家族手中接过ETERNA的旗帜,开始在全球大力拓展ETERNA品牌。在中国市场的推动下,ETERNA的知名度和影响力不断提升。同时,公司还加强了与其他国家和地区的合作与交流,通过参加国际展会和举办品牌活动等方式,进一步扩大了品牌影响力。这些努力使ETERNA在全球电子行业中逐渐崭露头角,成为了一个备受瞩目的品牌。

ET Enterprises Ltd公司的发展小趣事

近年来,ET Enterprises Ltd公司经历了一系列的收购和战略合作。这些举措不仅进一步增强了公司的实力和市场地位,也为公司的未来发展注入了新的活力。例如,公司成为得克萨斯州Ludlum Measurements Inc.的子公司后,受益于美国光电倍增管生产商ADIT的生产设施和ET Enterprises的开发设施的综合资源,为公司的持续发展提供了有力支持。

以上五个故事概述了ET Enterprises Ltd公司的发展历程和关键阶段,展示了公司在电子行业中不断崛起和持续发展的过程。

General Electric Solid State公司的发展小趣事

近年来,ET Enterprises Ltd公司经历了一系列的收购和战略合作。这些举措不仅进一步增强了公司的实力和市场地位,也为公司的未来发展注入了新的活力。例如,公司成为得克萨斯州Ludlum Measurements Inc.的子公司后,受益于美国光电倍增管生产商ADIT的生产设施和ET Enterprises的开发设施的综合资源,为公司的持续发展提供了有力支持。

以上五个故事概述了ET Enterprises Ltd公司的发展历程和关键阶段,展示了公司在电子行业中不断崛起和持续发展的过程。

GTE Microcircuits公司的发展小趣事
优化复合放大器的增益稳定性主要涉及到选择合适的放大器类型(如低噪声、高精度运算放大器)、精确的电路设计(如使用温度系数低的电阻和电容)、以及适当的电源去耦和滤波技术。此外,采用反馈网络来稳定增益也是一种常见的方法。
Diotec Electronics Corp公司的发展小趣事

随着产品的不断成熟和市场的认可,Diotec开始积极拓展国内外市场。公司加强与国际知名电子企业的合作,不断提升产品的品质和技术水平。同时,Diotec还注重品牌建设,通过一系列的市场推广活动,提高了品牌的知名度和美誉度。这些努力使Diotec的产品在电子行业中占据了重要的地位,成为众多客户的首选供应商。

AMOTECH(阿莫泰克)公司的发展小趣事

进入21世纪,AMOTECH继续深耕电子领域,特别是在压敏电阻技术上取得了重大突破。2003年,公司的压敏电阻产品被产业资源部评为世界一流产品,这一成就不仅提升了AMOTECH在全球电子行业中的地位,也为其后续发展奠定了坚实基础。同年,公司还成功在韩国安全商协会自动报价首次公开募股,为公司的进一步扩张提供了资金支持。

问答坊 | AI 解惑

哪个可以发个毕业 设计论文不???

单片机烟雾检测报警器电子毕业设计 等等的毕业设计论文,,,哪个发个连接…

查看全部问答>

wince开发系列问题——2,接系列问题1

编译,连接,都通过了,也生成了EXE;(,我是移植的代码,作了修改:wince开发系列问题——1有详细描述如何解决问题的,可能问题出现自我解决问题的方法) 但是悲剧的是: 在模拟器里跑不成,问题如下   void CbmpView::OnDraw(CDC* ...…

查看全部问答>

EVC4.2下的系统托盘没有图标

我按照网上的一些代码,就是无论如何都是空图标,透明的。 真的没有图标吗? 我明天发一下我的代码…

查看全部问答>

有没有做过ADSP的?

如何使用C来编写两个processor?…

查看全部问答>

【多功能手持示波函数表】进度汇报

  由于七月外地的比赛,拖了好多天,一直到7月底才开始动工,这个初步情况如下:   1.EEWORLD购买ADI所有的芯片已经到位   2.所有芯片资料都已经阅读和理解完毕   3.所有原理图和PCB已经设计完成并已经制板,开始进入了焊接 ...…

查看全部问答>

51单片机的传输方式?

我想向大家请教一下,51单片机的数据传输方式是由输入设备先经过存储器再到数据处理器,还是反过来呢? 如果是前一种的话,数据处理之后就直接存储还是先到地主找数据再返回到存储器,由存储器向输出设备?请各位大虾多多打救啊。…

查看全部问答>

富士通DIY工业控制板原理图及PCB发布

PCB图跳票了好几次,都不好意思了。不说了,直接上货。 [ 本帖最后由 ltbytyn 于 2012-11-28 12:58 编辑 ]…

查看全部问答>

一天的成果+样片申请经验

昨天申请的样片到了,今天淘宝的最小系统也到了,一个人在实验室焊贴片 这是我第一次焊贴片,焊了4块,有两块焊的很完美,还有两块修修补补也成功了 两个块MSP430F149,两块MSP430F168,引脚是兼容的,用的一种板子 实验室有热风台,开始以为 ...…

查看全部问答>

wince 的fatutil.dll 有什么用?

fatutil.dll 这个看有些人实现多fat 分区会用到这个dll ,在SLC nandflash 上,我现在要做这个功能,但是行不通,这个fatutil.dll 什么用的?…

查看全部问答>

晒WEBENCH设计的过程+移动电源设计之一

移动电源电路设计: 输入1:3.3到4.2V,输出5V,这个是电池逆变电路 输入2:4.5V到5.5V,输出3.7V,这个是电池充电电路 设计步骤: 第一步,选择两个输入和两个输出,添加电源和负载 第二步,编辑优化设计参数 第三步,检视和编辑项目设计 ...…

查看全部问答>