基于LabVIEW的直流电机模糊控制系统设计
扫描二维码
随时随地手机看文章
模糊控制技术是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制,最早出现于上个世纪60年代,在其后的几十年中迅速发展。目前模糊控制技术在控制领域的应用非常广泛。LabVIEW则是一种面向仪器测量控制的图形化的编程语言,配合数据采集卡或其他外部设备可以非常方便的构成以计算机为核心的测量控制系统。
直流电机的传统PID控制方法虽然可以很好的完成对电机转速的有效控制,但存在动态性能相对差,恢复时间长,超调量大以及参数整定困难等缺点。而于上个世纪60年代出现的模糊控制技术在某种程度上可以克服上述缺点。本设计利LabVIEW软件结合模糊控制算法,在NI公司的ELVIS实验平台上实现有刷直流电机转速的模糊控制系统。通过实际测试,模糊控制性能比较理想。
1系统组成
系统结构框图如图1。图1中:SP为速度给定值;PV为速度反馈值;e为速度偏差,为速度偏差变化率;K1、K2为比例因子。系统中直流电机的供电以及转速测量需要相应的
图1电机转速模糊控制系统结构框图
外围硬件电路,其他部分通过软件编程由计算机来实现。
系统硬件线路图如图2所示。使用光电隔离器来获取转速脉冲信号,通过数据采集卡送入计机。数据采集卡使用NI-PCI6251。PCI6251具有两路模拟输出口,2个计数器,16路模拟输入口。设计中使用其模拟输出口ao输出产生电机控制电压,由于6251的模拟输出口的输出电流不足以驱动直流电机,所以需要在ao口加一个电流放大电路;用计数器ctr0口来对光电传感器产生的转速信号进行测周,获得电机的实际转速。
图2系统硬件接线图
图3模糊控制器结构
2模糊控制器设计
模糊控制器由模糊化、规则库、模糊推理和去模糊化4个部分组成,如图3,各部分功能分别是:模糊化是将输入的精确量转换为模糊量;规则库是一些根据专家经验或者其他方式获得的控制规则集;推理机制是解释和应用规则库中的专家经验实现最优控制;去模糊化是把模糊推理结论转换为精确量的输出。
LabVIEW的控制工具包提供了模糊控制器图形化设计工具,其使用非常方便。该设计工具目前只支持四个语言变量输入以及一个语言变量输出,每个语言变量下面最多可以有9个子模糊集,而且只支持四种隶属度函数:三角型,梯型,S型和Z型,比Matlab控制工具箱提供的要少许多,但对一般的模糊控制器设计可以很好的满足要求。
设计中选择常用的2维模糊控制器,两个输入变量为速度误差e和速度误差变化率,一个输出变量为电压增量。实际设计中由于速度误差的变化率在给定速度突变时趋于无穷,所以取电机实际转速的变化率来代替。此外为输入量模糊化的方便,分别给两个输入变量乘上合适的系数K1和K2。
根据实验数据,若控制电机转速在0-4000r/min的范围内根据对于速度误差及输出电压增量分别在其论域上定义9个模糊集:{NL(负极大),NB(负大),NM(负中),MS(负小),ZO(零),PS(正小),PM(正中),PB(正大),PL(正极大)},论域为{-4,–3,–2,–1,0,1,2,3,4}。速度变化率,在其论域上定义5个模糊集:{NM(负大),MS(负小),ZO(零),PS(正小),PM(正大)}。论域为{-2,-1,0,1,2}。
建立控制规则如表1。
模糊推理方法选择典型的Mamdani(Max-Min)推理方法,去模糊化方法选择CoM(CenterofMaximum)方法。模糊控制器设计完成后以.fc格式存储起来,以方便主程序调用。
表1输入输出控制规则表
3参数优化和规则调整
在实际运行模糊控制器之前需要研究控制器输入输出特性,对控制器进行优化。LabVIEW的模糊控制器设计工具包提供了这种功能。在I/OCharacteristic中可以观察给定输入情况下控制器应用的控制规则以及推理结果,根据经验判断该结果是否满足控制要求,如果不能,则对相应的隶属度函数的参数或控制规则做相应的修改,直至输出能满足期望要求。
图4程序框图
4.软件设计
LabVIEW是一种图形化程序设计语言,使得程序开发过程相对容易。程序框图部分如图7所示:需要说明的是:
1)程序中使用了快速开发控件(ExpressControl)来完成周期测量以及直流电压输出。该控件是从LabVIEW7.0以后版本提供对数据采集卡的快速操作控件,使得程序开发变的更加容易。
2)由于转速测量信号是由电机转轴上安装的一个突出叶片阻隔光电隔离传感器产生,电机每转一周信号变化一个周期,所以转速n(r/min)=60/T。
3)Fuzzycontroller(模糊控制)节点的输入变量和相应输入变量名在程序中必须有相同的名称;LoadFuzzyController节点载入前面的.fc文件,可以在LoadFuzzyController节点的输入控制中指出文件路径,也可以在程序运行时指定。
4)程序中速度变化率用相邻两次实际速度采样值之差来替代,比例系数K2取1/500,由于采样时间相等,所以这种替代是可行的。
5)由于控制器输出为电压增量输出,所以需要一个累加来确定最终的电机控制电压。程序中通过while循环的寄存器来实现电压增量的累加。
6)电机实时转速和给定速度在同一个实时记录图中显示。
图5系统运行前面板
5系统运行及结果分析
系统运行及前面板显示如图8所示。在实时记录图中观察系统运行结果,可知该控制系统在给定速度突然增加或减小时的超调量小于10%,调节时间小于1s,稳态误差也比较理想,并在输入扰动时能很快恢复,对扰动有很强的抑制能力,具有较好的适应性。同时也可以清楚的观察到系统具有一定的延迟,这是由于数据采集,程序运行都需要一定的时间,造成控制的实时性比较差。改善的方式是使用现场专用控制器,在LabVIEW8中提供的项目管理功能可以非常方便的把在上位机上设计好的程序下载到现场控制仪器中,以提高控制的实时性能。
6结论
通过利用虚拟仪器软件结合控制工具包能够非常迅速的实现直流电机的模糊控制系统。设计中体现出模糊控制技术在控制领域应用中的一些优势,如设计过程不必对系统建立精确的数学模型,控制参数选取比较容易,从结果中看实际控制性能比较好。
本文创新点:
1将模糊控制算法应用到直流电机转速控制系统中,并利用虚拟仪器来实现,使控制器设计过程简化,易于实现,且方便移植。
2利用LabVIEW8及ControlTookit设计的可视化图形界面和控制程序实现了对直流电机供电电压的动态调整,使转速控制系统具有超调小,调节时间短以及振荡小的优点。