2010年12月第31卷第6期湛江师范学院学报
JOURNALOFZHANJIANGNORMALCOLLEGEDec,2010Vol31No6
基于单片机的步进电机控制系统的设计
洪新华,陈建锋,霍鹏飞
(河南科技学院机电学院,河南新乡43003)
摘要:采用ATS51单片机,设计了步进电机控制系统,该系统主要由按键电路、单片机最小系统、ATS51单片机、步进电机状态显示电路、驱动电路以及步进电机等几部分组成,不仅可以实现电机的正反转,还可以实现17级调速,以及LED状态显示功能.系统设计可靠且易于实现,程序设计简单易懂
关键词:步进电机;单片机;单片机最小系统;子程序
中图分类号:TP275文献标识码:A文章编号:1006-4702(2010)06-0084-04
步进电机能将输入的电脉冲信号转换成输出轴的角位移或直线位移,这种电机每输入一个脉冲信号,输出轴便转动一定的角度或前进一步,因此又被称作脉冲电机或步级电机.步进电机输出轴的角位移量与输入脉冲数成正比,不受电压以及环境温度的影响,也没有累积的定位误差,因此控制输入的数字脉冲数即可实现电机的精确定位;而步进电机输出轴的转速与输入的脉冲频率成正比,控制输入的脉冲频率就能准确的控制步进电机的转速,可以实现在宽广的范围内精确调速.由于步进电机的这一特点正好符合数字控制系统的要求,同时电子技术的发展也解决了步进电机的电源问题.因此随着计算机技术和数字控制技术的发展,步进电机的应用也日益广泛.本文根据实际需要,设计了利用单片机的步进电机控制电路系统,价格低廉,简单明暸且易于实现,可用于数控机床等方面.
1总体设计方案
本系统主要由按键电路、单片机最小系统、ATS51单片机、步进电机电机电路、驱动电路以及步进电机等几部分组成.驱动电路可以采用FT5754芯片来实现,芯片内部有四组3A、5W、100V的PNP达林斯
1,!,∀顿电路及4个二极管,输出4个管脚1 ,#分别与步进电机的四相绕组向连接.但考虑到所采用的步进电机功率和额定电流都较小,以及经济性方面,本设计直接采用4个NPN型三极管来作为驱动电路.步进电机的控制主要通过5个按键来实现,这5个按键
分别表示∃正转%、∃反转%、∃加速%、∃减速%和∃停止%.单片机输出四路脉冲信号触发驱动电路的4个NPN型三极管,其中触发导通的三极管可驱动步进电机的相应绕组得电,即步进电机获得脉冲,而产生一定的角位移.单片机循序不断的输出时序脉冲,就可以实现步进电机的旋转了.总体设计原理见图1所示.
图1总体设计原理
2设计原理分析
2.1步进电机
设计采用25Y48H01型步进电机,内部接线如图2所示:
收稿日期:2010-10-05
作者简介:洪新华(1957),男,河南商城人,河南科技学院机电学院教授,博士,从事光电自动化研究.
第6期
洪新华等:基于单片机的步进电机控制系统的设计
85
步进电机的励磁方式有1相励磁、2相励磁和1~2相励磁3种,由于2相励磁具有转矩大、振动小等优点,在目前使用较为普遍,本系统的设计也采用这种励磁方式,步进电机各相绕组的励磁时序如表1所示.
表1步进电机四相绕组的励磁时序
绕组ABCD
脉冲
11100
20110
30011
41001
51100
60110
70011
81001
91100
100110
图2步进电机内部接线方式
2.2ATS51单片机及其最小系统
Atmel公司的生产的C51单片机是一种低功耗/低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储器技术,而且其输出引脚和指令系统都与MCS-51兼容.
单片机最小系统包括振荡电路和复位电路两部分,振荡电路采用12M晶振,这样一个机器周期T==
12fosc
12=1s.复位电路采用手动复位,当按下RESET按键,电阻R1、R2接通5V电源,此时R2分得电压12M
大约为4V,为高电平,即置单片机RST脚为高电平,单片机复位.2.3按键电路
采用5个按键用来控制步进电机的5种状态,即∃正转%、∃反转%、∃加速%、∃减速%和∃停止%.当按下其中一个按键时,电源通过上拉电阻和按键到地形成通路,使相应输入管脚接地,即给单片机送入一个低电平,此低电平即为有效电平.其电路如图3所示.
图3按键控制电路
2.4步进电机状态显示电路
状态指示采用3种颜色的发光二极管,∃绿色%、∃黄色%和∃红色%分别表示步进电机的∃正转%、∃反转%和∃停止%状态.限流电阻选择1K的电阻,使发光二极管的电压降为3V左右.2.5步进电机驱动电路
从单片机输出4路脉冲信号,经过非门和限流电阻,送到4个NPN型三极管的基极.如果从单片机输出的是高电平,经过非门变成低电平,送入三极管,使三极管截止;如果从单片机输出的是低电平,经过非门变成高电平,此高电平使三极管导通.步进电机的每相绕组并上一个二极管,目的是防止在三极管瞬间截止时,
86
湛江师范学院学报(自然科学)第31卷
绕组电感所产生很高的感应电动势击穿三极管.非门采用74LS04芯片,其内部共有6个的非门,这里只用了其中的4个.驱动电路如图4所示.
图4步进电机驱动电路
3程序原理分析
3.1程序设计思路
根据外围电路的设计,单片机的输入为P1口的前5个管脚,输出为P1口的后3个管脚和P2口的前4个管脚.主程序部分首先向驱动电路输出4路高电平,使电机停转,然后设置定时器T0的工作方式以及给允许中断位置高电平,点亮∃停转%的状态显示,接下来进行按键扫描,如果有∃正转%或∃反转%按键按下,则跳转到相应的程序段;如果有∃停止%按键或没有任何按键按下,则跳转到程序的初始部分.正转部分,首先点亮∃正转%的状态指示,随后输出起始脉冲,接下来扫描按键,判断是否执行加速、减速或停转,然后调用给定时器T0赋初始值子程序,最后左移累加器A中的数值,如此循环便可实现步进电机的正转.反转部分与正转部分的程序设计雷同,不再赘述.加速和减速部分,改变定时器定时的初始值,即改变定时时间便可实现.3.2定时器计数初值的设定
程序设计选用定时器T0的定时中断,来控制步进电机每走一步所用的时间,改变了T0的定时时间,就改变了步进电机的转速.定时器T0工作于方式1,晶振fosc=12MHz.由于采用的步进电机的步距角为7.5&,转1圈需要48个脉冲,设转速为N(r/min),则每min需送脉冲数据的个数为48N,即每送一个脉冲信号需时(s):
T=
60=1.25/N48N
定时器T0的计数初值Tx=65536-fosc∋T/12=65536-1.152∋106/N.设步进电机最低转速为20r/min,最高转速为100r/min,每5r设为一个速度级,一共17级.3.4程序设计流程
程序流程如图5所示.
5总结
本系统主要由按键电路、单片机最小系统、ATS51单片机、步进电机状态显示电路、驱动电路以及步进电机等几部分组成.状态指示采用3种颜色的发光二极管,∃绿色%、∃黄色%和∃红色%分别表示步进电机的∃正转%、∃反转%和∃停止%状态.输出驱动电路采用1个六非门芯片74LS04和4个三极管,来驱动步进电机
第6期
洪新华等:基于单片机的步进电机控制系统的设计
87
的四相绕组.短路保护采用一个0.4A的保险管,防止因绕组短路而烧毁烧毁电机.
本系统具有程序设计简单、成本低、控制精确、运行可靠等优点,可应用于磁盘驱动器、数控机床、轧钢机、机器人、以及自动化仪表等方面.
主程序开始程序初始化清零P1.5,点亮
红色LED扫描按键
赋定时器初值子程序
A入栈
TH0(R0+TABLE1TL0(R0+TABLE2
开启定时器T0
A出栈返回10ms延时子程序R7(10HR6(0FFHN
R6为零吗?
YR7为零吗?
YA左移或右移
图5程序执行流程
返回
N延时10ms,去拉动点亮状态指示灯输出脉冲信号扫描按键调用加速或减速子程序赋定时器初值,并开启定时器
参考文献:
[1]姜培昌,卢军霞.赵庆志基于PCI-1750数据采集卡的步进电机控制系统设计[J].山东理工大学学报:自然科学版,2010,
24(1):93-95
[2]张永华.步进电机运动控制系统硬件部分的设计[J].装备制造技术,2010(5):71-72[3]马超,许言.基于DSP的多步进电机联动控制研究[J].信息技术,2010(5):109-113[4]陈果.PLC控制步进电机分度的设计与实现[J].数控机床市场,2010(4):-90
[5]黄法恒,刘利.基于单片机的步进电机升降速及精度控制研究[J].微电机,2010,43(3):95-97
[6]牟光臣,石新峰,范峥.基于LABVIEW的交流电机振动测试系统的设计[J].河南科技学院学报,2009,37(3):57-59
DesignofStepperMotorControlSystemBasedonMicrocontrollor
HONGXinhua,CHENJianfeng,HUOPengfei
(SchoolofMechanical&ElectricalEngineering,HenanInstituteofScienceandTechnology,Xinxiang
453003,Henan,China)Abstract:TheATS51microcontrollorwasusedtocontrolthesteppermotorsystem,notonlyachievingrotationandreverserotation,butalso17levelspeedandeffectofLEDstationdisplaying.Thedesignedcircuitwasreliableandeasytoimplement,andprogramswaseasytounderstand.Thesystemiscomposedofkeycircuit,microcomputersystem,ATS51microcontrollor,steppingmotorstationdisplayingcircuit,drivercircuitandsteppingmotor.
Keywords:steppermotor;microcontrollorsystem;subprogram