单片机AT89c51控制步进电动机设计.docx

上传人:b****8 文档编号:9127854 上传时间:2023-02-03 格式:DOCX 页数:14 大小:190.39KB
下载 相关 举报
单片机AT89c51控制步进电动机设计.docx_第1页
第1页 / 共14页
单片机AT89c51控制步进电动机设计.docx_第2页
第2页 / 共14页
单片机AT89c51控制步进电动机设计.docx_第3页
第3页 / 共14页
单片机AT89c51控制步进电动机设计.docx_第4页
第4页 / 共14页
单片机AT89c51控制步进电动机设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机AT89c51控制步进电动机设计.docx

《单片机AT89c51控制步进电动机设计.docx》由会员分享,可在线阅读,更多相关《单片机AT89c51控制步进电动机设计.docx(14页珍藏版)》请在冰豆网上搜索。

单片机AT89c51控制步进电动机设计.docx

单片机AT89c51控制步进电动机设计

第一章前言

1.1步进电机简介

步进电机最早是在1920年由英国人所开发。

1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。

以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。

在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。

随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。

步进电机可以直接用数字信号驱动,使用非常方便。

一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。

步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。

在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。

因此非常适合于单片机控制。

步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。

步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。

传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。

步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

第二章步进电机工作原理及系统方案论证

2.1步进电机工作原理

2.1.1步进电机结构 

电机转子均匀分布着40个小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定子和转子的展开图:

 

图2.1

2.1.2步进电机的旋转:

 

如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。

 

如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。

 

如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。

 

如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て ,这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3て,向右旋转。

如按A,C,B,A……通电,电机就反转。

 

由此可见:

电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系,而方向由导电顺序决定。

 

图2.2

不过,出于对力矩、平稳、噪音及减少角度等方面考虑。

往往采用A-AB-B-BC-C-CA-A这种导电状态,这样将原来每步1/3て改变为1/6て。

甚至于通过二相电流不同的组合,使其1/3て变为1/12て,1/24て,这就是电机细分驱动的基本理论依据。

 

不难推出:

电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m……(m-1)/m,1。

并且导电按一定的相序电机就能正反转被控制——这是步进电机旋转的物理条件。

只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。

 

2.2课程设计目的、要求及设计方案论证

2.2.1设计目的

(1)设计并实现给定步进电机的控制;

(2)进一步掌握步进电机的控制方法;

(3)进一步掌握单片机硬件和软件的综合设计方法。

2.2.2设计要求实现功能

(1)电机工作方式为三相双三拍,初始转速100r/min;

(2)能够实现电机的启/停功能;

(3)能够实现电机的正/反转功能;

(4)能够实现电机的加/减速功能。

2.2.3设计方案论证

(1)控制方式的确定

步进电机控制是一个比较精确的控制,步进电机开环控制系统具有成本低、简单、控制方便等优点,在采用单片机的步进电机开环系统中,控制系统的CP

图2.3

脉冲的频率或者换向周期实际上就是控制步进电机的运行速度。

系统可用两种办法实现步进电机的速度控制。

一种是延时,一种是定时。

延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的CP脉冲或换向周期。

延时子程序的延时时间与换向程序所用的时间和,就是CP脉冲的周期,该方法简单,占用资源少,全部由软件实现,调用不同的子程序可以实现不同速度的运行。

但占用CPU时间长,不能在运行时处理其他工作。

因此只适合较简单的控制过程。

定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便的控制系统输出CP脉冲的周期。

(2)驱动方式的确定

步进电机的驱动一般有两种方法,一种是通过CPU直接来驱动,这种方法一般不宜采用,因为CPU的输出电流脉冲是特别小的它不能足以让步进电机的转动;别一种是通过CPU来间接驱动,就是把从CPU输出的信号进行放大,然后直接驱动或是再通过光电隔离间接来驱动步进电机,这种方法比较安全可靠。

固本次设计应采用CPU间接驱动步进电机。

用编码器的测速发电机作为转速测量工具,因为选择了闭环控制,就必须有反馈元件,反馈元件一般有两种,一种是采用同轴的测速发电机,把步进电机的转速反馈回来,然后通过显示器显示出来并对步进电机进行调节;别一种是通过光同轴的电编码器把步进电机的转速反馈回来对步进电机进行调节;两者相比,后者的设计比较简单,价格便宜,安全可靠,污染少。

固一般采用后者,用光电骗码器作为反馈元件。

