《基于单片机的步进电机运行控制系统设计教学资料.doc》由会员分享,可在线阅读,更多相关《基于单片机的步进电机运行控制系统设计教学资料.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。基于单片机的步进电机运行控制系统设计-基于单片机的步进电机运行控制系统设计作者:陈大林关键词:步进电机单片机控制步进电机是一种将电脉冲信号转换成直线位移或角位移的控制微电机,其机械角位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成比例.通过改变电脉冲频率,可在大范围内进行调速.同时,该电机还能快速起动、制动、反转和自锁.此外,步进电机易于实现与计算机或其他数字元件接口,适用于数字控制系统.步进电机只需采用最简单的开环控制就可取得非常高的控制精度,且这种系统不需要反馈信号,系统硬件实施比较简单。本文介绍
2、的步进电机驱动控制电路,采用低价的AT89C52,可直接对步进电机进行控制,省去了昂贵的专用步进电机控制器,简化了硬件线路,降低了成本,提高了系统的可靠性。系统的组成系统的控制过程在本系统中,主要控制三相步进电机带动丝杠的传动,从而使得液氮液面按照要求变化。三相步进电机的定子上有6个极,转子是4个均匀分布的齿,电机的转动是根据控制饶组与电源接通或开断的变化频率呈步进状态,其转向取决于通电相序.在本系统中,主要采用三相电机三相单双六拍:-首先相通电,而后再接通相绕组(这时相不断开)即两绕组同时通电;此后断开相绕组,B相单独通电,依此规律循环往复.这种方式需经过6个切换才能完成一个循环.单相三拍方
3、式的每一拍步进角为3,三相六拍的步进角则为1.5,因此,在三相六拍下,步进电机的运行反转平稳柔和,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需提高1倍,对驱动开关管的开关特性要求较高。系统的总体设计框图如图1所示:图1系统的整体流程图当步进电机驱动系统工作时,控制器首先检测接收传感器信号,进行换算成需要的检测量,并将之与设定值进行比较,得出其差值,并根据程序的设定转化为步进电机的步进脉冲。从而通过单片机控制的驱动器来驱动步进电机,从而带动丝杠传动系统,进而控制液氮液面升降系统的运动,完成一个循环控制过程。控制系统的硬件组成步进电机的驱动电路如图2所示,采用单片机AT89C52来驱动,A
4、T89C52具有8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,1个六向量两极中断结构,一个全双工串行通信接口,同时片内还有振荡器及时钟电路。可以很方便地使用不同相数的步进电机按一种可执行的通电方式来控制,在这个系统中,单片机的主要作用是接收键盘设定值,显示设定初值以及检测的当前值,同时还具有串行通信功能。检测传感器信号,接收传感器信号,并进行处理,计算出步进电机需要的步进量,通过P1.0,P1.1,和P1.2提供控制步进电机的时序脉冲,控制步进电机的运行,系统采用软件来完成脉冲分配,这样可根据应用系统的需要,方便灵活地改变步进电机的控制方式,步进
5、一步的时间可由两个控制字的送出时间间隔决定。图2步进电机驱动电路组成系统的软件设计步进电机的驱动系统软件主要由主控程序、脉冲分配驱动程序、键处理程序、显示数据处理程序及显示驱动程序、串口通信监控程序等部分组成。系统的主程序流程图如图3所示,步进电机驱动中断子程序流程图如图4所示。图3系统的主程序流程图图4驱动子程序流程图由驱动系统的硬件控制图可以看出,单片机只是根据需要轮流给P1.0,P1.1,P1.2端口发送步进脉冲来控制电机运行,则三相六拍的系统控制模型如附表所示;在程序中,只要将依次将6个控制字送到P1口,步进电机就会转动一个齿距角。每送一个控制字,就完成一拍,步进电机就转过一个步距角。
6、附表三相六拍控制模型设定有如下工作单元和工作位定义:R0为步进数寄存器;PSW中,F0为方向标志位,F0=0时正转,否则反转。步进时间由两个控制字的送出时间间隔决定。步进电机的中断子程序:START:PUSHACCPUSHPSWPUSHR0JBF0,LOOP2;判正反转LOOP1:MOVA,#01H;第1拍控制码MOVP1,A;执行第1拍LCALLDELAY;步进时间间隔DJNZR0,DONE;判断是否步进量完成MOVA,#03H;第2拍控制码MOVP1,A;执行第2拍LCALLDELAYDJNZR0,DONEMOVA,#02H;第3拍控制码MOVP1,A;执行第2拍LCALLYDELLAYD
7、JNZR0,DONEMOVA,#06H;第4拍控制码MOVP1,A;执行第2拍LCALLYDELLAYDJNZR0,DONEMOVA,#04H;第5拍控制码MOVP1,A;执行第2拍LCALLYDELLAYDJNZR0,DONEMOVA,#05H;第6拍控制码MOVP1,A;执行第2拍LCALLYDELLAYDJNZR0,DONEAJMPLOOP1;循环LOOP2:MOVA,#05H;反转MOVP1,ALCALLDELAYDJNZR0,DONEMOVA,#04HMOVP1,ALCALLDELAYDJNZR0,DONEMOVA,#06HMOVP1,ALCALLDELAYDJNZR0,DONEMO
8、VA,#02HMOVP1,ALCALLYDELLAYDJNZR0,DONEMOVA,#03HMOVP1,ALCALLYDELLAYDJNZR0,DONEMOVA,#01HMOVP1,ALCALLYDELLAYDJNZR0,DONEAJMPLOOP2DONE:RET;返回系统的抗干扰设计此系统用于现场的测量,为了有效防止和消除可能的微机系统干扰,在硬件上采用了以下几种抗干扰措施:l系统的所有接口连线均采用光电耦合器与外界连接;l在AT89C52单片机系统的电路板上,电源输入端加去耦电容器,以消除沿电源进入的干扰信号;l不采用金属外壳,防止外壳对系统产生干扰;l采用“一点接地”的原则;同时在结构布置上使引线尽量短;l使用屏蔽线减轻外界对自己的干扰,或自己对外界的干扰;结语本文阐述的是用计算机软件编程来产生脉冲分配信号,即把数字控制计数的高精度,抗干扰等方面的优势有效地应用于步进电机控制系统。同时本系统设计的步进电机控制器硬件电路十分简单,成本低,使用方便,运行稳定,在现场长时间运行后,未发现有不稳定现象。-