工业自动化.基于单片机的步进电机控制系统及串行通信设计 上海电器技术(2008№.4)
基于单片机的步进电机控制系统及串行通信设计
张保许艳玲朱红永许骥
海军蚌埠士官学校
摘要:设计采用了AT 89S52单片机对步进电机进行控制,主要介绍了步进电机控制器的基本电路设计,编写 了驱动程序,并实现了与PC机的连接。
关键词:单片机步进电机控制系统通信设计
The Design of Control System about Step?——motor and
Serial Communication based
on
Single Chip
Abstract.The desiuses ATMEL89552 single gn chip
to
control the step—motor.This paper mainly introduces the design of
between of
,basic circuit about step—motor controller and driving program.The design¥ucceed8connectingin realizing the single chip and PC. Keywords:ATMEL89S52 singstep—motor control system communicatiodesign
le chip n 的转动,从而使工件转到相应的位置,同时能够使系 0前言
统调速方便。设计中利用串口通信,可以实现单片 机与PC机的连接。将步进电机的转速分为10级, 每控制一次,转速加一级或者减一级,转速也跟着变
步进电机是一种将电脉冲信号转换成相应的角 位移或直线位移的机电控制元件,即控制执行部件, 也是机电一体化的关键部件之一,广泛应用于各种 自动化控制系统与精密机械等领域。步进电机和普 通电机的区别在于脉冲驱动的形式,正是这个特点, 步进电机可以和现代的数字控制技术相结合。尽管 步进电机在控制的精度、速度变化的范围、低速性能 等方面不如传统的闭环控制的直流伺服电动机,但 在精度不需要特别高的场合就可以使用步进电机, 可以发挥其结构简单、可靠性高和成本低的特点。因 此,随着数字化技术的发展以及步进电机自身技术 的提高,步进电机将会在更多的领域得到广泛应用。
本文运用AT 89S52单片机,实现了对步进电机 的数字控制,同时将步进电机的脉冲信号通过串口 输出,被PC所接收,从而控制整个系统。
1 化,并将基数显示出来。总体方案的结构框图如图
1所示。 由1系统总体方框图 2步进电机的控制原理
步进电机是纯粹的数字控制电动机。当步进电
机驱动器接收到一个脉冲信号时,就驱动步进电机 按设定的方向转动一个固定的角度,通过控制脉冲 个数来控制角位移量,从而达到精确定位的目的;同
总体方案设计
时,通过控制脉冲频率来控制电机的转动速度与加 在本设计系统中,主要控制步进电速度,达到调速的目的。 机带动工件
—.47.. 万方数据
上海电器技术(2008№.4)
基于单片机的步进电机控制系统及串行通信设计?工业自动化
步进电机的驱动电路根据控制信号工作。在步 进电机的单片机控制中,控制信号由单片机产生。
振荡器及时钟电路。系统中,单片机的主要作用是 接收键盘设定值,显示转动速度,同时还具有串行通
其基本控制作用如下: 1)控制换相顺序
步进电机的通电换相顺序严格按工作方式进
信功能。当单片机发出脉冲信号的同时,PC机进行 接收,以便对信号进行处理。单片机通过P1.0口提 供控制步进电机的时序脉冲,以控制步进电机的运 行。系统采用软件来完成脉冲分配,就可根据系统 应用的需要,方便灵活地改变步进电机的控制方式。
行。通常,我们把通电、换相这一过程称为脉冲分 配。例如,四相步进电机的四相八拍工作方式,其各 B CD D—DA
4单片机的控制程序
单片机的控制程序主要有主控制程序、键处理
(正转)或DA—D—CD—C—BC—B—B A—A(反 转)。通电、控制脉冲必须严格这一顺序分别控制
A、B、c、D相的通电和断电。
2)控制步进电机的转向
程序(加速程序、减速程序、点位控制程序)、显示驱 动程序和串口通信监控程序。
如果按给定的工作方式正序通电、换相,步进电 机就正转;按反序通电、换相,步进电机就反转。
3)控制步进电机的速度
细分驱动主控制程序控制整个程序的流程,主 要完成程序的初始化、中断方式的设置、计数器工作
方式的设置及相关子程序的调用等。该主控制程序 流程图如图3所示。
由于给定步进电机一个控制脉冲,它就转一步, 再发一个控制脉冲,就会再转一步,两个脉冲的间隔 时间越短,步进电机就转得越快。因此脉冲的频率 决定了步进电机的转速。调整单片机发出脉冲的频 率,就可以对步进电机进行调速。 部分控制程序如下: Aerate、derate、single接到P2口上,分别表示加速、减速、单圈控制,低电平有效;stage表示级数;en 控制步进电机使能信号,高电平有效;cp控制步进 电机转速信号。
3控制器的基本控制电路
控制器的主要控制电路如图2所示。 while((aerate==0)&&(stage<10))//加速 信号有效,级数不超过lO,执行加速
.系统中的串口通信由专用的芯片MAX202组
{delay(200);//键盘延时 ell=1;//步进电机使能 stage+=1;//级数加1
成,主要用于系统与PC机的串行通信。CPU电路
由AT 89S52作为中央处理器,并配以简单的外围电
aerate=1;//hl速信号置0 while((aerate==1)&&(derate==1)&&(single 路组成:同时选用30 pF的电容和lkft组成系统自
==1)&&(stage<10))//没有控制则继续原动上电复位电路。11.0592 MHz晶振与2个30 p速转动 F {for(j=0;j<2;j++)
的电容组成了系统的时钟基准电路。由于CPU内 部就有存贮器,所以本系统未对其进行存储扩展。 控制键盘由3个独立式按键组成,一个加速、减速及 点位控制按键。选用的是共阳极数码管,可以显示 相应的速度级数。采用的单片机AT 89S52,具有8 kBytes{time(d[stage一1],th[stage一1]);//调用定时 Hash闪速存储器,2子程序,调节步进电机间隔时间,控制转速 56 Bytes内部R
AM,32个 I/0口线,3个16位定时/计数器,1个六向量两极 中断机构,一个全双工串行通信接口,同时片内还有
cp=pole[j%2];//输出步进电机控制信号 }
,
一48一
万方数据
相通电的顺序为A…BC…
工业自动化.基于单片机的步进电机控制系统及串行通信设计
上海电器技术(2008№?4)
圈2控制器的基本控制电路
(下转第52页)
—.49.. 万方数据