数控步进电机.docx

上传人:b****5 文档编号:4184129 上传时间:2022-11-28 格式:DOCX 页数:22 大小:205.95KB
下载 相关 举报
数控步进电机.docx_第1页
第1页 / 共22页
数控步进电机.docx_第2页
第2页 / 共22页
数控步进电机.docx_第3页
第3页 / 共22页
数控步进电机.docx_第4页
第4页 / 共22页
数控步进电机.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数控步进电机.docx

《数控步进电机.docx》由会员分享,可在线阅读,更多相关《数控步进电机.docx(22页珍藏版)》请在冰豆网上搜索。

数控步进电机.docx

数控步进电机

第一章数控步进电机驱动系统的总体设计

1-1步进电动机及驱动系统概述

步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件,每当输入一个电脉冲时,它便会转过一个固定的角度,这个角度称为步距角,简称为步距。

(本数控步进电动机步距角为15度)脉冲一个一个地输入,电动机便一步一步地转动,步进电机便因之而命名。

步进电动机和一般旋转电动机动一样,分为定子和转子两大部分。

定子由硅钢片叠成,装上一定相数的控制绕组,由环行分配器送来的电脉冲对多相定子绕组轮流进行励磁;转子本身没有励磁绕组的叫做“反应式步进电机”,用永久磁铁做转子的叫做“永磁式步进电动机”。

步时电动机的结构形式虽然繁多,但工作原理都相同。

1-2步进电机驱动系统的总体设计

单片机虽然是一个五脏俱全的计算机,但由于本身无开发能力,必须借肋开发工具来开发应用软件以及对硬件系统进行诊断。

因此,用户要研制一个较完整的单片机产品时,必须完成以下几步工作:

(1)硬件电路设计、组装、调试;

(2)应用软件的编制、调试;

(3)应用软件的链接调试、固化、脱机运行(即脱离开发装置)。

单片机应用系统的开发过程包括总体设计、硬件设计、软件设计等几个阶段,但各阶段不是绝对分开的,有时是交叉进行的。

1-2-1步进电机硬件设计的特点:

(1)硬件结构应结合应用软件方案一并考虑。

硬件结构与软件方案会产生相互影响,考虑的原则是:

软件能实现的功能尽可能由软件来实现,以简化硬件结构。

但必须注意如用软件来实现的硬件功能,其响应时间要比直接用硬件来实现花的时间长,而且占用CPU时间。

因此,选择软件方案时,要考虑到这此因素。

(2)整个系统中相关的器件要尽可能做到性能匹配。

(3)可靠性及抗干扰设计是硬件系统设计不可缺少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。

(4)单片机外接电路较多时,必须考虑其驱动能力。

驱动能力不足时,系统工作不可靠,解决的办法是增加驱动能力,增设线驱动器或者减少芯片功耗,降低总线负载。

本系统的硬件设计包括:

键盘输入电路设计、振荡电路、中断电路、复位电路、键盘输入电路、数字显示与驱动电路、步进电机及其驱动电路等。

在完成各个单元电路的设计与调试后,我们与软件系统进行了联调,且达到了一个较为理想的结果。

1-2-2数控步进电动机驱动系统软件设计的特点:

应用系统中的应用软件是根据系统功能要求设计的,应可靠地实现系统的各种功能。

应用系统种类每秒多,应用软件各不相同,但是一个优秀的应用系统的软件应具有下列特点:

(1)软件结构清晰、简捷、流程合理。

(2)各功能程序实现模块化、子程序化。

这样,既便于调试、链接,又便于移植、修改。

(3)程序存储区、数据存储区规划合理,既能节约内存容量,又使操作方便。

(4)实现全面软件抗干扰设计。

软件抗干扰是计算机应用系统提高可靠性的有力措施。

本系统软件设计采用汇编语言编程,程序编译通过后,我们进行了固化,并与系统的硬件进行了联调,达到了一个较令人满意的效果。

本数控步进电机驱动系统机总体开发与设计的流程图如图1所示:

图1单片机总体开发与设计的流程图

1-3数控步进电动机驱动系统总体功能介绍

本数控步进电动机驱动系统主要完成以下功能:

(1)步进电机按键盘输入电路设定的圈数,按A键旋转相应的圈数

同时显示电路倒计时显示已转的圈数;

(2)点动正反转运行;

(3)按根据事先设定,以三种不同的速度运行;

(4)根据事先设定,分别以4拍、8拍模式运行;

(5)通过按SW1键暂停步进电机运行(此时数码显示暂停),松手步进电机继续运行。

其键盘输入数字排列如图2所示:

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

键盘内码

