基于单片机和proteus的步进电机控制 课程设计及论文.docx

上传人:b****5 文档编号:2903444 上传时间:2022-11-16 格式:DOCX 页数:14 大小:187.02KB
下载 相关 举报
基于单片机和proteus的步进电机控制 课程设计及论文.docx_第1页
第1页 / 共14页
基于单片机和proteus的步进电机控制 课程设计及论文.docx_第2页
第2页 / 共14页
基于单片机和proteus的步进电机控制 课程设计及论文.docx_第3页
第3页 / 共14页
基于单片机和proteus的步进电机控制 课程设计及论文.docx_第4页
第4页 / 共14页
基于单片机和proteus的步进电机控制 课程设计及论文.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于单片机和proteus的步进电机控制 课程设计及论文.docx

《基于单片机和proteus的步进电机控制 课程设计及论文.docx》由会员分享,可在线阅读,更多相关《基于单片机和proteus的步进电机控制 课程设计及论文.docx(14页珍藏版)》请在冰豆网上搜索。

基于单片机和proteus的步进电机控制 课程设计及论文.docx

基于单片机和proteus的步进电机控制课程设计及论文

 

基于单片机和Proteus的步进电机控制

 

专业:

机械工程

班级:

研1610班

姓名:

王万凯

学号:

160802002137

指导教师:

陈成军

日期:

2017年1月2日

 

目录

0.前言1

1.电路基本理论1

2.方案设计2

3.硬件电路的工作原理2

3.1步进电机模块3

3.2控制模块3

3.3LCD显示模块3

4.软件编程4

4.1程序流程图4

4.2MCS-51单片机引脚功能5

4.3源程序6

5.系统调试和结果分析9

5.1电机正转运行9

5.2电机反转运行10

5.3电机停止转动10

6.结论及进一步设想11

参考文献12

基于单片机和proteus的步进电机控制

摘要:

单片机以其较小的体积、低成本、高可靠性、高附加值等优点实现了过去一个很复杂的电路所能实现的功能,因而被广泛的应用,也取代了经典的控制系统;步进电机是一种将电脉冲转变为角位移的执行机构,可通过控制脉冲数来控制角位移量,从而达到准确的定位目的,也可通过控制脉冲的频率来控制电机的转速和加速度;本文通过proteus的单片机仿真来实现其功能,并且能够在仿真中看见十分近似于真实的结果。

关键词:

单片机;proteus;步进电机

0.前言

步进电机是一种将电脉冲转变为角位移的执行机构,通俗一点讲:

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。

可通过控制脉冲数来控制角位移量,从而达到准确的定位目的,也可通过控制脉冲的频率来控制电机的转速和加速度;从而达到调速的目的。

本文通过对步进电机的软件设计和硬件设计包括步进电机的结构、原理及应用,根据原理和硬件的设计利用c语言编写程序,经过反复运行和调试,实现单片机对步进电机的控制。

1.电路基本理论

步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的驱动电路根据控制信号工作,控制信号由单片机产生。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。

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

控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。

控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。

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

 

2.方案设计

基于单片机和proteus的步进电机控制电路的基本组成如图1所示。

 

图1基于单片机和proteus的步进电机控制电路的原理框图

根据设计要求,采用的方案如下。

硬件部分实现电机转动和速度显示功能,包括控制开关模块;电机转动模块和速度显示模块。

软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动,由电机反馈回来的数据经单片机控制显示器显示数据.。

3.硬件电路的工作原理

3.1步进电机模块(如图2所示)

图2步进电机

功能:

单片机输出的程序通过转换器和电机驱动器给步进电机一个脉冲信号,使步进电机实现正转与反转。

3.2控制模块(如图3所示)

图3控制模块

功能:

通过控制台实现对单片机程序的开与关。

3.3LCD显示模块(如图4所示)

图4LCD显示器

功能:

通过单片机输出的电机反馈信号使LCD显示器显示出步进电机的转动状态。

4.软件编程

4.1程序流程图:

(如图5所示)

图5程序流程图

4.2MCS-51单片机引脚功能:

(如图6所示)

图6单片机引脚图

1.电源线:

VCC:

+5V电源。

VSS:

地线。

2.RST:

复位信号线。

