当前位置: 首页 > news >正文

网站做ppt模板下载地址友情链接是什么

网站做ppt模板下载地址,友情链接是什么,怎么看网站谁做的,加工厂做网站Arduino PID库 (2) – Derivative Kick 参考:手把手教你看懂并理解Arduino PID控制库——微分冲击 pid内容索引-CSDN博客 Arduino PID库 (1)– 简介 问题 此修改将稍微调整derivative term。目标是消除一种称为“…

Arduino PID库 (2) – Derivative Kick

参考:手把手教你看懂并理解Arduino PID控制库——微分冲击

  • pid内容索引-CSDN博客

  • Arduino PID库 (1)– 简介

问题

此修改将稍微调整derivative term。目标是消除一种称为“Derivative Kick”的现象。
Derivative Kick

spikes :尖峰

从第一张图看出,当设定值产生一个阶跃后,被控量 Input 随着时间慢慢向设定值靠近,第二张图反应的是设定值产生阶跃后控制量 Output 的变化,可以发现,Output 会突然产生一个较大的阶跃,具体原因可以参考 “万恶” 的 PID 经典控制方程。第三张图描述的是 Output 的梯度(也就是变化率:值变化:时间变化),同样可以发现一个阶跃,并且这个脉冲可能会非常的大(dt 非常小),远远超过 Output 变化量。同理,图中描述了当设定值突然减小,Output 及其对应的梯度变化情况。对于一般的系统来说,我们不希望这样的突变发生(可以想象如果采样周期很长,那么这个冲击会持续很长时间,系统估计就飞起来了)。当然如果你的系统需要这个冲击,那么这个问题就可以忽略
上图说明了问题。由于error=Setpoint-Input,因此Setpoint的任何更改都会导致误差的瞬时变化。这种变化的导数是无穷大(在实践中,由于 dt 不是 0,它最终是一个非常大的数字。该数字被反馈入pid方程,从而导致输出中出现尖峰。幸运的是,有一种简单的方法可以摆脱这种情况。

解决方案

在这里插入图片描述
Setpoint 这一项就会产生一个巨大的冲击,而且仅会产生一次,在下一个计算周期就会消失。处理的方法很多,最简单的就是将 Serpoint 这一项移除,也就是认为对于微分项来说不存在设定值的改变。如果这么处理,系统会不会失控呢?这种玩法已经和我们根深蒂固的经典 PID 理论不一样了啊!!这怎么整!

上述问题的答案是不会失控,我们将上述过程写成数学表达式
DonMExplain
事实证明,误差的导数等于输入的负导数,除非设定值发生变化。这最终是一个完美的解决方案。我们不是加(Kd * 误差的导数),而是减去(输入的 Kd * 导数)。这称为使用“测量导数”

代码

/*working variables*/
unsigned long lastTime;
double Input, Output, Setpoint;
double errSum, lastInput;
double kp, ki, kd;
int SampleTime = 1000; //1 sec
void Compute()
{unsigned long now = millis();int timeChange = (now - lastTime);if(timeChange>=SampleTime){/*Compute all the working error variables*/double error = Setpoint - Input;errSum += error;double dInput = (Input - lastInput);/*Compute PID Output*/Output = kp * error + ki * errSum - kd * dInput;/*Remember some variables for next time*/lastInput = Input;lastTime = now;}
}void SetTunings(double Kp, double Ki, double Kd)
{double SampleTimeInSec = ((double)SampleTime)/1000;kp = Kp;ki = Ki * SampleTimeInSec;kd = Kd / SampleTimeInSec;
}void SetSampleTime(int NewSampleTime)
{if (NewSampleTime > 0){double ratio  = (double)NewSampleTime/ (double)SampleTime;ki *= ratio;kd /= ratio;SampleTime = (unsigned long)NewSampleTime;}
}

这里的修改非常简单。我们将 +dError 替换为 -dInput。我们现在不再记住最后一个错误,而是记住最后一个输入

结果

DonM

  1. Output 梯度尖峰被去除
  2. 控制量原来存在一个尖峰被消除
  3. 被控量的微分变得较为平坦
    这些修改给我们带来的结果。请注意,输入看起来仍然大致相同。因此,我们获得了相同的性能,但我们不会在每次设定值更改时都发出巨大的输出峰值。

这可能是也可能不是什么大问题。这完全取决于您的应用程序对输出峰值的敏感程度。不过,在我看来,不突变就不需要做更多的工作,所以为什么不把事情做好呢?

http://www.hrbkazy.com/news/40629.html

相关文章:

  • 河南省重点项目建设网站seo顾问服务
  • 做网站如何收费seoul是哪个城市
  • 南京哪里做网站时事新闻最新
  • 网站建设简单流程图深圳网站设计
  • 做网站方面的问题上海今天刚刚发生的新闻
  • 数据线 东莞网站建设百度推广售后客服电话
  • 网站如何做seo的海口seo计费
  • 杭州做网站工作室百度网站推广怎么做
  • 新网站建设方案ppt潍坊做网站哪家好
  • 杭州百度推广网站建设企业软文怎么写
  • 怎么做淘宝客网站备案谷歌seo网络公司
  • 网站改版的前端流程代写企业软文
  • 原江苏省建设厅网站怎么快速刷排名
  • 别人能打开的网站我打不开seo引擎搜索网址
  • 深圳专业做网站建网站营销的方法手段有哪些
  • 做视频网站服务器要求吗百度大数据中心
  • 如何帮客户做网站百度云搜索引擎入口手机版
  • 网站建设策划方案模板成都比较靠谱的seo
  • 新网站做优化要准备什么搜狗识图
  • 做网站时 404网页如何指向深圳正规seo
  • 如何将项目发布到网上产品优化是什么意思
  • 做拍卖网站多少钱网络营销做得比较好的企业
  • 淘宝数据网站开发seo内部优化包括哪些内容
  • 宿州市建设局网站成人培训班有哪些课程
  • 每一个网站都是响应式吗百度助手应用商店下载安装
  • 做一个手机网站成本友情链接检测平台
  • 手机怎么创网站免费下载软文撰写案例
  • 做网站泰州seo自动排名软件
  • 烟台网站建设黄冈网站建设收费
  • 网站建设类型的好处运营培训班有用吗