基于单片机的步进电机控制(毕业设计论文)_第1页
基于单片机的步进电机控制(毕业设计论文)_第2页
基于单片机的步进电机控制(毕业设计论文)_第3页
基于单片机的步进电机控制(毕业设计论文)_第4页
基于单片机的步进电机控制(毕业设计论文)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(2013届)本科毕业设计(论文)资料题 目 名 称:基于单片的步进电机控制的设计 学 院(部): 电气与信息工程学院 专 业: 电气工程及其自动化 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩: 湖南工业大学教务处 2013届本科毕业设计(论文)资料 第一部分 毕业论文 (2013届)本科毕业设计(论文)学 院(部): 电气与信息工程学院 专 业: 电气工程及其自动化 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩 2013年6月 湖南工业大学本科毕业设计(论文)摘 要步进电机从诞生以来发展迅速,它广泛应用于医疗设备、检测仪器、数码产品等人类社会

2、的各个方面。本文设计的步进电机是基于单片机AT89C52控制,四相单四拍运行。单片机采用软件的方式发送脉冲,经过驱动器74LS245将信号放大后送给步进电机。采用两个按键分别控制电机的正反转,两个按键分别控制电机的加减速,两个数码管分别显示电机的转向和速度档位。通过改变相邻两相脉冲发送的时间间隔,即调节脉冲的宽度,来改变电机的速度。 控制正反转的按键采用查询方式。控制加减速的按键采用中断服务控制方式,一旦有加速或者减速键按下就会产生中断,单片机就会立即进入中断程序,进行相应的操作。这样可以很方便的控制电机的加减速。另外,数码管实时显示电机的速度和方向,让用户使用起来更加直观和安全。基于脉冲的控

3、制,使步进电机相比其它电机而言控制更加平稳和精确。相信步进电机的发展会越来越快,技术也会越来越成熟,步进电机将更好的造福于人类。关键词:步进电机,单片机,中断服务,脉冲ABSTRACTStepper motor has been developing rapidly since its birth, it is widely used in medical equipment, testing instruments, digital products and other various aspects of human society. Stepper motor of this desig

4、n is based on single chip microcomputer AT89C52, and it is running by four phase four. It send pulses with the method of software, the message will be sended to stepper motor through the amplification by 74 ls245. We Use two muttons controing the motor forwarding and reversing, two buttons controlli

5、ng the motor accelerating and decelerating,two digital tube display ing the direction and the gears of speed of the motor. By changing the interval between the pulses of two phase of neighbouring, namely, by adjusting the width of pulse, we change the speed of the motor.We control the two buttons of

6、 forwarding and reversing by the way of querying. We use the way of Interrupt service controlling the buttons of accelerating and decelerating. once the acceleration or deceleration keys has been pressed the single chip microcomputer will generate interrupts, and it will enter the interrupting progr

7、am immediately, and do the corresponding operation.In this way,we will control the motor accelerating and decelerating conveniently.besides,digital tube can display the speed and direction of the motor immediately,which woud make the user intuitive and safer.The stepper moror which based on the cont

8、rolling of pulse are more steady and correct compared with others.I belive that the diveloping of stepper motor will be faster,and the technology will be moer mature.In a word,the stepper motor will service people better in the future. Keywords: Stepper motor,single chip microcomputer,interrupting s

9、ervice,pulse 目 录摘 要IABSTRACTII第1章 绪 论11.1课题背景11.2本文研究的内容1第2章 步进电机的结构和工作原理22.1步进电机的特点22.2步进电机的构造22.3步进电机的工作原理32.4步进电机的主要参数42.5步进电机的选型5第3章 步进电机的硬件设计63.1单片机简介63.2硬件设计总体思路103.3步进电机的脉冲分配113.3.1硬件分配法113.3.2软件分配法123.4步进电机的驱动123.5电机运行电路设计143.5.1正反转电路设计143.5.2加减速电路设计143.6显示电路的设计15第4章 步进电机的程序设计164.1主程序设计164.2

