《微机原理步进电机控制课程设计报告(共12页).doc》由会员分享,可在线阅读,更多相关《微机原理步进电机控制课程设计报告(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上河北科技大学课程设计报告学生姓名: 学 号: 专业班级: 课程名称: 学年学期: 2 0 2 0 学年第 学期 指导教师: 2 0 年 月课程设计成绩评定表学生姓名学 号成绩专业班级起止时间设计题目指导教师评语学习态度:端正 较端正 一般 较差 学习纪律:好 较好 一般 较差 电路设计与连线:好 较好 一般 较差 程序设计:好 较好 一般 较差 动手能力:强 较强 一般 较差 课程设计完成情况:优秀 好 一般 较差 课程设计报告完成情况:优秀 好 一般 较差 指导教师: 年 月 日目 录一、设计题目.二、设计目的.三、设计原理及方案.四、实现方法.五、实施结果.六、改
2、进意见及建议.七、设计体会.、一、 设计题目编程实现步进电机的控制二、 设计目的1. 了解步进电机控制的基本原理2. 掌握控制步进电机转动的编程方法3. 了解8086控制外部设备的常用电路4. 掌握8255的使用方法 三、设计原理及方案3.1设计原理步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的
3、某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电) 四拍(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、4.2程序代码ASTEPEQU01HBSTEPEQU02HCSTEPEQU04HDSTEPEQU08HCODESEGMENTASSUMECS:CODESTART:MOVDX,8003H;8255控制口地址MOVAL,82H;PA口输出,B口输入OUTDX,AL;写控制字K0:MOVDX,8000H;PA口地址MOVAL,0;输出低电平OUTDX,AL;电机停止转动MOVDX,8001H;PB口地址INAL,DX;读开关状态TESTAL,01H;PB0位(K0=0吗?)JNZK1;不是零转K1JMPSTEP8;是零转单/双八拍工作方式K1:INAL,DX;读开关状态TESTAL,02H;PB1位
5、(K1=0吗?)JNZK2;不是零转K2JMPSTEP4;是零转双四拍工作方式K2:INAL,DX;读开关状态TESTAL,04H;PB2位(K2=0吗?)JZSTEP41;是零转单四拍反转工作方式JMPK0;循环;单/双八拍工作方式:AABBBCCCDDDAASTEP8:MOVBX,9000H;设置初始延时时间MOVDX,8000H;PA口地址MOVAL,ASTEPOUTDX,ALCALLDELAYMOVAL,ASTEP+BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEPOUTDX,ALCALLDELAYMOVAL,BSTEP+CSTEPOUTDX,ALCALLDELAYMO
6、VAL,CSTEPOUTDX,ALCALLDELAYMOVAL,CSTEP+DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEPOUTDX,ALCALLDELAYMOVAL,DSTEP+ASTEPOUTDX,ALCALLDELAYJMPK0;双四拍工作方式:ABBCCDDAABSTEP4:MOVBX,5000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP+CSTEP;BC输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP+
7、DSTEP;CD输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,DSTEP+ASTEP;DA输出高电平OUTDX,ALCALLDELAY;调延时JMPK0;单四拍反转工作方式:DCBADSTEP41:MOVBX,1000H;设置延时时间MOVDX,8000H;PA口地址MOVAL,DSTEP;D输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,CSTEP;C输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,BSTEP;B;输出高电平OUTDX,ALCALLDELAY;调延时MOVAL,ASTEP;A输出高电平OUTDX,ALCALLDELAY;调延时
8、JMPK0DELAYPROCNEAR;延时子程序PUSHCXMOVCX,BXDD1:NOPLOOPDD1POPCXRETDELAYENDP;延时子程序结束CODEENDS;代码段结束ENDSTART五实施结果5.1操作步骤1、硬件测试【WINXP】【步进电机】2、在硬件测试通过后,要注意三个相一致(1)PNP地址和数据段中的端口地址。(2)控制字和接线。(3)代码段中的端口地址和接线。3、把程序代码烧进写实验箱中5.2运行结果(1)K0扳下表示启动,步进电机转动。K0扳下表示停止,步进电机停止。(2)K1扳下表示顺时针转,速度慢。(3)K2扳下表示逆时针,即倒转,速度快。六改进意见及建议程序设
9、计没有实现加速和减速,在步进电机的转动函数里,每次循环都改变延时的大小即可实现变速。延时时间依次变长则步进电机减速,延时时间依次变短则步进电机加速。再配合开关即可实现加速减速的任意控制。七.设计体会这次做的实验是一个比较综合的实验,实验中主要是微机原理的编程,但还涉及到步进电机的有关知识以及一些专业基础课的知识,所以要做好这次实验我们需要做的有很多。首先,在查找资料的过程中,我更加理解了8255在微型计算机中的重要作用,理解了8255的基本的编程结构和基本控制字的设计方法,也锻炼了自己的动手能力和创新意识。其次,在编写汇编程序过程中,由于早先对汇编语言学习的不扎实,我们遇到了很大的困难,但是随着对问题理解的逐渐深入,这些问题最终都一一化解了。通过这次步进电机控制代码的编写,让我有了一个更深刻的认识:要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。在这个过程中,不仅提高了实际动手操作能力,培养了治学严谨的态度,激发了我学习此专业课程的兴趣,而且让我们深刻的体验到理论知识与实践经验的密切联系,要成为一个高技术人才,必须理论与实践两手都要硬。在设计时,对不同方案的构思、分析、比较到最后的方案确定,这些工作,可以增强了我们分析、解决问题的能力,培养了我们的创新意识。专心-专注-专业
限制150内