步进电机控制系统毕业设计Word文档格式.docx

上传人:b****4 文档编号:17958034 上传时间:2022-12-12 格式:DOCX 页数:19 大小:581.08KB
下载 相关 举报
步进电机控制系统毕业设计Word文档格式.docx_第1页
第1页 / 共19页
步进电机控制系统毕业设计Word文档格式.docx_第2页
第2页 / 共19页
步进电机控制系统毕业设计Word文档格式.docx_第3页
第3页 / 共19页
步进电机控制系统毕业设计Word文档格式.docx_第4页
第4页 / 共19页
步进电机控制系统毕业设计Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

步进电机控制系统毕业设计Word文档格式.docx

《步进电机控制系统毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《步进电机控制系统毕业设计Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

步进电机控制系统毕业设计Word文档格式.docx

1、第6-7周:

确定设计任务,查找资料,拟定设计方案;

2、第8-9周:

软、硬件功能划分,系统硬件电路的设计;

3、第10-11周:

软件结构设计、设计软件流程图并编制相应的软件;

4、第12-13周:

系统工作原理分析,综合调试;

5、第14-15周:

整理资料,拟定毕业设计报告初稿;

6、第16周:

检查定稿,准备答辩;

7、第17-18周:

答辩。

主要参考文献、资料(写清楚参考文献名称、作者、出版单位):

[1]樊明龙.任丽静编.单片机原理与应用[M].化学工业出版社,2005.

[2]徐爱卿编.单片微型计算机应用和开发系统[M].北京航空航天大学出版社,1998.

[3]张伟编.单片机原理及应用[M].机械工业出版社.2003.

[4]胡汉才编.单片机原理及接口技术[M].清华大学出版社.2005.

[5]吴金戌编.8051单片机实践与应用[M].清华大学出版社,2003.

教研室负责人:

年月日

备注:

任务书由指导教师填写,一式二份。

其中学生一份,指导教师一份。

摘要

步进电机作为执行元件,是机电一体化的关键产品之一,普遍应用在各类自动化控制系统中。

随着微电子和运算机技术的进展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机是将电脉冲信号转变成角位移或线位移的开环控制元件。

在非超载的情形下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载转变的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无积累误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的超级的简单。

普遍应用于自动控制和精密机械等领域,尤其在需要精准定位时应用得更为普遍。

本控制系统是采用单片机提供电脉冲信号通过驱动电路放大信号后,驱动步进电机转动。

通过软硬件结合使得步进电机可实现匀速运转、加速运转、减速运转、正反转切换等功能。

本系统硬件主要由最小应用系统、键盘控制电路和功能电路组成。

其中单片机采用AT89C51驱动,通过由ULN2003芯片组成的放大电路,差遣四相八拍步进电机35BYJ46型。

关键词:

AT89C51单片机;

步进电机;

ULN2003;

绪论

随着经济建设和城市的迅速进展,步进电机控制系统在工业进程控制中取得了普遍的应用,尤其在需要精准定位场合中应用得更为普遍。

步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种把输出机械位移增量和输入数字脉冲对应的驱动器件。

步进电机具有快速启停能力,只要电机的负荷不超过它所能提供的动态转矩,就可以通过输入脉冲来控制它在一刹时启动和停止。

步进电机控制系统是采用单片机提供电脉冲信号通过驱动电路放大信号后,驱动步进电机转动。

使电性能实现正向或反向运转,电性能加速运转、减速运转,并能按给定速度匀速运转。

系统设计包括硬件设计和软件设计。

硬件设计主要包括最小应用系统、I/O接口电路和功能电路的设计。

软件设计包括流程图设计和程序设计。

程序主要包括步进电机正向、逆向控制程序,加速、减速控制程序,按给定速度匀速运转程序,延时程序。

在本控制系统中,单片机采用AT89C51芯片,步进电机为35BYJ46型。

通过软硬件结合使得步进电机可实现按给定速度匀速运转、加速运转、减速运转、正反转切换等功能,可通过键盘选择步进电机的转速、方向,同时还考虑了系统的抗干扰技术。

步进电机的步距角和转速只和输入的脉冲频率有关,与环境温度、气压、冲击和振动无关,也不受电网电压的波动和负载转变的影响,它每转一周都有固定的步数,步进精准和步距误差不会长期积累。

