基于单片机的步进电机控制,高手?我的毕业论文。向哥哥姐姐学习。知道什么就说几句。谢谢你。..

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

摘要:论述了基于单片机AT89C51的步进电机控制系统,主要包括系统的硬件组成和步进电机的详细运行过程。

分析、PC机与AT89C51单片机的串行通信、AT89C51单片机对步进电机的控制程序流程图等。

关键词:单片机;交流;步进电动机

1简介

电平为TTL电平。为了获得一致的传输信号,需要采用电平转换。

在当今的电气时代,电机在现代生产和生活中一直扮演着重要的角色。

芯片MAX485。根据实际需求,选用AT89C51单片机,但由于其数量

它起着非常重要的作用。无论是在工农业生产中,还是在日常生活中。

根据数据存储面积,只有256个单元,需要扩展片外数据存储6264。此外

使用电器时,大量使用电机。所以马达的控制

脉冲分配器CH250用于单片机实现步进电机的换向

系统变得越来越重要。电机控制技术的发展得益于微电子技术。

脉冲分配,通过光电耦合器4N25实现步进电机与单片机的电气隔离。

技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术、

但由于单片机本身的驱动能力有限,需要使用特殊的驱动电源。

微型计算机应用技术的最新发展成果。正是这些技术进步使得电机控制

采用单电压驱动实现功率放大,从而为电机提供足够的电流。

在过去的二十年里,制造技术发生了翻天覆地的变化。其中电机的控制

整体硬件框图如图1所示:

控制部分逐渐由模拟控制让位于基于单片机的微处理器控制。

本文采用硬件和软件相结合的方法,用单片机实现步进电机的运行

动态控制。

2硬件部分

[2]

PC机与AT89C51单片机的串行通信是从硬件到硬件。

转换器ATC-106和电平转换芯片MAX485。由于个人电脑

图1硬件框图

采用Rs-232c接口标准。根据项目要求和生产中的实际情况,

而且需要传输距离长的RS-485,所以需要RS-232C。

3软件部分

接收日期:2007年5月-18

PC机与单片机之间的异步串行通信由软件实现。PC机以查询的方式发送和接收数据,单片机接收PC机T步进电机运行到step+1所用的时间。

普通

1+N

1

1

传输的信息,从而确定步进电机的旋转方向和脉冲总数;也就是匀速运行每一步所需的时间。

采用软件延时的方法来控制脉冲的分配,从而控制步进电机的整体运行。采用软件延时的方法控制单片机发出脉冲的时间。

线过程。通过改变脉冲的频率来改变步进电机的运行速度。宰布

在电机匀加速阶段,只需要电机每走一步所需的时间。

3.1步进电机运行分析

[4]

调用延迟子程序。根据

步进电机的加减速应有严格的控制要求,即保证

-VV

1-

在不丢步、不超调的前提下,以最快的速度、最短的时间移动到指定地点。

=a

(6)

+

电汇

1-

位置。本设计要求步进电机以如图2所示的速度运行。

——匀加速运行阶段步进电机第一步的速度。

V

——步进电机匀速加速运行阶段第一步所用时间。

T

由于步进电机在均匀加速操作阶段中进行最后一步时的速度

与恒速运行时的速度v相同。

V

普通

1

L

L

= V =再次替换它,因为=

=

V V

V

V

普通

1+N

1

1

1-i

T

T

1-i

(2-6)

TLTL

-

1-ii

完成排序

a=

+TT

-

1ii

2

2

+

+ (7)

俗气的衣服

0=LT

TaTL

( )

-

1-ii

1-ii

图2步进电机的运行过程

可以通过软件调用平方根函数来获得。

首先让我=

普通

1

从图中可以知道匀加速阶段和匀减速阶段的加减速情况。

等到,t,这样就可以找出步进电机的均匀性

T

1

T

T

T

2

1-N

3-N

2-N

1