键盘

 

图2键盘输入数字排列图

各个按键与其功能对应关系如表1所示:

0~9

A

B

C

D

E

F

SW1

SW2

数字键

正逆转启动键

点动执行键

返转设定键

1速度设定键

2速度设定键

8拍模式设定键

暂停键

复位键

表1键盘功能对照表

现在说明如下:

“0~9”键:

为数字键,用来预先设定步进电机转动的圈数。

“A”键:

A键为执行键,按A,则步进电机根据先前设定,执行运转。

“B”键:

点动直行键。

按“B”键则电机点动运行,松开则停止转动。

“C”键:

设定正反转键。

按“C”键则P3.0LED亮,表示反转,再按P3.0熄为正转,再按P3.0亮为反转。

“D”键:

速度1设定键,按D,则速度显示数码管显示1。

“E”键:

速度2设定键,按E,则速度显示数码管显示2。

系统默认速度0,此时速度显示数码管显示0。

“F”键:

设定8拍模式设定键。

按F则设定8拍运行模式。

P3.4绿灯亮,表示8拍模式,再按绿灯熄,表4拍模式。

如此循环。

“SW1”键:

暂停键,按INT1,步进电动机暂停,圈数显示数码管在当前显示的圈数下停下,松手则步进电机继续运行。

“SW2”键:

复位键。

用来急停步进电机

数控步进电机驱动系统软件总体框图如图3所示:

图3数控步进电机软件系统框图

传统的步进电机驱动控制系统一般采用模拟电路控制,其电路复杂、功能较为单一,控制也不够灵活。

而采用单片机控制的步进电机驱动控制系统具有线路简单、控制灵活、成本较低等诸多优点。

以AT89C51为控制核心的步进电机及驱动系统框图如图4所示:

图4数控步进电机总体框图

第二章数控步进电机硬件系统设计

2-1数控步进电机硬件系统设计应考虑的问题

硬件设计需考虑下列几点:

(1)尽可能选择典型电路

(2)系统的扩充与外围装置,应充分满足应用系统的要求,并留一些扩充槽,以便进行二次开发。

(3)硬件结构应结合应用软件一并考虑。

软件有执行的功能尽可能由软件来执行,以简化硬件结构。

但必须注意,由软件执行硬件的功能,其响应时间比直接使用硬件要长,且占用CPU时间。

(4)整个系统器件尽可能做到性能匹配。

(5)可靠性及抗干扰设计是硬件设计极其重要的部分,包括器件选择、电路板布线、通道隔离等。

(6)单片机微处理器外接电路较多时,必须考虑其驱动能力,驱动能力不足时,系统工作不可靠。

解决办法是增加驱动能力,或减少IC功耗,降低总线负载。

2-2系统各部分硬件电路介绍

本数控步进电机驱动系统硬件电路由本系统的硬件设计包括:

最小单片机系统、键盘输入电路、数字驱动与显示电路、步进电机及其驱动电路等,下面一一进行阐明。

2-2-1单片机AT89C51最小系统

AT89C51特点:

(1)本数控步进电机驱动系统以AT89C51为控制核心,这样一来,大大地简化;了电路。

在单片机的选择上,我们采用了AT89C51单片机。

AT89C51单片机是一种低功耗/低电压、高性能的8位单片机。

片内带有一个4KB的Flash可编程、可擦除只读存储器。

它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MCS—51兼容。

片内的Flash存储器允许在系统内改编程或用常规的非易失性存储器来编程。

其主要性能有以下几个方面:

在开发过程中,采用内部Flash存储器,可以十分容易进行程序的灌制,这样以来就大大缩短了系统的开发时间。

提高了系统的效率,具我们了解目前AT89C51已成为51系列单片机设计采用的主流产品。

(2)静态时钟方式:

AT89C51单片机采用了静态时钟方式,可以节省电能

(3)AT98C51和8051插座兼容:

AT89C51的引脚同8051的引脚一样的,所以我们在取代8051时,可以直接进行代换,这样以来,大大方便了使用者,原有8051的资源我们可以直接加以利用。

(4)可进行反复系统试验:

用AT89C51单片机设计步进电系统时,我们可利用其反复电擦除功能,这样一来,大大节省了我们开发系统的时间和经费。

这样可以保证我们的系统设计达到最优。

其管脚图如图5所示:

图589C51的管脚图

其各个引脚功能如下:

(1)电源引用:

Vcc(40脚):

供电源+5V。

Vcc(20脚):

接地线。

(2)时钟电路引脚:

XTAL2(18脚)和XTAL(19脚)。

