基于DSP实现的步进电机控制器的设计
扫描二维码
随时随地手机看文章
引 言
DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理运算的微处理器,其采用先进的软、硬件结构,其内部的程序空间和数据空间分开,可以同时访问指令和数据,并且具有事件模块管理功能及快速的中断处理功能,其以高性能及日趋低价位的特点,越来越广泛地应用于信息处理、控制系统中。TMS320LF2407芯片作为一款定点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 步进电机驱动方框图
光电编码器的选择,可以选择增量式编码器或绝对值编码器,前者适用于速度检测,后者适用于位置检测。编码器的A、B信号与正交解码脉冲单元QEP相对应的引脚连接,可以检测出步进电机的速度(位置),并且能够判断出步进电机的旋转方向。
在显示方面,由于液晶显示器(LCD)点阵式或图形式不仅可以显示字符、数字,还可以显示各种图形、曲线和汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本显示等功能,功耗小、体积小、质量轻、超薄等诸多其它显示器无法比拟的优点,用途十分广泛。本系统设计中用到的是HY-12864图形液晶显示器,它内置两块HD61202液晶显示控制驱动器,此屏幕的最大显示范围为128*64。HY-12864引出的以下控制信号:读写信号(R/W)、数据或指令信号(RS)、左、右屏片选信号(CS1、CS2)、使能信号(E)及数据总线(DB0——DB7),由TMS320LF2407的I/O口直接控制,连接原理图如下图3所示。[!--empirenews.page--]
图3 液晶显示HY-12864与TMS320LF2407的硬件连接图
2 软件设计
在整个软件设计中,共包含主程序、步进电机驱动程序、液晶显示驱动程序,按键扫描中断程序、编码器检测换算程序等程序块。
下面着重介绍一下步进电机驱动程序及编码器检测换算程序。在步进电机驱动程序设计中,充分运用TMS320LF2407控制器的事件管理模块。在TMS320LF2407中各有一个16位比较寄存器CMPRx(x=4、5、6),每个比较器各有两个比较PWM输出引脚,产生3路PWM输出信号,控制电机转速(位置),其输出引脚极性将由控制寄存器(ACTR)的控制位来决定,根据需要选择高电平或低电平作为开通信号。在PWM信号调制中需要周期一定的载波,这时用到了定时器3,它以内部CPU时钟作为输入,工作于连续增/减计数模式下,产生PWM脉冲输出,产生的脉冲为一个环形可变脉冲,这时由T3PR定时周期下溢和上溢时产生中断,刷新周期值,进行PWM调整,计算方式如下:
最后,此设计中把给定转速转化成相对应的二进制码,用29297除以给定转速即得到PWM基数,所得到的PWM数值再乘以3得到定时器3的T3PR的周期值,对应不同频率的PWM脉冲输出,如图4,电机运行中断程序框图。
图4 电机运行中断程序框图[!--empirenews.page--]
光电编码器的检测利用正交解码脉冲单元QEP,A、B分别与正交解码脉冲单元的两个通道QEP1和QEP2相连。正交解码脉冲单元QEP具有方向检测功能,它的方向检测逻辑辨明两个序列中哪一个是先导序列,接着可以产生方向信号作为所选定时器的方向输入,如果QEP1输入的是先导序列,则所选的定时器增计数;反之QEP2输入的是先导序列,则所选的定时器减计数。注意两列正交输入脉冲的两个边沿都被正交解码脉冲单元计数,因此产生的时钟频率是每个输入序列的4倍。在本系统中把定时器2用为作为计数器,它以正交解码脉冲单元产生的时钟作为输入,与正交解码脉冲单元QEP1、2共同作用,对编码器信号进行检测,换算成所对应的转速(位置)信号。
本文所介绍的步进电机控制方案,其创新点在于利用TMS320LF2407的事件管理模块,可以简单有效的控制步进电机的速度(位置)。系统中并设计了相应的人机界面,进行相应变量的显示、操作,同时该系统留有一定的资源可以方便系统的扩展。