10、外部中断0程序184.3外部中断1程序194.4正转脉冲程序194.5反转脉冲程序214.6速度显示程序214.7延时程序22第5章 步进电机的仿真235.1硬件仿真图235.2速度与方向显示仿真245.3脉冲信号的生成25结 论28参考文献29致 谢30附 录31III第1章 绪 论 1.1课题背景步进电机我们又称为脉冲电动机或阶跃电动机,它基于电磁感应原理,将电脉冲信号转变为角位移或线位移。步进电机广泛应用于工业自动控制、数控机床、机器人、计算机外围设备、照相机、卫星天线定位系统等。随着经济的发展与科技的进步,步进电机的应用领域将更加广阔,更好的服务于人类。步进电机起源于1830年至186

11、0年,1870年前后把这种电机应用在氩弧灯的电极输送机构中,这被认为是最早的步进电机1欧伟明,何静,凌云,刘剑.单片机原理与应用. 电子工业出版社,2009.。1973年德国百格拉公司发明了五相混合式步进电机及其驱动器,1993年又推出了性能更加优越的三相混合式步进电机2张迎新.单片机原理及应用(第二版).电子工业出版社,2009.。我国在80年代以前,以反应式步进电机为主,80年代后混合式步进电机开始发展。图1.1步进电机的图片1.2本文研究的内容本文研究试图基于单片机采用软件的方式发出脉冲信号,经过功率放大器送给电机。设计四个按键分别控制步进电机的正转、反转、加速和减速,实现方便的正反转和

12、加减速。设计两个数码管显示电机的运行速度等级和方向,达到实时监测步进电机的运行状态,既方便安全又经济实惠。第2章 步进电机的结构和工作原理2.1步进电机的特点1步进电机的角位移与输入脉冲数严格成正比,没有累计误差,具有控制精确和良好的跟随性3宋文绪,杨帆.自动检测技术(第三版).高等教育出版社,2008.。2由步进电机与单片机、驱动电路组成的开环系统,既方便廉价又可靠安全。如果加上角度反馈就会成为高性能的闭环控制系统4陈士进,朱学忠.步进电机系统驱动与控制策略综述J.电机技术,2007年06期.。3速度可以在比较宽的范围内调节,低速运行时仍具有较大转矩,因此可以不需要减速器而直接驱动负载。4步

13、进电机动态响应快,可以方便快速的实现正反转和加减速控制。5步进电机只能通过专门的脉冲电源供电,不能由一般的交流电或直流电供电,这由它的工作原理决定的。6步进电机的噪声和振动较大,带惯性负载的能力不强。7步进电机的力矩随转速的升高而下降。8步进电机外表不允许较高的温度,外表温度一般不超过80-90摄氏度。2.2步进电机的构造步进电机由转子和定子组成,如图1.2所示,分别介绍如下:1. 定子:由硅钢片叠成,在定子上有6大磁极,每2个相对的磁极组成一对,一共有3对。定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开 0、1/3、2/3,(为相邻两转子的齿距)4。2. 转子:由软磁材料制成,其外

14、表面均匀分布着小齿,它们大小相同,间距相同4。图1.2步进电机结构图电机的A1、B1、C1接电源,分别有三个开关控制,A2、B2、C2分别接地。2.3步进电机的工作原理如上图所示给处于错齿状态的三相通电,则转子在电磁力的作用下,将向磁导率最大(即磁阻最小)的位置转动,也就是趋于对齿的状态转动5王宗培,史敬灼.二相混合式步进电机仿真模型分析J.微特电机,1998年06期.。步进电机是一种感应电机,它的工作原理是给电机的三相按一定的相序分时通直流电,即形成一系列的脉冲信号,步进电机就会连续的转动。以四相步进电机为例说明6韩轩.五相混合式步进电机驱动系统的设计与仿真D.大连交通大学,2010年.:(

15、1)方向控制通电换向的过程称为脉冲分配。四相单四拍的通电顺序为:A-B-C-D-A;四相双四拍的通电顺序为:AB-BC-CD-DA-AB。通电控制脉冲信号必须严格按照这一顺序控制四相的通断,才能保证步进电机的正常运行。电机如要反转,则通电顺序刚好相反。反转时,四相单四拍通电顺序为:A-D-C-B-A;四相双四拍为:BA-AD-DC-CB-BA。四相步进电机工作时序波形图如下: a.单四拍 b.双四拍图1.3步进电机工作时序波形图脉冲分配如下表所示:表1.1四相单四拍脉冲分配表 ABCDN1000N+10100N+20010N+30001表1.2四相双四拍脉冲分配表ABCDN1100N+1011