利用内部时钟电路时,于XTAL1与XTAL2之间接晶体振荡器,XTAL1为放大电路输入端,XTAL2为输出端。

在采用外部时钟时,XTAL1端接地,XTAL2端接外部输入时钟脉冲。

(3)控制信号引脚:

RST/VPD(9脚):

接复位电路可实现复位;接+5V备用电源,当断电时,RAM中数据不丢失。

ALE/PROG(30脚):

访问片外存储器时,ALE输出作低位地址锁存允许控制;在对89C51片内EPROM编程(固化)时,此脚用于输入编程脉冲(PROG)。

PSEN(29脚):

访问片外程序存储器时,此脚输出负脉冲作为读选通信号。

EA(31脚):

该脚具有双功能。

EA控制CPU执行程序,当EA端接高电平时,程序地址小于4KB访问片内程序存储区;若超出4KB地址,则自动执行片外程序存储器程序。

当EA端接低电平时,EPU直接访问片外存储器。

(4)输入/输出口引脚:

89C51共4个8位I/O口,占32个引脚。

PO口(PO.0~PO.7)为39~32脚。

P1口(P1.1-P1.7)为1~8脚。

P2口(P2.0~P2.7)为21~28脚。

P3口(P3.0~P3.7)为10~17脚。

AT89C51内部总体框图如图6所示:

图689C51内部功能图

2-2-2振荡电路:

本单片机系统的振荡电路如图7所示:

图7振荡电路

XTAL1为振荡电路的输入端,而XTAL2为振荡电路的输出端,单片机系统时钟是利用其内部的振荡电路在XTAL1T和XTAL2引脚上外接石英晶体振荡器(简称晶振),使内部振荡器产生自激振荡而产生的,晶振频率可以在1.2~12MHz之间任选,电容可以在5~30pF之间选择。

在本系统中,振荡电路晶振振荡频率为12M,经过2分频后,作为系统的时钟信号,在二分频的基础上再6分频产生机器周期信号,这样本系统一个周期为1微秒。

2-2-3中断系统:

中断系统是为使处理机具有对外界异步事件的处理能力而设置的。

当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件。

处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。

实现这种功能的部件称为中断系统,请示CPU中断的请求源称为中断源。

当几个中断源同时向CPU请求中断,要求为它服务时,这就存在CPU优先响应那一个中断源请求的问题。

优先处理最紧急事件的中断请求源,即规定一个中断源有一个优先级别。

CPU总是先响应级别最高的中断请求。

AT89C51单片机提供了5个中断源,其中两个为外部中断源,由INT0、INT1(P3.2、P3.3)输入;两个为片内定时器/计数器溢出进产生的中断请求(用TF0、TF1做标志);另一个为片内串行口产生的中断请求(TI或RT)。

这此中断请求源分别由MCS-51的特殊功能寄存器TCON和SCON的相应位锁存。

中断的允许和禁止由中断允许寄存器(IE)控制。

中断允许寄存器的字节地址为0A8H,可位导址,其格式如下:

D7D6D5D4D3D2D1D0

EA

ES

ET1

EX1

ET0

EX0

IE

本系统用到的中断为外部中断1

外部中断电路:

 

图8外部中断电路

本系统的外部中断电路的作用是实现步进电机的暂停。

通过按按按键SW1步进电机暂停,数码显示管显示数字也暂停,再按按键SW1,步进电机继续运行。

外中断程序及说明如下:

外中断初始化:

org0036h

ajmpi1;暂停外中断

SETBea;允许中断请求

SETBex1;外部中断1请求

SETBPX1;令外中断1为高优先

CLRIT1;触发方式为电平触发

暂停外中断:

i1:

pusha;保护现场

pushdph;数据指针高8位

pushdpl;数据指针低8位

mova,r3;把R3内的数据存入A后压入栈

pusha

mova,r0;把R0内的数据存入A后压入栈

pusha

mova,30h;把所转圈数的个位存入A后压入栈

pusha

mova,31h;把所转圈数的十位存入A后压入栈

pusha

mova,32h;把最终显示转数数值存入A后压入栈

pusha

MOVP2,#0FFH;使电机停止

de02s:

MOV33H,#02H;延时

de1:

mov34H,#200

de2:

mov35H,#126

de3:

djnz35H,de3

djnz34H,de2

djnz33H,de1

popa;恢复现场

mov32h,a

popa

mov31h,a

popa

mov30h,a

popa

movr0,a

popa

movr3,a

popdpl

popdph

popa

reti;返回主程序

2-2-4复位电路:

MCS-51单片机的复位条件是在RST端出现正脉冲,并能保持10ms以上的高电平,其复位电路一般采用上电复位和开关复位两种形式,本系统复位如图9所示:

