您现在的位置:首页 > >

基于51单片机的步进电机控制系统设计_图文

发布时间:

专业资料
基于 51 单片机的步进电机控制系统设计
中文摘要
步进电机是一种受 脉冲信号控制,并且能将 脉冲信号转化为相应的 角位移或 者 线位移的 数字 电动机。由于步进电机具有步距误差不积累、运行可靠、结构简 单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制 装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。随 着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在 众多领域中可以看到。其中采用单片机作为控制核心的控制系统,由于其电路简 单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用。因此, 研究基于单片机的步进电机控制系统, 具有重要的现实意义。本设计研究的是基 于 51 单片机 对步进电机的控制系统。通过单片机的 I/O 端口输出时序方波作为控 制信号,信号经过芯片 ULN2003 驱动芯片驱动步进电机进行不同的指令进行工作。 根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能, 并在数码管上实时显示步进电机的工作状态。本文给出了电路各个模块的电路图, 并用 Proteus 的 ISIS 软件对控制系统的各个功能进行了仿真,并给出了相应的仿 真结果图像。
关键词:单片机; 步进电机; 电机驱动; 控制系统

WORD 完美格式

下载可编辑

专业资料
Abstract
Stepper motor controlled by a pulse signal, and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor. As the stepper motor has a step error does not accumulate, reliable, simple structure, small inertia, low cost, and therefore, are widely used in computer peripheral circuits, automatic control devices and other digital control devices, such as printers, watches and clocks , digital to analog conversion equipment, and other devices. With the rapid development of science and technology, the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system, because of its simple circuit, low cost, high reliability, etc., to meet the needs of many fields, we get a lot of use. Therefore, based on single-chip stepper motor control system has important practical significance.The design study is 51 single-chip stepper motor control system. As a control signal, the signal through the chip ULN2003 stepper motor drive to work through the microcontroller I / O port output timing square wave. Depending on the need, through the key circuit to control the start and stop, reversing and ramp functions such as stepper motors, stepper motors in real-time display and digital working condition. In this paper, the circuit diagram of each module, and with the ISIS Proteus software for each function control system simulation, and the simulation results are given corresponding image.
Key words: microcontroller; stepper motor; motor drive; control system

WORD 完美格式

下载可编辑

专业资料

目录

中文摘要 ........................................................ I Abstract ....................................................... II 1 绪论 ......................................................... 1
1.1 步进电机及其发展过程 .................................... 1 1.2 步进电机在我国的应用及前景 .............................. 2 1.3 本设计的研究内容 ........................................ 3 1.4 步进电机的性能指标及工作原理 ............................ 3
1.4.1 步进电机的特点 ...................................... 3 1.4.2 步进电机的种类 ...................................... 4 1.4.3 步进电机的主要性能指标 .............................. 5 1.4.4 步进电机的工作原理 .................................. 6 1.5 步进电机控制系统的原理 .................................. 8 2 总体方案设计 ................................................ 10 2.1 设计思路的选择 ......................................... 10 2.2 单片机芯片的选择 ....................................... 12 2.3 驱动电机芯片的选择 ..................................... 12 2.4 显示电路的选择 ......................................... 13 2.5 步进电机的选择 ......................................... 13 3 控制系统的硬件电路设计 ...................................... 15 3.1 键盘控制电路 ........................................... 15 3.2 单片机最小系统电路 ..................................... 16 3.3 数码管显示电路 ......................................... 18 3.4 步进电机的驱动电路 ..................................... 20 3.5 步进电机的其他电路 ..................................... 22 4 控制系统的软件设计 .......................................... 23 4.1 主程序流程图 ........................................... 24 4.2 读按键子程序流程图 ..................................... 24

WORD 完美格式

下载可编辑

专业资料
4.3 按键处理子程序流程图 ................................... 25 4.4 电机控制中断程序流程图 ................................. 26 5 仿真与测试 .................................................. 28 5.1 仿真软件介绍 ........................................... 28 5.2 仿真的操作步骤 .......................................... 28 5.3 电路板的焊接 .......................................... 29 5.4 电路板的测试 ........................................... 30 6 结论与展望 .................................................. 32 致 谢 .......................................................... 34 参考文献 ....................................................... 35 附录:系统总体电路图 ........................................... 36
系统仿真原理图 .......................................... 37 PCB 打印图 ............................................... 38 原件清单 ................................................ 39 程 序 ................................................... 40

WORD 完美格式

下载可编辑

专业资料

1 绪论

1.1 步进电机及其发展过程

步进电机是一种受 脉冲信号控制,并且能将 脉冲信号转化为相应的 角位移或 者 线位移的 数字 电动机。由于电源每次输入电脉冲给该电机,该电机就会前进一 小步,转动的方式是步进式的,所以称为步进电动机。由于电源输入的是脉冲式 的电压,因此,有时也被称为脉冲电动机。
在步进电机驱动能力范围内,其输出的角位移或线位移与输入的脉冲个数成 正比,不因电源电压、负载变化和环境条件等的变化而变化。所以其输出的角速 度或线速度也与输入的脉冲频率成正比,通过改变输入脉冲频率的高低就可以调 节步进电机的转速,并能控制步进电机的快速启动,暂停,正反转和加减速等。
由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低 等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字 控制装置中,如打印机、钟表、数模转换设备等装置中。
虽然步进电机近些年来才被广泛使用,但其工作原理很早就被人们研究出来。 其中,最早的可以追溯到法国人佛罗曼提出了将电磁铁的吸引力转化为力矩的方 法。当时,激磁相的切换是采用机械式凸轮的接触点来完成,这就是步进电机最 初的原理模型。后来逐步发展还出现了旋转线圈式的应用方法。二十世纪三十年 代以后,步进电机的应用才逐渐开始,称为 变磁阻型步进电机,被 英国海军用作 定位控制 和远程遥控的装置。
随着晶体管元件的快速发展,与之相结合使用的步进电机也得到了快速的发 展和广泛的使用。1950 年研制出二极管半导体,1964 年开发出 MOS 半导体,特别 是经过 1950—1965 年间半导体材料的高速发展后,由于价格低廉、可靠性高的逻 辑数字电路得到广泛的应用,使步进电机的使用量也急剧增加。
多年来,随着电力电子技术、自动化控制技术以及计算机技术的快速发展, 步进电机系统尤其是其中的驱动电路部分的不断发展,使其在单片机控制,数控 机床、绘图仪、打印机以及光学仪器中都得到了广泛的应用。现如今,继 直流 电 动机和 交流 电动机这两大类电机被广泛应用后,步进电机也已成为生活中最常用 的 第三类电动机。国内外围绕着步进电机系统的研究做了大量的工作以及相应的

WORD 完美格式

下载可编辑

开发工作。

专业资料

图 1-1 步进电机
1.2 步进电机在我国的应用及前景
我国对于步进电机的研究及制造起始于 20 世纪 50 年代。当时,主要是一些 高等院校和科研机构使用或开发与步进电机相关的产品。进入 70 年代,我国各地, 例如北京、南京、江浙一带都有大量的生产和使用,其中的驱动电路的半导体器 件,已实现完全国产化。进入改革开放时代后,随着国外各种步进电机的先进技 术进入国内,我国对其进行了大量的研究,并开发出了多种混合式的步进电机以 及相应的驱动元件,同时,也被大量的应用于各种领域中。发展至现今,我国在 这方面的理论研究比较成熟,逐渐形成了比较完善的基础理论和设计方法,产品 种类也逐渐多样化,性能和参数也逐渐达到甚至有些已经超过国外同类产品的水 平。
而国外的大功率驱动工业设备上,只有少数要求较高的设备中才会使用空心 转杯电机、交流电机;目前,大多数场合不使用大扭矩的步进电机,而是采用直 流电动机。其原因是从驱动电路的成本、效率、系统惯量与最大扭矩比等指标进 行比较,采用直流电动机更为合适。除此之外,还有一些小功率的工业设备中也 得到了广泛的应用,例如,工业自动控制、数控机床、组合机床、机器人、计算 机外围设备、照相机以及大型望远镜等等。
经过多年的发展,步进电机的应用越来越广泛,功能更加强大,种类也很繁 多,相应的产品也日趋完善。步进电机以它显著的优点在工业生产和自动化控制

