基于PROTUES的单片机步进电机速度控制系统的设计与仿真.docx
《基于PROTUES的单片机步进电机速度控制系统的设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于PROTUES的单片机步进电机速度控制系统的设计与仿真.docx(47页珍藏版)》请在冰点文库上搜索。
基于PROTUES的单片机步进电机速度控制系统的设计与仿真
前言
步进电机成为执行元件,是机电一体化的重要产品其一,频繁使用在种种自动化操控系统中。
伴随微型电力电子和计算机技术的扩展,步进电机的需求量不断增加,在每一个国民经济地方都有使用。
最近几年来,伴随数字电子技术与微操控器的迅速崛起。
从而使得步进电机被频繁用于诸多运动操控中使用,这是因为数字输入性能的步进电机允许它连接到任何数字操控器。
在步进电机的操控的电路中能够根据操控脉冲信号个数来操控角位移量,所以实现准确定位的最终结果;因为步进电机每次输入一个脉冲信号就可以转动一个固定的角位移,简单的说一个脉冲信号与一个固定角位移是一一对应关系。
这样就能够根据操控步进电机的任意两个连续脉冲信号的时间间隔来更改脉冲信号的频率,通过控制时间延时长短来操控步进角从而间接更改步进电机旋转的速度,最后达到实现步进电机的调节速度的效果。
步进电机能够成为一种操控用的特种电机,根据其没有积累的误差(精度为100%)的特性,频繁使用在种种开环操控。
伴随微型电力电子和计算机技术的扩展,步进电机的需求和日俱增,研究制造步进电机驱动器和操控系统具备非常重要的意义。
第一章绪论
第一节单片机控制步进电机的背景与意义
步进电机是根据操控脉冲信号个数来间接操控角位移量,最后实现准确定位的最终结果;它是一种电机一体化系统在增量运动转换成发散的数字信号输入的机械运动。
步进电机轴或者主轴旋转发散一步增量时,命令脉冲信号使用在适当的序列转子旋转固定一步取决于其建设。
较直流电机步进电机有诸多优势,即低摩擦,寿命长,使用的轴承极其稳定,由于没有接触刷和减少转子散热,并且根据其没有积累误差(精度为100%)的特性,频繁使用在种种开环操控系统。
步进电机能够成为一种操控用的特种电机。
它被成为最常用的一种电机,频繁使用在数控机床、机器人、自动化仪表等地方。
步进电机有3种:
永磁式(PM),反应式(VR)和混合式(HB)。
步进电机是通过用电脉冲信号进行操控的,通俗的说:
步进电机的位置和速度由脉冲信号数和频率决定。
频率与脉冲信号数成一一对应关系。
步进电机的转动方向取决于脉冲信号数的顺序。
想要对步进电机的速度调节进行准确的定位,就必须通过恰当对步进脉冲信号的频率进行操控,最后达到调速的目的。
想要对电机进行准确定位,我们可以通过操控步进脉冲信号个数。
伴随现代社会的不断进步,计算机技术运用到的生活的各个方面并且伴随微型电力电子技术迅速发展,步进电机的作用与日俱增,复杂的则用于高精度严要求的工业控制领域。
这是由于步进电机具有稳定、抗干扰能力强、工作期间受温度的影响极小。
第二节国内外研究状况
虽然步进电机最早是由国外创造出来的。
但国内在几十年前时就已经开始生产和使用,当时它被广泛的应用在我国工业控制的各个领域。
其中步进电机的驱动电路当时可以说是一个技术上的瓶颈,许多驱动电路虽然能使步进电机正常运行,但对于精度具有严格要求的部分工业控制来说,许多驱动电路就显得那样的束手无策,步进电机组成的电路中用到的所有半导体器件,当时就已经实现了国内化生产。
1.2.1国外研究状况
外国工业革命期间各种电子器件得到了突飞猛进的发展,工业促进了整个国民经济的发展,然而也就是那些看似微不足道的电力电子产品推动了整个工业的发展,步进电机在其中起着不可小视的作用。
在大功率的工农业设备驱动上,由于从驱动的成本太高,效率也不怎么明显,噪音等诸多对外界的影响,在外国考虑这些因素大扭矩步进电动机不能达到要求,另一方面对于直流电动机来说,对于电动机编码器的整体技术和经济指标都是具有较高的要求。
还有部分的空心转杯电动机和交流电动机,这些电机则被运用也一些高端方面的控制。
上面说了大功率的情况,小功率场合方面,国外还是没有抛弃使用步进电机,比如:
部分工业控制(小型简单),部分工业制造中的机械设备,还有其他人们日常生活中的各种办公自动化领域。
等等。
1.2.2国内研究状况
在过去的工业数控机床中我国基本上完全采用的是大力矩的步进电机,随着社会的不断发展各种驱动器的成熟,而部分有实力的公司为了赢得在市场上的主导控制权,牺牲部分的成本采用交流电动机驱动数控机床而获得更高的经济效益。
步进电机是一种受外界干扰小的开环控制元件,对使用者要求不高,对于大功率的场合使用,还是有部分欠缺的地方。
对于一些更高要求的领域,比如:
卫星、雷达等,我国在几十年前,就生产了力矩电机和环形力矩电机,这两种电机在高品质的操控场合,得到了广发的应用。
第三节本章主要研究内容
本论文主要是简单的研究步进电机的一些性质,步进电机的加速和减速,正转和反转等。
选用的是最简单的二相步进电机作为主要核心元件,至于控制它的则是采用我们最为熟悉的AT89C52单片机。
步进电机是一种机电一体化系统在增量运动转换成发散的数字信号输入的机械运动器件。
但有不能简单只是用AT89C52去直接驱动控制二相步进电机,由于驱动电流电压达不到步进电机的运行的基本要求,所以本设计采用了专门的驱动芯片组,L287和L289组成的电机专用驱动电路。
这使得驱动步进电机正常运行,实现简单的加速和减速,正转和反转等功能非常简单。
为了清晰的实时动态的观察步进电机的运行情况,同时本设计采用的是1602LCD液晶显示器,作为显示实时动态信息。
液晶显示器主要分为两行显示信息,第一行是显示电机的转速情况;第二行是显示电机的正转还是反转。
由于1602LCD液晶显示结构简单,操作方便的诸多优点,被广泛的应用在人们日常生活中的各个方面。
其中电机的直接控制是通过按键外界的输入按键使能信号,由AT89C52捕获,然后再执行相应的控制操作。
一个按键控制着步进电机的一个操作,操作简单明了。
总的来说,本设计中主要用的芯片有LCD1602用于显示步进电机的旋转速度和正反转等具体信息(显示模块),L297和L298组合的步进电机标准驱动电路(驱动模块)。
第四节本章总结
本章主要首先概括的说明了步进电机发展历史,国内与国外以前到现在的具体情况,以及在步进电机的发展历史中所遇到的一些困难等。
紧接着又介绍了本次设计的主要目的和在本次设计中用到的具体芯片和几个重要的电路模块。
包括作为显示的1602LCD液晶显示器,作为驱动步进电机的L297和L298组成的驱动模块,作为控制的按键模块等。
第二章系统概述
第一节步进电机简介
2.1.1步进电机的概述
一、步进电机的定义概述
作为机电一体化的重要产品之一,步进电机凭借着自身的诸多优点,频繁的出现在人们生活的各个方面。
步进电机是一种机电一体化系统在增量运动转换成发散的数字信号输入的机械运动器件。
步进电机主轴旋转发散一步增量时,命令脉冲信号使用在适当的序列转子旋转固定一步取决于其建设。
较直流电机步进电机有诸多优势,即低摩擦,寿命长,使用的轴承极其稳定,由于没有接触刷和减少转子散热。
由于,步进电机输入的脉冲信号数和转过的总角位移成正比;连续输入一定频率的脉冲信号时,可以准确的定位步进电机的旋转速度,也就是旋转速度和传送脉冲信号的频率是一一对应的关系,不受电压波动和负载变化的影响,所以特别适合于微机操控。
二、步进电机的分类
步进电机有3类:
a.永磁式步进电机:
通常为两相,转矩和体积较小,步进角通常为7.5度或者15度。
[5]
b.反应式步进电机:
通常为三相,可实现大转矩输出,步进角通常为1.5度,但噪声和振动都很大。
[3]
c.混合式步进电机:
是指混合了永磁式和反应式的优点。
它又分为两相和五相:
两相步进角通常为1.8度而五相步进角通常为0.72度。
这种步进电机的使用最为频繁。
[3]
混合式步进电机兼有反应式和永磁式的双重优点,其自身阻尼作用较好,运转平稳,噪音低、低频震动小,目前混合式步进电机是使用最广发的电机其一。
三、步进电机的静态指标术语
1、固有步距角:
它表示操控系统每发一个步进脉冲信号信号,电机所转动的角位移。
电机出厂时给出了一个步距角的值,如86BYG250A型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°、整步工作时为1.8°),这个步距角能够称之为‘电机固有步距角’,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。
[9]
2、相数:
是指电机内部的线圈组数,目前普片的有二相、三相、四相、五相步进电机。
电机相数不同,其步距角也不同,通常二相电机的步距角为0.9°/1.8°、三相的为0.75°/1.5°、五相的为0.36°/0.72°。
在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。
如果使用细分驱动器,则‘相数’将变得没有意义,用户只需在驱动器上更改细分数,就能够更改步距角。
[8]
3、保持转矩:
它是步进电机最重要的参数其一,通常步进电机在低速时的力矩接近保持转矩。
由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数其一。
比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。
[12]
四、步进电机的特征
1、通常步进电机的精度为步进角的3%—5%,且不积累。
2、步进电机的外表允许实现的最高温度。
3、步进电机力矩会随旋转速度的升高而下降。
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。
在它的作用下,电机随频率(或者速度)的增大而相电流减小,所以导致力矩下降。
4、步进电机低速时能够正常转动,但若高于一定速度就无法启动,并伴有啸叫声。
步进电机有一个技术参数:
空载启动频率,即步进电机在空载情况下能够正常启动的脉冲信号频率,如果脉冲信号频率高于该值,电机不能正常启动,可能发生丢步或者堵转。
在有负载的情况下,启动频率应更低。
如果要使电机实现高速转动,脉冲信号频率应该有加速过程,即启动频率较低,然后依照一定速率升到所希望的高频(电机旋转速度从低速升到高速)。
2.1.2步进电机的工作原理
步进电机是一种感应电机,它的工作原理是根据电子电路,将直流电变成分时供电的,多相时序操控电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序操控器[10]。
虽然步进电机已被频繁地使用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。
它必须由双环形脉冲信号、功率驱动电路等组成操控系统方可使用。
所以用好步进电机却非易事,它涉及到机械、电机、电子和计算机等诸多专业知识。
[15]
2.1.3步进电机的选择
本设计只是简单的研究步进电机的特性,所以选用的是操作起来比较简单二相混合式步进电机,它具有结构简单,操作方便,抗干扰能力强的诸多优点,广泛的使用在人们生活的各个方面。
第二节步进电机驱动介绍
2.2.1步进电机驱动系统介绍
步进电机的输入量是脉冲信号序列,输出量则为相应的增量位移或者步进运动。
正常运动情况下,它每转动一周具备固定的步数;做连续步进运动时,其旋转速度和输入脉冲信号的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电机能直接接受数字量的操控,所以特别适宜采用微机进行操控。
步进电机不能直接接到交直流电源上工作,而必须使用专用的步进电机驱动器,如图2-1所示(专用芯片构成的步进电机驱动系统)。
图2-1L297和L298构成的步进电机驱动系统
第三节单片机介绍
2.3.1单片机在线编程技术概述
通常进行单片机的实验或者开发时,编程器是必不可少的。
仿真、调试完的程序需要借助编程器烧到单片机内部或者外接的程序存储器中。
普通的编程器价格从几百元到几千元不等,对于通常的单片机爱好者来说还是一笔不小的开支。
另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,也比较麻烦。
伴随单片机技术的扩展,出现了能够在线编程的单片机。
通常可根据单片机的串行口接到计算机的RS232口,根据专门设计的固件程序来编程内部存储器。
根据预先编程在其中一块存储区中的程序就能够根据串行口和计算机相连,使用PC上专用的用户界面程序直接下载程序代码到单片机的另一块存储区中。
2.3.2单片机原理概述
单片机(single-chipmicrocomputer)是一种集成电路芯片,一片单片机芯片就具备组成计算机的全部功能。
它采用超大规模技术将具备数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统。
如图2-2中表示单片机的典型结构图。
由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的稳定性和运旋转速度,并且它的指令系统又很适合于工业操控的要求,所以单片机在工业过程和设备操控中得到了频繁的使用。
图2-2典型单片机结构图
2.3.3单片机的特性和扩展前景。
从硬件角位移看:
单片机具备小型化的特性,它采用超大规模技术将具备数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,一片单片机芯片就具备组成计算机的全部功能。
从软件角位移看:
单片机指令系统有精单指令的特性,容易学习。
根据单片机指令编写的源程序短小精悍,使单片机使用产品即体积小又具备智能化。
扩展前景:
纵观单片机的扩展过程,能够预见单片机的扩展有着频繁的前景。
尤其在工业操控、智能仪器仪表、计算机网络和通信地方、家用电器、医用设备等地方中将有着频繁的扩展前景。
2.3.4单片机结构和原理
单片机在进行实时操控和实时数据处理时,需要和外界文件交换信息。
这样了解单片机的结构和每一个引脚的功能作用和显得尤其重要,单片机的引脚较多,并且有些引脚处在不同的状态下拥有不同的含义。
单片机结构如图2-3所示。
图2-3AT889C52单片机的内部组成和外观
(1)中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器[1]
(2)数据存储器(RAM):
AT89C52内部有256x8字节数据存储器(RAM)和二十多个专用寄存器单元,它们是统一编址的,专用寄存器有专门的用途,通普片于存放操控指令数据,不能用作用户数据的存放,用户能使用的RAM只有256个字节,可存放读写的数据,运算的中间结果或者用户定义的字型表。
[1]
(3)程序存储器(ROM):
AT89C52共有8K字节闪存,用于存放程序和固定的常数等。
(4)定时/计数器(ROM):
AT89C52有3个16位的可编程定时/计数器,以实现定时或者计数,当定时/计数器产生溢出时,可用中断方式操控程序转向。
(5)并行输入输出(I/O)口:
AT89C52共有4个8位的并行I/O口(P0、P1、P2、P3),用于对外部数据的传输。
[1]
(6)全双工串行口:
AT89C52内置一个全双工异步串行通信口,用于和其它设备间的串行数据传送,该串行口既能够用作异步通信收发器,也能够当同步移位器使用。
[1]
(7)中断系统:
AT89C52具备较完善的中断功能,有8个中断源,可通常满足不同的操控要求,并具备3级的优先级别选择。
[1]
(8)时钟电路:
AT89C52内置最高频率达24MHz的时钟电路,用于产生整个单片机运转的时序脉冲信号,但需外接晶体振荡器和振荡电容。
2.3.5AT89C52详细介绍
本设计选用的单片机是AT89C52,下面对齐结构的每一个引脚进行详细的介绍。
AT89C52的主要参数如表2-1所示:
表2-1AT89C52的主要参数
型号
存储器
定时器
I/O
串行口
中断
速度(MH)
其他特性
EEPROM
ROM
RAM
89C52
4K
128
2
32
1
6
24
低电压
和MCS-51产品指令和引脚完全兼容。
8字节可重擦写FLASH闪速存储器,1000次擦写周期。
全静态操作:
0HZ-24MHZ。
三级加密程序存储器;256x8字节内部RAM;32个可编程I/O口线;3个16位定时器/计数器;8个中断源;可编程串行UART通道;低功耗空闲和掉电模式。
AT89C52提供了一下标准功能:
8字节FLASH闪速存储器,256字节内部RAM,32个I/O口线等。
ATMEL的AT89C52是一种高效微操控器,为很多嵌入式操控系统提供了一种灵活性高且价廉的方案。
其引脚如图2-4所示。
图2-4单片机的引脚排列
管脚详细说明如图2-5所示:
图2-5单片机管脚详细说明
在AT89C52中P3还具有更加重要一些特殊功能口,如表2-2所示:
表2-2P3口特殊功能
端口引脚
特殊功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(计时器0外部输入)
P3.5
T1(计时器1外部输入)
P3.6
/WR(外部数据存储器写选择)
P3.7
/RD(外部数据存储器读选择)
2.3.6AT89C52的定时/计数器2概述
AT89C52除了和AT89C51所有的定时器/计数器0和所有的定时器/计数器1外,还增加了一个定时器/计数器2.定时器/计数器2的操控和状态位位于T2CON,寄存器对(RCA02H、RCAP2L)是定时器2在16位捕获方式或者16位自动重装数方式下得捕获/自动重装数寄存器。
其中定时/计数器2操控寄存器T2CON如表2-3所示。
并且表2-3详细的列出了T2CON寄存器每位的详细说明。
表2-3定时/计数器2操控寄存器T2CON
T2CON地址=0C8H复位值=00000000B可寻地址
TF2
EXF2
RCK
TCLK
EXEN2
TR2
C/T2
CP/RL2
7
6
5
4
3
2
1
0
AT89C52的定时器0和定时器1个工作方式和AT89C51的相同,这里就不详细的说明了。
定时器2是一个16位的定时计数器。
具有自动重装载(向下或者向上计数);捕获方式和波特率发生器方式,工作方式有T2CON操控位来选择。
其中表2-4列出了定时器2的工作方式。
表2-4定时器2工作方式
RCLX+TCLK
CP/
TR2
MODE
0
0
1
16-bitauto-reload
0
1
1
16-bitCapture
1
X
1
BaudRateGenerator
X
X
0
(off)
若在第一次机器周期中采到的值为1,由于识别1到0的跳变需要2个机器周期(24个振荡周期),所以,最高计数频率为振荡频率的1/24、为了确保采样的正确性,需要输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采一次。
捕获方式:
这这种方式下,根据T2CON操控位以EXEN2来选择两种方式。
自动重装载方式:
定时器2工作在16位自动重装载方式时,能够对它编程为向上或者向下的计数方式,这一功能可根据操作特殊功能寄存器T2CON的DCEN位来进行选择。
波特率发生器的方式和自动重载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。
当在方式1和方式3下工作时,波特率由定时器2的溢出速率能够根据下面的公式确定。
同样的定时器能工作在定时方式也能够工作在计数方式,在大多数的使用中,工作在定时方式(C/
=0),定时器2成为波特率发生器时,和成为定时操作时是不同的两个概念,成为定时器时,在每个机器周期(1/12晶振频率)寄存器大的值加1,而当成为波特率发生器来使用的时候,在每个状态时间(1/2振荡频率)寄存器的值加1,波特率的计算公式如下:
式子中的(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。
2.3.7时钟振荡器
AT89C52的内部有一个振荡器,这个振荡器具有高增益反相放大的作用,AT89C52的引脚XTAL1和XTAL2分别是这个晶体振荡器的输入和输出端口。
内部的放大器与外部石英晶体(反馈元件)一起构成了自激振荡器,振荡电路如图2-6所示。
图2-6晶体振荡电路图
外接石英晶体和电容C1,C2接在放大器的反馈回路中一起构成了并联振荡电路。
对外部电容C1、C2虽然没有非常严格的要求,晶体振荡器的频率由电容的容量的大小直接决定,考虑诸多方面的因素通常情况我们这里推存使用的电容值为30PF左右。
第四节核心芯片介绍
2.4.1L297的工作原理
L297是一款专门用于驱动控制步进电机的芯片,它是由意大利SGS半导体公司所研发和生产的。
在许多不同的步进电机上都可以使用;这款芯片还必须与L298芯片一起才能组成专门的驱动控制步进电机的驱动电路。
这款芯片的引脚特别紧凑,使用的是+5V的电源电压,同时引脚的布局上是采用双列直插的20引脚塑封封装,其引脚图2-7。
图2-7L297引脚图
L297引脚就不再这里做详细介绍,简单的介绍几个特殊的引脚。
①SYNG引脚也就是1号引脚,是斩波器输出端,如果使用外部时钟源,则时钟信号接到此引脚上。
②HOME引脚也就是3号引脚,集电极开路输出端,当此引脚有效时,晶体管开路。
③4号引脚是A相驱动信号。
④5引脚作为控制A相和B相的驱动极。
⑤6引脚B相驱动信号。
⑥7引脚C相驱动信号。
⑦8引脚,操控C相和D相的驱动级。
⑧9引脚是D相驱动信号。
⑨ENABLE引脚是L297的使能输入端。
⑩CONTROL引脚是斩波器功能操控端,等等。
还有许多引脚这里不再介绍。
2.4.2L298工作原理
L298是一款单片集成的高电压、高电流、双路全桥式电机驱动芯片,L298提供两个使能输入端,能够在不依靠于输入信号的情况下,使能或者禁用L298元件。
L298低位晶体管的发射器连接到一起,而其对应的外部端口则可以使用连接一个外部感应电阻,L298还提供了一个额外的电压输入,所通过它的逻辑电路能够工作在更低的电压下。
在整个步进电机的驱动电路中L297用来提供连续的时序信号,不仅能够节省单片机IO端口的使用,而且能更好的实现驱动控制的最终目的。
其中L298的引脚如图2-8所示。
图2-8L298引脚图
L298同样引脚的布局上是采用双列直插的20引脚塑封封装。
2.4.3驱动方法的确定
关于步进电机的驱动通常有两种方法,一种是用单片机直接来驱动,另一种是根据CPU来间接驱动,其中第一种驱动方法不适合采用,由于CPU的输出电流是极其小的,这样特别小的电流脉冲信号不能满足步进电机的转动;第二种是根据CPU来间接驱动,这样的好处就是可以将CPU输出来的电脉冲信号进行放大,紧接着进行放大的信号才能直接驱动步进电机,后一种驱动方法综合的考虑比较安全。
这也是本次设计最终采用的驱动方法(AT89C52间接驱动步二相进电机)。
L297和L298组成的驱动电路具备的优点:
使用元件不复杂,各器件的损耗小,高稳定性,抗干扰能力强,总体体积小,各个子程序开发简单。
L298和L297配合使用操控双极步进电机工作电流可达2.5A等诸多优点。
所以采用L297和L298组成的操控驱动器来驱动步进电机,并且L297和L298芯片组成的驱动操控器也是专用的驱动步进电机的操控驱动器。
L297和L298组成的操控驱动器线路图如图2-9所示。
图2-9L297和L298操控驱动线路图
2.4.41602LCD工作原理
1602LCD