图9系统复位电路

在本系统中C选用22μF、R选用1KΩ、R1选用200Ω。

复位便有效。

系统复位后,各专用寄存器的初始状态如表2所示:

寄存器

内容

寄存器

内容

PC

0000H

TMOD

00H

A

00H

TCON

00H

B

00H

TH0

00H

PSW

00H

TL0

00H

SP

07H

TH1

00H

DPTR

0000H

TL1

00H

P0~P3

0FFH

SCON

00H

IP

(xxx00000B)

SBUF

不定

IE

(0xx00000B)

PCON

(0xxxxxxxB)

表2MCS-51单片机复位后各内部寄存器的状态

2-2-5键盘输入电路:

电路说明:

矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上,如图10所示,为一个4×4的行、列结构可以构成一个有16个按键的键盘。

很明显,在按键数量较多的场合,矩阵键盘与独立式按键键盘相比,要节少很多的I/O口。

图10键盘输入电路图

机械按键的抖动消除

按键按下过程,列线的状态如图11所示:

图11键盘抖动示意图

有关键盘的扫描与键值表将在后面软件部分介绍。

2-2-6数字显示与驱动电路:

数码管:

LED数码管的外观如图12(a)所示,引脚及笔段排列如图(b)所示,其中a~g段用于显示数字、字符的笔画,dp显示小数点,而3、8引脚连通,作为公共端。

每一笔段是1个LED发光二极管。

当二极管负极接地时,若在它的正极接上高电平,就可使它发光。

1英寸以下的LED数码管内,每个LED发光二极管导通压降为1.2V~2.5V;而1英寸及以上LED数码管的每一笔段由多个LED发光二极管以串、并联方式连接而成,笔段导通电压与笔段内包含的LED发光二极管的数目和连接方式有关。

在串联方式中,确定电源电压Vcc时,每个LED工作电压通常以2V计算。

图12数码管示意图

根据LED数码管内各笔段LED发光二极管的连接方式,可以将LED数码管分为共阴极和共阳极两大类。

我们使用的是共阳极LED数码管,所有笔段的LED发光二极管的正极连在一起,如图(c)所示。

7447:

在本系统中,我们使用了BCD七段字形译码器74LS47,现在介绍如下:

“二一十进制”的BCD码要在数码管上显示出十进制,就必须先把BCD码变换成七段字形数码所要求的笔划代码。

我们把能够将BCD码变换成七段字形代码;并使数码管显示出十进制的集成电路叫做七段字形译码器。

图13就是74LS47型BCD七段译码器的外引线排列。

表3是七段字形译码器功能的真值表。

DCBA为译码器的输入端,a~g为笔划代码输出端,接向共阴极七段数码管的对应阳极端。

图1374LS47型BCD七段译码器的外引线排列

数字

输入

输出

D

C

B

A

A

b

c

d

e

f

g

0

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

1

0

1

0

1

0

1

1

0

1

1

0

1

1

1

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1

0

1

1

0

1

1

0

1

1

1

0

1

0

0

0

1

0

1

0

1

0

0

0

1

1

1

0

1

0

0

0

1

1

1

1

1

0

1

1

表3七段字形译码器功能的真值表

转动圈数字显示电路如图14所示:

图14数码驱动与显示电路图

数字显示程序如下:

mova,20h;取码值暂存入20H

xcha,30h;现按键值存入30H

xcha,31h;旧30H地址的值存入31H

mova,31h;将30H,31H合并为两位数

swapa;31H为十位数

orla,30h;加30H个位数

mov32h,a;存入32H地址

swapa;把A里面的高四位和低四位交换

movp0,a;输出至P0显示

jmpl1;返回到键盘扫描

注:

转动圈数所显示的值为数字键所键入值。

2-2-7步进电机驱动电路

一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。

每输入一个冲信号,该电动机就转过一定的角度(有的步进电动机可以直接输出线位移,称为直线电动机)。

因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。

步进电机必须加上驱支电路才能转动,驱动电路的信号输入端必须输入脉冲信号,若无脉冲输入时,转子保持一定的位置,维持静止状态;反之,若加入适当的脉冲信号,转子则会以一定的角度(称为步角)转动。

所以如果加入边疆脉冲时,则转子旋转的角度与脉冲频率成正比。

本系统步进电机的步距角为15度,即一周为360度,需要24步进数才能完成1转。

改变线圈励磁的顺序,可以比较容易地改变电机的转动方向。

本电路是以AT98C51的P2低四位来推动7404,以控制励磁信号的ON/OFF。

