MCS-51单片机与步进电机接口.ppt_第1页
MCS-51单片机与步进电机接口.ppt_第2页
MCS-51单片机与步进电机接口.ppt_第3页
MCS-51单片机与步进电机接口.ppt_第4页
MCS-51单片机与步进电机接口.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

9,1,MCS-51单片机与步进电机接口,特点:步进电机能接受步进脉冲的控 制一步一步地旋转。 用途:步进电机成了计算机应用项目中的主要执行元件之一,尤其在精确定位场合中得到了广泛的应用; 内容:简述步进电机的工作原理,讨论它与单片机接口的电路以及应用的方法。 。,9,2,91 步进电机简述 一、步进电机原理 步进电机的转子上均匀地分布着40个齿,齿间(齿距)夹角为9(360/40),定子上有6个大齿,相差180的两个大齿组成一相,共有A、三相。每个大齿上有若干个与转子上一样的小齿。定子的每一相都有励磁绕组。,9,3,二、步进电机的运行方式 1三相三拍运行方式 (1)当A相通电时,B相、相不通电: A相定子上的齿与转子上的齿对齐(通电后磁场力作用的结果),迫使电机旋转3 B相定子上的齿顺时针超前转子上相应的齿3 C相定子上的齿顺时针超前转子上相应的齿6,9,4,(2)当B相接通电时,A相、C相不通电: B相齿对齐,电机旋转3;C相超前3相超前 (3)当C相通电时,B相、A相不通电。 C相齿对齐,电机旋转3;A相超前3;相超前6,9,5,因此,如果定子A、B、C三相按 ABCA 的顺序依次通电,则步进电机将不断地按顺时针方向转动。每一次通电转,每三次通电才走完一个齿距,因此叫三相三拍。 每一次通电转动的固定角叫步距角。 显然,三相三拍运行时,步距角。,9,6,假如某次通电后,控制脉冲不再来,则电机转子齿和某相对齐后就停止转动,叫做位状态。 如果把顺时针叫正转,那么当通电顺序按 ACBA 进行时,则电机反时针旋转,叫反转。 可见控制步进电机正转反转只是三相绕组通电顺序不同而已。,9,7,2三相六拍运行方式 当A相通电时,A相定子齿与转子齿对齐,此后,如果让A、B两相同时通电,可以发现转子转动15。再让A相断电、B相通电,又可发现转子再转1.5。 所以按照 AABBBCCCAA 的顺序控制,电机将按顺时针方向旋转,每步转动15,即步距角=15, 由于要经过6步才走完一个齿距(615=9),所以叫三相六拍。,9,8,如果要使步进电机反转,只要按 AACCCBBBA 顺序通电就行了。 结论:从上面两种运行方式可看出,错齿是促使步进电机旋转的根本原因,当某相通电,相应的齿对齐,迫使电机旋转一个步距角,未通电的各相的齿出现了新的错位。改变通电的顺序和通电的相数,可组合出其它的运行方式。 讨论:三项三拍和三项六拍运行方式,哪种定位更精确?,9,9,三、步进电机有如下特点: 给步进脉冲电机就转,不给步进脉冲电机就不转; 步进脉冲频率高,步进电机转得快;步进脉冲频率低,步进电机转得就慢; 改变各相的通电方式(叫脉冲分配)可以改变步进电机的运行方式; 改变通电顺序,可以控制步进电机的正、反转。,9,10,92 步进电机与MCS-51单片机的接口 步进电机与单片机的连接一般有两种形式 一、由硬件完成脉冲分配的功能 在这种形式里,脉冲分配器(CH250)、驱动电路由硬件完成。单片机只提供步进脉冲和正、反转控制信号,步进脉冲的产生与停止、步进脉冲的频率和个数都可用软件控制。,9,11,讨论: 单片机输出步进脉冲后,再由脉冲分配电路按事先确定的顺序控制各相的通断。 一般来说,硬件一旦确定下来,不易更改,这种方案,硬设备成本高,它的应用受到了限制。 怎样用软件产生步进脉冲呢?所谓软件产生就是用软件控制P30为1 或为0的次序和长短。如果先令P30=1,延时一段时间,再令P3.00,再延时一段时间后,又令P30=1,如此循环,就可构成脉冲序列。延时时间的长短决定了脉冲序列的周期,而脉冲序列的周期又与步进电机的步矩有关。下面提供了一个产生步进脉冲的子程序。,9,12,SUB: SETB P30 SETB P30 ;保证输出高电平的时间5s SETB P30 CLR P30 ;变为低电平 MOV R7,30H LOOP: NOP ;软件延时程序: NOP ;基本延时(10s时间常数) NOP DJNZ R7,LOOP RET 时间常数事先可装入30H单元,改变30H单元的内容就可改变延时长短 P3.0输出脉冲波形,9,13,2由软件完成脉冲分配工作 特点:由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。 硬件的主要任务是完成驱动功能。如图单片机直接带动步进电机的一种接口方案,接口并不复杂,单片机P1的低三位被设成输出位,P10控制A相绕组通断,P11控制B相,P12控制C相。,9,14,以A相控制为例: 当P10输出为1,发光管不发光,因此光敏二极管截止,使担负驱动任务的达林顿管导通。A相绕组通电。 相反,当P100发光管发光光敏管导通达林顿管截止A相绕组不通电。,9,15,为什么步进电机功率驱动电路采用光电隔离? 步进电机功率驱动电路工作在较大脉冲电流状态,采用光电耦合器将单片机与步机电机隔离可以避免单片机与步进电机功率回路的共地干扰,此外,万一驱动电路发生故障。也不致让功放中较高的电压串入单片机而使其损坏。 怎样用软件完成脉冲分配呢? 所谓脉冲分配就是用软件改变P1口低三位的输出值,进而达到控制三相绕组的通电顺序和通电方式之目的。,9,16,1、软件选择单三拍的工作方式 单三拍的通电方式为ABCA,要想达到这个目的,只需依次向P1口输出如下控制字: P1.2 P11 P10 编码 (C相)(B相) (A相) 0 0 1 (01H)A相通,B、C相断 0 1 0 (02H) B相通,A、C相断 1 0 0 (04H) C相通,A、B相断,9,17,在控制字间也应加入软件延时来保证一定的时间间隔。 假定要求时间间隔为1ms,控制电机按三相三拍正转的程序是: ZHEN:MOV P1, 01H ;A相通电 ACALL D1MS MOV P1, 02H ;B相通电 ACALL D1MS MOV P1, 40H ;C相通电 ACALL D1MS RET D1MS: MOV R7, 64H ;延时1ms子程序 D1MS1: NOP ;2s NOP ;2s NOP ;2s DJNZ R7,D1MSl ;4s RET,9,18,要想控制步进电机反转,只需把输出的控制字的次序按: 01H(A)04H(C)02H(B)01H(A) 组合即可。 反转程序如下: FAN:MOV P1, 01H ;A相通电 ACALL D1MS MOV P1, 04H ;C相通电 ACALL D1MS MOV P1, 02H ;B相通电 ACALL D1MS ,9,19,2、软件选择三相六拍的工作方式 不难推出与三相六拍相对应的控制字为 P12 P11 P10 (C相) (B相) (A相)控制编码 导通情况 0 0 1 (01H) A相通电 0 1 1 (03H) AB相通电 0 1 0 (02H) B相通电 1 1 0 (06H) BC相通电 1 0 0 (04H) C相通电 1 0 1 (05H) CA相通电,9,20,如果按: 001101100110010011001 A CA C CB B BA A 的次序输出,就可达到反转的目的。 练习1仿照三相三拍的办法编出反转控制子程序。,9,21,FAN: MOV P1, 01H ;A相通电 ACALL D1MS MOV P1,05H ;CA相通电 ACALL D1MS MOV P1,04H ;C相通电 ACALL D1MS MOV P1,06H ;CB相通电 ACALL D1MS MOV P1,02H ;B相通电 ACALL D1MS MOV P1,03H ;BA相通电 ACALL D1MS RET,9,22,9.3 应用举例机械手的微机控制 随着科学技术的进步、工业自动化的进程,机械手将进一步取代简单而笨重的人工操作,逐步把在恶劣环境下工作的人们解放出来,这对于改善人们的工作条件、提高工作效率,具有一定的现实意义。 本例系存取邮件机械手的控制,在邮政部门和立体仓库中作自动存职包裹和货物之用。,9,23,一、工作原理 通过键盘,将货位(或包位)代码输入微机,启动存(或取)命令键,机械手即可在微机的控制下,作X、Y、Z三个方向的运动,完成存(或取)包操作。控制原理如图所示。 系统主要包括微机控制、步进电机控制、机械传动系统、光控音乐电路、工作电源、货架和柜台等七部分组成。微机根据键入的货物代码,产生相应的脉冲信号,经CH250脉冲分配器和驱动电路,输出具有一定功率的脉冲,驱动有关电机正转或反转及其步数,从而实现货物的存取。机械手行进中,光控音乐电路驱动蜂呜器发出乐曲,从而增强了工作的节奏、控制的旋律。,9,24,二、系统组成 1、硬件设计 如图是机械手微机控制系统硬件电路。本系统选用MCS-51系列中的8031芯片,扩展了一片2732,以存放用户程序。由于随机存储的数据不多,只利用片内RAM。采用两位LED显示器和28键盘,P35、P36和P37分别输出X、Y、和Z方向的控制脉冲,P16和P1.7分别用来控制步进电机的正/反转和产生复位信号。,9,25,2、机械传动部分 机械传动部分包括导轨、小车、升降盘和机械手等部分。 水平方向位移 步进电机MX调通过滑轮和传送带,使小车在导轨上运动,实现X方向上的位移。 垂直方向升降 作调方向运动的小车上装有一竖直的六棱金属杆,升降盘套于杆上,杆的顶部装有一定滑轮并配有平衡锤。固定于小车上的步进电机MY带动升降盘,实现Y方向上的位移。,9,26,机械手动作 机械手装升降盘上,如图所示。图中A点固定,步进电机MZ带动B点,改变A、B间的较小距离,使得机械手移动较大距离。 货架 货架分三层,每层有4个包位,共计12个包位。 图中数字为包位编码,编码的个位数表示X位置,十位数表示Y位置(层数),以供计算机查讯、判断之用。,9,27,本例采用SB-2A型步进电机,它工作于三相六拍的工作方式。 电机按顺时针方向旋转(即正转)时,各相脉冲顺序为: A=1A=1,B=1B=1B,C=1C=1C=1,A=1 电机按逆时针方向旋转(即反转)时,各相脉冲顺序为: A=1A=1,C=1C=1C=1,B=1B=1B=1,A=1,9,28,三、程序设计 系统软件包括:主程序、取包程序、存包程序、货位判断程序、X、Y方向运动和机械手动作子程序等。 (1)程序流程图 限于篇幅,只给出主要流程图。,9,29,2、脉冲序列的生成程序 对于步进电机的控制,实际上是控制步进脉冲的个数和步进脉冲的间隔,而步进电机的间隔又可转化为某基准延时子程序的循环次数。因此,可以很方便地用软件来控制步进电机的运行,达到各种控制目的。,9,30,2、货位判断程序 如图是货位判断程序流程图。 功能:根据键入的货位编码判断货位,以确定X、Y方向所需要的脉冲数。,9,31,主程序功能:管理键盘和显示以及有关控制。 无键按下或执行有关命令后,显示提示符“-” (2)程序清单 ORG 0000H AJMP MAIN MAIN: MOV SP, #60H SUN: SETB P3.5 SETB P3.6 SETB P3.7 CLR P1.6 CLR P1.7 MOV R0, #40H MOV A, #12H;字符“-” ML0: MOV R0, A ;的编码 INC R0 CJNE R0, #42H, ML0,9,32,SETB P1.7 ;复位信号 ;键输入/显示/键判断 F6H-特殊数据 R3-键号暂存器 ML1:ACALL DIR ACALL KEY ADD A, 0F6H ;键号+F6 用于数字/功能键的判断 JC SUN1 ;功能键转移至SUN1 MOV 41H,40H ;数字键号送显示缓冲区 MOV R0, 40H MOV R3 , A ANL A, 0FH ;保留低四位 MOV R0,A AJMP ML1,9,33,功能键处理程序(A、B、C键) SUN1: MOV A, R3 ; CJNE A, 0AH,SUN2 AJMP QBCX SUN2: CJNE A, 0BH,SUN3 AJMP CBCX SUN3: CJNE A, 0CH,ML1 AJMP SUN,9,34,键盘子程序 P1口-P1.6正/反转 P1.7复位 P3口- P3.3 P3.4 键盘行输入口R3-列扫描寄存器 初值FEH R4-列号计数器 SBUF-发送缓冲器 发送列扫描信号 KEY:ACALL KS1 JNZ LK1 NI:ACALL DIR AJMP KEY LK1:ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 AJMP NI LK2: MOV P1, 00H MOV R3, 0FEH MOV R4, 00H LK4:MOV SBUF,R3,9,35,MOV R6, 05H ;延时等待发送 DK6: DJNZ R6, DK6 JB P33 LONE MOV A, 00H AJMP LKP LONE:JB P34, NEXT MOV A, 08H LKP: ADD A, R4 PUSH ACC LK3: ACALL DIR ;仅做一次处理 ACALL KS1 JNZ LK3 POP ACC ;取键值于ACC RET,9,36,NEXT: INC R4 MOV A, R3 JNB ACC.7,KED RL A MOV R3, A AJMP LK4 KED:AJMP KEY 判断键盘有无键按下子程序无键按下A=00H KS1: MOV SBUF,00H MOV R6, 05H DS6: DJNZ R6, DS6 MOV A, P3 CPL A ANL A, 18H RET,9,37,显示子程序P1口-LED位扫描输出口 R2-位扫描寄存器 初值为01H SBUF-LED段码发送缓冲器 DIR: PUSH PSW SETB PSW,4 MOV R0,40H MOV R2,01H D1: MOV P1,R2 MOV A,R0 ADD A,14H MOVC A,A+PC MOV SBUF,A MOV R7,02H D2: MOV R6,0FFH D3: DJNZ R6,D3 DJNZ R7,D2,9,38,INC R0 MOV A,R2 RL A MOV R2,A JNB ACC.2,D1 POP PSW RET DB 3FH,06H,5BH,4FH DB 66H,60H,70H,07H DB 7FH,6rH,77H,7CH DB 39H,5EH,79H,71H DB 31H,6EH,40H,23H DB 00H,9,39,延时子程序 YSH: PUSH PSW SETB PSW.3 MOV R0,0FFH SH: MOV R1,0FFH SH0: DJNZ R1,#H0 DJNZ R0, SH POP PSW RET,9,40,机械手控制示意图,9,41,取包子程序 P1.6-正/反转控制 30H、31H步进脉冲暂存器(X方向) QBCX: SETB P1.6 ;正转 MOV 30H,04H ; X0固定脉冲数 MOV 31H,0D8H ACALL XYXC ;调用X方向运行子程序 ACALL CSHC ;调用测试子程序 MOV 30H,33H ;X方向列脉冲数 MOV 31H, 34H ;送30H、31H单元 ACALL XYXC ;调用X方向运行子程序 MOV 30H,35H ;Y方向行脉冲数 MOV 31H,36H ;送30H、31H单元 ACALL YYXC ;调用Y方向运行子程序 ACALL QWZC ;调用取物子程序 CLR P1.6 ;反转,9,42,MOV 30H, 35H MOV 31H, 36H ACALL YYXC ;调用Y方向运行子程序 MOV 30H, 33H MOV 31H, 34H ACALL XYXC ;调用X方向运行子程序 MOV 30H,04H; X0固定脉冲数 MOV 31H, #0D8H ACALL XYXC ;调用X方向运行子程序 ACALL FWZC ;调用放物子程序 AJMP SUN,9,43,存包子程序 P.6-正/反转控制 30H、31H步进脉冲暂存器(X方向) 33H、34H -35H、36H CBCX: ACALL QWZC SETB P16 MOV 30H,04H ;X0固定脉冲数 MOV 31H,0D8H ; ACALL XYXC ACALL CSHC MOV 30H,33H MOV 31H,34H ACALL XYXC MOV 30H,35H MOV 31H,36H ACALL YYXC ACALL FWZC CLR P16,9,44,MOV 30H, 35H MOV 31H, 36H ACALL YYXC MOV 30H, 33H MOV 31H, 34H ACALL XYXC MOV 31H,04H MOV 31H,0D8H ACALL XYXC AJMP SUN,9,45,X方向运行程序 P35脉冲信号输出线-控制MX电机 XYXC: PU3H PSW SETB PSW.4 MOV R0,30H ABC0: MOV R1,31H ABC1: CLR P35 ACALL YSH SETB P35 ACALL YSH DJNZ R1,ABC1 DJNZ R1,ABC0 POP PSW RET,9,46,Y方向运行程序 P36脉冲信号输出线-控制MY电机 YYXC: PUSH PSW SETB PSW.4 MOV R0, 30H ADC2: MOV R1,31H ADC3: CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R1, ADC3 DJNZ R0, ADC2 POP PSW RET,9,47,取物子程序 P1.6正/反转 P36Y方向脉冲输出(40H) P3.7Z方向脉冲输出 (66H) QWZC: PUSH PSW SETB PSW.4 SETB P1.6 MOV R0, 66H ABC4: CLR P3.7 ACALL YSH SETB P37 ACALL YSH DJNZ R0,ADC4 MOV R0,40H ABC5: CLR P36 ACALL YSH SETB P3.6 ACALL YSH DJNZ R0, ABC5,9,48,CLR P16 MOV R0, 66H ABC6: CLR P37 ACALL YSH SETB P37 ACALL YSH DJNZ R0, ABC6 MOV R0, 40H ABC7: CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R0,ABC7 POP PSW RET,9,49,放物子程序 P1.6正/反转 P36Y方向脉冲输出(40H) P3.7Z方向脉冲输出 (66H) FWZC: PUSH PSW SETB PSW.4 SETB P16 MOV R0, 40H ABC8:CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R0, ADC8,9,50,MOV R0,66H ABC9: CLR P37 ACALL YSH DJNZ R0,ABC9 CLR P16 MOV R0,40H ABC10: CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R0,ADC10,9,51,MOV R0, 66H ABC11:CLR P37 ACALL YSH SETB P37 ACALL YSH DJNZ R0, ADC11 POP PSW RET,9,52,测试子程序 41H货位列号暂存单元 40H货位层号暂存单元 41H 40H 33H 04H 03H 02H 01H 35H 05H 03H 01H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论