16、0N+20011N+31001(2)速度控制两个相邻脉冲通电时间间隔越短,步进电机速度就越快。因此可以通过控制这一时间间隔来控制电机的转速。2.4步进电机的主要参数1. 步进电机的相数:指电机内部的线圈数,常用的有两相、三相、五相的步进电机。2拍数:完成一个磁场周期性变化所需脉冲数,或电机转过一个齿距角所需脉冲数,用m表示。3. 齿距角:相邻两齿中心线间的夹角,通常定子和转子具有相同的齿距角。其计算公式为:z=2/Z(Z 是转子的齿数)6韩轩.五相混合式步进电机驱动系统的设计与仿真D.大连交通大学,2010年.。4. 步距角:指每给一个电脉冲信号电动机转子所应转过的角度的理论值。b=z/NZ

17、= 2/NZ(N是工作拍数,Z是转子的齿数)。5保持转矩:指步进电机通电但没有转动时,定子锁住转子的力矩。6定位转矩:电机在没有通电状态下,电机转子自身的锁定力矩。7. 失调角:转子齿轴线偏移定子齿轴线的角度,电机转动必然存在失调角,由失调角而产生的误差,采用细分驱动是不能解决的。8失步:电机运转时的步数不等于理论上的步数。9运行矩频特性:电机在某一测试条件下测得运行中的输出力矩与频率关系的曲线。 2.5步进电机的选型步进电机的选型包括三个方面:电机最大速度、电机定位精度和电机力矩选择,下面分别介绍:(1)电机最大速度选择步进电机最大速度一般在600-1200 r/min。交流伺服电机的额定速

18、度一般为3000 r/m,最大速度为5000 r/m。机械传动系统要根据此参数设计。(2)电机定位精度选择机械传动比确定以后,可根据控制系统的定位精度选择步进电机的步距角和驱动器的细分等级。一般选一个步距角对应系统定位精度的1/2或者更小。(3)电机力矩选择步进电机的动态力矩一般情况下不容易确定。通常先确定电机的静力矩,静力矩的选择依赖于电机工作的负载。负载一般分为惯性负载和摩擦负载。直接起动(一般低速起动)时两种负载都要考虑,加速起动时主要考虑惯性负载,恒速运行时只考虑摩擦负载就可以了。一般地,静力矩为摩擦负载的2-3倍,静力矩确定好了,电机的几何尺寸就确定了7李颖,五相混合式步进电机控制技

19、术研究D.西北工业大学,2007年.。第3章 步进电机的硬件设计步进电机的硬件设计包括单片机最小系统、脉冲分配、驱动模块、运行控制模块、显示模块。下面分别予以介绍。3.1单片机简介单片机诞生于20世纪70年代,美国Intel公司1996年宣布1997年推出MCS-48单片机,随后单片机技术飞速发展,至今有30多年历史8陈忠平,曹巧媛,曹琳琳,刘琼,申晓龙.单片机原理及接口.清华大学出版社,2007.。我国从20世纪70年代末80年代初开始进行单片机的应用与研发。单片机从8位发展到16位和32位,这不得不说是一个惊人的进步。单片机是单片微型计算机的简称。单片机是将中央处理器CPU,程序存储器RO

20、M或EPROM,数据存储器RAM,定时器/计数器,并行及串行口等电路集成在一块芯片上做成的微型计算机9W Q Yang. D M Spink, et. An image-reconstuction algorithm based on Landwebers iteration method for electrical-capacitance tomography. Meas.Sci. Technol. 1999,10: 1065-1069.。单片机的典型结构如下图3.1所示。定时计数器时钟CPU串行口并行口RAMROM图3.1单片机的典型结构单片机与一般的微型机相比,具有以下特点:1控制功能

