版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机技术
综合实检
张德煌编
微型计算机技术综合实验
——步进电机综合控制实验
【实验目的】
1.学习通过并行接口对步进电机进行结合控制的设计原理和方法
2.了解步进电机控制的基本原理
3.掌握8255、8253、ULN2003、74LS373等芯片的使用。
【实验器材】
硬件:PC机一台、SXL__100型实验箱、步进电机实验箱及连接线若
干。
软件:MASM5、DEBUG>LINK、EDIT或者MASM6.11。
【实验原理】
一、步进电机工作原理
步进电机是过程控制及仪表中常用的控制元件。可实现直线位移、旋
转,对执行机构进行控制。步进电机有快速启停、精确步进定位的特点,
因而在数控机床、打印机、光学仪器、绘图仪得到广泛应用。
步进电机实际上是数字角度转换器,如三相步进电机的结构如下图所
示:
三相步进电机的结构图
从图中可看出,电机定子上有六等分的磁极,AA'BB'、CC'三相,
每相通电时,相应相的两个磁极形成N极和S极,每磁极均匀分步矩形小
齿,当某相通电时对应磁极就产生磁场,并与转子形成磁路,如果定子、
转子的齿没对齐,转子将转动一角度,使之对齐。由此可见,错齿是步进
电机转动的原因。
步进电机的转动是由脉冲控制的,用硬件产生电机转动的脉冲时序,
也可由软件产生。其时序可分为单三拍、双三拍、三相六拍。即A-BTC;
AB—BC-CA;ATAB—B—BC—C—CA。按以上次序控制电机为正转,
若颠倒次序,将使电机反转,转速控制可改变相应拍之间的时间。
电机转动速度公式如下:
n=60/(T-N)
式中:n——步进电机的转速(转/分)
N——步进电机旋转一周所需步数
T——每转动一步所需的时间(秒)
若N=36(y73o=120,T=2.083ms,则步进电机的转速为240转/分。
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
二、四相步进电机及技术指标
用4个开关控制四相步进电机的示意图如图(一)所示。当开关SW1〜
SW4按图(b)的时序接通和断开就可使步进电机正转和反转。
步进开关供电电源
(a)S)
图(一)四相步进电机驱动示意图
(a)四相步进电机连接示意图(b)开关接通定时关系
步进电机的主要技术指标:
①工作电压。工作电压即步进电机工作时所要求的工作电压。
②绕组电流。如图所示的步进电机有4相绕组,只有绕组有电流时,
才能建立磁场,且不同相上电流的有无即决定步进电机的步进。不同的步
进电机,其额定绕组电流不一样。步进电机工作时应使其工作在此电流之
下。
③转动力矩。转动力矩是指在额定条件下(电流,电压),步进电机的
轴上所能产生的转矩,单位通常为牛顿每厘米(N/cm)或克每厘米(g/cm)或
千克每厘米(kg/cm)。
④每步转角。步进电机每走一步实际上就是其转子(轴)转一个角度。
不同的电机,每步转的角度不一样。小的有0.5°/步、1.5°/步,大的到
15°/步。在应用中可根据用户的需求选用。
⑤工作频率。所谓工作频率,就是步进电机每秒钟能走的额定步数。
例如,有的工作频率500Hz,就意味着每一步需要2ms。目前频率高的可
达lOkHzo
⑥激励方式。目前四相步进电机驱动的激励方式有如下3种:
a.一相激励方式,其激励波形如图二(a)所示。在这种方式中,步进
电机工作时温升较高,电源功耗小。当速度较高时容易产生失步。
b.二相激励方式,其激励波形如图二⑹所示。在这种方式中,当步
进电机工作时温升较高,电源功率较大,不容易失步。
c.一一二相激励方式,其激励波形如图二⑹所示。在这种方式中,步
进电机的工作状态介于a和b两者之间,每转动一次只走半步。
A相"T-l^I]耳T1R],A相
B相川田抽留开色相
A]!A!iM!!Fl!
O■»iiIIT1r1T~
U4•।J11LJ11LJ
B相-TLiivAWvAwTA
B相
⑷(c)
图二四相步进电机的各种激励波形
(a)一相激励波形(b)二相激励波形(c)一一二相激励波形
一般步进电机控制电路框图如图三所示。它由脉冲分配电路和驱
脉
冲
驱
系
输
动
分
出
统脉步冲进」nUnJ
电
配
接
总
路
口
电
线
路
方向控制
图三步进电机控制电路框图
动电路构成。脉冲分配器有2个输入信号:一个是步进脉冲,每输入
一个步进脉冲,脉冲分配器的4相输出时序将发生一次变化,从而
使步进电机转动一步;另一个是方向控制信号,它的2个不同状态将
使脉冲分配器产生不同方向的步进时序脉冲,从而控制步进电机是
顺时针转动还是逆时针转动。脉冲分配器的4相激励信号经驱动电路
后,再接到步进电机的激励绕组上,对步进电机进行功率驱动。
三、步进电机的速度控制
由丁步进电机步进时是机械转动,因而有惯性存在。当从静止状态使
步进电机连续步进时,相当于开始转动的速度为0。它不可能立即就达到
它的最大频率(转速),这需要一个由慢到快的逐渐加速的过程。如果不这
样做,就可能由于惯性而失步——比如,开始该走30步,实际上只走了28
步而丢失了2步。
同样,当步进电机正以最高的频率步进时,让它立即停下来,它很可
能停不下来而多走了几步,这当然也会造成错误。因此,在停下来之前应
当有一个逐渐减速的过程,到该停止的位置时,速度已经很慢。
如何进行速度控制,保证步进电机正常工作呢?止如前面步进电机的
技术指标中所述,步进电机的速度与每步所用的时间有关。每步时间越长,
则速度就越慢。因此,只要控制每步的延时时间,便可以控制步进的速度。
为此,我们可以按照上面的思路对每一步延时时间进行控制,使速度如图
四所示意的那样。
图四的示意图就表明开始逐步加速,结束前逐步减速。例如,开始时
第一步延时20ms,第二步延时19ms,以每步减少1ms的速率延时至”mso
此时达到最高速。也就是从起始
50Hz逐步增力口至IJ1000Hz。然后,
以最高速1000Hz运行。当运行到
停止步数前20步时'再每步加1ms
减速;当停止步进时,其速度也
是慢速的50Hzo
若步进电机一次走的步数比
较少,则可一半步进数加速,另
一半步进数减速,如图四的虚线所示。显然,加速与减速的过程不一定要
选20步,可以少些或更多一些。
四、软件步进电机控制例
控制四相步进电机以双八拍运行方式,先向前快走100步,然后,反向
慢走50步,并停止。
步进电机的运行方式是指各相绕组循环轮流通电的方式。为了实现对
各绕组按一定方式轮流加电,可用软件来实现。用软件构成循环脉冲分配
器有两种方法:控制字和循环查表法。下面仅对普遍使用的循环查表法作
一介绍。
循环查表法——
将各相绕组加电顺序的控制代码列成一张表——步进电机相序表,存
放在内存区,再设置一个地址指针。当地址指针依次+1(或一1)时,可从表
中取出通电的代码输出到步进电机,产生按一定运行方式的运行操作。若
改变相序表内的加电代码和地址指针的指向,则可改变步进电机的运行方
式与方向。表一列出了四相双八拍的相序表。
表•是四相双八拍相序表,(A)、(B)两表的运行方式完全相同,而加电代
码完全不同,这是因为4个绕组所分配的数据线不同。表一(A)中每个绕组
只分配了1根数据线,而表(B)中,每个绕组分配了2根数据线。由此可见,
相序表中的加电代码要根据绕组的连接情况来确定,另外相序表的地址单
元由用户指定表一中的地址单元是可以改变的。
表一(A)
绕组分配运行方式相序表
★★★★DCBA加电地址
双八拍代码单元
D7D6D5D4D3D2D1DO
O0OOO011AB03H400H
()0000111ABC07H401H
()000011OBC06H402H
OOOO1110BCDOEH403H
OOOO11O0CDOCH404H
00001101CDAODH405H
00QO10O1DA09H406H
00001011DABOBH407H
表一(B)
绕组分配运行方式相序表
DCBA加电地址
双八拍
D7D6D5D4D3D2DIDO代码单元
OOOO1111ABOFH400H
OO111111ABC3FH401H
OO1111OOBC3CH402H
11111100BCDOFCH403H
11110000CDOFOH404H
11110011CDA0F3H405H
11000011DA0C3H406H
11001111DABOCFH407H
步进电机运行速度的控制——软件延时法
控制步进电机速度有两个途径:一是硬件改变输入脉冲的频率,通过
对定时器(如:8253)定时常数的设定,使其升频、降频或恒频;
二是软件延时,调用延时子程序。应该指出的是,步进电机的速度还受到
本身矩频特性的限制,设计时应满足运行频率与负载力矩之间
的固定关系,否则,就会产生失步或无法工作的现象。
步进电机的驱动:步进电机在系统中是一种执行元件,都要带负载,
因此,需要功率驱动。在电子仪器和设备中,•般所需功率较小,常采用
达林顿复合管作功率驱动(如ULN2003)o
1.硬件设计
接口电路以8255A为主控芯片,包括锁存器74LS373,功率驱动管
TIP122,以及二极管指示灯、电阻等,如图五所示.
ID1Q
U
L
N
3D3Q2
0
0
3
5D5Q
7D7Q
4-12V
图五步进电机控制接口原理图
2.软件设计
在编写程序之前,要建立一个相序表。相序表的建立应根据步进
电机运行方式的要求及各绕组与8255A端口连接情况来确定加电代
码。根据图五接口电路的连接情况,可以写出相序表中双八拍运行
方式的加电代码为OFH,3FH,3CH,OFCH,?FOH,0F3H,0C3H,
OCFH,其程序流程图,程序清单如下:
CODESEGMENT
ASSUMECS:CODE,DS:CODE
ORG100H
START:JMPBEGIN
PSTBDBOFH,3FH,3CH,OFCH,OFOH,0F3H,0C3H,OCFH
BEGIN;:MOVAX,CS
MOVDS,AX
MOVDX,3O3H;8255A初始化
MOVAL,81H
OUTDX,AL
MOVAL,OFH;关闭373
OUTDX,AL
MOVCH,100;正走步数CH
LI:MOVCL,08;循环次数一CL
MOVSI,OFFSETPSTB;正走相序表指针
L2;MOVDX,301H;相序表内容一PB口
MOVAL,[SI]
OUTDX,AL
MOVDX,3O3H;打开373
MOVAL,OEH
OUTDX,AL
MOVBX,OFFFH;延时1
DLI:DECBX
JNZDLI
MOVAL,OFH;关闭373、
OUTDX,AL
MOVBX,OFFH;延时2
DL2:DECBX
JNZDL2
INCSI;指针加1
DECCH;正走步数减1
JZREW;100步己到,则转反走。
DECCL;100步未到,则检测循环次数
JNZL2;循环次数不到8次,则继续送数
JMPL1;已到8次,则重新赋值
REW:MOVCH,50;反走步数一CH
L3:MOVCL,08;循环次数一CL
MOVSI,OFFSETPSTB+7;反走相序表指针
L4:MOVDX,301H;相序表内容一PB口
MOVAL,[SI]
OUTDX,AL
MOVDX,3O3H;打开373
MOVAL,OEH
OUTDX,AL
MOVBX,OFFFOH;延时3
DL3:DECBX
JNZDL3
MOVAL,OFH;关闭373
OUTDX,AL
MOVBX,OFFOH;延时4
DL4:DECBX
JNZDL4
DECSI;指针减1
DECCH;反走步数减1
JZDONE;50步已到,则返回监控
DECCL;50步未到,则检测循环次数
JNZL4;循环次数未到,则继续送数
JMPL3;循环次数已到8次,则重新赋值
DONE:MOVAX,4C00H;主程序终止,退出
INT21H;返回DOS
CODEENDS
ENDSTART
步进电机控制程序流程图
【实验内容】
在实验箱上用开关控制步进电机增速、减速、停止、正转、反转。并
数码显示步进电机的运行状态。用汇编语言按上述要求编写相应驱动程
序。
【实验步骤】
1.步进电机实验箱上五个插坐孔与8255的A口PA0-PA3(B口
PB0-PB3、C口PC0-PC3)连接。
2.调试步进电机
进入DEBUG状态执行以下步骤
(1)-08255控制字地址80/
(2)-08255C口地址FEZ
(3)-O8255C口地址FDZ
(4)-08255C口地址FBZ
(5)-08255C口地址F7Z
8255口地址的真实地址为PCI接口板的I/0地址加上0H为真实地
址。如PCI的I/0起始地址为DC00H则8255的地址为DCOOHo同理
74LS244真实口地址为PC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论