WORD 完美格式

下载可编辑

专业资料
中占据着不可动摇的地位。相信在不久的未来,伴随着科学技术的快速发展,步 进电机将会在更多的领域得到广泛的应用。
1.3 本设计的研究内容

本设计研究的是基于 51 单片机的步进电机控制系统。采用单片机 STC89C51 作为控制核心,通过四个按键控制步进电机的运行状态,即控制启停、转向、加 减速等,并利用四位的数码管显示步进电机的转向和速度等级。本设计的硬件部 分主要由 单片机、 键盘控制模块、电机驱动模块、 数码管显示模块以及电源 模 块 五部分组成。
本产品主要实现的功能: (1)5 个按键控制整个电路,对应功能分别是:启动/暂停、正/反转、加速、 减速、复位; (2)数码管显示正/反转的指示和电机转动速度的等级; (3)5 个 LED 灯,一个为电源工作指示灯,其余四个则指示电机的转速等级。 本设计的控制核心是利用软件控制单片机输出不同的脉冲信号,从而驱动步 进电机进行相应的动作,显示不同的运行结果,同时,为了使步进电机的运行状 态显示的更为直观,利用数码管显示电路实时的显示出来。
1.4 步进电机的性能指标及工作原理

本设计是以 STC89C51 单片机作为控制单元,集成芯片 ULN2003 作为电机的驱 动芯片,DC-5V 步进电机作为控制对象。本设计通过五个按键的控制,改变输入脉 冲的频率和个数来调节步进电机的正反转、加速、减速、暂停和复位功能;LED 数 码管的第一、二位显示速度等级,而第四位则显示步进电机的转动方向;5 个发光 二极管,一个为电源指示灯,其余四个则指示电机的转速。
1.4.1 步进电机的特点
从应用的角度来说,对步进电机的基本要求如下: (1)步进电机能够在一系列脉冲信号的控制下,快速、平滑、稳定的实现启 动、暂停、正/反转,加/减速等运行方式;

WORD 完美格式

下载可编辑

专业资料
(2)为了提高精度,要求脉冲对应的位移量小,并要准确、均匀。这就要求 步进电机步距小、步距精度高,不能存在失步的现象。要求步进电机输出转矩大, 可以直接带动负载工作
(3)响应要快速。即要求步进电机不仅启动、暂停、反转的动作要快速,并 能连续高速的运转工作以提高劳动的生产效率。
(4) 要求步进电机输出转矩大,可以直接带动负载工作。
1.4.2 步进电机的种类
常用的步进电机有三种: (1)永磁式步进电机 永磁式步进电机内部主要由定子和转子两部分组成,组成的形式也可以为两 种,即转子采用永久磁铁,定子采用线圈;或者反之,也可以。其工作原理是通 电的定子线圈产生的磁场和转子永久磁铁产生的磁场,通过吸引或排斥的相互作 用,产生转动力矩,使其进行转动工作。 该电机的特点是励磁功率小、效率高、造价便宜,启动频率和运行频率较低, 永磁需要量也大。缺点是由于永久磁铁之间的磁化间距不便于测量、控制,受到 影响的因素较多,故为了保持良好的效果,步距角通常会设置的较大。 (2)反应式步进电机 反应式步进电机,通常也被称为可变磁阻型步进电机,其转子磁路是由软磁 材料制成的铁芯,而定子则由励磁绕组线圈缠绕着铁芯构成的;其工作原理是磁 性转子铁芯通过定子产生的脉冲磁场而形成的吸引或排斥的相互作用,产生转矩, 使其进行转动工作。 由于该类步进电机的定子和转子均不含永久磁铁,因此无励磁时没有保持力 。这类电机的转子结构简单、转子直径小,有利于高速响应。这种电机具有效率 低、启动和运行频率较高、转子的阻尼差、噪声大等缺点。优点是制造材料费用 低、结构简单、步距角小。 (3)混合式步进电机 由于该电机的转子导磁体上嵌有永久磁铁,可以说是永磁型和可变磁阻型相 结合的一种形式。故称为混合型步进电机。混合式步进电机分为两相、三相和五 相等。由于其内部结构组成的特点,使其同时具备了永磁式和反应式的各自的优

WORD 完美格式

下载可编辑

专业资料
点,具有输出转矩大,响应速度快,效率高,振动噪声小等优点。
1.4.3 步进电机的主要性能指标
(1)步距角 控制系统输入一个电脉冲信号时,转子所旋转过的机械角度称为步距角。即:
当定子绕组完成一次通电周期时,转子绕组由于受到磁场变化的作用,产生磁矩, 旋转相应的机械角度。步距角的大小会影响到步进电机的运行频率和启动。
步距角的误差不会长期积累,只与输入脉冲信号的个数相对应,可以组成结 构简单且具有一定精度的开环控制系统,也可以在要求更高的精度时组成闭环系 统。一般情况下,步距角越小,加工精度就越高。
(2)最大静转矩 步进电机在规定的通电相数下,一相绕组在通上额定电流时的最大转矩值称 为最大静转矩。它表示了步进电机所能承受负载的能力。一般情况下,流入步进 电机绕组的电流越大,最大静转矩也就越大,也就可以带动更大的负载转矩,此 时的运行的快速性及稳定性就越好。 (3)静态步距角误差 静态步距角误差,由名称可知,是指步距角的理论值域实际值之间的误差, 由于误差较小,通常在分的级别,一般不会超过 10 分的精度范围。该误差值主要 是有电磁转矩的不均匀等其他因素造成的,这种误差在实际生活中不可避免,通 常只有进一步提高机械齿轮的制造精度,使误差值尽可能的减小。步距角误差直 接影响工作的加工精度以及步进电机的动态特性。通常在空载情况下进行测定, 静态步距角误差越小,表示步进电机的精度越高。 (4)启动频率和启动频率特性 启动频率是指步进电机在不带任何负载的情况下,由静止状态直接进行启动, 并且能够稳定的、不失步的进入正常运行状态,所需要的脉冲频率的最大值。它 也是衡量步进电机响应速度快慢的一个重要的参数。 若定子绕组的通电变化频率 高于步进电机 空载时的启动频率,则步进电机就不能在空载下直接启动。启动频 率与负载惯量有关,一般来说随着负载惯量的增长而下降。 产品介绍上往往会给出空载时的启动频率。然而实际使用中,大多数步进电 机都是在带有负载的情况下启动,因此,所以产品介绍通常会以表格或曲线的形

WORD 完美格式

下载可编辑

专业资料

式给出启动的矩频特性,即启动频率特性,以便确定负载启动频率。 (5)运行频率和运行矩频特性 运行频率是指步进电机在启动后,稳定运行的过程中,连续上升脉冲信号的
频率时, 步进电机仍能继续稳定运行而不失步的最高频率。运行频率是衡量步进 电机定子绕组通电变化频率快慢的一个重要参数。 运行频率的值要比启动频率 的 值大 的多 。运行频率随负载的性质和大小而异,与驱动电源也有很大关系。运行 矩频特性通常会在产品介绍中以表格或曲线的形式给出。 运行矩频特性是指当步 进电机 带负载运行时的运行频率与负载转矩之间的关系。它是衡量步进电机带负 载运行时, 步进电机所能承受带负载能力大小的一个重要参数指标。
1.4.4 步进电机的工作原理