21、强。为满足工业控制的要求,在单片机的指令系统中有非常系统的数据传送指令、算术运算指令、逻辑运算及移位指令、控制转移指令和位操作指令。这些指令让单片机更加灵活。2集成度高、体积小、可靠性强。3低功耗、低电压,便于生产便携式产品。4具有很高的性价比,功能强大而且成本较低,可应用于生活各领域。5采用串行接口,可以大大减少器件的引脚,简化系统结构。另外串行传输速度也在不断提高。6在程序存储器发面,Flash ROM单片机问世,让程序存储器的编写可以擦除,单片机的使用更加便捷10曲家骇,王季,伺服控制系统中的传感器M.机械工业出版社.1998.。 下面以ATMEL公司AT89C52单片机为例进行介绍,如

22、图3.2所示:图3.2单片机引脚图(1)引脚功能说明1Vcc给单片机提供电源电压,GND接地 。2P0口:P0口是一组8位漏极开路型双向I/O口。当其扩展外部存储器及I/O接口时,P0口作为低8为地址总线/数据总线的分时复用。P0口也可作为通用的I/O口使用,但要加上拉电阻,这时为准双向口。这在仿真和做电路板时一定要注意。 3P1口:P1口是一个带内部上拉电阻的8位双向I/O口。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。另外,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表3.1。Flash编程和程序校

23、验期间,P1接收低8位地址11张友德,赵志英,涂时亮,单片机微机原理,应用与实验M.上海:复旦大学出版社,2003:122-136.。表3.1 P1.0和P1.1的第二功能引脚号功能特性P1.0 T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1 T2EX(定时/计数2捕获/重装载触发和方向控制)4P2口:P2是一个内部带上拉电阻的8位准双向I/O口。对P2端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。在CPU从外部程序存储器取指令和访问外部数据存储器时,P2口输出16位地址中的高8位地址。5P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出可驱动4个

24、TTL逻辑门电路。对P3口写入“1”时,引脚被内部上拉电阻拉高并可作为输入口。P3口如表3.2所示,除了作为一般的I/O口外,更重要的用途是其具有第二功能,特别是五个中断源,它在本设计中发挥了非常大的作用。表3.2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)6RST:复位输入。当单片机工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。单片机在复位时,各种

25、参数恢复到初始设置。7ALE/PROG:当CPU访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。通常情况下ALE以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟频率或用于定时需要。对Flash存储器编程时,该引脚还用于输入编程脉冲(PROG)。另外可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,禁止ALE操作。该位置位以后,只有MOVX和MOVC指令才能将ALE激活。应该注意的是,单片机执行外部程序时,应设置ALE禁止位无效12Ateml AT89S51 Data sheets.website:.。8PSEN:程序储存允许(

26、PSEN)输出是外部程序存储器的读选通信号,当CPU由外部程序存储器取指令时,每个机器周期PSEN两次有效,即输出两个脉冲。在此期间,在访问外部数据存储器时将跳过两次RSEN信号。 9EA/VPP:EA为片外程序存储器访问允许控制信号输入端。当EA为高电平时,单片机读片内程序存储器,当程序计数器PC值超过0FFH时,将自动转向片外存储器。当EA为低电平时,只读片外程序存储器。Flash存储器编程时,该引脚要加上+12V的编程使能电压。10XTAL1:振荡器反相放大器及内部时钟发生器的输入端。11XTAL2:振荡器反相放大器的输出端。(2)单片机的最小系统单片机的最小系统包括单片机、晶振电路、复

27、位电路和电源。本设计的最小系统如下图3.3所示,因为在PROTUES软件里单片机自动带电源,所以就没有特定的电源引脚了。图3.3单片机的最小系统晶振电路:它控制着单片机的工作节奏。89C52单片机的时钟信号有两种产生方式,一种是内部方式,一种是外部方式。如图3.3下面分别对其予以介绍。1内部时钟方式利用芯片内部的振荡电路实现。在单片机的外部引脚XTAL1、XTAL2两端接晶振和电容,构成了稳定的自激振荡器,产生的脉冲信号送入内部时钟电路。外接晶振时,C1、C2一般选择30pf,C1、C2对时钟有微调作用,晶振的频率范围可在3-33MHZ之间选择。为减小寄生电容和保证振荡器更稳定的工作,晶振和电

