毕业设计基于AT89C51单片机的步进电机控制及驱动电路设计.doc
《毕业设计基于AT89C51单片机的步进电机控制及驱动电路设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于AT89C51单片机的步进电机控制及驱动电路设计.doc(31页珍藏版)》请在三一办公上搜索。
1、基于AT89C51单片机的步进电机控制及驱动电路设计 引 言国内控制器的研究起步较晚,运动控制技术为一门多学科交叉的技术,是一个以自动控制理论和现代控制理论为基础,包括许多不同学科的技术领域。如电机技术、电力电子技术、微电子技术、传感器技术、控制理论和微计算机技术等,运动控制技术是这些技术的有机结合体。总体上来说,国内研究取得很大的进步,但无论从控制器还是从控制软件上来看,与国外相比还是具有一定差距。 传统上由纯电路设计的步进电机控制和驱动电路一般较复杂,成本又高,而且一旦成型就难于修改,可移植性差,难以适应一些智能化要求较高的场合。单片机的普及与应用,为步进电机的应用开辟了广阔的前景,使得以
2、往用硬件电路构成的庞大复杂的控制器得以用软件实现,将会避免复杂电路的设设计,既降低了硬件成本又提高了控制的灵活性、可靠性及多功能性。本文主要介绍了步进电机的基本原理及AT89C51单片机的性能特点。设计主要研究了一种基于AT89C51单片机和ULN2003驱动芯片的步进电机控制及驱动电路系统。该系统可分为:控制模块、驱动模块、显示模块、人机交互模块四大部分。其中采用AT89C51单片机作为控制模块的核心,利用单片机编程实现了对步进电机启动停止、正转反转、加速减速等功能的基本控制。驱动模块由芯片ULN2003A驱动步进电机工作;显示部分由七段LED共阴数码管组成;人机互换部分由相应的按键实现相应
3、的功能。通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高等特点。目 录1设计原理及方案41.1 设计原理41.2 设计方案41.2.1 方案一51.2.2 方案二61.2.3 方案比较及选择72 设计实现82.1 主要元器件介绍82.1.1 四相六线步进电机的介绍82.1.2 AT89C51单片机芯片介绍102.1.3 ULN2003芯片介绍102.1.4 LED七段数码管介绍112.2 步进电机控制及驱动系统电路设计实现112.2.1 硬件设计112.2.2 软件设计163 电路调试163.1 软件的仿真163.2 硬件电路
4、的调试174 数据分析及总结184.1 测试数据及说明184.2 总结19参考文献20附录211设计原理及方案1.1 设计原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机、交流电机在常规下使用。步进电机必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。
5、因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。1.2 设计方案设计要求:设计步进电机控制器硬件电路图,并使用相应的软件实现硬件和软件的仿真、调试。实现功能如下:(1)控制步进电机实现正转和反转;(2)控制步进电机转速;(3)设计步进电机的脉冲放大电路,能驱动相电压位12V、相电流位为0.4A的步进电机工作;(4)实现对步进电机圈数的预置;(5)同步显示步进电机所转圈数及速度。 根据步进电机的特点,步进电机的控制及驱动电路系统的设计可以有不同的方案。系统可以划分为:控制模块、驱动模块、显示模块、人机交互模块及电源电路五大部分,如图1步进电机控制驱动系统图所示。为实现各
6、模块的功能,分别对两种不同的设计方案分别进行论证及比较,最终确定一个最优方案。控制模块人机交互模块驱动模块显示模块电源步进电机图1 步进电机控制驱动系统图1.2.1 方案一方案一:基于FPGA的步进电机控制器及驱动的电路设计。整个系统分为五个部分组成:FPGA系统中央控制器、驱动电路及步进电机、光电编码器、键盘输入液晶显示部分、以及电源电路组成,如图2所示。此方案是用基于FPGA的系统中央控制器产生的PWM环形脉冲信号经过驱动电路的信号分配以及功率放大传送给步进电机实现对步进电机的角位置或直线位移控制。键盘用于设定给定转速、位置。采用光电编码器对步进电机的转速、位置进行采样检测实现闭环控制。以
7、上过程中的多个变量、参数可以在液晶显示屏上得到直观地反映。键盘输入及液晶显示部分FPGA系统中央控制器光电编码器驱动电路及步进电机电源电路给定转速、位置转速位置显示读取采样结果给定PWM方波信号检测转速、位置 图2 基于FPGA的步进电机控制器及驱动系统图(1)控制器模块采用FPGA为系统的控制器,FPGA可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性。 FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给FPGA,FPGA通过程序设计控制步进电机运动,但是由于本设计对数据处理的时间
8、要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。(2)驱动模块电路结构设计需要脉冲信号、信号分配、功率放大三部分组成。控制模块产生一个脉冲序列和方向控制信号,使用脉冲分配器将脉冲序列分解形成四相正反相序,然后经功率放大驱动步进电机。使用多个功率放大器件驱动电机,通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电
9、路的制作也比较复杂,参数选择困难,且需要多级放大,同时又要考虑功率的放大。(3)显示模块采用液晶显示器。液晶显示器不仅可以显示字符、数字,还可以显示各种图形、曲线和汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本显示等功能,并具有功耗小、体积小、质量轻等优点。但设计仅需显示步进电机的转速和所转圈数,该方案虽然显示直观,但能实现更多的显示的特点不能很好的发挥,并且器件昂贵。 (4)人机交互模块采用4乘4矩阵键盘,查询工作方式。该方案程序复杂,但在同样多的I/O口线条件下,行列式键盘能带更多的按键,查询工作方式也不用另接门电路。软件虽然较难但电路较简单。1.2.2 方案二方案二:基于AT89C
10、51单片机的步进电机控制及驱动电路设计。整个系统可分为:AT89C51单片机系统控制器、驱动电路、数码管显示、按键输入模块及电源电路五大部分,如图2.9所示。本设计方案采用AT89C51单片机作为控制模块的核心,利用软件编程使单片机输出脉冲序列和方向控制信号,以此实现对步进电机启动停止、正反转、加减速的控制。驱动电路部分由芯片ULN2003A和必要的外围电路组成,单片机产生的信号经驱动电路使其功率放大,达到电机所需的驱动电压和电流由此驱动步进电机工作。由七段LED共阴数码管实现步进电机预置圈数和所转圈数的同步显示。用相应的按键实现预置圈数设置和清零的功能。AT89C51单片机系统控制器按键输入
11、电源电路驱动电路数码管显示预置数控制清零脉冲序列方向控制信号步进电机功率放大信号同步显示圈数及转速图3 基于AT89C51单片机的步进电机控制及驱动系统图(1)控制模块采用AT89C51单片机作为系统控制的核心。利用单片机编程产生步进电机所需脉冲序列和方向控制信号。单片机算术运算功能强、软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积小、技术成熟和成本低,且可对其进行扩展,附带显示设备,键盘输入等设备,使用方便。还可通过软件编程实现对步进电机的位置、速度预设及显示。步进电机位置和速度实际上跟单片机产生脉冲的个数和脉冲频率是一一对应关系,而方向由导电顺序决定。并且,
12、由于单片机芯片引脚少,软硬件连接简便灵活,硬件容易实现。(2)驱动模块直接采用ULN2003芯片进行功率放大。它的内部结构是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC电流200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动步进电机。ULN2003芯片自身功耗小、 驱动能力强、可靠稳定、体积小、使用方便、价格不高、50V/0.5A以下的电路均可使用。(3)显示模块采用LED七
13、段共阴数码管进行动态显示。AT89C51单片机输出的脉冲序列经过上拉电阻驱动数码管显示。采用数码管动态显示方式,硬件电路简单、编程简便、显示信息清晰、器件价格低廉,但占用单片机I/O口较多。(4)人机交互模块采用独立式按键。总共设置了15个按键,其中四个按键分别执行对步进电机的启动/停止、正转/反转、加速、减速四种控制功能。四个按键不可同时按下,当其中一个按下时控制电机的某一种状态。按键09完成预置步进电机所转圈数的功能,剩余一个按键实现清零的功能。采用独立式按键,中断工作方式。该方案原理易懂,程序简单,但占用口线较多,软件较容易,硬件电路较繁琐。1.2.3 方案比较及选择方案比较:(1)控制
14、模块:方案一:是以FPGA为系统的控制器。本设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案二:采用AT89C51单片机作为系统控制的核心,软件编程灵活、自由度大、功耗低、体积小、成本低,芯片引脚少,软硬件连接简便灵活,硬件容易实现。(2)驱动模块:方案一驱动电路结构设计需要脉冲信号、信号分配、功率放大三部分组成。由于使用的是四相的步进电机,就需要对四路信号分别进行放大,放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂
15、,参数选择困难,且需要多级放大,同时又要考虑功率的放大。方案二的驱动模块直接采用ULN2003芯片进行功率放大。ULN2003芯片自身功耗小、 驱动能力强、可靠稳定、体积小、 使用方便。(3)显示模块:由于设计仅需同步显示步进电机的转速和圈数,方案一采用液晶显示器,虽然显示直观,但能实现更多的显示的特点不能很好的发挥,并且器件昂贵。方案二:采用数码管进行动态显示,硬件电路简单、编程简便、显示信息清晰、器件价格低廉。(4)人机交互模块:方案一采用4乘4矩阵键盘,查询工作方式,程序复杂,软件虽然较难但电路较简单,价格较贵。方案二采用独立式按键,中断工作方式,原理易懂、程序简单、软件较容易、硬件电路
16、较繁琐、价格低廉。方案选择:综上所述,通过对两种方案进行分析比较,虽然方案一功能强大,但软件编程复杂、硬件实现较困难、器件价格较高;方案二不尽能实现设计任务要求的功能,而且软件编程灵活、自由度大、硬件实现较容易、元器件性价比较高,因而综合考虑采用方案二。2 设计实现2.1 主要元器件介绍2.1.1 四相六线步进电机的介绍步进电机工作原理:该设计中所用到的步进电机为四相六线步进电机,它是采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图3.1是该四相步进电机工作原理示意图。图4 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁
17、极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保
18、持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图3.2中a、b、c所示。图5 步进电机工作时序波形本设计中步进电机的参数:模组配备的步进电机为25BY2406电机,工作方式为双极性四相。电机是种将电脉冲转化为角位移的执行机构。当步进电机接收到一个脉冲信号,它就按设定的方向转动一个固定的角度(称为“步距角”)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率实现步进电机的调速。 市面上一般的步进电机内部结构图如图3.3所示。图6 步进电机的接线本设计采用的步进电机是25BY2406,因生产厂家不同,其接线也有所不同。
19、电机共引出四根线,其余两根线是公共端,经测量后可得到其正确的接线顺序,表3.1给出了电机所对应的相序。表1 步进电机控制线控制线颜色黑橙棕黄控制线名称ABCD其中,C与D是电机内部一组线圈的两个抽头, A与B是另一组线圈的两个抽头。只需以一定的顺序控制两组线圈中的电流方向即可使步进电机按指定方向转动。25BY2406的主要技术参数如下表3.2所示。表2 步进电机25BYJ1201技术参数电压相电阻步距角启动转矩(g.cm)启动频率(P.P.S)定位转矩(g.cm)512V2015120200482.1.2 AT89C51单片机芯片介绍本设计采用AT89C51单片机作为控制系统的核心。AT89C
20、51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。采用HMOS制造工艺的MCS-51单片机都采用40管脚双列直插式封装,除采用40脚双列式直插式封装外,还有用方形的封装方式。40管脚双列直插式封装管脚图如3.4图所示。图7 MCS-51系列单片机管脚图2.1.3 ULN2003芯片介绍ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片,如图3.5所示。经常在以下电路中使用,作为:显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。图8 ULN2003芯片图2.1.4 LED七
21、段数码管介绍本设计采用六位LED共阴数码显示管作为显示部分,即将每个数码管的ag及dp端串联在一起,公共端作为位选信号输入端。如图3.8所示。图9 六位LED共阴数码显示管图2.2 步进电机控制及驱动系统电路设计实现2.2.1 硬件设计根据之前确定方案及各元器件的功能原理步进电机控制及驱动系统的详细电路设计如下:(1)控制模块采用ATMEL公司的AT89C51单片机作为系统控制的核心,如图3.9所示。图10 控制模块硬件电路图脉冲信号由单片机产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。信号分配实际上就是按照某一种控制方式(根据需要进行选定)所规定的顺序发送脉冲序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 AT89C51 单片机 步进 电机 控制 驱动 电路设计
链接地址:https://www.31ppt.com/p-4149555.html