清华大学微机原理课程设计_第1页
清华大学微机原理课程设计_第2页
清华大学微机原理课程设计_第3页
清华大学微机原理课程设计_第4页
清华大学微机原理课程设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术课程设计 项目: 步进电机转动控制的设计 院系: 信息科学技术学院 专业班级: 姓名: 学号: 指导老师: 时间: 目录前言第一章 步进电机的工作原理 1.1 步进电机的工作原理 1.2 步进电机的驱动原理 第二章 步进电机转动控制的要求与设计方案2.1 步进电机的控制与要求2.2 设计方案的确定第三章 步进电机转动控制的的硬件电路 3.1 步进电机的硬件框图3.2 8255控制部分及开关控制3.3 ULN2803部分的设计 第四章 步进电机转动控制的软件设计4.1 主程序流程图4.2 主程序及其注释第五章 步进电机控制程序的调试5.1 硬件调试5.2 软件调试5.3 调试过程第六章 步进电机控制的拓展6.1 拓展功能一 6.2 拓展功能二第七章 设计体会与小结附录附录一 系统硬件原理图附录二 参考文献前言微机原理与接口课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。步进电机转动控制具有设计简单应用广泛的特点,非常适合作为课程设计课题。步进电机转动控制是通过操作实现电机的加速减速正转与反转,广泛用于现实社会生活生产中,如高楼中的电梯,工厂中的机床。因此,研究步进电机转动控制,有着非常现实的意义。通过本次课程设计,我提高如何综合运用所学知识解决时间问题的能力,以及获得有关项目管理和团队合作等等众多方面的具体经验,增强对相关课程内容的理解和掌握能力,培养对整体课程知识综合运用和融会贯通的能力。此次步进电机转动控制利用8255A芯片,以8088微处理器作为CPU,A口为输出,C口为输入来控制步进电机转动,拨动开关来调节速度。第一章 步进电机的工作原理1.1 步进电机的工作原理 该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图:图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相 绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a.单四拍 b.双四拍 c.八拍图2 步进电机工作时序波形图1.2 步进电机的驱动原理 步进电动机是一种数字元件,易于数字电路接口,但一般数字电路的信号的能量远远不足以驱动步进电动机。因此,必须有一个与之匹配的驱动电路来驱动步进电动机。对步进电动机驱动一般有如下要求:(1) 能够提供较快的电流上升和下降速度,使电流波形尽量接近矩形。(2) 具有供截止期间释放电流流通的回路,以降低绕组两端的反电动势,加快电流衰减。(3) 具有较高的功率及效率。步进电动机的驱动方式很多,如单极性驱动、双极性驱动、高低压驱动、斩波驱动、细分驱动、集成电路驱动等。第二章 步进电机转动控制的要求与设计方案2.1 步进电机的控制要求使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实现两个以上功能):1.启动与停止控制:用户拨动某一指定键后可以实现电机的启动与停止的控制;2.方向的控制:用户将某一指定键拨向上可以实现电机的正转,拨向下实现电机的反转;3.速度的控制:用户将另一指定键拨向上可以实现电机的加速转动,拨向下实现电机的减速转动;4.综合控制:用户一起拨动上述的按键后可以实现电机的加速正转,减速反转等操作; 5.扩展功能:自主创新,综合运用微机原理与接口技术的知识扩展2个功能。2.2 设计方案的确定 选用TN8886实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A芯片单元模块、步进电机单元模块。通过微机编程与下载到实验箱上。实现软硬结合控制步进电机的转动。第三章 步进电机转动控制的硬件电路3.1 步进电机的硬件框图1、 按图3 连接线路,用8255 输出脉冲序列,开关K0K6 控制步进电机转速,K7控制步进电机转向。2、 PA0PA3 接电机的驱动端;PC0PC7 接K0K7。3、 编写程序实现步进电机的顺时针旋转控制。当K0K6中任一开关为“1”(向上拨)时步进电机启动,全部为“0”时步进电机停止,其中K0为“1”时速度最慢,K6为“1”时速度最快。K7为“1”(向上拨)时步进电机顺时针转动,为“0”(向下拨)时逆时针转动。 图3 步进电机的接入线路图3.2 8255控制部分及开关控制8255的片选信号CS 接288H28FH。PA0PA3 接电机的驱动端;PC0PC7 接K0K7。 8255A芯片一般占用四个连续的口地址,按照从高到低分别为:控制口、C口、B口、A口。如图4所示: 8255共有三种工作方式: 方式0:基本输入输出; 方式1:中断工作方式; 方式2:双通输入输出,仅有A口。 D7D0: A口输出,C口输入。MOV DX, P55CTLMOV AL, 89H ;(89H=B,为控制字)OUT DX, AL图4 8255A管脚分配图3.3 ULN2803部分的设计由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片, ULN2803 是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成,如图5所示: 图5 ULN2803示意图该电路的特点如下: ULN2803 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL CMOS 电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 ULN2803 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还 可以在高负载电流并行运行。ULN2803A在各种控制电路中常用它作为驱动继电器的芯片,其芯片内部做了一个消线圈反电动势的二极管。ULN2803的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。输出电流大,故可以用来直接驱动步进电机,如图6所示:图6 Series uln2803a第四章 步进电机转动控制的软件设计4.1 主程序流程图开始8255初始化,A口输出,C口输入33H= BUFBUF内容从8255A口输出读开关状态K0=1?K1=1?K3=1?K2=1?K5=1?K4=1?K6=1?置停止信息控制循环信息右移一位控制循环信息左移一位延时延时K7=1?置延时时间YYYYYYYYNNNNNNN图7 主程序流程图选用8255的A口做输出,C口做输入。BUF输出给电机驱动端,通过检测开关,赋给不同的延时值和不同的移位命令,改变转速转向。不停的循环输出,使得电机转动。通过改变CX的赋值来控制电动机的转动速度。CX越小电动机的转动速度越大。也可以通过改变BL的值来改变单个开关的速度。我们把CX称为总开关,BL成为分开关。从而达到从K0到K6 速度逐渐变快,而K7控制电动机的反转。当K7闭合时 电动机反转4.2 主程序及其注释源程序如下:P55A EQU 60H ; 8255A口输出P55C EQU 62H ; 8255C口输入P55CTRL EQU 63H ; 8255控制口DATA SEGMENTBUF DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART : MOV DX,P55CTRLMOV AL,89H OUT DX,AL ;8255C输入,A输出 MOV BUF,33HOUT1: MOV AL,BUF MOV DX, P55A OUT DX,ALIN1: MOV DX,P55C IN AL,DX ;读开关状态 TEST AL,01H JNZ K0 TEST AL,02H JNZ K1 TEST AL,04H JNZ K2 TEST AL,08H JNZ K3 TEST AL,10H JNZ K4 TEST AL,20H JNZ K5TEST AL,40H JNZ K6STOP: JMP OUT1K0: MOV BL,10H; 0001 0000BSAM: TEST AL,80H ;K7是否为1 JZ ZX0 JMP NX0K1: MOV BL,18H; 0001 1000B JMP SAMK2: MOV BL,20H; 0010 0000B JMP SAMK3: MOV BL,40H; 0100 0000B JMP SAMK4: MOV BL,80H; 1000 0000B JMP SAMK5: MOV BL,0C0H; 1100 0000B JMP SAMK6: MOV BL,0FFH; 1111 1111B JMP SAMZX0 : CALL DELAY MOV AL,BUF ROR AL,01H ;循环右移 MOV BUF,AL JMP OUT1NX0 : CALL DELAY MOV AL,BUF ROL AL,01H ;循环左移 MOV BUF,AL JMP OUT1DELAY PROC NEARDELAY1: MOV CX,0100HDELAY2: LOOP DELAY2 DEC BL ; 减1指令 JNZ DELAY1 ; ZF位标志是否为1 RETDELAY ENDPCODE ENDSEND START 第五章 步进电机控制程序的调试5.1 硬件调试 5.1.1 断电调试为了安全,首先进行断电调试,用万用表检测系统是否有短路现象,再检查严原理是否正确。经检测,原理正确也没有短路现象。5.1.2通电调试打开电源,下载程序,看是否正常。5.2 软件调试将写好的源程序在软件上编译连接,直接下载到实验箱,观察现象。经过多次调试后达到了设计要求。5.3 调试过程 在第一次下载后运行时,电机不转动,查找原因,发现电源接口没有接对,经修改后运行正确。调整后接线如图8所示:图8 调整后接线第六章 步进电机控制的拓展6.1 拓展功能一实现步进电机的正反转与加速的时间控制,具体过程如下: 正转加速一段时间,然后停止5秒,然后反向加速一段时间,然后再正转,如此循环往复.源程序如下:MODE EQU 080H ;8255方式控制字CTL EQU 8000H ;8255端口A地址CONTRL EQU 8003H ;8255控制寄存器地址A EQU 01HB EQU 02HC EQU 04HD EQU 08HQS EQU 300 ;步进电机转过的圈数DATA SEGMENT DLY_C DW 0 ;DLY_C用以控制延时的长短以实现步进电机的加速 SOURCE DB A,A+B,B,B+C,C,C+D,D,D+A ;步序表,使电机的工作方式为单/双8拍DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;初始化数据段 MOV DS,AX * ;初始化8255,使8255的A口输出.* MOV DX,CONTRL ;8255的控制寄存器地址送DX MOV AL,MODE ;8255的A口输出,故初始化控制字为80H OUT DX,AL ;将控制字从8255输出以配置8255的工作方式 MOV DX,CTL ;将A口地址送DX MOV AL,0 ;将0送AL OUT DX,AL ;8255的端口写0以实现初始化 MOV DLY_C,300H ;延时初始值 MOV CX,QS ;将步进电机的圈数300送CX6.2 拓展功能二 实现的功能是让电机正向加速,速度达到最大值后匀速转动。源程序如下:ZZ:MOV BX,0 ;将0送BX,让电机的初始步为ANEXT1:MOV DX,CTL ;将8255的A口地址送DX MOV AL,SOURCEBX ;将电机的步序送AL OUT DX,AL ;将步序表中的第一个步序通过A口输出 CALL DELAY ;调用延时子程序,用来控制电机转速 INC BX ;BX加1,为取下一个步序做准备 CMP BX,7 JBE NEXT1 ;判断电机是否已经走完8拍 PUSH CX ;保存CX的值,因为下面还要用到CX MOV CX,DLY_C ;将DLY_C的值送CX DEC CX ;CX(即DLY_C)减1以实现加速 CMP CX,100H ;CX与100H比较,判断电机转速是否已经达到最大值 JNE NN1 ;若电机转速尚未达到最大值,则转向NN1 INC CX ;若电机转速已经达到最大值,则CX加1以实现电机匀速转动NN1:MOV DLY_C,CX ;将CX的值送DLY_C以实现在一个循环 POP CX ;恢复CX LOOP ZZ ;CX减1,让电机转下一圈 第七章 设计体会与小结通过本次课程设计,使自己的动手实践与所学知识结合应用的能力有了很大的提高,让我认识到实践的重要性,但同时要实际应用过和当中,也发现理论知识的重要性,没有理论知识的支撑,是不能很好的完成本次课程设计的。本次设计步进电机转动控制,通过我掌握了的微机原理与接口技术知识,查资料、百度、请教同学老师等等。虽然,知识固然重要,但废寝忘食般的研究态度和乐于助人的品格更需要提倡。通过利用8255A芯片来实现步进电机控制转动的设计应用,不仅为以后的学习实践打下了基础,并且很好的消

温馨提示

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

最新文档

评论

0/150

提交评论