单片机控制步进电机.docx

上传人:b****2 文档编号:2434966 上传时间:2023-05-03 格式:DOCX 页数:14 大小:109.80KB
下载 相关 举报
单片机控制步进电机.docx_第1页
第1页 / 共14页
单片机控制步进电机.docx_第2页
第2页 / 共14页
单片机控制步进电机.docx_第3页
第3页 / 共14页
单片机控制步进电机.docx_第4页
第4页 / 共14页
单片机控制步进电机.docx_第5页
第5页 / 共14页
单片机控制步进电机.docx_第6页
第6页 / 共14页
单片机控制步进电机.docx_第7页
第7页 / 共14页
单片机控制步进电机.docx_第8页
第8页 / 共14页
单片机控制步进电机.docx_第9页
第9页 / 共14页
单片机控制步进电机.docx_第10页
第10页 / 共14页
单片机控制步进电机.docx_第11页
第11页 / 共14页
单片机控制步进电机.docx_第12页
第12页 / 共14页
单片机控制步进电机.docx_第13页
第13页 / 共14页
单片机控制步进电机.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机控制步进电机.docx

《单片机控制步进电机.docx》由会员分享,可在线阅读,更多相关《单片机控制步进电机.docx(14页珍藏版)》请在冰点文库上搜索。

单片机控制步进电机.docx

单片机控制步进电机

目录

摘要3

第一章设计要求和目的4

第二章设计方案论证5

第三章步进电机概述6

3.1步进电机的组成6

3.2步进电机旋转原理6

3.3步进电机的特点7

第四章硬件的设计8

4.1单片机系统8

4.2复位电路..............8

4.3时钟电路8

4.4步进电机控制设计9

4.5按键的设计9

第五章软件的设计11

5.1软件选择单三拍的工作方式11

5.2程序流程图...................................11

第六章设计总结与心得13

参考文献.............................................14

附录A程序清单15

附录B原理图17

摘要

本次课程设计我们组主要是设计了一个可以控制正反转,步数可控的步进电机控制电路。

采用拨码开关对正反转和步数进行设置,将设置好的信号发送给单片机,对单片机进行编程,就可以使单片机发出控制信号去驱动步进电机转动,但是由于单片机的驱动电流太小,因此我们在单片机和步进电机之间接了两级驱动电路。

为了使步进电机步数控制的分级多,采用矩阵键盘。

Thisprojectaimedtodevelopawirelesssystemtodetectandallowonlytheauthorizedpersons.ThesystemwasbasedonRadioFrequencyIdentification(RFID)technologyandconsistsofapassiveRFIDtag.Thepassivemicrotranspondertagcollectspowerfromthe125KHzmagneticfieldgeneratedbythebasestation,gathersinformationabouttheTagIDandsendsthisinformationtothebasestation.Thebasestationreceives,decodesandcheckstheinformationavailableinitsDatabaseandManchestercodewasusedtosendthoseinformation.Thesystemperformedasdesiredwitha10cmdiameterantennaattachedtothetransponder.TheBaseStationisbuiltbyusingthePopular8051familyMicrocontroller.ItgetsthetagIDandifthetagIDisstoredinitsmemorythenthemicrocontrollerwillallowthepersoninside.

RFIDReaderModule,arealsocalledasinterrogators.TheyconvertradiowavesreturnedfromtheRFIDtagintoaformthatcanbepassedontoControllers,whichcanmakeuseofit.RFIDtagsandreadershavetobetunedtothesamefrequencyinordertocommunicate.RFIDsystemsusemanydifferentfrequencies,butthemostcommonandwidelyusedReaderfrequencyis125KHz.

 

第一章设计要求和目的

1.设计要求

1)可实现步进电机起停控制,一键实现;

2)可实现步进电机正反转控制,一键实现;

3)可实现步进电机步数控制,分别按不同的键来控制步数,步数分别为3、6、9、12、15、18、21、24、27步

4)要可以实现自锁功能,当键按下后,键盘上锁,不进电机不接受步数输入,也不会转。

5)电机运转要有正转反转指示灯。

6)电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。

本题目的关键之处是:

如何生成控制步进电机的脉冲序列。

2.设计目的

1)了解步进电机的内部结构

2)掌握步进电机的转动以及三相单三拍的运动原理

3)掌握步进电机的接口与控制

4)掌握单片机的内部结构,输出接口以及控制原理

 

第二章设计方案论证

设计方案

本系统中89C51作为控制系统的核心,用按键分别实现步进电机开关的起停、正反转以及速度控制,步进电机类型为三相四线(5V),工作于单双拍混合方式,采用单片机外围接口来驱动其工作。

