1、11目 录步进电机原理及硬件设计 .21 单片机电路 .21.1 AT89C51 单片机的组成结构 .21.2 AT89C51 单片机的引脚及功能 .42 步进电机 .62.1 步进电机的工作原理 .62.2 步进电机的驱动 .73 电源 .114 软件程序设计 .114.1 三相六拍环形分配.114.2 主程序的设计 .12总结 .19参考文献 .21221 步进电机原理与硬件设计1 单片机电路本系统采用 A89C51 单片机产生控制信号单片机内部的内存即可满足要求。如需要扩展较多的外部 RAM 和 ROM 可加上数据缓冲器。步进电机控制信号通过 AT89C51 单片机其中一个口进行扩充。为
2、了增加步进电机工作的灵活性,在启动步进电机工作之后,当有键按下,设置产生外部中断,达到灵活控制电机的目的。下面介绍一下 AT89C51 单片机。1.1AT89C51 单片机的组成结构AT89C51 单片机内部硬件结构框图如图 2 所示。它由一个 8 位中央处理器(CPU )、一个 256B 片内 RAM 及 4KBFlashROM、21 个特殊功能寄存器、4个 8 为并行 I/O 口以及中断系统等部分组成,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。(1) CPUCPU 是单片机的核心部分,CPU 包括两个基本部分:运算器和控制器。运算器运算器即算术逻辑单元 ALU,是进行算术或
3、逻辑运算的部件。可实现算术运算和逻辑运算。操作的结果一般送回累加器 ACC,而其状态信息送至程序状态寄存器 PSW。控制器控制器是用来控制计算机工作的部件。控制器接收来自存储器的指令,使各部件协调工作,完成指令所规定的操作。33时序和振荡电路C P U并行 I / O 口程序存储器R O M2 个 1 6 位定时 /计数器串行 I / O 口数据存储器R A M中断系统时钟源外部事件外部中断P 0 P 1 P 2 P 3R X D T X D内部 8 位数据总线内部中断图 2 AT89C51 单片机内部结构示意图(2)内部存储器内部数据存储器AT89C51 芯片内共有 256B(地址为 00H
4、-FFH)的数据存储器,其中高128B(地址为:80H-FFH)被专用寄存器占用,能作为寄存器供用户使用的只是低 128B(地址为:00H-7FH),用于存放可读写的数据,如程序执行过程中的变量。内部程序存储器AT89C51 共有(地址为:0000H-0FFFH)的 flash 程序存储器,用于存放程序、原始数据或表格常数。(3)定时/计数器AT89C51 共有两个 16 位的定时/计数器都可以设置成计数方式,用于对外部事件进行计数;也可设置成定时方式,并可以根据计数或定时的结果实现对单片机运行的控制。(4)并行 I/O 口用于进行单片机内外的传输,4 个 8 位的 I/O 口(P0、P1 、
5、P2、P3 )。每个 8 位的口,既可用作输入口,也可用作输出口,每个口即可以 8 位同步读写,又可对每一位进行单独的操作。标准 I/O 口的主要功能相当于一个 8 位锁存器,44能存储一个字节的二进制数据,以保持与之相连接的 8 条口线各自电位的高低状态。1.2 AT89C51 单片机的引脚及功能AT89C51 共有 40 个引脚,下面介绍一下它们的主要功能。(1)P0 口P0 口某一位的结构图如图 3 所示,一个输出锁存器、两个三态缓冲器、一12DC PQQ-T 1T 2读锁存器内部总线写锁存器锁存器地址 / 数据控制信号 CV C CP 0 . X 引脚读引脚M U X此后断开 a 相绕
6、组,b 相单独通电,依此规律循环往复.这种方式需经过6个切换才能完成一个循环.单相三拍方式的每一拍步进角为3,三相六拍的步进角则为1.5,因 此,在三相六拍下,步进电机的运行反转平稳柔和,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需提高1倍,对驱动开关管的开关特性要求较高。系统 的总体设计框图如图5所示:图5 系统的整体流程图当步进电机驱 动系统工作时,控制器首先检测接收传感器信号,进行换算成需要的检测量,并将之与设定值进行比较,得出其差值 ,并根据程序的设定转化为步进电机的步进脉冲。从而通过单片机控制的驱动器来驱动步进电机,从而带动丝杠传动系统,进而控制液氮液面升降系统的运动,完成一
7、个循环控制过程。步进电机的驱动电路如图6所示,采用单片机 AT89C51来驱动,AT89C51具有8k 字节 flash 闪速存储器,256字节内部 ram, 32个 i/o 口线,3个16位定时/计数器,1个六向量两极中断结构,一个全双工串行通信接口,同时片内还有振荡器及时钟电路。可以很方便地使用不同相数的步进电机按一种可执行的通电1010方式来控制,在这个系统中,单片机的主要作用是接收键盘设定值,显示设定初值 以及检测的当前值,同时还具有串行通信功能。检测传感器信号,接收传感器信号,并进行处理,计算出步进电机需要的步进量,通过 p1.0,p1.1,和 p1.2提供控制步进电机的时序脉冲,控
8、制步进电机的运行,系统采用软件来完成脉冲分配,这样可根据应用系统的需要,方便灵活地改变步进电机的控制方式,步进一步的时间可由两个控制字的送出时间间隔决定。图6 步进电机驱动电路组成4、系统的软件设计4.1 硬件脉冲分配器电路步进电动机的脉冲分配可以由硬件和软件两种方法来实现。硬件环形分配器需要根据步进电动机的相数和要求的通电方式而设计专门的电路,图 7 所示为一个三相六拍的环形分配器。分配器的主体是三个 J-K 触发器。三个 J-K 触发器的 Q 输出端分别经各自的功放线路与步进电动机 A、B、C 三相绕组连接。当 QA1 时,A 相绕组通电;QB1 时,B 相绕组通电;QC1 时,C 相绕组通电。DR+和 DR-是步进电动机的正反转控制信号。正转时,各相通电顺序:AABBBCCCA反转时,各相通电顺序:AACCCBBBA