1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。虚拟仪器实验设计报告题 目 基于LabVIEW的直流电机模糊控制系统设计 学生姓名 文安新 学 号 学 院 机电工程学院专 业 材料成型及控制工程指导教师 王会清二一 一年十二 月二十日摘要: 利用模糊控制算法实现了一个小型直流电机的转速控制系统。用LabVIEW的模糊控制器设计工具进行模糊控制器的设计, 经过NI-PCI6251完成实时速度采集以及电机转速控制。实际运行表明该系统具有超调小, 调节时间短以及振荡小的优点。 模糊控制技术是以模糊集合论、 模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制, 最早出现于上个世纪60年
2、代, 在其后的几十年中迅速发展。当前模糊控制技术在控制领域的应用非常广泛。LabVIEW则是一种面向仪器测量控制的图形化的编程语言, 配合数据采集卡或其它外部设备能够非常方便的构成以计算机为核心的测量控制系统。 直流电机的传统PID控制方法虽然能够很好的完成对电机转速的有效控制, 但存在动态性能相对差, 恢复时间长, 超调量大以及参数整定困难等缺点。而于上个世纪60年代出现的模糊控制技术在某种程度上能够克服上述缺点。本设计利LabVIEW软件结合模糊控制算法, 在NI公司的ELVIS实验平台上实现有刷直流电机转速的模糊控制系统。经过实际测试, 模糊控制性能比较理想。 1 系统组成 系统结构框图
3、如图1。图1中: SP为速度给定值;PV为速度反馈值;e为速度偏差, 为速度偏差变化率;K1、 K2为比例因子。系统中直流电机的供电以及转速测量需要相应的 图1 电机转速模糊控制系统结构框图 外围硬件电路, 其它部分经过软件编程由计算机来实现。 系统硬件线路图如图2所示。使 用光电隔离器来获取转速脉冲信号, 经过数据采集卡送入计机。数据采集卡使用NI-PCI6251 。PCI6251具有两路模拟输出口, 2个计数器, 16路模拟输入口。设计中使用其模拟输出口ao输出产生电机控制电压, 由于6251的模拟输出口的输出电流不足以驱动直流电机, 因此需要在ao口加一个电流放大电路;用计数器ctr0口
4、来对光电传感器产生的转速信号进行测周, 获得电机的实际转速。 图3 模糊控制器结构 2 模糊控制器设计 模糊控制器由模糊化、 规则库、 模糊推理和去模糊化4个部分组成, 如图3, 各部分功能分别是: 模糊化是将输入的精确量转换为模糊量;规则库是一些根据专家经验或者其它方式获得的控制规则集;推理机制是解释和应用规则库中的专家经验实现最优控制;去模糊化是把模糊推理结论转换为精确量的输出。 LabVIEW的控制工具包提供了模糊控制器图形化设计工具, 其使用非常方便。该设计工具当前只支持四个语言变量输入以及一个语言变量输出, 每个语言变量下面最多能够有9个子模糊集, 而且只支持四种隶属度函数: 三角型
5、, 梯型, S型和Z型, 比Matlab控制工具箱提供的要少许多, 但对一般的模糊控制器设计能够很好的满足要求。 设计中选择常见的2维模糊控制器, 两个输入变量为速度误差e和速度误差变化率 , 一个输出变量为电压增量 。实际设计中由于速度误差的变化率在给定速度突变时趋于无穷, 因此取电机实际转速的变化率来代替 。另外为输入量模糊化的方便, 分别给两个输入变量乘上合适的系数K1和K2。 根据实验数据, 若控制电机转速在0-4000r/min的范围内根据对于速度误差 及输出电压增量 分别在其论域上定义9个模糊集: NL( 负极大) , NB( 负大) , NM( 负中) , MS( 负小) , Z
6、O( 零) , 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 参数
7、优化和规则调整 在实际运行模糊控制器之前需要研究控制器输入输出特性, 对控制器进行优化。LabVIEW的模糊控制器设计工具包提供了这种功能。在I/O Characteristic 中能够观察给定输入情况下控制器应用的控制规则以及推理结果, 根据经验判断该结果是否满足控制要求, 如果不能, 则对相应的隶属度函数的参数或控制规则做相应的修改, 直至输出能满足期望要求。 图4 程序框图 4.软件设计 LabVIEW是一种图形化程序设计语言, 使得程序开发过程相对容易。程序框图部分如图7所示: 需要说明的是: 1) 程序中使用了快速开发控件( Express Control) 来完成周期测量以及直流电
8、压输出。该控件是从LabVIEW7.0以后版本提供对数据采集卡的快速操作控件, 使得程序开发变的更加容易。 2) 由于转速测量信号是由电机转轴上安装的一个突出叶片阻隔光电隔离传感器产生, 电机每转一周信号变化一个周期, 因此转速n( r/min) =60/T。 3) Fuzzy controller( 模糊控制) 节点的输入变量和相应输入变量名 在程序中必须有相同的名称;Load Fuzzy Controller 节点载入前面的.fc文件, 能够在Load Fuzzy Controller 节点的输入控制中指出文件路径, 也能够在程序运行时指定。 4) 程序中速度变化率用相邻两次实际速度采样值
9、之差来替代, 比例系数K2取1/500, 由于采样时间相等, 因此这种替代是可行的。 5) 由于控制器输出为电压增量输出, 因此需要一个累加来确定最终的电机控制电压。程序中经过while循环的寄存器来实现电压增量的累加。 6) 电机实时转速和给定速度在同一个实时记录图中显示。 图5 系统运行前面板 5 系统运行及结果分析 系统运行及前面板显示如图8所示。在实时记录图中观察系统运行结果, 可知该控制系统在给定速度突然增加或减小时的超调量小于10%, 调节时间小于1s, 稳态误差也比较理想, 并在输入扰动时能很快恢复, 对扰动有很强的抑制能力, 具有较好的适应性。同时也能够清楚的观察到系统具有一定
10、的延迟, 这是由于数据采集, 程序运行都需要一定的时间, 造成控制的实时性比较差。改进的方式是使用现场专用控制器, 在LabVIEW8中提供的 项目管理功能能够非常方便的把在上位机上设计好的程序下载到现场控制仪器中, 以提高控制的实时性能。 6 结论 经过利用虚拟仪器软件结合控制工具包能够非常迅速的实现直流电机的模糊控制系统。设计中体现出模糊控制技术在控制领域应用中的一些优势, 如设计过程不必对系统建立精确的数学模型, 控制参数选取比较容易, 从结果中看实际控制性能比较好。 本文创新点: 1 将模糊控制算法应用到直流电机转速控制系统中, 并利用虚拟仪器来实现, 使控制器设计过程简化, 易于实现
11、, 且方便移植。 2 利用LabVIEW8及Control Tookit设计的可视化图形界面和控制程序实现了对直流电机供电电压的动态调整, 使转速控制系统具有超调小, 调节时间短以及振荡小的优点。 基金资助: 湖北省教育厅教学研究项目 0354。 参考文献: 1 Kevin M. Passino & Stephen Yurkovich. 模糊控制M.北京: 清华大学出版社, . 2 National Instruments, PID Control Toolset Manual, November 11, , pp. 53-152. 3 张全庄, 模糊神经网络控制在直流电机控制中的应用电工技术, , 12, pp. 40 4 杨咏梅, 陈宁.基于Matlab的模糊自整定PID参数控制器的设计与仿真, 微计算机信息, , 21( 12-1) : 61-63.