步进电机课程设计成果1.docx

上传人:b****2 文档编号:2461188 上传时间:2022-10-29 格式:DOCX 页数:26 大小:299.15KB
下载 相关 举报
步进电机课程设计成果1.docx_第1页
第1页 / 共26页
步进电机课程设计成果1.docx_第2页
第2页 / 共26页
步进电机课程设计成果1.docx_第3页
第3页 / 共26页
步进电机课程设计成果1.docx_第4页
第4页 / 共26页
步进电机课程设计成果1.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

步进电机课程设计成果1.docx

《步进电机课程设计成果1.docx》由会员分享,可在线阅读,更多相关《步进电机课程设计成果1.docx(26页珍藏版)》请在冰豆网上搜索。

步进电机课程设计成果1.docx

步进电机课程设计成果1

目录

第一章设计的目的和要求

1.1课程设计目的······································3

1.2课程设计任务······································3

1.3课程设计要求······································3

第二章总体设计思路与方案

2.1设计分工·········································4

2.2控制电机正/反向转·································4

2.3控制电机运转速度···································4

2.4控制电机转动角度···································4

第三章硬件设计

3.1主控模块·········································5

3.2按扭开关控制模块··································6

3.3驱动控制模块······································6

第四章软件设计·········································7

4.1主程序及其流程图·································8

第五章系统调试

5.1WAVE调试控制程序································9

5.2Proteus仿真······································9

第六章三个方案的融合

6.1最终方案的程序流程图及其主程序····················11

6.2设计中遇到的问题及解决方案·······················12

第七章结束语····································13

参考文献··········································13

附录一············································15

附录二············································16

第一章设计的目的和要求

1.1课程设计目的

《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

1.2课程设计任务

根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。

有关参数选择要求符合国家标准。

具体设计内容如下:

1.模拟步进电机、模拟交通灯模块、模拟键盘输入及显示模块。

2.设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;

3.系统控制程序设计、调试及实现:

(1)根据要求,写出完整的程序流程图;

(2)将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;

(3)按所设计的原理图,在实验平台上连线,检查无误;

(4)将目标文件传送到实验系统,执行并运行调试该程序,最终实现控制要求

4.写出设计说明书,说明书格式见附录,3000字左右

1.3课程设计要求

我选择课题的是课程设计——模拟步进电机,以下为实现步进电机的基本功能:

1.能控制步进电机作正向和反向运转,要有正转和反转控制按钮;

2.要求随时可以在不断电源情况下可以暂停,有一个暂停按钮。

3.按钮实现步进电机快速,慢速控制,拍数变换控制。

第二章总体设计思路

2.1设计分工

为了实现不同功能控制,根据步进电机控制系统设计要求,我们三个人分了三种方案,每个人负责一种方案,自己负责的方案实现电机的正反转,暂停和加减速功能,最后三个人方案整合到一起以实现电动机既能正反转,又能变拍还能实现变速以及定速功能,现将自己负责的方案一陈述如下:

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

步进电动机的驱动脉冲由80C31单片机编程实现,并通过80C31芯片的A端口的P2.0,P2.1,P2.2,P2.3引脚出发,然后再驱动电动机的A、B、C、D四相。

通过80C31芯片的P0口读取正/反转控制信号、暂停控制信号以及加速、减速控制信号的值,P1口用来读取按钮相对应的灯的状态。

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

2.2控制电机正/反向转

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

在这里我们选择步进电机以四相八拍方式工作,若按A→AB→B→BC→C→CD→D→DA→A次序通电为正转,则当按A→AD→D→DC→C→CB→B→BA→A次序通电为反转。

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

2.3控制电机运转速度

步进电动机运转的速度是由输入到A、B、C、D四相绕组的频率所决定的。

当改变CP脉冲的周期时,ABCD四相绕组高低电平的宽度将发生变化,这就导至通电和断电时速率发生了变化,使电机转速改变,所以调节CP脉冲的周期就可以控制步进电机的运转速度。

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

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

2.4控制电机转动角度

因为每输入一个CP脉冲使步进电机四相绕组状态变化一次,并相应地旋转一个角度,所以步进电机旋转的角度由输入的CP脉冲数确定。

第三章硬件设计

步进电机简易控制系统设计包含了主控模块、驱动模块、按扭开关控制模块三个模块。

其功能实现是首先利用按钮开关模块输入所要执行的任务,然后通过主控模块调用所对应的程序并把信息送给驱动模块,最后通过驱动模块驱动电机,使电机按照所按下的按钮命令来运转,从而实现步进电机简易控制系统设计的功能。

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

