基于单片机的步进电机开环控制系统
扫描二维码
随时随地手机看文章
摘要: 通过ATMEL89C51单片机对步进电机进行控制,主要介绍了步进电机控制器、驱动电路和LED显示电路的设计,实现了步进电机的开环控制。在步进电机控制器的设计中,重点阐述了脉冲产生电路以及对速度的控制。该系统具有成本低、控制方便的特点。
0 引言
步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。控制步进电机的输入脉冲数量、频率及电机各相绕组的接通顺序,可以得到各种需要的运行特性。尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。
本文介绍已实现的单片机对步进电机的数字控制系统。该控制系统中,控制器担负着产生脉冲以及发送、接收控制命令的任务。本文对控制器的设计,尤其是脉冲产生电路的设计作了详细的介绍。
1 系统设计
步进电机开环控制系统框图如图1所示。系统由步进电机控制器、步进电机驱动电源、步进电机和LED状态显示等4部分组成,本文着重介绍步进电机控制器、步进电机驱动电源、LED 显示状态3部分。
图1 步进电机开环控制系统框图
1. 1 步进电机控制器
步进电机控制器主要由单片机、晶振电路、8K RAM和光电隔离电路等组成(见图2) 。
图2 步进电机控制器组成
(1) 晶振电路
单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图3所示。本系统选C1和C2值为30 pF。
图3 内部振荡电路
(2) 光电隔离电路
利用光隔离器组成的光电隔离电路将控制器与外部的驱动电路隔离开来,使得外部电路的变化不至于影响或者损坏控制系统,从而提高系统
的可靠性,增强抗千扰能力。光隔离器最重要的参数是电流传输比CTR,通常其值为0. 2~0. 9。输入数字信号提供一定的电流(5~10 mA)时,光
隔离器才会输出放大的数字电平。
光隔离器连接时注意信号正负逻辑。光隔离器的输入、输出端地线必须互相隔开,并且输入、输出端两个电源必须单独供电;如果使用同一电源,外部干扰信号可能通过电源串到系统中来。
(3) 存储模块
89C51单片机片内只有128 B的RAM,而本系统中需要存储的数据较多,需扩展外部RAM。
(4) 步进脉冲产生电路
在采用单片机的步进电机开环系统中,控制系统的CP脉冲的频率或换向周期实际上是控制步进电机的运行速度。系统可用两种办法实现步
进电机的速度控制:一种是延时,一种是定时。
延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和就是CP脉冲的周期。该方法简单,占用资源少,全部由软件实现,调用不同的子程序可以实现不同速度的运行;但占用CPU时间长,不能在运行时处理其他工作,因此只适合较简单的控制过程。
定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便地控制系统输出CP脉冲的周期。当定时器起动后,定时器从装载的初值开始对系统及其周期进行加计数;当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序。将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。由于从定时器装载完重新起动开始至定时器申请中断止,有一定的时间间隔,造成定时时间增加。为了减少这种定时误差,实现精确定时,要对重装的计数初值作适当调整。调整的重装初值主要考虑两个因素:一是中断响应所需的时间;二是重装初值指令所占用的时间,包括在重装初值前中断服务程序中的其他指令因素。综合这两个因素后,重装计数
初值的修正量取8个机器周期,即要使定时时间缩短8个机器周期。
用定时中断方式控制电动机变速时,实际上是不断改变定时器装载值的大小。在控制过程中,采用离散办法逼近理想升降速曲线。为了减
少每步计算装载值的时间,系统设计时就把各离散点的速度所需的装载值固化在系统的ROM中,系统在运行中用查表法查出所需的装载值,这
样可大幅减少占用CPU的时间,提高系统的响应速度。其流程图如图4所示。
图4 加减速控制流程图
1. 2 步进电机驱动电路
步进电机驱动电路由专用芯片L297、L298组合而成。L297单片步进电机控制集成电路适用于双极性二相步进电机或四相单极性步进电机
的控制,与H桥式驱动芯片L298组合成完整的步进电机固定斩波频率的PWM恒流斩波驱动器。
L297步进电机控制集成电路产生四相驱动信号,用以控制双极性二相步进电机或四相单极性步进电机,可以采用半步、二相励磁和单相励磁
3种方式的切换。使用L297的突出特点是外部只需时钟、方向和工作方式3 个输入信号,同时L297自动产生电机励磁相序,减轻了微处理器控
制和编程负担。L297具有D IP20和SO20 2种封装形式,可用来控制集成桥式驱动电路或分立元件组成的驱动电路。
L297主要由译码器、固定斩波频率的PWM恒流斩波器(2个)以及输出逻辑控制组成。
L298芯片是一种高电压、大电流、双H桥功率集成电路,可用来驱动继电器线圈、直流电机和步进电机等感性负载。每个H桥的下侧桥臂晶体管的发射极连接在一起,相应的外接线端可用来连接电流检测电阻。
由L297、L298 组成的步进电机驱动应用电路如图5所示。该电路为固定斩波频率恒流斩波驱动方式,适用于二相双极性步进电机或四相单极性步进电机, 最高电压46 V, 每相电流可达2 A。用2片L298和1片L297配合使用,可驱动更大功率的二相步进电机。
图5 步进电机驱动器组成
L297有3种工作方式:半步工作方式、双向励磁工作方式和单项励磁工作方式。双向励磁工作方式的相序波形如图6所示。
图6 双向励磁时相序波形
当L297的HALF /FULL为低电平,如译码器工作在奇数状态( 1、3、5、7)时,为双向励磁工作方式。该模式下,禁止信号INH1和INH2输出保持
高电平。如译码器工作在偶数状态下( 2、4、6、8) ,为单相励磁方式; 当HALF /FULL为高电平时,译码器产生半步工作方式相序,也就是8步格雷码时序。
1. 3 LED运行状态显示
本系统中,用74LS164 作为显示驱动,带锁存,采用串行接法,可以节约I/O口资源,但要使用SIO,发送数据时容易控制。
2 结语
步进电机开环控制系统具有成本低、简单、控制方便等优点。在此方案中,负载位置对控制电路无反馈,因此步进电机必须正确响应每次励磁变化。如果励磁频率选择不当,电机不能达到新的要求位置,那么实际的负载位置相对控制器所期待位置会出现永久性误差,也就是会产生“失步”和“过冲”现象。可以采用位置反馈或位置反馈确定与转子位置相适应获得正确相位转换,从而大大改善步进电机的性能,这样就可以进行更加精确的位置控制和获得高速、平稳的速度了。