步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运 动不产生旋转量的误差积累。
四相电机运行时,可以是四相中每次只有一相绕组通电来工作,也可以是两 相同时通电,或者是单相和两相交替通电。前一种驱动方式称为四相单四拍,后 两者分别为四相双四拍和四相八拍。这里所谓的“四相”是指步进电机具有四相 定子绕组;“单”是指每次只有一相绕组通电;“四拍”是指四次换接为一个循环, 第五次换接重复第一次的情况。
(1)四相单四拍。电机的通电顺序为 A-B-C-D-A-B...,如表 1-1 所示; (2)四相双四拍。电机的通电顺序为 AB-BC-CD-DA-AB-BC...,如表 1-2 所示; (3)四相八拍。电机的通电顺序为 A-AB-B-BC-C-CD-D-DA-A-AB...,如表 1-3 所示;
表 1-1 四相单四拍

步序

控制位

工作状态

A相

B相

C相

D相

1

1

0

0

0

A

2

0

1

0

0

B

3

0

0

1

0

C

WORD 完美格式

下载可编辑

专业资料

4

0

0

0

1

D

步序

表 1-2 四相双四拍 控制位

工作状态

A相

B相

C相

D相

1

1

1

0

0

AB

2

0

1

1

0

BC

3

0

0

1

1

CD

4

1

0

0

1

DA

步序

表 1-3 四相八拍 控制位

工作状态

A相

B相

C相

D相

1

1

0

0

0

A

2

1

1

0

0

AB

3

0

1

0

0

B

4

0

1

1

0

BC

5

0

0

1

0

C

6

0

0

1

1

CD

7

0

0

0

1

D

8

1

0

0

1

DA

本次设计中使用的是 28BYJ-48 步进电机,该电机属于四相八拍电机,因此,

WORD 完美格式

下载可编辑

专业资料
该步进电机的输入脉冲信号也应该是四相八拍的工作方式。使用单片机的定时器 0,把工作方式设置为 1,单片机的每一次中断都会给步进电机的绕组输入一个脉 冲电压,步进电机随即将脉冲信号转化为线位移或角位移,转动一个角度。
1.5 步进电机控制系统的原理
传统的步进电机控制系统是电子电路组成的,主要由脉冲发生器、环形脉冲 分配器、功率放大器以及步进电机组成,结构图如图 1-4 所示:

图 1-4 传统的步进电机控制系统 脉冲发生器的作用是产生一连串(一系列)连续的脉冲信号的电子器件,脉 冲信号的频率范围较宽,可以是低频的是 20 赫兹至 10 兆赫兹,也可以是高频的 100 千赫兹至 300 兆赫兹等等。环形脉冲分配器的作用是将输入的连续脉冲信号, 按照一定的规律顺序,分别分配给驱动元件的各个端口。在这个过程中,环形脉 冲分配器按照一定的顺序接通、断开,使电机绕组的通电按输入脉冲的控制而循 环变化。由于环形脉冲分配器输出的脉冲信号电流很小,往往只有几微安,所以 要想驱动步进电机进行工作就需要添加功率放大器,将功率就行放大。采用以往 的电子电路的控制方式,由于其电路组成复杂,成本较高,因而限制了它的应用, 不能大范围的应用。 但是,若采用基于单片机的控制系统,由软件代替脉冲发生器和环形分配器 的作用,不仅大大简化了电路的组成,也降低了成本,稳定性和可靠性也大大提 高。此外,可以根据系统的需要,灵活的改变步进电机的控制设计方案,使其性 能不在单一,使用很方便。常用的基于单片机控制步进电机系统原理图,如图 1-5 所示:

WORD 完美格式

下载可编辑

专业资料
图 1-5 基于单片机的控制系统 将图 2 与图 1 相比,主要区别在与用单片机代替了脉冲发生器和环形分配器 的作用。因此, 单片机的主要作用就是把 并行的二进制码转换为串行脉冲序列, 并实现 反向控制。每当步进电机脉冲输入线上得到一个脉冲,它使沿着方向控制 线信号所确定的方向行进。步进电机在正常的工作状态下,对步进电机每输入一 个脉冲信号,步进电机就会转动相应的步距角,且该步距角是成比例的,且角度 值是固定的。 通过资料可以计算出步进电机的步距角大小,若能已知其行进的步 数和行进前的初始位置, 便可以计算出电机最终的停止位置。

WORD 完美格式

下载可编辑

专业资料
2 总体方案设计

2.1 设计思路的选择
对于步进电机控制的研究,国内外近些年出现了多种控制方式,其中最常见 的控制方式为以下三种:
(1)基于电子电路的控制方式: 步进电机能直接接收数字信号的特点,所以被广泛应用于数字控制系统中。 其中较常用的控制电路是采用硬件电路的方式,即利用数字逻辑单元组成的电子 电路。此种控制方式的特点是电路结构简单,可靠性强,性能稳定,可以实现一 般的基本任务要求。缺点是功能性比较单一,电路的功能不能更改。若要改变控 制系统的功能,一般需要重新设计硬件电路,灵活性较差。 (2)基于单片机的控制方式: 采用基于单片机的步进电机控制方式,实现了软、硬件相结合的控制方法。 为了能够更加准确、精准的控制步进电机,最好的控制方式是利用软件将脉冲信 号有规律的输出到步进电机的驱动元件上,从而,取代了环形脉冲分配器的功能。 由于单片机的强大功能,还可以扩张大量的外围电路,键盘作为一个外围中断源, 可控制步进电机实现启停、正反转、加减速等功能,也可以利用数码管作为显示 电路,来显示步进电机的工作状态。此种控制方式的特点是系统的灵活性好,可 靠性强,增加了控制系统的功能多样性。缺点是系统硬件设计相对复杂,电路设 计工作量相对较大。 (3)基于 PLC 的控制方式: PLC 的控制方式是在工业领域中,以计算机控制技术相结合发展起来的控制技 术。通过 PLC 编程软件输出方波脉冲, 环形脉冲分配器将控制脉冲按步进电机的 通电顺序分配到相应的 绕组 上。而环形脉冲分配器可以分为软件和硬件两种。采 用软件环形分配器时,占用 PLC 资源较多,电路结构简单;而采用硬件环形分配 器时,电路结构复杂,PLC 资源占用较少,但增加成本。此种控制方式的特点是抗 干扰能力强,可靠性高,编程简单,性价比高,安装简便,维修方便等。缺点是 不能在高频率下对步进电机进行控制,且控制精度小。 通过对以上三种方案的比较,可以发现:基于电子电路的控制方式灵活性不 高;基于 PLC 的控制方式不能在高频率下进行,控制精度小;而随着科学技术的

WORD 完美格式

下载可编辑

专业资料
快速发展,人们对控制功能的要求也越来越高,使得单片机的优点更加的直白的 显现出来,因此,单片机与控制电路的结合是日后发展的主流方向。结合本设计 的设计成本等因素的考量,故本设计采用基于单片机的控制方式。
本方案有以下优点: (1)利用 单片机的软件代替了环形分配器的功能,通过改变单片机的输入程 序,用一种电路可以实现对多相步进电机的控制和驱动,使步进电机的 灵活性和 通用性大大提高; (2)利用单片机的软件可以使步进电机的 复杂控制变得更为简洁,也使控制 方式实现了自动化控制和 精准控制,可以有效的 避免振荡、失步对电路产生的影 响; (3)由于单片机的扩展性较强,使其功能日趋完善,功能也逐渐多样化,设 计成本较低,具有很 高的性价比; (4)由于单片机拥有很多的外围电路,且现存的子程序日趋完善,在使用时, 直接调用,大大减少了工作量,也提高了系统的交互性。 硬件部分主要是以 单片机为核心,本设计选用的步进电机是四相的步进电机, 通过软、硬件的结合,实现了步进电机的 启动/ 暂停、正转 / 反转 、加减速 功能, 并且将电机的 转向和速度等级动态的显示在 数码管 上。本设计是由 单片机 、 键盘控制模块、电机驱动模块、 数码管显示模块以及电源 模块 五部分组成。其 中 键盘控制模块、电机驱动模块、 数码管显示模块是本次设计的 核心内容。 本设计的系统框图如图 2-1 所示:
电源模块

