基于LabWindows/CVI和Matlab的直流电机转速控制仿真系统设计

2016-03-11 08:33徐园园洪雪梅
电源技术 2016年4期
关键词:虚拟仪器直流电机传递函数

徐园园,洪雪梅

(1.华侨大学信息科学与工程学院,福建厦门362011;2.上海交通大学电子信息与电气工程学院,上海200240)

基于LabWindows/CVI和Matlab的直流电机转速控制仿真系统设计

徐园园1,2,洪雪梅1

(1.华侨大学信息科学与工程学院,福建厦门362011;2.上海交通大学电子信息与电气工程学院,上海200240)

介绍了一种基于LabWindows/CVI和Matlab的直流电机转速控制仿真系统。充分发挥Labwindows/CVI和Matlab的优势,利用LabWindows/CVI和Matlab的软接口技术,实现了LabWindows/CVI人机界面设计,Matlab进行PID运算的直流电机转速控制系统。该系统编程简单,具有良好的软件交互界面,控制效果良好,有实际应用价值。

LabWindows/CVI;Matlab;数字PID控制;直流电机

随着电力电子技术、微电子技术和现代控制理论的发展,以电动机速度控制为中心的电机控制系统得到推广应用。目前,直流电机已经广泛应用于企业的机电设备中。与交流电机相比,直流电机具有在宽广的范围内平滑而经济的调速性能,如:调速范围广,稳定性好,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起制动和反转等良好的起动性能。因此,直流电动机在起动和调速要求较高的生产机械上得到广泛的应用[1]。控制电机转速的算法有PID算法、自适应模糊控制法等。

虚拟仿真实验是通过仿真软件来建立控制对象的模型,模拟真实实验所需要的条件和环境来进行的实验。LabWindows/CVI是美国NI公司推出的著名虚拟仪器开发平台之一,以ANSI C为核心,将功能强大、运用灵活的C语言平台与数据采集、分析和表达等测控专业工具有机的结合起来,提供了理想的界面开发环境[2]。Matlab是Mathworks公司开发的科学计算环境,拥有丰富的函数库,几乎涵盖了所有的工程计算领域,是国际公认的优秀数学应用软件之一。但其界面开发能力较差,且数据输入、网络通信和硬件控制等方面比较繁琐[3]。

鉴于LabWindows/CVI和Matlab的优缺点,本文将两者有机结合、优势互补,提出一种基于引擎的LabWindows/CVI和Matlab软接口技术,并实现了直流电机转速PID算法(Proportion Integral Differential Coefficient Arithmetic)控制。

1 LabWindows/CVI和Matlab的引擎调用技术

本文的关键技术是实现LabWindows/CVI和Matlab的混合编程,完成其数据和命令的交换,即软接口技术[4]。常用的技术有ActiveX技术和Matlab Compiler技术,使用时需要较强的软件专业知识和编程能力。本文提出了一种LabWindows/CVI和Matlab引擎调用技术,方法简单实用。

1.1 引擎程序的环境建立

LabWindows/CVI对Matlab引擎调用技术的实质是将Matlab当作计算引擎,通过LabWindows/CVI编写引擎程序向Matlab传送数据并调用Matlab命令,使之在Matlab的后台完成运算并返回计算结果。其环境建立即创建引擎函数的使用条件,具体包括建立3个静态链接库文件,分别为Libeng.lib,Libmx.lib,Libmat.lib。引擎程序中会使用到的engine函数和mx-函数都包括在静态库中。此外是对engine.h头文件的包含,因为engine.h中不但含有对引擎函数及相关数据类型的定义,还对matrix.h进行了包含,缺其将无法使用Matlab引擎。

1.2 引擎程序的主体部分

以下列代码为例,此例程可涵盖大多数引擎程序的主要步骤,其关键代码如下:

该引擎调用技术简单实用,充分发挥两种软件的优点,可成为开发智能虚拟仪器的有效途径,具有广泛的应用价值。但在混合编程过程中,由于在LabWindows/CVI运行的同时,又启动了Matlab进行后台数据处理,需要有较高的计算机硬件配置。

