欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于51单片机的步进电机的控制设计(共17页).doc

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

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

    基于51单片机的步进电机的控制设计(共17页).doc

    精选优质文档-倾情为你奉上课 程 设 计 报 告 课程名称 单片机原理及应用 课题名称 基于51单片机的步进电机的控制设计 专 业 电子信息科学与技术 年 班 级 07级电科一班 学 号 姓 名 谭成 指导教师 朱高峰 2010年6月25 日专心-专注-专业目 录1、设计任务 1.1步进电机工作原理 1.2步进电机的主要特性2、 设计思路与总体框图 2.1 建立相序表 4、 系统硬件电路的设计 5、系统的设计仿真 5.1仿真原理图 5.2 5、总结与体会6、 参考文献、设计任务本次课程设计要求按键控制二相四线步机电机的工作状态,包括:正转、反转、加速、减速。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2 步进电机的主要特性1、步进电机必须加驱动才可以运转,驱动型号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。2 、型号20BY20L010步进电机的步进角度为18度,一圈360度,需要20个脉冲完成。3、步进电机具有瞬间启动和急速停止的优越特性。4、改变脉冲的顺序,可以方便的改变转动的方向。、设计思路与总体框图电机的运转一般由脉冲和方向信号来控制的,脉冲的频率控制电机的转速,脉冲的个数控制电机的转角;方向信号的高、低电平控制着电机的正、反转。用单片机控制步进电机,可以用一个输出口发送脉冲:高电平->延时->低电平->延时延时的长短控制脉冲的频率,电平的转换次数就是脉冲个数;另外用AT89C51的输出作为方向信号。1建立相序表实现步进电机运行方式、方向和速度以及启/停的控制,是接口软件设计的主要任务。为此,在编写程序之前,要建立一个相序表,相序表的建立应根据步进电机运行方式的要求。表1:正转环形脉冲分配表步数P0.0P0.1P0.2P0.3AB/A/B11100201103001141001表2:反转环形脉冲分配表步数P0.0P0.1P0.2P0.3AB/A/B111002100130011401102 硬件框图 单片机 按 键 驱动 步进电机、系统主程序运行方式与方向的控制循环查表法步进电机的运行方式是指各相绕组循环轮流通电的方式。为了实现对各绕组按一定方式轮流加电,需要一个脉冲循环分配器。循环分配器可用硬件电路来实现,也可用软件来实现。采用软件来设计脉冲循环分配器,又有两种方法:控制字法和循环查表法。而本课程设计用到的是循环查表法。循环查表法是将各相绕组加电顺序的控制代码制成一张表步进电机相序表,存放在内存区,再设置一个地址指针。当地址指针依次加1(或减1)时,即可从表中取出加电的代码,然后输出到步进电机,产生按一定运行方式的走步操作。若改变相序表内的加电代码和地址指针的指向,则可改变步进电机的运行方式和方向。步进电机的运行方向是采用设置相序表的指针进行控制的。如果把指针设在指向正相序表的第一个元素,依次加1,取出加电代码去控制步进电机的运行方向叫做正方向,那么,再把指针改设在指向反相序表的第一个元素,依次加1的方向就是反方向。步进电机运行速度的控制软件延时法控制步进电机速度有两个途径:一是硬件改变输入脉冲的频率,通过对定时器定时常数的设定,使其升频、降频或恒频。二是软件延时,或调用子程序。采用软件延时方法来改变步进电机速度。本次课程设计用到的是软件延时法。源程序流程图 开始 Y sw1? 电机正转 端口初始化 N Y Y(有键按下) sw2? 电机反转 键扫描 N Y N sw3? 电机加速 N Y 调用延时程序 sw4? 电机减速 N 、系统硬件电路的设计1 控制器芯片的选择 控制器采用MCS -51单片机。其引脚功能如下:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ?指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。步进电机驱动器构成与特点1)步进电机不能直接接到交、直流电源上工作,而必须使用专用设备步进电机驱动器。步进电机驱动系统的性能,除与电机的自身性能有关外,在很大程度上也取决于驱动器的优劣。步进电机驱动器一般由环形分配器、信号处理级、推动级、驱动级等各部分组成,用于功率步进电机的驱动器还有多种分配分配保护。环形分配器用来接受来自控制器的CP脉冲,并提供步进电机状态转换表的状态顺序产生各相导通或截止的信号。每来一个CP脉冲,环形分配器的输出就转换一次。因此,步进电机的转速的高低、升速或降速、启动或停止都完全取决于CP脉冲的有无或频率。同时,环形分配器还必须接受控制器的方向信号,从而决定其输出的状态转换是按正序转换还是反序转换,于是就决定了步进电机的转向。接受CP脉冲和方向电平是环形分配器的最基本功能。从环形分配器输出的各相导通或者截止的信号送入信号放大或处理级。信号放大的作用是将环形分配器输出的信号加以放大,变成足够大的信号送入推动级,这中间一般放大既需电压放大,也需电流放大。信号处理是实现信号的某些转换、合成等功能,产生斩波、抑波等特殊功能的信号,从而产生特殊功能的驱动,本级还经常与各种保护电路、控制电路组合在一起,形成较高性能的驱动输出。2)驱动级的作用是将较小的信号加以放大,变成足以驱动级输入的较大信号。有时,推动级还承担电平转换作用。驱动级直接与步进电机各绕组相连接,它接受来自推动级的输入信号,控制步进电机各绕组的导通与截止,同时也对绕组承受的电压和电流进行控制。各种电子设备的末级一般需要功率放大,步进电机驱动也是这样。为使步进电机满足各种专有权的输出,驱动级必须对电机的绕组提供足够的电压和电流。但步进电机驱动与一般电子设备的驱动有不同的特点,主要体现在:a各相绕组都是开关工作,多数电动机的绕组都是连续的交流或者直流,而步进电机的各相绕组都是脉冲式供电,所以绕组电流不是连续的而是离散的。b电动机的各相绕组是绕在铁心上的线圈,所以都有比较大的电感。绕组通电时电流上升率受到限制,因而影响电动机绕组电流的大小。c绕组断电时,电感中磁场的储能将维持绕组中已有的电流不能突变,结果使应该截止的相不能立即截止。为使电流尽快衰减,必须设计适当的续流回路。绕组导通和截止过程中都会产生较大的反向电动势,而截止时的反电动势将对驱动级器件的安全产生十分有害的影响。d电动机运转时在各相绕组中将产生旋转电动势,这些电动势的大小和方向将对绕组电流产生很大的影响。由于旋转电动势基本上与电动机转速成正比,转速越高,电动势越大,绕组电流越小,从而使电动机输出转矩也随着转速升高而下降。e电动机绕组中有电感电动势、互感电动势、旋转电动势。这些电动势与外加电共同作用于功率器件,当其叠加结果使电动机绕组两端电压大大超过电源电压时,使驱动级的工作条件更为恶化。根据以上的功率放大级的设计要点、组成和特点,结合本课程设计的设计要求,此设计选用单片机控制可以省去环形分配器,节约成本,电路系统结构简单,维护方便,灵活性好等特点。硬件电路的设计按钮接P2.0P2.3作为触发输入单片机P1.0P1.3作为O口输出控制脉冲由三极管、二极管、电阻搭建2个H桥作为驱动电路驱动步进电机。 图1单片机控制二相步进电机电路图 图 2 AT89S51引脚 图3二相步进电机的驱动电路 、系统设计仿真仿真电路具体操作:启动系统,默认步进电机正转。此时按下sw2,切换到反转;按下sw1可切换回正转;每按一次sw3,就加速一次,直至上限速度;按一次sw4,就减速一次,直到下限速度。源程序代码 运行Keil中文版,参照电路图和流程图编写程序#include <AT89X51.h>static unsigned int count; /计数static int step_index; /步进索引数,值为07static bit turn; /步进电机转动方向static bit stop_flag; /步进电机停止标志static int speedlevel; /步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; /步进电机转速参数计数void delay(unsigned int endcount); /延时函数,延时为endcount*0.5毫秒void gorun(); /步进电机控制步进函数void main(void) count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; /允许CPU中断 TMOD = 0x11; /设定时器0和1为16位模式1 ET0 = 1; /定时器0中断允许 TH0 = 0xFE; TL0 = 0x0C; /设定时每隔0.5ms中断一次 TR0 = 1; /开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do speedlevel = 2; delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0; Turn=!turn; while(1);/定时器0中断处理 void timeint(void) interrupt 1 TH0=0xFE; TL0=0x0C; /设定时每隔0.5ms中断一次 count+; spcount-; if(spcount<=0) spcount = speedlevel; gorun(); void delay(unsigned int endcount) count=0; dowhile(count<endcount);void gorun() if (stop_flag=1) P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; return; switch(step_index) case 0: /0 P1_0 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 0; break; case 1: /0、1 P1_0 = 1; P1_1 = 1; P1_2 = 0; P1_3 = 0; break; case 2: /1 P1_0 = 0; P1_1 = 1; P1_2 = 0; P1_3 = 0; break; case 3: /1、2 P1_0 = 0; P1_1 = 1; P1_2 = 1; P1_3 = 0; break; case 4: /2 P1_0 = 0; P1_1 = 0; P1_2 = 1; P1_3 = 0; break; case 5: /2、3 P1_0 = 0; P1_1 = 0; P1_2 = 1; P1_3 = 1; break; case 6: /3 P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 1; break; case 7: /3、0 P1_0 = 1; P1_1 = 0; P1_2 = 0; P1_3 = 1; if(turn=0) step_index+; if (step_index>7) step_index=0; else step_index-; if (step_index<0) step_index=7; 、系统评价本文所设计的步进电机结构简单,可以与AT89C51直接接口,且接口简单只需要脉冲输入和方向输入两个控制信号,节省了软硬件开发时间。虽然简便易行,但延时受CPU主频的影响,导致在主频较低的微机上开发的步进电机控制程序换到较高的主频的微机上,就不能正常运行,甚至由于频率太高,步进电机干脆不动了。而且,步进电机的速度还受到本身距频特性的限制,设计时应满足运行频率与负载力矩之间的确定关系,否则,就会产生失步或无法工作的现象。、总结与体会 在完成本设计的过程中,我把注意力主要集中在编程,电路仿真和调试上。合理的运用软件设计模块电路可以节省很多时间,但完全照搬也不能达到预期的效果,因为实际参数无法与设计精确匹配,因此做到精益求精,尽量达到指标要求。本次设计综合运用了单片机和集成电路的知识,通过查阅大量相关资料,包括查阅相关书籍和网上的资料。在方案设计方面,我们小组成员通过讨论筛选出最优的设计方案,比如在驱动电路设计时,我们放弃直接利用集成块驱动步进电机,而选用分离元件来实现同样功能,从而对小功率放大电路有了进一步的了解。通过这次课程设计,进一步了解了步进电机的工作原理,以及单片机怎样控制电机的实现。从电路设计,单片机控制编程以及Proteus仿真,到最后的电路焊接制成电路板,让我感受最深的是搭建电路,第一遍搭建电路时吴中阳,尹华增,田震很认真的按着原理图把电路搭建出来了,可是去测试时,按键后,电机一直不转动,于是我们又把电路重新搭建一遍,因为第一遍搭建的电路焊接不标准,存在虚焊的现象,而且仿真与实际电路参数存在差异,驱动电路中电阻选用不合理,放大后的电流没有达到电机所需要的0.5A。第二遍搭建,我们就改方法了,运用8个npn管和基极电阻构成放大电路,驱动电机工作。但是测试了还是不动,最后经过我们不断的调整,发现是基极电阻值小了,电流放大倍数不足以提供电机转动,最终还是到了正常状态。另外就搭建过程中出现的问题而言,我认为在搭电路过程中我们要特别注意这样几个方面:一是元器件要插紧并且要牢固;二是搞清楚电路图中电路的流向,标出正负极;三是搭建时尽量使用最少的线连接一个赏心悦目的电路,便于老师检查,自己找错误。本次课程设计,使我的设计能力、分析与解决实际问题的能力、动手操作能力得到了很大的提高。通过该课题的设计学习,更熟悉的了解和掌握单片机应用系统设计的基本方法、设计思路、设计步骤及调试运行等全过程,达到了理论联系实际,学以致用的目的。通过两周的努力,完成了老师交给我们的设计工程单片机控制二相四线步进电机。刚开始遇到一些困难,经过老师的细心指导,和同学的帮助,才得以解决。在规定时间内完成了任务。期间,感触最深的是自己的专业基础知识不熟练,知识面不够具体全面,虽然经翻阅资料,知识点能够整合完成,但更多的需要自己平时注意专业知识的补充和积累,提高动手,设计能力和分析解决问题的能力,为就业后的工程设计奠定良好的基础。 、参考文献1王晓明编,电动机的单片机控制(第一版),北京航空航天大学出版社,20022张毅刚编,单片机原理与应用,高等教育出版社,20063康华光编,电子技术基础模拟部分(第五版),高等教育出版社,20064董峰,解统燕编,Protel DXP电路设计基础教程,机械工业出版社,2008

    注意事项

    本文(基于51单片机的步进电机的控制设计(共17页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开