串行通讯在基于DSP控制的变频调速中的应用

2010-08-23 07:13申利燕王红俭
电气电子教学学报 2010年3期
关键词:波特率PC机控件

申利燕 ,王红俭

(山西煤炭职业技术学院,山西太原 030031)

TMS320F2812是美国TI公司专为数字电机控制DMC应用最新推出的32位定点DSP控制器,是目前控制领域最先进的处理器之一。TMS320F28XX系列的串行通信接口SCI支持CPU与其他采用标准NRZ格式的异步外设间的数字通信。异步传输模式采用RS-232-C格式终端和打印机等标准器件,利用DSP中的SCI模块完成与微机间的数据传递,实现DSP对异步电动机的变频控制。Visual Basic6.0是运行与Windows上的交互式可视化集成开发环境,利用通讯控件可实现PC机与DSP间的通信。

计算机提供了一个或多个符合RS-232标准的串行端口,通过对串口芯片进行编程,可以使串口具有不同的工作方式、不同的波特率和不同的数据位数等。本文提出的异步电动机变频调速控制设计中的通信是 PC机发送数据给 DSP,所以用PC机的COM1的第3针(发送端子)和DSP的COM1的第2针(接收端子)对接起来,并把两个串口的信号地第5针对接起来,就可以实现PC机与DSP之间的通信。

1 异步电动机变频调速的实现

1.1 变频调速的原理

如果忽略定子漏阻抗压降影响,异步电动机定子绕组感应电动势公式为

其中,u1为定子端电压,E1为定子绕组感应电动势为电源频率,为定子绕组的匝数为定子绕组的基波绕组因数,φm为主磁通。当运行频率低于额定频率时,φm近似不变,可采用恒电压频率比(u1/f1=c)控制实现变频调速。由于u1/f1为常数,所以只要改变频率 f1就可控制u1。

本设计采用磁通正弦PWM(即空间电压矢量SVPWM)策略控制功率开关器件通断,使逆变器输出电压波形尽量接近正弦波。DSP部分通过设置SCI模块寄存器,利用SCI的接收中断读取从PC机传送过来的二进制数据给变量rf(SVPWM的给定频率f1),再按照恒电压频率比控制方法设计的ru(SVPWM 的给定输出电压u1),由rf和ru作为输入信号生成SVPWM波,再结合实验室提供的硬件驱动电路驱动电机从而实现变频调速;PC机部分可以利用Visual Basic 6.0提供的ActiveX控件MSComm实现PC机发送二进制数据给DSP。

1.2 DSP部分软件设计

DSP的软件设计主要是SC1接收和中断的处理,分别介绍如下:

(1)SCI接收步骤[1]:①在接收地址块时,SCI端口唤醒并申请接收中断,读取地址块的第一帧,该帧包含目的处理器的地址;②通过中断和检查接收的地址启动软件历程,然后比较内存中存放的器件地址和接收到数据的地址字节;③如果上述地址相吻合,表明地址块与DSP的地址相符,则CPU清除SLEEP位,并读取块中剩余的数据;否则,退出软件子程序并保持SLEEP置位,直到下一个地址块的开始才接收中断。

(2)本设计中用到了两个中断[1-3],一个是定时器1的下溢中断,另一个是SCI的接收中断,中断优先级为前者高于后者。当SVPWM正在计算比较寄存器的值时,如果突然串口发数据过来,程序不是立即终止计算进入接收中断,而是等计算结束后再进入SCI接收中断,这样保证了SVPWM 脉冲调制的正确性。为了使主程序能够正确进入两个中断,在SCI的接收中断里嵌套定时器1的下溢中断,具体程序流程如图1所示。

1.3 PC机部分软件设计[4]

PC机利用Visual Basic6.0提供的ActiveX控件MSComm,实现与DSP通信,在form窗体中加入一个通信控件MSComm和一个定时器控件Timer1。通信控件用于给DSP发送数据,定时器控件用来实现数据发送的持续性。

图1 DSP部分程序流程图

MSComm控件工作步骤:①设置通信对象、端口号以及初始化参数(包括波特率、奇偶校验位、数据位和停止位等)和其它相关属性;②设定通信协议;③打开通信端口,进行数据传送;④关闭通信端口,释放系统资源。

数据进行串行通信时,有以下的两种传送方式:①字符形式通常以小于ASCII128的字符码来传递,通常用于传送指令;②二进制形式将数据以二进制编码的方式传送,它可能含有ASCII码128以上的字符码,通常用来传送数据数据,用来节省时间。

调试程序可能会遇到如下问题。

(1)VB编程中数据匹配的问题

对于没有串口编程经验的开发人员来说,实际当中碰到最棘手的问题可能就是数据发送和接收时变量类型的匹配问题。无论使用MSComm控件的Input属性,还是使用其Output属性,通信过程都可以处理文本和数据两种情况,这两种情况所采用的方法是不同的。本设计中要给DSP发送给定频率和给定电压,所以采用二进制形式传送,Input-Mode属性设为1。

(2)VB界面与SCI波特率的一致性

如果二者的波特率不一致则会导致发送数据错误,所以在编写串口通信程序中一定要注意通信双方的通讯协议一致,此处波特率为19200。

2 实验结果

把绕线式异步电机接成电动机状态,用TMS320F2812的串行通信接口支持CPU与PC机的数字通信,在恒电压频率比的条件下实现异步电动机的变频调速控制。其实验结果示于图3。由图可见,给定频率突然增大或减小时,转速也会随着频率的变化而增高或降低,而定子电压在给定频率增大时幅值和频率都增大。

图3 变频调速转速和定子线电压波形

3 结语

本文讨论了在Visual Basic6.0可视化集成开发环境下利用MSComm控件简单方便地实现PC机与DSP间的通信,并通过通信实现异步电动机的变频调速控制。其优点在于硬件接线简单,软件编程方便可行,但是此方法只适合于近距离通信。

[1] 苏奎峰等编著.TMS320F2812原理与开发[M].北京:电子工业出版社,2005

[2] 王潞刚,陈林康主编.DSP C2000程序员高手进阶[M].北京:机械工业出版社,2004

[3] 王炼红,章兢.TMS320F2812DSP与PC机的串口通信设计[J].北京:微计算机信息,20067-2:173-175

[4] 范逸之,陈立元编著.Visual Basic与 RS-232串行通信控制[M].北京:清华大学出版社,2005

猜你喜欢
波特率PC机控件
CAN 总线波特率自适应程序设计
关于.net控件数组的探讨
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
VIVID3彩色超声仪结构原理及维修
ASP.NET服务器端验证控件的使用
C*Core芯片SCI串口波特率容限优化
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
UART波特率发生电路设计