新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于VisSim/ECD的直流电机控制系统设计

基于VisSim/ECD的直流电机控制系统设计

——
作者:电子科技大学 谢文涛,童玲,王毅 时间:2007-01-26来源:《单片机与嵌入式系统应用》收藏

ti c2000系列dsp是用于电机控制的专用芯片,对于此类芯片控制算法的设计开发,往往需要花费大量的时间和精力在代码的编写和后期的调试上,而vissim/ecd的出现大大缩短了控制器的开发周期。vissim/ecd强大的仿真引擎和丰富的模型库,为dsp控制系统的设计带来了极大的便利。

1 vissim/ecd简介

vissim/ecd(vissim/embedded controls developer)是一套集成型软件,可快速完成ti公司生产的ti c2000系列的dsp控制系统原型机的开发测试工作,可为控制算法及指定的片内外设生成标准ansic定点代码,并进行仿真;支持tif243,lf2407,f2808,f2812以及msp430微控制器的评估板(evms/ezdsps)。

vissim/ecd提供特定的目标模块来生成片上设备的代码。这些模块包括模拟与数字输入、简易pwm输出、事件捕捉、i/o端口的读写、正交编码器输入、六通道带死区的矢量pwm输出及can2.0总线等。

vissim/ecd可将控制算法自动生成高质量的定点代码并编译链接成.out文件,通过jtag接口下载到目标dsp中,目标dsp和vissim/ecd之间的实时通信是通过jtag接口来实现的,当改变控制器增益和显示dsp控制器图形响应时,vissim/ecd的用户图形界面将被保留。

2 直流电机闭环控制系统的设计

2.1 控制系统结构

完整的控制系统结构如图1所示,该系统的控制变量是塑料板旋转的角度,塑料板是通过一个可旋转的轴固定在一个箱体上,其角度的变化是依据电机转速的改变带动气流来控制的,dsp控制器在vissim/ecd开发环境中设计完成,输出脉宽可调的电压给晶体管驱动电路,从而控制电机的电枢电压达到预定的控制效果,编码器作为角度传感器将实际的角度信号反馈到dsp控制器,预期角度可在vissim/ecd中实时设定,并通过vissim/ecd的plot窗口实时查看输出波形。

本文引用地址:http://www.eepw.com.cn/article/21193.htm

2.2 dsp控制器的设计
2.2.1 直流电机的控制原理
根据电机学的相关知识,可以得到电动机转速的表达式:

式中:ua为电枢电压,ia为电枢电流,ra为电枢电路总电阻,la为电枢电路总电感,ke为感应电动势计算常数,φ为每极磁通,n为电动机转速。

由(1)式可知,在保持励磁磁通不变的情况下,通过调整电枢电压可以实现对电机的调速,因此使用脉宽调制(pwm)控制电动机的电枢电压,实现调速。

2.2.2 模拟pi控制算法

在电动机的闭环控制系统中,速度调节一般采用pi算法,即比例积分调节方法。其时域的表达式为:

式中:kp为比例增益,ki为积分增益,e(t)为给定值与实际输出值构成的控制偏差。通过拉普拉斯变换,可以得到相应的传递函数:


因为tms320lf2407是定点dsp,因此必须将该算法离散化,这就需要用到vissim/fixed point模块。

2.2.3 定点dsp的q格式表示方法及vissim/fixed point模块

如果一个16位数被规格化为qk格式,则其一般表达式为:


从表达式不难看出,不同的q所表示的数不尽范围不同,而且精度也不相同,q越大,数值范围越小,精度越高,相反,q越小,数值范围越大,精度就越低。

在vissim/fixed point模型库中的模块都是通过这种q格式来表示不同范围和精度的小数的。它设定了两个数字,前一个数表示二进制小数点的位置,后一个数表示字长(对于本文所用的dsp,此处为16),q值为后面的数减去前面的数。(详见图2和图3所示的模块)

在仿真过程中若出现溢出现象,则此类定点模块能够自动调节小数点的位置,以确保获得最大的动态显示范围,并以高亮度显示溢出警示。

2.2.4 基于vissim/ecd的定点pi控制算法设计

根据公式(3)设计的定点pi控制算法如图2所示,图中比例增益和积分增益均为局部变量。convert是数据类型转换模块,将浮点数转换为定点模块能够接收的scaled int数据类型。定点积分模块和限制模块是层次结构模块。定点积分模块为离散化的1/s,其展开如图3所示,限制模块是用来限制输出的上下限的,保证pwm占空比在大于0的q15范围内(tipwm的接口模块为q15格式)。


2.3 增量式编码器原理及接口电路设计

2.3.1 增量式编码器与dsp的连接

tms320lf2407a dsp提供了增量式编码器的接口电路,用定时器2作为可逆计数器计算编码脉冲的个数。编码脉冲通过2个引脚qep1/cap1和qep2/cap2输入到芯片内部。因为这两个引脚是捕捉单元1、2复用引脚,所以这里要禁用其捕捉功能。考虑到选用的tms320lf2407 evm板给编码器输出引脚已经提供了上拉电阻,故选择集电极开路输出方式的两相编码器即可(因为测量角度范围在360°以内,所以无需零位脉冲引脚)。这里选用的是测量精度为360ppr(每转输出脉冲数)的小型增量式光电编码器。

当引脚qep1输入的编码脉冲超前qep2引脚输入的编码脉冲90°相位时,定时器2增计数;反之,定时器2减计数。另外,编码器接口电路利用输入编码脉冲的4个边沿加工成4倍频的计数脉冲信号和计数方向信号,这样就使编码器的分辨率提高了4倍,因此该增量式编码器的角度分辨率为0.25°,完全可以满足此系统的精度要求。

2.3.2 vissim/ecd的编码器接口模块设置

前面提到的vissim/ecd可提供特定的目标模块来生成片上设备的代码。编码器接口模块就是其中之一,模块的连接如图4所示,图中编码器模块有3个输出接口。其中t2cnt为定时器2的增减计数的输出,再通过一个计数值和角度转换模块,则可实时地输出当前塑料板旋转的角度,并作为反馈信号传给pi控制器。

另外,晶体管的饱和状态和截止状态使其拥有了开关特性,比较适合做电机的驱动电路,这里选用tip122达灵顿管,基极偏置电阻取500欧姆,电机选取额定电压为5v,转速为5400r/min的高速直流电机。
2.4 生成控制器及接口模块定点c代码、编译、链接并仿真
在vissim/ecd操作界面中,将定点pi控制算法模块、编码器接口模块以及t1pwm接口模块打包生成一个compound block,选择代码生成命令创建相应的定点c代码。然后调用ccs对其编译并链接,生成可下载到dsp中的.out文件,通过spectrumdigital的并口仿真器将执行代码下载到dsp的ram中进行实物仿真并调试,当各项性能指标符合设计要求后,则可将代码烧写至flash中完全dsp的开发工作,仿真结果如图5所示。

该系统pi控制器的比例增益和积分增益分别设定为0.4和0.8,图5中,"×"代替实时设定的角度,"o"代表塑料板实际的角度,其闭环控制效果很好地达到了要求;但由于外界的干扰因数以及塑料板所在轴和箱体之间的摩擦力,会导致系统短时间的轻微振荡和精度的缺失。

结语

由直流电机闭环控制系统的设计可看出,在vissim/ecd环境中运用模块的搭建及少量参数的设定就能开发出功能完整的dsp控制系统原型机,并完成相关的测试工作,这样可以缩短系统的开发周期,赢得宝贵的时间。



关键词:

评论


相关推荐

技术专区

关闭