基于单片机的步进电机控制,高手?我的毕业论文。向哥哥姐姐学习。知道什么就说几句。谢谢你。..
摘要:论述了基于单片机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设置。