28、容安装时应尽量与XTAL1、XTAL2靠近。本设计采用内部时钟方式。2外部时钟方式使用现成的外部振荡器产生的脉冲信号,外部时钟信号接XTAL1端,XTAL2端悬空。这种方式用的比较少。复位电路:在时钟电路工作之后,只要在RST引脚上出现两个机器周期以上的高电平,单片机就可以复位。当RST引脚变为低电平则退出复位,进入单片机的初始工作状态。本设计采用手动复位,按下复位键电容放电,电容迅速放电,RST变为高电平,当复位键弹起后,电源VCC对电容重新充电,使RST引脚出现正脉冲而复位。电容一般为22uf,R1为1K,R2为200。3.2硬件设计总体思路如下图3.4所示,通过P1口发送脉冲信号。信号经

29、过74LS245功率放大器放大后送给步进电机。P3.4和P3.5接两个按键分别控制电机的正转与反转。P3.2和P3.3对应外部中断0和外部中断1,分别控制电机的加速和减速。P0口和P2口接两个共阳极的数码管分别显示步进电机的转向和速度等级。本设计步进电机采用四相单四拍,转子齿为50齿,根据步距角计算公式:b= 2/NZ=360/50/4=1.8度(N是工作拍数,Z是转子的齿数)。即给步进电机发送一个脉冲,电机转动1.8度。图3.4步进电机的总体硬件图3.3步进电机的脉冲分配脉冲分配通常有两种方法:硬件分配和软件分配,各有其特点,硬件法比价稳定,但参数比较固定;软件法采用编写程序,不需要额外的硬

30、件,成本低,而且控制灵活。故本设计采用软件分配法。下面分别介绍。3.3.1硬件分配法以CT74LS194为例来说明其工作原理。图3.5环形脉冲分配器如图电路图3.5所示,环形脉冲分配器是使一个矩形脉冲按一定的顺序在输出端Q0-Q3之间,轮流分配反复输出的电路13谢自美. 电子线路设计.实验.测试M.武汉:华中科技大学出版社,2000:212-230.。工作原理介绍如下:把输出端Q3反馈接至右移输入端Dsr,使Dsr= Q3,CR=1。初始时,M1M0=11,寄存器处于并行输入方式。D0D1D2D3=1000,输入CP脉冲,在脉冲上升沿到来时输出端Q0Q1Q2Q3=1000。工作时,M1M0=0

31、1,让芯片处于右移方式。Dsr=Q3=0,当第一个CP脉冲上升沿到来时,右移一位变为Q0Q1Q2Q3=0100,Dsr=0。同理第二个CP脉冲上升沿到来时,Q0Q1Q2Q3=0010,Dsr=0。第三个上升沿脉冲到来时,Q0Q1Q2Q3=0001,Dsr=1。第四个上升沿脉冲到来时Q0Q1Q2Q3=1000,回到初始状态。若不断输入脉冲则寄存器重复以上的过程。环形脉冲的状态表如下表3.3所示。表3.3环形脉冲分配器状态表CPM1M0DsrQ0Q1Q2Q301101000101001002010001030110001401010003.3.2软件分配法软件法是单片机P1口的P1.0-P1.3四

32、个引脚通过写“1”或者“0”的方法获得脉冲,每个脉冲的时间通过延时程序控制。P1.0-P1.3的脉冲分配表如下表3.4所示。表3.4 P1.0-P1.3的脉冲分配表P1.3P1.2P1.1P1.0N0001N+10010N+20100N+31000P1口的脉冲经过驱动器74LS245送给步进电机。74LS245驱动器将在下面内容介绍。3.4步进电机的驱动步进电机的驱动有7输入7输出的ULN2001、ULN2002、ULN2003、ULN2004和8输入8输出的ULN2823和ULN2824,但这些芯片的输出都取反。本设计的输入与输出电位相同故采用74LS245。74LS245是我们常用的芯片,

