资源描述
安阳师范学院
单片机课程设计
课题:单片机控制步进电机正反转设计
系 别: 物理与电气工程学院
专 业: 电气工程及其自动化
姓 名: 陈玉琦(组长)
学 号: 1411540
指导老师: 陈永超
目录
一.设计目的·········································4
二.设计要求·········································4
三.总体设计思路·····································4
四.硬件设计·········································5
1 系统复位电路····································5
2 系统时钟电路····································6
3 系统电机及驱动部分······························7
4 系统的显示电路··································8
五.软件设计·········································9
1 主程序的设计····································9
2 显示子程序的设计································10
六.整体电路图······································14
七.电路仿真········································15
八.设计总结········································16
附录················································18
参考文献············································21
步进电机正反转设计
一、设计目的
目的:系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案;
任务:完成所选题目的分析与设计,达到技术性能要求。提交正式课程设计总结报告一份。
二、设计要求:
1.具有速度和转向设定功能。
2.设置开始、停止以及正反转键。
3.转速以及转向由数码管显示。
三 、总体设计思路
方案与思路
因为步进电机的控制是通过脉冲信号来控制的,将电脉冲信号转变为角位移或线位移的开环控制元件。所以怎样产生这个脉 冲信号和产生怎样的信号是电机控制的关键。
用软件控制单片机产生脉冲信号,通过单片机的P1口输出脉冲信号,因为所选电机是两相的,所以只需要P1口的低四位 P1.0~P1.3分别接到电机的四根电线上。可以通过调整输出脉冲的频率来调整电机的转速,通过改变输入脉冲的顺序来改变转动方向,P0口接LED数码管,可以显示当前的电机转速和转向,设置复位键可使正在转动的电机停止转动,大概可分为如下图所示的几部分。
p0.0~p0.7
AT89C51
单片机
p2.0~p2.3
p1.0~p1.3
p3.0~p3.4
四位数码显示管
控制按键
复位部分
步进电机
驱动
部分
外部晶
振电路
图1 系统方框图
四 、硬件设计
1.系统复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。
在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,这样复位键有复位和停止两个功能,如图所示。
图2复位电路
从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。在本系统中,采用10uF的电容和100kΩ的电阻来实现复位电路。当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。
2.系统的时钟电路
时钟电路是用于产生单片机工作时所必需的时钟信号。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。在本系统中采用外部时钟方式的电路,如图所示:
图3系统的时钟电路
在本设计中的电容C1、C2典型值为30±10 pF。外接代内容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。同时,在系统中采用12MHz的晶体振荡器来产生时钟脉冲。这样可以满足系统在设计时的机器周期的需要。
3电机驱动电路
由单片机直接输出的脉冲不足以驱动步进电机正常工作所以需要驱动电路给步进电机提供电源,在本设计中采用型号为ULN2003A的芯片,使步进电机正常工作。驱动信号由P1口的P1.0~P1.3输出,分别与驱动芯片的B1~B4相连,电路如下图所示:
图4 系统的驱动电路
4 显示电路
显示电路中采用四位LED数码管显示,最左边一位作为转动方向位,正转时不显示,反转时显示“--”,后边三位显示转速,左边为低位,右边为高位,转速的单位为转\分。为了提高数码管的显示效果,在数码管的输入端接上拉电阻。在本设计中采用型号为7SEG-MPX4的四位LED数码管,显示控制字由P0口输出,P0.0~P0.7分别与数码管的A~dp连接,位控制口由P2口的P2.0~P2.3输出,分别与数码管的1、2、3、4连接。电路如图所示:
图5 系统的显示电路
五 软件设计
1.主程序的设计
主程序需具备的功能,要不断扫描P3口并判断K1和K2是否闭合,并能根据其电平高低,输出不同的控制脉冲,并调用显示子程序显示转速及方向。
主程序
初始化程序
逆序输出脉冲
K2闭合?
K1闭合?
正序输出脉冲
调用显示子程序1
调用显示子程序2
N
Y
N
Y
图6 主程序设计流程图
2.显示子程序的设计
显示速度
输出位控制字
返回主程序
调用延时子程序
正转显示
输出断码控制字
反转显示
置初始值
置初始值
图7 显示程序流程图
系统的程序如下:
主程序:
ORG 00H
START: MOV R0,#03H
MOV R4,#00H
MOV P1,#03H
WAIT: MOV P1,R0 ;初始角度,0度
MOV P3,#0FFH
JNB P3.0,POS ;判断键盘状态
JNB P3.1,NEG
SJMP WAIT
JUST: JB P3.1,NEG ;首次按键处理
POS: MOV A,R4 ;正转9度
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A
ACALL DIR
INC R4
AJMP KEY
NEG: MOV R4,#6
MOV DPTR,#TAB1 ;反转9度
MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DIRF
AJMP KEY
KEY: MOV P3,#03H ;读键盘情况
MOV A,P1
JB P3.0,FZ1
CJNE R4,#08H,LOOPZ ;是结束标志
MOV R4,#00H
LOOPZ: MOV A,R4
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A ;输出控制脉冲
ACALL DIR ;程序延时
INC R4 ;地址加1
AJMP KEY
FZ1: JB P3.1,KEY
CJNE R4,#255,LOOPF ;是结束标志
MOV R4,#07H
LOOPF: DEC R4
MOV A,R4
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A ;输出控制脉冲
ACALL DIRF ;程序延时
AJMP KEY
TAB1: DB 02H,06H,04H,0CH
DB 08H,09H,01H,03H ;正转模型资料
显示子程序:
DIR:MOV DPTR,#TABL1 ;正转显示
AJMP DIR1
DIRF:MOV DPTR,#TABL2 ;反转显示
DIR1:MOV R1,#00H
MOV R2,#04H
MOV R3,#0F7H
DIR2:MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
MOV A,R3
MOV P2,A
RR A
MOV R3,A
INC R1
ACALL DELY
DJNZ R2,DIR2
RET
DELY:MOV R6,#20H ;延时
D1:MOV R7,#56H
LOOP:DJNZ R7,LOOP
DJNZ R6,D1
RET
TABL1:DB 06H,06H,06H,00H ;正转
TABL2:DB 06H,06H,06H,40H ;反转
END
六、整体电路图
七、电路仿真
绘制完电路图后,将编好的程序输入软件内检查所编程序是否正确,检查程序无误后装入单片机内,进行防真。
系统进入仿真模式后,令正转键K1闭合,步进电机正转工作,可以看到如下图所示:
图8 电机正转
在正转时,如果按下复位键,电机会停止转动,数码管也将不显示转速。
反转键K2闭合,步进电机开始反转工作,显示的转速为负值,如下图所示:
图9 步进电机反转
七 设计总结
为期一周的单片机课程设计已经结束了,虽然感到时间有点儿紧,但是我还是圆满地完成了这次设计。通过本次设计使我对步进电动机有了深入的了解,平时我们接触的电动机主要是直流电动机和交流电动机,很少见到步进电动机,所以我对步进电机几乎是一无所知。在辅导老师指导下,然后自己在图书馆翻阅有关书籍和上网,搜集到了不少有关步进电动机的知识。
经过我的不懈努力,把步进电机的结构、工作原理及控制其正、反转等一一弄明白了,但是这离课程设计需要掌握的知识相差甚远,我只能不断的向老师和同学请教,然后仔细的揣摩。在这次课程设计中,通过用单片机控制步进电机的正、反转,我也对单片机的知识也进行了复习和巩固。在学习单片机的时候觉得学了一点用都没有,通过这次设计让我明白了单片机的功能如此的强大。实践是检验真理的唯一标准,学习再多的理论也只能纸上谈兵,只有把理论应用到实践中,才能检验出理论的真伪。
通过这次的课程设计,我不仅把单片机的有关知识系统的复习了一遍,而且学会了各种设计电路的软件,提高自己的实际动手能力和独立思考的能力,这次设计实在是让我获益匪浅。
附录 步进电机概述
1.步进电机的组成
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。如果给步进电机一个持续脉冲,也可以使电机固定在某一角度,因此步进电机还有定位的功能,可以用于起重机上。 其内部结构如下图所示:
图10 步进电机内部结构示意图
2.步进电机的工作原理
以三相步进电机为例,电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て。
图11 工作原理
如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。
如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。
如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。
如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て
这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果连续不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,A……通电,电机就反转。
3 控制步进电机的转动
按照一定的顺序向步进电机的各相分配驱动脉冲。对于四相步进电机,如果采用单四拍方式,其脉冲的方式和顺序是A-B-C-D-A,就这样循环就可以转动。如果采用四相八拍方式,其脉冲分配的方式和顺序是A-AB-B-BC-C-CD-D-DA-A。(以四相八拍方式为例,编码是低电平有效)
表1 四相步进电机励磁工作方式示例
编码结果
A
B
C
D
07
0
1
1
1
03
0
0
1
1
09
1
0
1
1
0B
1
0
0
1
0D
1
1
0
1
0C
1
1
0
0
0E
1
1
1
0
06
0
1
1
0
4控制转动方向
控制转动方向,只需考虑在脉冲分配时注意其顺序即可,对于四相步进电机,若脉冲分配方式和顺序是A-B-C-D-A为正转,则其反转脉冲分配方式和顺序是A-D-C-B-A。
参考文献:
张毅坤 陈善久 裘雪红编著,单片微型计算机原理及应用,西安电子科技大学出版社
汪道辉主编,单片机系统设计与实践,电子工业出版社出版
胡辉主编,单片机原理及应用设计,中国水利水电出版社
张靖武 周灵彬编著,单片机系统的PROTEUS设计与仿真,电子工业出版社出版
22
展开阅读全文