基于单片机的步进电机的控制及系统设计.docx
《基于单片机的步进电机的控制及系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的步进电机的控制及系统设计.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机的步进电机的控制及系统设计
本科毕业设计(论文)
题目
基于单片机的步进电机控制及
驱动系统设计
学生姓名
学 号
教学院系
电气信息学院
专业年级
电气工程及其自动化2009级
指导教师
职 称
单 位
辅导教师
职称
单 位
完成日期
2013
年
06
月
06
日
SouthwestPetroleumUniversityGraduationThesis
Controlofsteppingmotorbasedonsinglechipandsystemdesign
Grade:
2009
Name:
Speciality:
ElectricalEngineeringandAutomation
Instructor:
ShenXia
SchoolofElectricalEngineeringandInformation
2013-06-06
摘要
步进电机是数字控制系统中的一种执行元件,它能按照控制脉冲的要求,迅速起动,制动,正反转和调速。
具有步距角精度高,停止时能自锁等特点,因此步进电机在自动控制系统中,特别是在开环的控制系统中得到了日益广泛的应用。
本文以单片机为核心设计的步进电机控制系统,通过软硬件的设计调试,实现步进电机加、减速控制,正反转控制、步数控制,系统以最短的时间到达控制终点,而又不发生失步的现象;硬件是以AT89C52单片机为核心的控制电路,主要包括:
键盘电路、步进电机的驱动电路等。
本文用Keil软件编写C语言程序,与汇编语言相比,C语言在功能上、结构上、可维护性上有明显的优势。
Keil提供了包括C编译器、宏汇编、连接器、库管理和功能强大的仿真调试器在内的完整开发方案,通一个集成开发环境将这些部分组合在一起。
并用Proteus软件仿真单片机及外围器件。
关键词:
步进电机控制系统;调速;单片机
Abstract
Steppingmotorisakindofdigitalcontrolsystemcomponents.Itcanachievequickstart-up,positiveinversion,stoppingandspeedcontrol,accordingtothecontrolpulse.Ithashighprecisionstepangle,andcanbeself-lockingwhenitkeepsstill.Asthesecharacteristics,steppingmotorinautomaticcontrolsystem,especiallyintheopenloopcontrolsystemhasbeenwidelyapplied.
ThisarticlemainlyfocusesontakingSingle-chipComputerandcyclepulsedistributorasthecore,anddesigningthesteppingmotorcontrolsystem.Throughthedesignofthesoftwareandhardwaredebugging,itrealizescontrollingthestepmotor’saccelerationanddecelerationautomatically,accordingtoparametersetting.Makingthesystemarrivetheendpointwiththeshortesttime,butnotoccuroutingofstep.Besidesitcanaccuratelyachievestart-up,positiveinversionandshutdown.HardwaretakesAT89C52asthecoreofcontrolcircuit,mainlyincluding:
cyclepulsedistributor,keyboardanddisplaycircuit,steppingmotordrivingcircuit,etc.ThissoftwareiswrittenusingKeilwithClanguageprogram.Comparedwithassemblylanguage,Clanguage’sfunction,structure,maintainability,hasobviousadvantages.KeilSoftwareoffersincludingCcompiler,macroassembler,linker,librarymanagerandapowerfulsimulationdebugger,aswellasacompletedevelopmentprogram,throughanintegrateddevelopmentenvironmentforthesepartstogether.MicrocontrollersimulationwithProteussoftwareandperipheraldevices.
Keywords:
Steppingmotorcontrolsystem;speedcontrol;Single-chipCompu
1绪论
1.1课题提出的背景和研究意义
由于步进电机不需要位置传感器或者速度传感器就可以实现定位,哪怕在开环状态下它的控制效果也是令人非常满意的,所以有利于装置或设备的小型化和低成本,因此步进电机在计算机外围设备、数控机床和自动化生产线等领域中都得到了广泛的应用。
对于一个步进电机控制系统而言,总希望它能以最短的时间到达控制终点。
因此要求步进电机的速度尽可能地快,但如果速度太快,则可能发生失步。
此外,一般步进电机对空载最高启动频率都是有所限制的。
当步进电机带负载时,它的启动频率要低于最高空载启动频率。
根据步进电机的矩频特性可知,启动频率越高,启动转矩越小,带负载的能力越差。
当步进电机启动后,进入稳态时的工作频率又远大于启动频率。
由此可见,一个静止的步进电机不可能一下子稳定到较高的工作频率,必须在启动时有一个加速的过程。
从高速运行到停止也应该有一个减速的过程,防止步进电机因为系统惯性的原因,而发生冲过终点的现象。
为此本文以单片机作为控制核心,实现步进电机的自动加减速控制,使系统以最短的时间到达控制终点,而又不发生失步的现象。
因为步进电机的转速正比于控制脉冲的频率,所以调节步进电机的转速,实质上是调节单片机输出的脉冲频率【1】。
由于步进电机的运动特性受电压波动和负载变化的影响小,方向和转角控制简单,并且步进电机能直接接收数字量的控制,非常适合采用微机进行控制。
步进电机工作时,失步或者过冲都会直接影响其控制精度。
研究步进电机的加减速控制,可以提高步进电机的响应速度、平稳性和定位精度等性能,从而决定了步进电机控制系统的综合性能。
1.2课题的主要研究内容
1、步进电机的工作原理
通过查阅文献对步进电机的单拍运行、双拍运行、单双拍运行等各种运行方式进行研究,深入了解各种运行方式的特点和对步进电机控制性能的影响。
2、步进电机控制系统的软硬件设计
根据步进电机的原理和控制特点,对步进电机控制系统的软硬件进行分析和设计。
3、程序的调试及修改
用Keil软件进行编程和调试,并且在Proteus环境下进行系统仿真。
2步进电机概述
2.1 步进电机的分类
步进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。
按结构特点电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。
目前使用最为广泛的为反应式和混合式步进电机[7]。
(1)反应式步进电机(VariableReluctance,简称VR)反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。
它的结构简单,成本低,步距角可以做得很小,但动态性能较差。
反应式步进电机有单段式和多段式两种类型;
(2)永磁式步进电机(PermanentMagnet,简称PM)永磁式步进电机的转子是用永磁材料制成的,转子本身就是一个磁源。
转子的极数和定子的极数相同,所以一般步距角比较大。
它输出转矩大,动态性能好,消耗功率小(相比反应式),但启动运行频率较低,还需要正负脉冲供电;
(3)混合式步进电机(Hybrid,简称HB)混合式步进电机综合了反应式和永磁式两者的优点。
混合式与传统的反应式相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。
因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪声低、低频振动小。
这种电动机最初是作为一种低速驱动用的交流同步机设计的,后来发现如果各相绕组通以脉冲电流,这种电动机也能做步进增量运动。
由于能够开环运行以及控制系统比较简单,因此这种电机在工业领域中得到广泛应用。
由于本设计的设计目的更注重整个系统的有机结合,所以只采用反应式步进电机。
2.2步进电机的原理
步进电机是一种将电脉冲信号变换成角位移或直线位移的常用开环电气执行元件,具有步进数可控、运行平稳等优点。
步进电机转子的位移与脉冲数成正比,因而其转速与脉冲频率成正比,而不受电源电压、负载大小及环境条件等影响。
每一个脉冲信号可使步进电机旋转一个固定的角度前进一步,这个角度即为步距角。
脉冲的数量决定了旋转的总角度,脉冲的频率决定了旋转的速度,方向信号决定了旋转的方向。
速度命令脉冲以时间速度图的值输出,当P个脉冲全部输出以后停止输出。
四相步进电机原理图如图2.1所示:
图2.1四相步进电机原理图
脉冲信号的产生:
脉冲信号由单片机产生,脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。
通电方式:
常见的通电方式有单四拍(A-B-C-D-A),双四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。
工作时序:
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.2所示:
图2.2步进电机工作时序图
2.3步进电机的变速控制
对于大多数的任务而言,总希望控制系统能尽快地到达控制终点。
因此要求步进电机的速度尽可能快一些,但如果速度太快,则可能发生失步。
此外一般步进电机对空载最高启动频率都是有所限制的。
所谓的最高空载启动频率是指步进电机空载时,转子从静止状态不失步地进入同步状态(即步进电机每秒钟转过的角度和控制频率相对应的工作状态)的最大控制频率。
当步进电机带负载时,它的启动频率要低于最高空载启动频率。
根据步进电机的矩频特性可知,启动频率越高,启动转矩越小,带负载的能力越差;当步进电机启动后,进入稳态时的工作频率又远大于启动频率。
由此可见,一个静止的步进电机不可能一下子稳定到较高的工作频率,必须在启动的瞬间采取加速的措施。
一般来说,升频的时间约为0.1~1s之间。
系统运行起来之后,如果到达终点时立即停止,可能会因系统惯性的原因,发生冲过终点的现象,使点位控制发生偏差,所以从高速运行到停止也应该有减速的措施【6】。
为此,提出一种变速控制的程序,该程序的基本思想是,在启动时,以低于响应频率fs的速度运行;然后开始慢慢加速,加速到一定频率fe后就以此速率恒速运行。
当快要到达终点时,又使其慢慢减速,在低于响应频率fs的速率下运行,直到走完所规定的步数后就停止运行。
这样步进电机便可以以最快的速度走完所规定的步数,而又不发生失步的现象。
因此在点位控制过程中,运行速度需要有一个加速—恒速—减速—低恒速—停止的过程,上述的变速控制过程如图2.6所示。
图2.3点—位控制的加减速过程
对于一个非常短的距离,如在数步范围内,电动机的加减速过程没有实际意义,只需要按起动频率运行即可。
对于中等或比较长的运行距离,步进电机加速后应该有一个恒速的过程。
系统在工作过程中,都要求加减速的时间尽量短,而恒速时间尽量长。
特别是在要求快速响应的工作中,从起点到终点的时间要求最短,这就必须要求加减速的过程最短而恒速时速度最高。
加速时的起始速度应该等于或略小于系统的极限起动频率,而不是从零开始。
减速过程结束时的速度一般等于或略低于起动速度,再经数步低速运行后停止。
升速的规律一般有两种,一是按直线规律升速,二是按指数规律升速。
按直线规律升速时加速度为恒定,因此要求步进电机产生的转矩为恒值。
但实际上步进电机升速时由于反电动势和绕组电感的作用,绕组电流将逐渐减小,因此输出的转矩会有所下降,按指数规律升速时,加速度是逐渐下降的,接近步进电机输出转矩随转速变化的规律。
由于步进电机的速度正比于脉冲频率,控制步进电机的速度实际上就是控制脉冲频率。
用单片机对步进电机进行加减速控制,即控制CP脉冲的时间间隔。
升速时使脉冲逐渐加密,减速时使脉冲逐渐变疏。
本系统采用定时器中断来控制步进电机的加减速,实际上是不断改变定时器的定时初值的大小。
在运行的过程中用查表的方式查出所需的定时初值,从而减小占用CPU的时间,提高系统的响应速度。
步进电机的加减速控制技术是步进电机控制中的一项关键技术,它直接影响步进电机运行的平稳性、升降速的快慢、定位精度等性能,从而决定了步进电机控制系统的综合性能。
采用步进电机的加减速控制可以有效地克服步进电机启动过程中出现失步的问题,提高系统的响应速度和精度。
1、改变控制方式的变速控制
最简单的变速控制可以利用改变步进电机的控制方式实现。
例如,在三相步进电机中,启动或停止时,用三相六拍,大约在0.1秒后,改用三相三拍的的分配方式,在快到达终点时,再次采用三相六拍的控制方式,以达到减速的目的。
2、均匀地改变脉冲时间间隔的变速控制
步进电机的加减速控制,可以均匀地改变脉冲时间间隔来实现。
例如在加速控制中,可以均匀地减少延时时间间隔;在减速时,可以均匀地增加延时时间间隔。
具体地说,就是均匀地增加或减少延时程序中延时时间常数。
这种控制方法的优点是,由于延时的长短不受限制,使步进电机的频率变化范围比较宽,但它降低了单片机的实时处理能力。
3、采用定时器的变速控制
在单片机控制系统中,可以采用单片机内部的定时器来提供CP脉冲。
其方法是将定时器初始化后,每隔一定的时间向CPU申请一次中断,CPU响应中断后便发出一个脉冲。
此时只要均匀地改变定时器时间常数,即可达到均匀加减速的目的【9】。
这种方法的优点是减少占用CPU的时间,提高控制系统的效率和实时处理能力。
为了提高单片机的实时处理能力,系统采用中断的方法进行调速。
3控制系统硬件设计
3.1硬件结构图
该系统的设计以89C52单片机为核心,以键盘输入为为人机交换接口,以实现系统不同功能的选择输入,由于单片机输出信号无法驱动步进电机,通过设计步进电机驱动电路以实现对步进电机的间接控制。
与此同时,单片机还需一定的外围辅助电路如复位、时钟电路等,整个系统的结构图如下:
图3.1硬件结构图
单片机最小系统作为整个系统的控制核心,它主要负责产生控制步进电机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的的方向与输出的脉冲顺序有关。
同时单片机系统还负责处理来自电机驱动电流检测模块检测到的电流值。
电机驱动模块负责将单片机发给步进电机的信号功率放大,从而驱动电机工作。
独立按键作为一个外部中断源,和单片机端口连接,通过它设置了电机的正转,反转,加速,减速,步数控制等功能。
3.2各个模块分析
3.2.1电源电路
本次电源电路使用的是三相集成稳压器,主要由集成电路、基准电压电路、取样比较放大电路、调整电路、和保护电路等部分组成。
7805电路图如下图所示,这是一个输出正5V直流电压的稳压电源电路。
IC采用集成稳压器7805,C1、C2分别为输入端和输出端滤波电容。
当输出电流较大时,7805应配上散热板。
虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。
图3.27805电源电路
3.2.2晶振电路
AT89C52中有一个用于构成内部振荡器的高增益反相放大器,其中引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成振荡器。
如下图所示:
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及湿度稳定性,使用石英晶体和陶瓷谐振器要注意选择的大小。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平
图3.3晶振电路
3.2.3复位电路
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚端输入到芯片内的施密特触发器中。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期以上,则CPU就可以响应并将系统复位。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
图3.4复位电路
3.2.4键盘控制电路
独立方式是指将每个按键按一对一的方式直接接到I/O输入线上,读键值时直接按I/O的状态来反映,这种方式查键实现简单,但占用I/O资源较多,一般在按键量较少的情况下采用。
矩阵方式是用n条I/O线组成行输入口,m条I/O线组成列输入口,在行列线的每一个交点上设置一个按键,读键值方法一般采用扫描方式,即输出口按位轮换输出低电平,再从输入口读入键信息,最后获得键码。
最后由于本次设计在按键上只用到6个,所以就用独立方式就足以满足设计需求。
图3.5键盘控制电路
3.2.5AT89C52单片机
随着大规模集成电路技术的飞速发展,近十年来单片微型计算机有了飞速的发展。
在MCS-51系列单片机系列内核8051/80C51的基础上,Intel公司、Philips公司、Siemens公司等很多大公司纷纷推出了名目繁多的派生芯片。
而ATMEL公司的AT89C52系列单片机是当今具有较高性能的单片微型计算机系列产品之一,特别适用于要求实时处理、实时控制的各类自动控制系统,如工业过程控制系统、伺服系统、分布式控制系统、变频调速电机控制系统等。
其主要特点有:
(1)CPU内核完全和MCS-51系列兼容,具有MCS-51系列单片机的一切功能。
(2)内部集成了4K字节的在线可编程FlashROM,可满足大部分系统扩展的需求,编程方更快捷。
(4)可在0~24MHz的晶振频率范围内可靠工作,加快了系统的工作速度,可用在某些高速实时处理控制系统中。
(5)内部具有256个字节的RAM和3个16位定时器,可以存放系统运行中的数据和满足定时或计数功能扩展的需要。
(6)具有6个中断源,完全可以满足一般设计的中断系统扩展需要。
因此,AT89C52系列单片机以其优越的性能在控制系统设计中得到了广泛的应用,由于其内部功能完善,可以大大减少扩展系统外围电路,而且性能稳定,因此在本控制系统的设计中,选用了AT89C52单片机作为中央控制单元。
AT89C52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,功能强大。
其中引脚功能说明如下:
图3.6AT89C52管脚图
其中单片机控制步进电机原理如下:
AT89C52单片机I/O借口发送的脉冲信号,经过ULN2003芯片放大后,驱动步进电机
本次毕业设计选用的步进电机是四相步进电机,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,主要通过三大块来设计,包括驱动电路的设计、状态显示部分和按键部分的设计。
可以通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。
单片机控制步进电机原理图如图3.5所示:
图3.5单片机控制步进电机原理图
AT89C52单片机通过P1.0、P1.1、P1.2、P1.3控制步进电机通电相序,通电必须按顺序进行通电,通过改变通电相序就可以控制步进电机的正反转。
其中电机正反转和加减速的通电相序如表3.1所示:
表3.1步进电机四相四拍相序表
步序
相序
通电相
对应P1口的输出值
P1.0
P1.1
P1.2
P1.3
1
0
0
0
1
A
01H
2
0
0
1
0
B
02H
3
0
1
0
0
C
04H
4
1
0
0
0
D
08H
步数控制的通电相序如表3.2所示:
表3.2步进电机四相八拍相序表
步序
相序
通电相
对应P1口的输出值
P1.0
P1.1
P1.2
P1.3
1
0
0
0
1
A
01H
2
0
0
1
1
AB
03H
3
0
0
1
0
B
02H
4
0
1
1
0
BC
06H
5
0
1
0
0
C
04H
6
1
1
0
0
CD
0CH
7
1
0
0
0
D
08H
8
1
0
0
1
DA
09H
3.2.6步进电机驱动电路
步进电机不能直接接到交、直流电源上工作,而必须使用专用设备—步进电机驱动器。
步进电机驱动系统的性能,除与步进电机的自身性能有关外,在很大程度上也取决于驱动器的优劣。
步进电机的驱动电路应该既要保证绕组有足够的电压电流,同时又要保证驱动级功率器件的安全运行,另外还应有较高的效率、较小的功耗和较低的成本。
本次设计时选用的驱动电路是ULN2003A,它是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。
用户输出口的外接负载可根据以上参数估算。