基于51单片机 步进电机课程设计综述Word文档格式.docx

上传人:b****3 文档编号:15832547 上传时间:2022-11-16 格式:DOCX 页数:17 大小:312.71KB
下载 相关 举报
基于51单片机 步进电机课程设计综述Word文档格式.docx_第1页
第1页 / 共17页
基于51单片机 步进电机课程设计综述Word文档格式.docx_第2页
第2页 / 共17页
基于51单片机 步进电机课程设计综述Word文档格式.docx_第3页
第3页 / 共17页
基于51单片机 步进电机课程设计综述Word文档格式.docx_第4页
第4页 / 共17页
基于51单片机 步进电机课程设计综述Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于51单片机 步进电机课程设计综述Word文档格式.docx

《基于51单片机 步进电机课程设计综述Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机 步进电机课程设计综述Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

基于51单片机 步进电机课程设计综述Word文档格式.docx

目录

第1章设计目的1

第2章设计任务与要求2

第3章设计思路与方案2

3.1控制电机正/反向转3

3.2控制电机运转速度3

第4章硬件电路设计3

4.1主控模块4

4.2驱动控制模块5

4.3按键控制模块6

4.4显示模块7

第5章系统软件设计8

5.1主程序8

5.2子程序9

第6章系统仿真9

6.1KEIL调试控制程序9

6.2Proteus仿真10

第7章收获与体会12

附录1总电路图14

附录2源程序清单16

步进电机简易控制系统设计

第一章设计目的

步进电机是现代数字控制技术中最早出现的执行部件,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;

同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

需要单片机产生脉冲序列和方向控制控制信号。

步进电机的特点是可以将数字脉冲控制信号直接转换为一定数值的机械角位移.并且能够自动产生定位转矩使转轴锁定。

对控制系统的研制中最基本的要求就是性能可靠和结构简单。

利用AT89S52单片机来设计和开发步进电机的控制系统,可以很好地满足这一要求。

驱动程序写入AT89S52单片机中,通过程序控制步进电机的转速与转向。

实现软件与硬件相结合的控制方法,使步进电机运行稳定、可靠性高,达到对步进电机的最佳控制。

第2章设计任务与要求

(1)能用按键控制步进电机的正反装运行。

(2)能在一定范围内控制电机的加速和减速。

(3)在不断电的情况下能通过一个按钮能随时控制电机的停止。

(4)能显示电机当前的运行情况。

第3章设计思路与方案

对步进电动机的控制,接口采用软件方法控制步进电动机的旋转。

步进电动机的驱动电路由ULN2003A芯片实现,并通过90C52芯片的P1.0~P1.6端口引脚出发,然后通过ULN2003A芯片再驱动电动机。

操作部分共分为五个操作按钮:

正转、反转、暂停、加速、减速。

其中正反转通过接入步进电机绕组的不同相序来实现。

加速、减速是通过延时时间的改变调整输入电机绕组的频率实现。

停止按钮则保证随时可以在不断电源情况下暂停。

五个操作按键分别通过90C52芯片的P3.0~P3.4口读取正/反转控制信号(K1、K2)、启/停(K0)以及加速/减速控制(K3、K4)的值。

对步进电机简易控制系统的设计,其具体情况可以根据任务要求从以下几个方面来考虑:

3.1控制电机正/反向转

步进电动机某一项绕组通电时,在其内部形成N-S极,产生磁场,在磁场的作用下,转子将会转动,步进一步。

若步进电动机按顺序给绕组通电,步进电动机将沿顺时针方向转动。

若步进电动机按逆序给绕组通电,则步进电动机将沿逆时针方向转动。

因而只要控制脉冲输出的顺序,就可实现对步进电动机正/反转的控制。

3.2控制电机运转速度

步进电动机运转的速度是由输入到电机绕组的频率所决定的。

频率越高,电动机运转的速度越快,否则,速度就越慢。

因而通过延时程序控制输出脉冲的频率,就可以实现对步进电动机转速的控制。

第4章硬件电路设计

步进电机简易控制系统设计包含了主控模块、按键控制模块、驱动控制模块、显示模块四个模块。

其功能实现是首先利用按键模块输入所要执行的任务,然后通过主控模块调用所对应的程序并把信息送给步进电机,使电机按照所按下的按钮命令来运转,同时在显示屏上显示当下的运行状态。

从而实现步进电机简易控制系统设计的功能。

其硬件总电路图如附录一所示。

4.1主控模块

主控模块采用的是89C52单片机芯片来控制。

89C52是一个8位单片机,片内ROM全部采用FLASHROM技术,晶振时钟为12MHz。

89C52是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。

第31引脚需要接高电位使单片机选用内部程序存储器;

P3口的引脚10到引脚14分别接正转按钮、反转按钮、暂停按钮、加速按钮、减速按钮;

引脚1到引脚7分别接芯片LN2003A的1、2、3、4引脚。

芯片接线简图如图1所示。

图190C52芯片图

4.2驱动控制模块

驱动电路主要是利用PNP、NPN、二极管等组成的电路,电路图如下图2所示,电路中的PC0、PC1、PC2、PC3分别接单片机AT89C52的P1.0、P1.1、P1.2、P1.3;

电路接5V高电平,目的是驱动电机,使电机正常工作。

图2驱动电路图

4.3按键控制模块

按键模块有五个按钮,正转按钮、反转按钮、加速按钮、减速按钮和暂停按钮,它们分别控制电机的正向转动、反向转动、加速、减速和随时暂停。

如下图2所示:

K1正向转动按钮一端接单片机AT89C52的P3.0(引脚10),K2反向转动按钮一端接单片机AT89C52的P3.1(引脚11),K3暂停按钮接一端单片机AT89C52的P3.2(引脚12),K4是加速按钮一端接单片机AT89C52的P3.3(引脚13),K4是减速按钮一端接单片机AT89C52的P3.4(引脚14),同时都接地。