步进电性能够对旋转角度和转动速度进行高精度的控制,因此,作为控制执行部件,步进电机在需要精准定位场合应用普遍。

第1章硬件系统设计

1.1最小应用系统设计

单片机的最小应用系统是指能够维持单片机运行的最简单的配置系统,如图1-1所示。

最小应用系统主要由AT89C51单片机、时钟电路和复位电路组成。

1.1.1AT89C51单片机

AT89C51单片机是片内无程序存储器的单片机。

在其扩展片外程序存储器时,由于P0口是数据线、地址线分时复用的,故P0口输出的低8位必需经地址锁存器进行锁存,提供地址总线的低8位A0~A7。

由于P2口一直提供高8位地址,故不需要外加地址锁存器,直接提供地址总线的高8位A8~A15。

在本系统设计中,由于扩展的是EPROM2716芯片,故P2口直接提供地址总线的高3位。

ALE用于锁存P0口输出的低8位地址的控制线。

PSEN用于片外程序存储器的读控制。

AT89C51是40引脚双列直插式封装的集成电路芯片,基引脚排列如图1-2所示。

4个并行口共有32根引脚,能够别离作地址线、数据线和I/O线;

2根电源线;

2桶时钟振荡电路引脚和4根控制线。

AT89C51单片机引脚功能列表:

1.CPU

CPU也叫中央处置器,是单片机的核心部件,主要完成单片机的运算和控制功能。

其内部由运算器和控制器组成。

(1)运算器:

包括算术逻辑单元ALU、布尔处置器、累加器ACC、寄放器B、暂存器TMP1和TMP二、程序状态字PSW寄放字PSW寄放器及十进制调整电路等。

(2)控制器:

包括按时控制逻辑、指令寄放器、译码器和信息传送控制部件等。

以实现控制功能。

2.内部存储器

单片机内的存储器包括程序存储器和数据存储器,它们彼此独立。

(1)程序存储器(ROM):

为只读存储器,用于寄存程序指令、常数及数据表格。

(2)数据存储器(RAM):

为随机存储器,用于寄存数据。

数据存储器又可分为北部数据存储器和外部数据存储器。

3.按时器/计数器

MCS-51单片机内部有2个16位的按时器/计数器,用于实现北部按时或外部计数的功能,并一路按时或计数的结果来实现控制功能。

4.中断系统控制

MCS-51单片机具有中断功能,以知足控制应用的需要。

MCS-51共有5个中断源,即外部中断2个,按时器/计数器中断2个,串行口中断一个。

全数中断可分为高级和低级两个优先级别。

5.并行I/O口

MCS-51单片机内部共有四个8位的并行I/O口,以实现数据的并行输入和输出。

6.全双工串行口

MCS-51单片机还有一个全双工的串行口,以实现单片机与外部之间的串行数据传送。

1.1.2时钟电路

单片机的时钟信号用来提供单片机内各类微操作的时刻基准,时钟电路用于产生单片机工作所需要的时钟信号。

MCS-51单片机的时钟信号通常常利用两种方式取得:

内部振荡方式和外部振荡方式。

本系统设计采用内部振荡方式,如图1-3所示。

MCS-51片内有个高增益的反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体振荡器或陶瓷谐振器和微调电容,组成了稳固的自激振荡器,其发出的脉冲直接送入内部的时钟电路。

电容C1和C2对频率有微调作用,电容值一般取30pF左右,振荡频率范围是~12MHZ。

MCS-51在通常情形下,利用振荡频率为6MHZ的石英晶体,而12MHZ频率的晶体主要在高速串行通信情形下利用。

振荡脉冲信号通过内部时钟发生器进行二分频以后,才能够成为单片机的时钟信号。

1.1.3复位电路

复位是单片机的初始化操作,其目的是使CPU及各专用寄放器处于一个肯定的初始状态。

如:

把PC的内容初始化为0000H,使单片机从0000H单元开始执行,除进入系统的正常初始化之外,当单片机系统在运行犯错或操作错误使系统处于死锁状态时,为摆脱窘境,也需要复位以使其恢复正常工作状态。

RST端的外部复位电路有两种操作方式:

