步进电动机的正反转控制电路设计.docx
《步进电动机的正反转控制电路设计.docx》由会员分享,可在线阅读,更多相关《步进电动机的正反转控制电路设计.docx(17页珍藏版)》请在冰豆网上搜索。
步进电动机的正反转控制电路设计
新疆农业大学机械交通学院
《单片机技术与应用》
课程设计说明书
题目:
步进电动机的正反转控制电路设计
专业班级:
电气工程及其自动化104班
学号:
学生姓名:
指导教师:
时间:
2013年6月
步进电动机的正反转控制电路设计
一、设计目的
通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。
二、设计内容
采用80C51单片机对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,控制步进电机实现正转,反转。
用按钮开关控制步进电机的转向,设两个开关其中一个按钮被按下时步进电机正转另一个按钮被按下时,则步进电机反转。
用数码管显示步进电机的转动方向,当电机正转时数码管显示CC,反转时显示AA。
三、设计步骤
1.硬件电路设计
1.1.硬件电路组成框图
因为步进电机的控制是通过脉冲信号来控制的,将电脉冲信号转变为角位移或线位移的开环控制元件。
所以怎样产生这个脉冲信号和产生怎样的信号是电机控制的关键。
用软件控制单片机产生脉冲信号,通过单片机的P1口输出脉冲信号,因为所选电机是两相的,所以只需要P1口的低四位P1.0~P1.3分别接到电机的四根电线上。
可以通过调整输出脉冲的频率来调整电机的转速,通过改变输入脉冲的顺序来改变转动方向,P0口接LED数码管,可以显示当前的电机转速和转向,设置复位键可使正在转动的电机停止转动,大概可分为如下图所示的几部分。
图1系统方框图
1.2.各单元电路及工作原理
1.检测电路
检测电路是仿真电路中用于检测80c51单片机是否正常工作的电路,由发光二极管和电阻组成,如图:
图2检测电路
2.系统复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。
除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。
在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,这样复位键有复位和停止两个功能,如图所示。
图3系统复位电路
从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。
在本系统中,采用10uF的电容和10kΩ的电阻来实现复位电路。
当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。
3.系统的时钟电路
时钟电路是用于产生单片机工作时所必需的时钟信号。
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
在本系统中采用外部时钟方式的电路,如图所示:
图4系统的时钟电路
在本设计中的电容C1、C2典型值为30±10pF。
外接代内容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。
同时,在系统中采用12MHz的晶体振荡器来产生时钟脉冲。
这样可以满足系统在设计时的机器周期的需要。
4.电机驱动电路
由单片机直接输出的脉冲不足以驱动步进电机正常工作所以需要驱动电路给步进电机提供电源,在本设计中采用型号为ULN2003A的芯片,使步进电机正常工作。
驱动信号由P1口的P1.0~P1.3输出,分别与驱动芯片的B1~B4相连,电路如下图所示:
图5电机驱动电路
5.显示电路
显示电路采用四位LED数码管显示,在本设计中采用的型号是HSN-3643S,显示控制字由P0口输出,P0.0~P0.7分别与数码管的A、B、C、D、E、F、G、dp连接,位控制口由P2口的P2.0~P2.3输出,分别与数码管的1、2、3、4连接。
电路如图所示:
图6显示电路
6.电路开关
通过单刀单掷开关控制电动机的正反转,电路如图:
图7电路开关
1.3.绘制原理图
图8原理图
1.4.元件计算
石英的选择
石英晶体频率的范围为1.2~12MHZ,常用6MHZ、11.0592MHZ或12MHZ。
通常,电容C1和C2的值在5~30pF之间选择,电容的大小可起微调频率的作用。
所以选用石英晶体频率为12MHZ,电容C1和C2的值为30pF。
检测电路的选择
发光二极管的管压降为2V,电流为10mA,电阻的选择:
R=(5-2)/0.01=300Ω
1.5.元件清单列表
名称
型号
个数
备注
80C51单片机
AT80C51
*1
LED显示屏
HSN-3643S
(共阴四位)
*1
电容
30pf
*2
ULN2003A芯片
ULN2003A
*1
电阻
10kΩ
100Ω
*12
*1
开关
单刀单掷开关
*2
步进电机
四相步进电机电机
*1
晶振
12MHz的晶体振荡器
*1
导线
导线
若干
2.程序设计
2.1绘制程序流程图
主程序需具备的功能,要不断扫描P3口并判断K1和K2是否闭合,并能根据其电平高低,输出不同的控制脉冲,并调用显示子程序显示方向。
图9主程序设计流程图
图10子程序流程图
2.2汇编程序
系统主程序:
ORG00H
START:
MOVR0,#03H
MOVR4,#00H
MOVP1,#03H
WAIT:
MOVP1,R0;初始角度,0度
MOVP3,#0FFH
JNBP3.0,POS;判断键盘状态
JNBP3.1,NEG
SJMPWAIT
JUST:
JBP3.1,NEG;首次按键处理
POS:
MOVA,R4;正转9度
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP1,A
ACALLDIR
INCR4
AJMPKEY
NEG:
MOVR4,#6
MOVDPTR,#TAB1;反转9度
MOVA,R4
MOVCA,@A+DPTR
MOVP1,A
ACALLDIRF
AJMPKEY
KEY:
MOVP3,#03H;读键盘情况
MOVA,P1
JBP3.0,FZ1jb小于跳转
CJNER4,#08H,LOOPZ;r4和08h比较大于跳转
MOVR4,#00H
LOOPZ:
MOVA,R4
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP1,A;输出控制脉冲
ACALLDIR;程序延时
INCR4;地址加1
AJMPKEY
FZ1:
JBP3.1,KEY
CJNER4,#255,LOOPF;是结束标志
MOVR4,#07H
LOOPF:
DECR4自减
MOVA,R4
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP1,A;输出控制脉冲
ACALLDIRF;程序延时
AJMPKEY
TAB1:
DB02H,06H,04H,0CH
DB08H,09H,01H,03H;正转模型资料
显示子程序:
DIR:
MOVDPTR,#TABL1;正转显示
AJMPDIR1
DIRF:
MOVDPTR,#TABL2;反转显示
DIR1:
MOVR1,#00H
MOVR2,#04H
MOVR3,#0F7H
DIR2:
MOVA,R1
MOVCA,@A+DPTR
MOVP0,A
MOVA,R3
MOVP2,A
RRA
MOVR3,A
INCR1
ACALLDELY
DJNZR2,DIR2
RET
DELY:
MOVR6,#20H;延时
D1:
MOVR7,#56H
LOOP:
DJNZR7,LOOP
DJNZR6,D1
RET
TABL1:
DB06H,06H,06H,00H;正转
TABL2:
DB06H,06H,06H,40H;反转
END
四、调试与仿真
绘制完电路图后,将编好的程序输入软件内检查所编程序是否正确,检查程序无误后装入单片机内,进行防真。
首先工作的是检测电路,发光二极管亮5秒,说明单片机80C51是正常的。
如图:
图11检测电路工作
令反转键K1闭合,步进电动机反转工作,数码管显示AA,如图:
图12步进电动机反转
在反转时,如果按下复位键,电机会停止转动,数码管也将不显示转向,发光二极管。
正转键K2闭合,步进电机开始正转工作,数码管显示CC,如下图所示:
图13步进电动机正转
五、硬件调试结果
图14检测电路工作
图15步进电动机正转
图16步进电动机反转
由于步进电动机工作时旋转比较缓慢,不容易观察到,在实验时需要耐心等待,观察步进电动机的正反转。
若是步进电动机的正反转与设想的不同,需调整步进电动机的接线方式,直到与仿真电路相同为止。
六、心得体会
通过本次设计使我对步进电动机有了深入的了解,在辅导老师指导下,然后自己在图书馆翻阅有关书籍和上网,搜集到了不少有关步进电动机的知识。
经过我的不懈努力,把步进电机的结构、工作原理及控制其正、反转等一一弄明白了,但是这离课程设计需要掌握的知识相差甚远,我只能不断的向老师和同学请教,然后仔细的揣摩。
在这次课程设计中,通过用单片机控制步进电机的正、反转,我也对单片机的知识也进行了复习和巩固。
通过这次设计让我体验到了编写程序难度和成功的快乐。
实践是检验真理的唯一标准,学习再多的理论也只能纸上谈兵,只有把理论应用到实践中,才能检验出理论的真伪。
通过这次的课程设计,我不仅把单片机的有关知识系统的复习了一遍,而且学会了各种设计电路的软件,提高自己的实际动手能力和独立思考的能力,这次设计实在是让我获益匪浅。
参考文献:
[1]郭文川.MCS-51单片机原理、接口及应用.北京:
电子工业出版社,2013.
[2]张荣标.微型计算机与接口技术.北京:
电子工业出版社,2009.