基于LabVIEW的直流电机模糊控制系统设计
下载后可任意编辑 基于LabVIEW的直流电机模糊控制系统设计 摘要:利用模糊控制算法实现了一个小型直流电机的转速控制系统。用LabVIEW的模糊控制器设计工具进行模糊控制器的设计,通过NI-PCI6251完成实时速度采集以及电机转速控制。实际运行表明该系统具有超调小,调节时间短以及振荡小的优点。 关键字:LabVIEW; 模糊控制; 转速控制; 数据采集卡 Abstract: A control system of rotating speed of a small DC motor is implemented by using fuzzy control algorithm. The fuzzy controller is designed by the fuzzy controller design tool of LabVIEW. The control of rotate speed and real-time speed acquisition are accomplished by data acquisition card NI-PCI6251.The result demonstrates that the system has advantageous of small overshoot, setting time and oscillation. Keywords: LabVIEW; fuzzy control; rotating speed control; data acquisition card 模糊控制技术是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制,最早出现于上个世纪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口来对光电传感器产生的转速信号进行测周,获得电机的实际转速。 图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(Center of Maximum)方法。模糊控制器设计完成后以.fc格式存储起来,以方便主程序调用。 表1 输入输出控制规则表 3 参数优化和规则调整 在实际运行模糊控制器之前需要讨论控制器输入输出特性,对控制器进行优化。LabVIEW的模糊控制器设计工具包提供了这种功能。在I/O Characteristic 中可以观察给定输入情况下控制器应用的控制规则以及推理结果,根据经验推断该结果是否满足控制要求,假如不能,则对相应的隶属度函数的参数或控制规则做相 应的修改,直至输出能满足期望要求。 图4 程序框图 4.软件设计 LabVIEW是一种图形化程序设计语言,使得程序开发过程相对容易。程序框图部分如图7所示:需要说明的是: 1) 程序中使用了快速开发控件(Express Control)来完成周期测量以及直流电压输出。该控件是从LabVIEW7.0以后版本提供对数据采集卡的快速操作控件,使得程序开发变的更加容易。 2) 由于转速测量信号是由电机转轴上安装的一个突出叶片阻隔光电隔离传感器产生,电机每转一周信号变化一个周期,所以转速n(r/min)=60/T。 3) Fuzzy controller(模糊控制)节点的输入变量和相应输入变量名在程序中必须有相同的名称;Load Fuzzy Controller 节点载入前面的.fc文件,可以在Load Fuzzy Controller 节点的输入控制中指出文件路径,也可以在程序运行时指定。 4) 程序中速度变化率用相邻两次实际速度采样值之差来替代,比例系数K2取1/500,由于采样时间相等,所以这种替代是可行的。 5) 由于控制器输出为电压增量输出,所以需要一个累加来确定最终的电机控制电压。程序中通过while循环的寄存器来实现电压增量的累加。 6) 电机实时转速和给定速度在同一个实时记录图中显示。 图