期刊发表网电话

全国热线
022-83699069

基于AT89C52单片机的步进电机控制系统研究

作者: 发布时间:2020-01-17 16:39:41 阅读: 632 次

摘要;本文设计了一种基于AT89C52单片机的步进电机控制系统。该系统由输入输出部分、单片机部分、步进电机部分、电源部分等构成,可以根据实际需要对单片机进行编程,控制步进电机的工作模式。该系统具有一定的灵活性和实时性,具有较广的应用范围。

关键词:AT89C52单片机;步进电机;工作模式

 

步进电机可以将数字信息转化为角位移或者线性位移,其在开环工作方面具有出色性能,便于通过数字设备对其进行智能控制。同时,步进电机的控制系统结构相对简单,但是具有较高的定位精度,还可以通过不同方式的信号输入进行转动方向和移动速度调节。因此,步进电机在工业领域中得到了非常广泛的应用。

完整的步进电机系统分为三部分,分别为控制部分、驱动部分以及步进电机部分。本文设计分析了一种采用AT89C52型单片机为控制核心的步进电机控制系统。

1 步进电机工作原理及单片机控制实现分析

1.1 步进电机工作原理

步进电机由驱动电路进行驱动,通常驱动模块会采用双极性驱动的方式进行步进驱动。这种驱动方式的优势在于电机线圈中的电流可以改变流动方向,不同的流动方向会产生不同的驱动效果。利用双极性驱动模块进行步进电机驱动可以同时驱动四线或六线的多相混合步进电机。本文以两相步进电机为例。

当控制模块向驱动模块发送脉冲信号时,若步进电机需要进行正向转动,则根据其转动方式可以确定电机通电顺序为A+B+A-B+A-B-A+B-。若需要步进电机进行反向转动,则步进电机绕组的通电相序则进行相应的调整,变为A+B-A-B-A-B+A+B+。此外,步进电机旋转角频率是由通电频率确定的,因此,可以通过改变通电频率来改变步进电机的运行速度。

1.2 单片机控制实现

根据选定的步进电机的相数可以确定AT89C52单片机所需要产生的相位信息。选用AT89C52的一个好处是其在接口和控制性能上都要优于51单片机,故其扩展性能要更优一些。通常步进电机的额定电压为12V左右,额定电流为8A左右,其电流需求较大,但是电压需求较低。因此需要在单片机和步进电机之间增加隔离电路和放大电路,以满足系统需求。因此单片机控制系统可以通过图1框图实现:

 

1 系统总体框图

2 硬件电路设计

由图1可知,硬件电路分为输入输出部分、单片机部分、步进电机部分、电源部分等。下面分别对每部分性能进行分析。

2.1 输入输出部分

为提高系统的灵活度,便于对步进电机的系统参数进行控制和调整,需要引入输入设备,本处选用键盘。输出设备要求可以显示当前的控制状态和电机运行状态,可以选用LCD设备进行显示。

通过键盘可以对系统输入参数指令和控制指令,进而控制单片机实现对系统的控制。而LCE设备的选用可以根据AT89C52的接口分布进行确定,通过LCD设备可以显示步进电机的运行状态和运行速度等信息。

此外,本文选用了一片8279作为键盘和显示器与单片机之间的接口芯片。通过该芯片可以更好的满足操作性能和控制性能的均衡需求。

2.2 单片机部分

单片机为该系统的核心模块,本文选用AT89C52单片机产生控制信号。AT89C52具有8KBRAMROM,式中信号为12MHz,可以很好的满足系统需求。如果后续使用中需要进行系统扩展,C52单片机还提供有RAMROM外扩接口。

利用引脚P1.0-P1.7进行步进电机脉冲信号输出,将引脚P3.0P3.1P3.2P3.3P3.4等分配给键盘控制部分,可以通过键盘实现正反转、加减速、停止等功能操作。将引脚P2.0P2.1P2.2P2.3P2.4P2.5、等分配给LCD显示器,可以控制输出显示步进电机当前的运行状态和运行速度。

2.3 步进电机部分

根据上文分析可知,单片机无法与步进电机直接进行连接,需要通过该隔离、放大电路实现连接。实际应用中,对于强弱电的隔离通常可以采用光电隔离的方式,这种方式效果好,受干扰小。对于放大电路的选取,可以使用集成功放元件也可以根据实际需要配置独立模块。

2.4 电源部分

在系统框图中可以看到,该系统涉及两种不同的工作电压,因此需要分别设计强电和弱点部分的电源。为满足系统需求,可以使用集成稳压器和可变输出电压模块分别为单片机和步进电机进行供电。需要注意的是,两个电源不能共地。

3 软件程序设计

硬件平台设计完毕后,需要根据硬件电路对单片机进行系统编程,以满足操作和控制需求保证各部分电路可以根据控制信号正常进行工作。系统软件部分分为三部分,分别为键盘和显示模块、系统监控模块、控制信号生成模块等。

3.1 键盘和显示模块

该模块实现的功能是,对键盘按键进行确认,确认无误后对输入键值进行信号处理,如,若输入的是输入键则需要调用输入程序、若输入的是控制键则需要调用控制程序。而显示模块则是通过定时查询接口数据,实时显示步进电机的工作状态、键盘输入数据等。

3.2 系统监控模块

系统监控模块在系统启动后就开始运行,其主要功能是完成对键盘的扫描,根据扫描结果设置单片机控制帧内容等,以满足步进电机的操作要求。对于键盘的扫描通常采用中断的方式实现,原因在于,中断服务程序在单片机中地位较高,当系统产生中断时,单片机可以进行有限相应,可以更好的满足系统的实时性和灵活性要求。

3.3 控制信号生成模块

该模块的主要作用是根据键盘输入内容控制单片机的系统配置和步进电机的工作模式,如设置单片机输出控制几相电机、步进电机的转动方向、转动步数、系统运行频率等。该模块主要通过调整单片机的控制帧结构实现对步进电机系统的控制。

 

总结

本文设计了一种基于AT89C52单片机的步进电机控制系统,该系统可以通过键盘输入控制信息,继而油单片机根据输入信息发送相应的控制信号,控制步进电机的转动方向、转动速率、转动频率等。该系统功能丰富、控制灵活度高、有较强的实际编程性,可适用范围广,具有一定的实用价值。

 

 

参考文献

[1] 何冲,王淑红,侯胜伟,牛慧文.基于AT89C52单片机的步进电机控制系统研究[J].电气技术,2012(4)

[2] 彭礴,张明敏,林飞龙,湛翔飞,李杰,谢斌,晏敏.基于AT89S52高精度步进电机伺服控制系统设计[J].电子测量技术,2011,34(3)

[3] 孟武胜,李亮.基于AT89C52单片机的步进电机控制系统设计[J].微电机,2007,40(3)

[4] 王海波,吴晓光,李沛,余祎琴.基于AT89C52单片机步进电机控制系统设计[J].机电产品开发与创新,2009(11)