卢 贶
(武汉软件工程职业学院,湖北武汉 430205)
步进电机广泛应用在生产实践的各个领域。比较大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。步进电机也能应用在其它机械上,比如通用软盘驱动器的马达,也可应用在打印机和绘图仪中。
步进电机将电脉冲转化为角位移,即当步进功率驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的,同时可通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
在步进电机的单片机控制系统中,要求能实现以下三个基本控制任务:(1)控制换相顺序。步进电机的通电换相顺序要严格按照步进电机的工作方式进行,也称为脉冲分配,本文通过软件法实现脉冲分配。(2)控制步进电机的转向。通过改变通电的相序来实现。(3)控制步进电机的转速。通过调节脉冲频率来实现。步进电机整个控制系统逻辑框图如图1所示[1]。
图1 步进电机控制系统逻辑框图
单片机系统采用型号为STC89C52的微处理器,该单片机具有8K的内部Flash,512字节的RAM,是得到广泛使用的价格低,性能高的单片机之一。单片机的作用是产生步进电机控制脉冲、检测矩阵键盘、显示四位7段数码管指示电机速度、通过UART与上位机通信等功能,其逻辑方框图如图2所示。电路中监控模块电路以IMP706芯片为核心;UART接口部分采用MAX232芯片。单片机系统中使用独立的5V供电电源,保证单片机系统稳定、可靠工作。
图2 单片机系统框图
由于系统中有电机类感性器件存在,为了提高控制系统抗干扰能力,应用处理器监控芯片是首选措施之一。监控芯片IMP706可为系统提供上电、掉电复位功能,也可提供其它功能,如低电压报警、看门狗等。该芯片在上电、掉电期间或手动情况下会产生复位信号,芯片内部有一个1.6s的看门狗定时器和4.40V电源电压检测电路。另外,还具有1.25V门限的电源故障报警电路,可用于检测供电电源电压和非5V的电源异常情况。其内部结构框图如图3所示。
图3 IMP706内部结构图
两相步进电机的两相绕组相互独立,步进功率驱动电路可采用L9110芯片。L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;宽电源电压范围:2.5V~12V;两个输出端能直接驱动电机的正反向运动,其具有较大的电流驱动能力,每通道能通过750~800mA的持续电流,峰值电流能力可达1.5~2.0A;同时其具有较低的输出饱和压降;内置钳位二极管能释放感性负载的反向冲击电流。使用中,可贴上小型散热片,减少温升。L9110芯片引脚定义如表1所示,其控制时序图如图4所示。
表1 L9110引脚定义
步进功率驱动电路如图5所示。功率驱动电路中同样需要设计防干扰的措施,U3为四路隔离光耦,将从J5接口引入的单片机系统控制信号与步进电机完全隔离,注意IOVCC网络也从单片机系统中接入,本系统中使用的是5V电源,因此接入5V电压即可,如果使用其他电压值的单片机系统,可灵活改变该网络接入电压。C9、C10电容可直接焊接在步进电机引线端口处,为瓷片电容,减小电机对系统的干扰[2]。
控制器软件主程序包括初始化和主循环,以及串口0、定时器0和定时器1中断服务程序模块。定时器0中断每隔10ms产生一次,用来查询是否有按键按下。定时器1中断时间间隔根据电机转速设定。控制器软件整体框图如图6所示[3]。
步进电机功率驱动电路根据控制信号运行,控制信号由单片机系统产生。这些控制信号包括:控制换相脉冲输出、控制步进电机转向和控制步进电机速度。
2.2.1 换相控制
步进电机的通电换相顺序严格按照步进电机的工作方式进行。在图2电机控制框中,采用了P0.0-P0.3四个I/O端口控制步进电机的两相线圈,对应的相位和步进电机励磁方式如表2所示。表2中A与/A表示电机A相绕组的两端、B与/B表示电机B相绕组的两端。
两相步进电机驱动器逻辑通电方式一般有两相4拍、两相8拍和双4拍3种。两相4拍相序为:A—/B—/A—B,其特点是在任一时间仅有一相绕组通电;双4拍的相序为:A/B—/A/B—/AB—AB,其特点是能输出最大的转矩;两相8拍相序为:A—A/B—/B—/A/B—/A—/AB—B—AB,其特点是电机的步进角减半,但产生较小的正常转矩。
图5 步进功率驱动电路图
表2 CO2浓度分布的S-W检验
图6 控制器软件整体框图
根据表2,可以绘制出相应的三种励磁方式情况下,时钟脉冲、A、/A、B、/B等信号的波形关系,如图7所示。
三种励磁方式区别较大,比较数据如表3所示。一般来说,两相8拍方式性能最好,两相4拍方式性能较差,因此在步进电机控制中,选择合适的励磁方式非常重要。本系统在程序设计中,将上述三种励磁方式都编写成函数,根据不同的参数来调用希望的方式。
图7 三种励磁方式的波形图
表3 三种励磁方式比较
实测一种两相步进电机,型号为:VEXTA C8513-9012K,步进角1.8°,工作电压3.1V,最大相电流1.55A。编写三种不同励磁方式的控制程序:电机转速约150rpm,电机运行多圈后停止运行,测量电机轴转动一圈的拍数,电流值和步进角等数据,实测的数据如表4所示。
表4 实测数据
2.2.2 转向控制
电机的转向与步进功率驱动电路(图5)中J5(单片机系统接口)和J6(步进电机接口)的电气接线有关,本系统中电气接线关系如表5所示。
表5 电机方向相关的电气接线
同时步进电机转向还与励磁方式有关,按表一中的励磁相顺序驱动电机时,就是顺时针转动,即两相4拍顺时针相序为:A—/B—/A—B;双4拍顺时针相序为:A/B—/A/B—/AB—AB;两相8 拍 顺 时 针 相 序 为:A—A/B—/B—/A/B—/A—/AB—B—AB。当需要电机轴逆时针转动时,相应的相序为,两相4拍逆时针相序为:A—B—/A—/B;双4拍逆时针相序为:A/B—AB—/AB—/A/B;两相8拍逆时针相序为:A—AB—B—/AB—/A—/A/B—/B—A/B。电机顺时针和逆时针方向转动可编写在一个函数中,通过参数来选择转动的方向。下面是用来控制电机顺时针和逆时针转动的C语言程序[4](励磁方式为两相8拍):
2.2.3 速度控制
步进电机的转速可以用频率来控制,步进电机的运行频率跟转速成正比,可以通过计算公式,计算出步进电机的转速。两相步进电机转速计算公式为:
步进电机转速=脉冲频率*60/(200*X)(式一)——两相4拍或双4拍工作方式
步进电机转速=脉冲频率*60/(400*X)(式二)——两相8拍工作方式
上两式中:步进电机的转速单位是rpm;脉冲频率单位是Hz;X是指细分倍数。比如:步进电机采用整步,即1细分;脉冲频率1KHz,即1000 Hz;工作方式为两相8拍;套用公式,电机转速为:1000*60/400=150rpm。
电机速度调节是通过软件实现。将电机控制MotorRun函数放到单片机定时器中断程序中调用,定时器的定时时长根据按键输入的数值设定。假设按键输入转速为22.8rpm,励磁方式为两相8拍,由式二计算脉冲频率为152Hz,即6579μs,那么需要设置定时器定时时长为6579μs。选用STC89C52单片机的定时器一,工作方式一(16位定时器模式),晶振频率为11.0592MHz,计算定时器一的初值为59473(式中TCY为的单片机机器周期;运算结果四舍五入),初值折算成十六进制为E851H。在程序中定义一个全局变量,用于保持定时器一的初值:“static unsigned int T1Value;”。当赋值T1Value变量为E851H时,步进电机的转速即为22.8rpm[5]。下面是单片机定时器一C语言中断程序:
通过上述软件算法,可计算能够控制电机的最快和最慢速度。最快速度对应定时器最短的定时时长,即一个机器周期,该周期对应频率为921600Hz,通过式二可得转速为138240rpm,这个转速是理论值,步进电机转速不可能有这高,此时步进电机处于失步状态。实测型号C8513-9012K的步进电机,当定时器初值为FA9AH十六进制数值时,能达到最快的速度,即100rpm。当定时器初值为0时得到最慢速度2.1rpm。如果再增加调用MotorRun函数的时长,还可进一步降低转速。
步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展和步进电机本身技术的提高,以及性价比高的步进电机控制系统的大规模应用,步进电机将会在更多的领域得到应用。本方案以其高的性价比,配合一款42步进电机,组装成多运动角度的机械关节,已用在一款智能机器人系统中,整机系统可靠性和稳定性能够满足使用要求。
1 刘国永.单片机控制步进电机系统设计[J].安徽:安徽技术师范学院学报,2002:16(4):61-63.
2 杨克俊.电磁兼容原理与设计技术[M].北京:人民邮电出版社,2004:111-117.
3 唐继贤.51单片机工程应用实例[M].北京:北京航空航天大学出版社,2009:74-76
4 王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2002:181-197.
5 孙笑辉.减少感应电动机直接转矩系统转矩脉动的方法[J].电气传动,2001(1):8-11.