0 引言
步进电动机是一种将数字式电脉冲信号转换成机械角位移的机电信号,它的机械角位移与输入的数字脉冲信号有着严格的对应关系:即一个脉冲信号可以使步进电动机前进一步。步进电动优点多,如可以直接实现数字控制,控制性能好,无摩擦,抗干扰能力强,误差不长期积累,具有自锁能力和保持转矩的能力。在数控机床、医疗器械、仪器仪表、机器人等设备中得到了广泛的应用。由于它是一种用脉冲控制的电机,利用单片机的四个8位可编程I/O口很容易实现对步进电机的控制。
1 四相步进电机的控制原理
1.1 控制要求:①能对转速和步数进行控制;②可实现电机的正反转控制。
1.2 转速和步数的控制单四拍也叫一相励磁,特点是精度好,功耗小,但输出转矩小,振动较大。步距角等于电机标称的步距角:双四拍也叫二相励磁,特点是输出转矩大,振动小,但功耗大。步距角等于电机标称的步距角;除此之外还有一二相励磁,特点是分辨率高,运转平滑。步距角为电机标称的1/2。本文对双四拍进行介绍,步进电机的转速取决于输入的脉冲频率。从图1可以看出,当改变输入脉冲的周期时,ABCD四相绕组高低电平的宽度将发生变化。这就导致通电和断电变化的速率发生变化,使电机转速发生变化。所以调节输入脉冲的周期就可以控制步进电机的运动速度,改变脉冲数量就可以控制步数。
图1 步进电机线圈
1.3 正、反转控制步进电机的正、反转控制可通过改变步进电机各绕组的通电顺序来改变其转向,四相双四拍步进电机通电顺序为AB-BC-CD-DA-AB……时电机正转;当绕组按AD-DC-CB-BA-AD……顺序通电时电机反转。如表1所示。
表1 双四拍运行相序
2 以AT89C51芯片为核心的硬件设计
单片机AT89C51作为系统的主控单元,它接收外界按钮给出的控制信号,包括正反转、速度档位等信号,通过处理,由外围驱动器对步进电机进行控制。
2.1 输入、输出口控制使用PO口扩展方式,K1~K2为正反转控制按钮,K3~K8为从低至高转速控制。步进电机的输入输出都通过PO口进行连接。其中输入口采用7415244,该集成是一种施密特触发的3态8位缓冲器,抗干扰能力强,一般用作总线驱动器和并行输入口。当它的19脚OE控制端为低电平时,输出等于输入(直通),当控制端接高电平时,输出呈高阻态。74LS244没有锁存的功能。地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来,地址设为8200H;输出口采用7415273,该集成是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器,第一脚WR:主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平);CP(CLK):触发端,上升沿触发,即当CP从低到高电平时,DO~D7的数据通过芯片,为0时将数据锁存,D0~D7的数据不变,地址设为8300H。
2.2 步进电机的驱动采用SGS公司的电动机驱动集成L298,该集成内部含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接通过电源来调节输出电压。
3 利用PROTEUS设计电路图
3.1 Proteus软件特点Proteus功能强大,不单具有其它EDA的原理图、PCB布线和电路仿真功能,还有其它EDA无法相比的特点:①互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD等器件。②仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。它包括了智能原理图设计(ISIS)、完善的电路仿真(Prospice)、独特的单片机协同仿真功能(VSM)、实用的PCB设计平台四大功能。在Proteus绘制好原理图后,调入已编译好的目标代码文件,可以在Proteus的原理图中看到模拟的实物运行状态和过程。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器.仪表。随着科技的发展“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
3.2 元件清单列表(表2)
表2 元件清单
3.3 电路图(图2)
图2 电路图
4 软件设计
编程的思路是:在P0.0-P0.3依次产生一个高电平的脉冲信号,并适当延时每个信号间的时间,就可以这实现对步进电机的转向和转速控制。程序分为两部分,一部分是按钮判断,另一部分是波形产生和输出。其中K1按钮控制步进电机正向转动,K2按钮控制步进电机正向转动.K3~K8分别为步进电机六种速度开关。当K1或K2其中一个按钮按下,同时K3~K8之间只有一个按钮按下,步进电机才转动。否则步进电机停止。K1和K2同时按下,电机停止。程序流程图如图3。
图3 程序流程图
5 在Keil uVision下进行源程序编译与联调仿真
5.1 源程序编译在Keil集成开发环境下,它使用工程的方法来管理文件,所有的文件包括源源程序(如C程序、汇编程序)、头文件等都可以放在工程项目文件里统一管理,其创建的步骤是:
①新建立工程项目文件;②选择B标器件(ATMEL公司的AT89C51):③设置软硬件调试环境:④创建源程序文件并输入程序代码;⑤将源程序文件添加到项目中。⑥调试并仿真。
5.2 联调及仿真在Proteus中,双击单片机AT89C51,打开其属性编辑框,在“Program File”栏中选取扩展名为“.HEX’的目标代码文件,并将其时钟频率改为12MHZ。再在在Proteus仿真界面中启动仿真,用鼠标单击电路图中的按钮,就可以看到步进电机的运转情况了。
6 结束语
介绍了四相双四拍步进电机的工作原理,对步进电机的转速和方向进行了分析。并利用Proteus对步进电机控制运行进行了软件和硬件的设计,通过AT89C51,可以很方便地控制步进电机的转度和转向,仿真结果表明,系统具有外国器件简单,运行性能稳定的特点,达到比较满意的控制效果。