33、用来驱动LED管或者其他设备,它是8路同相三态双向总线收发器14李广第,单片机基础.北京航空航天大学出版社,2001.。74LS245还具有双向三态功能,既可以输出数据,也可以输入数据。一般情况下,当单片机的I/O口总线负载达到或超过其最大负载能力时,必须接入74LS245等总线驱动器,才能带动负载。如图3.7所示,当片选端CE低电平有效时,DIR=“0”,信号由 B 传输给 A,即接收数据15求是科技编著,单片机典型模块设计实例导航.北京:人民邮电出版社,2004.。DIR=“1”,信号由 A传输给 B,即发送数据。当CE为高电平时,A、B均为高阻态。P2口与驱动器输入线对应相连。图3.6

34、74LS245引脚图如图3.7所示,在本设计中74LS245接单片机的P1口, P1.0-P1.3分别接74LS245的A0-A3,输出端B0-B3接步进电机的A、B、C、D四相输入端。E端接地,AB/BA 端接5V电源。数据从A传输给B。 图3.7驱动模块电路图3.5电机运行电路设计步进电机的运行控制包括电机正反转控制和加减速控制。3.5.1正反转电路设计图3.8正反转电路设计如图3.8所示,P3.4接S1,控制电机的正转,P3.5接S2控制电机的反转。其原理为:P3口自带上拉电阻,默认输出高电平。将两个引脚通过开关接地,当有键按下并且常闭时,该引脚被拉为低电平。编程时采用查询方式检测到P3

35、.4有低电平,P1口发送正转脉冲;检测到P3.5有低电平时,P1口发送反转指令。在没有按下加减速按键,即没有产生外部中断的情况下,单片机一直在检测两个按键是否按下。若有键按下则进行相应的操作。 3.5.2加减速电路设计图3.9加减速电路设计如图3.9 按键S3接外部中断0,按键S4接外部中断1。设置外部中断0和外部中断1均为下降沿触发方式。设为下降沿触发,外部中断信号即下降沿的撤除是自动完成的。加速原理:点动S3则瞬间P3.2被拉为低电平,随后又立即回复高电平,这样的下降沿信号能使外部中断0产生中断请求。单片机进入中断后,确定速度档位是多少,根据速度档位发送相应频率的脉冲给步进电机,得到不同的

36、速度。同时根据速度档位显示当前的速度。减速时点动S4通过P3.3的外部中断1产生中断,减速原理与加速原理相同。3.6显示电路的设计显示电路包括电机转动速度显示和方向显示。如图3.10所示P0口接一个共阳极数码管用来显示电机的转向,正转时显示“1”,反转时显示“2”。P2口接一个共阳极数码管显示电机的速度档位,可显示1-5五个档位。两个数码管的七段引脚分别接P0口与P2口的7个引脚,两个COM端接5V电源。图3.10显示电路第4章 步进电机的程序设计本设计的程序设计包括一个主程序和五个主要子程序。这五个子程序分别为正脉冲发送程序、反脉冲发送程序、加速程序、减速程序、速度显示程序。延时程序在正脉冲

37、发送程序和反脉冲发送程序中被调用,用来控制相邻两个脉冲的间隔时间。控制这个时间就可以达到调速的目的了。下面分别对主程序和子程序进行介绍。 YY Y4.1主程序设计开始系统初始化NS1闭合? 调用正转脉冲和速度显示程序S2闭合? N调用反转脉冲和速度显示程序图4.1主程序流程图如上图4.1,系统初始化程序:MOV R2,#01H MOV R4,#1 MOV R5,#8 SETB IT0SETB IT1SETB EAETB EX0SETB EX1 在初始化程序中,R2记速度的档位,初值为1即起动速度为一档,满足电机低速起动要求。R4初值为正转起始脉冲序列0001,R5初值为反转起始脉冲序列1000

