微机步进电机课程设计标准版.doc_第1页
微机步进电机课程设计标准版.doc_第2页
微机步进电机课程设计标准版.doc_第3页
微机步进电机课程设计标准版.doc_第4页
微机步进电机课程设计标准版.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

2011级学生微机原理课程设计 微机原理课程设计报告书课题名称步进电机控制姓 名杨鹏学 号1112401-12学 院通信与电子工程学院专 业通信工程指导教师谭跃2013年 7 月5日 一、 设计任务及要求通过8086CPU、可编程并行I/O芯片8255A、步进电机驱动芯片ULN2003A以及相应的辅助芯片和开关,用汇编语言编写了电机的正转、反转、加速、减速、停止程序,实现了步进电机的控制功能。并最终在Proteus 7.8 SP2中进行了芯片的绘制连接和系统的仿真验证 指导教师签名: 2013年 6 月 24 日 二、指导教师评语指导教师签名: 2013年 7 月 5日 三、成绩验收盖章 年 月 日 一、 设计目的:1. 了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法。2. 进一步熟练掌握8255A并行I/O口的工作方式以及编程方法。3. 体会系统整体设计的流程与方法,为以后系统级设计积累经验。二、设计要求1. 通过开关K1实现步进电机的开始与停止;2. 通过开关K2来选择步进电机的正转与反转;3. 通过开关K3,K4组成(2-4译码)四档电机转速选择;4. 对每只开关的选择情况同时通过4位8段数码管来显示;5. 扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。三、设计思路1.步进电机概述:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。本次课程设计采用的是四相八拍步进电机。步进电机的基本参数: (一)步进电机的静态指标术语1、相数:产生不同对N、S磁场的激磁线圈对数。常用m表示。2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.3、步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。4、定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)5、静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。电机正反转控制:当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为正转,通电时序为DA-D-CD-C-BC-B-AB-A时为反转。2步进电机的工作原理:步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图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所示:图2 步进电机工作时序波形图如表1所示,首先使HA线圈和HB线圈有驱动电流,接着使HB和HC、HC和HD、HD和HA,又返回到HA和HB有驱动电流,按这种顺序切换,电机轴按顺时针方向旋转。表1 步进电机激磁方式 相顺序HAHBHCHD0+1+2+3+4、 电路及连线设计按图3连接线路,用8255 输出脉冲序列,开关K0K6 控制步进电机转速,K7控制步进电机转向。8255 的片选信号CS 接288H28FH。PA0PA3 接BABD;PC0PC7 接K0K7。编写程序实现步进电机的顺时针旋转控制。当K0K6中任一开关为“1”(向上拨)时步进电机启动,全部为“0”时步进电机停止,其中K0为“1”时速度最慢,K6为“1”时速度最快。K7为“1”(向上拨)时步进电机顺时针转动,为“0”(向下拨)时逆时针转动。图35、 实验执行流程图:6、 程序设计DATA SEGMENTioport EQU 0c800h-0280h ;0c800h是I/O端口的基本地址P55A EQU ioport+288H;定义P55A为8255 A端口的地址(A口做输出)P55C EQU ioport+28AH;定义P55C为8255 C端口的地址(C口做输入)P55CTL EQU ioport+28BH;定义P55CTL为8255 控制字端口的地址BUF DB 0 ;定义一个字节数据(用来存入开关的状态)MES DB K0-K6 ARE SPEED CONTYOL,0AH,0DH;写入一些文字用来描述DB K6 IS THE LOWEST SPEED ,0AH,0DH ;各个开关所代表的速度DB K0 IS THE HIGHEST SPEED,0AH,0DH ;K0为最低速,K6为最高速DB K7 IS THE DIRECTION CONTROL,0AH,0DH,$;K7为方向键DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,CODEMOV CS,AXMOV AX,DATAMOV DS,AX ;程序的初始化(给CS,DS 赋值)MOV DX,OFFSET MESMOV AH,09INT 21H ;显示各个开关的信息MOV DX,P55CTLMOV AL,8BH ;(8BH=10001011B,为控制字)OUT DX,AL ; A口做输出,C口做输入 送33H到A口输出 给后面电机的正反转提供初只 调用BIOS功能的INT16的1号功能,判断是否按下 如果有则返回DOS 如果没有判断开关的状态。 MOV BUF,33HOUT1: MOV AL,BUFMOV DX,P55AOUT DX,AL ;间接寻址获得AL的值push dxMOV AH,06hMOV dl,0ffhINT 21H ;检查是否有键按下 pop dxJE IN1 ;有键按下就停止,没有则转向IN1去执行MOV AH,4CHINT 21HIN1: MOV DX,P55CIN AL,DX ;获得各个开关的状态 TEST AL,01HJNZ K0TEST AL,02HJNZ K1TEST AL,04HJNZ K2TEST AL,08HJNZ K3TEST AL,10HJNZ K4TEST AL,20HJNZ K5TEST AL,40HJNZ K6 ;检查各个开关的状态,分别转向相应的程序 STOP: MOV DX,P55AMOV AL,0FFHJMP OUT1 ;置停止信息并转向OUT1判断完状态则跳转到执行的程序 献给BL复制 实现岩石时间 控制转速 然后判断K7 的状态是1 还是0 。K0: MOV BL,10HSAM: TEST AL,80H;继续判断K7是否为0JZ ZX0 ;为0就转向ZX0(循环右移程序)JMP NX0 ;为1就转向NX0(循环左移程序)K1: MOV BL,2FH ;BL为延时子程序的内层循环计数器JMP SAMK2: MOV BL,4FHJMP SAMK3: MOV BL,6FHJMP SAMK4: MOV BL,8FHJMP SAMK5: MOV BL,0AFHJMP SAMK6: MOV BL,0CFHJMP SAMZX0: CALL DELAY ;调用延时子程序MOV AL,BUFROR AL,1MOV BUF,ALJMP OUT1 ;循环右移NX0: CALL DELAY;调用延时子程序MOV AL,BUFROL AL,1MOV BUF,ALJMP OUT1 ;循环左移延时程序是由两曾循环程序构成的 BL 是外曾循环的次数 CX是内层循环的次数严实时间长则脉冲频率小 转速慢DELAY PROC NEAR ;定义延时子程序DELAY1: MOV CX,0FFFFHDELAY2: LOOP DELAY2DEC BLJNZ DELAY1RETDELAY ENDPCODE ENDSEND START7、 设计总结微机原理这门课程学完后我有很大的收获,对汇编语言有了初步的了解。并且通过本实验让我对汇编语言产生很大的兴趣,让我掌握了汇编编程的总体思路,本实验利用微机控制步进电机的调速,在实验过程中遇到的问题告诉我们理论的编程要结合实际的电动机技术指标调试延迟时间和实验箱的。可以通过改变CX的赋值来控制电动机的转动速度。CX越小电动机的转动速度越大。也可以通过改变BL的值来改变单个开关的速度。我们把CX称为总开关,BL成为分开关。从而达到从K0到K6 速度逐渐变快,而K7控制电动机的反转。当K7闭

温馨提示

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

评论

0/150

提交评论