上电自动复位和按键手动复位。

按键手动复位有电平方式和脉冲方式两种,本系统设计采用的是上电复位,如图1-4所示。

1.2功能电路设计

1.2.1键盘控制电路

键盘是运算机不可缺少的输入设备,是实现人与运算机对话的纽带,在单片机应用系统中常常利用独立式键盘与行列式键盘(矩阵式键盘)。

独立式键盘配置灵活,软件结构简单,适合于按键数量较少的场合,故本系统设计中采用独立式键盘。

独立式键盘是指各按键彼此独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平),键盘电路接一个与门电路就组成了完整的键盘控制电路。

如图1-五、1-6所示。

1.2.2步进电机电路

因此,步进电机在需要精准定位场合应用普遍。

本设计选用35BYJ46型四相八拍步进电机。

通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一个矢量磁场,该磁场会带动转子旋转必然角度,使得转子的一对磁场方向与定子磁场一致。

当定子的矢量磁场旋转一个角度,转子也随着该磁场转一个角度。

每输入一个电脉冲,电动机转动一个角度前进一步。

它输出的角位移与输入的脉冲数成正比,转速与脉冲频率成正比。

改变绕组通电的顺序,电动机就会反转。

所以可用控制脉冲数量、频率及电机各相绕组的通电顺序来控制步进电机的转动。

电机四相绕组如图1-7所示。

1.2.3ULN2003电路

AT89C51单片机通过ULN2003芯片组成的放大电路来驱动四相八拍步进电机。

ULN2003是高耐压、大电流达林顿陈列,有七个硅NPN达林顿管组成。

ULN2003的每一对达林顿都串联一个的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连。

能够直接处置原先需要标准逻辑缓冲器来处置的数据。

如图1-8所示。

ULN2003工作电压高、工作电流大,灌电流可达500mA,而且能够在关态时经受50V的电压,输出还能够在高负载电流并行运行。

ULN2003采用DIP-16或SOP-16塑料封装。

ULN2003的特性如表1-二、表1-3所示。

1.3系统工作原理

步进电机控制系统原理图如附录1所示。

由图可知,可通过键盘选择步进电机的转速、转向。

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此超级适合于单片机控制。

步进电机可分为反映式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路按照控制信号工作,控制信号由单片机产生。

其大体原理作用如下:

(1)控制换相顺序

通电换相这一进程称为脉冲分派。

例如:

三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必需严格依照这一顺序别离控制A,B,C,D相的通断。

(2)控制步进电机的转向

若是给定工作方式正序换相通电,步进电机正转,若是按反序通电换相,则电机就反

(3)控制步进电机的速度

若是给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

两个机脉冲的距离越短,步进电就转得越快。

调整单片机发出的脉冲频率,就可以够对步进电机进行调速。

第2章软件设计

2.1步进电机——四相八拍工作方式

2.1.1四相八拍工作方式

四相八拍方式—单相绕组和双相绕组交替施加电流脉冲方式。

以AT89C51的P0口接步进电机的绕组,输出控制电流脉冲。

“1”通入电脉冲,“0”无电脉冲。

2.1.2步进电机转向控制

步进电机按四相八拍方式来工作,在A、B、C、D四相绕组上依次输入脉冲的顺序如下所示。

步进电机正转:

AABBBCCCDDDA

步进电机反转:

由上图可见:

只要控制脉冲输出的顺序改变就可以够对步进电机正/反转的控制。

2.2步进电机控制系统工作流程

以单片机为核心,设计步进电机控制系统,具有以下功能:

开机时电机不转动

1.按下正转键,步进电机匀速正向旋转,然后从头获取按键情形;

2.按下停止键,步进电机停止转动,然后从头获取按键情形;

3.按下反转键,步进电机匀速反向旋转,然后从头获取按键情形;

4.按下加速键,步进电机以当前方向加速旋转,然后从头获取按键情形;

5.按下减速键,步进电机在加速前提下减速到匀速旋转,然后从头获取按键情形;

2.3系统流程图

总结

通过本次毕业设计——步进电机控制系统的设计,使我从中学到许多知识。

在做毕业设计的这段时刻里,通过上网、在校图书馆查找资料,整理资料,尽力认真的完成了毕业设计。

