田聪,苏畅
(黑龙江工业学院电气与信息工程系,黑龙江鸡西,158100)
基于51单片机的步进电机控制系统设计与实现
田聪,苏畅
(黑龙江工业学院电气与信息工程系,黑龙江鸡西,158100)
结合51单片机的特点,研究设计步进电机的控制系统,以51单片机AT89S52为控制核心,选用ULN2003A芯片组成的驱动电路,提出一种步进电动机控制系统设计方案。完成控制系统的硬件电路设计和软件编程,实现步进电机的控制要求。该系统简便易操作、控制精度高,具有较高的使用价值。
步进电机;单片机;控制系统
步进电机是常用于过程控制和及仪表中的控制元件之一,因其控制系统具有结构简单、功能强大、性能稳定、价格低廉等诸多优点,在数控机床、自动化包装、电动阀门、医疗设备等方面有着广泛而深入的应用。步进电机具有以下优点:结构部件少,没有电刷,在较宽范围内进行速度平滑调节;步进电动机速度不受负载变化的大小的影响,具有快速启停、易于调整、停止时能自锁等特点。因此,步进电机是机电设备中应用最为广泛的一种电机。单片机控制技术在工业控制领域发展越来越成熟,而且生产成本低,抗干扰能力强。结合51单片机的特点,对步进电机的控制系统进行研究与设计,很有实用意义和价值。
步进电机,又称为脉冲电机,其工作原理在于能直接接收数字脉冲信号,将其转换为应角位移或线位移。电动机的转速控制、停止的位置取决于脉冲信号的频率和脉冲数,只存在周期性误差而没有累积误差。对电机施加一个相应的脉冲信号时,电机收到信号后就会转过对应的步距角。可见,控制了脉冲信号也就控制了步进电机。步进电机传统的控制方式是利用触发器产生控制脉冲来进行控制的,但这一控制方式难以实现人机交互,并且具有控制电路复杂、控制精度低、成本高等缺点。单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制,所以,步进电机的控制系统非常适合采用单片机进行控制。
基于51单片机的步进电机控制系统主要由以下部分构成:单片机最小系统、驱动电路模块、按键控制电路模块、步进电机。其中单片机系统是整个系统的控制核心,接收各种控制信号,分析处理,完成脉冲分配,实现步进电机的相应控制,比如启动、停止、转向、变速等。
单片机通过控制所发送脉冲频率的高低,来完成对步进电机速度大小的控制,实际就是控制脉冲的频率的过程。步进电机的转动速度与脉冲频率成正比,电机转动的角度与脉冲数也成正比,在降低脉冲频率,电机减速运行;提高脉冲频率,电机加速运行。脉冲频率可以通过硬件定时、软件延时来实现。
由于单片机输出的电压、电流较小,不能直接驱动步进电机,因此必须进行放大,才能使电机正常运行。驱动电路的作用是将单片机输出的脉冲信号进行电压和电流放大,从而驱动步进电机的各相绕组,使步进电机能够根据不同的控制脉冲信号分别作相应的动作。按键控制电路的作用是:通过设置按键开关进行步进电机的启停、正反转控制,还可以按要求进行调速。
通过软件编程,可使单片机产生控制脉冲、实现脉冲分配,完成步进电机的相应控制。以51单片机作为控制核心组成步进电机控制系统,实现了硬件电路与软件编程相结合的控制方法,简化了电路的同时,还降低了成本,可达到对步进电机的最佳控制。
根据控制系统的总体结构,可以设计出基于51单片机的步进电机控制系统的硬件电路,如图1所示。
控制系统的核心部件是单片机,选用51系列单片机AT89S52。AT89S52是一款低功耗、高性能的CMOS 8位微控制器,自带8K的Flsah存储器,可以在线编程,满足系统设计要求。步进电机部分使用四相五线减速步进电机,型号28BYJ-48,基本参数有:电机直径28mm,电压DC 5V-12v,步进角度是5.625×1/64,减速比是1/64。
图1 步进电机控制系统的硬件电路原理图
由于AT89S52单片机的输出信号的功率较小,不足以驱动电机,所以需要外加驱动电路才能使步进电机正常工作。本设计中步进电机功率和额定电流都较小,从成本角度考虑,驱动模块部分可采用集成驱动芯片ULN2003A。ULN2003A是一种高压、大电流的驱动芯片,内部含有7个硅PNP大功率达林顿管,可提供最高0.5A的电流,适合本设计。ULN2003A的输入端连接单片机的P1口,其中P1.0-P1.3输出驱动信号;输出端接步进电机。按键控制电路较为简单,设置3个按键,分别控制步进电机的停止、正转、反转。
控制系统功能实现如下:
(1) 复位:电路上电时复位;手动按下按键开关S1可复位,控制精度高,工作可靠。
(2) 步进电机工作情况控制:按下按键开关S2,电机正转;按下按键开关S3,电机反转;按下按键开关S4,电机停转。
(3) 速度控制:通过软件编程的方式,给电机设置不同延时时间,可改变控制脉冲的频率,从而改变步进电机步距角,实现电机加速,减速。延时时间常数越大,电机转速越慢,延时时间常数越小,电机转速越快。
系统软件主要完成键盘扫描、识别判断,脉冲产生、分配和脉冲输出。使用软件的方式,使单片机产生相应的控制脉冲,并完成脉冲分配,实现步进电机转向和转速控制。控制系统上电后单片机进入初始化,设定各寄存器的初值,此时电机停转;如果有按键按下,立即产生中断信号,CPU启动中断服务程序判别键值,用以执行相应的子程序,通过改变寄存器值完成步进电机的方向和速度的控制。
使用软件编程的延时程序来完成电机的转速控制。延时时间常数越小,电机转速越快。步进电机的旋转方向取决于内部绕组的通电顺序。改变电机内部各相绕组的通电顺序即可控制步进电机的转向改变步进电机的转向。通过软件编程,使得单片机给绕组施加不同相序的脉冲电流,可实现电机的转向控制。为了使系统的带负载能力更强,运行更平稳,可选用四相八拍驱动方式。四相八拍方式通绕组的通电顺序:正转时,按照A-AB-B-BC-C-CDD-DA-A...顺序通电;反转时,按照D-DC-C-CB-B-BA-A-AD-D…顺序通电。
基于51单片机的控制系统,实现了软件与硬件相结合,简化了电路,降低了成本,可以使步进电机平稳运行。通过软件编程可实现自动控制和精确控制,提高步进电机的控制精度,免受失步、振荡等不利的影响;同一硬件电路可以控制和驱动多相步进电机,通过灵活的接口电路,单片机使键盘电路、复位电路等外围电路实现了有机组合,大大提高系统的通用性,从而使得系统的交互性大大增强。该控制系统设计可以用于高精度步进控制系统中,具有一定的实用价值和很好的应用前景。
[1]李美艳.基于89C51 单片机的步进电动机控制系统设计[J].
电子设计工程,2014,22(23):125-127.
[2]李冰.基于单片机的煤矿步进电机驱动控制系统设计[J].煤矿机械,2014,35(5):226-228.
[3]何冲,王淑红,侯胜伟,牛慧文.基于AT89C52单片机的步进电机控制系统研究[J].电气技术,2012,(4):5-8.
[4]袁红.浅谈单片机的步进电机控制系统[J].科技展望,2016,31:56-56.
[5]古志坚.基于单片机的步进电机控制系统研究[D].华南理工大学硕士学位论文,2013.
Design and implementation of stepper motor control system based on 51 MCU
Tian Cong, Su Chang
(Department of electrical and information engineering, Heilongjiang Institute of technology, Jixi Heilongjiang,158100)
Based on the characteristics of 51 single chip microcomputer, the control system of the stepper motor is studied. With 51 MCU AT89S52 as the control core, this paper presents a design scheme of stepper motor control system using the drive circuit of ULN2003A chip. Complete the hardware circuit design and software programming of the control system to realize the control requirements of stepper motor. The system is easy to operate and has high control precision with high use value.
stepper motor; MCU; Control system
田聪(1981--),女,黑龙江鸡西人,讲师,硕士,主要研究方向:机电一体化技术、电气工程、实验教学。