单片机课程设计_步进电机正反转
- 格式:doc
- 大小:148.72 KB
- 文档页数:20
单片机课程设计
课题:单片机控制步进电机正反转设计
系别:物理与电气工程学院
专业:电气工程及其自动化
姓名:陈玉琦(组长)
学号:*******
****:***
目录
一.设计目的 (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数码管,可以显示当前的电机转速和转向,设置复位键可使正在转动的电机停止转动,大概可分为如
下图所示的几部分。
图1 系统方框图
四、硬件设计
1.系统复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。
在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,这样复位键有复位和停止两个功能,如图所示。
图2复位电路
从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。在本系统中,采用10uF的电容和100kΩ的电阻来实现复位电路。当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。
2.系统的时钟电路
时钟电路是用于产生单片机工作时所必需的时钟信号。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。在本系统中采用外部时钟方式的电路,如图所示:
在本设计中的电容C1、C2典型值为30±10 pF。外接代内容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。同时,在系统中采用12MHz的晶体振荡器来产生时钟脉冲。这样可以满足系统在设计时的机器周期的需要。
3电机驱动电路
由单片机直接输出的脉冲不足以驱动步进电机正常工作所以需要驱动电路给步进电机提供电源,在本设计中采用型号为ULN2003A的芯片,使步进电机正常工作。驱动信号由P1口的P1.0~P1.3输出,分别与驱动芯片的B1~B4相连,电路如下图所示:
+12V
图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是否闭合,并能根据其电平高低,输出不同的控制脉冲,并调用显示子程序显示转速及方向。
图6 主程序设计流程图
2.显示子程序的设计
图7 显示程序流程图
系统的程序如下:
主程序:
ORG 00H
START: MOV R0,#03H
MOV R4,#00H
MOV P1,#03H
W AIT: MOV P1,R0 ;初始角度,0度MOV P3,#0FFH
JNB P3.0,POS ;判断键盘状态
JNB P3.1,NEG
SJMP W AIT
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