若电动机所接负载较大,可改以达灵顿管对电流放大。

步进电动机驱动电路如图15所指示,说明如下:

(1)89C51输出端口每一位所能提供的电流太小,故需加驱动器才足以驱动步进电动机。

由于没有外加负载,所以仅 用一个7404来放大。

7404:

六反相器各门电路之间在逻辑上是完全独立的,仅电源供电线路公用。

=A如图15所示:

图15六反相器7404

(2)由于线圈的特性是反抗着电流的变化。

当Q1ON时,电感L产生一反电势阻止电流增加,步进电动机造成高速特性不良;当Q1OFF时,电流不会马上消失,此时反电势E=L

,将产生一极高的感应电压,若直接加于Q1的集电极将使Q1崩溃而烧毁。

(3)接上二极管D以消除反电势保护Q1。

当Q1ON时,D为逆向偏压,呈高阴抗,对线路无影响;当Q1OFF时,只要L的感应电压超过0.7V,D就ON,提供L一个放电回路。

图16为步进电机驱动电路图:

图16步进电动机驱动电路图

第三章数控步进电机软件设计

3-1步进电机软件设计概述

在系统软件设计时,应根据系统软件功能要求,将系统软件分成若干个相对独立的部分,并根据它们的联系和时间上的关系,设计出合理的软件总体结构。

通常在编制程序前先根据系统输入和输出变量建立起正确的数学模型,然后画出程序流程框图,要求流程框图结构清晰、简捷、合理,画流程框图时还要对系统资源作具体的分配和说明。

编制程序时一般采用自顶向下的程序设计技术,先设计监控程序再设计各应用程序模块。

各功能程序应模块化、子程序化,这样不仅便于调试、链接,还便于个性和移植。

在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相结合进行。

当系统的电路设计定型后,软件的任务也就明确了。

下图为步进电机软件系统设计流程图及系统框图:

 

图17步进电机软件系统设计流程图

图18数控步进电机软件系统框图

3-2延时程序设计

延时程序在单片机汇编语言程序中使用非常广泛。

设计程序的关键是计算延时时间。

延时程序一般采用循环程序段两个因素来确定延时时间。

对于循环程序段来讲必须知道每一条指令的执行时间,这里涉及到几个非常重要的概念——时钟周期、机器周期和指令周期。

时钟周期T时钟是计算机基本时间单位,同单片机使用的晶振频率有关。

我们在设计中所用的晶振频率为12MHz,则f=12MHz,那么T时钟=1/f=1/12M=83.33ns。

机器周期T机器是指CPU完成一个基本操作所需要的时间,机器周期的计算方法:

T机器=12T时钟=83.33ns×12=1μs。

以下是1s的延时设计:

Time:

MOVR0,#100H;延时1s

Time2:

MOVR1,#20H;延时10ms

Time1:

MOVR2,#7Dh;延时0.5ms

Time0:

NOP

NOP

DJNZR2,Time0

DJNZR1,Time1

DJNZR0,Time2

在这也可用DJNZRn,$代替NOP做空操作,在本系统的软件系统中,消除键盘抖动中,我们采用了延时程序。

3-3键盘消除抖动

如果按键较多,硬件消抖将无法胜任,因此常采用软件的方法进行消抖在第一次检测到有键按下时,等待一段延时20ms的子程序后再确认该键是否仍然保持闭合状态,如果保持闭合状态则确认为真正有键按下,从而消除了抖动的影响。

根据机械键盘的特性,抖动的时间在20—30毫秒之间。

所以,一般在判断到有可能是按键按下之后,再延时20—30毫秒,再判断,这时已经是键盘按下的稳定时期。

——没有抖动了!

keyin:

movr2,#4H;消除抖动(20ms的延时)

d3:

movr7,#100H;(5ms的延时)

d2:

movr6,#246H

djnzr6,$

djnzr7,d2

djnzr2,d3

d4:

mova,p1;读入键值

xrla,r4;比较刚才键盘值是否相同,相同表未放开

jzd4

 

3-4键盘动态扫描:

行扫描法的过程是:

先使输出口P1=0f7h,从行开始扫,此时P1.0、P1.1、P1.2、P1.3=1110,接着移一位P1.0、P1.1、P1.2、P1.3=1101,如此一位位的扫,扫完一行后转到下一列。

扫描完四列后则返回到第一列从新扫描,当有键按下时则P1.4、P1.5、P1.6、P1.7必有一位为0,如按下“0”键时,则读到的P1.4、P1.5、P1.6、P1.7=1110。

然后再通过键盘编码读入按键值。

动态扫描

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1