整体设计以模块划分为主,硬件、软件相结合,分模块进行设计和调试,最后将各个模块衔接起来。

方案论证

本设计采用51单片机AT89C51(晶振频率为12MHZ)对三相四线制步进电机进行控制。

通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号从P0口输出来控制步进电机。

电动机的步数控制通过P1口和P3.0口控制,由矩阵开关来输入。

步进电机的运转由P3.1口控制,当开关闭合电机运转。

步进电机的正转和反转由P3.2和P3.3来控制,当P3.2闭合时,可以实现电机的正转。

当P3.3闭合时可以实现步进电机的反转。

 

第三章步进电机概述

3.1步进电机的组成

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

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

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

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

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

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

3.2步进电机的旋转原理

步进电机的转子上均匀地分布着40个齿,齿间(齿距)夹角为9°(360°/40),定子上有6个大齿,相差180°的两个大齿组成一相,共有A、B、C三相。

每个大齿上有若干个与转子上一样的小齿。

定子的每一相都有励磁绕组。

1.三相三拍运行方式

(1)当A相通电时,B相、C相不通电:

A相定子上的齿与转子上的齿对齐(通电后磁场力作用的结果),迫使电机旋转3°;B相定子上的齿顺时针超前转子上相应的齿3°;C相定子上的齿顺时针超前转子上相应的齿6°。

(2)当B相接通电时,A相、C相不通电:

B相齿对齐,电机旋转3°;C相超前3°A相超前6°

(3)当C相通电时,B相、A相不通电。

C相齿对齐,电机旋转3°;A相超前3°;B相超前6°

因此,如果定子A、B、C三相按A→B→C→A的顺序依次通电,则步进电机将不断地按顺时针方向转动。

每一次通电转3°,每三次通电才走完一个齿距,因此叫三相三拍。

如果把顺时针叫正转,那么当通电顺序按A→C→B→A进行时,则电机反时针旋转,叫反转。

可见控制步进电机正转反转只是三相绕组通电顺序不同而已。

3.3步进电机的特点

  1.一般步进电机的精度为步进角的3-5%,且不累积。

2.步进电机外表允许的最高温度。

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3.步进电机的力矩会随转速的升高而下降。

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

  4.步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

  步进电机有一个技术参数:

空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。

在有负载的情况下,启动频率应更低。

如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

  步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。

伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。

 

第四章硬件的设计

4.1单片机系统设计

本系统中采用单片机作为微控制器。

其片内资源有32个并行I/O口,5个中

断源,包括2个16位定时器,2个外部中断和一个串行中断。

4.2系统复位电路

复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。

除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。

在系统中,为了实现上述的两项功能,常采用的按键电平复位电路,如图5所示。

图5按键电平复位电路

从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。

在本系统中,采用10uF的电容和10kΩ的电阻来实现复位电路。

当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。

4.3时钟电路

时钟电路是用于产生单片机工作时所必需的时钟信号。

时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。

时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

在本系统中采用内部时钟方式的电路,如图6所示。

图6时钟电路

电路中的由于晶振为11.0592MHz,所以电容C1、C2典型值为30pF。

外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。

同时,在系统中采用11.0592MHz的晶体振荡器来产生时钟脉冲。

一方面,可以满足系统在设计时的机器周期的需要;另一方面,在进行串行口通讯的时候能够提供精准的通讯波特率。

4.4步进电机控制设计

本系统中我们用单片机的P0^0接步进电机的A端控制信号,P0^1接B的控制信号,P0^2接C的控制信号,P0^3接D的控制信号,步进电机工作于单双拍混合模式。

4.5按键设计

用矩阵按键来控制步进电机的步数,其输入到P1口,当按键按下,其相应的步数应得以实现。

步进电机的启动与停止收开关控制,其输入到P3.1口,正转开关输入到P3.2口,反转开关输入到P3.3口。

 

第五章软件设计

5.1软件选择单三拍的工作方式

单三拍的通电方式为A→B→C→A……,要想达到这个目的,只需依次向P1口输出如下控制字:

P1.2P1.1P1.0编码

(C相)(B相)(A相)

001(01H)A相通,B、C相断

010(02H)B相通,A、C相断

100(04H)C相通,A、B相断

要想控制步进电机反转,只需把输出的控制字的次序按:

01H(A)→04H(C)→02H(B)→01H(A)→组合即可。

5.2程序流程图

 

第六章设计总结与心得

课程设计总结

本次课程设计我们采用AT89C51单片机做了一个步进电机的控制系统。

通过这两周的努力我们学到了很多。