键盘控制模块

数码管显示模 块
WORD 完美格式

单片机

电机驱动模块

图 2-1 总体设计框图

下载可编辑

专业资料

2.2 单片机芯片的选择

方案一:采用凌阳单片机。凌阳单片机是一款控制处理数据以及数字信号处 理的设备。该单片机具有多种不同的产品类型,可以满足不同的电路场合的需求。 它具有集成度高、数/模混合、功能全、低功耗、低电压和易于扩展等特点,并且 能用电池供电,具有较强的中断处理能力。另外,它还增加了适合于 DSP 的某些 特殊指令,有些系列的单片机还嵌入了 LCD 控制/驱动和双音多频发生器功能,并 且支持语音提示功能。缺点是价格较贵,不利于提高产品的性价比。
方案二:采用 51 系列的单片机。51 单片机是现在应用最为广泛的单片机。 该单片机具有 集成程度高、体积 小、功耗 低、系类 齐全、扩展 容易、使用方便、 抗干扰能力强、 性能 可靠等优点。同时,它的价格低廉,有利于提高性价比。缺 点是数据处理较弱。
现实生活中,为了使电路更稳定的工作,有时单片机芯片需要具有一定的抗 干扰能力以及一定范围的工作环境温度等等特殊的要求。按适用的工作温度分, 单片机芯片可分为商用级、工业级、军用级三个等级,这里选择一般的商用机即 可。按抗干扰能力方面的要求,由于本次设计的功能有限,一般的单片机均能满 足该要求,因此,抗干扰方面不需要特别考虑。若从易学掌握的角度出发,要求 所选单片机要支持简单易学的编程语言,并且拥有易于学习的编程软件。此外, 本设计选用的单片机最好具有丰富的相关学习资料,便于查找学习,使其具有更 高的通用性。若从该角度出发,51 系列的单片机具有一定的优势。
综上所述,通过从各方面的综合考虑,本系统选择方案二 51 单片机作为主控 芯片。在常用的 51 单片机中,STC89C51 系列的单片机是宏晶科技推出的新一代超 强抗干扰、高速低功耗的单片机,它的功能已完全能够实现本设计的要求,且价 格便宜,下载程序方便。
2.3 驱动电机芯片的选择

方案一: 使用驱动芯片 ULN2003。 ULN2003 芯片可以直接处理数字信号,例 如经过数字逻辑电子电路产生的脉冲信号。该芯片的内部结构由 7个NPN达林 顿 管 组成的,并且 每一对达林顿管都分别与一个基极电阻串联。通常被广泛应用于单 片机、PLC、仪表电器等控制驱动电路中。特点是电流增益 高、 工作电压高、 驱 动 能 力 强、 稳定性能好、 体积 小、 价格 低廉等等。

WORD 完美格式

下载可编辑

专业资料
方案二: 使用驱动芯片 L298。L298N 芯片属于 H 桥集成电路。驱动芯片 L298 可以直接和单片机进行连接,接收单片机的数字脉冲信号。由于其输出电流大、 功率大的特点,可以直接驱动电机进行工作。而当驱动芯片 L298 直接驱动步进电 机工作时,只需要改变脉冲信号的逻辑电平值,就可以实现对步进电机工作状态 的控制。该芯片具有体积小,控制方便等优点,缺点是使用该芯片时需要添加光 电耦合器件,进行光电隔离,消除电机对单片机产生的干扰,从而使系统稳定可 靠地工作。
综上所述,通过从各方面的综合考虑,本系统选择方案一 ULN2003 作为本设 计的驱动芯片。
2.4 显示电路的选择
方案一:采用 LCD 液晶显示器。LCD 液晶显示器不仅可以显示 数字 、字符 和汉 字 , 还 可 以显示各种图形和曲线, 并 且 可 以 实 现 内容的闪烁 、 屏 幕 内 容 的 上下左右滚动等功能,具有 体积 小、质量 轻、散热小、电磁辐射小、图像还原清 晰等优点。缺点是对单片机的接口要求高,一般多采用并行接口,占用资源多, 同时也需要专门的驱动电路,且器件价格昂贵。
方案二:采用 LED 数码管。LED 数码管的显示模块 采用LED七段共阳或共阴的 数码管,可以进行动态显示和静态显示。STC89C51 单片机输出的脉冲序列经过上 拉电阻驱动数码管显示。采用数码管动态显示方式,具有亮度高、响应速度快、 防潮防湿性能好、使用寿命长、硬件电路简单、编程简便、显示信息清晰、价格 低廉等优点,但占用单片机 I/O 端口较多。
综上所述,通过从使用的实用性和价格等各方面的综合考虑,本系统选择方 案二 LED 数码管作为本设计的显示模块。
2.5 步进电机的选择
由于本次设计的供电电源是 5V 的直流电源,STC89C51 单片机的 VCC 电压也为 5V,该设计的最高电压也是 5V。因此,选择的类型也应该是驱动电压为直流 5V 的,, 经过综合考量, 28BYJ-48 步进电机比较符合本设计的要求,性价比各方面也很符 合。28BYJ-48 步进电机属于四相八拍电机,输入电压范围为直流 5V-12V。当步进 电机输入一系列连续的脉冲信号时,步进电机按照相应的运行状态,转动相应的

WORD 完美格式

下载可编辑

专业资料
角度。例如,当输入步进电机的通电状态改变一次时,相应的转子也就转过对应 的一个步距角,与之相对。

WORD 完美格式

下载可编辑

专业资料
3 控制系统的硬件电路设计

本设计采用的是 STC89C51 作为步进电机的控制芯片。STC89C51单片机是一种

带 4K 字节闪烁可编程、可擦除只读存储器的低电压、高性能CMOS8位的微处理器,

是典型的嵌入 式微型控制器。并且该单片机的只读存储器可以反复擦除多次使用,

同时,由于 该单片机采用的是ATMEL高密度非易失存储器制造技术,因此,它也与

工业标准的MCS- 51指令集和输出管脚相兼容。单片机如图 3-1 所示:

U1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

P 10 P 11 P 12 P 13 P 14 P 15 P 16 P 17 R ESET P30 / RXD P31 / TXD P32 / INT0 P33 / INT1 P34 / T0 P35 / T1 P36 W R P37 / RD X2 X1 GND

VCC P 00 P 01 P 02 P 03 P 04 P 05 P 06 P 07
EA/VP ALE/ P P SEN
P 27 P 26 P 25 P 24 P 23 P 22 P 21 P 20

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

STC8 9 C5 2
图 3-1 单片机

3.1 键盘控制电路