(3)驱动电路的选择

  步进电机的驱动电路有多种,但最为常用的就是单电压驱动、双电压驱动、斩波驱动、细分控制驱动等。

但因本次设计对步进电机的精度要求比较高转速的调节范围比较广,固应选用驱动芯片8713来驱动,并通过软件来实现步进电机的调速。

(4)基本方案的确定

  因本次设计的要求,选用三相双三拍步进电机,单片机选用89C51作为控制器。

选用8279来驱动显示和键盘。

选用8713作为步进电机的驱动芯片并通过光电耦合来驱动步进电机。

然后用与步进电机同轴的光电编码器作为反馈元件,并把反馈回的信号经CPU处理后再由显示器显示出来。

第三章系统硬件电路设计

3.1 单片机的选择

本次设计以CPU选用89C5l作为步进电机的控制芯片.89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FAlshProgrAmmABleAndErAsABleReAdOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案

3.1.1单片机的引脚功能

(1)VCC(40):

电源+5V。

(2)VSS(20):

接地,也就是GND。

(3)XTL1(19)和XTL2(18):

振荡电路。

单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号。

(4)PSEN(29):

片外ROM选通信号,低电平有效。

(5)ALE/PROG(30):

地址锁存信号输出端/EPROM编程脉冲输入端。

(6)RST/VPD(9):

复位信号输入端/备用电源输入端。

(7)EA/VPP(31):

内/外部ROM选择端                              

(8)P0口(39-32):

双向I/O口。

(9)P1口(1-8):

准双向通用I/0口。

(10)P2口(21-28):

准双向I/0口。

3.1.2 主要特性:

与MCS-51兼容4K字节可编程闪烁存储器寿命:

1000写/擦循环数据保留时间:

全静态工作:

0Hz-24Hz三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路

(1)振荡器特性:

  XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(2)芯片擦除:

  整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2 步进电机的选择

因本次设计的要求,步进电机应选用三相双三拍的步进电机,具体说明如下:

三相双三拍控制模型:

正转控制模型

步序

工作

状态

控制模型

二进制

十六进制

1

AB

00000011

03H

2

BC

00000110

06H

3

CA

00000101

05H

反转控制模型

步序

工作

状态

控制模型

二进制

十六进制

1

AB

00000011

03H

2

CA

00000101

05H

3

BC

00000110

06H

控制绕组的通电方式为AB-BC-CA-AB或AB-CA-BC-AB,每拍同时有两相绕组通电,三拍为一个循环,当A、B两相控制绕组同时通电时,转子齿的位置应同时考虑到两对定子极的作用,只有A相极和B相极对转子齿所产生的磁拉力相平衡才是转子的平衡位置。

双三拍运行时的步距角是30°,但双三拍运行时每一拍总有一相绕组持续通电,例如由A、B两相通电变为B、C两相通电时,B相保持持续通电状态,C相磁拉力使转子逆时针方向转动,而B相磁拉力却起有阻止转子继续向前转动的作用。

3.3步进电机与微型机接口电路

因为步进电机工作时的驱动电流比单片机端口所能提供的要大得多.单片机要控制电机的运动就不能直接将端口与电机各相相连,必须使用一定的接口电路和驱动电路。

接口电路一般为锁存器,也有使用可编程接口芯片,如8255。

驱动器多选用大功率复合管。

当然,考虑到实际使用中的干扰和电压安全,一般都要在单片机与驱动器之间使用必要的光电隔离器。

图3.1

在图3.1中,若P1.2口输出为0时,发光二极管不会发光.此时光敏管处于截止状态,而达林顿管导通.所以C相通电:

反之,P1.2输出为1时,由电路分析可知C相不通电。

如按前面所示的表取控制数,按顺序执行,就可以使步进电机安一定的方向步进。

第四章系统软件程序设计

步进电机控制程序就是完成环形分配器的任务,从而控制步进电机转动,以达到控制转动角度和位移之目的。

首先要进行旋转方向的判断,然后转到相应的控制程序。

正反向控制程序分别按要求的控制顺序输出相应的控制模型,再加上脉宽延时程序即可。

脉冲序列的个数可以用寄存器CL进行计数。

控制模型可以以立即数的形式一一给出。

控制标志单元FLAG为00H时,表示正转;为01H时,表示反转。

其程序流程图如下图所示:

图4.1程序流程图

程序编写:

D0EQU0

D2EQU2

ORG0000H

START:

LJMPMAIN

ORG0003H

