origin的雷达图为什么最后两点不能合起来_串级 PID 为什么外环输入是内环的期望?...

8a3d03134b4dd88bf7bca12cda69af3d.png

我们先来看一个最典型的反馈系统

50ceb6eef2ae1fb6a41638c51a59ee14.png

是不是非常熟悉,好像控制器天生就有能力链接我们的物理世界,轻而易举的改变物理对象。

但是仔细看,说破天,这个算法也就是一堆数学公式,输入的是数字,输出的也是数字,它怎么就能改变物理量呢?

控制器输出如何连接物理世界?

正如我们所想,几个数字不应该,也不能够直接改变物理量,真正能改变物理量的是执行器。

91bead8870bb6879eb6b0b788b5ff958.png

所以更真实的控制图应该是这样的。

我们应该感谢现在的执行器做的足够好,他们通常都有自己的驱动器,我们只需要通过输出一些简单的电平信号,驱动器就会帮助我们控制执行器。

典型的执行器就是电机,电机的驱动器,例如电调,通常都是用PWM信号就可以控制。

我们现在用的算法,最终都是写在一个单片机里的,所以严格来说我们使用的是数字PID算法,算法本身的确只能输出一些数字,但是单边机对于产生电平信号,却是非常擅长,简单的设置一下寄存器,真的只需要一个数字就可以产生你想要的PWM信号了。

举个例子:有一个电机,他的手册上写着,400HZ频率的PWM信号下,100%占空比为1000转每分钟,0%占空比为0转每分钟。

这时候你根据你设计好的控制器框图,用你的期望转速,例如500,与实际转速,例如0,做差,误差500通过PID后可以得到一个控制器输出,例如90,然后把90给单片机的寄存器,它自动的就产生了一个占空比为90%的PWM信号。这个信号传递给驱动器的时候,电机飕~的一声转了起来,物理世界真的因为你发生了一些改变。

控制器输如何利用误差

那在这个过程中PID的作用是什么呢?为甚么不能直接用误差作为输出,产生PWM呢?

最简单的思路其实就是只用误差来产生PWM,也就是利用当前的误差(比例),这个很容易理解,如果当前我们误差很大,我们自然就希望执行器能输出最大值尽快缩小这个误差。

但是误差还有其他信息我们可以用,例如过去的误差(积分),如果如果过去我们的误差一直很大,是不是代表我们一直都处于离目标很远的地方࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值