根据控制系统功能的要求,需要设置四个控制按键,即:K2、K3、K4、K5, 分别来控制步进电机的启停、转向、加速和减速功能。键盘控制电路的原理图如 图 3-2 所示。通过 K2、K3 状态变化来实现电机的启停、转向控制功能。当控制按 键 K2 或 K3 有输入信号时,单片机检测到 P1.0 端口或 P1.1 端口的状态由高电平 变为低电平,内部程序调用相应的启停程序或转向程序,进而控制步进电机的启 停和转向工作状态。
由步进电机的工作原理可知:步进电机转速的控制主要是受输入步进电机的 频率大小所决定的。对于单片机而言,主要的方法有:软件延时和定时中断。本 设计采用是定时中断的方法。通过控制 K4 或 K5 按键开关的闭合、断开,来控制 步进电机的加速或减速。根据 K4 或 K5 按键开关的输入次数,将其输入到单片机 中,更改程序定时器中的中断次数,改变输出的脉冲频率,继而,实现对步进电

WORD 完美格式

下载可编辑

机加速或减速的控制。

专业资料

图 3-2 键盘控制电路原理图
3.2 单片机最小系统电路

单片机最小系统是指单片机能正常工作时,所必须具有的基本电路,主要是 由 单片机、复位电路和晶振电路构成。
(1)复位及复位电路的设计: 在单片机系统中,复位电路是不可缺少的。单片机在正常工作(即执行指令) 前,必须要进行复位操作,这样做的目的是将 CPU 以及系统中其他部件都处于一 个明确的初始状态,便于系统启动。 要实现复位操作,必须使单片机 RESET 管脚至少保持 2 个机器周期以上的高 电平即可。在实际系统中,考虑到系统电源电压的上升时间和晶体振荡器的起振 时间,为了保证系统能可靠地复位,复位信号应该至少维持 20ms 以上高电平。单 片机的复位电路有很多种,主要分为上电复位和手动按键复位两种。

WORD 完美格式

下载可编辑

专业资料
本电路的复位电路部分采用的是手动按键复位方式,复位电路部分如图 3-3 所示。手动按键复位方式的工作原理:当按下复位开关 K1 时,电源 VCC 与单片机 的复位口 RST 直接相连,将复位端口置于高电平,极性电容 C2 也放电;当松开复 位开关 K1 时,由于电容两端的电压值不能突变,故复位端口 RST 仍为高电平,此 时电源 VCC 对电容 C2 充电,直至充电完成,电容相当于开路,复位端口 RST 被置 为低电平,电路复位工作完成。
(2)时钟电路的设计: 在设计单片机系统电路时,时钟电路也是不可缺少的。在计算机系统中,所 有的工作都是在一个节拍(时钟)下同步工作,这样才不会出现冲突。而为这个 系统提供统一的节拍的,便是时钟电路的工作,就如同心脏一样,给计算机提供 动力。在单片机系统中,单片机系统的工作快慢主要取决于时钟电路中晶振频率 的大小。 特别注意的是,在单片机中,时钟电路的设计一定要和单片机靠近,路线尽 可能短。时钟电路的地一定要和同一时钟的芯片的地共地。在晶振频率的选择上, 在满足系统需要的前提下尽可能地选用低频率的晶振,这样可以降低系统的功耗, 不是选用的频率越高越好。 在单片机系统中,时钟信号的产生通常有两种方法:内部时钟方式和外部时 钟方式。本设计采用的是内部时钟方式,如图 3-3 所示。晶振电路是由两个 30PF 的电容和一个 12M 的晶体振荡器组成的,两端分别跨接在单片机的 XTAL1 和 XTAL2 的两个端口上。这里的两个电容是起到稳定频率的作用,对晶振产生的频率微调, 使振荡频率与晶振频率保持一致。

WORD 完美格式

下载可编辑

专业资料

图 3-3 单片机的最小系统
3.3 数码管显示电路
数码管显示器,也称为 LED 显示器,通常是由多个发光二极管组成的,可以 显示字段的显示器件。当 LED 显示器中的段二极管导通时,字段中的一段或一点 相应的点亮,若能快速的同时控制发光二极管的导通,便可以控制数码管显示器 显示出不同的字符。各段 LED 显示器需要由驱动电路驱动。生活中,由于其成本 较低、显示性能优异等优点,被广泛使用于各种场合,常用的数码管显示器有很 多种,例如四位的数码管显示器、米字形数码管显示器等等。
按发光二极管单元连接方式的不同,数码管可分为以下两类: (1)共阳极接法。把发光二极管的阳极连在一起构成公共阳极,并与电源电压 +5V 相连,阴极部分则通过电阻与输入端连接。当输入端为低电平时,发光二极 管导通点亮,可以显示相应的字符信息。如图 3-4 所示。 (2)共阴极接法。 把发光二极管的阴极连在一起构成公共阴极,并接地连接。

WORD 完美格式

下载可编辑

专业资料
每个发光二极管的阳极通过电阻与输入端相连。当输入端为高电平时,发光二极 管导通点亮,可以显示相应的字符信息。如图 3-5 所示。

图 3-4 共阳极接法

图 3-5 共阴极接法

在本设计中所采用的是共阳极数码管作为显示电路,利用三极管的导通与关 断作用驱动数码管。数码管选用 7 段共阳 4 位 LED,第一位显示步进电机的正反转 状态,第一位显示“0”或“1”,第三、四位显示电机的速度等级。
其中第一位为“0”是,表示该电机的转向是正向旋转;“1”则是反向旋转。 而第三四位显示的速度等级有 10 个,即“00”到“10”。显示如图 3-6 所示:

WORD 完美格式

下载可编辑

专业资料

图 3-6 数码管驱动显示电路
3.4 步进电机的驱动电路
本设计采用的是生活中广泛使用的电机驱动芯片 ULN2003 为步进电机提供脉 冲信号。ULN2003 芯片是高压、大电流达林顿晶体管阵列系列产品。其内部结构是 由 7 个硅 NPN 复合晶体管组成。具有电流增益高、工作电压高、驱动能力强、体 积小、价格低廉等特点,通常被广泛应用于单片机、PLC、仪表电器等控制驱动电 路中。同时,ULN2003 芯片可以直接驱动大功率继电器等负载电路。因此,它被广 泛用于计算机,工业和消费类产品中。ULN2003 的设计与标准 TTL 系列兼容。它的 管脚连接图如图 3-7 所示:

WORD 完美格式

下载可编辑

专业资料

图 3-7 ULN2003 管脚连接图

其主要特性如表 3-8,所示:

表 3-8 ULN2003 主要特性

参数 输入电流/(mA) 输入电压/(V) 功耗/(W)

数值

25

30

1

工作温度/(℃) -20~+85

ULN2003 芯片的特点: (1)ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在 5V 的工作电压 下,它能 与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处 理的数据。 (2)ULN2003 工作电压高,工作电流大,灌电流(通过芯片引脚向芯片内流 入的外部电流)可达500m? ,并且能够在断态时承受50V的电压,输出还可以在高 负载电流下 并行运行。 步进电机驱动电路的工作过程是: 首先,单片机从 P1 口输出 00000001B,同时,由于单片机与 ULN2003 驱动芯 片通过 P2.4-P2.7 端口连接的,所以这四个管脚中每时每刻只有一个管脚处于导 通状态,剩余的三个管脚则处于断开状态(单片机采用的是单拍方式对步进电机

WORD 完美格式

下载可编辑

专业资料
控制)。这样就使得 ULN2003 的输出端口中的一个与步进电机进行导通连接。电机 驱动电路原理图如图 3-9 所示:

图 3-9 步进电机驱动原理图
3.5 步进电机的其他电路
步进电机的其他部分电路,包括 5V 电源电路和下载接口电路,如图 3-10 和 3-11 所示:

图 3-10 5V 电源电路

图 3-11 下载接口电路

将各部分接口外围电路,通过单片机使各部分结合起来形成一个完整的电路,

如附录:系统总体电路图所示。它是以单片机作为核心的控制电路,可以实现步

WORD 完美格式

下载可编辑

