完整版单片机毕业课程设计步进电机控制设计.docx
《完整版单片机毕业课程设计步进电机控制设计.docx》由会员分享,可在线阅读,更多相关《完整版单片机毕业课程设计步进电机控制设计.docx(19页珍藏版)》请在冰豆网上搜索。
完整版单片机毕业课程设计步进电机控制设计
步进电机控制设计
摘要
步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
结合对步进电机的了解,然后对步进电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用8051单片机来控制步进电机,并给出了步进电机的双相三拍控制单片机控制和三相六拍的单片机控制的具体实现方法,用汇编程序进行控制运行。
控制系统通过单片机存储器、IO接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。
电机的控制系统由AT80C51单片机控制,具有抗干扰能力强,可靠性高而且系统扩展容易等优势。
本次课程设计中着重于通过控制脉冲数来控制位移,实现准确定位。
基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制步进电机课程设计的实际意义。
关键字:
步进电机,角位移,单片机,脉冲
目录
1课题描述1
2总体实现原理1
3步进电机原理及硬件设计2
3.1单片机电路2
3.1.1AT89C51单片机的组成结构2
3.1.2AT89C51单片机的引脚及功能4
3.2步进电机6
3.2.1步进电机的工作原理6
3.2.2控制原理7
3.2.3步进电机的驱动方式8
3.2.4最小系统9
3.3输入显示部分10
3.4电源11
4软件程序设计11
4.1主程序的设计12
4.2定时中断设计13
4.3外部中断设计13
4.4系统软件程序14
总结19
致谢20
参考文献21
1课题描述
传统的步进电机控制方法是由触发器产生控制脉冲来进行的,此种方法工作方式单一且难于实现人机交互,当步进电机的参数发生变化是,需要重新进行控制器的设计。
而且由传统的触发器构成的控制系统具有控制电路复杂、控制精度低、生产成本高等缺点。
由单片机控制的步进电机克服了以上缺点。
它具有很高的精度,一般用在精确定位方面。
步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件,具有快速起动和停止的特点。
其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度,并能实现正反转和平滑速度调节。
它的运行速度和步距不受电源电压的波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。
步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。
常见的步进电机分三种:
永磁式(PM)、反应式(VR)、混合式(HB),永磁式步进一般分为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
在欧美等发达国家早已被淘汰;混合式步进是指混合了永磁式和反应式的优点。
它又分为两相和五相:
两相步进角一般为1.8度而五相步进角一般为0.72度,这种步进机应用最为广泛。
目前使用单片机控制,单片机为微控制器的下位机和以计算机为上位机的步进电机控制系统,用软件代替步进控制器,使得线路简单,成本低,可靠性大大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器,软件编程可灵活产生步进电机励磁序列来控制步进电机的运行方式。
用此方式设计步进电机控制系统顺应了目前国内外控制系统微机化发展的趋势,充分利用了单片机的优点,使得通用性得到了提高。
伴随不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。
2总体实现原理
步进电机的系统总体框图如图1,在系统中采用AT89C51单片机产生A、B、C、D四相信号(更具实际需要,可以扩充更多相信好)。
当采用单片机控制时,需要在单片机和步进电机之间设置隔离电路以使强弱分开。
由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。
系统电路由5部分
组成,即:
输入显示部分;AT89C51单片机;直流电压和步进电机。
图1系统总体框图
3步进电机原理及硬件设计
3.1单片机电路
本系统采用A89C51单片机产生控制信号单片机内部的内存即可满足要求。
如需要扩展较多的外部RAM和ROM可加上数据缓冲器。
步进电机控制信号通过AT89C51单片机其中一个口进行扩充。
为了增加步进电机工作的灵活性,在启动步进电机工作之后,当有键按下,设置产生外部中断,达到灵活控制电机的目的。
下面介绍一下AT89C51单片机。
3.1.1AT89C51单片机的组成结构
AT89C51单片机内部硬件结构框图如图2所示。
它由一个8位中央处理器(CPU)、一个256B片内RAM及4KBFlashROM、21个特殊功能寄存器、4个8为并行IO口以及中断系统等部分组成,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。
(1)CPU
CPU是单片机的核心部分,CPU包括两个基本部分:
运算器和控制器。
①运算器
运算器即算术逻辑单元ALU,是进行算术或逻辑运算的部件。
可实现算术运算和逻辑运算。
操作的结果一般送回累加器ACC,而其状态信息送至程序状态寄存器PSW。
②控制器
控制器是用来控制计算机工作的部件。
控制器接收来自存储器的指令,使各部件协调工作,完成指令所规定的操作。
图2AT89C51单片机内部结构示意图
(2)内部存储器
①内部数据存储器
AT89C51芯片内共有256B(地址为00H-FFH)的数据存储器,其中高128B(地址为:
80H-FFH)被专用寄存器占用,能作为寄存器供用户使用的只是低128B(地址为:
00H-7FH),用于存放可读写的数据,如程序执行过程中的变量。
②内部程序存储器
AT89C51共有(地址为:
0000H-0FFFH)的flash程序存储器,用于存放程序、原始数据或表格常数。
(3)定时计数器
AT89C51共有两个16位的定时计数器都可以设置成计数方式,用于对外部事件进行计数;也可设置成定时方式,并可以根据计数或定时的结果实现对单片机运行的控制。
(4)并行IO口
用于进行单片机内外的传输,4个8位的IO口(P0、P1、P2、P3)。
每个8位的口,既可用作输入口,也可用作输出口,每个口即可以8位同步读写,又可对每一位进行单独的操作。
标准IO口的主要功能相当于一个8位锁存器,能存储一个字节的二进制数据,以保持与之相连接的8条口线各自电位的高低状态。
3.1.2AT89C51单片机的引脚及功能
AT89C51共有40个引脚,下面介绍一下它们的主要功能。
(1)P0口
P0口某一位的结构图如图3所示,一个输出锁存器、两个三态缓冲器、一图3P0口的结构示意图
个转换开关MUX、一个输出驱动电路(T1和T2)和一个与门及一个非门组成。
(2)P1,P2,P3口
P1口是唯一的单功能口,位结构图如图4所示,仅能作为通用IO口使用,P1口是8位准双向口,作通用输入输出口使用,Pl口有别于P0口,它接有内部上拉电阻。
P1口的每以一位可以独立地定义为输人或者输出,因此,P1口既可作为8位并行输入输出口,又可作为8位输入输出端。
CPU既可以对P1口进行字节操作,又可以进行位操作。
当作输入方式时,该位的锁存器必须顶写1。
P2口是8位准双向输入输出接口,当外接程序存储据时,P2口给出地址的高8位,此时不能用作通用,IO口。
当外按数据存储器时,若RAM小于256KB,用R0、R1作间址寄存器,只需要P0口送出地址低8位,P2口可以用
图4P1口的位结构图
作通用IO;若RAM大于256KB,必须用16位寄存器DPTR作间址寄存器.则P2口只能在一定限度内作一股IO口使用。
P3口是多功能口,同P0口一样,当做输入口时,必须先向锁存器写“1”,使场效应管T截止。
(3)主电源引脚GND和Vcc
GND(20):
接地;Vcc(40):
正常操作时接十5V电源
(4)外接晶体引脚XTAL1和XTAL2
当外接晶体振荡器时,XTAL1和XTAL2分别接在外接晶体两端,当采用外部时钟方式时,XTAL1接地,XTAL2接外来振荡信号。
(5)控制引脚
RSTVpp(9):
当振荡器正常运行时,在此引脚上出现二个机器周期以上的高电平使单片机复位。
Vcc掉电期间,此引脚可接备用电源,以保持内部RAM的数据。
当Vcc下降掉到低于规定的水平,而VPD在其规定的电压范围内,VPD就向内部RAM提供备用电源。
ALE(30):
当访问外部存储器时,由单片机的P2口送出地址的高8位,P0口送出地址的低8位,数据也是通过P0口传送。
作为P0口某时选出的信息到底是低8位地址还是传送的数据,需要有一信号同步地进行分别。
当ALE信号(允许地址锁存)为高电平(有效).P0口送出低8位地址,通过ALE信号锁存低8位地址。
PSEN(29):
程序存储器读选通信号,低电平有效。
EAVpp(31):
当EA保持高电平时,访问内部程序存储器(4K8),但当PC(程序计数器)值超过OFFFH时,将自动转向执行外部程序存储器内的程序当EA保持低电平时,则只访问外部程序存储器(从0000H地址开始),不管单片机内部是否有程序存储器。
3.2步进电机
3.2.1步进电机的工作原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
它将脉冲信号转变成角位移,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
设计中采用了20BY-0型步进电机,该电机为四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。
当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐。
其中步进电机的静态指标及术语如下。
(1)相数:
产生不同队N、S磁场的激磁线圈对数,常用m表示。
(2)拍数:
完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB→BC→CD→DA→AB,四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。
(3)步距角:
对应一个脉冲信号,电机转子转过的角位移用θ表示。
(4)定位转矩:
电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿的谐波以及机械误差造成的)。
(5)静转矩:
电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。
此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。
虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。
3.2.2控制原理
根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图5所示。
通过K1、K2状态变化来实现电机的启动和换向功能。
当K1、K2的状态变化时,内部程序检测P1.0和P1.1的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。
图5控制电路原理图
根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。
对于单片机而言,主要的方法有:
软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机