收藏 分销(赏)

微机原理步进电机控制课程设计报告.doc

上传人:快乐****生活 文档编号:4492953 上传时间:2024-09-25 格式:DOC 页数:14 大小:69KB 下载积分:8 金币
下载 相关 举报
微机原理步进电机控制课程设计报告.doc_第1页
第1页 / 共14页
微机原理步进电机控制课程设计报告.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
微机原理步进电机控制课程设计报告 14 2020年4月19日 文档仅供参考,不当之处,请联系改正。 河北科技大学 课程设计报告 学生姓名: 学 号: 专业班级: 课程名称: 年学期: 2 0 —2 0 年第 学期 指导教师: 2 0 年 月 课程设计成绩评定表 学生姓名 学 号 成绩 专业班级 起止时间 设计题目 指 导 教 师 评 语 学习态度:端正 □ 较端正 □ 一般 □ 较差 □ 学习纪律:好 □ 较好 □ 一般 □ 较差 □ 电路设计与连线:好 □ 较好 □ 一般 □ 较差 □ 程序设计:好 □ 较好 □ 一般 □ 较差 □ 动手能力:强 □ 较强 □ 一般 □ 较差 □ 课程设计完成情况:优秀 □ 好 □ 一般 □ 较差 □ 课程设计报告完成情况:优秀 □ 好 □ 一般 □ 较差 □ 指导教师: 年 月 日 目 录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案………………………………………………………. 四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议………………………………………………………. 七、设计体会………………………………………………………………. 、 一、 设计题目 编程实现步进电机的控制 二、 设计目的 1. 了解步进电机控制的基本原理 2. 掌握控制步进电机转动的编程方法 3. 了解8086控制外部设备的常见电路 4. 掌握8255的使用方法 三、设计原理及方案 3.1设计原理 步进电机驱动原理是经过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。驱动电路由脉冲信号来控制,因此调节脉冲信号的频率便可改变步进电机的转速。 利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它能够连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机能够在不同的通电方式下运行,常见的通电方式有单(单相绕组通电) 四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 经过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就能够正向转动或反向转动。 3.2硬件连接图 四.实现方法 4.1.步进电机控制程序流图 开始 初始化8255 入口判断 相序置入 Y N 出口判断 退出 转向或调速 延迟控制 4.2.程序代码 ASTEP  EQU 01H  BSTEP  EQU 02H  CSTEP  EQU 04H  DSTEP  EQU 08H  CODE   SEGMENT        ASSUME CS:CODE  START :    MOV  DX, 8003H; 8255控制口地址        MOV  AL, 82H  ;PA口输出,B口输入         OUT  DX, AL   ;写控制字  K0: MOV  DX, 8000H ;PA口地址        MOV  AL,0    ; 输出低电平        OUT  DX,AL   ; 电机停止转动         MOV DX,8001H  ;PB口地址         IN AL,DX     ;读开关状态        TEST AL,01H  ; PB0位(K0=0吗?)         JNZ K1       ;不是零转K1        JMP  STEP8   ; 是零转单/双八拍工作方式      K1:  IN AL,DX    ;读开关状态        TEST AL,02H   ;PB1位(K1=0吗?)        JNZ K2       ; 不是零转K2        JMP  STEP4    ;是零转双四拍工作方式      K2: IN AL,DX     ;读开关状态        TEST AL,04H   ;PB2位(K2=0吗?)        JZ STEP41     ;是零转单四拍反转工作方式        JMP  K0       ;循环  ; 单/双八拍工作方式:A→AB→B→BC→C→CD→D→DA→A  STEP8: MOV BX,9000H;设置初始延时时间        MOV  DX, 8000H;PA口地址        MOV  AL,ASTEP        OUT  DX,AL        CALL DELAY   MOV  AL,ASTEP+BSTEP        OUT  DX,AL        CALL DELAY        MOV  AL,BSTEP        OUT  DX,AL        CALL DELAY   MOV  AL,BSTEP+CSTEP        OUT  DX,AL        CALL DELAY        MOV  AL,CSTEP        OUT  DX,AL        CALL DELAY   MOV  AL,CSTEP+DSTEP        OUT  DX,AL        CALL DELAY        MOV  AL,DSTEP        OUT  DX,AL        CALL DELAY   MOV  AL,DSTEP+ASTEP        OUT  DX,AL        CALL DELAY        JMP  K0  ; 双四拍工作方式:AB→BC→CD→DA→AB  STEP4: MOV BX,5000H;设置延时时间        MOV  DX, 8000H;PA口地址  MOV  AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平        OUT  DX,AL   CALL DELAY  ;调延时   MOV  AL,BSTEP+CSTEP ;BC输出高电平        OUT  DX,AL   CALL DELAY         ; 调延时    MOV  AL,CSTEP+DSTEP;CD输出高电平        OUT  DX,AL   CALL DELAY       ;  调延时    MOV  AL,DSTEP+ASTEP;DA输出高电平        OUT  DX,AL   CALL DELAY          ;调延时        JMP  K0  ; 单四拍反转工作方式: D→C→B→A→D  STEP41: MOV BX,1000H;设置延时时间         MOV  DX,8000H;PA口地址    MOV  AL,DSTEP; D输出高电平        OUT  DX,AL        CALL  DELAY;调延时        MOV  AL,CSTEP; C输出高电平        OUT  DX,AL        CALL  DELAY;调延时        MOV  AL,BSTEP; B;输出高电平        OUT  DX,AL        CALL  DELAY;调延时        MOV  AL,ASTEP; A输出高电平        OUT  DX,AL        CALL  DELAY;调延时        JMP  K0  DELAY PROC NEAR  ;延时子程序        PUSH CX        MOV CX,BX  DD1:        NOP        LOOP DD1        POP  CX        RET  DELAY ENDP     ; 延时子程序结束  CODE  ENDS     ;代码段结束        END START 五.实施结果 5.1.操作步骤 1、硬件测试 【WINXP】à【步进电机】 2、在硬件测试经过后,要注意三个相一致 (1)PNP地址和数据段中的端口地址。 (2)控制字和接线。 (3)代码段中的端口地址和接线。 3、把程序代码烧进写实验箱中 5.2.运行结果 (1)K0扳下表示启动,步进电机转动。K0扳下表示停止,步进电机停止。 (2)K1扳下表示顺时针转,速度慢。 (3)K2扳下表示逆时针,即倒转,速度快。 六.改进意见及建议 程序设计没有实现加速和减速,在步进电机的转动函数里,每次循环都改变延时的大小即可实现变速。延时时间依次变长则步进电机减速,延时时间依次变短则步进电机加速。再配合开关即可实现加速减速的任意控制。 七.设计体会 这次做的实验是一个比较综合的实验,实验中主要是微机原理的编程,但还涉及到步进电机的有关知识以及一些专业基础课的知识,因此要做好这次实验我们需要做的有很多。 首先,在查找资料的过程中,我更加理解了8255在微型计算机中的重要作用,理解了8255的基本的编程结构和基本控制字的设计方法,也锻炼了自己的动手能力和创新意识。 其次,在编写汇编程序过程中,由于早先对汇编语言学习的不扎实,我们遇到了很大的困难,可是随着对问题理解的逐渐深入,这些问题最终都一一化解了。经过这次步进电机控制代码的编写,让我有了一个更深刻的认识:要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。 在这个过程中,不但提高了实际动手操作能力,培养了治学严谨的态度,激发了我学习此专业课程的兴趣,而且让我们深刻的体验到理论知识与实践经验的密切联系,要成为一个高技术人才,必须理论与实践两手都要硬。在设计时,对不同方案的构思、分析、比较到最后的方案确定,这些工作,能够增强了我们分析、解决问题的能力,培养了我们的创新意识。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服