首页 理论教育 MCS-51系列单片机的应用实例

MCS-51系列单片机的应用实例

时间:2023-06-26 理论教育 版权反馈
【摘要】:由此可见,错齿是促使步进电动机旋转的根本原因。通过单片机的某个输出口轮流送出高、低电平就可得到相应的脉冲串,高、低电平保持的时间长短决定了脉冲串的周期或频率。由于8031单片机的字长为8位,8不能被3整除,但若把进位标志位也考虑在内,则可以看成是第“9”位,这时就能实现三相单三拍和三相双三拍的通电方式。2)对8031单片机内部数据存储区的使用情况如表9-22~表9-25所示。

MCS-51系列单片机的应用实例

1.步进电动机的工作原理

步进电动机实际上是一个数字/角度转换器,其结构原理如图9-21所示。从图9-21可以看出,电动机的定子上有6个等分的磁极;A,A′,B,B′,C,C′,相对的两个磁极组成一相,每个磁极上各有5个均匀分布的矩形小齿。

电动机的转子是由40个矩形小齿均匀分布在圆周上,相邻两个齿之间的夹角为9°。当某相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路。如果这时定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子转动一定的角度,使转子某小齿与定子某小齿对齐,其余齿可不对齐。由此可见,错齿是促使步进电动机旋转的根本原因。

978-7-111-46058-9-Part01-158.jpg

图9-21 步进电动机剖面示意图

2.步进电动机控制系统

典型的微机控制步进电动机的系统原理框图如图9-22所示。

978-7-111-46058-9-Part01-159.jpg

图9-22 微机控制步进电动机原理图

在该控制系统中,微机的主要作用是提供步进电动机的时序脉冲串(含频率和方向)。每当步进电动机从脉冲输入线上得到一个脉冲,便沿时序脉冲所确定的方向进一步。图9-23是单片微机8031控制一个45BF003型三相步进电动机的原理图。

978-7-111-46058-9-Part01-160.jpg

图9-23 单片微机控制三相步进电动机原理图

从步进电动机的工作原理可知,步进电动机要转动,必须要有电脉冲按一定的顺序加到电动机绕组上才能使步进电动机按预定的规律运行。因此,微机控制步进电动机的软件程序要能够产生所需要的脉冲串,并能按规定的顺序送出相应的脉冲信号(即时序脉冲)。

时序脉冲信号的形成:步进电动机的旋转方向与内部绕组的通电顺序和通电方式有关。以常用的三相步进电动机为例,通常有三种通电方式:

①三相单三拍方式:A→B→C→A。

②三相双三拍方式:AB→BC→CA→AB。

③三相六拍方式:A→AB→B→BC→C→CA→A。

按以上顺序通电,步进电动机正转;若按相反方向通电,则步进电动机反转,见表9-19、表9-20和表9-21。

9-19 三相单三拍

978-7-111-46058-9-Part01-161.jpg

9-20 三相双三拍

978-7-111-46058-9-Part01-162.jpg

9-21 三相六拍

978-7-111-46058-9-Part01-163.jpg

根据单片机的结构特点,采用定时器延时的办法实现脉冲信号,设定时器T0工作于方式1,机器周期T=2μs,计数初值为x,延时时间为N,因T0为加1计数器,要用补码运算,则

(216-x)×2×10-6=N×10-6

216-x=0.5×N

x=216-0.5×N

用XH表示初值x的高字节,XL表示x的低字节,当改变初值x时,就能改变延时时间,x值越小,延时时间则越长。通过单片机的某个输出口轮流送出高、低电平就可得到相应的脉冲串,高、低电平保持的时间长短决定了脉冲串的周期或频率。

由三相三拍通电方式的二进制数可以看出,步进电动机每进一步,高电平就左移或右移一位。由于8031单片机的字长为8位,8不能被3整除,但若把进位标志位也考虑在内,则可以看成是第“9”位,这时就能实现三相单三拍和三相双三拍的通电方式。

实现三相单三拍通电方式时,需在累加器A中放时序字节49H,示意图如图9-24所示。

实现三相双三拍通电方式时,则在累加器A中放时序字节0DBH,示意图如图9-25所示。

978-7-111-46058-9-Part01-164.jpg