LJMPINT0

ORG0100H

MAIN:

MOVP2,#00H;等待信号

MOVP0,#FFH

MOVR2,#0

MOVR3,#0

MOVR4,#0

CLRIT0

SETBEA

SETBEX0

LJMPMAIN

INT0:

JNBP2.0,ZHENG;正转

JNBP2.1,FAN;反转

JNBP2.2,JIA;加速

JNBP2.3,JIAN;减速

JNBP2.4,TIN;停

RETI

ZHENG:

MOVR2,#1;正转

MOVDPTR,CHA

MOVA,D0

MOVCA,@A+DPTR

MOVP0,A

ACALLYAN0

CPLP0.0

CPLP0.2

ACALLYAN0

CPLP0.0

CPLP0.1

ACALLYAN0

LJMPZHENG

FAN:

MOVR2,#0;反转

MOVDPTR,CHA

MOVA,D2

MOVCA,@A+DPTR

MOVP0,A

ACALLYAN0

CPLP0.0

CPLP0.1

ACALLYAN0

CPLP0.0

CPLP0.2

LJMPFAN

ZHENG1:

MOVDPTR,CHA;加减速正转

MOVA,D0

MOVCA,@A+DPTR

MOVP0,A

CJNER3,#0,YIA1

CJNER4,#0,YIA2

CPLP0.0

CPLP0.2

CJNER3,#0,YIA1

CJNER4,#0,YIA2

CPLP0.0

CPLP0.1

CJNER3,#0,YIA1

CJNER4,#0,YIA2

LJMPZHENG

FAN1:

MOVDPTR,CHA;加减速反转

MOVA,D2

MOVCA,@A+DPTR

MOVP0,A

CJNER3,#0,YIA1

CJNER4,#0,YIA2

CPLP0.0

CPLP0.1

CJNER3,#0,YIA1

CJNER4,#0,YIA2

CPLP0.0

CPLP0.2

CJNER3,#0,YIA1

CJNER4,#0,YIA2

LJMPFAN1

JIA:

MOVR3,#1;加速

MOVR4,#0

CJNER2,#0,ZHENG1

LCALLFAN

JIAN:

MOVR4,#1;减速

MOVR3,#0

CJNER2,#0,ZHENG

LCALLFAN

TIN:

LCALLMAIN;停

YAN0:

MOVR0,#25

LOOP00:

MOVR1,#100

LOOP01:

DJNZR1,LOOP01

DJNZR0,LOOP00

RET

YAN1:

MOVR0,#20

LOOP10:

MOVR1,#100

LOOP11:

DJNZR1,LOOP11

DJNZR0,LOOP10

RET

YAN2:

MOVR0,#30

LOOP20:

MOVR1,#100

LOOP21:

DJNZR1,LOOP21

DJNZR0,LOOP20

CHA:

DB03H,06H,05H

END

第五章心得体会

通过这次的计算机控制技术的课程设计,我对步进电动机有了深入的了解,平时我们接触的电动机主要是直流电动机和交流电动机,很少见到步进电动机,所以对于步进电动机比较陌生。

通过老师指导,然后自己在课后翻阅书籍和上网,搜集到了不少有关步进电动机的知识。

通过钻研这些知识,我总算对步进电机有了认识,但是这离课程设计需要掌握的知识相差甚远,为了缩短这种差距,我只能不断的向老师和同学请教,然后仔细的揣摩。

在这次课程设计中,通过用单片机控制步进电机的正、反转,加、减速,我也对单片机的知识也进行了复习和巩固。

那时候觉得学习单片机是那么的枯燥乏味,整天只是学习这个指令做什么,那个指令做什么,觉得学了一点用都没有。

但是今天我才发现,学习单片机是那么的有用处,它可以控制步进电机的旋转、加减速、停止,也可以控制十字路口的交通灯,还可以控制机械手工作。

俗话说的好,实践是检验真理的唯一标准,学习再多的理论也只能纸上谈兵,只有把理论应用到实践中,才能检验出理论的真伪。

从这次的课程设计,我也发现自己在好多地方的不足,在以后的学习和工作中,我会努力去弥补这些不足,争取让自己不要被社会淘汰。

第六章参考文献

[1]温希东,路勇.计算机控制技术.西安电子科技大学出版社,200569~80

[2]曹天汉.单片机原理与接口技术.电子工业出版社,200696~111

[3]曹承志.电机拖动与控制.机械工业出版社,2000267~277

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1