首页 > 范文大全 > 正文

步进电机驱动电路设计与实现研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇步进电机驱动电路设计与实现研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 在分析了步进电机驱动芯片L297/L298 的性能、结构的基础上,结合MCS-51 单片机,介绍实现驱动步进电机的一种简单方法。文中给出了控制原理图。实测表明,利用该方法设计的步进电机驱动系统具有硬件结构简单、软件编程容易和价格低廉的特点。

Abstract: Based on the analysis of the performance and structure of the stepper motor driver chip L297/L298, this paper introduced a simple way to drive stepper motor, combining with MCS-51 microcontroller. This paper presents a control schematic. Measurement shows that the design of stepper motor drive system has simple hardware structure, easy and affordable software programming features by using this way.

关键词:步进电机;驱动电路;L297和L298芯片;单片机;C语言

Key words: stepper motor;drive circuit;L297 and L298 chips;microcontroller;C language

中图分类号:TM3文献标识码:A文章编号:1006-4311(2011)04-0047-02

0引言

步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用SGS公司推出的L297和L298两芯片可方便的组成步进电机驱动器,并结合MCS-51单片机进行控制,即可以实现用相对便宜的价格组成一个性能不错的步进电机驱动电路。

1工作原理

由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器。典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称为硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机目的。

2硬件电路组成

文中所控制的步进电机是四相单极式减速步进电动机。本文所设计的步进电机控制驱动器的框图如图2所示。它由MCS―51单片机、集成芯片L297和L298组成。

2.1 步进电机控制电路本系统的控制电路采用单片机MCS-51进行控制。

在工业检测、控制中,许多场合都要用到计数或定时功能。例如,对外部脉冲进行计数、产生精确的定时时间等。MCS-51单片机内有两个可编程的定时器/计数器T1、T0,以满足这方面的需要。两个定时器/计数器都具有定时器和计数器两种工作模式。

2.1.1 计数器工作模式计数器是对外来脉冲进行计数。MCS-51芯片有T0(P3.4)和T1(P3.5)两个输入引脚,分别是这两个计数器的输入端。每当计数器的输入引脚的脉冲发生负跳变时。计数器加1。

2.1.2 定时器工作模式定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生1个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用12MHz晶体,则计数频率为1MHz,即每过1μs的时间计数器加1。这样可以根据计数值计算出定时时间,也可根据定时时间的要求计算出计数器的初值。

2.2 步进电机驱动电路驱动电路由L297和L298芯片组成。L297是步进电动机控制器(包括环形分配器),L298是双H桥式驱动器。它们所组成的微处理器至双桥式步进电动机的接口如图3所示。这种方式结合的优点是,需要的元件很少,从而使得装配成本低,可靠性高和占空间少。并且通过软件开发,可以简化和减轻微型计算机的负担。另外,L297和L298都是独立的芯片,所以应用是十分灵活的。

2.3 步进电机原理①可以用数字信号直接进行开环控制,整个系统简单廉价。②位移与输入脉冲信号数相对应,步距误差不长期积累,可以组成结构较为简单又具有一定精度的开环控制系统,可在要求更高精度的组成闭环控制系统。③无刷,电动机本体部件少,可靠性高。④易于起动,停止,正反转及速度响应性好。⑤停止时可有自锁能力。⑥步距角可在大范围内选择,在小步距情况下,通常可以在超低转速下高转距稳定运行,通常可以不经减速器直接驱动负载。⑦速度可在相当宽范围内平滑调节,同时用一台控制器控制几台步进电动机可使它们完全同步运行。⑧步进电动机带惯性负载能力较差。

3软件设计

采用C语言编程

sbit P0.0=1; //CW 方向

sbit P0.1=1; //HALF 半步

sbit P0.2=1; //ENABLE 使能

sbit P0.3=1; //RESET复位

sbit P0.7=1; //CLOCK时钟

int SD(int a)

{ int time;

time=a;

TMOD=0*01; //TI采用定时器

TH0=(65536-time)/256;

TL0=(65536-time)%256;

TR0=1;

for(;;)

{

TH0=(65536-time)/256;

TL0=(65536-time)%256;

Do{}while(!TF0);

P0.7=!P0.7; //CLOCK输出时钟

TF0=0;

if (P1.4==0)SD(65536); //电机停止

If (P1.1==0)SD(1000);//调用子程序(低速)

else If (P1.2==0)SD(4000); //调用子程序(中速)

else If (P1.3==0)SD(16000);//调用子程序(高速)

else break;

}

}

Main()

{

if (P1.0==0)

{if (P1.1==0)SD(1000);//调用子程序(低速)

else If (P1.2==0)SD(4000); //调用子程序(中速)

else If (P1.3==0)SD(16000);//调用子程序(高速)

}

else if(P1.4==0) SD(65536); //电机停止

}

4结论

本文创新点在于提出应用单片机和L297、1298集成电路构成步进电机控制驱动器。使之具有元件少,可靠性高、占空间少、装配成本低等优点。通过软件开发,可以简化和减轻微型计算机的负担。另外,在上面提出的在加减速程序中定时器的装载值用式子计算不精确,这两条赋值要执行不少的时间,具体做的时候,可直接把初值计算出来或把除号用相加来计算,以达到精确的目的。

参考文献:

[1]刘宝廷.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997.

[2]何立民.MSC-51系列单片机应用系统设计[M].北京航空航天大学,1990.

[3]用L287、L298组成步进电机驱动电路[J].仪器仪表学报,24,(4),2004:573-574.

[4]李玉梅.基于MCS-51系列单片机原理的应用设计[M].国防工业出版社,2006.

[5]金钰,胡v德,李向春.伺服系统设计指导[M].北京理工大学出版社,2000:43-44.

[6]凌均淑.步进电动机的应用及驱动方式[J].电力建设,2005,26 (7):62-64.