单片机课程设计报告模版.docx
《单片机课程设计报告模版.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告模版.docx(17页珍藏版)》请在冰豆网上搜索。
![单片机课程设计报告模版.docx](https://file1.bdocx.com/fileroot1/2023-8/3/a737ada8-bb46-4557-91cb-79ca389d16d1/a737ada8-bb46-4557-91cb-79ca389d16d11.gif)
单片机课程设计报告模版
黄山学院
课程设计报告书
题目:
基于步进电机控制系统的设计
学院(系):
信息工程学院
年级专业:
09级自动化
学号:
20906062000
学生姓名:
XXX
指导教师:
XXX
教师职称:
教授
完成日期2010年12月24日
目录
目录2
摘要3
设计任务3
第一章步进电机概述3
1.1步进电机的组成:
3
1.2步进电机旋转原理:
3
1.3步进电机的技术参数与控制:
4
第二章设计方案论证6
第三章硬件电路的设计6
3.1系统设计框图6
3.2系统复位电路6
3.3时钟电路7
3.4电机驱动电路8
3.5正反转及速度检测电路9
第四章设计心得9
参考文献9
附录A程序清单10
附录B元器件清单11
附录C原理图12
附录DPCB图13
摘要
本次课程设计我们组主要是设计了一个可以控制正反转,速度8级可控的步进电机控制电路。
采用拨码开关对正反转和速度进行设置,将设置好的信号发送给单片机,对单片机进行编程,就可以使单片机发出控制信号去驱动步进电机转动,但是由于单片机的驱动电流太小,因此我们在单片机和步进电机之间接了两级驱动电路。
为了使步进电机速度变快,我们在设计时还在步进电机前加了加速电阻和泻放二级管。
关键词:
单片机步进电机速度控制方向控制
设计任务
1、设计一个能实现正反转的步进电机控制电路;
2、设计一个能实现正反转和速度可控制的步进电机控制电路;
3、设计一个能实现正反转和8级速度可控的步进电机控制电路。
第一章步进电机概述
1.1步进电机的组成:
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
以四相步进电机为例,电机转子均匀分布着很多小齿,定子齿有四个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。
0、1/4て、1/2て、3/4て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/4て,C与齿3向右错开1/2て,D与齿4向右错开3/4て。
1.2步进电机旋转原理:
如A相通电,B,C,D相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。
如B相通电,A,C,D相不通电时,齿2应与B对齐,此时转子向右移过1/4て,此时齿3与C偏移为1/4て,齿4与A偏移(て-1/4て)=1/2て。
如C相通电,A,B,D相不通电,齿3应与C对齐,此时转子又向右移过1/4て,此时齿4与A偏移为1/4て对齐。
如D相通电,A,B,C相不通电,齿4应与D对齐,此时转子又向右移过1/4て,此时齿5与A偏移为1/4て对齐。
如A相通电,B,C,D相不通电,齿5与A对齐,转子又向右移过1/4て
这样经过A、B、C、D、A分别通电状态,齿5(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,D,A……通电,电机就每步(每脉冲)1/4て,向右旋转。
如按A,D,C,B,A……通电,电机就反转。
由此可见:
电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系,而方向由导电顺序决定。
不过,出于对力矩、平稳、噪音及减少角度等方面考虑。
往往采用A-AB-B-BC-C-CD-D-DA-A这种导电状态,这样将原来每步1/4て改变为1/8て。
甚至于通过二相电流不同的组合,使其1/4て变为1/16て,1/32て,这就是电机细分驱动的基本理论依据。
不难推出:
电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移て/m,2て/m……(m-1)て/m,て。
并且导电按一定的相序电机就能正反转被控制这是步进电机旋转的物理条件。
只要符合这一条件我们理论上可以制造任何相的步进电机。
1.3步进电机的技术参数与控制:
步进电机的三个重要参数是相数、拍数和步距角。
相数:
产生不同对极N、S磁场的激磁线圈对数。
常用m表示。
拍数:
完成一个磁场周期性变化所需脉冲数或导电状态,或指电机转过一个齿距角所需脉冲数,用n表示。
以四相电机为例,有四相单四拍运行方式即A-B-C-D,四相双四拍运行方式即AB-BC-CD-DA,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA。
电机正反转控制:
当电机绕组通电时序为C-CD-D-DA-A-AB-B-BC为时正转,通电时序为BC-B-AB-A-AD-D-CD-C时为反转。
1.3.1步进电机的方向控制:
以下以四相八拍的步进电机,具体说明如下:
四相八拍拍控制模型如表1、2所示:
控制字
通电相
转向
0BH
C
P3.3为1时正转
03H
CD
07H
D
06H
DA
0EH
A
0CH
AB
0DH
B
09H
BC
表1
控制字
通电相
转向
09H
BC
P3.3为0时反转
0DH
B
0CH
AB
0EH
A
06H
DA
07H
D
03H
CD
0BH
C
表2
1.3.2步进电动机的速度控制:
步进电机速度的控制是通过控制单片机发出的步进脉冲的频率来实现。
对于软件脉冲分配方式采用调整两个控制字之间的时间间隔来实现调速;对于硬件脉冲分配方式则采用定时中断方式来调整脉冲频率从而实现调速。
根据以上所述,控制步进电机速度的方法有两种。
(1)软件延时法:
通过调用标准的延时子程序,改变两控制字之间延时时间来实现。
采用软件延时方法实现速度调节的优点是程序简单,思路清晰,不占用硬件资源,缺点是CPU的等待时间过长,占用大量机时,因此没有实用价值。
(2)定时器中断法。
以805l单片机为例,在中断服务子程序中进行脉冲输出操作,调整定时器的定时常数就可实现脉冲频率的调整,从而实现调速。
这种方法占用CPU时间较少,容易实现,是一种比较实用的调速方法。
在本系统中我们采用了软件延时的方法,并用拨码开关来控制其速度,该系统的速度可以分为8个级速,分别如下表所示:
级速
延时时间(us)
频率(Hz)
000
10710
93.37
001
672
1488.10
010
1344
744.05
011
2016
496.03
100
2688
372.02
101
3360
297.62
110
4032
248.02
111
4704
212.59
表3
第二章设计方案论证
方案一:
通过键盘输入控制信息,在让单片机去扫描键盘,进而起到对步进电机控制的得目的。
方案二:
通过拨码开关输入控制信息,在让单片机去采样指定得口来获得控制信息,由获取得信息判断是执行那段程序,以达到控制步进电机得目的。
上述方案比较得:
方案一由于要使用键盘,大大增加了成本,而且使电路变得复杂,可能还要扩展芯片,而方案二电路简单,所需成本低,实现相对方案一要简单。
第三章硬件电路的设计
3.1系统设计框图
因为步进电机工作时的驱动电流比单片机端口所能提供的要大得多.单片机要控制电机的运动就不能直接将端口与电机各端相连,必须使用一定的接口电路和驱动电路。
接口电路一般为锁存器,也有使用可编程接口芯片,如8255A。
驱动器多选用大功率复合管。
当然,考虑到实际使用中的干扰和电压安全,一般都要在单片机与驱动器之间使用必要的光电隔离器。
如图4所示
图4步进电机控制系统组成框图
3.2系统复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。
除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。
在系统中,为了实现上述的两项功能,常采用的按键电平复位电路,如图5所示。
图5按键电平复位电路
从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。
在本系统中,采用10uF的电容和10kΩ的电阻来实现复位电路。
当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。
3.3时钟电路
时钟电路是用于产生单片机工作时所必需的时钟信号。
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
在本系统中采用内部时钟方式的电路,如图6所示。
图6时钟电路
电路中的由于晶振为11.0592MHz,所以电容C1、C2典型值为30pF。
外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。
同时,在系统中采用11.0592MHz的晶体振荡器来产生时钟脉冲。
一方面,可以满足系统在设计时的机器周期的需要;另一方面,在进行串行口通讯的时候能够提供精准的通讯波特率。
3.4电机驱动电路
步进电机的驱动一般有两种方法,一种是通过单片机直接来驱动,这种方法一般不宜采用,因为单片机的输出电流脉冲是特别小的它不能足以让步进电机的转动;另一种是通过CPU来间接驱动,就是把从单片机输出的信号进行放大,然后直接驱动或是再通过光电隔离间接来驱动步进电机,这种方法比较安全可靠。
固本次设计采用单片机间接驱动芯片对信号进行放大后在加给步进电机。
本驱动电路主要采用DS75452将输入两个引脚接在一起输出段接步进电机引脚和加速电阻、泻放二极管。
由于编写得程序和步进电机的控制方式相反,所以在电路中采用了74LS04对驱动信号进行反向,以达到程序和步进电机得驱动保持一致。
另外DS75452的输出最大电流为200mA,74LS04的输出电流为8mA,单片机的总驱动电路为1.9mA,其中算P0口的驱动能力最大,能达到400uA,而驱动步进电机的最小电流也要20mA,所以单片机在加上74LS04都不能驱动步进电机,因此在74LS04后还加了驱动芯片DS75452。
由于步进电机的线圈电感不为纯电感(有电阻),当电流的上升沿来临时,如果没有接加速电阻,由于电感不为纯电感有电阻存在,会使步进电机速度变慢,所以要加加速电阻。
而驱动电流的上升沿是电机不需要的所以加上泻放二极管就可以对这部分电流进行过滤掉,如下图所示。
其中74LS04的1、3、5、9脚是与单片机的P0.0-P0.3口相连的。
图7步进电机驱动电路
3.5正反转及速度检测电路
如下图,四个拨码开关一端与地相连,另一端与单片机I/O口相连,用拨码开关的状态来控制步进电机的正反转和步进电机的速度,当拨码开关K1拨上去时输入高电平,使步进电机正转,反之,则反转;K2-K4为速度控制,当全部拨下时,为输入000,全部拨上时为111,详细见表3。
其中限流电阻的一端与拨码开关相连另一端与单片机的P3.0-P3.3相连。
图8拨码开关控制电路
第四章设计心得
通过这次的单片机课程设计,我对步进电动机有了深入的了解,平时我们接触的电动机主要是直流电动机和交流电动机,很少见到步进电动机,所以对于步进电动机比较陌生。
通过老师指导,然后自己在课后翻阅书籍和上网,搜集到了不少有关步进电动机的知识。
通过钻研这些知识,我总算对步进电机有了认识,但是这离课程设计需要掌握的知识相差甚远,为了缩短这种差距,我只能不断的向老师和同学请教,然后仔细的揣摩。
在这次课程设计中,通过用单片机控制步进电机的正、反转和8级速度控制,我也对单片机的知识也进行了复习和巩固。
感觉单片机是个非常注重动手能力的一门学科,不但要学习好编程,而且我觉得模电和数电的知识也非常重要。
单片机的硬件电路也依赖于模电和数电,所以在做这个课程设计的同时我也是对模电和数电的复习。
在这个课程设计中我也感到汇编程语言来编写单片机程序是非常麻烦的,因此我决心在放假和下学期的空余时间去学习C语言来编写单片机程序。
致谢!
参考文献
[1]谢辉.单片机原理及应用.[M]北京:
化学工业出版社,2010.8
[2]刘海宽.单片机实验与实训教程.[M]南京:
东南大学出版社,2009.1
[3]楼然苗等.51系列单片机设计实例.[M]北京:
北京航空航天大学出版社,2003.3
[4]周向红.51系列单片机应用与实践教程.[M]北京:
北京航空航天大学出版社,2008
[5]张志良.单片机原理与控制技术.第2版.北京:
机械工业出版社,2005
[6]李光飞,楼然苗等.单片机课程设计实例指导.北京:
清华大学出版社,2004
附录A程序清单
用拨码开关控制步进电机的正反转程序清单:
ORG0000H
LJMPYY
ORG0030H
YY:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,08H
JNBP3.3,DOJ2
DOJ1:
MOVP1,#03H
LCALLDELY
MOVP1,#06H
LCALLDELY
MOVP1,#0CH
LCALLDELY
MOVP1,#09H
LCALLDELY
SJMPYY
DOJ2:
MOVP1,#09H
LCALLDELY
MOVP1,#0CH
LCALLDELY
MOVP1,#06H
LCALLDELY
MOVP1,#03H
LCALLDELY
SJMPYY
DELY:
MOVR6,#010H
LO36:
MOVR7,#0A0H
LO35:
DJNZR7,LO35
DJNZR6,LO36;延时
RET
END
用拨码开关控制步进电机的转速程序清单:
ORG0
LJMPYY
ORG00FFH
YY:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,08H
JNBP3.3,DOJ2
DOJ1:
MOVP1,#03H;顺时针转动
LCALLDEL0Y
MOVP1,#06H
LCALLDEL0Y
MOVP1,#0CH
LCALLDEL0Y
MOVP1,#09H
LCALLDEL0Y
SJMPYY
DOJ2:
MOVP1,#09H;逆时针转动
LCALLDEL0Y
MOVP1,#0CH
LCALLDEL0Y
MOVP1,#06H
LCALLDEL0Y
MOVP1,#03H
LCALLDEL0Y
SJMPYY
DEL0Y:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,#07H
SWAPA
MOVR2,A
MOVR5,#80H
DEL1Y:
DJNZR5,DEL1Y
DJNZR2,DEL1Y
RET
END
四相四拍改为四相八拍程序清单:
ORG0000H
LJMPYY
ORG00FFH
YY:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,08H
JNBP3.3,DOJ2
DOJ1:
MOVP1,#03H;顺时针转动
LCALLDEL0Y
MOVP1,#0BH
LCALLDEL0Y
MOVP1,#06H
LCALLDEL0Y
MOVP1,#07H
LCALLDEL0Y
MOVP1,#0CH
LCALLDEL0Y
MOVP1,#0EH
LCALLDEL0Y
MOVP1,#09H
MOVP1,#0DH
LCALLDEL0Y
SJMPYY
DOJ2:
MOVP1,#09H;逆时针转动
LCALLDEL0Y
MOVP1,#0DH
LCALLDEL0Y
MOVP1,#0CH
LCALLDEL0Y
MOVP1,#0EH
LCALLDEL0Y
MOVP1,#06H
LCALLDEL0Y
MOVP1,#07H
LCALLDEL0Y
MOVP1,#03H
MOVP1,#0BH
LCALLDEL0Y
SJMPYY
DEL0Y:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,#07H
SWAPA
MOVR2,A
MOVR5,#80H
DEL1Y:
DJNZR5,DEL1Y
DJNZR2,DEL1Y
RET
END
附录B元器件清单
名称
参数
数量
标号
封装名称
电阻
4.7K
8
R1-R4,R10-R13
AXIAL0.4
电阻
200
1
R6
AXIAL0.3
电阻
100
1
R5
AXIAL0.3
电阻
1K
1
R7
AXIAL0.4
电解电容
22UF
1
C3
RB.2/.4
瓷片电容
30PF
2
C1-C2
RAD0.2
集成电路
74LS04
1
U1
DIP14
DS75452
2
U2-U3
DIP8
AT89C51
1
U5
DIP40
步进电机
RD-023MS
1
U4
BJDJ
晶振
12MHz
1
Y1
XTAL1
二极管
1N4148
4
D1-D4
DIODE0.4
附录C原理图
附录DPCB图