3.1主控模块

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

80C31是一个8位单片机,晶振时钟为12MHz。

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

第31引脚需要接高电位使单片机选用内部程序存储器;P0口的引脚39到引脚35分别接暂停按钮、正转按钮、反转按钮、加速按钮、减速按钮、快速按钮、慢速按钮、双四拍按钮、单双八拍按钮等;引脚21到引脚24分别接芯片LN2004A的1、2、3、4引脚;引脚12接中断电路的与门;芯片图如右图所示。

 

3.2按扭开关控制模块

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

如上图所示。

STOP暂停按钮接一端单片机80C31的P0.0(引脚39),正向转动按钮一端接单片机80C31的P0.1(引脚38),反向转动按钮一端接单片机80C31的P0.2(引脚37),加速按钮一端接单片机80C31的P0.3(引脚36),减速按钮一端接单片机80C31的P0.4(引脚35),同时都通过一个上拉电阻接高电平+5V。

他们的另一端都接地。

当按下其中任意一个键时,它就与地直接相连。

即为低电平产生中断,其中与门U4:

A与中断入口80C31的INT0(引脚12)相接。

3.3驱动控制模块

驱动电路主要是利用ULN2004A芯片来驱动电机。

ULN2004A的原理是ULN2004A是一个7路反向器电路,即当输入端为高电平时ULN2004A输出端为低电平,当输入端为低电平时ULN2004A输出端为高电平,继电器得电吸合。

如下图5所示。

ULN2004A的引脚1、2、3、4分别接单片机80C31的P2.0、P2.1、P2.2、P2.3;ULN2004A的1C引脚、2C引脚、3C引脚、4C引脚分别接电机的引脚A、B、C、D相;COM(引脚9)接电机公共端并与高电平+12V相接。

第四章软件设计

4.1主程序

主程序的源程序见附录二源程序清单表,主程序设计流程图如下图6所示:

 

图6

 

第五章系统调试

5.1WAVE调试控制程序

调试程序具体步骤如下:

(1)打开WAVE编译软件。

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

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

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

5.2Proteus仿真

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

点击运行,观察现象。

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

其显示如图7所示:

图七暂停转动图

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

图八正向转动图

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

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

图九反向转动图

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

任意时刻按下暂停按钮,电机就停止转动。

当再次按下按钮正转或反转按钮时电机又重新开始工作。

 

第六章三个方案的融合

6.1最终方案的程序流程图及其主程序

方案一二三融合之后综合方案主程序的源程序见附录二源程序清单表,其程序设计流程图如下图所示:

 

6.2设计中遇到的问题及解决方案

1.在用protues绘制原理图时P1口在连接LED灯时由于80C31的电压为5V,灯的导通电压为2V,保护电阻为10K,加载完程序后灯不亮,采用ACVOLTMETER测试LED灯的电压只有1.9V不足以导通,解决办法:

把保护电阻改为0.1K,之后LED灯正常发光。

2.在写程序时,我用P2口输出电动机的四相A、B、C、D的值。

单双八拍的工作方式初值使用@R0调用,但是在进入正反转程序时由于未加CJNEA,#18H,GO2MOVR0,#10H判别指令(MOV17H,#09H初值只到17H)所以当一次循环之后便没有脉冲送给电动机所以导致电动机运行一周后停止,解决办法:

加上判别指令,使电动机循环运转。

3.指示灯显示在操作按钮时,刚开始我提出的是循环点亮,即直接在MOVP2,@R0指令后面加上MOVP1,@R0指令就可以实现在P1口的LED灯的显示从而由灯的点亮方向和速度显示工作状态,但是考虑到试验箱的实际问题,灯的点亮速度过快,不能精确显示准确运行情况。

解决方法是和同组人员商量后在中断时软件作如下处理,即可实现各个运行情况单个指示灯点亮指示。

如当按下正转按钮时,相应正传指示灯亮,若在此时再按下快速按钮时,正传指示灯和快速指示灯同时点亮,这可以预定目的。

STOP:

SETBNO

SETBp1.0

clrp1.1

clrp1.2

clrp1.3

clrp1.4

RET;P1口暂停灯亮

FOR:

SETBZHENG

SETBp1.1

clrp1.0

clrp1.2

RET;P1口正转灯亮

REV:

SETBFAN

SETBp1.2

clrp1.1

clrp1.0

RET

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

当前位置:首页 > 医药卫生 > 基础医学

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

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