1 引言
步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用SGS公司推出的L297和L298两芯片可方便的组成步进电机驱动器,并结合AT89C52单片机进行控制,即可以实现用相对便宜的价格组成一个性能不错的步进电机驱动电路。
2 工作原理
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器 典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称为硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大。以达到驱动步进电机目的。
图1 典型步进电机控制框图
3 硬件组成
文中所控制的步进电机是四相单极式35BY48HJ120减速步进电动机。本文所设计的步进电机控制驱动器的框图如图2所示。它由AT89C52单片机、光电耦和器、集成芯片L297和L298组成。AT89C52是美国ATMEL的低电压、高性能8位CMOS单片机。片内置8K字节可重复擦写的Flash闪速存储器。256字节RAM。3个16位定时器。可编程串行UART通道。对完成步进电机的简单控制已足以胜任。
图2 本文提出的步进电机控制驱动器框图
L297是步进电动机控制器(包括环形分配器)。L298是双H桥式驱动器。它们所组成的微处理器至双桥式步进电动机的接口如图3所示。这种方式结合的优点是,需要的元件很少。从而使得装配成本低,可靠性高和占空间少。并且通过软件开发。可以简化和减轻微型计算机的负担。另外,L297和L298都是独立的芯片。所以应用是十分灵活的。
L297芯片是一种硬件环分集成芯片。它可产生四相驱动信号,用于计算机控制的两相双极或四相单极步进电机 它的心脏部分是一组译码器它能产生各种所需的相序。这一部分是由两种输入模式控制,方向控制(CW/CCW) 和HALF/FULL 以及步进式时钟CLOCK.它将译码器从一阶梯推进至另一阶梯。译码器有四个输出点连接到输出逻辑部分,提供抑制和斩波功能所需的相序。因此L297能产生三种相序信号,对应于三种不同的工作方式:即半步方式(HALF STEP);基本步距(FULL STEP,整步)一相激励方式;基本步距两相激励方式。脉冲分配器内部是一个3bit可逆计数器,加上一些组合逻辑。产生每周期8步格雷码时序信号,这也就是半步工作方式的时序信号。此时HALF/FULL信号为高电。若HALF/FULL取低电平,得到基本步距工作方式。即双四拍全阶梯工作方式。
L297另一个重要组成是由两个PWM 斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的矩频特性。每个斩波器由一个比较器、一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号。图3中,频率f是由外接16脚的RC网络决定的, 当R》10kΩ 时,f=1/0.69RC。当时钟振荡器脉冲使触发器置1,电机绕组相电流上升,采样电阻的R 上电压上升到基准电压Uref时,比较器翻转,使触发器复位,功率晶体管关断,电流下降,等待下一个振荡脉冲的到来。这样,触发器输出的是恒频PWM信号,调制L297的输出信号,绕组相电流峰值由Uref确定。L297的CONTROL端的输入决定斩波器对相位线A、B、C、D或抑制线INH1和INH2起作用。CONTROL为高电平时,对A、B、C、D有控制作用;而为低电平时,则对INH1和INH2起控制作用,从而可对电动机转向和转矩进行控制。
L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电动机和步进电动机 具有两抑制输入来使器件不受输入信号影响。每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。可安置另一输入电源,使逻辑能在低电压下工作。L298芯片是具有15个引出脚的多瓦数直插式封装的集成芯片。
图3中.AT89C52通过串口经MAX232电平转换之后与微机相连。接受上位机指令。向L297发出时钟信号、正反转信号、复位信号及使能控制等信号。电路中,电阻R13,R15用来调节斩波器电路的参考电压,该电压将与通过管脚13,14所反馈的电位的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值、保护步进电机的目的
由于L297内部带有斩波恒流电路,绕组相电流峰值由Uref确定。当采用两片L297通过L298分别驱动步进电机的两绕组,且通过两个D/A转换器改变每相绕组的Uref时,即组成了步进电机细分驱动电路。另外,为了有效地抑制电磁干扰,提高系统的可靠性,在单片机与步进电动机驱动回路中利用两个16引脚光电耦合器件TLP521-4组成如图3所示的隔离电路。其作用是切断了单片机与步进电动机驱动回路之间电的直接联系,实现了单片机与驱动回路系统地线的分别联接。防止处于大电流感性负载下工作的驱动电路产生的干扰信号以及电网负载突变产生的干扰信号通过线路串入单片机,影响单片机的正常工作。
4 软件组成
在该电路中,将P1.0口设为电机开始按钮,P1.1,P1.2,P1.3为速度选择按钮。速度由低到高,P1.4为电机停止按钮。并设三档速度的最高速度依次为500pps、1000pps、2000pps 。RXD,TXD 已由MAX232电平转换接出串口。此外,步进电机其启动,停止的频率较低,一般在100-250Hz之间,而最高运行频率要求较高。通常为1-3kHz,为使其在启动、运行和停止整个过程中,既不会失步,又能够尽快精确地达到目标位置,运行速度都要有一个加速一恒速减速的过程。这里采用常用的离散办法来逼近理想的近似梯形的升降速曲线,如图5所示。即利用定时器中断方式来不断改变定时器装载值的大小。
本例中。为计算方便,把各离散点的速度所需的装载值用公式转化为各自所需的定时时间固化在系统的ROM 中,这里用TH0=(65536-time)/256,TL0=(65536-time)%256来计算装载值,time表示各阶梯所需定时时间。系统在运行中用查表法查出所需的时间,从而大幅度减少占用CPU的时间,提高系统的相应速度。因此。该程序主要由控制主程序、加减速子程序组成,主程序框图如图4所示。
5 结论
本文创新点在于提出应用单片机和L297、L298集成电路构成步进电机控制驱动器。使之具有元件少。可靠性高、占空间少、装配成本低等优点。通过软件开发,可以简化和减轻微型计算机的负担。另外。在上面提出的在加减速程序中定时器的装载值用式子计算不精确,这两条赋值要执行不少的时间。具体做的时候。可直接把初值计算出来或把除号用相加来计算。以达到精确的目的。