2 直流电机转速PID算法及其整定

直流电机是一种经常被用作控制元件的器件,它可以直接提供旋转运动。直流电机的传递函数是一个二阶无滞后传递函数。二阶无滞后传递函数模型为:

PID控制方法是工控界最常用的电机控制方法。计算机控制是一种采样控制,在计算机PID控制系统中,使用数字PID控制器,数字PID控制算法分为位置式PID控制算法和增量式PID控制算法,本系统采用位置式PID控制算法。

2.1 位置式PID算法

图1 位置式PID控制系统框图

2.2 数字PID的工程整定法

数字PID的三个参数影响着控制系统的控制效果。增大比例参数将加快系统的响应,有利于减小静差,但过大的比例参数会使系统有较大的超调,产生振荡;增大积分参数将减小积分作用,有利于减小超调使系统稳定,但系统消除静差的作用将变小;增大微分参数有利于加快系统的预知性,减小超调,但过大的话反而起到相反的作用[5]。

对PID参数的整定一般采用试凑法、经验数据法或者工程整定法。本文采取的方法是应用程序试凑的方法,对参数的调试实行先比例,后积分,最后微分的整定步骤。通过模拟或者闭环运行观察系统的响应曲线,然后根据各调节参数对系统响应的大致影响反复试凑参数,以达到满意的控制效果,从而确定数字PID调节器的参数。

3 系统实现

基于LabWindows/CVI和Matlab的直流电机转速仿真系统由界面和Matlab后台程序两部分组成。在界面,可由菜单项设置直流电机模型二阶传递函数参数输入设置用数值滑动条控件来实现,程序运行结果由Graph控件来显示。超调量、调整时间和增益由文本框显示。参数设置完成后,点击运行按钮,Matlab后台程序启动,并将运算结果返回给Lab-Windows/CVI,由Graph控件来显示。

4 结束语

本文详细给出了LabWindows/CVI和Matlab的软接口方法,并将其应用在直流电机控制仿真中,通过实测分析和应用,取得了较好效果。实践证明,引擎调用技术简单实用,可以更好发挥两套软件的优点,成为开发智能虚拟仪器的有效途径,具有广泛的应用价值。

图2 直流电机转速控制

[1]陈忠华,康立乾,王洋.直流调速系统中常规PI与模糊PI控制器的比较[J].计算机系统应用,2012,21(8):80-84.

[2]王建新,隋美丽.LabWindows/CVI虚拟仪器测试技术及工程应用[M].北京:化学工业出版社,2013.

[3]刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2011.

[4]张贤达.现代信号处理[M].北京:清华大学出版社,2002.

[5]徐园园.LabWindows/CVI对Matlab的引擎调用技术[J].华侨大学学报,2007,28(4):365-367.

Design and implement of speed control system for DC motor based on LabWindows/CVI and Matlab

This paper introduces a speed control system for DC motor based on LabWindows/CVI and Matlab. Combined Labwindows/CVI and Matlab,using soft interface technology of LabWindows/CVI and Matlab,it can implement the Human Machine Interaction with LabWindows/CVI and PID algorithm with Matlab.This system has the advantages of simple program,fine software interface and effective control so it has a certain practical application value.

LabWindows/CVI;Matlab;PID control;DC motor

TM 33

A

1002-087 X(2016)04-0892-03

2015-09-20

福建省泉州市科技计划项目(2015Z124)

徐园园(1980—),女,山东省人,讲师,博士生,主要研究方向为虚拟仪器及智能测控技术。

猜你喜欢
虚拟仪器直流电机传递函数
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于LabVIEW的火焰传递函数测量系统
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
基于FPGA的双绕组无刷直流电机软件设计
虚拟仪器技术在农业装备测控中的应用
红外成像系统的调制传递函数测试
基于虚拟仪器的DMFC实时监控系统
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法