步进电机控制设计摘要步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。结合对步进电机的了解,然后对步进电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用8051单片机来控制步进电机,并给出了步进电机的双相三拍控制单片机控制和三相六拍的单片机控制的具体实现方法,用汇编程序进行控制运行。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。电机的控制系统由AT80C51单片机控制,具有抗干扰能力强,可靠性高而且系统扩展容易等优势。本次课程设计中着重于通过控制脉冲数来控制位移,实现准确定位。基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制步进电机课程设计的实际意义。关键字:步进电机,角位移,单片机,脉冲目录1课题描述....................................................................................................................12总体实现原理.............................................................................................................13步进电机原理及硬件设计........................................................................................23.1单片机电路......................................................................................................23.1.1AT89C51单片机的组成结构................................................................23.1.2AT89C51单片机的引脚及功能............................................................43.2步进电机...........................................................................................................63.2.1步进电机的工作原理............................................................................63.2.2控制原理.................................................................................................73.2.3步进电机的驱动方式.............................................................................83.2.4最小系统.................................................................................................93.3输入显示部分.................................................................................................103.4电源................................................................................................................104软件程序设计..........................................................................................................114.1主程序的设计................................................................................................114.2定时中断设计................................................................................................124.3外部中断设计................................................................................................134.4系统软件程序.................................................................................................14总结..............................................................................................................................19致谢..............................................................................................................................20参考文献......................................................................................................................21第1页1课题描述传统的步进电机控制方法是由触发器产生控制脉冲来进行的,此种方法工作方式单一且难于实现人机交互,当步进电机的参数发生变化是,需要重新进行控制器的设计。而且由传统的触发器构成的控制系统具有控制电路复杂、控制精度低、生产成本高等缺点。由单片机控制的步进电机克服了以上缺点。它具有很高的精度,一般用在精确定位方面。步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件,具有快速起动和停止的特点。其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度,并能实现正反转和平滑速度调节。它的运行速度和步距不受电源电压的波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。常见的步进电机分三种:永磁式(PM)、反应式(VR)、混合式(HB),永磁式步进一般分为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家早已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度,这种步进机应用最为广泛。目前使用单片机控制,单片机为微控制器的下位机和以计算机为上位机的步进电机控制系统,用软件代替步进控制器,使得线路简单,成本低,可靠性大大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器,软件编程可灵活产生步进电机励磁序列来控制步进电机的运行方式。用此方式设计步进电机控制系统顺应了目前国内外控制系统微机化发展的趋势,充分利用了单片机的优点,使得通用性得到了提高。伴随不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。第2页2总体实现原理步进电机的系统总体框图如图1,在系统中采用AT89C51单片机产生A、B、C、D四相信号(更具实际需要,可以扩充更多相信好)。当采用单片机控制时,需要在单片机和步进电机之间设置隔离电路以使强弱分开。由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。系统电路由5部分组成,即:输入显示部分;AT89C51单片机;直流电压和步进电机。键盘输入模块AT89C51单片机步进电机直流电源显示部分图1系统总体框图3步进电机原理及硬件设计3.1单片机电路本系统采用A89C51单片机产生控制信号单片机内部的内存即可满足要求。如需要扩展较多的外部RAM和ROM可加上数据缓冲器。步进电机控制信号通过AT89C51单片机其中一个口进行扩充。为了增加步进电机工作的灵活性,在启动步进电机工作之后,当有键按下,设置产生外部中断,达到灵活控制电机的目的。下面介绍一下AT89C51单片机。3.1.1AT89C51单片机的组成结构AT89C51单片机内部硬件结构框图如图2所示。它由一个8位中央处理器(CPU)、一个256B片内RAM及4KBFlashROM、21个特殊功能寄存器、4个第3页8为并行I/O口以及中断系统等部分组成,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。(1)CPUCPU是单片机的核心部分,CPU包括两个基本部分:运算器和控制器。①运算器运算器即算术逻辑单元ALU,是进行算术或逻辑运算的部件。可实现算术运算和逻辑运算。操作的结果一般送回累加器ACC,而其状态信息送至程序状态寄存器PSW。②控制器控制器是用来控制计算机工作的部件。控制器接收来自存储器的指令,使各部件协调工作,完成指令所规定的操作。时序和振荡电路CPU并行I/O口程序存储器ROM2个16位定时/计数器串行I/O口数据存储器RAM中断系统时钟源外部事件外部中断P0P1P2P3RXDTXD内部8位数据总线内部中断图2AT89C51单片机内部结构示意图(2)内部存储器①内部数据存储器AT89C51芯片内共有256B(地址为00H-FFH)的数据存储器,其中高128B(地址为:80H-FFH)被专用寄存器占用,能作为寄存器供用户使用的只是低128B(地址为:00H-7FH),用于存放可读写的数据,如程序执行过程中的变量。②内部程序存储器第4页AT89C51共有(地址为:0000H-0FFFH)的flash程序存储器,用于存放程序、原始数据或表格常数。(3)定时/计数器AT89C51共有两个16位的定时/计数器都可以设置成计数方式,用于对外部事件进行计数;也可设置成定时方式,并可以根据计数或定时的结果实现对单片机运行的控制。(4)并行I/O口用于进行单片机内外的传输,4个8位的I/O口(P0、P1、P2、P3)。每个8位的口,既可用作输入口,也可用作输出口,每个口即可以8位同步读写,又可对每一位进行单独的操作。标准I/O口的主要功能相当于一个8位锁存器,能存储一个字节的二进制数据,以保持与之相连接的8条口线各自电位的高低状态。3.1.2AT89C51单片机的引脚及功能AT89C51共有40个引脚,下面介绍一下它们的主要功能。(1)P0口P0口某一位的结构图如图3所示,一个输出锁存器、两个三态缓冲器、一12DCPQQ-T1T2读锁存器内部总线写锁存器锁存器地址/数据控制信号CVCCP0.X引脚读引脚MUX&1图3P0口的结构示意