首先基本熟悉了MCS51系列单片机的输入输出、外部中断、串行口中断等单片机的内部资源功能,熟悉并掌握了按键设计,和28BYJ—48类型步进电机的工作原理等。

经过进两周的课程设计,最大的感受就是“只要你想做,你就能做到”。

最初开始对步进电机的控制等方面可以说是一片空白。

但是后来经过慢慢的查找资料,分析资料和实验调试最终还是成功了。

另外就是实验过程中,难免会出现一些问题,比如说单片机不工作、电机不转等,遇到问题并不可怕,可怕的是不着手去解决问题。

我们仔细分析各个模块,不断测试发送和接收的数据终于将系统运行流畅了。

这两周我们不仅学到了相关专业知识,更学到了很多调试程序的经验和方法。

相信这次的成功会给增强我们以后做事的信心。

这次为期两周的课程设计,我们所做的是利用89C51设计步进电机控制电路。

其实步进电机的原理很简单,就是将给定的电脉冲信号转变成角位移。

在这次课程设计中,我所做的主要是硬件电路设计。

软件方面,主要就是我们的组长了。

在后来,我也在组长他们的帮助下对程序有所掌握。

因为编写程序是需要长时间积累的,所以我想我很难独立完成的。

这是我们在学习单片机后第一次近距离接触单片机,通过这次实践,我们终于可以将理论与实践相结合进而更好地去理解掌握课本知识。

在整个课程设计的过程中,我感觉我们这个团队真得太重要了。

尽管可能每个人在其中的作用有轻有重,但是我们相信如果我们失去其中任何一位,我们将不会这么顺利地完成这次课设任务的。

很珍惜这次团结协作的机会,我们非常开心。

总之来说,我们的这次课题设计是很成功的,我们成功的实现了单片机控制步进电机的步数控制,控制步进电机的正反转。

同时也理解了怎样合作,怎样组合。

我们队的人员都无私的奉献,积极的互相帮助,我相信我们通过这次的合作不仅仅收获到知识,更正要的是团队合作,因为我们以后的工作可能会很注重团队合作,因此我们的这次设计为我们以后的工作打下了很好的基础。

参考文献

[1]谢辉.单片机原理及应用.[M]北京:

化学工业出版社,2010.8

[2]刘海宽.单片机实验与实训教程.[M]南京:

东南大学出版社,2009.1

[3]楼然苗等.51系列单片机设计实例.[M]北京:

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

[4]周向红.51系列单片机应用与实践教程.[M]北京:

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

[5]张志良.单片机原理与控制技术.第2版.北京:

机械工业出版社,2005

[6]李光飞,楼然苗等.单片机课程设计实例指导.北京:

清华大学出版社,2004

 

附录A

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitStart=P3^2;//开始键

sbitzz=P3^3;//正转键

sbitfz=P3^4;//反转键

unsignedcharcodeF_Rotation[4]={0x08,0x10,0x20,0x40};

unsignedcharcodeB_Rotation[4]={0x40,0x20,0x10,0x08};

voidDelay(unsignedinti)//延时

{

while(--i);

}

voidDelay_1ms(uinti)//延时程序

{

ucharx,j;

for(j=0;j

for(x=0;x<=148;x++);

}

voiddelay()

{

inti,j;

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

for(j=0;j<=2;j++)

;

}

voidDelay1(uintdel)

{

uinti,j;

for(i=0;i

for(j=0;j<1827;j++)

;

}

ucharKeyscan(void)//按键程序

{

uchari,j,temp,Buffer[4]={0xef,0xdf,0xbf,0x7f};

for(j=0;j<4;j++)

{

P1=Buffer[j];

delay();

temp=0x01;

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

{

if(!

(P1&temp))

{

return(i+j*4);

}

temp<<=1;

}

}

}

voidmain()//主函数

{

uchari;

uintb,a=0;

while

(1)

{

P1=0xf0;

if(P1!

=0xf0)

{

Delay_1ms(15);//按键消抖

if(P1!

=0xf0)

{

b=Keyscan();读键值

}

}

a=32*b;//设置步进电机的步数,一圈为64步

if(fz==0)//是否为反转

{Delay1

(2);

if(fz==0)

{while(a--)

{

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

{

P0=F_Rotation[i];//反转

Delay(500);

}

}

}

}

elseif(zz==0)

{Delay1

(2);

if(zz==0)//是否为正转

{while(a--)

{

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

{

P0=B_Rotation[i];//反转

Delay(500);

}

}

}

}

if(a==0)//步数是否转完

{

return;//转完返回

}

}

}

附录B

 

 

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2