专业资料
进电机根据按键电路的不同输入,使其进行不同的运行状态,并通过数码管显示 电路和发光二极管显示步进电机的运行状态。在系统工作的过程中,数码管显示 步进电机的正反转状态和转动的速度,并通过发光二极管指示步进电机的运行状 态的快慢,即四个发光二极管来回闪烁的速度越快则表明步进电机的旋转速度越 快;反之,则越慢。

4 控制系统的软件设计

本次毕业设计软件部分要实现的功能如下:按动启动/停止按键时,步进电机 停止当前的运行状态,再次按动时,步进电机继续运行当前的运行状态;按动正 转/反转按键时,步进电机可以实现正、反转的转向切换,但转速不会发生改变; 按动加速或减速按键时,步进电机可以实现从“01”至“10”十个速度等级的速 度加减控制。同时,数码管显示模块中的第一位可以实时显示电机的转向,“0” 表示正转,“1”表示反转;第三、四位则实时的显示电机的速度等级,变化范围 为“01”至“10”;而第二位数码管不显示,以区分开电机的转向和转速的显示 信息。
为了实现本设计的功能,本设计采用的是控制定时器的中断技术,因此,设 计了读取按键子程序、按键处理子程序、电机控制中断程序等部分。
本设计中,主程序采用的是查询寻址方式扫描键盘端口,检查按键是否发生 动作,此时,调用的是读取按键子程序进行工作 ;若有按键发生动作,则进入按

WORD 完美格式

下载可编辑

专业资料
键处理子程序,根据按键的次数,更改程序定时器的中断次数,改变输出的中断 次数,实现对步进电机的控制。定时器 0 中断服务程序控制步进电机的转动:根 据键盘电路输入的次数,改变 T0 的定时时间常数,设置 TH0 和 TL0 的值,达到对 转速精确控制的目的;通过改变转动方向控制位的值,控制脉冲信号循环移动的 方向,达到对步进电机转动方向控制的目的。
4.1 主程序流程图
开始
初始化
调按键、显示子程序

调用正反转 子程序
停止

调按键子程序 调用加减速子程序

图 4-1 步进电机控制系统主程序流程图
4.2 读按键子程序流程图
按键电路采用的是扫描方法,与初始值进行比较,若两者相等,则说明按键 没有被按下;若两者不相等,则进行软件消抖,确认按键是否被按下。延时 10ms 后再次进行扫描,再次与初始值进行比较,若两者相等,则说明前一次比较不相

WORD 完美格式

下载可编辑

专业资料
等是由抖动产生的;若两者不相等,则说明确实有按键按下,继续执行键盘子程 序里的程序,将相应的变量值改变,准备处理键盘子程序。如图 4-2 所示:
启动
否 是否有 键按下
是 处理键盘 子程序
图 4-2 扫描键盘字程序流程图
4.3 按键处理子程序流程图

WORD 完美格式

下载可编辑

专业资料

开始

初始化变量
P1.0 是 否按下


TR0 取反,通过启 停 T0 启停步进电 机

P3.0 是 否按下

是 修改速度参数 值,减速

P3.1 是 否按下

是 修改速度参数 值,加速

P1.1 是 否按下

是 取反方向控制为, 改变电机转动方 向

退出

图 4-3 键盘处理子程序流程图
4.4 电机控制中断程序流程图

WORD 完美格式

下载可编辑

专业资料
开始
设置 T0 时间参数
判断转动方向 控制位的值
有控制位查 询输出脉冲


改变方向控 制变量值

退出
图 4-4 定时器中断 0 服务程序流程图

WORD 完美格式

下载可编辑

专业资料
5 仿真与测试
5.1 仿真软件介绍
Proteus 软件是由 英国 Lab Center Electronics 公司开发的电子设计自动 化软件。该软件的使用,实现了从设计思路到实际产品制作的完整设计,大大的 提高了电子设计工作的效率。该软件可以实现多种软件的功能,例如:原理图的绘 制、电路图的仿真与测量以及生成 PCB 文件等等。同时,该软件支持大量的、不 同种类的单片机芯片和元件库,并且随着时代的发展,该软件也持续增加众多其 他系类的处理器,使软件的功能更加完善。
由于 Proteus 软件操作简单,易于掌握,且通用性强的特点,相信在不远的 未来会有更多的电子工作者学习并使用它。因此,对于电子工作者,学习并掌握 该软件的用法具有一定的必要性。
5.2 仿真的操作步骤
由于 Proteus 软件具有良好的仿真特性,能对输出的信号进行准确测量、分 析,节省了大量的动手操作时间,更加方便于电子产品初期制作的操作需求。通 过使用该软件,基本可以验证本设计的整体思路的正确性,从而开始本设计的实 际制作部分。
本设计的系统电路软件仿真步骤如下: (1)打开 Proteus 仿真软件; (2)在软件的元器件库中选择所需的元器件; (3)按照硬件电路设计方案连线; (4)将生成的 HEX 文件添加到单片机芯片中; (5)保存工程文件,并编译。编译通过后,进行仿真、调试; (6)如有错误或与设计预期不相符,则继续进行步骤 3~5,进行调试,至到 调试成功。 系统仿真如图 5-1 所示。

WORD 完美格式

下载可编辑

专业资料

图 5-1 系统仿真图 通过Pr oteus软件的仿真,所编写的程序达到了预期设定的要求,仿真实现了 程序的调试过程,仿真实现了本设计最初的功能要求。 仿真实现的功能如下:按动启动/停止按键时,步进电机停止当前的运行状态, 再次按动时,步进电机继续运行当前的运行状态;按动正转/反转按键时,步进电 机可以实现正、反转的转向切换,但转速不会发生改变;按动加速或减速按键时, 步进电机可以实现从“01”至“10”十个速度等级的速度加减控制。同时,数码 管显示模块中的第一位可以实时显示电机的转向,“0”表示正转,“1”表示反 转;第三、四位则实时的显示电机的速度等级,变化范围为“01”至“10”;而 第二位数码管不显示,以区分开电机的转向和转速的显示信息。
5.3 电路板的焊接
电路板的焊接基本功在大二、大三的电子工艺设计已经略有所学,这次的焊接 更多是电子元器件的焊接。由于有以前的经验,所以这次的焊接任务不是特别的 困难,但在这里焊接的有些事项仍然是要注意的:

WORD 完美格式

下载可编辑

专业资料
(1)焊接的先后顺序。元器件焊接的顺序应遵循先小后大,先低后高的顺序。 例如常见的元器件中,焊接的顺序可以为:电阻、二极管、电容、按键开关、三极 管、芯片插座等等。
(2)芯片与底座都是有方向的。 焊接时,应当注意原理图中元器件的管脚的 连接方向,以及 PCB 图纸中元器件的极性和开口方向,防止焊接出现错误。
(3)焊接完成后,用放大镜查看每一个焊点,检查是否有虚焊以及短路的情 况发生。
(4)单片机芯片在安装前,应当先将两侧的针脚稍稍弯曲,使其有利于插入 底座对应的插口中。
(5)焊接上锡时,焊锡不宜使用过多,使焊点焊锡变成锥形时为最好。 (6)当电路焊接完成后,最好使用清洁剂对电路的表面进行清洗,以防止电 路表面附着的铁屑使电路短路,也有利于电路板的美观。
5.4 电路板的测试
在电路完成焊接后,将程序文件烧入单片机芯片中,检查实物是否能够协调 运行,检查是否能够实现系统创作之初所设想的效果。若不能完全实现所要求的 功能,则应当重新检查系统的软硬件的设计部分,并对其进行修改,直至实现设 计的要求为止。
本次调试过程中遇到了很多的问题。 在硬件部分调试电路的问题有:单片机的复位端管脚出现问题,造成单片机 的复位出现问题,单片机不能驱动步进电机工作。在多次检查后,更换了新的单 片机后,排除了故障,电路实现了预先所要求的功能。 在软件部分调试电路的问题有:步进电机速度的控制范围太小。在咨询老师 后,发现软件设计的思路不是很合理,原先的设计是利用主程序来控制步进电机 的转动,采用延时方式控制步进电机转速,由定时器处理键盘;更改程序后,主 程序用来处理键盘,由定时器控制步进电机转动,步进电机转速由定时器定时时 间决定。在更换程序后,问题得到了解决,步进电机速度的控制范围增大了。 本设计一开始并不能实现所有的功能,在排除了软硬件的故障后,并对软硬 件故障进行修改后,步进电机可以实现其预先设定的功能了。制作的实物图如图 5-2 所示。