38、。外部中断0和外部中断1均设为下降沿触发。最后三条指令打开总中断允许、打开外部中断0以及外部中断1允许。中断请求标志由TCON控制,TCON寄存器如表4.1。表4.1 TCON寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HIT0为外部中断0的中断触发方式控制位。当IT0=0,为电平触发方式,即INT0输入低电平信号时形成有效的中断请求16刘守义,王静霞.单片机应用技术.西安电子科技大学出版社,2002.。当IT0=1,为下降沿触发方式,即INT1输入负跳变信号时形成有效的中断请求17于海生,微型计算机控制技术.北京:清华大学

39、出版社,1999-6.。同理IT1的触发方式相同,本设计INT0 和INT1均采用下降沿触发,这样可以自动撤除外部中断信号。按键检测原理为:如果S1闭合,则调用正转脉冲程序和和速度显示程序,另外方向直接显示“1”即可。调用了子程序之后又反过来继续检测检测S1是否按下。如果S1没有按下则检测S2是否按下,S2按下则调用反转脉冲程序和速度显示程序,方向直接显示“2”。若S2没有按下则继续检测S1是否被按下。总之,产生了中断就进入中断服务程序,没有中断则一直检测按键。 Y4.2外部中断0程序入口 R2+1R2=6?NYR2=5返回图4.2外部中断0程序流程图如图4.2寄存器R2储存速度档位值,当外部

40、中断0产生中断时,即有加速信号输入,R2自加1,在R2的值等于6时,R2恢复为5返回,小于6时直接返回R2值,这样保证速度在五档以后不能加速了。速度显示程序根据R2的值显示出速度。4.3外部中断1程序 YYR2=0?返回R2=1R2-1入口 N图4.3外部中断1程序流程图当外部中断1产生中断时,即有减速信号输入,R2自减1,在R2的值等于0时,R2恢复为1返回,大于0时直接返回R2值,这样保证速度到一档时不再减速。速度显示程序根据R2的值显示出速度档位。4.4正转脉冲程序正转脉冲程序是步进电机设计中最核心的部分。不同宽度的脉冲决定着电机的不速度。其流程图如下图4.4: 入口返回根据R2的值调用

41、延时程序送R4的值给P1口将R4的值乘以2NR4=16?YR4=1 图4.4正转脉冲程序流程图正转脉冲程序的作用是完成正转脉冲的发送。设R4的值为正转脉冲序列,进入正转脉冲程序先将R4的值送给P1口,由P1口送给步进电机。TAB2建立了一个脉冲宽度表,根据R2的值即速度档位调用相应的延时程序就得到了对应的脉冲宽度。延时之后将R4的值乘以2,也就是将脉冲序列左移1位。然后检测R4的值是否等于16,若等于16说明一个周期的最后一个序列1000已经延时完毕,这时将R4的值恢复1返回。若R4的值不等于16直接返回。TAB2表的数据如下:TAB2: DB 00H,3CH,28H,1EH,14H,05H这

42、五个数据分别对应0档至5档的延时程序里的R1的值,通过改变R1的值来达到不同延时时间的目的。对应五个速度的延时时间分别为:60ms、40ms、30ms、20ms、10ms。4.5反转脉冲程序入口R5=0?将R5的值除以2送R5的值给P1口根据R2的值调用延时NYR5=8返回图4.5反转脉冲程序流程图反转脉冲程序完成反转脉冲的发送。设R5的值为反转脉冲序列,入口时先将R5的值送给P1口,经P1口送给步进电机,驱动电机运行。TAB2建立了一个脉冲宽度表,根据R2的值即速度档位调用相应的延时程序就得到了对应的脉冲宽度。延时时间用R1的值来控制。延时之后将R2的值除以2,也就是将脉冲序列右移1位。然后

43、检测R5的值是否等于0,若等于0说明一个周期内的最后一个序列0001已经延时完毕,这时将R5的值恢复8即1000返回。若R5的值不等于0则直接返回。4.6速度显示程序MOV A,R2 MOV DPTR,#TAB1MOVC A,A+DPTRMOV P2,ARET TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H设R2为速度档位,用数据表查询的方式调用要显示的数字代码,数字代码送给P2口,由接在P2口的数码管显示对应的数字。TAB1中的10个代码分别对应七段共阳极数码管数字0到9的代码。共阳极数码管的工作原理是给某一段写0即送低电平,

