数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。TMS320LF2407是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,片内处理集成RAM、Flash及定时器外,还集成了A/D转换器、PWM控制器及CAN总线控制器等模块,特别适合于电机、电源变换等实时要求高的控制系统。但是通常设计DSP程序的方法是,在DSP的集成开发环境CCS中用C语言设计,需要花费大量的时间用来编写和输入程序代码。在Matlab中用图形化的方式设计DSP的程序,能够缩短产品的开发时间。本文所介绍的是一种基于TMS320LF2407实现的步进电机控制系统的设计。
1 系统硬件构成
整个系统分为五个部分组成:DSP中央控制器TMS320LF2407,步进电机及驱动,光电编码器,键盘及液晶显示部分,以及整个系统的外围电源电路及看门狗复位电路组成,如图1所示。在这个系统设计中,由键盘设定给定转速(位置),通过中央控制器TMS320LF2407来产生PWM脉冲信号来控制步进电机的转速(位置),可以采用光电编码器对步进电机的转速(位置)进行采样检测实现闭环控制,也可以采用开环控制无需转速(位置)信号,以上过程中的多个变量、参数可以在液晶显示屏上得到直观地反映。整个硬件结构简单直观,中央控制器TMS320LF2407还剩余丰富的I/O及中断资源,在此设计基础上具有一定的扩展空间。
图1 硬件原理方框图
本设计采用的是55BF03型三相反应式步进电机,其接收数字控制信号(电脉冲信号),并转换成与之相对应的角位移或直线位移。此设计是用中央控制器TMS320LF2407产生的PWM环形脉冲信号经过信号分配以及功率放大传送给步进电机实现对步进电机的角位置或直线位移控制,所以此步进电机的驱动结构设计由以下几部分组成,脉冲信号,信号分配,功率放大,步进电机及负载,如下图2所示。在这个设计中基于对力矩、平稳、噪音及减少角度等方面的考虑,在这里设计成产生一个三相六拍信号来进行步进电机的控制,通电顺序为A-AB-B-BC-C-CA,步距角为1.5°,功率放大采用的是典型的单压驱动方式。
图2 步进电机驱动方框图
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为"步距角",它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。此外,为判断旋转方向,码盘还可提供相位相差90º的两路脉冲信号。
光电编码器的选择,可以选择增量式编码器或绝对值编码器,前者适用于速度检测,后者适用于位置检测。编码器的A、B信号与正交解码脉冲单元QEP相对应的引脚连接,可以检测出步进电机的速度(位置),并且能够判断出步进电机的旋转方向。
在显示方面,由于液晶显示器(LCD)点阵式或图形式不仅可以显示字符、数字,还可以显示各种图形、曲线和汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本显示等功能,功耗小、体积小、质量轻、超薄等诸多其它显示器无法比拟的优点,用途十分广泛。本系统设计中用到的是HY-12864图形液晶显示器,它内置两块HD61202液晶显示控制驱动器,此屏幕的最大显示范围为128*64.HY-12864引出的以下控制信号:读写信号(R/W)、数据或指令信号(RS)、左、右屏片选信号(CS1、CS2)、使能信号(E)及数据总线(DB0--DB7),由TMS320LF2407的I/O口直接控制,连接原理图如下图3所示。
图3 液晶显示HY-12864与TMS320LF2407的硬件连接图
2 软件设计
在整个软件设计中,共包含主程序、步进电机驱动程序、液晶显示驱动程序,按键扫描中断程序、编码器检测换算程序等程序块。
下面着重介绍一下步进电机驱动程序及编码器检测换算程序。在步进电机驱动程序设计中,充分运用TMS320LF2407控制器的事件管理模块。在TMS320LF2407中各有一个16位比较寄存器CMPRx(x=4、5、6),每个比较器各有两个比较PWM输出引脚,产生3路PWM输出信号,控制电机转速(位置),其输出引脚极性将由控制寄存器(ACTR)的控制位来决定,根据需要选择高电平或低电平作为开通信号。在PWM信号调制中需要周期一定的载波,这时用到了定时器3,它以内部CPU时钟作为输入,工作于连续增/减计数模式下,产生PWM脉冲输出,产生的脉冲为一个环形可变脉冲,这时由T3PR定时周期下溢和上溢时产生中断,刷新周期值,进行PWM调整,计算方式如下:
电机转速与电脉冲频率f的关系:
最后,此设计中把给定转速转化成相对应的二进制码,用29297除以给定转速即得到PWM基数,所得到的PWM数值再乘以3得到定时器3的T3PR的周期值,对应不同频率的PWM脉冲输出,如图4,电机运行中断程序框图。
图4 电机运行中断程序框图
光电编码器的检测利用正交解码脉冲单元QEP,A、B分别与正交解码脉冲单元的两个通道QEP1和QEP2相连。正交解码脉冲单元QEP具有方向检测功能,它的方向检测逻辑辨明两个序列中哪一个是先导序列,接着可以产生方向信号作为所选定时器的方向输入,如果QEP1输入的是先导序列,则所选的定时器增计数;反之QEP2输入的是先导序列,则所选的定时器减计数。注意两列正交输入脉冲的两个边沿都被正交解码脉冲单元计数,因此产生的时钟频率是每个输入序列的4倍。在本系统中把定时器2用为作为计数器,它以正交解码脉冲单元产生的时钟作为输入,与正交解码脉冲单元QEP1、2共同作用,对编码器信号进行检测,换算成所对应的转速(位置)信号。
本文所介绍的步进电机控制方案,其创新点在于利用TMS320LF2407的事件管理模块,可以简单有效的控制步进电机的速度(位置)。系统中并设计了相应的人机界面,进行相应变量的显示、操作,同时该系统留有一定的资源可以方便系统的扩展。