您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 基于单片机的步进电机运动控制
1目录1设计原理及方案.....................................................11.1设计原理............................................11.2设计方案............................................11.2.1方案设计....................................................22设计实现............................................................32.1主要元器件介绍...............................................32.1.1三相六拍步进电机的介绍......................................32.1.2AT89C51单片机芯片介绍.......................................42.1.3ULN2003芯片介绍.............................................52.1.4LED七段数码管介绍...........................................62.2步进电机控制及驱动系统电路设计实现......................62.2.1硬件设计....................................................62.2.2软件设计....................................................93电路调试...........................................................103.1软件的仿真...................................................104总结................................................................11参考文献..............................................................1211设计原理及方案1.1设计原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机、交流电机在常规下使用。步进电机必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。1.2设计方案设计要求:设计步进电机控制器硬件电路图,并使用相应的软件实现硬件和软件的仿真、调试。实现功能如下:(1)控制步进电机实现正转和反转;(2)控制步进电机转速;(3)设计步进电机的脉冲放大电路,能驱动相电压位12V、相电流位为0.4A的步进电机工作;(4)实现对步进电机圈数的预置;(5)同步显示步进电机所转圈数及速度。2图1步进电机控制驱动系统图1.2.1方案设计图2基于AT89C51单片机的步进电机控制及驱动系统图基于AT89C51单片机的步进电机控制及驱动电路设计。整个系统可分为:AT89C51单片机系统控制器、驱动电路、数码管显示、按键输入模块及电源电路五大部分,如图2所示。本设计方案采用AT89C51单片机作为控制模块的核心,利用软件编程使单片机输出脉冲序列和方向控制信号,以此实现对步进电机启动停止、正反转、加减速的控制。驱动电路部分由芯片ULN2003A和必要的外围电路组成,单片机产生的信号经驱动电路使其功率放大,达到电机所需的驱动电压和电流由此驱动步进电机工作。由七段LED共阴数码管实现步进电机预置圈数和所转圈数的同步显示。用相应的按键实现预置圈数设置和清零的功能。(1)控制模块采用AT89C51单片机作为系统控制的核心。利用单片机编程产生步进电机所需脉冲序列和方向控制信号。单片机算术运算功能强、软件编程灵活、自由度控制模块按键控制驱动模块显示模块电源步进电机AT89C51单片机系统控制器按键输入电源电路驱动电路数码管显示预置数控制清零脉冲序列方向控制信号步进电机功率放大信号同步显示圈数及转速3大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积小、技术成熟和成本低,且可对其进行扩展,附带显示设备,键盘输入等设备,使用方便。还可通过软件编程实现对步进电机的位置、速度预设及显示。步进电机位置和速度实际上跟单片机产生脉冲的个数和脉冲频率是一一对应关系,而方向由导电顺序决定。并且,由于单片机芯片引脚少,软硬件连接简便灵活,硬件容易实现。(2)驱动模块直接采用ULN2003芯片进行功率放大。它的内部结构是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC电流200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动步进电机。ULN2003芯片自身功耗小、驱动能力强、可靠稳定、体积小、使用方便、价格不高、50V/0.5A以下的电路均可使用。(3)显示模块采用LED七段共阴数码管进行动态显示。AT89C51单片机输出的脉冲序列经过上拉电阻驱动数码管显示。采用数码管动态显示方式,硬件电路简单、编程简便、显示信息清晰、器件价格低廉,但占用单片机I/O口较多。(4)按键控制采用独立式按键。总共设置了15个按键,其中四个按键分别执行对步进电机的启动/停止、正转/反转、加速、减速四种控制功能。四个按键不可同时按下,当其中一个按下时控制电机的某一种状态。按键0~9完成预置步进电机所转圈数的功能,剩余一个按键实现清零的功能。采用独立式按键,中断工作方式。该方案原理易懂,程序简单,但占用I/O口线较多,软件较容易,硬件电路较繁琐。2设计实现2.1主要元器件介绍2.1.1三相六线步进电机的介绍设A相首先通电,转子齿与定子A、A′对齐(图3.a)。然后在A相继续通电的情况下接通B相。这时定子B、B′极对转子齿2、4产生磁拉力,使转子顺时针方向转动,但是A、A′极继续拉住齿1、3,因此,转子将转到两个磁拉力平衡为止。这时转子的位置如图(3.b)所示,即转子从图(a)位置顺时针转过了15°。接着A相断电,B相继续通电。这时转子齿2、4和定子B、B′极对齐(图3.c),转子从图(3.b)的位置又转过4了15°。其位置如图3d所示。这样,如果按A→A、B→B→B、C→C→C、A→A„的顺序轮流通电,则转子便顺时针方向一步一步地转动,步距角15°。电流换接六次,磁场旋转一周,转子前进了一个齿距角。如果按A→A、C→C→C、B→B→B、A→A„的顺序通电,则电机转子逆时针方向转动。图3步进电机通电方式及原理图2.1.2AT89C51单片机芯片介绍本设计采用AT89C51单片机作为控制系统的核心。AT89C51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。5采用HMOS制造工艺的MCS-51单片机都采用40管脚双列直插式封装,除采用40脚双列式直插式封装外,还有用方形的封装方式。40管脚双列直插式封装管脚图如4图所示。图4MCS-51系列单片机管脚图2.1.3ULN2003芯片介绍ULN2003是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片,如图3.5所示。经常在以下电路中使用,作为:显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。图5ULN2003芯片图62.1.4LED七段数码管介绍本设计采用六位LED共阴数码显示管作为显示部分,即将每个数码管的a~g及dp端串联在一起,公共端作为位选信号输入端。如图3.8所示。图6六位LED共阴数码显示管图2.2步进电机控制及驱动系统电路设计实现2.2.1硬件设计根据之前确定方案及各元器件的功能原理步进电机控制及驱动系统的详细电路设计如下:(1)控制模块采用ATMEL公司的AT89C51单片机作为系统控制的核心,如图7所示。图7控制模块硬件电路图7脉冲信号由单片机产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。信号分配实际上就是按照某一种控制方式(根据需要进行选定)所规定的顺序发送脉冲序列,达到控制步进电机方向的目的。(2)驱动模块直接采用ULN2003芯片,如图8所示。由单片机产生的脉冲序列和方向控制信号从P3.0~P3.3口输出,直接送入ULN2003芯片进行功率放大,达到步进电机所需的驱动电流和电压,以此驱动步进电机工作。图8驱动模块硬件电路图(3)显示模块采用六位LED七段共阴数码管进行动态显示,如图9所示。由AT89C51单片机产生的段选信号从P0输出,经过1K左右的上拉排阻驱动数码管显示,位选信号从P2口输出直接送数码管显示。采用数码管动态显示方式,硬件电路简单、编程简便、显示信息清晰。8图9显示模块硬件电路图(4)按键控制采用独立式按键,中断工作方式。总共设置了15个按键,如图10所示,其中四个控制按键分别执行对步进电机的启动/停止、正转/反转、加速、减速四种控制功能,由单片机的P3.4~P3.7口输入。四个按键不可同时按下,当其中一个按下时控制电机的某一种状态。按键0~9完成预置步进电机所转圈数的功能,剩余一个按键实现清零的功能,由单片机的P1口输入。采用独立式按键,原理易懂,软件编序简单。图10按键控制硬件电路图9(5)步进电机部分,该设计中所用到的步进电机为三相六拍步进电机,图11步进电机部分硬件电路图2.2.2软件设计综合以上选取的方案,总的流程如图12所示。整个程序采用C语言编程,使程序简单易读,在整个过程中采用模块化调试,可靠性好。10图12系统程序流程图3电路调试3.1软件的仿真系统电路软件仿真的步骤如下:(1)打开protuse仿真软件;(2)在软件的元器件库中选择所需的器件;(3)按照硬件电路设计方案连线;(4)加载编译好的HEX文件;11(5)运行、调试;(6)如有错误或与设计预期不相符,则继续进行步骤3~5,进行调试,至到调试成功。系统仿真如图13所示。图13系统仿真软件图4.总结本系统主要研究了一种基于单片机的步进电机控制及驱动的电路设计。设计采用AT89C51单片机作为控制模块的核心,利用单片机编程实现了对步进电机的控制。由单片机产生的信号经ULN2003A芯片进行功率放大,驱动步进电机工作,同时由数码管同12步显示预置数和所转圈数,由相应的按键实现预置圈数、控制、清零功能。系统能够实现:(1)预设步进电机所转圈数;(2)启动停止、正转反转、加速减速等功能的基本控制;(3)同步显示圈数;(4)电机转至预置圈数自动停机;(5)步进电机处于停止状态时可以对预置数进行清零操作。在系统设计过程中,力求硬件电路简单,充分发挥软件部分的优势,编程灵活方便来满足系统的要求。通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高等特点。本设计作品,就是单片机在智能化仪表方面的具体应用,充分体现了单片机的优越之处。本文中,从硬件设计到软件设计,根据硬件的工作原理及设计原理,对设计的设计方案做了仔细的分析和比较,最后确定下来完整可行的解决方案。为了验证设计出的系统的功能可靠性和方案的可行性,我们
本文标题:基于单片机的步进电机运动控制
链接地址:https://www.777doc.com/doc-4755283 .html