图9-24 三相单三拍示意图

a)正转 b)反转

三相三拍时序脉冲输出的程序流程图如图9-26所示。根据图9-26编写的时序脉冲程序清单如下:

978-7-111-46058-9-Part01-165.jpg

图9-25 三相双三拍示意图

a)正转 b)反转

978-7-111-46058-9-Part01-166.jpg

978-7-111-46058-9-Part01-167.jpg

3.步进电动机控制程序的设计

步进电动机控制程序的主要任务是判断旋转方向,按顺序送出控制脉冲以及判断所要送的脉冲信号是否已经送完。以三相六拍运转方式为例,说明这种程序的设计方法。

设步进电动机所要走的总步数放在寄存器R4中,转向标志存放在程序状态寄存器用户标志位F0(即PSW.5H)中,当F0为0时,表示步进电动机正转,而当F0为1时,则表示步进电动机反转。正转模型01H,03H,02H,06H,04H,05H存放在8031片内数据存储器20H~25H中,26H中存放结束标志字00H。在27H开始的6个存储单元内存放反转控制模型01H,05H,04H,06H,02H,03H,在2DH单元内存放结束标志00H字。(www.xing528.com)

利用定时器延时,中断方式输出控制脉冲的程序流程图如图9-27所示。程序清单如下:

主程序清单:定时器延时,中断方式输出控制脉冲的控制程序。

978-7-111-46058-9-Part01-168.jpg

978-7-111-46058-9-Part01-169.jpg

图9-26 三相三拍时序脉冲输出程序流程图

978-7-111-46058-9-Part01-170.jpg

978-7-111-46058-9-Part01-171.jpg

图9-27 定时器延时控制程序流程图

a)主程序 b)中断服务程序

中断服务程序清单(完成正转或反转操作):

978-7-111-46058-9-Part01-172.jpg

978-7-111-46058-9-Part01-173.jpg

4.步进电动机的加/减速控制

上面讨论的是步进电动机的恒速运转方式,下面讨论步进电动机的加/减速运转方式。假设一个步进电动机的加/减速控制过程如图9-28所示。L1L3分别代表各个不同运行阶段的步长(这里指总步数),f代表步进电动机当前运行频率。前面已编写了恒速运行程序,因此,只需编写加/减速段的运行控制程序,总的控制程序也就完成了。

加/减速控制过程可以预先确定其加/减速的方式(例如直线方式或指数方式等)和加/减速的快慢,即控制信号的频率升/降阶梯。图9-29为加/减速控制程序流程图,该程序是以三相六拍运转方式、定时器延时、线性加/减速为例编写的。

978-7-111-46058-9-Part01-174.jpg

图9-28 加/减速控制程序示意图

978-7-111-46058-9-Part01-175.jpg

图9-29 加/减速控制程序流程图

a)主程序流程 b)中断服务程序流程

利用定时器延时时,在加速段,定时器的初值由小变大,延时时间由长变短;在减速段,定时器的初值由大变小,延时时间则由短变长;而在恒速段,定时器的初始值则始终保持不变。

在编写加/减速控制程序的总的控制程序之前先作如下一些规定:

1)定时器T0的初值写在EPROM存储区的同一页中,上半页为加速时T0的初始值,下半页是减速时T0的初始值。

2)对8031单片机内部数据存储区的使用情况如表9-22~表9-25所示。

9-22 正转模型分配表

978-7-111-46058-9-Part01-176.jpg

9-23 反转模型分配表

978-7-111-46058-9-Part01-177.jpg

9-24 标志位定义表

978-7-111-46058-9-Part01-178.jpg

9-25 初值分配表

978-7-111-46058-9-Part01-179.jpg

根据图9-29编写程序如下:

978-7-111-46058-9-Part01-180.jpg

978-7-111-46058-9-Part01-181.jpg

978-7-111-46058-9-Part01-182.jpg

总控制程序流程如图9-30所示,按照图编写的程序清单如下:

978-7-111-46058-9-Part01-183.jpg

978-7-111-46058-9-Part01-184.jpg

图9-30 总控制程序流程图

a)主程序流程 b)中断服务程序流程

978-7-111-46058-9-Part01-185.jpg

978-7-111-46058-9-Part01-186.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