模糊控制技术是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制,最早出现于上个世纪60年代,在其后的几十年中迅速发展。目前模糊控制技术在控制领域的应用非常广泛。LabVIEW则是一种面向仪器测量控制的图形化的编程语言,配合数据采集卡或其他外部设备可以非常方便的构成以计算机为核心的测量控制系统。
直流电机的传统PID控制方法虽然可以很好的完成对电机转速的有效控制,但存在动态性能相对差,恢复时间长,超调量大以及参数整定困难等缺点。而于上个世纪60年代出现的模糊控制技术在某种程度上可以克服上述缺点。本设计利LabVIEW软件结合模糊控制算法,在NI公司的ELVIS实验平台上实现有刷直流电机转速的模糊控制系统。通过实际测试,模糊控制性能比较理想。
1 系统组成
系统结构框图如图1。图1中:SP为速度给定值;PV为速度反馈值;e为速度偏差,为速度偏差变化率;K1、K2为比例因子。系统中直流电机的供电以及转速测量需要相应的
图1 电机转速模糊控制系统结构框图
外围硬件电路,其他部分通过软件编程由计算机来实现。
系统硬件线路图如图2所示。使
图3 模糊控制器结构
2 模糊控制器设计
模糊控制器由模糊化、规则库、模糊推理和去模糊化4个部分组成,如图3,各部分功能分别是:模糊化是将输入的精确量转换为模糊量;规则库是一些根据专家经验或者其他方式获得的控制规则集;推理机制是解释和应用规则库中的专家经验实现最优控制;去模糊化是把模糊推理结论转换为精确量的输出。
LabVIEW的控制工具包提供了模糊控制器图形化设计工具,其使用非常方便。该设计工具目前只支持四个语言变量输入以及一个语言变量输出,每个语言变量下面最多可以有9个子模糊集,而且只支持四种隶属度函数:三角型,梯型CONTROL ENGINEERING China版权所有,S型和Z型,比Matlab控制工具箱提供的要少许多www.cechina.cn,但对一般的模糊控制器设计可以很好的满足要求。
设计中选择常用的2维模糊控制器,两个输入变量为速度误差e和速度误差变化率 ,一个输出变量为电压增量 。实际设计中由于速度误差的变化率在给定速度突变时趋于无穷,所以取电机实际转速的变化率来代替 。此外为输入量模糊化的方便,分别给两个输入变量乘上合适的系数K1和K2。
根据实验数据CONTROL ENGINEERING China版权所有,若控制电机转速在0-4000r/min的范围内根据对于速度误差 及输出电压增量 分别在其论域上定义9个模糊集:{NL(负极大),NB(负大), NM(负中),MS(负小),ZO(零),PS(正小), PM(正中), PB(正大), PL(正极大)},论域为{-4,–3 ,–2,–1CONTROL ENGINEERING China版权所有,0,1CONTROL ENGINEERING China版权所有,2,3,4}。速度变化率 ,在其论域上定义5个模糊集:{NM(负大), MS(负小),ZO(零),PS(正小),PM(正大)}。论域为{-2,-1CONTROL ENGINEERING China版权所有,0,1CONTROL ENGINEERING China版权所有,2}。
建立控制规则如表1。
模糊推理方法选择典型的Mamdani(Max-Min)推理方法,去模糊化方法选择CoM(Center of Maximum)方法。模糊控制器设计完成后以.fc格式存储起来www.cechina.cn,以方便主程序调用。
表1 输入输出控制规则表
3 参数优化和规则调整
在实际运行模糊控制器之前需要研究控制器输入输出特性,对控制器进行优化。LabVIEW的模糊控制器设计工具包提供了这种功能。在I/O Characteristic 中可以观察给定输入情况下控制器应用的控制规则以及推理结果,根据经验判断该结果是否满足控制要求,如果不能,则对相应的隶属度函数的参数或控制规则做相应的修改,直至输出能满足期望要求。
图4 程序框图
4.软件设计
LabVIEW是一种图形化程序设计语言,使得程序开发过程相对容易。程序框图部分如图7所示:需要说明的是:
1) 程序中使用了快速开发控件(Express Control)来完成周期测量以及直流电压输出。该控件是从LabVIEW7.0以后版本提供对数据采集卡的快速操作控件,使得程序开发变的更加容易。
2) 由于转速测量信号是由电机转轴上安装的一个突出叶片阻隔光电隔离传感器产生,电机每转一周信号变化一个周期,所以转速n(r/min)=60/T。
3) Fuzzy controller(模糊控制)节点的输入变量和相应输入变量名