ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:760.10KB ,
资源ID:8741737      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8741737.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的步进电机的控制设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的步进电机的控制设计.docx

1、基于单片机的步进电机的控制设计瀚电修祝电信专兰单片机应用系统设计报告设计题目:步进电机控制器设计专业班级:学生姓名:指导教师:设计时间:2016 年12月设计要求及方案1、 设计要求可以实现步进电机正转和反转控制及速度的控制, 同时实现步进电机步数的 控制。2、 设计方案本次设计采用AT89C51单片机控制一个四相步进电机。单片机输出脉冲序列, 驱动步进电机转动;并设置开关、按键电路,来控制步进电机的 2挡转速,即加 速、减速;以及步数的变化,即四拍驱动方式、八拍驱动方式,同时控制步进电 机的转动方向,即正转、反转。设计方案总体框图:步进电机简介1、步进电机工作原理步进电机是一种将电脉冲转化为

2、角位移的执行机构。 当步进驱动器接收到一 个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距 角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机 转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特 种电机,利用其没有积累误差(精度为100%的特点,广泛应用于各种开环控制。 步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供 电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作, 驱动器就是为步进电机分时供电的多相时序控制器。 虽

3、然步进电机已被广泛地应 用,但步进电机并不能象普通的直流电机, 交流电机在常规下使用。它必须由双 环形脉冲信号、功率驱动电路等组成控制系统方可使用。 因此用好步进电机却非 易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行 元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着 微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域 都有应用。2、步进电机磁力方式选择步进电机的励磁方式主要分为全步励磁和半步励磁两种, 其中全步励磁又有一相励磁和二相励磁之分,半步励磁又称一-二相励磁。一相励磁:在每一瞬间,步进电机只有一个线圈导通。每送出一个励

4、磁信号,步 进电机旋转1.8。,这是三种励磁方式中最简单的一种。其特点是:精确度好、 消耗电力小,但输出转矩小,震动较大。二相励磁:在每一瞬间,步进电机有两个线圈同时导通。每送一个励磁信号,步 进电机旋转1.8 。其特点是:输出转矩大,振动小。一-二相励磁:为一相励磁与二相励磁交替导通的方式。每送一个励磁信号,步 进电机旋转0.9。其特点是:分辨率高,运转平滑。本次设计,八拍驱动时采用一相励磁方式,四拍驱动时采用二相励磁方式。 八拍磁力顺序表:时序12345678置1A-B-C-D-置0-D-A-B-C四拍磁力顺序表:时序1234置0DABC置1A,BB,CC,DD,A三、硬件电路设计1、晶振

5、电路设计AT89C51单片机各功能部件的运行都以时钟控制信号为基准,有条不紊,一拍一拍地工作。本次设计时钟电路采用内部时钟方式。 AT89C51内部有一个用于构成震荡器的高增益方向放大器,它的输入端为芯片引脚 XTAL1,输出端引脚为XTAL2这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。本次设计选择振荡频率为12MHZ勺石英晶体。一c?30pF CULT-1L4匚X1rCRYSTAIXTAL13CpF TEX718XTAL2图晶振电路2、复位电路设计AT89C5啲复位是由外部的复位电路实现的。 复位引脚RST通过一个施密特触发器与复 位电路相连,施密特触发器用来抑制噪声,在每个

6、机器周期的S5P2施密特触发器的输出电平由复位电路采样一次, 然后才能得到内部复位操作所需 要的信号。复位电路通常采用上电复位和按钮复位两种方式, 本次设计采用上电 复位方式。图复位电路3、开关、按键电路本次设计采用开关、按键电路来控制步进电机的正转、反转、加速、减速、步数。并且由单片机的P2 口对其进行控制。5、总电路图图总电路图四、软件程序设计1、程序设计思路通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入 加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成 2个部分的工作才能满足课题要求,即主程序部分、定时器中断部分,其中主程序 的主要功能是系统初始参数

7、的设置及启动开关的检测,若启动开关合上则系统开 始工作,反之系统停止工作;定时器中断器部分,控制按键标志位值的改变,从 而可以控制主程序中步进电机转速、转向、步数。3、程序#include#define uchar unsigned char#define uint unsigned intn=P2;if(n!=0x7f) return 1;elseuint temp=4,flag=0; int k=100,m=0;return 0; void delay(uint z)uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void timer0() interru

8、pt 1switch(P2)case 0xde:if(check_key1()=1) sbit P2_5=P2A5;sbit P2_6=P2A6;sbit P2_7=P2A7;delay(5);if(check_key1()=1) temp=0; P1=0xf0;uchar check_key1()uchar n;P2=0xff;n=P2;if(n!=0xdf)return 1;elsereturn 0;uchar check_key2()uchar n;P2=0xff;n=P2;if(n!=0xbf)return 1;elsereturn 0;uchar check_key()uchar n

9、;P2=0xff;break;case 0xdd: if(check_key1()=1) delay(5);if(check_key1()=1)temp=1;P1=0xf0; break;case 0xbb:if(check_key2()=1)delay(5);if(check_key2()=1) temp=2; while(check_key2(); break;case 0xb7:if(check_key2()=1)delay(5);if(check_key2()=1) temp=3;while(check_key2(); break;case 0x6f: if(check_key()=1

10、)delay(5);if(check_key()=1) flag+; if(flag=2) flag=0;while(check_key();break;void sudu0()if(temp=2) k+=200; if(k=1000) k=1000; temp=0; if(temp=3)k-=200;if(k=1000) k=1000;temp=1;if(temp=3)k-=200;if(k=0)k=100;temp=1;sbit P1_0=P1A0;sbit P1_仁 P1A1;sbit P1_2=P1A2;sbit P1_3=P1A3;void main(void)TMOD=0x01;E

11、A=1;ET0=1;TR0=1;P1_0=0;P1_1=0;P1_2=0;P1_3=0;while(1)for(m=1;m=8;m+)if(flag=0)if(temp=0) switch(m) case 1:P1_0=1delay(k)break;case 2:P1_3=0; delay(k); break;case 3:P1_1=1; delay(k); break;case 4:P1_0=0; delay(k); break;case 5:P1_2=1; delay(k); break;case 6:P1_1=0; delay(k); break;case 7:P1_3=1; delay

12、(k); break;case 8:P1_2=0; delay(k); break;sudu0();if(flag=1)P1=0xe0; if(P1=0xe0) break;if(temp=1)switch(m)case 1:P1_3=1; delay(k); break;case 2:P1_0=0; delay(k); break;case 3:P1_2=1; delay(k); break;case 4:P1_3=0; delay(k); break;case 5:P1_1=1; delay(k); break;case 6:P1_2=0; delay(k); break;case 7:P

13、1_0=1; delay(k); break;case 8:P1_1=0; delay(k); break;if(flag=0) P1=0xd0; if(P1=0xd0) break;if(temp=1)switch(m) case 1: P1_0=0; P1_3=1; P1_2=1; delay(k); break;case 2:P1_3=0;P1_2=1;P1_1=1; delay(k); break;case 3:P1_2=0;P1_1=1;P1_0=1; delay(k); break;case 4:P1_1=0;P1_0=1;P1_3=1; delay(k); break;sudu1

14、();if(flag=0)P1=0xd0; if(P1=0xd0)sudu1(); if(flag=1) P1=0xe0; if(P1=0xe0) break; if(flag=1)if(temp=0)switch(m)case 1: P1_3=0; P1_0=1; P1_1=1; delay(k); break;case 2:P1_0=0;P1_1=1;P1_2=1; delay(k); break;case 3:P1_1=0;P1_2=1;P1_3=1; delay(k); break;case 4:P1_2=0;P1_3=1;P1_0=1; delay(k); break;sudu0()

15、;break;五、新的体会因为微机课和单片机课没怎么学好, 故感觉在做这个设计时有点困难,比如 汇编程序。后来决定用c来编写程序,这样稍微轻松点,在设计程序中涉及到了 中断程序的编写,发现已学的理论知识完全用不上来, 也许这就是理论脱离时间 的结果,在期间恶补了单片机的中断知识及其相应的程序编写。通过这次课程设计实验,我对步进电机调速控制系统有了实际的了解和认识 提高了动手能力。本次实验把书本上、课堂上学到的知识灵活地运用到实际的实 物上,感觉是对学以致用的一种锻炼和考验 提高了用所学知识解决实际问题的能力,加深和巩固的对知识的理解和掌握。控制电路、驱动电路、测速反馈电路、 步进电机几个模块的

16、整合,也实际中提高了自己对系统的认识,有了些整体的概 念和思维观。实验是团队合作完成的,从设计电路到设计软件,然后仿真到做硬件 做出符合要求的控制系统,不仅从实际中锻炼了动手能力而且学会了团队合作 , 互相学习,提高自己。这次的课程设计总的感觉就是很累,但在不断的学习机实践当中学到了很多 东西,知识的提高那是最基础的,中断,电路工作及相关的知识都是得到了提升; 然后就是个人处理问题能力的提高, 虽然说这次的设计不算一个大的项目, 但也 算是小的雏形,课题的选择,前期的准备,理论的实践,知识的提高,处理实际 问题及后期的总结归纳。 付出去收获往往是成正比的,这次的课程设计中得到了充分的体现。总的来说,这次设计的步进电机控制电路还是比较成功的 在设计中遇到了很多问题,最后在自己的思考下,宿舍大家一起经过激烈的探讨下, 终于游逆而 解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值, 达到了理论 与实际相结合的目的。不仅学到了不少知识,而且锻炼了自己的能力,使自己对 以后的路有了更加清楚的认识。同时,对未来有了更多的信心。最后,对文老师 表示忠心的感谢,老师,你辛苦了。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1