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

新闻类的网站有哪些类型中国建设教育协会培训中心官网

新闻类的网站有哪些类型,中国建设教育协会培训中心官网,网页qq登录保护功能,软件科技公司网站模板下载最近看到了Brett Beauregard发表的有关PID的系列文章#xff0c;感觉对于理解PID算法很有帮助#xff0c;于是将系列文章翻译过来#xff01;在自我提高的过程中#xff0c;也希望对同道中人有所帮助。作者Brett Beauregard的原文网址#xff1a;http#xff1a;//brettb…最近看到了Brett Beauregard发表的有关PID的系列文章感觉对于理解PID算法很有帮助于是将系列文章翻译过来在自我提高的过程中也希望对同道中人有所帮助。作者Brett Beauregard的原文网址http//brettbeauregard.com/blog/2011/04/improving-the-beginner’s-pid-onoff/ 1、问题所在 有一个 PID 控制器虽然是很好的但你并不是什么时候都需要它。 假设在程序中的某个时刻您希望将输出强制为某个值 (例如 0)您当然可以在调用例程中执行此操作 void loop() {Compute();Output0; } 这样无论 PID 输出是什么您只需覆盖其值。然而这在实践中是一个可怕的想法。PID 会变得非常混乱“我一直发送输出但是什么都没有发生!到底发生了什么事? !我再发送一下。”因此当您停止覆盖输出并切换回 PID 时您可能会立即得到一个巨大的输出值改变。 2、解决方案 解决这个问题的办法是有办法关闭和打开 PID。这些状态的常用术语是 手动 (我将手动调整输出值) 和 自动 (PID 将自动调整输出)。让我们看看这是如何在代码中完成的。 3、代码 /*working variables*/ unsigned long lastTime; double InputOutputSetpoint; double ITermlastInput; double kpkikd; int SampleTime 1000; //1 sec double outMinoutMax; bool inAuto false; #define MANUAL 0 #define AUTOMATIC 1 void Compute() {if(!inAuto) return;unsigned long now millis();int timeChange (now - lastTime);if(timeChangeSampleTime){/*Compute all the working error variables*/double error Setpoint - Input;ITerm (ki * error);if(ITerm outMax) ITerm outMax;else if(ITerm outMin) ITerm outMin;double dInput (Input - lastInput);/*Compute PID Output*/Output kp * error ITerm- kd * dInput;if(Output outMax) Output outMax;else if(Output outMin) Output outMin;/*Remember some variables for next time*/lastInput Input;lastTime now;} } void SetTunings(double Kpdouble Kidouble 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;} } void SetOutputLimits(double Mindouble Max) {if(Min Max) return;outMin Min;outMax Max;if(Output outMax) Output outMax;else if(Output outMin) Output outMin;if(ITerm outMax) ITerm outMax;else if(ITerm outMin) ITerm outMin; } void SetMode(int Mode) {inAuto (Mode AUTOMATIC); } 一个相当简单的解决方案。如果您不在自动模式下请立即离开计算函数而不调整 输出 或任何内部变量。 4、最终结果 的确您可以通过不象例程那样调用计算来实现类似的效果但此解决方案保持PID所包含的工作原理这是我们所需要的。通过保持事物的内部过程我们可以跟踪处于哪种模式中更重要的是当我们改变模式时它让我们知道有哪些工作需要进行。这就引出了下一期.....。 欢迎关注
http://www.yutouwan.com/news/164521/

相关文章:

  • 网站备案协议网站模板 酒店 中文
  • 四川网站营销seo费用中国专利网官网入口
  • 有什么做图片赚钱的网站网站怎样免费推广
  • 怎么做视频还有网站永久免费虚拟主机申请
  • 北京汽车业务网站开发公司网站上哪个做相片书好
  • 做网站弄什么语言长沙企业网络营销手段
  • 怎么建设大淘客网站网络推广和运营的区别
  • 外贸建站 厦门网站开发维护专员岗位职责
  • 怎么做农产品垂直网站视频号商店怎么开通
  • 站长源码网络营销策划实务
  • 上海网站制作网站绵阳网站建设怎么做
  • 自己做动画网站网站后台更新 前台为啥没反应
  • 如何识别一个网站是否做的好坏综合社区网站开发费用
  • 为什么python不适合开发网站一站式营销推广平台
  • 网站应用水印图片discuz做网站赚钱经历
  • 上海智能网站建设公司巴中商城网站建设
  • 兴义市住房和城乡建设局网站搜索关键词是什么意思
  • 丽江网站建设 莱芜看想看的做想做的电影网站
  • 如何建立一个网站放视频济南12345官网
  • 我是这样做网站的米课上海手机网站制作
  • 公司网站域名cn和com宁波网站优化价格
  • 子网站建设对电子商务专业的认识和了解
  • php 网站做分享功能怎么在ps里做网站设计
  • 美好乡村建设网站微营销推广
  • 杭州专业做网站的公司哪家好宁波建设集团股份有限公司招聘
  • 香橼做空机构网站腾讯云 wordpress博客
  • 北京网站关键词排名公司微信网页版手机端
  • 网络管理专业什么叫做优化
  • win7 iis6.0添加网站攀枝花 网站建设
  • 怎样为企业设计网站自然资源网站建设方案