欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    基于单片机步进电机课程设计说明书.doc

    • 资源ID:5020834       资源大小:253KB        全文页数:23页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机步进电机课程设计说明书.doc

    华北水利水电学院 课程设计说明书 1/29/2020华 北 水 利 水 电 学 院 课 程 设 计 任 务 书 及 计 划 书20092010学年第2学期环 节 名 称:单片机应用基础课程设计 学生专业班级: 机自20070552007061 指 导 教 师: 院 、 系 : 机械学院 教 研 室: 机械制造教研室 课 程 设 计 任 务 书课程设计名称单片机应用基础课程设计专业班级(学生人数)机自20070552007061(93人)指导教师本学期承担相应课程教学任务情况单片机应用基础理论:26学时实验:6学时课程设计目的及任务单片机应用基础课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。课程设计任务:根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。有关参数选择要求符合国家标准。具体设计内容如下:步进电机控制、模拟交通灯控制、模拟键盘输入及显示模块。课程设计要求要求:1、利用proteus软件设计各模块工作原理图,并进行模拟仿真;2、控制程序设计、调试及实现:(1)根据要求,写出完整的程序流程图;(2)将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;(3)利用proteus软件进行电路模拟仿真和调试4、设计硬件电路并烧写程序,调试后系统能按照要求工作5、写出课程设计说明书(统一格式)课程设计目标1课程设计说明书一份;2系统工作原理图一张;3汇编源程序(或者C语言源程序)4硬件电路板调试通过参考文献及资料1 李广第主编单片机基础第一版北京航空航天大学出版社北京1994年6月2 王修才主编单片机接口技术第一版复旦大学出版社上海1995年10月3 周志德主编单片机原理及应用第一版高等教育出版社4 李运华主编机电控制第一版北京航空航天大学出版社5 秦曾煌主编电工学 上册:电工技术第五版高等教育出版社6 秦曾煌主编电工学 下册:电子技术第五版高等教育出版社注:此套表填写一式三份,于课程设计前一周分别交至教学督导团、教务科、教研室课 程 设 计 计 划 书周次日期设计内容具体要求设计教室指导时间段132010.05.24准备阶段:复习相关知识,熟悉相关软件熟悉电路符号及原理,能用PROTEUS设计印刷电路板图,熟悉各种电子元件54029:0011:00132010.05.25总体方案设计明确设计任务和要求,设计思路清晰;研究并制定出总体设计方案,加以论证,并提交总体设计方案报告54029:0011:00132010.05.26各部分电路设计和实现绘制工作原理图,利用PROTEUS软件对各部分电路进行模拟仿真54029:0011:00132010.05.27132010.05.28汇编源程序设计绘制程序流程图,根据程序流程图编写源程序54029:0011:00142010.05.31142010.06.01程序调试利用软件WAVE6000检查源程序的语法错误,并进行软件仿真,验证程序的正确性54029:0011:00142010.06.02系统调试装入系统源程序,进行硬件仿真和系统调试54029:0011:00142010.06.03142010.06.04整理设计资料,提交设计成果课程设计说明书一份;工作原理图一张;汇编源程序清单(或者C语言源程序);硬件调试成功54029:0011:00注:指导教师在课程设计期间每天指导时间不少于2小时。 教学院长、教学主任: 教研室主任: 填表人: 雷冀南 填表时间: 2010年05月23日 步进电机课程设计说明书 一 设计目的 单片机应用基础课程设计是学好本门课程设计的又一重要环节,课程设计的目的就是配合笨课程设计的教学和平时的实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,是以培养学生综合运用所学知识的过程,培养学生查阅相关资料撰写文档的能力和自学,科研的能力,是知识转化为能力和能力转化为工程素质的重要阶段。 二 设计任务根据给定的任务要求选择合适的单片机和其他电子元件,进行系统硬件电路设计和软件编程,根据系统制作并调试电路板,使之实现任务要求。有关参数选择要求符合国家标准,具体设计任务如下:(1) 能控制电机正反转,有正转和反转按钮。(2) 在一定范围内可控制转速,有加速和加速按钮。(3) 可在不断电源的情况下暂停,有一个暂停按钮。(4) 在停止、正转、反转的时候,分别有指示灯指示工作状态。(5) 有状态观察指示灯,可观察电动机A、B、C、D相的状态以观察电动机的旋转状态。(6) 通过改变程序而改变电动机的驱动方式:单四拍、双四拍、单双八拍。三 设计思路与方案对步进电动机的控制,接口采用软件控制步进电动机的旋转。步进电动机的驱动脉冲由89C52单片机的编程来实现,由89C52芯片的P1.0、P1.1、P1.2、P1.3出发,驱动步进电动机的、B、C、D相。由于步进电机的正常工作电压是12V,故需要用反相器驱动。同时考虑到步进电机各相驱动电流较大,驱动电流的通断会造成电磁干扰,从而影响单片机的正常工作,因而输出通道要加光电隔离器,以隔断步进电机与89C52芯片控制电路的联系。另外电动机各相串限流电阻,以防止过大的电流流过线圈,造成电动机被烧。通过89C52芯片的口来读取电动机的停止、正转、反转、加速、减速控制信号。通过89C52的口输出电动机工作状态(停止、正转、反转)显示。 为完成设计任务,可以从一下几方面考虑:1 控制电机正反转步进电机有四相绕组A、B、C、D,当一绕组通电时在电动机内部形成N极,产生磁场,当通电的相发生变化,磁场发生旋转,在磁场的作用下,转子将转动,若步进电机按单双八拍的方式来工作,择在、B、C、D相绕组上输入脉冲的顺序为AABBBCCCDDAA:步进电机沿顺时针方向转动,即正转,若在、B、C、D各相绕组上依次输入脉冲AADDDCCCBBBAA:步进电机将沿逆时针方向旋转,因此只要控制脉冲输出顺序,就可以控制电机的正转/反转。2 控制电动机的转速步进电机的转速,是通过软件延时的方法来改变的,例如:步进电机按单双八拍方式来工作时,通电顺序为AABBBCCCDDAA在A通电后有时间延迟,隔一段时间后再变为同时通电。在每一个间隔都有程序来实现时间延迟。通过改变延迟时间的大小,可以改变电动机的转速,进而实现电动机转速的控制。改变电动机转动的步距通过改变电动机的驱动方式来改变电动机的转动步距,单双八拍的方式时,电动机每转一步前进45度,而电动机在双四拍和双四拍的驱动方式时,电动机每转一步为90度。4 观察电动机的旋转状态 通过在电动机各相接线处连接发光二极管来观察A、B、C、D各相状态。因考虑到通电时接线处变为低电平,而对电动机各相上的电压有影响,故需要每一相需要用两个74LS14反相器来实现对每相没有影响,通过两次反相,可观察电动机每相的实际电位是处于高电位还是低电位。四 系统的硬件设计 本步进电机课程设计包含六个模块:主控模块,驱动模块,按键模块,显示模块,时钟模块,上自动复位模块。其功能联系是用按键模块来输入要执行的任务,然后通过主控模块调用所对应的程序,并把信息送给驱动模块和显示模块,最后通过驱动模块,使电机按照所按下的按钮命令来运转,并在显示模块显示按键位置,从而实现对步进电机的简易控制和观察。上自动复位模块,实现通电后初始化,时钟模块提供内部时钟周期。其硬件电路图如附录一所示。1 主控模块主控模块是用AT89C52单片机芯片来控制。AT89C52是八位单片机,采用FLASHROM技术,晶振时钟为12MHz。AT89C52是标准的40引脚双列直插式集成电路单片机,有4个八位并行双向I/O端口,分别记作P0、P1、P2、P3.第31引脚需要接高电平是单片机选择内部程序存储器;P0口的第39引脚接停止按钮;38引脚接正转按钮;37引脚接反转按钮;36引脚接加速按钮;35引脚接减速按钮;引脚12接中断电路的与门;引脚9接上自动复位电路,引脚18和19接上一个12MHz的晶振为单片机提供时钟信号;引脚40为电源端VCC,接+5V的电源,第二十引脚为接地端VSS。芯片图如图(1)所示: 图(1)2 按键模块和与门电路按键模块有五个按钮:停止按钮、正转按钮、反转按钮、加速按钮和减速按钮。他们分别控制电动机的停止、正转、反转、加速和加速,并分别与AT89C52芯片的P0.0(引脚39)、P0.1(引脚38)、P0.2(引脚37)、P0.3(引脚36)、P0.4(引脚35)相连接。同时通过上拉电阻接12V高电平,另一端都接地。当按下一个键时,使对应的引脚处产生低电平。同时对应与门连线产生低电平,经过与门逻辑运算后在第12引脚处产生低电平,引起一次中断。下图(2)所示为按键模块和与门电路: 图(2)3 驱动模块、显示电动机旋转和工作状态模块单片机的驱动电路主要是用ULN2004A芯片来驱动,ULN2004A芯片、驱动电路和显示电动机旋转状态的模块图如图(3)所示 图(3)ULN2004A芯片是一个7路反相器,即第1到7引脚输入端为低电平时,对应输出端第16到10引脚输出为高电平,反之亦然。第9引脚COM提供工作电压,本设计中引脚1、2、3、4分别与AT89C52芯片的P1.0、P1.1、P1.2、P1.3口相连接,规定正转为逆时针方向的转动引脚16、15、14、13连接到A、B、C、D上如图(3)所示,电动机中间引脚直接与12V电压相接,目的是驱动电动机,使其正常工作。显示电动机旋转状态模块如图(3)所示,分别将电动机的A、B、C、D连接到对应标志的显示电路上。分别用电压表测量A、B、C、D处的电压以及电压变化。每条显示电路是由两个74LS14反相器和一个发光二极管并接地组成。由于只有发光二极管时,二极管发光后接地,导致电动机四相电压减小很多,故增加74LS14反相器两个,两次反相后能正确显示电动机四相处通电与否。电动机工作状态中停止,正转,反转三种工作状态的显示时通过P2口输出到指示LED。其如图(4)所示: 图(4)五 系统软件设计 按单双八拍驱动的程序见附录:单双八拍程序。按单四拍驱动的程序见附录:单四拍程序。按双四拍驱动的程序见附录:双四拍程序。程序设计流程图以单双八拍为例见附录:单双八拍程序流程图中断程序流程图见附录:中断程序流程图。六 系统仿真 1 调试程序打开WAVE6000,新建一个文件,并命名*.asm保存,在此文件中输入已编的程序,调试后正确,并生成HEX文件。2 Proteus仿真打开Proteus软件,画附录总电路图所示电路,并保存。双击AT89C52芯片,添加“.HEX”文件,点击确认。按下Proteus软件上的开始按钮后,电机不转动,指示停止的灯亮。如图(5)所示。 图(5)当按下正转或反转时电机上显示有旋转角度,电压表上数值一直在变化,各个灯的状态也有变化 单双八拍如图(6): 图(6)双四拍如图(7) 图(7) 单四拍如图(8) 图(8) 当按下加速或减速按钮时,电机做相应的加速或减速转动,但是加速或减速到一定程度,不能再加速或减速。按下停止按钮,电机停止转动。 七 总结 通过本次的单片机课程设计,我对单片机有了更深乘此的了解,特别是对步进电机的控制有了更彻底的了解,不管是步进电机的工作原理,还是步进电机的应用场合,还是步进电机运转的控制,我都弄清楚了。同时通过这次课程设计我逐渐的意识到其中的乐趣,当自己独自完成任务实现自己想要的结果时,是很有成就感的,但是在课程设计时也遇到了很多困难和问题,有些问题还尚未解决,不知道是软件的问题还是别的什么问题,为了能实现单双八拍、单四拍、双四拍在一个程序里的转换,而用Proteus画一个相对复杂的电路图后不能正常初始化,文件无法响应,虽然程序可在WAVE6000里面生成.HEX文件,但是最终也没有仿真成功,所以才只能将课程设计做成三种驱动方式分开在三个程序里面,有些遗憾。在用Proteus时,发现里面有很多元件我们都不曾接触,同时在选择使用模拟元件时,没有选用标准,所以只能根据参考资料里的经验性的来选择元件。通过这次课程设计,虽加深了我对单片机的了解,更熟练的应用汇编语言,同时学会使用Proteus软件,但是我发现的更多是自己知识的不足,想去熟练地应用还是不行,要解决这个问题还需更加努力,不仅搞懂步进电机的知识,还要了解很多元件的工作原理,如其他同学做的课程设计:交通灯的控制,键盘的输入与控制等等,更要向深层次学习,学习传感器的内容等。步进电机主要用于数字控制系统中,精度高,运行可靠。如采用位置检测和速度反馈,亦可实现闭环控制。步进电动机已广泛地应用于数字控制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。步进电机实现了运动的数字化,精确化。在机电自动化中起到相当重要的作用,所以机自专业机电方向的我将会更深的学习,并尝试自己去焊接一些电路,锻炼自己的动手能力,提高自己的素质。八 参考文献:1 李广第主编单片机基础第一版北京航空航天大学出版社北京1994年6月2 王修才主编单片机接口技术第一版复旦大学出版社上海1995年10月3 周志德主编单片机原理及应用第一版高等教育出版社4 李运华主编机电控制第一版北京航空航天大学出版社5 秦曾煌主编电工学 上册:电工技术第五版高等教育出版社6 秦曾煌主编电工学 下册:电子技术第五版高等教育出版社附录:单双八拍程序流程图: 中断程序流程图:总电路图:单双八拍程序:zheng equ 30hfan equ 31hst equ 32has equ 33hss equ 34horg 00hajmp mainorg 03hajmp int0org 30hmain:mov 10h,#0eh mov 11h,#0ch mov 12h,#0dh mov 13h,#09h mov 14h,#0bh mov 15h,#03h mov 16h,#07h mov 17h,#06h mov 20h,#50 mov 21h,#25 mov 22h,#10 mov 23h,#05 clr zheng clr fan clr st clr as clr ss mov r1,#20h mov a,r1 mov r5,a setb ea setb ex0 setb it0 mov r0,#0fhloop: mov p2,#01h jnb zheng,lp mov p2,#02h call golp: jnb fan,loop mov p2,#04h call back ajmp loopint0:scan: mov a,p0 cpl a anl a,#00011111b jnz scan1 ajmp scanscan1:call delay1 mov a,p0 cpl a anl a,#00011111b jz scan call readkey retireadkey: mov a,p0 jnb acc.0,stop jnb acc.1,for jnb acc.2,rev jnb acc.3,addspeed jnb acc.4,subspeedstop: setb st retfor: setb zheng retrev:setb fan retaddspeed:setb as retsubspeed:setb ss retgo: clr zheng clr fan clr st clr as clr ss inc r0 mov a,r0 cjne a,#18h,go1 mov r0,#10hgo1:mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb ss,go2 call jian go2:jnb as,go3 call jia go3:ajmp go back: clr zheng clr fan clr st clr as clr ss dec r0 cjne r0, #0eh,kkk mov r0,#17h sjmp back1kkk: cjne r0,#0fh,back1 mov r0,#17hback1: mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb as,back2 call jia back2:jnb ss,back3 call jian back3:ajmp back jia: cjne r1,#23h,jia1 ret jia1:inc r1 ret jian: cjne r1,#20h,jian1 ret jian1:dec r1 ret return: retdelay1: mov r6,#1000del1:mov r7,#1000 djnz r7,$ djnz r6,del1retdelay:d1:mov r6,#50d2:mov r7,#50d3: djnz r7,$ djnz r6,d2 djnz r5,d1 retend双四拍程序:zheng equ 30hfan equ 31hst equ 32has equ 33hss equ 34horg 00hajmp mainorg 03hajmp int0org 30hmain: mov 10h,#0ch mov 11h,#09h mov 12h,#03h mov 13h,#06h mov 20h,#50 mov 21h,#25 mov 22h,#10 mov 23h,#5 clr zheng clr fan clr st clr as clr ss mov r1,#20h mov a,r1 mov r5,a setb ea setb ex0 setb it0 mov r0,#0fhloop: mov p2,#01h jnb zheng,lp mov p2,#02h call golp:jnb fan,loop mov p2,#04h call back ajmp loopint0:scan:mov a,p0 cpl a anl a,#00011111b jnz scan1 ajmp scanscan1:call delay1 mov a,p0 cpl a anl a,#00011111b jz scan call readkey retireadkey: mov a,p0 jnb acc.0,stop jnb acc.1,for jnb acc.2,rev jnb acc.3,addspeed jnb acc.4,subspeedstop:setb st retfor: setb zheng retrev:setb fan retaddspeed:setb as retsubspeed:setb ss retgo: clr zheng clr fan clr st clr as clr ss inc r0 mov a,r0 cjne a,#14h,go1 mov r0,#10hgo1:mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb ss,go2 call jian go2:jnb as,go3 call jia go3:ajmp go back: clr zheng clr fan clr st clr as clr ss dec r0 mov a,r0 cjne a, #0eh,kkk mov r0,#13h sjmp back1kkk: cjne a,#0fh,back1 mov r0,#13hback1: mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb as,back2 call jia back2:jnb ss,back3 call jian back3:ajmp back jia:cjne r1,#23h,jia1 ret jia1:inc r1 ret jian:cjne r1,#20h,jian1 ret jian1:dec r1 ret return: retdelay1: mov r6,#1000del1:mov r7,#1000 djnz r7,$ djnz r6,del1retdelay:d1:mov r6,#50d2:mov r7,#100d3: djnz r7,$ djnz r6,d2 djnz r5,d1 retend单四拍程序:zheng equ 30hfan equ 31hst equ 32has equ 33hss equ 34horg 00hajmp mainorg 03hajmp int0org 30hmain: mov 10h,#0eh mov 11h,#0dh mov 12h,#0bh mov 13h,#07h mov 20h,#50 mov 21h,#25 mov 22h,#10 mov 23h,#5 clr zheng clr fan clr st clr as clr ss mov r1,#20h mov a,r1 mov r5,a setb ea setb ex0 setb it0 mov r0,#0fhloop: mov p2,#01h jnb zheng,lp mov p2,#02h call golp:jnb fan,loop mov p2,#04h call back ajmp loopint0:scan:mov a,p0 cpl a anl a,#00011111b jnz scan1 ajmp scanscan1:call delay1 mov a,p0 cpl a anl a,#00011111b jz scan call readkey retireadkey: mov a,p0 jnb acc.0,stop jnb acc.1,for jnb acc.2,rev jnb acc.3,addspeed jnb acc.4,subspeedstop:setb st retfor: setb zheng retrev:setb fan retaddspeed:setb as retsubspeed:setb ss retgo: clr zheng clr fan clr st clr as clr ss inc r0 cjne r0,#14h,go1 mov r0,#10hgo1:mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb ss,go2 call jian go2:jnb as,go3 call jia go3:ajmp go back: clr zheng clr fan clr st clr as clr ss dec r0 cjne r0, #0eh,kkk mov r0,#13h sjmp back1kkk:cjne r0,#0fh,back1 mov r0,#13hback1: mov p1,r0 mov a,r1 mov r5,a call delay jb st,return jb zheng,return jb fan,return jnb as,back2 call jia back2:jnb ss,back3 call jian back3:ajmp back jia:cjne r1,#23h,jia1 ret jia1:inc r1 ret jian: cjne r1,#20h,jian1 ret jian1:dec r1 ret return: retdelay1:mov r6,#1000del1:mov r7,#1000 djnz r7,$ djnz r6,del1retdelay:d1:mov r6,#50d2:mov r7,#100d3: djnz r7,$ djnz r6,d2 djnz r5,d1 retend 勤奋 求实 严谨 创新 - 23 -

    注意事项

    本文(基于单片机步进电机课程设计说明书.doc)为本站会员(西安人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开