1

1

同一个方向,加减速时间是一样的,所以我们只需要计算加速段所走的步数。

加速运行阶段中从静止到每一步所用的时间。马达正在加速。

你可以知道你减速时走的步数。他们是一样的。计算过程如下:

过程中所走的总步数,即脉冲数,就是步进电机从静止开始。

普通

1

首先,恒速运行的速度v是由用户设定的,所以它是一个已经

匀加速阶段每走一步,加速阶段总步数减少1,软件延时。

知道数量。加速度a,一个脉冲行进的距离l,整个运算过程所走的步数。

方法控制每一步的时间,加速阶段的延迟时间是逐渐的。

该数目,即脉冲的总数p,也是一个给定值。运行方向根据用户要求而定。

,等等。

直到,,

依次变短,

T

T

T

T

T

T

1

3-N

2

2-N

1

普通

1-N

1

1

1

由软件决定。

Go,直到= 0,加速过程结束,进入恒速运行阶段。步进电动机

普通

1

然后计算步进电机运行时间。

普通

恒速运行过程中的总步数是,从恒速运行开始,电机的每一步都被执行。

-当步进电机以匀加速运行时使用。

根据

t

atV =

1 1

步,匀速前进的总步数会减少1,因为匀速前进每一步所花的时间是一样的。

时间

相同,所以软件延迟时间为,直到恒速时的总步数减少到0,恒定。

T

V

1+N

1

你可以找到t =

(1)

1

a

速度过程结束,进入减速运行阶段。因为匀速减速运行的过程就是加速

因为匀加速阶段中的加速度与匀减速阶段中的加速度相同,所以匀加速度为

过程的逆过程,在匀加速运行阶段,步进电机所走的总步数为

t

加速操作阶段中使用的时间t与均匀减速操作中使用的时间同相。

2

1

,且= n,减速阶段电机每走一步,减速总步数减少1,

普通

普通

1

1

2

2

2

。因为是匀加速,S =

相同,即t =

,由a和t

t

1

1

1

2

2

软件延迟时间逐渐变得恒定,随后,

,,直男

T

T

T T

普通

1-N

2-N 3-N

1

1

1 1

找出步进电机在匀加速运行阶段移动的总距离,并通过

2

当减速总步数减少到0时,减速过程结束,电机停止运行。

T

S

T

21

2

1

1

普通

=

(2)

=

1

L

L 3.2通信软件的设计

可以获得在均匀加速操作阶段步进电机所采取的总步数,即脉冲数。

[5]

PC机与AT89C51的串行通信程序由两部分组成:一部分

数数。因为步进电机的均匀减速操作阶段与均匀加速操作阶段相反

一部分是PC机的通信程序,另一部分是AT89C51的通信程序。个人电脑

程,所以在匀速减速运行阶段所采取的步数。

同匀加速运行阶段。

普通

2

发送时,AT89C51单片机必须接收;当PC机接收时,AT89C51单片机

步数相同,即=,步进电可由p和得到。

不不不

不知道

1

1

2

1 2

机器必须发送它。而且对应的发送和接收字符也要一样,否则无法实现。

在动力的均匀运行阶段中所采用的总步数,即脉冲数,也就是说,

普通

正常交流的目的。所设计的PC机是用8086/8088汇编语言编写的。

普通

= P---P-2(3)

普通

普通

N 1

3 1

2

写,AT89C51单片机是用MCS-51语言写的。为了确保数据

步进电机匀速运行时,它走每一步,也就是每一个脉冲所需的时间。

通信的可靠性,通信协议制定如下:

是一样的,根据

①pc机和AT89C51单片机都可以发送和接收。

L

(4)

V=

②pc机与AT89C51单片机通信的波特率为9600bps,采用。

T

1+N

1

L

(5)

因此

T

=

使用的晶振频率为24MHZ,定时器T1工作在模式2,带2,SMOD设置。