单片机步进电动机控制系统设计.docx
《单片机步进电动机控制系统设计.docx》由会员分享,可在线阅读,更多相关《单片机步进电动机控制系统设计.docx(35页珍藏版)》请在冰豆网上搜索。
![单片机步进电动机控制系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/12/2e5e2447-68c8-48d3-94a2-0bc7a086b861/2e5e2447-68c8-48d3-94a2-0bc7a086b8611.gif)
单片机步进电动机控制系统设计
前言
单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。
它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。
从此,计算机技术在两个重要领域——通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。
采用8031单片机控制步进电机,可实现步进电动机正反转控制和步进电动机的无级调速。
分析了步进电机的工作原理,讨论了系统硬件和软件的设计方法,并给出了步进电机的四相八拍单片机控制的具体实现方法。
该系统操作简单,降低了成本,提高了系统的可靠性。
步进电机具有控制方便和体积小等特点,因此在智能仪表和位置控制中得到了广泛的应用。
近年来大规模集成电路的发展以及各种单片机的迅速发展和普及,为设计功能强、价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
步进电动机是一种将电脉冲信号转换成相应角位移或线位移的电动机,它的运行需要专门的驱动电源,驱动电源的输出受外部的脉冲信号控制。
每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。
脉冲的数量决定了旋转的总角度,脉冲的频率决定了电动机旋转的速度,改变绕组的通电顺序可以改变电机旋转的方向。
在数字控制系统中,它既可以用作驱动电动机,也可以用作伺服电动机。
它在工业过程控制中得到广泛的应用,尤其在智能仪表和需要精确定位的场合应用更为广泛。
1单片机的基本知识
1.1概述
单片微型计算机简称单片机,由于它的结构及功能均是按工业控制要求设计的,所以其确切的名称应是单片微控制器(SingleChipMicrocontroller)。
它是把微型机算计的各个功能部件:
中央处理器CPU、随机存储器RAM、只读存储器ROM、并行I/O接口、定时器/计数器及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机系统,故又把它称为单片微型计算机系统(SingleChipMicrocomputer)。
由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。
随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM、WDT等。
这些对外电路及外设接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为确切反映单片机本质的名称应是微控制器。
单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embeddedmicrocontroller)。
但是,在国内单片机的叫法仍然有着普遍的意义。
我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。
目前按单片机内部数据通道的宽度,把它们分为4位、8位、16位及32位单片机。
单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步。
1970年微型计算机研制成功后,随即在1971年,美国Intel公司生产出了4位单片机4004,它的特点是结构简单、功能单一、控制能力较弱,但价格低廉。
1976年Intel公司推出了MCS-48系列单片机,它以体积小、功能全、价格低等特点获得了广泛的应用,成为单片机发展进程中的一个重要阶段,此可谓是第一代单片机。
在MCS-48系列单片机的基础上,Intel公司在20世纪80年代初推出了第二代单片机的代表MCS-51系列单片机。
这一代单片机的主要技术特征是为单片机配置了完美的外部并行总线和串行通信接口,规范了特殊功能寄存器的控制模式,以及为增强控制功能而强化布尔处理系统和相关的指令系统,为发展具有良好兼容性的新一代单片机奠定了良好的基础。
近几年出现了具有许多新特点的单片机,可称之为第三代单片机。
它以新一代的80C51系列单片机为代表。
同时16位单片机也有很大发展。
尽管目前单片机品种繁多,但其中最为典型的仍当属Intel公司的MCS-51系列单片机。
它的功能强大,兼容性强,软硬件资料丰富。
直到现在MCS-51仍不失为单片机中的主流机型。
在今后相当长的时间内,单片机应用领域中的8位机主流地位还不会改变。
综观单片机20多年的发展过程,再从半导体集成电路技术的发展和微电子设计技术的发展,我们可以预见未来单片机技术发展的趋势。
单片机将朝着大容量高性能化、小容量低价格化、外围电路的内装化以及I/O接口功能的增强、功耗降低等方向发展。
1.2单片机的特点及应用
1.2.1单片机的基本组成
单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的、完整的单片微型计算机。
图1-1为单片机的典型结构框图。
图1-1单片机的典型结构框图
下面简要介绍各组成部分。
(1)中央处理器
单片机中的中央处理器CPU和通用微处理器基本相同,由运算器和控制器组成,另外增设了“面向控制”的处理功能,如位处理、查表、多种跳转、乘除法运算、状态检测、中断处理等,增强了实时性。
(2)存储器
单片机的存储空间有两种基本结构。
一种是普林斯顿结构(Princeton),将程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间里分配不同的地址。
CPU访问存储器时,一个地址对应惟一的一个存储单元,可以是ROM,也可以是RAM,用同类的访问指令。
另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(Harvard)结构。
CPU用不同的指令访问不同的存储器空间。
由于单片机实际应用中“面向控制”的特点,一般需要较大的程序存储器。
目前,包括MCS-51和80C51系列的单片机均采用程序存储器和数据存储器截然分开的哈佛结构。
①数据存储器(RAM)
在单片机中,用随机存取的存储器(RAM)来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为数据存储器。
一般在单片机内部设置一定容量(64B~256B)的RAM,并以高速RAM的形式集成在单片机内,以加快单片机的运行速度。
同时,单片机内还把专用的寄存器和通用的寄存器放在同一片内RAM统一编址,以利于运行速度的提高。
对于某些应用系统,还可以外部扩展数据存储器。
②程序存储器(ROM)
单片机的应用中常常将开发调试成功后的应用程序存储在程序存储器中,因为不再改变,所以这种存储器都采用只读存储器ROM的形式。
(3)并行I/O口
单片机为了突出控制的功能,提供了数量多、功能强、使用灵活的并行I/O口。
使用上不仅可灵活地选择输入或输出,还可作为系统总线或控制信号线,从而为扩展外部存储器和I/O接口提供了方便。
(4)串行I/O口
高速的8位单片机都可提供全双工串行I/O口,因而能和某些终端设备进行串行通信,或者和一些特殊功能的器件相连接。
(5)定时器/计数器
在实际的应用中,单片机往往需要精确地定时,或者需对外部事件进行计数,因而在单片机内部设置了定时器/计数器电路,通过中断,实现定时/计数的自动处理。
1.2.2单片机的特点
单片机独特的结构决定了它具有如下特点。
(1)高集成度、高可靠性
单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。
芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。
单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强
为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:
分支转移能力、I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压、低功耗
为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
(4)优异的性能价格比
单片机的性能极高。
为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。
单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。
由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。
1.2.3单片机的应用
由于单片机功能的飞速发展,它的应用范围日益广泛,已远远超出了计算机科学的领域。
小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机。
其主要的应用领域如下。
(1)在测控系统中的应用
单片机可以用于构成各种工业控制系统、自适应控制系统、数据采集系统等。
例如,工业上的锅炉控制、电机控制、车辆检测系统、水闸自动控制、数控机床及军事上的雷达、导弹系统等。
(2)在智能化仪器仪表中的应用
单片机应用于仪器仪表设备中促使仪器仪表向数字化、智能化、多功能化和综合化等方向发展。
单片机的软件编程技术使长期以来测量仪表中的误差修正、线性化的处理等难题迎刃而解。
(3)在机电一体化中的应用
单片机与传统的机械产品结合使传统的机械产品结构简化,控制走向智能化,构成新一代的机电一体化产品。
这是机械工业发展的方向。
(4)在智能接口中的应用
计算机系统,特别是较大型的工业测控系统中采用单片机进行接口的控制管理,单片机与主机并行工作,可大大提高系统的运行速度。
例如,在大型数据采集系统中,用单片机对模/数转换接口进行控制不仅可提高采集速度,还可以对数据进行预处理。
如数字滤波、误差修正、线性化处理等。
(5)在人类生活中的应用
单片机由于其价格低廉、体积小巧,被广泛应用在人类生活的诸多场合,如洗衣机、电冰箱、空调器、电饭煲、视听音响设备、大屏幕显示系统、电子玩具、信用卡、楼宇防盗系统等。
单片机将使人类的生活更加方便舒适,丰富多彩。
2步进电动机简介
步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。
步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。
正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。
2.1步进电动机的种类
目前常用的有三种步进电动机:
(1)反应式步进电动机(VR)。
反应式步进电动机结构简单,生产成本低,动态性能差。
(2)永磁式步进电动机(PM)。
永磁式步进电动机出力大,动态性能好;但步距角大。
(3)混合式步进电动机(HB)。
混合式步进电动机综合了反应式、永磁式步进电动机两者的优点,它的步距角小,出力大,动态性能好,是目前性能最高的步进电动机。
它有时也称作永磁感应子式步进电动机。
2.2步进电动机的工作原理
图2-1三相反应式步进电动机的结构示意图
1——定子2——转子3——定子绕组
图2-1是最常见的三相反应式步进电动机的剖面示意图。
电机的定子上有六个均布的磁极,其夹角是60º。
各磁极上套有线圈,按图1连成A、B、C三相绕组。
转子上均布40个小齿。
所以每个齿的齿距为θE=360º/40=9º,而定子每个磁极的极弧上也有5个小齿,且定子和转子的齿距和齿宽均相同。
由于定子和转子的小齿数目分别是30和40,其比值是一分数,这就产生了所谓的齿错位的情况。
若以A相磁极小齿和转子的小齿对齐,如图1,那么B相和C相磁极的齿就会分别和转子齿相错三分之一的齿距,即3º。
因此,B、C极下的磁阻比A磁极下的磁阻大。
若给B相通电,B相绕组产生定子磁场,其磁力线穿越B相磁极,并力图按磁阻最小的路径闭合,这就使转子受到反应转矩(磁阻转矩)的作用而转动,直到B磁极上的齿与转子齿对齐,恰好转子转过3º;此时A、C磁极下的齿又分别与转子齿错开三分之一齿距。
接着停止对B相绕组通电,而改为C相绕组通电,同理受反应转矩的作用,转子按顺时针方向再转过3º。
依次类推,当三相绕组按A→B→C→A顺序循环通电时,转子会按顺时针方向,以每个通电脉冲转动3º的规律步进式转动起来。
若改变通电顺序,按A→C→B→A顺序循环通电,则转子就按逆时针方向以每个通电脉冲转动3º的规律转动。
因为每一瞬间只有一相绕组通电,并且按三种通电状态循环通电,故称为单三拍运行方式。
单三拍运行时的步矩角θb为30º。
三相步进电动机还有两种通电方式,它们分别是双三拍运行,即按AB→BC→CA→AB顺序循环通电的方式,以及单、双六拍运行,即按A→AB→B→BC→C→CA→A顺序循环通电的方式。
六拍运行时的步矩角将减小一半。
反应式步进电动机的步距角可按下式计算:
θb=360º/NEr
(1)
式中Er——转子齿数;
N——运行拍数,N=km,m为步进电动机的绕组相数,k=1或2。
2.3步进电动机的驱动方法
步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图2-2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。
图中点划线所包围的二个单元可以用微机控制来实现。
驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口,这里予以简单介绍。
图2-2步进电动机驱动控制器
1. 单电压功率驱动接口
实用电路如图2-3所示。
在电机绕组回路中串有电阻Rs,使电机回路时间常数减小,高频时电机能产生较大的电磁转矩,还能缓解电机的低频共振现象,但它引起附加的损耗。
一般情况下,简单单电压驱动线路中,Rs是不可缺少的。
Rs对步进电动机单步响应的改善如图2-4所示。
图2-3单电压功率驱动接口及单步响应曲线
图2-4双电压功率驱动接口
2.双电压功率驱动接口
双电压驱动的功率接口如图2-4所示。
双电压驱动的基本思路是在较低(低频段)用较低的电压UL驱动,而在高速(高频段)时用较高的电压UH驱动。
这种功率接口需要两个控制信号,Uh为高压有效控制信号,U为脉冲调宽驱动控制信号。
图中,功率管TH和二极管DL构成电源转换电路。
当Uh低电平,TH关断,DL正偏置,低电压UL对绕组供电。
反之Uh高电平,TH导通,DL反偏,高电压UH对绕组供电。
这种电路可使电机在高频段也有较大出力,而静止锁定时功耗减小。
3.高低压功率驱动接口
图2-5高低压功率驱动接口
高低压功率驱动接口如图2-5所示。
高低压驱动的设计思想是,不论电机工作频率如何,均利用高电压UH供电来提高导通相绕组的电流前沿,而在前沿过后,用低电压UL来维持绕组的电流。
这一作用同样改善了驱动器的高频性能,而且不必再串联电阻Rs,消除了附加损耗。
高低压驱动功率接口也有两个输入控制信号Uh和Ul,它们应保持同步,且前沿在同一时刻跳变,如图2-5所示。
图中,高压管VTH的导通时间tl不能太大,也不能太小,太大时,电机电流过载;太小时,动态性能改善不明显。
一般可取1~3ms。
(当这个数值与电机的电气时间常数相当时比较合适)。
4.斩波恒流功率驱动接口
恒流驱动的设计思想是,设法使导通相绕组的电流不论在锁定、低频、高频工作时均保持固定数值。
使电机具有恒转矩输出特性。
这是目前使用较多、效果较好的一种功率接口。
图2-6是斩波恒流功率接口原理图。
图中R是一个用于电流采样的小阻值电阻,称为采样电阻。
当电流不大时,VT1和VT2同时受控于走步脉冲,当电流超过恒流给定的数值,VT2被封锁,电源U被切除。
由于电机绕组具有较大电感,此时靠二极管VD续流,维持绕组电流,电机靠消耗电感中的磁场能量产生出力。
此时电流将按指数曲线衰减,同样电流采样值将减小。
当电流小于恒流给定的数值,VT2导通,电源再次接通。
如此反复,电机绕组电流就稳定在由给定电平所决定的数值上,形成小小的锯齿波,如图2-6所示。
图2-6斩波恒流功率驱动接口
3芯片简介
3.18031简介
3.1.1MCS-51单片机的基本特征
(1)一个8位的CPU中央处理器;
(2)一个片内的振荡器及时钟电路;
(3)4KB的应用程序存储器,8051为掩膜型(mask)ROM;
(4)128KB的片内数据存储器;
(5)64KB程序存储器可寻址的地址空间;
(6)64KB数据存储器可寻址的地址空间;
(7)两个16位可编程的定时器/计数器;
(8)一个可编程的全双工通用异步接收/发送器UART;
(9)32条可按位寻址的双向I/O线;
(10)两个优先级嵌套,5个中断源的中断结构;
(11)有很强的布尔处理能力,即按位处理能力。
8051尚有两个变体,即无片内程序存储器(ROMLESS)的8031和有片内可编程可改写的EPROM8751。
现8751已完全被8751H所取代。
3.1.2各功能部件简介
1)中央处理器
中央处理器简称CPU,是单片机的核心,完成运算和控制操作。
按其功能,中央处理器包括运算器和控制器两部分电路。
运算器运算器主要用于对操作数进行算术、逻辑运算和位操作。
1.累加器ACCACC是8位寄存器,它通过暂存器和ALU相连,是工作最繁忙的寄存器。
2.逻辑运算单元ALU用于二进制数的四则运算、布尔代数的逻辑运算和位处理操作。
3.程序状态字寄存器PSW用来存放运算结果的一些特征。
2)控制器
是CPU的大脑中枢,包括定时控制逻辑、指令寄存器、指令译码器、数据指针DPTR及程序计数器PC、堆栈指针SP以及地址寄存器、地址缓冲器等。
它的功能是对逐条指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作,完成指令规定的操作。
3.1.38031的引脚
1.信号引脚介绍
1)电源引脚Vcc和Vss
Vcc(40脚):
电源端,接+5V。
Vss(20脚):
接地端。
2)时钟电路引脚XTAL1和XTAL2
XTAL1和XTAL2接外部石英晶振和微调电容的两端。
3)输入和输出引脚P0、P1、P2、P3
P0、P1、P2、P3口均是8位双向口线。
4)控制信号引脚RST、PSEN、ALE和EA
RST(9脚):
复位信号输入端,高电平有效。
PSEN(29脚):
程序存储允许输出端。
ALE(30脚):
地址锁存允许信号输出端。
EA(31脚):
程序存储器允许输入端。
3.28155简介
3.2.18155的结构和信号引脚
8155各引脚功能说明如下:
RST:
复位信号输入端,高电平有效。
复位后,3个I/O口均为输入方式。
AD0~AD7:
三态的地址/数据总线。
与单片机的低8位地址/数据总线(P0口)相连。
单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。
:
读选通信号,控制对8155的读操作,低电平有效。
:
写选通信号,控制对8155的写操作,低电平有效。
:
片选信号线,低电平有效。
IO/:
8155的RAM存储器或I/O口选择线。
当IO/=0时,则选择8155的片内RAM,AD0~AD7上地址为8155中RAM单元的地址(00H~FFH);当IO/=1时,选择8155的I/O口,AD0~AD7上的地址为8155I/O口的地址。
ALE:
地址锁存信号。
8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及,IO/的状态都锁存到8155内部锁存器。
因此,P0口输出的低8位地址信号不需外接锁存器。
PA0~PA7:
8位通用I/O口,其输入、输出的流向可由程序控制。
PB0~PB7:
8位通用I/O口,功能同A口。
PC0~PC5:
有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。
TIMERIN:
定时/计数器脉冲输入端。
TIMEROUT:
定时/计数器输出端。
VCC:
+5V电源。
2、8155的地址编码及工作方式
在单片机应用系统中,8155是按外部数据存储器统一编址的,为16位地址,其高8位由片选线提供,=0,选中该片。
当=0,IO/=0时,选中8155片内RAM,这时8155只能作片外RAM使用,其RAM的低8位编址为00H~FFH;当=0,IO/=1时,选中8155的I/O口,其端口地址的低8位由AD7~AD0确定,如表6-6所示。
这时,A、B、C口的口地址低8位分别为01H、02H、03H(设地址无关位为0)。
表3-18155芯片的I/O口地址
AD7~AD0
选择I/O口
A7
A6
A5
A4
A3
A2
A1
A0
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
命令/状态寄存器
A口
B口
C口
定时器低8位
定时器高6位及方式
3.2.28155的I/O接口工作方式和命令/状态寄存器
1I/O接口工作方式
8155芯片的PA和PB是8位通用输入/输出口,主要用于数据的I/O传送,是数据口,只有输入/输出两种工作方式。
2命令/状态寄存器
A口
B口
C口
定时器低8位
定时器高6位及方式
8155的A口、B口可工作于基本I/O方式或选通I/O方式。
C口可工作于基本I/O方式,也可作为A口、B口在选通工作方式时的状态控制信号线。
当C口作为状态控制信号时,其每位线的作用如下:
PC0:
AINTR(A口中断请求线)
PC1:
ABF(A口缓冲器满信号)
PC2:
(A口选通信号)
PC3:
BINTR(B口中断请求线)
PC4:
BBF(B口缓冲器满信号)
PC5:
(B口选通信号)
8155的I/O工作方式选择是通过对8155内部命令寄存器设定控制字实现的。
命令寄存器只能写入,不能读出,命令寄存器的格式如图3-1所示。
在ALT1~ALT4的不同方式下,A口、B口及C口的各位工作方式如下:
ALT1:
A口,B口为基本输入/输出,C口为输入方式。
ALT2:
A口,B口为基本输入/输出,C口为输出方式。
ALT3:
A口为选通输入/输出,B口为基本输入/输出。
PC0为AINTR,PC1为ABF,PC2为,PC3~PC5为输出。
ALT4:
A口、B口为选通输入/输出。
PC0为AINTR,PC1为ABF,PC2为,PC3为BINTR,PC4为BBF,PC5为。
图3-18155命令寄存器格式
8155内还有一个状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。
状态寄存器的端口地址与命令寄存器相同,低8位也是00H,状态寄存器的内容只能读出不能写入。
所以可以认为8155的I/O口地址00H是命令/状态寄存器,对其写入时作为命令寄存器;而对其读出时,则作为状态寄存器。
状态寄存器的格式如图3-2所示。
图3-28155状态寄存器格式
3.2.38155的定时器/计数器
8155内部的定时/计数器实际上是一个14位的减法计数器,它对TIMERIN端输入脉冲进行减1计数,当计数结束(即减1计数“回0”)时,由TIMEROUT端输出方波或脉冲。
当TIMERIN接外部脉冲时,为计数方式;接系统时钟时,可作为定时方式。
定时/计数器由两个8位寄存器构成,其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义输出方式。
其格式如下:
4控制系统设计
4.1系统要求
本系统控制一台四相八拍步进电动机,要求达到:
(1)可以利用按键实现步进电动