步进电机控制器设计Word格式.docx
《步进电机控制器设计Word格式.docx》由会员分享,可在线阅读,更多相关《步进电机控制器设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
本系统具有智能性、实用性及可靠性的特点。
关键词:
步进电机单片机电脉冲驱动系统
目录
1、课程设计目的及要求……………………………………4
2、系统需求分析……………………………………………4
3、硬件系统分析……………………………………………6
4、设计小结…………………………………………………10
5、程序及流程图……………………………………………11
6、参考文献…………………………………………………13
1.课程设计目的及要求
1.1课程设计目的
通过课程设计,主要达到以下目的:
1、增强学生的动手能力,同时加深对单片机原理的理解。
2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、I/O口等。
3、使学生了解和掌握单片机应用系统的软硬件设计思想、原则、过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
1.2课程设计要求
第一阶段:
设计一种摆角模式,电机以设定转速(自定)顺时针转动90°
后,延时1秒,再自动反转90°
,然后再顺时针转,如此循环。
分别采用单四拍和单双八拍方式驱动。
第二阶段:
设计4个功能按键K1-K4,分别控制步进电机的启动、停止、正转、反转、加速、减速,其中启停、正反转功能各由一个键实现。
键盘电路要求采用独立式键盘接口形式。
第三阶段:
使用2x2的矩阵键盘实现第二阶段的功能,并使用4位8段数码管显示电机转速(r/min)和转向,显示格式举例:
0120。
012代表转速为12r/min,0代表电机正转(反转定义为1)。
电机停止时全部显示0。
2.系统需求分析
2.1步进电机控制工作原理
步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。
步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。
从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。
四相步进电机的工作方式有单四拍、双四拍和单双八拍3种。
步进电机
2.1.1步进电机的启停控制
步进电机由于其电气特性,运转时会有步进感,即振动感。
为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,提高电机运行的平稳性。
在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机的转轴不能自由转动。
2.1.2步进电机的转向控制
电机驱动方式可以采用双四拍(AB→BC→CD→DA→AB)方式,也可以采用单四拍(A→B→C→D→A)方式,或单、双八拍(A→AB→B→BC→C→CD→D→DA→A)方式。
三种工作方式的时序图分别如下:
(图示为高电平有效)
双四拍单四拍单,双八拍
2.1.3步进电机的速度控制
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
2个脉冲的间隔越短,步进电机就转得越快。
调整送给步进电机的脉冲频率,就可以对步进电机进行调速。
2.2系统设计思路
我们本次设计的步进电机控制系统主要使用51单片机作为控制器,达林顿管ICULN2003作为功放来驱动步进电机,通过单片机输出脉冲信号,由软件实现脉冲的分配和脉冲的频率调节。
可以通过开关来控制系统的启/停工作,步进电机的正、反转和前进、后退的状态。
其总体设计框图1所示:
3.硬件系统分析
3.1主要元件简介
3.1.1AT89C51单片机
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器。
其特性如下:
(1)面向控制的8位CPU;
(2)一个片内振荡器和时钟产生电路,振荡频率为0~24MHz;
(3)片内4KB
Flash
ROM程序存储器;
(4)128B的片内数据存储器;
(5)可寻址64KB的片外程序存储器和片外数据存储器控制电路;
(6)2个16位的定时/计数器;
(7)4个并行I/O接口,共32条可单独编程的I/O线;
(8)5个中断源,2个中断优先级;
(9)一个全双工的异步接口;
(10)21个特殊功能寄存器;
(11)具有节电工作方式。
图2.AT89C51引脚图
3.1.2ULN2003晶体管
本设计采用ULN2003A芯片。
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
3.2模块分析
3.2.1时钟晶振电路
时钟电路是整个系统的心脏,控制着步进电机工作节奏。
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:
内部振荡和外部振荡。
图3中的外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30PF左右,晶振频率选12MHz。
图3时钟电路
3.2.2复位电路
单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。
复位操作有两种情况,即上电复位和手动(开关)复位。
本系统采用上电复位方式。
图4复位电路
3.2.3步进电机键盘接口电路
独立按键:
一个按键占用单独的一个I/O口;
矩阵键盘:
为了节省I/O口,通常将按键排列成矩阵形式,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
图5键盘接口电路
3.2.4数码管显示电路
led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
图6数码管显示图
3.2.5系统总电路
图7电路总体仿真图
4.设计小结
本设计以AT89C51单片机为控制核心,利用其很好的处理能力,以及丰富的外围接口,同时可以直接利用数字脉冲实现精确运动的执行部件等特点对步进电机进行了很好的控制,本设计系统有如下优点:
(1)结构简单,控制部分成本低廉,维护方便。
(2)配置灵活、方便、易于扩展。
通过这次步进电机的综合设计我学到了如何进行步进电机选择,了解了单片机在工业上的使用,以及单片机的编程、扩展口的使用。
学会了采用8位单片机对步进电机进行控制,通过I/O接口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片驱动步进电机以达到预期的控制要求
。
在此次设计过程中,通过不断摸索,开拓了思维,同时也解决了不少以前尚未弄明白的问题,使自己的技术知识得到了巩固,提高了自己操作的能力。
这次设计过程中,虽然遇到了一些问题,但是通过自己的仔细思考和研究,并在老师以及同学的帮助下,许多疑难问题都得到了解决。
对自己的知识面和技术水平的提高有很大的帮助。
通过设计我也认识到自己的不足,对细节的东西学的不够透彻,对知识深度的挖掘不够。
同时我也感悟到与别人合作的快乐,团结就是力量,通过与同学的交流可以很快的学到很多东西。
5.程序:
一阶段:
单四拍:
;
********************************************************************
**
*ME950单片机开发系统演示程序-步进电机正反转*
*步进电机步进角为7.5度。
*
*单四拍工作方式:
*A--B--C--D-A(即一个脉冲,转7.5度)*
ORG0000H
AJMPMAIN
ORG0050H
**********************************************************
MAIN:
MOVP0,#0FFH;
端口初始化
MOVP2,#0FFH
MOVP1,#0F0H
LOOP:
MOVR3,#3;
正转90度,30*3=90度
FFW:
ACALLMOTOR_F
DJNZR3,FFW
MOVP1,#0F0H;
使步进电机掉电
ACALLDELAY1;
延时2s
反转90度,30*3=90度
REV:
ACALLMOTOR_R
DJNZR3,REV
AJMPLOOP
步进电机正转30度子程序
一个脉冲转7.5度,4个脉冲转30度。
MOTOR_F:
MOVR0,#00H
FFW1:
MOVA,R0
MOVDPTR,#TABLE_F
MOVCA,@A+DPTR
MOVP1,A
ACALLDELAY
INCR0
CJNER0,#04H,FFW1
RET
步进电机反转30度子程序
MOTOR_R:
REV1:
MOVDPTR,#TABLE_R
CJNER0,#04H,REV1
延时子程序(步进电机的转速)
DELAY:
MOVR7,#14
DEL1:
MOVR6,#230
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
1s延时子程序
DELAY1:
MOVR5,#10
DEL3:
MOVR7,#200
DEL4:
DJNZR6,$
DJNZR7,DEL4
DJNZR5,DEL3
单四拍工作方式编码
TABLE_F:
DB0F1H,0F2H,0F4H,0F8H;
正转表
DB00;
正转结束
TABLE_R:
DB0F8H,0F4H,0F2H,0F1H;
反转表
反转结束
END;
结束
单双八拍:
*单双八拍工作方式:
*A-AB-B-BC-C-CD-D-DA(即一个脉冲,转3.75度)*
MOVP1,#0F0H
反转90度,30*3=90度
一个脉冲转3.75度,8个脉冲转30度。
MOVR0,#00H
MOVCA,@A+DPTR
MOVP1,A
ACALLDELAY
CJNER0,#08H,FFW1
INCR0
CJNER0,#08H,REV1
MOVR7,#14
MOVR6,#250
MOVR5,#10
MOVR6,#100
单双八拍工作方式编码
DB0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H;
DB0F9H,0F8H,0FCH,0F4H,0F6H,0F2H,0F3H,0F1H;
6.参考文献
[1]
王晓明、
胡晓柏,电动机的单片机控制[M].北京航空航天大学出版社,2002年5月第1版:
181-208
[2]
刘宝延、
程树康,步进电动机及其驱动控制系统
[M]
.1997年11月第一版:
134-167
[3]
史敬灼,
步进电动机伺服控制技术[M]
.2007年3月第2版:
23-35
[4]
李海滨、
片春媛、
许瑞雪,
单片机技术课程设计与项目实例[J].
中国电力出版社,
2009版:
56-65
[5]刘国永,
陈杰平.
单片机控制步进电机系统设计.
安徽:
安徽技术师范学院学报,
2002,
16
(4)
:
61-63
[6]孙笑辉,韩曾晋.
减少感应电动机直接转矩控制系统转矩脉动的方法[J].
电气传动,
2001
(1)
8-11
[7]孙进平,张大鹏,丁金滨,51单片机系列单片机原理、开发与应用实例,中国电力出版社,2009
[8]赵建领,51单片机开发宝典,电子工业出版社,2008
[9]李群芳,肖看,清华大学出版社,2005