单片机对步进电机进行控制的控制系统.docx
《单片机对步进电机进行控制的控制系统.docx》由会员分享,可在线阅读,更多相关《单片机对步进电机进行控制的控制系统.docx(37页珍藏版)》请在冰豆网上搜索。
单片机对步进电机进行控制的控制系统
1绪论
1.1提出问题并确定设计方案
1.1.1问题的提出
传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的,但此种控制方法工作方式单一且难于实现人机交互,当步进电机的参数发生变化时,需要重新进行控制器的设计。
而且由传统的触发器构成的控制系统具有控制电路复杂、控制精度低、生产成本高等缺点。
为了克服传统控制器的缺点,满足工业生产新的控制要求,在此设计一种以单片机为核心的新型控制器。
1.1.2明确课题任务
单片机对步进电机的控制有如下几项要求:
(1)为用户使用方便,需要实现人机交互。
(2)为实现对不同相数的步进电机进行控制而不更换控制器的要求,需要实现励磁方式的可控性。
(3)要求实现步进电机的转速可控和旋转角度可控。
(4)要求有足够的控制精度。
1.1.3确定设计方案
通过对控制系统的分析,确定了如下的设计方案:
(1)确定系统的I/O点数和通道:
①输入和输出量的确定:
输入量:
主要是键盘输入。
输出量:
步进电机的驱动信号和LED数码管显示信号。
②输入、输出通道的确定:
除了键盘/显示器的输入/输出外,输出通道还有驱动步进电机信号的输出通道。
(2)选择单片机:
根据控制系统所要求的控制精度、响应速度、开发环境、I/O点数、输入/输出通道数等情况选择了MCS-51系列的8位单片机8051,其具有4KBROM和256BRAM,因此不需要进行存储器的扩展。
(3)确定键盘/显示器。
本设计需要一个8×2的键盘和一个6位的显示器,它们的接口电路采用8255A。
单片机日记:
8255A是有Intel公司生产的NMOS器件,输入和输出与TTL电平兼容。
电源电流最大值为120mA,具有3个8位的并行I/O口,有三种工作方式,可通过编程改变其功能,使用灵活,通用性强。
因此,本设计键盘和显示部分选用8255A芯片。
(4)设计单片机控制系统图:
步进电机接口电路与单片机连接时,为了可靠地实现信号隔离,减少输入输出设备对单片机系统的电信号干扰,需要用光电耦合器。
1.2研究内容和方法
本课题的主要任务是设计一个单片机对步进电机进行控制的控制系统,主要研究内容和方法如下。
1.2.1研究内容
(1)主要研究内容是通过单片机对步进电机的正转,反转,转速,步距角进行控制。
(2)用6位LED显示器组成高亮度的显示电路来显示步进电机的转速等运行参数。
(3)用8255A作为键盘和显示电路的接口芯片。
(4)用PMM8713作为步进电机的接口芯片。
(5)设计单片机控制系统的硬件电路。
(6)编写控制系统主程序,绘制程序流程图。
1.2.2研究方法
主要研究方法是:
用单片机原理及其接口技术,通过软硬件相结合的方法实现对步进电机的工作状态和工作参数的控制。
单片机对步进电机的控制有串行控制和并行控制两种方式。
本设计采用的是串行控制方式,此方式下单片机控制系统与步进电机驱动器之间只有两条控制线。
一条发出时钟脉冲信号来控制步进电机的转速;另一条发出转向信号控制步进电机的转向。
这两个信号都是送入步进电机驱动器的输入端,驱动器中含有环行分配器,对步进电机励磁方式的控制和控制脉冲的分配都是由环行分配器来完成的。
由于单片机控制系统与驱动器之间只有两条控制线,从而使系统结构大为简化。
控制系统按速度控制的要求从时钟脉冲控制线发出相应的控制脉冲即可对步进电机的转速进行控制。
当需要恒速运行时,就发出恒定频率的控制脉冲;当需要加速运行时,就发出频率递增的控制脉冲;当需要减速运行时,就发出频率递减的控制脉冲;当需要锁定状态时,只需要停止发脉冲就可以了。
因此,可以方便地对电动机的转速进行控制。
转向控制线可实现对步进电机转向的控制,当输出高电平“1”时,环行分配器按正方向进行脉冲分配,步进电机正向旋转;当输出低电平“0”时,环行分配器按反方向进行脉冲分配,步进电机反方向旋转。
1.3本课题研究的意义
传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的,由此种方法构成的控制系统具有电路复杂、灵活性差、控制精度低、生产成本高、调试和维护麻烦等缺点。
在本设计中应用单片机接口技术,使用大规模集成电路PMM8713设计了一种新型的步进电机控制系统,这种控制系统具有集成度高、电路简单、成本低、控制精度高、调试和维护方便等优点。
这种步进电机的接口电路,可以通过对单片机的设定,用同一种电路,实现对各种励磁方式下3、4相步进电机的控制和驱动,从而大大提高了接口电路的灵活性和通用性。
通过本课题的研究,能全面巩固单片机及其控制技术的相关知识和技能;能掌握步进电机的运行原理及控制方法;能了解芯片的选择、程序的编写、软硬件的配合、各种抗干扰措施的应用等方面的知识。
总之,本设计既能结合工业生产生活的实际又能达到本次毕业设计的要求。
2控制系统硬件电路的设计
2.1单片机最小应用系统设计
单片微型计算机(singlechipmicrocomputer)简称单片机。
它把组成微型计算机的各功能部件:
中央处理器(CPU),随机存取存储器RAM,只读存储器ROM,可编程存储器EPROM,并行及串行输入/输出(I/O口)接口电路及其它功能部件如定时器/计数器、中断系统等集成在一块半导体芯片上,构成一个完整的微型计算机。
随着大规模集成电路技术的发展,单片机内还可包含A/D和D/A转换器、高速输入/输出部件、DMA通道、浮点运算等新的特殊功能部件。
由于它的结构和指令都是按工业控制要求设计的,特别适合于工业控制及与控制有关的数据处理场合,因而目前应确切称其为微控制器(Microcontroller)。
由于单片机和普通微机相比,具有小巧、灵活、成本低、可靠性强、面向控制好、易于产品化、适应温度和湿度变化范围宽,能在各种恶劣的环境下工作等独特的优点,使得它在众多需要进行高精度控制的场合得到广泛应用。
单片机加上适当的外围器件和应用程序便构成了最小应用系统。
最小应用系统设计是单片机应用系统设计的基础。
它包括单片机的选择、时钟系统设计、复位电路设计、简单I/O扩展、掉电保护等。
2.1.18051单片机简介
(1)8051单片机的基本结构
①8位中央处理器CPU
②振荡器与时序电路
③4KB程序存储器ROM
④256B的数据存储器RAM
⑤1个可编程串行口
⑥4个8位的I/O端口
⑦2个16位的定时器/计数器
(2)8051的引脚
8051为双列直插式40脚封装,有40个引脚,大致可分为电源、时钟、地址总线、数据总线和控制总线6个部分。
①电源线
Vcc(40脚):
主电源,接+5V
Vss(20脚):
电源地线
②控制线
ALE/
(30脚):
当访问片外存储器时,ALE的输出用于锁存低字节地址信号。
不访问外存储器时,其以不变的频率周期性地出现脉冲信号,其频率为振荡器频率的1/6。
因此,它可以用作对外输出的时钟脉冲,或用于定时目的。
(29脚):
片外程序存储器的读选通信号。
CPU在从片外程序存储器取指令期间,每个机器周期两次有效。
在访问内部程序存储器时,该信号不会出现。
RST/VPD(9脚):
单片机复位/备用电源引脚。
当接上电源时,其内部各寄存器处于随机状态,在引脚上输入两个机器周期的高电平将使单片机复位。
当Vcc电压突然下降或掉电时,此引脚上的备用电源能保护片内RAM中的信息,使复位后能继续正常运行。
/Vpp(31脚):
当
输入高电平时,CPU可访问片内程序存储器4KB的地址范围。
当超出此范围时,将自动转向片外程序存储器。
当输入低电平时,CPU只能访问片外程序存储器。
XTAL1(19脚)和XTAL2(18脚):
外部晶振引脚。
③I/O总线
P0口可作为一般I/O口用,但当系统采用外部总线结构时,它分时作为低8位地址线和8位双向数据线用。
P1口的每一位可独立作为I/O口用。
P2口可作为一般I/O口和高8位地址线用。
P3口为双功能口,除了独立作为I/O口外,每一位还具有第二功能.
2.1.2时钟电路设计
时钟电路是单片机的心脏,各部分都以时钟频率为基准,有条不紊地一拍一拍的工作。
利用芯片内部的振荡电路,在XTAL1和XTAL2两端跨接晶体振荡器和两个电容C1、C2就构成了一个稳定的自激振荡器。
8051内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是反相放大器的输入端和输出端,由于这个放大器与作为反馈元件的片外晶体一起构成了一个自激振荡器,这种形式的时钟信号称为内部时钟方式。
电容C1和C2的作用有两个:
其一是使振荡器起振,其二是对振荡器的频率f起微调作用(C1、C2越大则f越小),典型值为30pF。
MCS-51的一个机器周期由六个状态(S1,S2,···S6)组成,每一个时钟为2个振荡周期,一个机器周期有6个时钟周期即12个振荡周期。
本课题采用的晶振为6MHz,所以每个机器周期为2µS。
2.1.3复位电路设计
单片机在启动或断电后,程序需要从头开始执行,机器内全部寄存器、I/O接口等都必须重新复位,这个功能由复位电路来完成。
设计复位电路是应注意:
①要保证加在RST上的高电平持续2个机器周期,才能使单片机有效地复位。
②在实际的应用系统中,有些外围芯片也需要复位。
如果这些复位端的复位电平要求与单片机复位一致,则可以与之相连。
③复位电路中,干扰易窜入复位端,在大多数情况下不会单片机的错误复位,但会引起内部某些寄存器的错误复位。
这时,可在RST引脚上接一个去藕电容。
④在应用系统中,为了保证复位电路可靠地工作,常将R、C电路先接史密特电路,然后再接入单片机和外围电路复位端。
这样,当系统有多个复位端时,能保证可靠地同步复位,且具有抗干扰能力。
本次毕业设计复位电路采用上电自动复位和手工复位两种方式,如图2-4所示。
上电瞬间,电容C两端电压不能突变,+5V电压绝大部分加到电阻R上,RESET端出现高电平。
只要高电平持续时间足够长,就可以使单片机有效复位。
RESET端加电时应保持的高电平时间包括Vcc的上升时间和振荡器起振时间。
Vcc上升时间约为10ms,振荡器起振时间和频率有关,10MHz时约为1ms,本课题采用6MHz振荡频率,所以起振时间约为1.7ms。
为了可靠复位,RESET端上电时应保持15ms以上的高电平。
人工复位时,Rs(330
)相对于R(10K
)来说很小,按下RESET键后,+5V电压在电阻R上的分压
,RESET端为高电平。
由于按键为机械弹性开关,其闭合和断开所需时间远远大于单片机的两个机器周期(6MHz时为4
S),所以单片机能够可靠复位。
2.2键盘和显示部分设计
8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8
位的并行I/O口,具有三种工作方式,可通过程序改变其功能。
因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。
8255A有三种基本工作方式, 三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供。
三个端口中PC口被分为两个部分,上半部分随PA口称为A组,下半部分随PB口称为B组。
其中PA口可工作与方式0、1和2,而PB口只能工作在方式0和1。
8255A共有40个引脚,采用双列直插式封装。
设计键盘和显示部分选用8255A芯片。
方便良好的人机界面是用8255A芯片来实现的,它具有键盘处理功能,能自动消除键抖动。
本设计中键盘控制部分可控制8×2个按键,采用有6位LED显示,具有较强的人机互动功能。
2.2.18255A简介
(1)8255A的内部结构
①数据端口A、B、C
A口:
一个8位数据输出锁存/缓冲器,一个8位数据输入锁存器。
B口:
一个8位数据输入/输出、锁存/缓存器。
一个8位数据输入缓冲器。
C口:
一个8位数据输出锁存/缓冲器,一个8位数据缓冲器。
②工作方式控制电路
工作方式控制电路有两个,一个是A组控制电路一个是B组控制电路。
这两组控制电路共用一个控制命令寄存器,用来接收中央处理器发来的控制字,以决定两组端口的工作方式,也可以根据控制字的要求对C口按位清0或者按位置1。
A组控制电路用来控制A口和C口上半部分(PC7~PC4)。
B口控制电路用来控制B口和C口下半部分(PC3~PC0)。
③总线数据缓冲器
总线数据缓冲器是一个三态双向8位缓冲器,作为8255A与系统总线之间的接口,用来传送数据、指令、控制命令及外部状态信息。
④读/写控制逻辑电路
读/写控制逻辑电路接收CPU发来的控制信号
、
、RESET、
、和地址信号A1~A1,然后根据控制信号的要求,将端口数据送往CPU,或者CPU数据送来的数据写入端口。
(2)8255A的引脚功能
D7---D0:
三态双向数据线,与单片机数据总线连接,用来传送数据信息。
:
片选信号,低电平有效时芯片被选中。
:
读出信号线,低电平有效时允许数据读出。
:
写入信号线,低电平有效时允许数据写入。
VCC:
+5v电源。
PA7---PA0:
A口输入/输出线。
PB7---PB0:
B口输入/输出线。
A1---A0:
地址线,用来选择内部端口。
RESET:
复位信号线,高电平有效。
复位后清除控制寄存器,所有口均为输入。
(3)8255A的工作方式选择
工作方式控制字的格式如下表。
8255有方式0、方式1和方式2三种基本工作方式,可由工作方式控制字来选择,由CPU通过输出指令(地址A1=A2=1时)写入。
其中C口被分为两部分,上半部分与A口配合组成A组,下半部分与B口配合组成B组。
A口可工作于方式0、方式1或方式2,而B口只能工作于方式0或方式1。
1为工作方式控制字标志。
D6、D5:
A组工作方式选择,00为方式0,01为方式1,10为方式2。
D4:
A口输入输出选择,1为输入,0为输出。
D3:
C口上半部分输入输出选择,1为输入,0为输出。
D2:
B组工作方式选择,1为方式1,0为方式0。
D1:
B口输入输出选择,1为输入,0为输出。
D0:
C口下半部分输入输出选择,1为输入,0为输出。
2.2.2显示电路简介
显示器是最常用的输出设备。
特别是发光二极管显示器(LED)和液晶显示器(LCD),它们是最常用的显示器件,因为它们都具有结构简单、耗电少、价格低廉、接口简单、寿命长等优点,广泛应用于智能仪表场合,尤其是单片机系统中大量应用。
考虑到一般工业现场的工作特点(工作温度、光线等),在本设计中选用LED数码管显示。
数码管是利用发光二极管LED(lightemittingdiode)显示字段的显示器件。
其外形结构如图2-6。
它由八个发光二极管构成,通过不同的组合可用来显示0~9、A~F、负号“-”和小数点等字符。
单片机系统中,数码管显示接口一般采用静态驱动和动态扫描两种驱动方式。
静态驱动方式工作原理是每一个数码管用一个I/O端口驱动,亮度大,耗电也大,占用I/O口线多。
动态扫描方式是将多个数码管的段码同名端接在一起,位码分别控制,利用眼睛的视觉滞留效应,分别进行显示。
只要保证一定的扫描频率,看起来的效果和静态显示是一样的。
本系统已将P1口用作地址/数据复用总线,P2口用作高位地址总线,P1口用于矩阵键盘,没有足够的I/O口线用于静态显示,故采用动态扫描方式,将段码锁存器和位码锁存器当成两个外设进行控制。
LED数码管一般分为共阴型和共阳型两种。
共阴型是将8个发光二极管阴极连接在一起作为公共端。
而共阳型是将8个发光二极管的阳极连在一起作公共端。
本课题采用的是共阴型数码管,在此论述时都以共阴型为例。
数码管公共端相当于一个总开关,一般称为位码开关,当它为高电平时数码管全灭;当它为低电平时,根据发光二极管阳极(一般称为段码)的状态,高电平则该段亮;低电平则该段不亮。
输出一个段码就可以控制数码管的字型。
2.2.374LS138和74LS373简介
(1)译码器74LS138
74LS138是一个3-8译码器,3相应于ABC三个输入端,其确定的范围为二进制000~111,8相应于8个输出端Y0~Y7。
选通端
、
、和
这三个信号都有效时,译码器才有效。
在同一时间内最多只有一个输出端被选中,被选中的输出端为低电平,其余均为高电平。
共16个引脚,其引脚说明如下:
A、B、C:
选择端即信号输入端。
、
、
:
使能端,其中
、
低电平有效,
高电平有效。
Y0~Y7:
译码输出信号,始终只有一个为低电平。
Vcc:
电源端,+5V。
GND:
线路地。
(2)锁存器74LS373
74LS373是带有三态门的八D锁存器,当使能信号线
为低电平时,三态门处于导通状态,允许D0-D7输出到Q0-Q7;当
端为高电平时,输出三态门断开,输出线Q0-Q7处于浮空状态。
G称为数据打入线,当74LS373用作地址锁存器时,首先应使三态门的使能信号
为低电平,这时,当G端输入端为高电平时,锁存器输出(Q0-Q7)状态和输入端(D0-D7)状态相同;当G端从高电平返回到低电平(下降沿)时,输入端(D0-D7)的数据锁入Q0-Q7的八位锁存器中。
当用74LS373作为地址锁存器时,它们的G端可直接与单片机的锁存控制信号端ALE相连。
在ALE下降沿进行地址锁存。
引脚说明如下:
D0~D7:
锁存器8位数据输入线。
Q0~Q7:
锁存器8位数据输出线。
GND:
接地引脚。
Vcc:
电源引脚,+5V有效。
:
片选信号引脚。
G:
锁存控制信号输入引脚。
2.2.4键盘显示接口电路设计
如图2-9所示为8×2键盘、6位显示器和单片机的接口电路图。
因8225A的
与74LS138译码器的Y15相连,所以可选FFFFH为8255A的控制字地址,FFFCH为A口地址,FFFDH为B口地址,FFFEH为C口地址。
8255A的PB口为输出口,控制显示器字形,PA口为输出口,控制键扫描作为键扫描口,同时又作为6位显示器的位扫描输出口,8255A的C口作为输入口,PC0—PC1读入键盘数,称为键输入口。
2.3步进电机控制系统设计
步进电机的静态性能和动态性能与驱动器的性能和驱动方式密切相关。
步进电机控制器有两个发展趋势,一是高度集成化和专用化,即使用专用集成电路。
二是为了提高控制精度和运行的平稳性,采用微步驱动技术。
在本设计中脉冲分配器选用了专用集成芯片PMM8713。
功率放大是驱动系统最为重要的部分。
步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流。
平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。
因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:
恒压、恒压串电阻、高低压驱动、恒流、细分数等。
步进电机控制系统由环形脉冲,功率放大等组成,如图2-10所示。
2.3.1脉冲分配器PMM8713简介
PMM8713为专用的步近电机控制用脉冲分配器,为双列直插式16脚单片CMOS集成芯片。
其内部有时钟选通、激励方式控制、可逆环形计数器、激励方式判断等电路。
(1)PMM8713的特点:
①既可以用于三相控制,又可以用于四相控制。
②励磁有1相、2相和1-2相三种方式。
可任选其中一种方式。
③具有单时钟或双时针工作方式,带有正反转功能和初始化功能。
④所有输入端均采用施密特整形电路,因此具有很强的抗干扰能力。
⑤输出电流大于20毫安,可以直接驱动微型步进电机。
(2)PMM8713的各引脚说明:
Cu(1脚)、Cp(2脚):
双时钟工作的时钟输入端。
Cu端接正转时钟,Cp端接反转时钟。
Ck(3脚):
单时钟输入端。
单时钟输入时步进电机的正反转由U/D(4脚)来控制。
U/D(4脚):
旋转方向切换。
单时钟输入时,当U/D为高电平时,输出端输出正转脉冲序列;当U/D为低点平时,输出端输出反转脉冲序列。
EA(5脚)和EB(6脚):
激励方式选择端。
EA和EB都为0时,为双激励方式。
EA和EB都为1时为1-2相激励方式。
EA和EB电平相反时,为单激励方式。
C(7脚):
3相或4相选择控制端。
当该脚为0时,为3相输出;为1时,则为4相输出。
通过该脚可以选择控制3相或4相步进电机。
Vss(8脚):
接地端。
R(9脚):
复位控制端。
加低点平使输出端复位为下表所示的初始状态(其中1表示高电平,0表示低电平)。
1~4((10~13脚):
4相驱动端。
用于输出4相控制信号。
1~3(11~13脚):
3相驱动端。
用于输出3相控制信号。
EM(14脚):
激励方式状态标志。
双激励方式时,该端输出为高点平;单激励方式时,该端输出为低点平;1-2相激励方式时,该脚输出两倍时钟周期的脉冲。
CO(15脚):
输入时钟检测端。
当该电路有时钟脉冲输入时,在CO端输出同步于时钟的脉冲。
VDD(16脚):
电源输入端。
输入电压范围+4—18V。
2.3.2功率放大电路设计
从脉冲分配器输出的电流只有几个毫安,不能直接驱动步进电机。
因为一般步进电机需要几个到几十个安培的电流,因此在脉冲分配器后需要有功率放大电路,用放大后的信号去驱动步进电机。
功率放大电路的种类有很多,它们对电机性能影响也各不相同。
常用的有单一电压型电源和高低压型电源。
本设计采用单电压功率放大电路。
由于电动机各相绕组都是绕在铁心上的铁圈,所以电感较大。
绕组通电时,电流上升受到限制,因而影响电动机各相绕组电流的大小。
绕组断电时,电感中磁场的储能元件将维持绕组中已有的电流而不能突变,所以在绕组断电时会产生反电动势。
为使电流尽快衰减并释放反电动势必须增加适当的续流回路。
2.4光电耦合部分设计
为了防止强电干扰及其干扰信号通过I/O控制电路进入计算机,影响其工作,通常的办法是实现采用滤波吸收,控制干扰信号的产生,然后采用光电隔离的办法,使微机与强电部件不共地,中断干扰信号的传导。
主要由光电转换元件组成。
如图2-13所示。
控制输出时,微机输出的控制信号经74LS04非门反相后,加到光电耦合器的发光二极管正端。
当控制信号为高电平时,经过反相加到发光二极管正端的电平为低电平,因此,发光二极管不导通,没有光发出。
这时光敏三极管截止,输出信号几乎等于加在光敏三极管集电极上的电源电压。
当控制信号为低电平时,发光二极管导通并发光,光敏三极管接收发光二极管发出的光而导通,于是输出端的电平几乎等于零。
本设计中采用光电耦合器TLP521-4,它能使输入输出绝缘,从而对地电位差干扰和电磁干扰有很强的抑制能力,且速度高、价格低、接口简单。
2.5步进电动机概述
步进电动机是一种将电的脉冲信号转换成相应的角位移或线位移的机电元件,通俗的讲,就外加一个脉冲信号于这种电动机时,它就运行一步。
步进电机的种类很多,一般分为反应式、混合式、永磁式、直线式四大类,其中反应式和混合式比较常用。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
2.5.1步进电机的结构和原理
本设计中选用的是三相反应式步进电机,下面对其结构和原理作进行简要的说明。
反应式步进电机又为磁阻式步进电机,如图2-14所示,这是一台三相电机,定子铁心有硅钢片叠成,定子上有6个磁极(大齿),共有3套控制绕组,绕在径向相对的两个磁极上的一套绕组为一相。
转子也是由叠片铁心构成,转子上没有绕组,转子只有4个齿,齿宽等于定子的极靴宽。
反应式步进电机的是利用凸极转子横轴磁阻与直轴磁阻