西华大学基于AT89C51单片机完成对步进电机的控制设计
收藏
资源目录
压缩包内文档预览:(预览前20页/共25页)
编号:512669
类型:共享资源
大小:1.31MB
格式:RAR
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
西华大学基于AT89C51单片机完成对步进电机的控制设计,毕业设计
- 内容简介:
-
西华大学课程设计说明书 摘要 本文主要介绍了步进电机的工作原理、工作特点以及在实际控制电路中的应用。还介绍了基于 AT89C51 单片机完成对步进电机的控制,由于考虑到步进电机的功率较大,也为了防止步进电机工作时对电路的干扰,由此采用了光电耦合电路进行单片机与步进电机的隔离,本设计还可以完成对步进电机的步进角的数目进行输入 与显示 和步进电机 工作状况的显示 ,使控制更加直观, 更加 方便控制 。 【 关键字 】 : AT89C51 单片机、步进电机、光电耦合电路、步进角 Abstract: This article mainly introduces the stepping motors working principle, working property and the application in the real control circuit. Yet introduces the control of stepping motor is based on the AT89C51 microcontroller .Be consider the needing power of stepping motor is a little higher and prevent the interference while stepping motor working .so I adopt photoelectrical couple circuits to isolate the microcontroller and stepping motor .this design can input the number of steps and display it, also display the working state of stepping motor, so these abilities not only let the control is more audiovisual, but also let the control is more convenience. 【 Keywords】 : AT89C51 microcontroller, stepping motor, Photoelectrical coupled circuits, Steps. 目 录 1.前言 . 2 nts 西华大学课程设计说明书 - 1 - 2.整体方案讨论与设计 . 3 2.1 方案一 . 3 2.2 方案二 . 5 2.3 方案选择 . 5 3.器件选择 . 6 3.1AT89C51 单片机的介绍: . 6 3.2 光电耦合器介绍: . 11 4.方案的设计 . 12 4.1 步进电机的驱动电路 . 12 4.2 步进电机的控制方式 . 14 4.3 电路图 . 错误 !未定义书签。 4.4 进行步进 电机控制的 C 语言源程序 . 17 5.系统功能、指标测试 . 18 6.设计体会 . 19 7.致谢词 . 19 7.参考文献 . 20 附录一:电路图 . 21 附录二: C 语 言源程序 . 22 nts 西华大学课程设计说明书 - 2 - 1.前言 步进电机是数字控制系统中的一种执行元件,其功能是将脉冲信号变换为相应的角位移或直线位移,即给一个脉冲信号,电动机就转动一个角度或前进一步,并且没有积累误差,因此它广泛运用于工业、航天、国防等领域。而对步进电机的控制又是一门重要的学科,常常用微控制器对它进行控制。这次的设计采用的是用单片机控制步进电机,单片机采用的是 ATEML 公司生产的 MCS 51 系列的单片机, AT89C51 单片机。它完全兼容 INTER 生产 的 51 系列单片机,无论是硬件还是指令系统,它都 INTER 的 51 系列单片机的继承。因为 MCS 51 系列的单片机的集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在世界范围内得到了广泛的普及和应用,特别是在中国, MCS 51 系列的单片机占了中国 8 位单片机的绝大多数的市场。 用单片机控制步进电机就是在单片机的一个 I/O端口产生可控制步进电机工作的脉冲信号,如果所控制的步进电机为四项步进电机就需要四个脉冲信号输出线分别接步进电机的四项输入端,而用单片机控制有控制方便、扩展性强等优点,可以实 现对步进电机的正转、反转、还可以通过一些手段使步进电机精确的转的角度。由于步进电机的功率较大,直接用单片机进行驱动不合实际,因此就要专门的设计一个驱动电路,简单的就是用光电耦合进行隔离,将单片机输出的控制脉冲用光电耦合器进行隔离,再在光电耦合器的另一端设计一个电流放大电路,这样不仅可以驱动较大功率的步进电机,还可以防止步进电机工作时对单片机等控制电路的干扰。 nts 西华大学课程设计说明书 - 3 - 2.整体方案讨论 与设计 2.1 方案一 由于步进电机受脉冲信号控制,并且脉冲信号要按照一定的时序,此设计要求采用四项步进电机,并且 采用的转子齿数是 50,所以齿距角为 360 /50=7.2 。采用四项步进电机就要求有四个脉冲源对步进电机进行控制,而这四项控制脉冲都是按照一定的顺序进行工作的,即他们的相位角相差 90。对此可以采用移位寄存器可以实现对步进电机的控制,此方案采用 74LS194,当从移位寄存器的串行口输入一个脉冲信号,其输出端就把这个脉冲信号分别在不同的 CP 脉冲之下输出,由此可以完成对步进电机进行一个周期的控制。并且 74LS194 芯片可以完成双向移位,由此可以完成对步进电机的正转、反转两种控制。 74LS194 芯片介绍: D03D14D25D36SR2SL7CL K11S09S110MR1Q015Q114Q213Q312U37 4 L S 1 9 4图 2 1 74LS194 移位寄存器 集成移位寄存器 74194 由 4 个 RS 触发器及他们的输入控制电路组成。 图 2 1 为它的引脚图,其中 Q0, Q1, Q2, Q3 分别为移位寄存器的输出端口, SR.SL分别为右移、左移的输入端, CLK 为时钟脉冲信号输入端, S0.S1 为两个输入控制端,如下 表 2 1, D0.D1.D2.D3 为置数端。 表 2 1 74194 双向移位寄存器控制端的逻辑功能 控制信号 完成的功能 S1 S0 0 0 保持 0 1 右移 1 0 左移 nts 西华大学课程设计说明书 - 4 - 1 1 并行输入 设计一个可产生可以控制步进电机 的脉冲信号的简单电路, 如图 2-2, 当电路图中的按键被按下,将在 74194 的输出端产生一个时序脉冲信号, 如图 2 3所示。 D03D14D25D36SR2SL7C LK11S09S110MR1Q015Q114Q213Q312U17 4L S 19 41 2U 2 :A7 40 43 4U 2 :B7 40 45 6U 2 :C7 40 413 12U 2 :D7 40 4+ 5vU 1( C L K )A1A2A3A4A5A6A7A8B 1 0 . .7 B 2 0 . .7 图 2 2 用 74194 产生可控制步进电机的脉冲信号的简单电路 图 2 3 逻辑分析仪的测量结果 此方案的优点 : 1. 结构简单,实现容易 2. 如果把它制成实物,成本将会比较便宜 此方案的缺点: 1 对于步进电机来说,控制信号一次就输入 4 个,不能用于对于精度要求较高的领域。 2 当在按按键是,不好控制好脉冲的宽度,因此对步进电机来说,时而为A-B-C-D 输入,时而为 AB-BC-CD-DA 或 ABC-BCD-CDA-DAB 的输入,因此步进电机的输出转矩不等,由此也不适合对精度要求较高的领域。 3 此方案的扩展性能较差。 4 对于更复杂的步进电机的控制,实现较为困难。 nts 西华大学课程设计说明书 - 5 - 2.2 方案二 本方案是基于 AT89C51 单片机完成对步进电机的控制,由于考虑到步进电机的功率较大,也为了防止步进电机工作时对电路的干扰,由此采用了光电耦合电路进行单片机与步进 电 机 的隔离,本方案还可以完成对步进电机的步进角的数目进行输入。具体流程 图 2 1 如下: 图 2 1 单片机控制 流程图 此方案的优点有: 1. 对步进电机转动多少个步进角的输入较方便,较直观。 2. 可控制大功率的步进电机,并且减少了步进电机工作时对控制电路的干扰。 3. 可扩展性强,如果还要增加其他功能,可以直接基于此单片机进行扩展。从而省去了新增加其他芯片。 4. 控制的模式修改方便,如:正转到反转的改变,可以直接在程序里修改,从而省去了对电路的物理修改。 2.3 方案 论证 选择 综上所诉,由于用单片机控制步进电机工作较用移位寄存器控制步进电机工作有较大的优势,所以 本次设计采用的是基于单片机的步进电机的控制。 这样方便系统的扩展和实现更多的功 能。 任务完成,等待下一个任务 输入步进角的数目: n 步进电机转动一个步进角: n-1 n0 是 否 nts 西华大学课程设计说明书 - 6 - 3.电路各单元模块设计 本方案选用的单片机型号为 ateml 公司生产的 AT89C51 型单片机, 而为了实现设计要求,驱动大功率的步进电机,并且减少步进电机工作时对 控制电路的干扰,所以采用了光电耦合器件进行电压隔离。 下面对 AT89C51 单片机及光电耦合器件进行介绍。 3.1AT89C51 单片机的介绍 单片机自 20 世纪 70 年代问世以来,已对人类社会产生了巨大的影响。尤其是美国 Intel 公司生产的 MCS-51 系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在世界范 围内已经得到了广泛的普及和应用。此外,世界各大公司以 MCS 51 单片机基本内核为核心的各种扩展型、增强型的新型单片机不断推出,所以在今后若干年内, MCS 51 系列以及世界各大公司生产的与其兼容的各种增强型、扩展型的单片机,仍是我国单片机应用领域的主流机型。而本次设计采用的是 ATEML 公司生产的AT89C51 单片机,该单片机完全与 INTEL 公司生产的 8051 单片机兼容。 MCS 5l 系列单片微型计算机包括 8031、 805l、 8751 等型号,其代表型号是 8051, 8051 内部组成方框图如 图 3 1 所示 内部总体结构框图如 图 3 2 所示。 图 3 3 是 AT89C51 单片机的电路图。 图 3 1 MCS 51 单片机内部 组成方框图 nts 西华大学课程设计说明书 - 7 - 图 3 2 MCS-51 单片机 内部总体结构框图 X T A L 218X T A L 119A L E30EA31PSEN29R S T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /IN T 012P 3 .3 /IN T 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C 5 1图 3 3 AT89C51 单片机 8051 土要包括算术逻辑部件 ALU、累加器 A(有时也称 ACC)、只读存储器 ROM、随机存储器 RAM、指今寄存器 1R、程序计数器 PC、定时器计数器、I O 接口电路、程序状态寄存器 PSW、寄存器组 。 此外,还有堆栈寄存器 SP、数据指针寄存器 DPTR 等部件。这些部件集成在一块芯片上 。 通过内部总 线连接,nts 西华大学课程设计说明书 - 8 - 构成完整的微型计算机。下面按其部件功能分类予以介绍。 3.1.1 寄存器 微处理器中的寄存器是使用者应该十分重视的部分。寄存器是由触发器组成的, 8 位寄存器由 8 个触发器组成, 16 位寄存器由 16 个触发器组成。 MCS 51中的寄存器较多大体可分为通用寄存器和专用寄存器两类。 1通用寄存器 MCS 51 共有 32 个通用寄存器均为 8 位寄存器,分为 4 个区分别称为0 区、 l 区、 2 区和 3 区,每个区内有 8 个寄存器,分别为 R0、 R1、 R2、 R3、尺4、 R 5、 R6、 R7。 MCS 单片机每次只能选择一个寄存器区工作,围 此尽管各寄存器区内的寄存器名称对应相同,也不会发生混乱。 4 个寄存器区的选择是由程序状态字个 RS1、 RS0 来控制的其对应关系 如下 表 3 1。 RS0 RS1 寄存器区 0 0 0(内部 RAM 地址 00H07H) 0 1 1(内部 RAM 地址 07H0FH) 1 0 2(内部 RAM 地址 10H17H) 1 1 3(内部 RAM 地址 18H1FH) 表 3 1 寄存器工作 区 2专用寄存器 MCS 51 系列有 20 个专用寄存器其中 4 个 l 6 位寄存器。 (1) 程序计数器 PC 程序计数器 PC 用于存放下一条要 执行的指今地址 (程序存储器地址 )是一个 l6 位专用寄存器,它有自动加 1 的功能微处理器用它来指出应该轮到执行的指今。地址。当一条指令按照 Pc 所指的地址从存储器中取出之后 PC 就会自动加 1。这意味着加 l 以后的 Pc 的内容是下 条将要轮到执行的指令地址。所以、PC 是维持一个机器有秩序地执行程序的关键性奇存器。应该注意,有些指令代码并不只占一个存储器单元 (有 2 字节、 3 字节 )这时 PC 在 CPU 每次去存储器取一个数 (可以是指令第一字节,也可以是该指令的第二宁节、第三字节 )时就自动加 1。当需要改变程序的执行顺序时要使用 转移指令,由转移指令给出转移后指令的起始地址,将此地址送到程序计数器 PC即从新的转移后起始地址执行,然后程序计数器 PC 的内容自动加 l。 (2) 累加器 A 累加器 A 是一个 8 位寄存器是 CPU 中工作最频繁的寄存器。因为在进行算术逻辑类操作时,大部分单操作数指令的操作数取自累加器 A,很多双操作数指令的 个操作数 取自累加器 A。加、减、乘、除算术运算结果都存累加器 A 或 AB 寄存器对中。 (3) B 寄存器 B 寄存器是一个 8 位奇存器用于存取乘除指令个的操作数。乘法指令的两个操作数分别取自 A 和 B,其结果存放干 AB 寄存器 对中。除法指今中被除数nts 西华大学课程设计说明书 - 9 - 取自 A,除数取白 B,商数存于 A 中,余数存于 B 中。在其它指令中, B 寄存器可作为 RAM 中的一个单元来使用。 (4) 程序状态字 程序状态字 PSW)是一个 8 位寄存器,它包含了程序状态信息。此寄存器各位的含 义见图 1 3,其中 PSWl 是保留恢未用。 图 3 4 程序状态字 1. CY(FSW7):进位标志。在执行某些算术和逻辑指令时,可以被硬件或软件置位或清除。在行尔处理机中,它被认为是位累加器。例如进行二进制加法运算( 8 位)运算继果超出 8 位产生进位此时置位 CY(即 CY 1)以表示二进制加法运算产生了进位。 2. AC( PSW 6):辅助进位标志。当进行加法或减法操作时,如果产生低 4 位数向高 4 位数进位或借位时, Ac 被硬件置 1,否则被清 0。 Ac 被用于十进制调整。 3. 田 F0(PSW5):标志 0。是用户定义的一个状态标记。可以用软件来使它置位或清除,也可以取软件测试 F0 以控制程序的流向。 4. JRS1、 RS0(PSW4、 PSW3):寄存器区选择控制位 1 和 0。可以靠软件来置位或清除,以确定工作寄存器区。 5. OV(PSW2):溢出标志。当执行算术指令时,内硬件置位或清除以指示溢出状态。溢出勺进位的概 念不间。进位用于表示 8 位二进制加减法是否产生进位与借位 。 而溢出则主要用于表示有符号二进制数加减法的正确性, OV1 表示加减法运算的结果超出了目的寄存器 A 所能表示的带符号数 ( 128 127)。例如二进制加法运算 10ll011 与 011101 相加; 可以看出,该运算第 6 位向第 7 位进位第 7 位又向进位位进位但结果正确 (10 24 34)。 nts 西华大学课程设计说明书 - 10 - 运算中,第 6 位没有向第 7 位进位而第 7 位向进位位进位,运算结果为正数,显然是错误的 ( 96 123 219 超出 l28)。 综上所述当第 6 位与第 7 位同时本向前进位或同时向前进位时,没有溢出,OV 0;当第 6 位与第 7 位只有一个发生进位,结果溢出, OV l。 若以 Ci表示放 i 向 i 1 行进位,则 : OV Ci + C7 在 MCS 5l 中,无符号数乘法指令 MUL 的执行结果也会影响溢出标志。当累加器 A 和寄存器 B 的两个乘数的积超过 255 时, OV 1,否则 OV 0。由于此积的高 8 位放在 B 中,低 8 位放在 A 中,因此 OV 0 意味著只要从 A 个取得乘积即可否则要从 AB 寄存器对中取得乘积。 除法指令 DIV 也会影响溢出标志。当除数为 0 时, OV 1,否则 OV 0。 (5)钱指针寄存器 5P 它是一个 8 依的专用寄存器。所谓堆栈是在 CPU 外部存储器中一个按先进后出原则组织的存储区域。堆栈指针寄存器中的 8 位二进制数始终等于堆钱的顶部地址值。 MCS 5l 提供了一个向上升的堆栈,即每向堆栈中推入 (可用 Push指令 )一个数据 (8 位 ),堆栈指针的内容加 1,指向刚推入数据存放的地址 (最后推入的数据存于栈顶 ),即栈顶地址,再推入( PUSH) 个数据,堆栈指针的内容再加 1、指向新的栈顶地址。同样可用弹出 (POP)指今从堆栈中弹出一个数据堆栈指针相应减 1指 向下 数据 (钱顶 )地址。利用压入和弹出指令,可以把 CPU内部寄存器的内容推入堆栈或把堆栈中某单元的内容弹到内部寄存器中。利用堆栈指今可以简化寄存器与存储器之间数据传送的程序。 系统复仿后, SP 韧始化为 07H,使得堆栈事实上由 08H 单元开始。 MCS 51 中栈指针寄存器的值可以由软件改变因此堆栈在存储器中的位置比较灵活。 (6)其它专用寄存器 除上述的 5 个专用寄存器外, MCS 5l 还有数据指针寄存器 DPTR,端口寄存器 P0、 P1、 P2、 P3),串行数据缓冲器( SBUF),定时汁数器 (T0、 T1)及IP、 IE、 TMOD/TCON、 SCON、 PCON 控制奇存器 . 3.1.2 运算器 运算器包括算术逻辑部件 (ALU)、累加器 A、暂存寄存器、程序状态寄存器 (PSW),运算器主要用来实现对操作数的算术逻辑运算和位操作、其功能如下: nts 西华大学课程设计说明书 - 11 - 1 带进位和不带进位的加法、减法运算; 2 逻辑与、逻辑或和逻辑异或; 3 加 1、减 1 和仿操作; 4 左移位、右移位和半字节移位; 5 BCD 码调整等。 3.1.3 控制器 控制器包括定时控制逻辑电路、指令寄存器 IR、指令译码器 ID 等,是微处理器 CPU 的大脑中枢。 CPU 从存储器中取来的指令,首先被送入指令寄存器寄存,使整个分析执行过程一直在该指今控制下。然后指令寄存器中的指令代码被译码分析成一种或几种电平信号,这些电平信号与外部时钟脉冲在 CPU 定时与控制电路中组合,形成各种按一定时间节拍变化的电平和脉冲,即是控制信息,在 CPU 内部协调像寄存器之间的数据传送、数据运算等操作,对外部发出像对存储器读写、输入输出等控制信息。这部分电路的定时由外部振荡器的脉冲所控制脉冲周期称为时钟周期。每执行某一个指令需要的时间常常是几个甚至几十个时钟周期时间。 3.2 光电耦合器介绍 光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强无触点且输入与输出在电气上完全隔离等特点,因而在各种电子设备上得到广泛的应用光电耦合器可用于隔离电路、负载接口及各种家用电器等电路中 电耦合器原理及应用 光电 耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等等。光电耦合器的种类较多, 常见有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达林顿型、集成电路型等。 光电耦合器原理及应用 光电 耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等等。光电耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达nts 西华大学课程设计说明书 - 12 - 林顿型、集成电路型等。 工作原理 在光 电耦合器 输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电一光一电的转换。 下 图 3 5 为光电耦合器件的电路原理图 . 65412U3O P T O C O U P L E R -N P N图 3 5 光电耦合器电路原理图 4 硬件 电路 设计 4.1 步进电机的驱动电路 步进电机又称为脉冲电动机,是数字控制系统中的一种执行元件。其功能是将脉冲电信号转变为相应的角位移或直线位移,即给一个脉冲电信号,电动机就转动一个角度或前进一步。近几十年来,数字技术和电子计算机的迅速发展为步进电机的应用开辟了 广阔的前景。目前,我国已较多地将步进电机用于机械加工的数控机床中。 在以往的转速表测试中,常用直流电机和锁相环组成电机调速系统。直流电机仿真发动机涡轮轴的转动,通过测量直流电机的转速来测试转速表工作是否正常。由于锁相环在调速过程中存在转速漂移和累积误差等因素,故在转速表测试的全量程范围内,其测试精度不高,测试的结果可信度差。 使用步进电机的运动系统由步进电机驱动器和步进电机构成。当系统接受一个电脉冲信号时,步进电机的转轴将转过一定的角度或移动一定的直线距离。电脉冲输入越多,电机转轴转过的角度或直线位移就越多; 同时,输入电脉冲的频率越高,电机转轴的转速或位移速度就越快。步进电机控制的最大特点是没有积累误差(精度为 100)。因此,将步进电机应用于 精确的转角控制是非常有用的 。 nts 西华大学课程设计说明书 - 13 - 65412U3O P T O C O U P L E R - N P NQ1N P NR11 0k1 2U 1 :A7 40 4 R21 0kR31 0kQ2N P NR41 0k+ 5vU 1: A ( A )+ 15 v图 4 1 电压隔离接口 单片机输出的信号通过 TTL 门电路或直接送到一个晶体管的基极再由晶体管驱动光电耦合器件的发光二极管。发光二极管的光照到光电耦合器件的内部光敏管上又转换成电信号。再去驱动步进电机的功率放大电路。 典型的电压隔离接口 如 图 4 1 所示。其中晶体管 T1 是光电耦合器中发光二极管的驱动管,晶体管 T2 是光电耦合器中光敏二极管的 电流放大管。当单片机输出一个正脉冲信号时,则由 I/O 线 Pl 送入 7404 中,由 7404 反相之后成为低电平脉冲。因此晶体管 T1 截止。 5v 电源通过 R2 对光电耦合器 OT 中的发光二极管供电,则二极管发光 OT 中的光敏三极管导通从而使晶体管 T2 导通、 V 输出高电平并送到步进电机的电流放大极。 图 4 2 电流放大接口 图 4 2 为步进电机输入口的电流放大接口 电流放大接口是步进电机功放电路的前置放大电路。它的作用是为了把光电耦合器的输出信号进行电流放大以便向功放电路提供足够大的驱动电流。 nts 西华大学课程设计说明书 - 14 - 4.2 显示电路 5 软件电路设计 5.1 步进电机的控制方式 步进电机采用的是四项步进电机,转子齿数为 50,实行四项单四拍运行,即四项步进电机有 A, B, C, D 四项。 有三种节拍方式 : 1:ABCDA; 2:ABBCCDDAAB; 3:ABCBCDCDADABABC; 四项步进电机采用的转子齿数是 50,所以齿距角为 360 /50=7.2。三种方式的步进角都相同 .当输入步进电机工作一个周期的脉冲信号时,步进电机的步进角为: 7.2 /4=1.8。因此说此步进电机可以做转角为 1.8及 1.8整数倍的动作, 所以此步进电机控制有较高的精度。而步进电机的四项输入控制信号有AT89C51 单片机的 P1.0 P1.3 引脚输出。 对于步进电机而言 ,用方式 3 可以提高步进电机的转矩,因此可以提高步进电机的带负载能力,并且矩角特性形状相同,这对步进电机运行的稳定性是非常有利的。 三种方式的 C 语言子程序分别为: 方式 1: void run() switch(cnt) case 0:P2=0xf1; break; /11110001 case 1:P2=0xf2; break; /11110010 nts 西华大学课程设计说明书 - 15 - case 2:P2=0xf4; break; /11110100 case 3:P2=0xf8; break; /11111000 default: break; +cnt; if(cnt=4)cnt=0; 当采用 方式 1 是,在 proteus 软件上模拟,用逻辑分析仪显示分别为 A_B_C_D四项的结果 如 图 4 3。 图 4 3 方式 2: void run() switch(cnt) case 0:P2=0xf3; break; /11110011 case 1:P2=0xf6; break; /11110110 case 2:P2=0xfc; break; /11111100 case 3:P2=0xf9; break; /11111001 default: break; +cnt; if(cnt=4)cnt=0; nts 西华大学课程设计说明书 - 16 - 当采用 方式 2 是,在 proteus 软件上模拟,用逻辑分析仪显示分别为 A_B_C_D四项的结果 如 图 4 4。 图 4 4 方式 3: void run() switch(cnt) case 0:P2=0xf3; break; /11110111 case 1:P2=0xf6; break; /11111110 case 2:P2=0xfc; break; /11111101 case 3:P2=0xf9; break; /11111011 default: break; +cnt; if(cnt=4)cnt=0; 当采用 方式 3 是,在 proteus 软件上模拟,用逻辑分析仪显示分别为 A_B_C_D四项的结果 如 图 4 5。 nts 西华大学课程设计说明书 - 17 - 图 4 5 结论: 对于步进电机而言 ,用方式 3 可以提高步进电机的转矩,因此可以提高步进电机的带负载能力,并且矩角特性形状相同,这对步进电机运行的稳定性是非常有利的。 所以本次设计采用的是方式 3 进行对单片机的控制。 5.2 进行步进电机控制的 C 语言源程序 编写 C 语言源程序的工具为 Keil C 编译软件: 程序结构图如下: 图 4 5 步进电机控制流程图 任务完成,等待下一个任务 输入步进角的数目: n 步进电机转动一个步进角: n-1 n0 是 否 nts 西华大学课程设计说明书 - 18 - 6.系统功能、指标测试 此系统的设计达到了最初的系统设计要求 ,此系统可以完成对大功率步进电机的精确控制 ,不仅可以精确的输入要求步进电机需要完成的步进角的数 目 ,此数目可以通过 单片机的外部中断 0,当有按键按下时,单片机扫描 按键的值,从而确定数目的增一还是减一, 而且 这些过程都在由单片机 P0 引脚控制的 LED 所显示出来, 这样增加控制时的直观感,且不易出错 。当步进电机工作时,美完成一个步进角, LED 所显示的 十进制数将减一,这样可以直观的感受到步进电机任务完成状况,这种方式特别适用与不能直接观测到步进电机的工作场合。 系统的这些功能在 PROTEUS 仿真软件中模拟成功。此系统的另一个功能就时用光电耦合电路进行电压隔离, 这样不仅防止了步进电机工作时所产生的磁场对控制电路的干扰,也可以在光电耦合器的另一端 设计一个电流放大电路,这种方式特别适用于对于大功率步进电机的驱动控制,系统的这种功能也在 PROTEUS 仿真软件中模拟成功。总而言之,本次设计是成功的 ,完全达到了最初的设计要求。 nts 西华大学课程设计说明书 - 19 - 7设计 总结 课程设计是课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不少的,是非常必要的。 一个好的设计不仅要用到所学的知识,应该在所学的知识中进行扩展,这就需要我们拥有一定的自学能力,对于不懂的,不清楚的,可以及时的请教老师 、同学,或者 网上查找资料、或者 到图书馆翻阅书籍。因为大学就是需要培养一个人的自学能力, 在以后的生活道 路中 ,或许你从事本专业的工作或者不从事本专业的工作,都需要你有较强的自学能力,不断的更新自己的知识,跟上时代的步伐,这样才能在以后的事业、生活中才不会被淘汰。 8.致谢词 首先感谢靳斌老师给我的指导。在设计和论文写作过程中,我始终得到靳老师的悉心教导和认真指点,使得我的理论知识和动手操作能力都有了提高。在他身上,时刻体现着作为科研工作者所特有的严谨求实的教学风范,勇于探索的工作态度和求同思变、不断创新的治学理念。他不知疲倦的敬业精神和精益求精的治学要求,端正了我的学习态度,使我受益匪浅。 最后,感谢所有给予 我关心和支持的老师和同学。 nts 西华大学课程设计说明书 - 20 - 9参考文献 1 张毅刚 , 单片机原理及应用 M, 高等教育出版社 , 2003.12 2 谢自美,电子线路设计、实验、测试 M,华中科技大学出版社, 2002.07 3 康华光,电子技术基础(模拟部分) M,高等教育出版社, 2003.03 4 康华光,电子技术基础(数字部分) M,高等教育出版社, 2003.03 5林红 , 数字电路与逻辑设计 M,清华大学出版社 ,2004.07 nts 西华大学课程设计说明书 - 21 - 附录一:电路 原理 图 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51+5v1 23U2:A74S0812U3:A740434U3:B740456U3:C74041312U3:D7404Q3NPNQ4NPNQ5NPNQ6NPNQ7NPNQ8NPNQ9NPNQ1NPNR13kR23kR33kR43k+5vR5
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。