欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机控制的步进电机控制器053.docx

    • 资源ID:9456149       资源大小:117.36KB        全文页数:14页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于单片机控制的步进电机控制器053.docx

    1、基于单片机控制的步进电机控制器053基于单片机控制的步进电机控制器应教053班 陈建锋摘要:本系统采用AT89S51单片机来控制步进电机,不仅可以实现电机的正反转,还可以实现17级调速,以及LED状态显示功能,电路设计可靠且易于实现,程序设计简单易懂。本系统主要由按键电路、单片机最小系统、AT89S51单片机、步进电机状态显示电路、驱动电路以及步进电机等几部分组成。输出驱动电路采用一个六非门芯片74LS04和四个三极管,来驱动步进电机的四相绕组。短路保护采用一个0.4A的保险管,防止因绕组短路而烧毁烧毁电机。关键词:步进电机 单片机 单片机最小系统 子程序 1 引言 步进电机能将输入的电脉冲信

    2、号转换成输出轴的角位移或直线位移。这种电机每输入一个脉冲信号,输出轴便转动一定的角度或前进一步,因此又被称作脉冲电机或步级电机。步进电机输出轴的角位移量与输入脉冲数成正比,不受电压以及环境温度的影响,也没有累积的定位误差,因此控制输入的数字脉冲数即可实现电机的精确定位;而步进电机输出轴的转速与输入的脉冲频率成正比,控制输入的脉冲频率就能准确的控制步进电机的转速,可以实现在宽广的范围内精确调速。由于步进电机的这一特点正好符合数字控制系统的要求,同时电子技术的发展也解决了步进电机的电源问题。因此随着计算机技术和数字控制技术的发展,步进电机的应用也日益广泛。目前,步进电机应用于磁盘驱动器、数控机床、

    3、轧钢机、机器人、以及自动化仪表等方面。2 总体设计方案2.1 设计思路本系统主要由按键电路、单片机最小系统、AT89S51单片机、步进电机电机电路、驱动电路以及步进电机等几部分组成。驱动电路可以采用FT5754芯片来实现,芯片内部有四组3A、5W、100V的PNP达林斯顿电路及四个二极管,输出四个管脚、分别与步进电机的四相绕组向连接。但考虑到所采用的步进电机功率和额定电流都较小,以及经济性方面,本设计直接采用四个NPN型三极管来作为驱动电路。步进电机的控制主要通过5个按键来实现,这5个按键分别表示“正转”、“反转”、“加速”、“减速”和“停止”。单片机输出四路脉冲信号触发驱动电路的四个NPN型

    4、三极管,其中触发导通的三极管可驱动步进电机的相应绕组得电,即步进电机获得脉冲,而产生一定的角位移。单片机循序不断的输出时序脉冲,就可以实现步进电机的旋转了。2.2 总体设计框图总体设计框图如图1所示。3 设计原理分析图1 总体设计框图各分支电路的理论分析如下:3.1 步进电机本系统采用25Y48H01型步进电机,其相关参数如表1所示,内部接线图如图2所示。表1 25Y48H01型步进电机的相关参数型号步距角相数电压(V)电流(A)电阻()最大静止转矩(gcn)转子转动惯量(gcm2)重量(g)25Y48H017.5450.5101001.035图2 25Y48H01型步进电机内部接线图步进电机

    5、的励磁方式有1相励磁、2相励磁和1-2相励磁3种。由于2相励磁具有转矩大、振动小等优点,在目前使用较为普遍,本系统的设计也采用这种励磁方式。步进电机各相绕组的励磁时序如表2所示。3.2 AT89S51单片机及其最小系统Atmel公司的生产的89C51单片机是一种低功耗/低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储器技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4K字节的ROM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器。8

    6、9C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。绕组 脉冲12345678910A1001100110B1100110011C0110011001D0011001100表2 步进电机四相绕组的励磁时序 单片机最小系统包括振荡电路和复位电路两部分。振荡电路用12M晶振,这样一个机器周期。复位电路采用手动复位,当按下RESET按键,电阻R1、R2接通5V电源,此时R2分得电压大约为4V,为高电平,即置单片机RST脚为高电平,单片机复位。3.3 按键电路采用5个按键用来控制步进电机的5种状态,即“正转”、“反转”、“加速”、“减速”和“停止”。当按下其中一个按键时,电

    7、源通过上拉电阻和按键到地形成通路,使相应输入管脚接地,即给单片机送入一个低电平,此低电平即为有效电平。按键电路如图4所示。3.4 步进电机状态显示电路状态指示采用三种颜色的发光二极管,“绿色”、“黄色”和“红色”分别表示步进电机的“正转”、“反转”和“停止”状态。限流电阻选择1K的电阻,使发光二极管的压降为3V左右。3.5 步进电机驱动电路从单片机输出四路脉冲信号,经过非门和限流电阻,送到四个NPN型三极管的基极。如果从单片机输出的是高电平,经过非门变成低电平,送入三极管,使三极管截止;如果从单片机输出的是低电平,经过非门变成高电平,此高电平使三极管导通。步进电机的每相绕组并上一个二极管,目的

    8、是防止在三极管瞬间截止时,绕组电感所产生很高的感应电动势击穿三极管。非门采用74LS04芯片,其内部共有六个独立的非门,这里只用了其中的四个。驱动电路如图4所示。图3按键控制电路图4 步进电机驱动电路4 程序原理分析41 程序设计思路根据外围电路的设计,单片机的输入为P1口的前五个管脚,输出为P1口的后三个管脚和P2口的前四个管脚。主程序部分首先向驱动电路输出四路高电平,使电机停转,然后设置定时器T0的工作方式以及给允许中断位置高电平,点亮“停转”的状态显示,接下来进行按键扫描,如果有“正转”或“反转”按键按下,则跳转到相应的程序段;如果有“停止”按键或没有任何按键按下,则跳转到程序的初始部分

    9、。正转部分,首先点亮“正转”的状态指示,随后输出起始脉冲,接下来扫描按键,判断是否执行加速、减速或停转,然后调用给定时器T0赋初始值子程序,最后左移累加器A中的数值,如此循环便可实现步进电机的正转。反转部分与正转部分的程序设计雷同,不再赘述。加速和减速部分,改变定时器定时的初始值,即改变定时时间便可实现。42程序分析首先,进行P2口以及定时器的初始化,定时器工作于方式1,对P1.7清零,即点亮红色发光二极管,表示步进电机的“停止”的状态。用JNB指令来扫描按键电路,按下则跳转,没有按下则继续向下执行。如果P1.0按下,则跳转到首地址为RUN的位置,先调用一个10ms的延时子程序来消除按键的抖动

    10、,对P1.6清零,即点亮绿色发光二极管,表示步进电机的“正转”状态,然后通过累加器A输出起始脉冲信号00110011B到P2口。随后判断加速、减速和停止按键是否按下,如果其中一个被按下,则跳到相应的程序段,否则程序继续向下执行。接下来调用赋定时器初始值子程序TIME,根据R0的数据的不同,使用查表指令来读取TABLE1和TABLE2中的数据分别赋给定时器T0的两个八位寄存器TH0和TL0。返回后,利用查询法来等待T0的中断,当定时结束时跳出循环,并对中断标志位TF0清零。左移指令使累加器A中的数据循环左移一位,最后返回到RUN1的位置。如果P1.1按下,则执行反转程序,该程序执行过程与正转部分

    11、相似,不同之处:一是反转要点亮黄色发光二极管,二是对脉冲信号循环右移,从而实现反转。加速子程序主要使R0内的数据加1,即把速度提高一个级别,R0内的数据还要与16相减,来确认是否达到最高转速,如果R0内的数据大于16,则把16赋给R0,表示已达到最高转速,不能再加速了。减速子程序主要使R0内的数据减1,即把速度降低一个级别,如果R0内的数据为0,即速度为最低转速,则直接跳过减一指令,保持这个最低转速。赋定时器初值子程序,利用两个查表指令来读取预置的数据,当转速改变时,R0内的数据发生变化,这时赋给定时器的初值也发生了变化,改变了定时时间,即脉冲的时间间隔发生变化,从而实现了电机变速。4.3 定

    12、时器计数初值的设定程序设计选用定时器T0的定时中断,来控制步进电机每走一步所用的时间,改变了T0的定时时间,就改变了步进电机的转速。定时器T0工作于方式1,晶振fosc=12MHZ。由于采用的步进电机的步距角为7.5,转一圈需要48个脉冲,设转速为N(r/min),则每分钟需送脉冲数据的个数为48N,即每送一个脉冲信号需时:。定时器T0的计数初值 。设步进电机最低转速为20r/min,最高转速为100r/min,每5r设为一个速度级,一共17级。经过计算,得出步进电机的转速对应于定时器初值如表3所示。表3 电机速度及对应定时器计数初值转速N/(r/min)单步时间T/(s)T0的计数初值Tx

    13、(十进制)T0的计数初值Tx (十六进制)206250079361F002550000194564C003041666.67271366A003535714.2932621.717F6D4031250367368F804527777.78399369C00502500042496A6005522727.2744590.55AE2E6020833.3345673.93B2696519230.7747812.92BAC47017857.1449078.86BFB67516666.6750176C400801562551136C7C08514705.8851983.06CB0F9013888.895

    14、2736CE009513157.8753280.68D0201001250054016D3004.4 程序设计流程图程序流程如图5所示。 图5 程序执行流程5 总结与体会通过此次单片机课程设计,使我对单片机控制系统有了更加全面和深入的了解,对电路板的设计和制作也更加的熟练。电路的设计并不复杂,两天的时间就完成了,但之后编写程序,发现有一些不妥的地方,进行了调整,随后开始制作PCB版图,还算顺利。程序的设计让我犯了不少的困惑,以前编写的都是一些功能简单的程序,这样系统的程序编写还是第一次,发现自己好像有些摸不到头脑,可能是编写程序的时机还不够成熟。而后,在图书馆借了几本资料,仔细的研究一下,虽然

    15、实现的功能不大一致,但至少可以提供一些思路。果然,有了效果,我居然只用了一个下午的时间就编写完成了,真是太神奇了。等拿到步进电机进行调试,电机却没有一点反应,经过仔细的审查,发现按键输入我使用的是单片机的P1口,可程序里我用的却是P0口,于是对程序做了相应的修改,调试成功。三周的实习即将结束,经过了这样一个设计和制作的过程,体会到这样实践真的是很必要,不仅可以加深对书本上的知识理解,还可以锻炼自己的动手能力和综合运用能力。经过这次实习,我更加喜欢自己的专业了,也对自己更有信心了参考文献1 李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,2005.92 蔡朝洋.单片机控制实习与专题

    16、制作.北京:北京航空航天大学出版社,2006.113 汪道辉.单片机系统设计与实践.北京:电子工业出版社,2006.54 张大明.单片机控制实训指导及综合应用实例.北京:机械工业出版社,2007.35 杨天明,陈杰.电机与拖动.北京:中国林业出版社;北京大学出版社,2006.8附录1 步进电机总体控制电路附录2 源程序代码ORG 0000HAJMP MAINORG 0030HMAIN: MOV P2,#0FFHMOV R2,#00HMOV SP,#40HMOV TMOD,#01HMOV IE,#82HCLR P1.7SETB P1.5SETB P1.6KEY: JNB P1.0,RUNJNB

    17、P1.1,RERUNJNB P1.4,KEYSJMP KEYRUN: JNB P1.0,$ACALL DELAYCLR P1.6SETB P1.5SETB P1.7MOV A,# 00110011BRUN1: MOV P2,AJNB P1.1,RERUNJB P1.2, KEEPACALL SPEEDUPKEEP: JB P1.3, KEEP1ACALL SPEEDLOWKEEP1: JNB P1.4,MAINACALL TIMELOOP1: JBC TF0,NEXT1AJMP LOOP1NEXT1: RL AAJMP RUN1RERUN: JNB P1.1,$ACALL DELAY CLR

    18、P1.5SETB P1.6SETB P1.7MOV A,# 00110011BRERUN1: MOV P2,AJNB P1.0,RUNJB P1.2,THENACALL SPEEDUPTHEN: JB P1.3,THEN1ACALL SPEEDLOWTHEN1: JNB P1.4,MAINACALL TIMELOOP2: JBC TF0,NEXT2AJMP LOOP2NEXT2: RR AAJMP RERUN1SPEEDUP: JNB P1.2,$ACALL DELAYPUSH ACC INC R0CLR CMOV A,R0SUBB A,#16JC NEXT3MOV R0,#16NEXT3:

    19、POP ACCRETSPEEDLOW: JNB P1.3,$ACALL DELAYPUSH ACCMOV A,R0JZ NEXT4DEC R0NEXT4: POP ACCRETTIME: PUSH ACCMOV A,R0MOV DPTR,#TABLE1MOVC A,A+DPTRMOV TH0,A MOV A,R0MOV DPTR,#TABLE2MOVC A,A+DPTRMOV TL0,ASETB TR0POP ACCRETDELAY: MOV R7,#10HDS1: MOV R6,#0FFHDS2: DJNZ R6,DS2 DJNZ R7,DS1RETTABLE1: DB 1FH, 4CH, 6AH, 7FH, 8FH, 9CH, 0A6H, 0AEH, 0B5H, 0BAH, 0BFH, 0C4H, 0C7H, 0CBH, 0CEH, 0D0H, 0D3HTABLE2: DB 00H, 00H, 00H, 6DH, 80H, 00H, 00H, 2EH, 00H, 0C4H, 0B6H, 00H, 0C0H, 0FH, 00H, 0A1H, 00HEND


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开