arduino实现pid,

  arduino实现pid,

  最近看到Brett Beauregard发表的一系列关于PID的文章,觉得对理解PID算法很有帮助,于是翻译了系列文章!在自我提升的过程中,也希望对志同道合者有所帮助。作者Brett Beauregard原文网址:http://brettbeauregard . com/blog/2012/01/arduino-PID-auto tune-library/

  最后,我发布了一个自动调优库来补充Arduino PID库。当我发布当前版本的PID库时,我发布了一系列异常广泛的帖子,以使人们更容易理解其中发生的事情。

  虽然没那么深,但这是本帖的目标。我将解释Autotune库想要完成什么,以及它如何处理它的业务。

  1.原因

  几年了,一直想有一个自动设置库,但是因为和雇主的约定,写不出来。但是!当我找到William Spinelli编写的AutotunerPID工具箱时,我已经准备好了;我的公司对我来说移植和扩展现有的开源项目没有问题。

  我把matlab的代码转换过来,对峰值识别码做了一些调整,从标准形式(Kc,Ti,Td)切换到理想形式(Kp,Ki,Kd)。另外,所有的荣誉都属于斯皮内利先生。

  2.理论

  PID控制器的最佳调谐参数(Kp,Ki,Kd)将取决于控制器驱动的对象。烤箱的最佳设置参数与低温烹饪电器不同。

  自调谐装置试图找出控制器驱动的内容的性质,然后从中调整参数。有许多方法可以做到这一点,但大多数方法都涉及以某种方式改变PID输出,然后观察输入如何响应。

  库中使用的方法称为中继方法。它是这样工作的:

  从稳态开始(输入和输出都是稳态),输出在一个方向上跨过一定距离D,当输入跨过触发线时,输出在另一个方向上跨过距离D。

  通过分析峰的距离和峰相对于输出的变化,“自动调优器”可以区分不同类型的过程。因此,不同的系统将获得定制的调整参数:

  3.履行

  这在理论上行得通,但现实世界的数据并不十分配合。输入通常有噪声,这导致两个主要问题。

  3.1.问题#1:何时迈步?

  因为噪声信号是波动的,当输入信号通过触发线时,触发线很可能会被跨越几次。这可能会导致输出出现轻微抖动,严重的话可能会完全破坏:

  我选择通过要求用户指定噪声波段来避免这个问题。实际上,这将创建两条触发线。由于它们之间的距离等于噪声(如果设置正确),因此不太可能因信号抖动而发生多次交叉。

  3.2.问题#2:峰识别

  在模拟世界中,很容易识别峰值:当输入信号改变方向时,它是最小值或最大值(取决于发生的变化)。然而,在嘈杂的世界里,这种方法失败了:

  每个噪声信号都是一个方向的变化。为了处理这个问题,我增加了一个“回溯时间”参数。这是一个可怕的名字。如果你能想到更好的办法,请告诉我。

  总之,用户定义了某个窗口,比如说10秒。然后,库将当前点与最近十秒的数据进行比较。如果是最小值或最大值,它将被标记为可能的峰值。

  当标记点从最大值切换到最小值时,反之亦然,先前标记的点被确认为峰值。

  另一种解释回溯时间的方法是,如果一个点是回溯未来或过去的最大(或最小)值,它将被标识为峰值。就像我说的:可怕的名字。

  4.你也应该知道。

  的执行周期数从3到10不等。该算法一直等到最后三个最大值彼此相差在5%以内。这是为了保证我们达到了一个稳定的振荡,没有外部的奇怪现象发生。这让我思考.

  我不是Autotune的超级粉丝。我经常说,并且仍然相信,一个受过适度训练的人可以轻松击败自动调整器。如果不知道算法,很多地方很容易出错。话虽如此,Autotune是帮助新手进入竞技场的一个有价值的工具。

  欢迎关注:

  想更方便及时的阅读相关文章,请关注我的微信微信官方账号【木南创智】

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • waitpid函数作用,c wait函数
  • waitpid函数作用,c wait函数,详解C语言中的wait()函数和waitpid()函数
  • ,,javascript SpiderMonkey中的函数序列化如何进行
  • spiderfoot安装,spiderfoot会被对手反扫描
  • PySpider,pyspider官方文档
  • C语言PID,pid控制算法的c语言实现
  • pid控制死区范围,带死区的pid控制方法有何优点
  • pid控制器中微分的作用,pid控制微分方程
  • 微分先行的pid控制算法课程设计,什么是微分先行pid控制
  • 设计pid控制器并设定参数,pid控制器参数设置
  • PID控制器百科,PID控制实现
  • PID控制算法原理,pid 控制算法
  • pid控制中积分控制指什么,数字pid控制器积分项的改进有哪些
  • pid控制器的调节原则,试说明pid控制器的优点
  • 通过进程名查找进程的pid,linux根据程序名查进程
  • 留言与评论(共有 条评论)
       
    验证码: