步进电机控制系统的设计
2015-04-29唐玲
唐玲
摘 要:系统由单片机产生数字脉冲信号,通过ULN2003驱动芯片控制电机的运行。由于脉冲信号的频率决定电机的转动速度,所以要改变转速就需要改变脉冲频率。系统采用定时中断的方法改变脉冲频率,而按键次数主要控制外部中断用以改变存储区中的速度值,步进电机的输出脉冲频率就发生相应的改变,最终达到改变转速的效果。
关键词:脉冲频率;转速;定时中断;外部中断
中图分类号:TP391.8 文献标识号:A 文章编号:2095-2163(2015)02-
Design of Control System for Stepping Motor
TANG Ling
(Collge of physics and electronic information, China West Normal University, Nanchong Sichuan 637009,China)
Abstract: The system produces a digital pluse signal by SCM, and uses the ULN2003 to drive chip control the operation of motor. Because the rotational speed of motor is detemined by the frequency of the pulse signal, so to change the system speed need change the pulse frequency. The system adopts the method of timing interrupt which is the way of changing the pulse frequency. In the meanwhile, the number of buttons could control the external interrupt that is used to change the speed value in the storage area. The output pulse frequency of stepping motor will change accordingly. Finally the speed has to change.
Keywords: Pluse Frequency; Rotation Rate; Timing Interruput; External Interrupt
0 引 言
隨着自动化控制的不断发展,运动控制技术已经成为推动新工业的重要技术,而运动控制系统中的核心单元就是步进电机控制模块。步进电机是一种完成数字/角度转换的电磁机械装置,可以利用电脉冲信号驱动步进电机按预设的方向转动并控制其转动到一个固定角度。综上分析可知,步进电机的转动应该有一定的角度定位,为了准确地定位,就需要控制其角位移量,而这一参数的控制通过改变脉冲个数来实现;同时电机的转速大小也是可以改变的,主要是通过改变脉冲的频率来实现[1]。
1 系统总体设计
1.1 系统的组成
本系统主要用AT89S52单片机来实现,再配上四相八拍的步进电机。由单片机产生的数字脉冲信号通过驱动芯片ULN2003来控制电机,同时电机还可以实现以下功能:加减速、正反转和液晶显示。其中,显示主要是实时标明电机的转速,加减速和正反转则通过按键来控制,因此系统的主要组成部分是:ULN2003驱动电路、显示电路、按键电路、单片机最小系统、电源电路[2,4]。系统总体设计如图1所示。
图1 系统总体设计
Fig.1 Overall designer of the system
1.2 按键电路
电路中设置四个按键,主要用于输入控制完成顺时针旋转、逆时针旋转、加速、减速,分别是由K1、K2、K3、K4这四个按键确定。电机的正反转由K1和K2的断开和闭合来实现,而K1和K2分别与单片机的P1.0和P1.1相连,K1和K2按键的状态由P1.0和P1.1接口送入单片机,单片机芯片再调用相应的方向转换程序。而步进电机的转速变化主要通过改变脉冲频率来实现。改变脉冲频率的方法有两种,分别是软件延时和定时中断。本系统采用的是定时器中断,通过K3、K4的断开和闭合控制电机加减速,再通过外部中断控制改变存储区中的速度值,步进电机的输出脉冲频率就随存储区中的数值做出相应的改变,最终达到改变转速的效果。按键电路图如图2所示。
图2 按键电路
Fig.2 Key circuit
1.3 驱动电路
驱动电路主要是驱动芯片ULN2003,该芯片由达林顿管组成。ULN2003的1B~4B口接收单片机P0.0~P0.3的输出脉冲,而后从1C~4C口将放大后的信号输出到步进电机的A、B、C、D相。驱动电路如图3所示。
图3 驱动电路
Fig.3 Driver circuit
1.4 显示电路
由于电机具有换向和加减速的功能,而电机转速又分为不同的等级,因此为了实时观察电机的运行方向和运行速度,系统设计了工作状态和电机转速的显示电路。显示电路采用LCD1602模块开发得到电机转速的实时显示。LCD1602的RS、R/W、E端口分别迪对接单片机的P0.5、P0.6、P0.7口 ,而D0~D7端口则分别连接了单片机的P2.0~P2.7。显示电路如图4所示。
图4 显示电路
Fig.4 Indicating circuit
2 软件设计
由于系统主要是实现步进电机的转动和换向,所以设计过程十分清晰。软件包含主程序部分、定时中断部分、外部中断部分和显示部分。其中主程序需要完成系统的初始化、系统状态的显示、开关按键的扫描并根据检测结果实施相应的处理[3]。特别地,系统的初始化可分解为如下步骤:一是初始化定时器,二是初始化外部中斷。三是给单片机P1口送初始值以决定脉冲分配方式,速度值存储区送初始值确定电机的启动速度,给旋转方向值送初始值用以确定电机的初始旋转方向,液晶显示初始化。
在此,给出主程序的具体工作流程如下:首先是对液晶显示进行初始化,然后进行按键状态的检测,检测到有状态变化,再调用步进电机的相关数据显示子函数。按键检测时先检测正反转按键,再检测加减速按键。当K1按键按下时, P1.0口读回值为低,电机开始以初始值(若初始值设为5档)顺时针旋转,显示器上显示“CW5”,再检测按键状态,若K3按键按一次,则电机转速加一档,显示器上显示“CW6”,若K3按键再按一次,则电机转速再加一档,显示器上显示“CW7”,依次类推。若K4按键按一次,则电机转速减一档,显示器上显示“CW4”,若K4按键再按一次,则电机转速再减一档,显示器上显示“CW3”,依次类推。同理,当K2按键按下时, P1.1口读回值为低,电机开始以初始值(若初始值设为5档)逆时针旋转,显示器上显示“CCW5”,再检测K3、K4按键的状态并选做相应的处理。为了让电机正常运行,程序中设置了电机转速的范围,若电机转速在加减过程中使得转速超过预定范围,则电机将停止转动。主程序流程图如图5所示。
图5 主流程图
Fig.5 Main flow chart
定时中断部分主要设置脉冲频率从而决定电机的转速。电机定子上有绕组,当绕组上通入电流,而且电流是按一定的时间间隔接通,电机就会转动起来。其中,电流接通的时间间隔将直接影响电机转动的快慢,电流接入时间越长,转动速度越慢。定时中断程序主要是通过对电机的运行方向进行判断、发速度脉冲和保存当前的状态。
外部中断主要是用于改变转动速度,而电机的转动速度又由电机的输出脉冲频率决定。具体实现是在硬件电路中设置按键,K3和K4按键每动作一次,程序就调用一次中断,存储区中的速度值就发生一次与其对应的变化,这样电机的转动速度也就发生一定的相应变化。
显示部分采用1602液晶显示步进电机的实时运行状态,不仅可以显示数据,还可以显示相关的状态。
3 结束语
文中的系统是以单片机为硬件中心,驱动芯片ULN2003操控电机完成相应的一系列工作,并通过按键控制电机的运动状态和转动速度。该系统具有实时控制的特点,尤其是功能还可以丰富扩展,由此将进一步拓宽其使用范围,因而系统研究具有重要的现实意义和实用价值。
参考文献:
[1]孟武胜,李亮.基于AT89C52单片机的步进电机控制系统设计[J].微电机,2007,40(3):64-66.
[2]徐益民.步进电机的单片机控制系统的设计[D].哈尔滨:黑龙江科技学院,2005.
[3]何立民.MCS-51系列单片机应用系统设计[M].北京:人民邮电出版社,1993.
[4]王小明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.
1 作者简介:唐 玲(1985-),女,四川绵阳人,硕士,助教,主要研究方向:图像处理、电子技术实验设计与仿真。