本次所设计的步电机控制系统是采用AT89C51型单片机驱动步进电机转动,主要由单片机最小应用进系统、扩展电路和功能电路组成。

可通过键盘控制步进电机的转速、方向,使电性能实现正向或反向运转的切换,电性能加速运转、减速运转。

使我对步进电机及其工作原理有了更深刻的熟悉。

步进电性能够对旋转角度和转动速度进行高精度的控制。

作为控制执行部件,普遍应用于自动控制和精密机械等领域,尤其在需要精准定位时应用得更为普遍。

在这期间通过我的尽力和指导老师熊建云老师的耐心指导,和在同窗的帮忙下顺利的完成了本次毕业设计,使我学会了综合性的运用三年内所学知识分析解决问题,知道了如何设计一个系统,拓展了知识面,动手动笔能力取得充分锻炼,在以后的工作、学习中将受益非浅。

参考文献

[2]徐爱卿编.单片微型运算机应用和开发系统[M].北京航空航天大学出版社,1998.

[5]吴金戌编.8051单片机实践与应用[M].清华大学出版社,2003

附录

附录1整机电路图

附录2源程序

#include<

>

#defineucunsignedchar

#defineuiunsignedint

ucscan_key1,scan_key2;

//按键功能选择,00停止,01正转10反转

ucstep1,step2;

staticstep_index;

uicount1,count2;

//按时

ucbutter;

//按键

staticspeed;

//速度参数

//////////////////函数声明///////////////////////

//***********************************

voidground(step);

//转步

voidrun1();

//正转

voidrun2();

//反转

voidstop();

//停止

voiddelay(uitime);

//************************************

voidmain(void)

{

step2=0;

step1=0;

P1=0xff;

P0=0;

EX1=1;

EA=1;

//开中断

speed=2010;

while

(1)

{

if((scan_key1==1)&

(scan_key2==0))//正转

ground(step_index);

delay(speed);

step_index++;

//大于7,从头再来

if(step_index>

7)

step_index=0;

}

if((scan_key1==0)&

(scan_key2==1))//反转

{

step_index--;

if(step_index<

0)//小于0,从头再来。

step_index=7;

if(scan_key1==0&

scan_key2==0)//停止

P0=0xff;

if(step1==1&

step2==0)//加速

speed=speed-100;

if(speed<

1000|speed==1000)//小于话,说明电机的速度不能再提高了。

{

speed=1000;

//speed参数自己设定

}

if(step1==0&

step2==1)//减速

speed=speed+100;

//这里面的参数,论实际情形更改

if(speed>

2500|speed==2500)//若是小于了,就说明到饿低速,能够用停止按键停止。

{speed=2500;

//低速运行

}

//******************************************

//******************延时子程序**************

voiddelay(uitime)///延时程序

{for(count1=0;

count1<

time;

count1++)//此处能够用中断进行准确按时。

for(count2=0;

count2<

3;

count2++);

//*********************************************************

//******************按键处置程序***************************

voidkey(void)interrupt2

uci;

for(i=0;

i<

200;

i++);

//延时防抖

if(P3_3==0)

butter=~P1;

//扫描P1口,查找按下的键盘

switch(butter)

{case0x01:

scan_key1=1;

scan_key2=0;

break;

//正常运行,用两个数字进行选择

case0x02:

scan_key1=0;

break;

//停止

case0x04:

scan_key1=0;

scan_key2=1;

//加速

case0x08:

step1=1;

step2=0;

//减速

case0x10:

step2=1;

default:

;

//其它值返回

P1=0XFF;

//**************************************************

//**********************转步************************

voidground(step_index)//转步

switch(step_index)

{

case0:

//0//这里就说明了同步电机是怎么转的。

P0_0=1;

P0_1=0;

//+225

P0_2=0;

P0_3=0;

case1:

//0,1

P0_1=1;

//+180

case2:

//1

P0_0=0;

//+135

case3:

//1,2

//+90

P0_2=1;

case4:

//2

//+45

case5:

//2,3

//+360//0

P0_3=1;

case6:

//3

//+315

case7:

//3,0

//+270

}

}

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

当前位置:首页 > 求职职场 > 简历

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

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