当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复初始化操作。

3.信号引脚介绍

P0.0~P0.7:

P0口8位双向口线。

P1.0~P1.7:

P1口8位双向口线。

P2.0~P2.7:

P2口8位双向口线。

P3.0~P3.7:

P3口8位双向口线。

4.XTAL1和XTAL2:

外接晶振引脚。

当使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

5.控制引脚:

ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。

(1)-EA/Vpp(31脚):

外部程序存储器地址允许输入端。

第二功能:

固化编程电压输入端。

(2)ALE/-PROG(30脚):

地址锁存允许信号端。

第二功能:

编程脉冲输入端。

(3)-PSEN(29脚):

程序存储允许输出信号端。

4.3源程序:

#include

#defineucunsignedchar

#defineuiunsignedint

sbitKEY=P3^3;

sbitP1_0=P1^0;

sbitP3_0=P3^0;加速

sbitP3_1=P3^1;减速

sbitP3_5=P3^5;正

sbitP3_6=P3^6;反

sbitP3_7=P3^7;停止

ucFlag;

uccodefan[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

uccodezheng[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};

uispeed=1000,time;

voiddelay(uit)

{

while(t--);

}

voidxianshi(ucf)//显示转向

{

P1_0=0;P0=f;

delay(5);

}

voidSpeedup()//加速

{

time=speed;

time=time-100;

if(time<100)

time=100;

}

voidSpeeddown()//减速

{

time=speed;

time=time+100;

if(time>2000)

time=2000;

}

voidmain()

{

uci;

EX1=1;//外部中断1开

IT1=1;//边沿触发

EA=1;//全局中断开

P0=0xff;

while

(1)

{

while(Flag==0)

{

for(i=0;i<7;i++)

{

xianshi(0x5b);//显示Z标示正转

P2=zheng[i];

delay(speed);

}

}

while(Flag==1)

{

for(i=0;i<7;i++)

{

xianshi(0x71);//显示F标示反转

P2=fan[i];

delay(speed);

}

}

while(Flag==2)//停止

{

P2=0;

xianshi(0x6D);//显示S

}

}

}

voidISR_Key()interrupt2

{

delay(500);

if(!

KEY)

{

if(P3_5==0)

Flag=0;

if(P3_6==0)

Flag=1;

if(P3_7==0)

Flag=2;

if(P3_0==0)

Speedup();

if(P3_1==0)

Speeddown();

}

}

5.系统调试和结果分析

5.1电机正转运行(如图7所示)

图7电机正转结果图

 

电机正转显示Z

 

5.2电机反转运行(如图8所示)

图8电机反转结果图

电机反转显示F

5.3电机停止转动(如图9所示)

图9电机停止转动图

电机停止转动显示S

 

6.结论及进一步设想

本设计采用51单片机AT89C51(晶振频率为12MHZ)对四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。

通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。

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

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

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

通过ULN2003构成步进电机的驱动电路,电路图如图1所示。

51的25-28口接ULN2003的1-4输入端。

另外,用键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为2位单个数码管的显示驱动。

74LS164带锁存,使用串行接法可以节约I/O口资源。

其电路图如图2所示。

通过51的TXD和RXD口对CLK和DATA发送数据。

设计的步进电机基本能实现预期目标,经过调试和修改,但还是存在问题,比如按开关的时候会出现不稳定情况,转速有时比较乱,显示有时也有些不理想,后面的工作就是在软件和硬件等方面进行修改,以完全达到预期目标。

 

参考文献

[1]刘复华.单片机及其应用系统.北京:

清华大学出版社,1992

[2]李斌,董慧颖.可重组机器人研究和发展现状.沈阳工业学院学报,2000,19(4):

23-27

[3]李朝清,单片机原理及接口技术[M].北京:

北京航空航空航天大学出版社,1999

[4]刘文涛,MCS-51单片机培训教程[M].北京:

北京工业出版社,2005:

141-145

[5]李仁定.电机的微机控制.机械工业出版社,1999

[6]李铁才,杜坤梅.电机控制技术.哈尔滨工业大学出版社,2000

[7]宁爱华.步进电机的微机控制方法与高速特性分析.西南民族大学学报(自然科学版),2003

 

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

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

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

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