WORD 完美格式

下载可编辑

专业资料
通过这次电路板的调试,使我认识到,有时细节的小小疏忽,也可能导致整 体功能不能实现,这也就更加说明了细节决定成败。不过总体而言,本次的调试 还是很成功的。

图 5-2 制作的实物图

WORD 完美格式

下载可编辑

专业资料
6 结论与展望

经过这两个多月不辞辛苦的努力,在反复验证,修改后,终于完成了本次毕 业设计的要求。本次设计主要研究了基于单片机的步进电机控制系统的电路设计。 本次设计采用 STC89C51 单片机作为控制核心,由单片机产生的脉冲信号经 ULN2003 芯片进行功率放大,驱动步进电机工作,同时由数码管同步显示步进电机的转向 和转速的等级,由相应的按键实现步进电机的启停、正反转和加减速等功能。
在本次毕业设计的过程中,力求硬件电路设计简单,充分发挥软件部分的优 势来满足系统的要求。通过实际测试表明本设计系统的性能优于传统步进电机控 制器,具有电路结构简单、可靠性高、实用性强、控制方便、性价比高等特点, 在机电一体化、数模转换装置、计算机外围设备、自动记录仪、钟表、印刷设备 等中亦得到广泛地应用,发展前景广阔。
通过这两个多月的学习,使我加深了对单片机、步进电机控制系统的相关知 识的认识,并将所学的理论知识应用到实践中,融会贯通,使我掌握了书本上所 不能获得的知识。总结这两个多月的学习,我得到了以下的收获:
(1)根据本设计的要求,结合老师的指导,有针对性的查阅相关资料,并提 取与本设计相关的资料,对资料进行消化吸收。
(2)根据本设计的功能要求,来选择设计方案,并确定各模块电路的组成。 在对各模块的组成选择时,需要考虑各个元器件的工作要求,并合理的选择各个 元器件的种类。
(3)根据本设计的原理图,来确定主程序的流程设计框架,并依次编写各模 块的程序。这个过程是最为复杂的,需要反复修改程序,即使通过编译后,也需 要使其通过仿真,并实现其功能。
(4)由于不断的上机操作和实践,使我进一步的熟练了 Altium Designer 软 件绘制原理图、制作 PCB 板的操作,利用 Keil 软件完成了程序的编写和调试,并 利用 Proteus 软件进行系统仿真。
这次制作毕业设计虽然遇到了很多的困难,但还是如期的完成本次毕业设 计,并给予了我很大的信心,不仅让我了解专业知识,而且也让我认识到经历 磨炼后的成功才是更加的值的让人兴奋。虽然我的设计还有很多的不足之处, 可这些不足正是我今后更好的研究的最大动力,只有自己敢于面对问题,不怕 难题的艰难险阻,自己动手才有可能解决问题。不足和遗憾不会给我打击,只

WORD 完美格式

下载可编辑

专业资料
会更好的鞭策我前行,今后我更会关注本专业新兴科技的发展,紧跟时代潮流 的发展,并争取尽快的了解这些先进的知识,学以致用,为祖国的发展贡献自 己的一份力量。

WORD 完美格式

下载可编辑

专业资料
致谢
这次的毕业设计之所以能够顺利的完成,与老师的指导、同学的帮忙是分不 开的,在此, 我对他们表示衷心的感谢!
首先,我要感谢我的指导老师刘老师。在制作毕业设计的两个多月的时间里, 刘老师在学习指导和论文撰写方面给予了我极大的帮助和指导。刘老师在百忙之 中常抽出宝贵的时间和我讨论研究课题中遇到的困难,指导我解决问题的途径。 在她的指导下,我认真完成每一步设计,解决设计过程中遇到的困难,最终完成 了设计。
另外,我还要感谢那些帮助过我的同学。他们在我迷惑不解时和我一起探讨难 题,并和我一起解决问题。我非常感激那些始终支持、关心我的同学,尤其是那 些在我身临逆境而豪爽地伸出双手的同学,以及那些虽然接触不深但却鼓励我、 帮助我的同学。是你们成就了我的今天,谢谢你们。
为了能够出色的完成本次毕业设计,老师和同学们都给予了我很大的关心和 帮助,也让我在学习制作的过程中,学习到了书本上难以学到的知识,以及生活 中的为人处世的技巧。千言万语说不尽内心的感激,最后就是希望自己在今后的 人生道路上要不畏艰难,勇于拼搏,坚定执着的追寻自己的梦想,走出自己理想 的人生道路。
再次表达我最诚挚的谢意!谢谢你们!

WORD 完美格式

下载可编辑

专业资料
参考文献
[1]陈隆昌,阎治安,刘新正.控制电机.西安:西安电子科技大学出版社.2013 [2]郑征. 电力电子技术.北京:中国电力出版社,2015 [3]朱清慧.基于 Proteus 显示控制系统设计与实例.北京:清华大学出版社,2011 [4]清华大学电子学教研组编.模拟电子技术基础简明教程.北京:高等教育出版 社,2005 [5] 曾晓宏. 数字电子技术. 北京:机械工业出版社,2008 [6] 江晓安. 模拟电子技术. 西安:西安电子科技大学出版社,2008 [7]蒋辉平,周国雄. 基于 Proteus 的单片机系统设计与仿真实例 北京:机械工 业出版社,2009 [8]王宗培.步进电动机及其控制系统.哈尔滨:哈尔滨工业大学出版社,2009 [9]余发山.微机原理与单片机接口技术.北京:煤炭工业出版社,2013 [10]王晓明. 电动机的单片机控制.北京:北京航空航天大学出版社,2011 [11]刘宝延. 步进电动机及其驱动控制系统 .哈尔滨;哈尔滨工业大学出版社, 2007 [12]史敬灼. 步进电动机伺服控制技术 .北京,科学出版社,2006 [13]刘国永,陈杰平. 单片机控制步进电机系统设计. 安徽: 安徽技术师范学院 学报, 2012, 16 (4). [14]孙笑辉,韩曾晋. 减少感应电动机直接转矩控制系统转矩脉动的方法. 电气 传动, 2001,31(1).

WORD 完美格式

下载可编辑

附录:系统总体电路图

专业资料

WORD 完美格式

下载可编辑

系统仿真原理图

专业资料

WORD 完美格式

下载可编辑

PCB 打印图

专业资料

WORD 完美格式

下载可编辑

专业资料

原件清单

名称

参数/型号 数量

标号

电阻

1K

8 R1,R2,R3,R4,R5,R6,R7,R8

电阻

10K

1 R9

电解电容

100uF

1 C1

电解电容

10uF

1 C2

瓷片电容

30pF

2 C3,C4

晶振

12M

1 Y1

8550 三极管

——

4 Q1,Q2,Q3,Q4

发光二极管

——

4 L1,L2,L3,L4

按键开关

——

5 K1,K2,K3,K4,K5

STC89C51 单片机

——

1 U1

ULN2003 驱动芯片

——

1 U2

