一种步进电机控制系统的方案设计研究

时间:2022-09-22 03:26:08

一种步进电机控制系统的方案设计研究

摘要:本文主要设计一种由51单片机控制的、以PROTEUS为平台、用于驱动步进电机运转的控制系统,文中给出了系统的硬件部分设计及软件部分设计,很好地解决了当前对步进电机控制误差的问题。

关键词:步进电机,控制系统,设计

Abstract: in this paper, a design of controlled by 51 single-chip microcomputer, taking PROTEUS as the platform, control system for driving operation of stepper motor, the design of hardware and software design part of the system are given in this paper, a very good solution to the current on the stepper motor control error problem.

Keywords: stepper motor, control system, design

中图分类号:S611 文献标识码:A文章编号:

一、引言

步进电机作为一种优秀的动力给予设备可以说在当今社会的各个领域中无处不在。随着工业生产水平的不断发展,以步进电机作为控制核心的传动设备在工业控制等领域得到了广泛的应用,包含机器人、工业电子自动化设备、医疗器件、广告器材、计算机外部应用设备等领域,步进电机的影子无处不在。中国作为一个制造业大国,生产车间中的流水线是企业完成产品组装和产品加工的重要场所,而步进电机在流水线设备中起到的动力作用至今仍然无法替代。本文的研究思路即为:采用单片机作为控制核心,实现对步进电机的精确控制。并将这种控制系统应用在生产车间的流水线传动设备中,增加了该控制系统的实效性和操作性。同时,由于单片机的高速性和精确性使得系统的设计在大为简化的同时又能实现精确控制,且应用成本低廉,因此可广泛应用在各行各业领域中。

二、步进电机驱动控制系统模块电路

2.1、稳压电源电路模块

本机使用两种共地电源:+5V, +12V,硬件设计中采用自带电源方式。因为本机有单片机,还有许多逻辑芯片,这些芯片的工作电源电压为+5V,所以电源中必须有+5V电源。另外由于本机设计需要为步进电机和ULN2003A提供+12V工作电源,因此,本系统中需两个输入电压,分别是+5V和+12V。+5V是单片机、7404、CD4068和其他一些辅助器件的电压源供入,+12V则是作为步进电机等器件的电压源输入。根据上述设计需求,我们将系统的电源电路原理图绘制如下:

图1系统稳压电路原理图

2.2、复位电路模块

当单片机在运行过程中出现程序错误或者操作失误使系统不能正常运行时,需要进行复位操作,复位操作后,系统重新回到0000H处执行。复位信号从单片机的RST引脚输入,本电路采用的按键电平复位。

图2复位电路

2.3、晶振电路模块

单片机的晶振电路如图3所示,其中XTAU和XTAL2为片内振荡电路的输入和输出端。本系统晶振的振荡频率为12MHZ,晶振电路产生的脉冲经过内部触发器进行二分频后,成为单片机的时钟脉冲信号。

图3晶振点路

2.4、液晶显示接口电路模块

本系统采用AMPIRE128*64液晶显示器作为系统的显示模块,具体连接电路如下图所示。该液晶显示器共有18个引脚,GND端接地,VCC和RST引脚连接+5V电源信号,DB0-DB7分别连接单片机的P2.0-P2.7端口,US与P3.2相连,E与P3.5相连,CS1和CS2分别连接P3.0和P3.1, V0连接滑动变阻器。在实际调试时,可以通过调节滑动变阻器的阻值来对液晶显示器的背光进行调整。

2.5、电机驱动电路模块

ULN2003功放芯片作为本系统对步进电机的驱动芯片。在实际设计时,还需要增加一些电路共同构成驱动电路,与单片机联合起来进行步进电机的控制。总体来说,采用ULN2003功放芯片作为本系统的功放电路,是一种用相对便宜的价格构成的性能不错的步进电机驱动电路的方式,下图为本系统的功率驱动电路。根据电路设计思路,使用功率芯片与单片机进行连接时还需要增加限流电阻,图中的R1-R4即为限流电阻,同时,在连接步进电机时,需要根据步进电机的端子接线图进行连接,确保连接的正确性,功放芯片和步进电机的电源电压为+12V,在具体连接的时候,可以与稳压电源的+12V输出端子相连。

图4电机驱动电路

2.6、按键电路模块

本设计需要对步进电机的启动/停止、正转、反转、加速和减速运行给予控制,因此需要5个独立按键。在设计中,将这5个按键与单片机的P1.0-P1.4连接并结合一些器件实现对步进电机转动的控制。

三、系统软件部分总体设计

在本部分程序中,我们主要的工作量有:对所需要用到的一些函数进行定义、对单片机的一些管脚进行定义,设置定时器的参数以及设置液晶显示器初始显示字符等。由于单片机内部集成了振荡器,因此我们启动其内部振荡器。综上所述,可编单片机初始化及主流程程序如下:

#include

#include

#include

#define uc unsigned char

#define ui unsigned int

#define LCDPAGE OxB8 //设置页指令。

#define LCDLINE 0x40 //设置列指令。

sbit E=P3^5;

sbit RW=P3^4;

sbit RS=P3^2;

sbit CS2=P3^1 ; //左半平面

sbit CS1=P3^0; //右半平面

sbit Busy=P2^7; //忙判断位

uc scan_keyl,scan_key2; //按键功能选择,00停止,01正转10反转

UC stepl;step2;

static step_index;

ui count l,count2; //定时

uc butter; //按键

static speed; //速度参数定义

void main(void)

{

P2=0xff;

iniLCDO; //初始化 LCD

display(0,0x00,&MEI); // 美

display(0,0xl0,&DI); // 的

display(0,0x20,&KONG); // 空

display(0,0x30,&TIAO); // 调

display(0,0x40,&GONG); // 公

display(0,0x50,&SI); // 司

step2=0;

step 1=0;

Pl=Oxff;

P0=0;

EX1=1;

EA=1; //开中断

speed=2000;

}

在单片机初始化后,我们还要对LCD进行初始化,由于单片机和LCD初始化的速率是不一样的,因此我们要在两者之间插如一个足够长时间的延时程序以确保系统正常工作。在单片机,LCD初始化完毕后,我们即可通过键盘输入,调用中断和步进电机运行脉冲控制程序对步进电机进行控制,至此,我们可将系统工作流程列框图如下:

图5主程序流程图

四、结束语

本设计给出了步进电机硬件、软件设计与实现方法。硬件部分主要包括基于PROTEUS的系统原理图的设计,软件设计主要包括C语言在程序设计中的应用,用键盘输入控制步进电机的运转方式以及将运行状态显示在液晶显示屏上等,经验证,本文所设计的系统符合对步进电机控制的要求。

参考文献

[1] 唐国栋,高云国.基于L297/L298芯片步进电机的单片机控制[J].微计算机息.2006(34)

[2] 章小红,钱志良.步进电机控制系统的设计[J].苏州大学学报(工科版).2006(04)

[3] 曹建东.基于步进电机的转速测试系统[J].机电产品开发与创新.2007(05)

[4] 李晓菲,胡泓,王炜,程云涛.步进电机加减速控制规律[J].机电产品开发与新.2006(01)

上一篇:CAD技术在机械设计中应用 下一篇:基于IT技术的现代机械设计方法