目录
一、为什么需要滤波器?D控制器受影响程度最大!
二、无源滤波---RC网络
三、有源滤波---RC网络+集成运放
(1)RC网络+电压跟随器
(2)RC网络+同相比例放大器
(3)二阶滤波网络简单了解
四、一片运放能搭建PID控制器吗?为什么工程上多用数字PID?
(1)只存在于理论上的模拟PID控制器
(2)数字PID的优势
(3)模拟PID学习的必要性与s、z域转化
在之前的文章中,我们深度剖析了运放的虚短、虚断工作原理,并借此构造出了常见的控制器元件:P、D、I这种单独的控制器。但他们如何合并、改造成为真实的PD、PI等控制器呢?这是我们的目标问题。
但在解决这个目标之前,我们先分析另一个小问题:滤波!众所周知,电机可能会运行在高温、强磁场等环境中,那么此时极容易受到噪音信号的干扰,是电机抖动、啸叫等问题的元凶,严重的还可能导致车毁人亡。于是如何避免高频噪音信号的干扰,就成了控制器设计绕不开的经典问题。
一、为什么需要滤波器?D控制器受影响程度最大!
尽管噪音会同时作用在P、I、D三个控制器上,但三者对高频噪音的影响完全不在一个量级,可以说滤波器问世后,最大的受益者就是D控制器。
比例控制器P的输出结果直接与误差信号成正比,噪音有A的影响,则输出就有Kp*A的影响,影响也不大,就几倍的噪音幅值而已。积分控制器I会对信号做积分平均,高频噪音一定程度上被抑制,并不敏感。
最麻烦的就是D控制器,原因如下:
所以这就是为什么工程上从来不用简单D控制器,而是要加滤波网络,直接把D控制器的输入信号规范成毫无毛刺的情况。
二、无源滤波---RC网络
无源滤波网络的优势在于带载能力强,Ui给的再大一般都不会损坏元器件;但同时它的缺点是没有将输出波形Uo与负载RL的变化隔离开来,用户端的体验不够好。
三、有源滤波---RC网络+集成运放
正是因为无源滤波会受到负载RL的影响,工程师们设计出了有源滤波器,它增加了一个运放,用以隔离负载变化,使得用户端的体验良好。但弊端则是最大输出功率与运放等级相关。
(1)RC网络+电压跟随器
一般情况下的滤波,可能并不希望幅值被改变,仅仅是起到通低频、阻高频的效果即可,完全不希望有静态增益的存在,于是我们将运放设计工作在1比例系数工况下即可。
根据前面无源滤波的铺垫,很容易求得Up就是电容分压,即体现低通滤波的作用,不再赘述。
于是我们就用集成运放搭建了一个有源滤波器,它的输出电压完全由运放电源提供,而输入信号只作为模子,告诉运放该提供多大的电压即可,并不会从Ui本身取电压。从而将负载RL对Uo的影响给规避掉了。
(2)RC网络+同相比例放大器
尽管理论学习中常将遵循模块化设计的方法,将各部分解耦,方便修改。但由于集成运放的成本较高、面积较大,所以并不适合在控制器中加入很多运放模块。很多时候工程上会做取舍,比如现在的需求就是:用一块运放,既要滤波,还需要一定程度的比例放大。
想要获得一定的比例放大能力,也十分容易,只需要修改Rf(图中R2)与R'(图中R1)的阻值即可,与上篇文章分析的同相比例放大电路无异。
(3)二阶滤波网络简单了解
上述的有源滤波器,如果用自动控制原理的角度思考,可以转换成传递函数。会发现是一阶电路,高频抑制能力较弱,且过度带较宽,使用时会有诸多不便。于是人们还设计了二阶滤波电路,即把图中的RC网络改成复杂的网络即可。二阶滤波电路才是现实工程中使用较为广泛的。
这部分内容有所了解即可,即使是模电的课本也没有过多赘述。如果我们只是想做电机控制,大概率是直接用别人给的滤波器,它的设计可能更加精妙,更加高阶。
除此之外,还有高通滤波器、带阻滤波器、带通滤波器等等,他们都是由简单的低通滤波器组合构造而成的,比较简单,感兴趣的同学可以自己下去了解。
四、一片运放能搭建PID控制器吗?为什么工程上多用数字PID?
(1)只存在于理论上的模拟PID控制器
我的第一想法是分别用一片运放把P、I、D控制器模块搭建出来,然后再使用同相加减运算电路将各个模块合并。但成本太高,工程上不允许,所以这里我们会采用与刚刚RC网络+同相比例放大器类似的思路,通过修改反馈网络、增加支路等方法,将各个控制器模块集成到一片运放上。
从推导结果来看,似乎完美的构成了PID控制器,但它其实存在诸多问题,导致无法使用:
(1)参数耦合:
(2)无法应用于直流工况:
直流工况也有一些方法去避免该问题,但我们就不过多深入了。
(2)数字PID的优势
由于模拟PID控制器存在这些问题,该单运放 PID 只是理论推导正确的纸面电路,不适合直接实物落地。
现代控制器中,运放仅仅承担信号调理工作(有源滤波、信号电平抬升、阻抗变换),闭环控制交给 MCU/DSP 做数字 PID。 数字 PID 相比模拟 PID,拥有非常明显优势:
不过正由于数字PID存在采样间隔,是离散模型,其采样频率会限制增益倍数等(上篇文章曾分析的离散与连续的差异)这部分在数字信号处理学科会深入了解。
(3)模拟PID学习的必要性与s、z域转化
读到这里会产生一个疑问:既然工程上几乎都用数字 PID,那我们为什么还要花时间研究模拟运放 PID、研究连续域s域的 PID 传递函数?
核心原因:数字 PID 并不是凭空诞生,它是连续域模拟 PID 经过离散化之后得到的产物。我们在自控原理里面学习的稳定性分析、根轨迹、伯德图、频域校正,全部建立在连续s域模型之上。如果不懂连续域 PID 的物理意义,直接上手写数字 PID 代码,只会对着Kp、Ki、Kd三个参数盲目试凑,无法从频域角度解释:为什么增大微分可以抑制超调、增大积分可以消除静差。
但由于计算机是离散型机器,它无法处理连续域s域的模型,所以需要从s域转换到z域,再推导出可运行的代码的差分方程。其中,这里的s域、z域相互转换会在信号与系统学科中深入学习,在此我们只需要知道有这么个转换概念即可。