当按下其中任意一个键时,其状态的变换都会通过相应的端口输入单片机,从而完成控制的输入。

图3按键控制模块图

4.4显示模块

使电机正常工作。

P2.0口控制位显示,P0.0~P0.6控制段显示。

同时都通过一个上拉电阻接高电平,上拉电阻起到限流作用。

图4显示模块

第5章系统软件设计

5.1主程序

主程序的源程序见附录二源程序清单表,正转子程序及主程序设计流程图如下图4图5所示:

图5

图6

5.2子程序

子程序有正\反转子程序、正转加\减速子程序、反转加\减速子程序、延时子程序和显示子程序。

它们的源程序见附录二源程序清单表。

第6章系统仿真

6.1KEIL调试控制程序

调试程序具体步骤如下:

(1)打开Keil编译软件。

(2)新建一个项目,在项目里进行设置,转换成HEX文件。

(3)将刚写好的汇编语言程序添加进去。

(4)点击编译生成后缀名为“.HEX”的文件。

6.2Proteus仿真

打开Proteus上的单片机控制步进电机电路图,点击AT89C52单片机,调用后缀名为.”HEX”的文件。

点击运行,观察现象。

当按下Proteus软件上的开始按钮时,电机不转动。

其显示如图6所示:

图7暂停转动图

当按下K2按钮时,电机则正向转动,电机转动一段时间后的显示图如图8所示:

图8反向转动图

当按下K1按钮时,电机开始正向转动,电机上显示的是转过的角度。

下面是当电机反向转动一段时间后的显示图如图7所示:

图9正向转动图

当按下按钮K4或K5时,电机相应的做加速转动或减速转动,但加速或减速到一定范围是则不能再加速或减速了。

K3是控制电机的暂停,任意时刻按下K3按钮,电机就停止转动。

当再次按下按钮K1或K2按钮时电机又重新开始工作。

第7章收获与体会

此次课程设计也许我们小组的每一位成员都收获了许多。

实验前,我们对单片机电脑仿真软件完全没有概念,而且我们收到的方案要求比较迟,所以在接收到方案时我们完全不知道自己究竟要干什么。

然后我们上网查了很多资料,并且学着用isis及KeiluVision2软件去进行仿真分析,此次课程设计使我对步进电机的控制有了更深的了解,对单片机也有了更高层次的了解。

也使我意识到许多地方的缺陷,所谓基础不牢地洞山摇。

单片机编程是用汇编语言进行编程,也就需要我们对电路的分析,然后总结,查阅相关资料才能变成好的程序,编程讲究的是多动手写,自己写,用自己的思路,不怕写错,写错再改,懂得有新的思想这样才能提高。

设计前首先要考虑好要实现的基本功能,选择和设计好相应的硬件电路及程序架构,软硬结合,同时考虑到以后想要扩展功能,因此硬件电路及程序架构应有可扩展的潜力,这就要求进行程序设计应尽可能考虑利用各种中断,使CPU资源有效利用,同时尽可能扩展IO口,实现IO口的最大利用。

如若只是利用查询方式,则光是实现步进电机的控制与发光二极管的控制,就已经是相当的勉强。

其次,要考虑到步进电机的步距角及要求的最小的脉冲周期,这就涉及到延时程序的延时时间选择,要使电机转得动,延时时间不能过小,又要转的明显,延时时间不能过大,同时,又要使加速、常速、减速的梯度比较明显,即延时时间的控制要有技巧。

最后,成员的有效分工,充分要利用各成员的优势,能使事倍功半。

通过本次实验,我们小组受益匪浅。

一方面,我们将课堂上的理论知识应用到了实际,加强巩固了理论知识,也提高了实际动手能力,通过实践反馈,了解到我们自身知识面的不足。

另一方面,在实验过程中,遇到问题时候,我们小组列出可能问题,一一进行排查,找出问题的所在,队员之间分工明确,团结合作,本次实验正是通过队员之间的合作实现的。

参考文献

参考文献

1、《单片机原理及应用》王迎旭 

机械工业出版社

2、《微型计算机接口技术及应用》 

刘乐善等华中科技大学出版社

3、《51系列单片机应用与实践教程》 

周向红 

北京航空航天大学出版社

4、C程序设计》(第三版) 

谭浩强 

清华大学出版

附录1总电路图

附录2源程序清单

;

程序功能:

开关控制步进电机正反转

数码管显示0表示电动机正转

;

1表示电动机反转

2表示电动机正转加速

3表示电动机正转减速

4表示电动机反转加速

5表示电动机反转减速

键的端口定义K1EQUP3.0;

正转键

K2EQUP3.1;

反转键

K3EQUP3.2;

停止键

K4EQUP3.3;

加速

K5EQUP3.4;

减速

主程序

STOP:

MOVP1,#0FFH;

关闭P1口

LOOP:

JNBK1,Z_M2;

正转键按下转正转扫描部分

JNBK2,F_M2;

反转键按下转反转扫描部分

JNBK3,STOP1;

停止键按下转停止部分

JMPLOOP

-----------------------------;

键盘消抖

STOP1:

ACALLDELAY

JNBK3,$

JMPSTOP

Z_M2:

JNBK1,$

JMPZ_M

F_M2:

JNBK2,$

JMPF_M

---------------------------;

正转子程序

Z_M:

MOVR0,#00H

Z_M1:

MOVR7,#0

ACALLDISPLAY

MOVA,R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

JZZ_M

MOVP1,A

JNBK3,STOP1

JNBK2,F_M2

JNBK4,A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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