如何进行基于直流有刷电机的速度闭环控制及MATLAB仿真?

摘要:一、自动控制系统简介 首先,让我们理解什么是自动控制系统。顾名思义,它就是能在没有人的直接干预下,自动地使某个设备或过程(我们称之为“被控对象”)按照预定规律运行的系统。 一个简单的例子是电热水壶。你设定一个目标(100℃沸腾),它就能自动
一、自动控制系统简介 首先,让我们理解什么是自动控制系统。顾名思义,它就是能在没有人的直接干预下,自动地使某个设备或过程(我们称之为“被控对象”)按照预定规律运行的系统。 一个简单的例子是电热水壶。你设定一个目标(100℃沸腾),它就能自动加热并在达到温度后断开电源。这里面就包含了一个简单的自动控制系统。 自动控制系统是为实现某一控制目标所需要的所有物理部件的有机组合体。在工程上,自动控制系统主要分为两大类:开环控制系统和闭环控制系统。 1.1 开环控制系统 定义:开环控制不能够检测误差,不能够校正误差,只能够按照事先确定好的程序和产生信号的条件,依次去控制对象并且无抑制的干扰能力。 它的结构框图是这样的: 以生活中的电吹风为例,电吹风是一个常见开环控制系统,通过设置吹风机的档位可以改变风扇的转速和电热丝的温度,进而调节输出的温度和风速。 电吹风的开环控制框图如下: 你按下3档按钮,电机就以固定的电压运行。它不会因为天气变热或风被阻挡而自动调整转速。 1.2 闭环自动控制系统 现在,让我们回到接水的例子。这次我们用一个更聪明的方法:你眼睛一直盯着杯子的水位,手在不断微调阀门——水快满了就关小一点,水太少了就开大一点。你的眼睛(传感器)将水位(输出量)实时反馈给大脑(控制器),大脑再指挥手(执行器)进行调整。 定义:闭环控制也就是(负)反馈控制,系统组成包括传感器,控制装置), 执行机构。传感器检测被控对象的状态信息(输出量),并将其转变成物理(电)信号传给控制装置。 控制装置比较被控对象当前状态(输出量)对希望状态(给定量)的偏差,产生一个控制信号,通过执行机构驱动被控对象运动, 使其运动状态接近希望状态。具体可见一下框图: 二、PID算法 PID算法是控制领域非常常见的算法,小到控制温度,大到控制飞机的飞行姿态和速度等等,都会涉及到PID控制, 在控制领域可以算是万能的算法,如果你能够掌握PID算法的控制与实现,那么已经足以应对控制领域的一般问题了。 并且在众多控制算法中PID是最能体现反馈思想的算法;可以算上是经典之作,那么如此好用的算法是不是很复杂呢? 并不是,经典不等同于复杂,往往经典的东西是都是简单的。所以放心学习就好了! 以小车速度为例,你一定会发现这样一个问题; 当你刚把充满的12V电池装在小车上时,然后在程序上给了一个固定50%的占空比, 此时小车跑的很快动力很足; 但是跑着跑着就慢了下来,因为电池电压的影响小车速度变慢了,在刚充满的时候12V电池50%的占空比 相当于直接作用在电机两端的电压是12V x 50% = 6V ; 当使用一段时间后电池的电压变为9V,虽然程序占空比没有变,但是由于电池电压降低了, 所以作用在电机两端的电压也就变了,所以小车变慢了 那么怎么才能够使小车按照恒定速度行驶呢?其思想就是当小车速度慢了,就增加占空比。 那么速度慢多少开始增加占空比呢?怎么增加?增加多少呢? 此时,PID算法就是一个非常好的选择,对于增加多少的问题,一定要通过PID算法,因为速度和占空比到底是个什么关系,谁也不知道。 但是此时使用PID算法,通过编码器的速度反馈,可以实时的知道小车的速度是否慢了,然后利用目标速度与实际速度的误差带入算法, 即可获得当前占空比,达到控制速度的效果。 2.1 算法介绍 PID是Proportional(比例)、Integral(积分)、Differential(微分)的首字母缩写; 是一种结合比例、积分和微分三种环节于一体的闭环控制算法,它是目前为止在连续控制系统中计数最为成熟的一种控制算法; 在工业控制、机器人、无人机、机械臂和平衡车等领域有着极为重要的作用。 该控制算法出现于20世纪30至40年代,至今为止经久不衰, 适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时, 都能得到比较满意的效果。PID控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。 PID控制器的输出就是这三项作用之和。它的数学模型可以表示为: \[u(t)=K_pe(t) + {K_i}\int_{0}^{t}e(τ)dt+K_d\frac{de(t)}{dt} \] 其中: \(K_p\):比例增益; \(K_i\):积分增益; \(K_d\):微分增益; \(u(t)\):PID控制器的输出; \(e(t)\):误差,即 设定值与实际反馈值的差。
阅读全文