44、该段就点亮。4.7延时程序DELAY: MOV R1,ADL2: MOV R3,#25 /延时1MSDL1: MOV R0,#255 DJNZ R0,$ DJNZ R3,DL1 DJNZ R1,DL2 RET本延时程序有三个嵌套,单片机的晶振采用12MHZ,其周期为1/12us。里面两层嵌套的时间为:(2552+2)251/12us=1067us=1.067ms。这样第三层的R1的值就决定了延时时间。可以近似看成R1是多少就延时多少毫秒。第5章 步进电机的仿真步进电机的仿真基于Protues仿真系统,它是一款功能强大的单片机仿真软件。可以在做实物电路板之前检测硬件和软件设计是否合理。Protu

45、es软件可以像Protel软件一样,完成单片机电路原理图的绘制、PCB的设计。更为重要的是,可与Keil uVision4等软件结合进行编辑、编译和仿真调试。下面从硬件电路图、速度与方向显示、脉冲序列的生成和电机转动四个方面来介绍步进电机的仿真情况。5.1硬件仿真图图5.1步进电机仿真硬件电路图硬件电路如图5.1,它的设计和工作原理在前面章节已有介绍。仿真系统开始运行,没有任何按键按下,两个数码管均显示“0”。5.2速度与方向显示仿真 图5.2速度与方向显示(a) 图5.3速度与方向显示(b) 图5.2所示,S1按下,电机正转,左边数码管显示“1”表示正转,右边数码管显示“1”表示速度一档。同

46、理图5.3显示正转三档速度。 图5.4速度与方向显示(c) 图5.5速度与方向显示(d)图5.4和图5.5 均为S2按下,电机反转,左边数码管均显示“2”。图5.4显示速度二档,图5.5显示速度五档即最高档。当速度达到最高档时,按加速按键不会起作用;当速度达到最低档时按减速键也不起作用。这样设计可以防止误操作。5.3脉冲信号的生成图5.6正脉冲信号图5.7反脉冲信号图5.8反脉冲五档信号如图5.6所示,为步进电机运行时的正转脉冲,从上至下依次为A相、B相、C相、D相的脉冲,他们分别对应P1.0、P1.1、P1.2、P1.3。可以清楚的看到脉冲的变化过程如表5.1。但由于步进电机的干扰,方波信号

47、不平滑,可见示波器的仿真效果是不错的。表5.1正脉冲信号DCBAN0001N+10010N+20100N+31000如图5.7为反脉冲信号,四相的顺序与正转相同。容易得出反脉冲信号的变化过程如表5.2。表5.2反脉冲信号DCBAN1000N+10100N+20010N+30001图5.8为反转五档速度的脉冲,这是最高速度,很直观地看到,脉冲速度比较快,脉冲宽度比较小。通过仿真测试,可以直观的检测我们的设计,也让我们更好的了解步进电机的各项特性。结 论经历几个月的努力,基于单片机的步进电机控制的设计顺利完成了。在设计过程中,也遇到了不少麻烦,硬件的设计经过几次修改,主要是关于选择驱动器方面,最终

48、比较选择了74LS245。编写软件程序与仿真调试是最麻烦的事了。我的设计思路是这样的:一、先查阅相关的资料熟悉步进电机的控制原理。二、设计好初步的硬件电路,并用PROTUES软件画出硬件电路图。三、开始写步进电机的测试程序,比如数码管的静态显示,按键的查询和固定宽度的脉冲发送,并将这些程序一一调试通过。四、构思整个程序的框架,写出主程序和主要子程序的流程图。五、根据流程图写出所有程序,并在PROTUES调试通过。事实证明按照这样的思路可以达到事半功倍的效果,从刚开始的遥遥无期,到碰到问题时的各种纠结,到最终将步进电机的波形调出来这一刻让我激动不已。这一过程记载了我的奋斗历程。 通过本次设计让我对步进电机有了进一步的了解,同时也算是一次产品设计的尝试。硬件部分采用的器件应用广泛,且价格低廉,如AT89C52单片机、驱动器74LS245等。这就意味着所有的器件功能比较强大和稳定。本设计的亮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论