步进驱动(共7篇)
步进驱动 篇1
0 引言
步进电机是一种将电脉冲信号转换为角位移的执行机构,其在数控领域得到了广泛的应用。但是,步进电机在低速运行时振动、噪声大,在其自然振荡频率附近运行时易产生共振,且输出转矩随着步进电机的转速升高而下降,这些缺点限制了步进电机的应用范围。步进电机的性能在很大程度上取决于所用的驱动器,改善驱动器的性能,就可以显著地提高步进电机的性能,因此研制高性能的步进电机驱动器是一项受到普遍关注的课题。本文在选择了合理的电流波形的基础上,提出了基于AT89C51单片机[1]的斩波恒流细分驱动方案。
1 步进电机概述
1.1 步进电机工作原理
以三相反应式步进电机为例,其典型结构见图1。当A相控制绕组接通脉冲电流时,在磁拉力作用下使A相的定、转子对齐,相邻的B相和C相的定、转子小齿错开。若换成B相通电,则磁拉力使B相定、转子小齿转过而对齐,而与B相相邻的C相和A相的定、转子小齿又错开,即步进电机转过一个步距角。若按A→B→C→A循环顺序通电,则步进电机按一定方向转动;若改变通电顺序为A→C→B→A,则电机反向转动,这种控制方式称为三相单三拍。按AB→BC→CA→AB或A→AB→B→BC→C→CA→A顺序通电则称为三相双拍或三相单、双六拍。无论采用哪种控制方式,在一个通电循环内,步进电机转角恒定为一步距角,可以通过改变步进电机通电循环次序来改变转动方向,通过改变通电频率来改变其角频率。
1.2 细分驱动原理
步进电机的细分控制是由驱动器精确控制其相电流来实现的。以四相电机为例,假如电机的相电流为2 A,使用常规驱动方式(如常用的恒六载波方式)驱动电机的话,电机每运行一步,其绕组内的电流将从0突然变为2 A或由2 A突然变为0,相电流的巨大变化必然会引起电机运行的振荡和噪声。如果使用细分驱动器,在10细分相状态下进行驱动,电机每走一微步,其绕组内的电流变化只有0.2 A而不是2 A,这样就大大减少了电机的振荡和噪声,而提高步进电机的性能才是细分的真正优点。步进电机细分器是将驱动电流设计成可变的恒流源,通过控制绕组中的电流数值可以调整步进电机步距的大小,从而把原步距角细分成若干步来完成。即原来对应于一个电压脉冲,转子转动一步为1.8o,经10细分后则每走一步为0.18o。
一般情况下,电机的定子若为m相绕组,如每次仅一相通电,那么一个循环电机转子转过一个齿距角αr,因此,步进电机的步距角αf为:
αf=αr/m=360/mZ 。 (1)
其中:m为定子的绕组数;Z为转子齿牙数。对同一台步进电机通过改变通电方式可以减小步距角αf,实现步进电机步距角的细分,这有利于实现控制系统的精确控制。但这种方法作用有限,不能满足更高的精度要求。根据式(1)进一步减小步距αf的途径是增加定子相数和转子的齿数,相应的电机成本和难度都会增加。为了达到较大的细分,就要在控制电路上采取措施。典型的方法是控制步进电机各相绕组的电流,使其按阶梯上升、下降。这样,电机绕组中的电流不是由0跃升到额定值,而是经过若干小步的变化达到额定值,所以绕组中的电流变化比较均匀。图2为四相电机8细分时的各相电流状态图。
通过图2(a)、图2(b)四相电机各相电流细分前后对比图可知,8细分时各相电流1/4的步距是上升下降的。原来一步转过的αf将由8步完成,即实现了步距角的8细分。
2 细分驱动软件设计
步进电机细分驱动系统[2]的软件主要由主控程序、细分驱动程序、键处理程序、显示数据处理及显示驱动程序、通信监控程序等部分组成。其结构框图见图3。
细分驱动主控制程序控制整个程序的流程,主要完成程序的初始化、中断方式的设置、计数器工作方式的设置及相关子程序的调用等。初始化包括8279各寄存器、8279的显示RAM、AT89C51的中断系统及内部RAM等[3]。在AT89C51的各中断中,使用了INT1、T0和T1这3个中断,其中,INT1为高优先级,在运行状态下,当有停止键按下时,则INT1中断服务程序将T0关闭,从而使步进电机停止,T0控制每一步的步进周期,该服务程序基本上只作重置定时器和置标志位的操作,而其他操作均在主程序中完成。细分驱动整体流程图见图4。
细分驱动程序中,细分电流控制信号的输出采用单片机片内EEPROM软件查表法,用地址选择来实现不同通电方式下的可变步距细分,从而实时控制步进电机的转角位置,其流程图见图5。相关函数如下:
Void InitMemory()/*用来初始化存储单元*/
Void SetInt()/*设置中断方式*/
Void SetTimeCount()/*设置计数器*/
Void ReadDocument()/*读取细分文档*/
Void SubDivision()/*细分驱动*/
Void LedDisplay(int *);/*显示*/
步进电机的正反转控制是通过改变电机通电相序来实现的。为达到对步进电机启/停过程的快速和精确控制,从其动力学特性出发,推导出符合步进电机矩频特性的曲线即指数型运行曲线,并将这一曲线量化后,存入EEPROM。步进电机在运行过程中,每个通电状态保持时间的长短由当前速度对应的延时时间值决定。
3 结束语
本文提出并实现的步进电机均匀细分驱动器,最高细分达到256,能适应大多数中小微型步进电机的可变细分控制、较高细分步距角精度及平滑运行等要求。细分驱动器的系统功能完善和大量新型元器件的采用,使所设计的驱动器具有体积小、细分精度高、运行功耗低、可靠性高、可维护性强等特点。系统软件功能丰富,通用性强,从而使控制系统更加灵活。
参考文献
[1]王忠飞,胥芳.MCS-51单片机原理及嵌入式系统应用[M].西安:西安电子科技大学出版社,2007.
[2]刘宝延.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997.
[3]刘国永,陈杰平.单片机控制步进电机系统设计[J].安徽技术师范学院学报,2002,16(4):61-63.
步进电动机原理及其驱动电路研究 篇2
关键词:步进电动机,数字控制,驱动电路
传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。可是在人类社会进入自动化时代的今天,传统电动机的功能已不能满足各种运动控制系统的要求。为了适应这些要求,发展了一系列新的具备控制功能的电动机系统,其中较有自己特点,且应用十分广泛的一类便是步进电机。近50年来,步进电机迅速发展而成熟起来,从发展趋向来讲,步进电机已经能与直流电动机,异步电动机,以及同步电动机并列,成为电动机的一种基本类型,步进电机己成为除直流电动机和交流电动机以外的第三类电动机。
1 步进电机的工作原理
步进电机是一种完成增量运动的电磁机械。它能将输入电脉冲信号转换成机械的运动量加以输出。每一个主令脉冲都可以使步进电机的转轴前进一个步距角,并依靠它特有的定位转矩将转轴准确地锁定在空间位置上。步进电机是离散型自动化执行元件,是自动控制系统中的重要执行部件,它在系统中可实现变换脉冲数为转轴的角位移,起电磁制动器、电磁差分器、电磁减速器和角位移发生器等。步进电机是一种将电脉冲信号转换成角位移或线位移的元件,其转轴输出的角位移量与输入的脉冲个数有关,通过控制输入脉冲个数来控制步进电机的角位移量,而通过控制脉冲频率可实现调速。
步进电机只要由定子和转子组成。定子的主要结构是绕组,两相电机即有两个绕组,其它以此类推。绕组按一定的通电顺序工作,这个通电顺序称为步进电机“相序”。转子的主要结构是磁性转轴,当定子中的绕组在相序信号作用下有规律的通电,断电工作时,转子周围就会有一个按规律变化的电磁场,因此一个按规律变化的电磁力就会作用在转子上,转子总是力图转动到磁阻最小的位置,正是这样,让转子按一定的步距角转动,使转子发生转动。步进电机步距角θ的计算公式:θ=360°/NZ,其中N为步进电机中一个通电循环的拍数,Z为转子齿数。其中常见的反应式步进电机分为转子和定子两部分。定子是由硅钢片叠成的。定子上有6个磁极(大极),每2个相对的磁极(N、S极)组成1对,共有3对。每对磁极都缠有同一绕组,也即形成一相,这样3对磁极有3个绕组,形成三相。可以得出,四相步进电机有4对磁极、四相绕组,五相步进电机有5对磁极、5相绕组……依此类推。每个磁极得内表面都分布着多个小齿,它们大小相同,间距相同。电机一旦通电,在定转子间将产生磁场(磁通量中)当转子与定子错开一定角度产生力,力矩与电机有效体积正比,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。
2 步进电动机的驱动电路
步进电机驱动系统中,控制器与驱动器之间的连接分为串行和并行控制两种。串行控制时,控制器输出时钟脉冲串和方向电平,靠驱动器中的脉冲分配器转换并行驱动信号,去控制各相绕组的导通或截止。这里时钟脉冲的有无决定了步进电机的运行或停止,脉冲频率决定步进电机运行的速度,方向电平决定运转的方向。并行控制时,控制器直接输出各相绕组导通或截止的并行信号,此时,脉冲分配器设在控制器中,除了由软件来代替脉冲分配器的功能外,不论是串行控制还是并行控制,整个系统中都必须有脉冲分配器这个环节。大部分PLC调速器采用与该PLC能够配套的驱动器和对应的步进电机,如图1所示。
步进电机可直接用数字信号控制,无需反馈可开环工作,无累积定位误差,控制精度高,因此被广泛用于数字控制和计算机控制等精密定位的控制系统中。可编程序控制器PLC是一种适于工业现场控制的技术平台。PLC综合了计算机技术、自动控制技术和通信技术,使用面向过程、面向用户的简单编程语言,用户可通过软件设计,实现各种复杂的逻辑控制。
从应用的角度来看,制约步进电机的两个问题是失步和振荡,由于步进电机在大多数情况下采用开环运行的方式,它的主要运行性能完全依赖于驱动器、负载和电机本身。在多种情况下会产生失步,比如启动或停止频率超过突跳,电机高速运行的脉冲频率超过了最大运行频率,所带负载转矩超过了启动转矩,共振等。通过改善驱动器的性能,可以减小运行中失步的可能。步进电机低频振荡是另一个需要解决的问题。步进电机在极限频率下做连续步进运行,即改变一次通电状态,转子转过一个步距角。如果阻尼较小,这种运动是一个衰减的振荡过程,转子是按自由振荡频率振荡几次才衰减到新的平衡位置而停止下来。每来一个脉冲,转子都从新的转矩曲线的跃变中获得一次能量的补充,这种能量越大,振荡越厉害。当脉冲频率等于或者接近于电机的自由振荡频率时电机会出现严重的低频振荡,甚至失步导致无法工作,一般不允许在共振频率下运行。
3 结束语
步进电机伺服系统具有价格低,简单,可靠等交直流伺服系统无法比拟的优点,但由于它的运行速度低、驱动器效率低和发热量大等缺点,使它的使用范围受到限制,针对存在的问题,随着新材料、电机设计与制造技术,电力电子技术、微电子技术、控制技术等的进步,为步进电机驱动器性能的提高提供了条件,出现了许多步进电机驱动控制方式。步进电机控制系统由控制器,驱动器和步进电机组成。它们之间是相互配套的,目前的驱动器一般都为集成产品,而不是由分离产品构成,主要应用于各种工业场合,而对于小型水电站及对步进电机要求较低的场合,良好的步进电机驱动电路,应该是能够使步进电机在较大的转速范围内都有很强的负载能力。且要运转平稳,降低噪音,还要在一定程度上提高步进精度。
参考文献
[1]刘志永.浅析步进电机的PLC控制技术与发展趋势[J].科技资讯,2006,(27).
[2]孙平,邢军.PLC控制步进电机驱动系统[J].河南师范大学学报(自然科学版),2001,(4).
[3]王赟,刘伟.基于PLC的步进电动机控制系统的设计[J].科技信息,2009,(5).
步进电机力矩控制驱动电路的改进 篇3
关键词:力矩控制,驱动电路,单片机
步进电机应用于控制系统中,往往可以使系统工作可靠、并获得较高的控制精度,因此得到越来越广泛的应用。步进电机数控系统一般由微处理器、驱动电路、步进电机3部分组成,如图1所示。其中驱动电路部分对微处理器发出的驱动信号进行放大,使相应的绕组导通或者截止,从而控制绕组上电流的波形和大小,它决定了电机是否能良好的运行,所以步进电机驱动电路的设计及其驱动方案成为步进电机应用的关键。
理想的绕组的相电流波形,如图2所示。在锁定时工作在较小的电流下;低频时工作在中电流;高频时工作在大电流;另外可采用区域控制的方法,抑制电机在某个工作频段内的低频、高频固有振荡。
1 3种典型驱动电路的比较及改进方法
1.1 3种典型驱动电路及其优缺点
(1) 单电压电路,如图3所示。
其结构简单、成本低,是使用较广泛的一种步进电机驱动电路,但其效率低(Rc发热严重)、性能差[1];
(2) 高低压驱动电路,如图4所示。
高低压驱动电路里有两种电源电压,接通(T1,T2导通)或截止(T1截止,T2导通)相电流时使用高压,继续励磁期间(T1导通,T2截止)使用低电压,把电流维持在额定值上。其缺点是需要两个电源,这样使电路复杂、成本高;
(3) 斩波驱动电路,如图5所示。
它的电源电压较高,每当电流降到额定值之下时,电源电压就加在绕组上(T1,T2导通),使相电流增加。当相电流大于额定值时就断开电源(T1导通,T2截止),在截止时(T1,T2截止)进入放电回路。其缺点是电源电压较高,斩波电流只能由Rc的阻值进行调节,不能由软件设定。
1.2 驱动电路的改进
综合各驱动电路的优缺点后[2],提出了一种改进后的驱动电路,如图6所示。其电路与图3的电路基本相同,但驱动信号采用了斩波恒流方式,使绕组电流即可细分控制,也可工作状态控制,从而实现了步进电机的力矩控制,以下说明其工作原理。
(1) 相电流的控制。
对相电流的控制,其实质是控制绕组的导通、截止时间,如果在MOSFET管(MOSFET管的开关时间一般为几ns,比驱动信号的时间小的多,其开关的时间可以忽略不计)上加载一组,如图7所示的驱动信号,就可以实现对相电流的控制。
根据系统要求的步进电机转速,可以计算出每相绕组的导通时间T,在T时间段上再进行细分。
1)T1on时刻内,电路实际上是一个RL充电回路,控制T1on的时间,可以使绕组上的电流快速上升至设定的大小,产生相应大小的力矩;
2)T1L和T1H时间段,实际上是一反复充放电的过程,它使绕组上的电流保持在I1,使转子由一个平衡位置向另一平衡位置运动过程中保证有较大的转矩;
3)当电机在锁定状态时,较长时间的T2off放电过程使绕组的电流快速下降到锁定状态所要求的小电流I2;
4)T2L和T2H时刻段同样也是一反复充放电的过程,它使绕组上的电流保持在较小的电流I2上,这样可以减少电阻Rc所消耗的热量,提高电机的效率。
由此可见控制T1on,T1L,T1H,T2off,T2L,T2H,可以实现对绕组在高频、低频及某个特定频段上的电流控制,从而使电机能够平稳运行。
(2) 提高步进电机的高频性能。
众所周知,步进电机的输出力矩与绕组的电流成正比,提高电机的高频性能,即是在较短的时间内,使绕组上的电流增大,作为执行元件的步行电机的绕组是一只电感性负载,通过绕组中的电流表达式为[3]
TL=VCC(1-e-t/τ)/Rc (1)
其中,τ=L/Rc,绕组电流波形,如图8所示。
I(t=∞)=VCC/Rc,显然适当的Rc能够达到增加绕组电流上升速度的作用,如图8所示,Rc一般选择为绕组电阻的1.5~3倍。
(3) 激磁方案的选择。
混合式和磁阻式步进电机的相绕组在电气上都是隔离的,每相都用独立的驱动电路激磁,因此,任何时候都能同时激励几相,并且同时激励几相能提高电机的峰值静转矩,负载的定位精度也能随之提高。以下以五相电机为例,说明其激磁方案。
五相电机的A相、B相、C相的静转矩/转子位置特性曲线的表达式为
TA=-Tpksin(Zθ)TB=-Tpksin(Zθ-2π/5)TC=-Tpksin(Zθ-4π/5) (2)
如果激励两相(A和B相),则总转矩为
TAB=TA+TB=-2Tpksin(Zθ-π/5)cos(π/5)=1.6 Tpksin(Zθ-π/5) (3)
如果激励三相(A,B,C相),则总转矩为
TAB=TA+TB+TC=1.6 Tpksin(Zθ-2π/5) (4)
五相步进电机激磁方案,用单相、双相十拍驱动,则单相与双相导通激磁时,其静态力矩相差1.6倍,将导致电机转动不平稳,因此激磁方案一般采用双相、三相十拍为宜。
2 绕组电流控制的实现
2.1 硬件电路
硬件电路,如图9所示[4]。
2.2 软件的实现
由上述可知,实现对绕组电流控制(电机力矩控制)的关键是对各种通断时间的延时控制。实现的方法有很多种,如用软件延时、中断延时、嵌入式系统中的等待延时等。在实践过程中对3种方法都进行了实验,软件延时的方法由于占用微处理器时间过长,效果不理想。其它两种方法都取得了不错的效果。现以中断延时为例说明其实现过程[5],如图10所示。
在延时时间的计算上[6],可以从理论上计算出各项通断时间的数值,但由于电机运动的复杂性、电路中电阻和元器件随温度等情况的一些变化,都将使理论计算的数值与实际值相差较大。所以建议将电机的工作速度区间划分成若于段,每段上的延时时间直接用一组经实验证明较满意的常数,而不必进行计算,这样可减轻微处理器的工作时间,也可实现对电机整个工作频率上的分段控制。在电机的高频段工作时,甚至锁定段(T2off,T2L,T2H)的控制都可以省去。
3 结束语
实践中使用常微牌五相步进电机90BF006,激磁方案为二相、三相十拍,利用文中所述的电路及软件实现方法,步进电机工作平稳、电路效率高(Rc发热问题得到了很好的解决)、高频力矩大,并且电路简单实用,软件实现也比较容易。
参考文献
[1]陈伯时.电力拖动自动控制系统[M].北京:机械工业出版社,1999.
[2]孙传友.测量电路及装置[M].北京:北京航空航天大学出版社,2002.
[3]林瑞光.电机与拖动基础[M].杭州:浙江大学出版社,1994.
[4]谭建成.电机控制专用集成电路[M].北京:机械工业出版社,1997.
[5]胡乾斌.单片机微型计算机原理与应用[M].武汉:华中科技大学出版社,1997.
一种微型步进电机的驱动设计 篇4
关键词:步进电机,控制脉冲,驱动电路,单片机
1 引言
步进电机可以将电脉冲转换成特定的旋转运动, 当它收到一个脉冲信号后, 就会按照设定的方向转动一个固定的角度 (即步距角) , 通过控制脉冲个数就可以控制电机转动的角度, 通过控制脉冲频率则可以控制电机的速度和加速度, 达到调速的目的。在不超载的情况下, 步进电机的转速、停止的位置只与脉冲信号的频率和脉冲数有关, 而与负载变化无关, 是一种线性关系, 因而可用于精确位置控制。
步进电机具有如下特点: (1) 转动位移与输入脉冲数严格对应, 步距误差不会累积, 可以组成结构简单且有一定精度的开环控制系统; (2) 可以使用数字信号直接进行开环控制, 简单、廉价; (3) 易于起动、停止、正反转及变速, 响应性好; (4) 停转时有自锁能力; (5) 很方便地实现在超低速下高精度稳定运行, 通常可以不经过减速器直接驱动负载; (6) 电机速度可在相当宽范围内平滑调节, 可以使用一台驱动控制器同时控制几台步进电机完全同步运行。
本设计中使用的是一种型号为HYH-25BYJ-5V的微型步进电机, 该电机使用DC5V供电, 可以使用单片机进行控制, 十分适合于各种小型机电自动控制系统。
该步进电机内部有4相绕组, 外引5根控制线, 如图1所示, 其中导线5接DC5V的“+”极, 导线1、2、3、4按照控制时序接DC5V的“-”极。
电机的驱动采用四相八拍的方式, 如表1所示。表中“+”表示接电源正极, “-”表示接电源负极。如果按照A相导电、A相B相同时导电、B相导电, 然后依次是BC、C、CD、D、AD的顺序分别导电, 电机就实现了正转 (从电机输出轴方向看逆时针旋转) , 这就是驱动电机的8拍 (8种脉冲) 。若把驱动脉冲的顺序反过来, 按照AD、D、CD、C、BC、B、AB、A的顺序依次导电, 电机就可实现反转。
该电机的步距角为5.625°, 减速比为1/64。驱动时对电机发一次脉冲就称为一拍, 即一次电平的变化, 步进电机在一拍作用下内部转过的角度为5.625°, 8拍后转动45°, 64拍后内部转360°, 由于减速比为1:64, 所以内部转一圈, 外部转5.625°, 也就是说, 驱动发出64拍后, 步进电机外部转5.625°。
外部驱动时, 脉冲的频率应小于1KHz, 计算下来电机的最大转速约为每分钟14.6转。
驱动电机的脉冲频率越大, 转速越快, 而力矩越小, 反之, 脉冲频率越小, 转速越慢, 输出力矩越大。
2 步进电机的驱动电路设计
由于该步进电机4相绕组每相的直流电阻为20欧姆, 用DC5V驱动时每相电流约为250m A, 若直接用单片机驱动, 单片机承受不了这么大的电流, 因此需要外加大电流驱动电路, 可以使用如ULN2003、ULN2803之类的达林顿阵列集成电路。
本设计中使用的是ULN2803, 该芯片有8路达林顿阵列, 可同时驱动2个步进电机。硬件设计原理图如图2所示。
3 步进电机的驱动程序设计
如图2所示, 单片机的管脚P1.0、P1.1、P1.2、P1.3分别对应步进电机的1、2、3、4脚, 若要使步进电机正转, ULN2803需要按如下顺序提供8拍 (电机4号线在前, 为高位) :0111、0011、1011、1001、1101、1100、1110、0110, 由于ULN2803具有反相作用, 因此单片机应提供如下次序的脉冲:1000、1100、0100、0110、0010、0011、0001、1001, 其中的“1000”表示单片机的管脚P1.3为高电平, P1.2、P1.1、P1.0均为低电平, 其余类推。若要驱动反转, 按相反顺序驱动即可。
本程序提供了一种驱动步进电机的基本方法, 首先控制电机正转约168°, 延时1秒后, 反转168°, 之后再延时1秒, 正转, 周而复始。读者对程序加以适当修改可适应于不同的应用, 如修改脉冲频率可以改变步进电机的转速, 修改脉冲数可以改变电机转动的角度。
程序源代码如下:
参考文献
[1]丁志刚.微特直线电动机开发应用的前景[J].微电机;1995年04期.
[2]潘新民.单片微型计算机实用系统设计[M].北京人民邮电出版社, 1992.
步进电机驱动电路设计与实现研究 篇5
步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用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语言编程
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]金钰,胡祐德,李向春.伺服系统设计指导[M].北京理工大学出版社,2000:43-44.
步进驱动 篇6
关键词:光栅单色仪,步进电机,驱动程序,串口通信
一、前言
为了实现较宽范围光电探测器光谱响应特性的测试, 需要由光谱仪提供波长范围200nm~1600nm的单色光, 本文利用光源和光栅单色仪研制了一套光谱仪, 通过对交栅单色仪的控制, 能够得到连续变化的单色光。
二、系统组成
光栅单色仪分光系统主要由光源、光栅单色仪、计算机及控制软件组成。光源室产生的光通过它前面的光阑以及光栅单色仪的入口狭缝进入单色仪内部, 光的入射通量可以通过旋转光源室的光阑和单色仪调节旋钮来改变大小。
1. 光栅单色仪
光栅单色仪是一种光学分光仪器, 其作用是将复色光色散, 从而得到光谱范围内的单色光。光栅单色仪突出的优点是波段范围宽广, 在全波段色散均匀, 单色光的波长可以达到非常精确的程度。本论文采用的是某型全自动光栅单色仪, 该单色仪的光学系统采用C—T水平式对称光路, 焦距为300mm, 仪器采用电子细分技术, 使扫描时最小步距角能够达到0.005nm。光栅单色仪旋转台上有3块光栅, 配置分别为1200L/mm、600L/mm和300L/mm, 可以方便地实现较宽范围内的扫描。仪器备有单色仪狭缝和CCD接口, 可以实现一机多用。从光源出射的光入射到凹面反射镜1, 照射到光栅上, 光栅的切换通过圆形旋转台旋转完成。入射光经过光栅色散后, 便分成各种单色光, 照射到凹面反射镜2上, 最后经平面镜反射后从出口出射。凹面反射镜和平面反射镜的相对位置是固定的, 这样能够确保较窄范围的单色光从出口射出。
2. 光源选择
光源为宽光谱响应测试系统提供入射光辐射, 由于本测试系统测试范围比较宽 (200~1600nm) , 因此采用溴钨灯和氘灯, 它们发出的光经过光源室以及光栅单色仪入口进入光栅单色仪, 照射到光栅上。光栅单色仪内部有三块光栅, 分别为近紫外、可见和近红外光栅, 能够获得200~2500nm很宽范围内的单色光。在单色仪出口处有一组滤光片, 主要是为了滤掉其他光谱, 提高单色光的纯度。
三、光栅单色仪中步进电机控制
对光栅单色仪光谱的选择是通过计算机程序控制光栅单色仪的步进电机实现的。光栅单色仪与计算机的连接采用9针串口线, 串口线连接了单色仪上的串口和计算机机箱后面的串口。
1. 光栅单色仪通讯协议
光栅单色仪作为下位机, 要实现对其扫描位置的精确控制, 必须由作为上位机的计算机来对其发送相关指令来实现。计算机和单色仪之间的通讯必须遵循单色仪厂家提供的通讯协议, 该通讯协议中包括所有测试中需要用到的指令, 通过串口对单色仪进行指令收发便可以完成对下位机的扫描控制。
2. 步进电机的控制软件
在本分光系统中, 使用MSCOMM控件来实现计算机与步进电机驱动器的串口通信, 具体步骤如下:向当前工程插入MSComm控件;声明控件变量;创建串口对象;初始化串口;捕捉串口事件。
完成上述几个步骤之后, 就可以编写光栅单色仪初始化代码, 因为在每次测试开始时, 总是要先完成初始化工作之后才能进行其他的控制操作。要实现单色仪的初始化, 要依次向串口发送三块光栅的偏移量、仪器常数、光栅1、光栅询问指令、速度设置指令、速度查询指令、偏移量查询指令, 各条指令之间需要设置一定的延时。该函数被调用之后, 光栅单色仪就会自动的完成初始化。
光分光系统的光谱控制软件是采用VC语言编制, 光谱测试范围为200~1600nm, 光栅单色仪有三块光栅, 1号光栅 (200~600nm) , 使用的光谱范围为200~400nm, 2号光栅 (500~1500nm) 和3号光栅 (800~2500nm) 使用的光谱范围分别是405~1100nm和1105~1600nm。
本文采用如下步骤来实现单色仪步进和光栅更换问题:
(1) 运行光栅单色仪自带程序, 待初始化完毕后在软件界面的下侧编辑框中记下光栅1的相对零级位置偏移量, 将光栅1运行到200nm处, 记下偏移量, 然后设置波长间隔为5nm, 在“增量模式”下点击“+”按钮, 记录下每一点的偏移量, 存放到一个数组中, 直到400nm为止;将光栅切换到2号, 切换完毕后记下偏移量, 然后将光栅2运行到405nm处, 记下偏移量, 再以5nm为间隔记下各点偏移量存放到另一个数组, 直到1100nm为止;按照同样的方法记下光栅3的初始偏移量以及1105~1600nm各点的偏移量 (间隔5nm) , 存放到数组中。这样, 本文需要用到的所有波长对应的偏移量已经全部记录下来。
(2) 将3块光栅各自扫描范围内的偏移量分别存放至不同的数组, 并将它们定义为全局变量。接下来定义三个函数, 分别完成在1、2、3号光栅运行范围内发送指定位置的偏移量, 以光栅1为例, 具体实现方法如下:
Offset1数组中存放的是光栅1运行范围内的所有偏移量数据, 共41个。在测试过程中, 以循环方式不断调用该函数即可使单色仪以5nm步进。其他两个光栅的步进函数写法与此类似, 但是调用各自的偏移量数组Offset2和Offset3, 分别有140和100个偏移量数据。当运行到指定光栅光谱范围时, 调用相应光栅的步进函数即可。
(3) 当测试不是从200nm开始时, 需要判断起始波长的位置属于哪一块光栅的运行范围, 然后在初始化完毕后切换为相应光栅。若起始波长在1号光栅范围内, 则初始化完毕后无需切换, 因为系统默认的就是1号光栅。否则, 需要调用相应的光栅切换函数来完成光栅的转换。
在测试过程中, 当波长至405时, 调用光栅2切换函数, 然后再调用光栅2对应的步进函数进行扫描;当波长至1105时, 调用光栅3切换函数, 然后再调用光栅3对应的步进函数进行扫描。
在单色仪扫描过程中, 测试软件设置了每个波长位置的延时, 与数据采集卡的数据读取总时间间隔匹配, 避免了数据漏读情况的发生, 从而保证了数据的准确性。
四、结论
本文编制了VC++的步进电机驱动控制程序, 采用记录全自动光栅单色仪各点偏移量的方法, 实现了3块光栅范围内的扫描控制, 避免了公式计算偏移量所带来的误差。研究了单色仪控制流程, 为其二次开发及其他方式的扫描提供了方法。串口通信控制模块不同于以前的测试系统, 其扫描控制的范围较宽且运行精确;
系统的自动化程度虽然已经达到较高的水平, 但是在光源自动切换和自动更换光栅方面仍然存在不足, 因而分光系统的真正智能化还是需要继续向前发展。
参考文献
[1]孙鑫.VC++深入详解.北京:电子工业出版社, 2006
[2]李正军.计算机测控系统设计与应用.北京:机械工业出版社, 2004
[3]赵军, 袁中凡, 杨春生.利用Visual C++下MSComm开发的串口通信软件.中国测试技术, 2006, 32 (6) :97~98
步进驱动 篇7
随着现代化程度的不断提高, 传统的机床正被逐步进行简易数控化改造, 而作为基本动力来源之一的步进电机的控制关系到整个数控系统的控制精度, 同时也关乎改造后机床的加工精度。步进电机虽然有启动速度快、控制精度高、转速控制方便等优点, 但实际运动过程肯定要经历加速启动、恒速运行和减速停止过程。如果在加速启动阶段一次将速度升到给定速度, 由于其启动频率超过极限频率, 步进电机要发生失步现象;同样在减速停止阶段要突然停下来, 由于机械惯性的作用, 步进电机不能立即停止, 影响类执行机构的执行效率。所以, 对于步进电机的启动与停止阶段的控制非常重要。
本文以一般单片机为控制系统的处理器, 结合L297/298步进电机驱动芯片, 在软件算法上将步进工作分成3段, 在启动阶段和停止阶段采用变频控制, 从而达到对步进电机精确控制的目的。
1变频调速原理
变频控制原理如图1所示, 对步进电机的工作过程按照3个阶段 (即加速启动、恒速运行和减速停止) 采用不同的控制策略。在加速启动阶段通过逐步提高驱动脉冲的频率, 使步进电机以一个恒定的加速度a加速运动到所需要的速度;在恒速运行阶段保持最高驱动脉冲频率不变;在减速停止阶段, 驱动脉冲由最高频率逐步降低, 直到电机运行到所设定位置。在整个运动过程中, 通过控制总脉冲个数N来控制步进电机运动。
2硬件电路设计
本系统主要由脉冲产生与脉冲频率控制及步进电机驱动两大部分电路组成, 脉冲产生与脉冲频率控制主要采用单片机为核心的控制器, 步进电机驱动主要采用L297/298步进电机驱动芯片。
2.1 脉冲产生与脉冲频率控制电路设计
本系统主要通过控制脉冲的频率和脉冲的个数来实现对步进电机的控制, 故该电路是本系统的核心。其脉冲的产生方法有多种, 本系统采用8253产生脉冲, 如图2所示, 因此单片机只需将计算得到的每阶段所需的频率值写到8253的控制寄存器中即可, 大大节约了系统资源, 提高了步进电机的控制精度。
8253产生脉冲的频率、脉宽等参数主要由控制寄存器中N0、N1来决定, 其关系为:
N0=fCLK/f 。 (1)
N1=N0-DN0 。 (2)
其中:N0、N1分别为8253内计数器/定时器高8位和低8位的初始值;fCLK为8253芯片系统时钟脉冲频率, Hz;f为输出脉冲频率, Hz;D为输出脉冲占空比, 0
对于脉冲个数的控制, 本系统是通过外中断INT1来实现的, 8253输出脉冲送到外中断INT1通过软件编程即可实现对输出脉冲的计数。
2.2 步进电机驱动电路设计
L297是步进电机控制器, 适用于双极性两相步进电机或单极性四相步进电机的控制。用L297输出信号可控制L298双桥驱动集成电路, 用来驱动电压最高为46 V、总电流为4 A以下的步进电机。L297也可用来控制由达林顿管组成的分立电路, 以驱动更高电压、更大电流的步进电机。L297只需要时钟、方向和模式输入信号, 相位由内部产生, 从而减轻了单片机和程序设计的负担。L297采用固定斩波频率的PWM恒流斩波方式工作, 主要由译码器、两个固定斩波频率的PWM恒流斩波器以及输出控制逻辑组成。L298是用来驱动步进电机的集成电路, 采用双全桥接方式驱动, 由于是双极性驱动, 步进电机的定子励磁绕组线圈可以完全利用, 使步进电机达到最佳的驱动。步进电机驱动电路见图3。
3软件设计
本系统软件流程见图4, 主要包括各个变量的初始化、对运行过程进行分段、计算初始脉冲频率与各阶段脉冲频率、脉冲个数的计量与所处运行阶段的判断。其中8253寄存器值的初始值计算与更新主要根据式 (1) 和式 (2) 来计算。
本系统的软件编写环境采用Keil C编程环境, 采用单片机C语言来编写相关软件。
4结论
本文设计的控制系统已经过一段时间的运行, 结果表明, 其运行平稳、动作可靠, 基本能达到预期控制的效果与功能, 并且系统成本较小, 对于传统机床的简易数控化改造步进驱动部分的设计具有一定的借鉴意义。
摘要:针对步进电机在启动和停止过程中容易失步等问题, 采用变频调速结合单片机控制技术, 有效地解决了上述问题, 提高了系统的控制精度。重点介绍了变频调速的原理、硬件原理图及软件设计流程。实验表明效果良好。
关键词:变频调速,单片机,步进电机
参考文献
[1]林玉梅.步进电机自动化控制系统的设计[J].科协论坛, 2008 (12) :6-7.
[2]向海健.基于L297/298的步进电机工作模式的单片机接口[J].微计算机信息, 2007 (26) :302-303.
[3]石剑锋, 谢少荣.双引擎飞艇发动机转速测量与保持的研究与应用[J].机电一体化, 2004 (4) :31-32.