步进电机

——

1 M1

电源接口

——

1 J1

步进电机插座排针

——

1 P1

四位共阳数码管

——

1 SM1

四针排针

——

1 P4

WORD 完美格式

下载可编辑

专业资料

程序
//数码管位 高位-----低位 //四个按键控制步进电机:正转,反转,加 1,减 1 //上电时电机启动,数码管上显示速度最小档 1,加减档位均能通过数码管显示出来,电机采 用单双八拍方式 //电机转速一共 10 档,通过按键调节转速 //电机正转时最高位数码管显示 0,反转时显示 1 #include<reg52.h>//reg51 头文件 用于寄存器读取 #define uchar unsigned char//宏定义字符型变量名称 #define uint unsigned int//宏定义整形变量 #define led P0//数码管段选 //#define haha P2 sbit s1 = P1^0;sbit s2 = P1^1;sbit s3 = P3^0;sbit s4 = P3^1;//按键定义,s1 正转,s2 反转,s3 加 1,s4 减 1 sbit wei3 = P2^3;sbit wei2 = P2^2;sbit wei1 = P2^1;sbit wei0 = P2^0;//数码管位选定 义 sbit a = P2^7;sbit b = P2^6;sbit c = P2^5;sbit d = P2^4;//脉冲信号输入端定义

uchar code display[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//

共阳数码管驱动信号 0---9,不显示

uchar

code

time_counter[10][2]={{0xda,0x1c},{0xde,0xe4},{0xe1,0xec},{0xe5,0xd4},{0xe9,0xbc},

//9.7 ----1ms

{0xed,0xa4},{0xf1,0x8c},{0xf5,0x74},{0xf9,0x5c},{0xfc,0x18}};//定时器装载寄存器值 用于调档时改变定时器定时时间 uchar code qudong[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}; //uchar num1 = 0;//控制取励磁信号变量 //uchar num2 = 8;

uchar k=1;//加减档位控制,1 为最小档 bit flag1 = 0;//初始正转,正反转标志 uchar buf[4]={0,10,10,1};//数码管显示缓存,正转,不显示,不显示,显示 1 档位,高---低

WORD 完美格式

下载可编辑

专业资料

//==========================定时器 0/1 初始化函数===========================

void T0_T1_init()

{

TMOD = 0x11;//定时器 0/1 均工作于方式 1,16 位计时方式

TH0 = (65536 - 3000)/256;

TL0 = (65536 - 3000)%256;//定时器 0,定时 3ms 用于数码管扫描显示

TH1 = time_counter[k-1][0];

TL1 = time_counter[k-1][1];//定时器 1,定时 10ms 用于步进电机转速控制

TR0 = 1;//定时器 0 tr0 位置 1 开启定时器 0

TR1 = 0;//定时器 1 tr1 位置 0 关闭定时器 1

ET0 = 1;//开启定时器 0 中断

ET1= 1;//开定时器 1 中断

EA = 1;//开总中断

}

//=============================ms 级延时函数==============================

void delay1m(uint x)

{

uint i,j;// 定义 i j 两个整形变量

for(i=0;i<x;i++)

//连数 x 次,约 x ms

for(j=0;j<120;j++); //数 120 次,约 1 ms

}

//==============================主函数==================================

void main()

{

T0_T1_init();//调用定时器初始化子程序

buf[1] = 10;//不显示

buf[2]= 0;

buf[3]= 1;

while(1)

{

if(s1 == 0 )//判断 s1 按键是否按下

{

delay1m(3);//延时消抖 if(s1 == 0)//再次判断 {
TR1 = ~TR1;//定时器 1 控制位取反 开启或关闭 1 时开始 0 时关闭

} while(!s1); //死循环判断是否按键松开 } if(s2 == 0)

WORD 完美格式

下载可编辑

专业资料

{ delay1m(3); if(s2 == 0) {

delay1m(5);

// while(!s1);

flag1=~flag1;//正反转标志位

if(flag1==0)

//正转

{ buf[0] = 0;//最高位显示 0 } else

{

buf[0] = 1;//最高位显示 0

}

//

haha = 0x00;//停止

} while(!s2); }

if(s3 == 0) //速度加 1 档 {
delay1m(3); if(s3 == 0) {
k++;//速度变量 k 加 1 if(k > 10 )//如果超过 10 变量等于 1 {
k = 1; } buf[2]= k/10;//显示速度值十位 buf[3]= k%10;//显示速度值个位 } while(!s3); } if(s4 == 0) //速度减 1 档 { delay1m(3); if(s4 == 0)

WORD 完美格式

下载可编辑

专业资料
{ k--;//减少速度值 if(k == 0)//如果减少到等于 0 速度值等于 10 { k = 10; } buf[2]= k/10; buf[3]= k%10;
} while(!s4); } }
} //===================定时器 0 中断函数,用于数码管扫描显示==================== void time0_interrupt()interrupt 1 {
static num = 0;//数码管扫描变量 判断这个变量 点亮不同数码管位 达到扫描显示的作 用
TH0 = (65536 - 3000)/256; TL0 = (65536 - 3000)%256;//定时器 0,定时 3ms 用于数码管扫描显示
wei3=1;wei2=1;wei1=1;wei0=1;//数码管各公共段置 1 应该是关闭显示 //利用定时器中断进行数码管扫描显示 不占用 cpu 使用
switch(num) {
case 0:wei3=1;wei2=1;wei1=1;wei0=0;led = display[buf[3]];break; case 1:wei3=1;wei2=1;wei1=0;wei0=1;led = display[buf[2]];break;
case 2:wei3=0;wei2=1;wei1=1;wei0=1;led = display[buf[0]];break;
} num++;//扫描值加 1 到 3 置 0 if(num == 3) num = 0;
} //====================定时器 1 中断函数,用于脉冲频率控制====================== void time1_interrupt()interrupt 3 {
static num1 = 0;//静态变量用于中断程序内使用根据这两个变量的值 输出不同的控制 脉冲 控制步进电机转动
static num2 = 0; TH1 = time_counter[k-1][0];//读取速度值数组内数值 用于控制步进电机转速

WORD 完美格式

下载可编辑

专业资料

TL1 = time_counter[k-1][1];//定时器 1,定时 1 用于步进电机转速控制

if(flag1 == 0)//正转

{

switch(num1)

{

case 0:a = 1;b = 0;c = 0;d = 0;break;//步进电机输出脉冲引脚控制

case 1:a = 1;b = 1;c = 0;d = 0;break;

case 2:a = 0;b = 1;c = 0;d = 0;break;

case 3:a = 0;b = 1;c = 1;d = 0;break;

case 4:a = 0;b = 0;c = 1;d = 0;break;

case 5:a = 0;b = 0;c = 1;d = 1;break;

case 6:a = 0;b = 0;c = 0;d = 1;break;

case 7:a = 1;b = 0;c = 0;d = 1;break;

}

num1++;

if(num1 == 8)num1 = 0;

}

else

//反转

{

switch(num2)

{

case 0:a = 1;b = 0;c = 0;d = 1;break;

case 1:a = 0;b = 0;c = 0;d = 1;break;

case 2:a = 0;b = 0;c = 1;d = 1;break;

case 3:a = 0;b = 0;c = 1;d = 0;break;

case 4:a = 0;b = 1;c = 1;d = 0;break;

case 5:a = 0;b = 1;c = 0;d = 0;break;

case 6:a = 1;b = 1;c = 0;d = 0;break;

case 7:a = 1;b = 0;c = 0;d = 0;break;

}

num2++;

if(num2 == 8)num2 = 0;

}

}

WORD 完美格式

下载可编辑

专业资料

WORD 完美格式

下载可编辑



热文推荐
猜你喜欢
友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科