基于单片机的步进电动机控制

2012-04-29 00:44徐晓津
读写算·素质教育论坛 2012年3期
关键词:单片机驱动

徐晓津

摘 要 文章论述了基于单片机的步进电动机的控制。结合步进电动机的驱动系统,以单片机作为控制器的核心器件,从步进电动机的硬件驱动电路和软件驱动程序两方面阐述其设计构成,从而控制步进电动机的运动,实现工作台的进给。

关键词 单片机 步进电动机 驱动

中图分类号:G64文献标识码:A文章编号:1002-7661(2012)03-0012-01

步进电动机是将电脉冲信号转换为相应的机械角位移的机电执行元件,具有控制简单,运行可靠,无累积误差等优点,因此得到了广泛应用。步进电动机的控制一般由控制器完成。简单的控制过程可以用各种逻辑电路实现,但是线路复杂,成本高,更改不便,而微处理器的问世,为步进电动机控制器的研究开辟了新的领域。自上世纪七十年代美国Fairchild公司研制的第一台单片机F8问世以来,单片机就以惊人的速度在各个领域发展和普及,为设计功能很强而且价格低的步进电动机控制提供了先进的技术和丰富的资源。采用单片机作为控制器的核心,这种结构不仅可以提高系统的可靠性,较易于对其功能进行增强和扩展,而且可以减少硬件电路,有效地降低步进电动机控制器成本。

本文所设计的步进电动机驱动系统,主要实现工作台的进给运动。由单片机控制输出的进给脉冲的数量、频率和方向,经驱动控制放大电路和步进电动机后,再由其机械传动机构即可以转换为工作台的位移量、进给速度和进给方向,从而满足数控系统对位移控制的要求。其结构设计示意图如图1所示:

图13D定位装置的总体设计图

一、步进电动机的驱动电路设计

由步进电动机的工作原理可知,为了保证其正常工作,必须由步进电动机的驱动电路将控制器送入的弱电信号通过转换和放大变为强电信号,使脉冲电流达到1~10A,才足以驱动步进电动机旋转。步进驱动电路主要由环形脉冲分配器、功率放大器组成,其结构及功能框图如图2所示:

图2步进驱动电路结构及功能图

1.环形脉冲分配器

环形脉冲分配器用于接收来自控制器的CP脉冲,从而控制步进电动机的通电方式。环形脉冲分配可以用硬件和软件两种方法实现,由于本设计是用单片机来控制步进电动机的转动,故只需软件编程,即利用单片机的并行端口循环输出按一定顺序排列的控制代码,经放大驱动电路送至步进电机各相绕组输入控制端。由于该数控装置中三个电动机的驱动方式完全类似,故仅以X向的步进电动机为例作说明。控制器单片机的P2.0~P2.3端口通过ULN2003A分别接X向步进电动机的A、B、C、D四相绕组控制端,选用1相励磁方式。如果正向顺序读取控制信号代码,电动机可以进行正转,如果反向顺序读取,电动机则实现反转。同时,如果改变各输出代码的延续时间,即可以改变电动机的转速。

2.功率放大器

从微机输出或从环形脉冲分配器输出的信号,脉冲电流一般只有几个毫安,不能直接驱动步进电动机,所以必须采用功率放大器将脉冲电流进行放大。与步进电动机匹配的驱动电路较多,现多采用专用的集成驱动电路,设计中使用了ULN2003A芯片。ULN2003A 是高耐压、大电流达林顿阵列,为单片双极型大功率高速集成电路,是可控大功率器件,单片机的I/O口可以直接与之接口,实现驱动控制。设计中,单片机的P0.0~P0.3端口、P0.4~P0.7端口通过74LS245的A0~A3、A4~A7口,分别对应两个ULN2003A的1B~4B输入端口,信号脉冲通过P0口送出,继而控制Y、Z方向的电动机。其中,74LS245是三态输出的8路同相双向总线收发器,为常用的总线驱动芯片,使用它可以增加P0口的扇出能力。单片机的P2.0~P2.3引脚直接与第三个功率放大器ULN2003A的1B~4B输入端口相连,通过发送信号脉冲来控制X方向的电动机。在使用步进电机时,只需对P0和P2口赋予不同的值,即可使X、Y、Z向步进电动机实现相应动作,从而控制工作台运动。

3.光电隔离电路

为保证信号传输质量,有效地抑制干扰,提高系统的可靠性,在单片机与功率放大器ULN2003A之间,利用光电耦合器件4N25构成光电隔离电路。其目的是切断单片机与步进电动机驱动电路之间的电气联系,使之相互独立,以防止处于大电流、感性负载下工作的驱动电路产生的干扰信号通过输出通道反窜入控制系统,而影响单片机的正常工作。同时因为ULN2003A本身是一个7路反向器,所以在光耦与ULN2003A之间又增加了非门元件。

二、步进电动机的驱动程序设计

工作台的驱动元件选用步进电动机,而步进电动机的转角、转速及转向由输入的电脉冲信号的数量、频率以及电动机绕组通电顺序来控制,所以电动机的转动实际上是由单片机的输出信号所决定。同时由于负载和惯性的作用,步进电动机还可能存在启动时失步、停止时前冲的现象,故为了保证定位精度,步进电动机的运行速度都需要有一个加速-恒速-减速-停止的要求,以使其运行平稳、准确。

设计中选择步进电动机的加减速方式为直线匀加速和匀减速,采用了软件程序延时的方法来确定步进脉冲的周期,通过顺序改变步进电动机转动控制子程序的延时时间,从而有规律地改变输出的步进脉冲频率,便可达到匀加速匀减速之目的。系统运行过程中,程序设置匀加速、匀减速延时时间表首地址为TABT,R7作为存储变址寄存器数据的工作单元,应用MOVC A,@A+DPTR 指令查出延时时间常数并送给寄存器R4,通过规律性地改变R4工作单元中的延时时间常数,达到改变单片机输出的步进脉冲频率,继而实现电机调速的目的。

以下为电机匀加速延时子程序内容:

RUN1: MOVDPTR,#TABT

MOVA,R7

MOVCA,@A+DPTR

MOVR4,A

LCALLDEL1调用加减速延时子程序

INC R7

RET

电动机在启动前,应用程序先计算出总步数,并将加速脉冲数、减速脉冲数、恒速脉冲数分别存于NN0、NN2、NN1寄存器,然后调用电机转动子程序。电机每走一步,都要判断步数。电机匀加速过程中,用DECNN0指令,一直执行NN0减1操作,当减至0时表示升速过程完毕,转入恒速运行阶段。电机恒速运行过程中,采用借位减法实现减1功能,一直执行NN1减1操作,当减至0时表示恒速过程结束,转入匀减速运行阶段。电机匀减速过程中,用DECNN2指令,一直执行NN2减1操作,当减至0时表示减速过程完毕,已到达预定位置,电动机停转,并置电机停止标志位为1。

参考文献:

[1]郑晓峰.数控技术及应用[M]. 北京:机械工业出版社,2008.

[2]张健民.机电一体化系统设计[M]. 北京:高等教育出版社,2003.

[3]边春远,王志强.MCS-51单片机应用开发实用子程序[M]. 北京:人民邮电出版社,2005.

猜你喜欢
单片机驱动
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
基于单片机的SPWM控制逆变器的设计与实现
轨旁ATC系统门控柜接收/驱动板改造
基于单片机的层次渐变暖灯的研究
在808DA上使用WIFI进行驱动数据同步
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
基于S3C6410的Wi-Fi驱动移植实现