毕业设计基于STC89C52单片机的步进电机控制系统设计与实现.docx
- 文档编号:23916877
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:54
- 大小:1.44MB
毕业设计基于STC89C52单片机的步进电机控制系统设计与实现.docx
《毕业设计基于STC89C52单片机的步进电机控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计基于STC89C52单片机的步进电机控制系统设计与实现.docx(54页珍藏版)》请在冰豆网上搜索。
毕业设计基于STC89C52单片机的步进电机控制系统设计与实现
唐山学院
毕业设计
设计题目:
基于STC89C52单片机的步进电机控制系统设计与实现
系别:
信息工程系
班级:
姓 名:
指导教师:
2013年6月10日
基于单片机的步进电机控制系统
设计与实现
摘要
步进电机是一种纯粹的数字控制电动机,是一种受电脉冲信号控制的无刷式直流电动机,是现代定位驱动装置的核心,广泛应用在机械、电力、纺织、电子、仪表、印刷以及航空航天、船舶、兵器等国防工业等领域。
基于单片机的步进电机控制系统具有稳定度高、成本低、控制方便、应用范围广等特点。
本系统是由STC89C52单片机核心处理模块,遥控器命令输入模块,ULN2003及28BYJ-48步进电机组成的电机模块,12864液晶输出模块共同组成的基于单片机的步进电机控制系统。
本设计以载波为38KHZ的红外遥控器作为用户的控制端,它的功能是把用户的命令转换为红外信号。
红外信号由TL1838接收,它可以将光信号转换为电信号,并将其发送给微控制器STC89C52。
STC89C52对电信号进行相应处理即可获得用户所发出的指令,并依此来控制28BYJ48型四相八拍电机并以12864液晶作为当前状态的显示器。
用户可以对步进电机进行加速、减速、正转、反转的控制。
本步进电机控制系统具有精度高、运行稳定、控制方便、维护简单、应用范围广等特点。
关键词:
STC89C5212864液晶步进电机红外遥控
DesignandImplementationofStepperMotorControlSystemBasedonMCU
Abstract
Steppermotorisakindofpuredigitalcontrolmotorandbrushlessdcmotorcontrolledbyelectricpulsesignaltype.Steppermotoristhecoreofthemodernorientationdrive,widelyusedinmachinery,electricpower,textile,electronics,instruments,printingandaerospace,ships,weapons,andotherareasofthedefenseindustry,etc.Thecharacteristicsofthesteppingmotorcontrolsystembasedonsinglechipmicrocomputerincludehighstability,lowcost,convenientcontrolandwideapplication,etc.
Thesteppermotorcontrolsystemconsistsofcoreprocessorusingthesinglechipprocessor,commandinputcontrolmoduleusingIRremotecontrol,displaymoduleusing12864LCDand28BYJ48steppingmotormodulewhichusingULN2003asdriver.
Theinfraredremotecontrolwithcarrierfor38KHZisusedasthecontrolendoftheuser,whichcanconverttheusers’commandsintotheinfraredsignal.TheTL1838canreceivetheinfraredsignalandconvertitintoelectricalsignal,whichinputtotSTC89C52.TheMCUcanobtaininstructionsofusersbyprocessingtheincomingsignalandcontrolsteppingmotorofthe28BYJ48type,thecurrentstatuscanbeshownby12864LCD.Userscouldcontrolacceleration,deceleration,forward,inversionforthesteppingmotor.Thefeaturesofthecontrolsystemofsteppermotorincludeshighprecision,stablerunning,convenientcontrolandsimplemaintenanceandwideapplication,etc.
Keyword:
MCU;12864LCD;StepperMotor;Infraredremotecontrol
1引言
步进电机是一种纯粹的数字控制电动机,又称为阶跃电机或脉冲电机[1]。
是一种转动速率与转动步数可以由脉冲数量与频率控制的直流电机,也就是说这是一种转动速度与脉冲频率相一致的同步电机。
它是一种将电脉冲能量转换为机械能的机制,这种方式使它转动的每一个角度,每个角度占用的时间都由用户掌控。
随着科学技术的迅猛发展,步进电机的研究也到达了新的水准。
定位驱动系统已完全由步进系统所主宰。
在过去,人们认为步进系统在很多方面都不及伺服系统,但是由于技术的不断革新,材料的不断升级优化以及计算机技术的不断成熟,使得步进控制系统在技术层面上迎来了崭新的一页。
定位驱动系统是处于不断发展状态的,经历了步进系统、直流伺服系统、交流伺服系统等过程的发展与过度,现在又回到了步进控制系统。
定位驱动装置之所以再一次回到步进系统,是因为它可以将系统简化,维护非常简单,它所构成的开环控制系统是无需反馈的,同时又能保持非常高的精度。
所以现如今的定位驱动装置大多是采用步进系统的,这在将来的几十年都不会改变,这种由脉冲去控制转动方位,脉冲频率决定转动速度的定位方式一定会在很大程度上决定着工业与生活中的定位装置的发展趋势。
步进电机的上述特点使得它广泛应用于冶金、机械、电力、纺织、电子、轻工、重工、电子、医疗、印刷以及航空航天等国防工业等领域。
举一个典型的例子,数控机床在机械行业中有着举足轻重的地位,而数控机床的正常运转又是依赖步进电机的,它核心就是步进电机系统。
这种无需反馈的开环系统决定了数控机床的工作可靠、性能稳定、维护方便、加工迅捷的特点,也使数控机床成为如今机床发展的主要方向。
在其他的许多行业中,步进控制系统也发挥着举足轻重的作用。
比如我们在生活中常见的有钟表、广告牌、绘图仪等,在生产中常见的有印刷机器、纺织机、包装机械等。
本设计主要是基于单片机的步进电机控制系统,可以通过遥控器的键盘设置期望的步进电机转动状态,通过红外发射装置及接收装置,使单片机接收到用户需要的控制命令,进行相应的处理,使步进电机改变运动状态并在LCD显示屏显示出来。
本设计虽然是理论上的步进系统,并没有广泛应用于工业中的定位装置与生产当中。
但是随着步进电机技术的不断革新和电机身上所固有的脉冲与角位移严格成正比的特点,以及红外遥控的准确、迅捷、易于控制的优势,步进电机对步进电机稳定、高效、准确的控制,都决定了基于单片机的红外控制步进电机系统将在生活生产中迎来广阔的市场。
为了表现步进电机的在生活生产中的应用广泛性,本设计的一些功能的设定有一定的针对性,可以具体的表现出红外控制的步进系统的优越性能。
2总体设计方案
2.1系统设计原理
单片机STC89C52是整个系统关键部分,通过对遥控器上键盘的命令输入,经遥控器编码后发出红外信号,TL1838接收到信号并在单片机中解码。
本文提出的采用38KHZ的遥控器为核心控制器件的步进电机控制系统,根据输出信号的不同可以控制步进电机的转动状态,其中采用了28BYJ-48的步进电机,以ULN2003为驱动芯片,并通过单片机程序控制和处理,从而实现了步进电机的状态控制及相应状态显示。
本系统采用STC89C52单片机为核心处理器,遥控器为命令输入模块,由ULN2003及28BYJ-48步进电机组成的转动模块、12864液晶的输出模块共同组成的基于单片机的步进电机控制系统。
2.2总体设计框图
本设计采用STC89C52单片机为核心处理器,利用载波为38KHZ的遥控器为输入模块键盘输入模块,控制步进电机的正转和反转,并以三种不同的速度进行转动,并且转动状态在12864液晶上显示。
系统构成如图2-1所示。
图2-1系统框图
由系统框图可知,遥控器和TL1838为输入装置,步进电机、12864液晶、蜂鸣器为输出装置,单片机为中心处理装置,ULN2003为驱动器。
3系统硬件模块的组成
3.1单片机控制模块
主控电路中,以单片机为主体,通过分析遥控输入的指令,改变步进电机的运行参数和显示参数。
它是系统的大脑。
单片机(MicroController,又称微控制器)是在一块硅片上集成了各种部件的微型机算计,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路[3]。
3.1.1STC89C52主要结构
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口[4]。
3.1.2STC89C52功能特性描述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用宏晶公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash、256字节RAM、32位I/O口线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下个中断或硬件复位为止[5]。
STC89C52的引脚结构如图3-1所示。
图3-1STC89C52单片机引脚图
GND:
接地。
VCC:
供电电压。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器。
能驱动4个TTL逻辑电平。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示。
表3-1P3口的第二功能
信道位
第二功能
说明
P3.0
RXD
串行口的输出
P3.1
TXD
串行口的输入
P3.2
————INT0
外部中断0的中断请求输入
P3.3
————INTI
外部中断1的中断请求输入
P3.4
T0
计数器0的计数输入
P3.5
T1
计数器1的计数输入
P3.6
——WR
外部数据存储器的写选通信号
P3.7
——RD
外部数据存储器的读选通信号
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次
有效。
但在访问外部数据存储器时,这两次有效的
信号将不出现。
/VPP:
当
保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,
将内部锁定为RESET;当
端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.3时钟电路
STC89C52有内部时钟和外部时钟两种连接方式。
设计中使用内部时钟,即在RXD和TXD两端并联晶振和适当电容。
需要注意的是并不是晶振有定时的作用,而是通过和单片机内部的高增益反相放大器连接,使它可以在一定频率下稳定震动,起到口令的作用。
其连接电路如图3-2所示。
图3-2时钟电路
在RXD和TXD引脚上并联的晶振是系统的定时元件,内部振荡器就产生自激振荡。
时钟电路中选用的晶振可以在1.2~24MHz之间选择,并联的电容值可在5~30pF之间选择,为单片机提供了有序准确的命令,是单片机正常运行的前提。
3.1.4复位电路
AT89C52的外围电路是必须有复位功能的,一般分为自动复位和按键复位。
设计使用的是手动复位,电路原理是在普通RC复位电路的基础上接一个有下拉电阻10K、上拉电容10μf接VCC,电源由开关经串接的1K限流电阻至复位脚(和上拉电容并联),上拉电容支路负责在“上电”瞬间实施复位;开关通过1K上拉电阻和10K下拉电阻分压器,保证对单片机实施按键电平复位[6]。
电路图如图3-3所示。
图3-3复位电路
复位可以对单片机初始化。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序[7]。
复位一般有两种作用,一种是在进入系统时要正常的初始化,另一种是程序可能会出现错误,运行混乱,是系统处于死锁状态,为了解决这种困境,通常采用复位方式。
3.2步进电机模块
3.2.1步进电机简介
人类社会进入自动化时代的今天,传统电动机的功能已不能满足各种运动控制系统的要求。
为了适应这些要求,发展了一系列新的具备控制功能的电动机系统,其中较有自己特点,且应用十分广泛的一类便是步进电机。
从发展趋向来讲,步进电机已经能与直流电动机,异步电动机,以及同步电动机并列,成为电动机的一种基本类型,步进电机己成为除直流电动机和交流电动机以外的第三类电动机。
步进电机是电动脉冲信号为角位移或线位移的开环步进电机控制元件块。
步进电机对于其他种类电机的优势是在非超载的情况下,电机的运动状态如电动机转速、停止的位置非常稳定,可以完全在用户的掌控之中的,负载的变化,在恶劣环境下都不会对它产生影响,这取决于它的控制方式的与众不同。
步进电机的转动圈数完全取决于给它脉冲的数量,它转动速度又完全取决于脉冲频率。
只要给步进电机一个脉冲,就会驱动电机在旋转方向上转动一个固定的角度,称为“步进角”,旋转角度是固定的一步一步的操作[8]。
所以它的可操作性非常优越,但是步进电机的转动速度是比较慢的,随着科技的发展,这种缺点也在逐渐改善。
步进电机的实物图如图3-4所示。
图3-428BYJ48型四相八拍电机
本设计选择28BYJ-48步进电机作为设计对象,步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。
使步进电机连续转动的方法是不断的供给控制脉冲。
每个脉冲都对应步进电机的某一项或两项绕组,当它的通电状态改变时对应的转子就会转过一定角度,这个角度叫做步距角。
通电状态改变一个周期时转子所转的角度成为齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。
3.2.2步进电机的结构
步进电机有转子和定子两部分,在电流作用下的,定子和转子的相互作用,使得电机不停转动。
28BYJ-48步进电机的定子是由硅钢片叠成的,定子上有8大磁极,每2个相对的磁极(N,S)组成一对,共有4对,如图3-5所示。
定子齿有个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。
0、1/4π、2/4π、3/4π(相邻两转子齿轴线间的距离为齿距以π表示),即A与齿1相对齐,B与齿2向右错开1/4π,C与齿3向右错开1/2π,D与齿4向右错开3/4π。
而转子是由软磁材料制成,其外表面也均匀地分布着小齿,与定子上的小齿相同,并且小齿的大小相同,间距相同。
3.2.328BYJ-48步进电机工作原理
步进电机是一种将电脉冲转换为角位移的执行机构,步进电机的转动圈数完全取决于给它脉冲的数量,它转动速度又完全取决于脉冲频率。
只要给步进电机一个脉冲,就会驱动电机在旋转方向上转动一个固定的角度,可以通过电脉冲个数来控制角偏移量,从而达到准确定位的目的,同时可以通过控制脉冲频率,来控制电机转动的速度和加速度,从而达到调速的目的。
本设计选择28BYJ-48步进电机作为设计对象,其原理图如3-5所示。
图3-5步进电机接线示意图
在图中可以看到附在周围的是定子,在中间的是转子。
定子的作用是产生一个电磁场,这个电磁场和转子的磁场可以产生一个扭力[9],使得步进电机转动。
但是定子的电磁场是不能和转子磁场在同一直线的。
使步进电机不停转动的前提是定子的磁场不停的变换,这个变换是通过一次改变绕组的磁场,始终是定子和转子的磁场产生错位,促使步进电机的稳定转动。
而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。
由于单片机的驱动电流较小,不能直接用来驱动步进电机,优势不能充分展现,所以一般都是使用ULN2003达林顿阵列驱动,可以为步进电机提供较大的扭力,使电机稳定工作。
3.3ULN2003芯片概述与特点
ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路[10]。
由于步进电机并不是简单的转动,它要带动不同的负载,完成不同的工作,所以需要产生较大的扭力,又由于直接使用三极管驱动的局限和功率电子电路大多要求具有大电流输出能力,所以步进电机的驱动一般使用ULN2003。
ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件功率驱动电路,可控大功率驱动器件驱动电路是功率电子设备输出电路的一个重要组成部分。
具体电路图如图3-6所示。
图3-6ULN2003接线示意图
ULN2003实际上只是一个放大电路,用来放大电流,对于实际的逻辑控制没有任何作用。
如果没有这个芯片电机也会转动,只是转动的扭力会受很大影响,制约步进电机的性能。
3.4红外线发射接收模块
3.4.1红外线遥控的介绍
红外线是太阳光线中众多不可见光线中的一种,在太阳光中就包含着红外线。
由德国科学家霍胥尔于1800年发现,又称为红外热辐射。
很多人不知道红外线与紫外线等不可见光线或者红光等可见光线的产生区别,它们最大的区别是波长不同,波长是震荡频率的结果。
人眼能够识别的可见光的种类为红、橙、黄、绿、青、蓝、紫,波长是从长到短排列的。
其中红光的波长范围为0.62~0.76um;紫光的波长范围为0.38~0.46。
比紫光的波长还要短的光叫紫外线,比红光的波长还要长的光叫红外线。
红外线遥控技术就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。
红外线是我们最常用的一种不可见光线,家用电器的遥控器基本上都是使用红外线。
有一个很有趣的特点,当按下遥控器的键盘时,我们看不到红外发射头发出的光线,但是如果我们用照相机来对着红外发射头,按下键盘时,在相机中我们可以观察到它发出了亮光。
红外遥控的特点是造价较低,适合市场的推广,各类家庭用户的使用。
编解码较容易,不会因为程序电路的复杂性而经常出现故障。
它由32位码长,4段码,通过用户码的不同区别开了不同产品的不同遥控,以免互相干扰,不影响周边环境、不干扰其它电器设备。
还有一个重要原因,红外线不会对人体造成伤害,发射接收距离较长,方便用户使用。
一般在10米以内可以灵敏接收的。
3.4.2红外通信基本原理
通信控制系统大多是由发射与接收两部分组成的,红外通信也不例外。
发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用红外一体化接收头进行接收,两者联合构成了红外通信系统。
红外通信的基本原理是:
发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。
红外信号由接收端转换成电信号,并对其进行放大、滤波等处理,还原成二进制数字信号,并将其输出。
由于各遥控产品的不同,还有很多不同的遥控厂商,必须有一个通信协议来保障不同种类的红外产品获得最佳的通信效果。
红外线的波长在750nm至1mm之间,红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。
红外数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 STC89C52 单片机 步进 电机 控制系统 设计 实现