当前位置:首页 >> 信息与通信 >>

基于单片机的步进电机控制系统设计


摘 要

摘要

步进电动机是一种将脉冲信号变换成相应的角位移(或线性位移)的电磁 装置,是一种特殊的电动机。步进电动机由于精确性以及其良好的性能,其组 成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以 及各种控制装置等众多领域有着极其广泛的应用。本文介绍了以 51 系列单片机 AT89C51 为控制核心所设计的步进电机的控制系统,用 C 语言编写出电机的正 转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片 ULN2004 以 及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管 显示出来。本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程 序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及 解决问题的方法。该设计具有思路明确、可靠性高、稳定性强等特点,通过调 试实现了上述功能。 关键词:步进电机;AT89C51;控制

ABSTRACT

ABSTRACT

Stepping motors is a pulse signal transformation into a corresponding angular displacement (or linear displacement) electromagnetic device, is a special kind of motor. Stepper motor due to its good performance and accuracy, the open loop system composed of is simple, cheap, and very feasible, therefore in the printer and other office automation equipment and various control device and so on varies domain has extremely extensive application. This paper introduces to 51 series microcontroller AT89C51 as control core designed by stepping motor control system, written in C out motor are turning, inversion, accelerate, slowing down, stop procedures, through the MCU, motor drive chip ULN2004 and corresponding button above functions, and realize the working state of the stepper motor with corresponding led displayed. This paper introduces the contents of stepping motor and single-chip microcomputer principle, the system of the hardware circuit and program of software and hardware, and the debugging, and introduces the debugging process problems and methods to solve the problems. This design has ideas clearly, high reliability, strong stability by commissioning etc, realized the function.

Keyword:Stepping motor;AT89C51;Control Keyword: ; ;

目 录

目录

............................................................... 第一章 绪论 ............................................................... 1 1.1 课题研究的目的和意义 ........................................ 1 1.2 国内外的研究概括 ............................................ 1 1.3 步进电机的发展 .............................................. 1 ............................................. 第二章 步进电机和单片机简介 ............................................. 5 2.1 步进电机概述 ................................................ 5 2.1.1 步进电机的概念......................................... 5 2.1.2 步进电机工作原理....................................... 8 2.1.3 步进电机的分类........................................ 10 2.2 步进电机的驱动介绍.......................................... 10 2.3 单片机的原理介绍 ........................................... 11 2.3.1 单片机的种类及主要组成................................ 11 2.3.2 AT89C51 简介 .......................................... 13 ........................................ 第三章 系统整体硬件结构及设计 ........................................ 18 3.1 系统原理图 ................................................. 18 3.2 电源设计 ................................................... 19 3.3 按键设计 ................................................... 20 3.4 驱动设计 ................................................... 21 3.5 状态指示设计 ............................................... 22 3.6 时钟设计 ................................................... 22 ..................................................... 第四章 系统软件设计 ..................................................... 23 4.1 系统主程序.................................................. 23 4.2 按键程序设计 ............................................... 24 4.3 正、反转程序设计 ........................................... 24 4.4 加、减程序设计.............................................. 26 .................................................. 第五章 系统的调试记录 .................................................. 28 5.1 软件调试记录................................................ 28 5.2 硬件调试记录................................................ 28 .............................................................. 第六章 总结 .............................................................. 30 6.1 论文工作总结................................................ 30 6.2 对后续工作的展望............................................ 30 ......................................................... 参考文献 ......................................................... 31 ................................................................ ..................................... 致谢 ..................................................................... 33

II

第一章

绪论

1

第一章 绪论
1.1 课题研究的目的和意义
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器 接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及 步进角) 。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的; 同时您可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的 目的它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速, 快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非 常可行, 因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其 广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增, 研制步进电机驱动器及其控制系统具有十分重要的意义。一般步进电机分三种: 永磁式(PM) ,反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩 和体积较小,步进角一般为 7.5 度 或 15 度;反应式步进一般为三相,可实现大 转矩输出,步进角一般为 1.5 度,但噪声和振动都很大。在欧美等发达国家 80 年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和 五相:两相步进角一般为 1.8 度而五相步进角一般为 0.72 度。这种步进电机的 应用最为广泛。 (可以删除)

1.2 国内外的研究概括
步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、 浙江、北京、南京、四川都生产,而且都在各行业使用,驱动电路所有半导体器 件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合 输入的计数器,触发器,环形分配器。 国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为 从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来 比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高

2

基于单片机步进电机控制系统

一些少数高级的应用,就用空心转杯电机,交流电机。 国外在小功率的场合, 还使用步进电机, 例如一些工业器材, 工业生产装备, 打印机,复印件,速印机,银行自动柜员机。国外用许多现代的手段将步进电机 排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应 编码带配合直流电动机,实现闭环直线位移控制。 国内过去是用大力矩步进电动机实现机床数控, 有实力的公司现在也采用交 流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理 论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。 总的来说,步进电机是一种简易的开环控制,对运用者的要求低,不适合在大功 率的场合使用。 在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就 生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电 机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量 控制相比,难度要低得多。

1.3 步进电机的发展
步进电机最早在 1920 年由英国人开发,1950 年代后期晶体管的发明也逐渐 应用在步进电机上.步进电动机的发展与计算机工业和数字控制技术密切相关, 产品按结构划分有磁阻式、永磁式和混合型等多种形式.近年来,伴随着微电子 技术大功率电力电子器件及驱动技术的进步, 发达国家已普遍使用性能优越的混 合式步进电机, 最典型的产品是二相 8 极 50 齿的电动机, 步距角 1.8°/0.9° 全 ( 步/半步) ;还有五相 10 极 50 齿和一些转子 10 齿的二相和五相步进电动机, 五相电动机主要用于运行性能较的场合. 驱动技术采用恒相电流与细分驱动相结 合,使步进电机在中、小功率控制系统内的精度提高,并逐步向高速大功率应用 领域渗透. 步进电动机最大的生产国是日本, 如日本伺服公司、 东方公司、 SANYO DENKI 和 MINEBEA 及 NPM 公司等,特别是日本东方公司,无论是电动机性 能和外观质量还是生产手段,都是世界上最好的.我国对步进电动机的研究从 1958 年开始,1970 年代以前受苏联的影响,以三相磁阻式步进电动机为主,如

第一章 绪论

3

1960 年代末为快走丝数控线切割机床研制的 BF1840-75,一直延续生产到现 在.1970 年代受到国内研制生产数控机床和其他数控设备的推动,并受到当 时日本数控机床系统的影响,开始发展磁阻式步进电动机的系列产品,以定子 6 个极、转子 40 齿的三相磁阻式电动机为主,还有定子 10 个极、转子 100 齿的 五相磁阻式电动机和四相电动机等.1980 年代开始发展混合式步进电动机,以 定子 8 极、转子 50 齿的二相(四相)混合式步进电动机为主.1987 年开始自行 设计定子 10 极、转子 50 齿的五相混合式步进电动机,同时还发展了一些不同 于国外的非典型产品,如定子 8 极、转子 60 齿的二相(四相)混合式步进电动 机.这是为了与磁阻式步进电动机的步距角相一致.转子 200 齿的五相混合式 步进电动机,转子 100 齿的九相(三相)混合式步进电动机,主要特点是具有高分 辨率和可变步矩角.经过多年的发展,我国步进电机形成一种品种规格繁多的局 面,如图 1 所示.其中最主要的产品系列,一是 1970 年代形成的磁阻式步进电 动机系列产品在低端应用仍有较多的市场,继续生产;二是混合式步进电机的系 列产品,包括引进技术和生产设备,按照国外的设计生产的二相和五相混合式步 进电机,以及国内自行开发生产的混合式步进电动机,仍然拥有各自不同的应用 领域,短期内很难统一到几个限定的规格品种上。目前,最有发展前景的当属混 合式步进电动机,而混合式电动机又向以下四个方向发展: (1) 小型化方向发展,随着电动机本身应用领域的拓宽以及各类整机的不断 小型化,要求与之配套的电动机也必须越来越小,在 57、42 机座号的电动机应 用了多年后,现在其机座号向 39、35、30、25 方向向下延伸.瑞士 ESCAP 公 司最近还研制出外径仅 10mm 的步进电动机。 (2) 改圆形电动机为方形电动机,由于电动机采用方型结构,使得转子有可 能设计得比圆形大,因而其力矩体积比将大为提高.同样机座号的电动机,方形 的力矩比圆形的将提高 30﹪~40﹪。 (3) 一体化设计即,把转子位置传感器,减速齿轮等和电动机本体综合设计 在一起,这样使其能方便地组成一个闭环系统,因而具有更加优越的控制性能. (4) 向五相和三相电动机方向发展,目前广泛应用的二相和四相电动机,其 旋转磁场和电磁转矩不完全对称,振动和噪声较大,而五相和三相电动机则是完 全对称的,因此更具有优势性.而就这两种电动机而言,五相电动机的驱动电路

2

4

基于单片机步进电机控制系统

比三相电动机精密且复杂, 因此三相电动机系统的价格比要比五相电动机更低一 些。

第二章 步进电机和单片机简介

5

第二章 步进电机和单片机简介

2.1 步进电机概述
2.1.1 步进电机的概念 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。 在非超载的情况下, 电机的转速、 停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机 按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度 一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的 目的;通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机 按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个 数来控制角位移量,从而达到准确定位的目目的;同时您可以通过控制脉 冲频率来控制电机转动的速度和加速度,从而达到调速的目常情况下,步进 电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机 的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影 响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。如图 1 所示。 本次毕业设计采用的是步距角为 1.8 度的四相八拍永磁式步进电机。

6

基于单片机步进电机控制系统

图1

步进电机

步进电机的基本参数: 1、步进电机的静态指标术语: (1)相数:产生不同对 N、S 磁场的激磁线圈对数。常用 m 表示。 (2)拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指 电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A. (3) 步距角: 对应一个脉冲信号, 电机转子转过的角位移用 θ 表示。 θ=360 度(转子齿数*运行拍数),以常规二、四相,转子齿为 50 齿电机为例。四拍运 行时步距角为 θ=360 度/(50*4)=1.8 度(俗称整步),八拍运行时步距角为 θ=360 度/(50*8)=0.9 度(俗称半步)。 (4)定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿 形的谐波以及机械误差造成的) (5)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的 锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源

2

第二章 步进电机和单片机简介

7

等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采 用减小气隙 ,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热 及机械噪音。 2、步进电机动态指标及术语: (1)步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用 百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在 5% 之内,八拍运行时应在 15%以内。 (2)失步:电机运转时运转的步数,不等于理论上的步数。称之为失步 (3)失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角, 由失调角产生的误差,采用细分驱动是不能解决的。 (4)最大空载起动频率: 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动 的最大频率。 (5)最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机 不带负载的最高转速频率。 (6)运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系 的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的 根本依据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态 力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出 力矩越大,即电机的频率特性越硬。 要使平均电流大,尽可能提高驱动电压, 使采用小电感大电流的电机。 (7)电机的共振点:步进电机均有固定的共振区域,二、四相感应子式步进 电机的共振区一般在 180-250pps 之间(步距角 1.8 度)或在 400pps 左右(步距 角为 0.9 度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小, 则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音 降低,一般工作点均应偏移共振区较多。 (8)电机正反转控制:当电机绕组通电时序为 A-AB-B-BC-C-CD-D-DA 时为正 转,通电时序为 DA-D-CD-C-BC-B-AB-A 时为反转。 步进电机的特征如下:

8

基于单片机步进电机控制系统

1、一般步进电机的精度为步进角的 3%-5%,且不积累。 2、步进电机外表允许的最高温度。 步进电机温度过高首先会使电机的磁性材料退磁, 从而导致力矩下降乃至于 失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般 来讲,磁性材料的退磁点都在摄氏 130 度以上,有的甚至高达摄氏 200 度以上, 所以步进电机外表温度在摄氏 80-90 度完全正常。 3、步进电机的力矩会随转速的升高而下降。 当步进电机转动时, 电机各相绕组的电感将形成一个反向电动势; 频率越高, 反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减少, 从而导致力矩下降。 4、步进电机低速时可以正常转动,但若高于一定速度就无法启动,并伴有 啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能 够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生 丢步或堵转。 在有负载的情况下, 启动频率应更低。 如果要使电机达到高速转动, 脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高 频(电机转速从低速升到高速)。步进电动机以其显著的特点,在数字化制造时 代发挥着重大的用途。 伴随着不同数字化技术的发展以及步进电机本身技术的提 高,步进电机将会在更多的领域得到应用。

2.1.2 步进电机工作原理 步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移 或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进 电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的 情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负 载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对 步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图 2.1 是该 四相反应式步进电机工作原理示意图。

第二章 步进电机和单片机简介

9

图 2.1 四相步进电机步进示意图

开始时,开关 SB 接通电源,SA、SC、SD 断开,B 相磁极和转子 0、3 号齿对 齐,同时,转子的 1、4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、 A 相绕组磁极产生错齿。 当开关 SC 接通电源,SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,1、4 号齿和 C 相绕组的磁极对齐。而 0、 3 号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次 类推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。单 四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图 2.2 所示:

图 2.2 步进电机工作时序波形图

10

基于单片机步进电机控制系统

2.1.3 步进电机的分类 步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB) 永磁式步进电机: 永磁式步进电机一般为两相, 转矩和体积较小, 步进角一般为 7.5 度 或 15 度,永磁式步进电动机输出力矩大,动态性能好,但步距角大。 反应式步进电机: 反应式步进电机一般为三相,可实现大转矩输出,步进角一般为 1.5 度,但 噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相 励磁绕组, 利用磁导的变化产生转矩。 反应式步进电动机结构简单, 生产成本低, 步距角小;但动态性能差。 混合式步进电机: 混合式步进电动机综合了反应式、永磁式步进电动机两者的优点,它的步距 角小,出力大,动态性能好,是目前性能最高的步进电动机。它有时也称作永磁 感应子式步进电动机。它又分为两相和五相:两相步进角一般为 1.8 度而五相步 进角一般为 0.72 度。这种步进电机的应用最为广泛。

2.2 步进电机的驱动介绍
步进电机不能直接接到交直流电源上工作, 而必须使用专用设备——步进电 机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程 度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进 电机驱动器和步进电机本体三部分组成。 步进电机控制器发出步进脉冲和方向信 号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进 一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无 或频率的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常, 步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电 机驱动器一旦接收到来自控制器的方向信号和步进脉冲, 控制电路就按预先设定 的电机通电方式产生步进电机各相励磁绕组导通或截止信号。 控制电路输出的信

2

第二章 步进电机和单片机简介

11

号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步 进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使 其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等 故障时迅速停止驱动器和电机的运行。

2.3 单片机的原理介绍
2.3.1 单片机的种类及主要组成 现在单片机主要按用途,大体上可分为两大类: 1、通用型单片机 2、专用 型单片机。 专用型单片机是指用途比较专一,出厂时程序已经一次性固化好, 不能再 修该的单片机。例如电子表里的单片机就是其中的一种。 其生产成本很低。 通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应 用 程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设 备和整套生产 线都可用单片机来实现自动化控制。 通用型单片机按位数分有 4 位机,8 位机,16 位机和 32 位机等等.按厂家分种类就更多,我国目前最常用的单片机有如下几家: Intel--------- (MCS51 系列,MCS96 系列) Atmel------- (AT89 系列,MCS51 内核) Microchip--- (PIC 系列) Motorola---- (68HCXX 系列) Zilog-------- (Z86 系列) Philips------ (87,80 系列,MCS51 内核) Siemens----- (SAB80 系列,MCS51 内核) NEC--------- (78 系列) Epson-------- (系列) 而现在单片机主要包括:中央处理器、存储器、特殊功能寄存器。对于其内部资 源各功能都体现一台计算机,如: 1、中央处理器:中央处理器是由运算部件和控制部件组成。 (1)运算部件包括:算术逻辑部件 ALU,布尔处理器,累加器 ACC,寄存 器 B,程序状态字 PSW 等等,该部件实现的功能是:数据的算术,逻辑运算, 位变量的处理和数据传送。

12

基于单片机步进电机控制系统

(2)控制部件包括:定时控制逻辑,指令寄存器,译码器以及信息传送控制 部件等等。 2、存储器:存储器包括:程序存储器和数据存储器。 (1) MCS51 内部有 4K 的程序存储器,如果在实际运用中内存不够的话 可以在此基础上扩展到 64K 大小,对于程序员来讲,无论是内部的 EPROM, 还是扩展的程序存储器是没有什么区别的,在 MCU 内部有一个十六位的程序 记数器 PC 可以寻址片内及片外的 EPROM。 (2)MCU51 有 128 字节的 RAM,也可以外接 RAM 电路,是数据存储器 的容量达到 64K 字节如图 2.3:

图 2.3

在 00H--1FH 单元:共 32 字节的缓冲区,分为四组,每组为 8 个工作寄存 器 R0--R7,由 PSW.3 和 PSW.4 决定使用哪个组。若在实际使用中,不需要四组 工作寄存器的话,那么这个区域的多余的单元可以作为一般的数据缓冲器使用。 在 20H--2FH 单元:共 16 字节的缓冲区,其中每一个字节的每一位都有一 个位地址,他们占据地址空间 0--7FH,一般在这个 16*8 位的单元里,用于存放 各种程序标志,位控制变量。 在 30H--7FH 单元:是数据缓冲区,在中断系统中,往往需要一个堆栈来保 护 CPU 的现场,这个堆栈一般设在 30--7FH 单元里,并且栈指针 SP 指出栈顶的 位置。但是复位以后(SP)为 07H,所以一般应对 SP 初始化。 总结:内部 RAM 中,除了作为工作寄存器,位标志和堆栈区以外的单元,

第二章 步进电机和单片机简介

13

都可以数据缓冲区使用,存放输入的数据或运算的结果。 3、特殊功能寄存器(如图 2.4):

图 2.4

特殊功能寄存器包括:I/O 锁存器,串口数据缓冲器,定时/记数器,以及 各种控制寄存器和状态寄存器。 2.3.2 AT89C51 简介 AT89C51 的主要参数如表 2.5 所示:
表 2.5 AT89C51 的主要参数

型号 E?PROM 89C51

存储器 ROM 4K RAM 128

定 时 I/0 器 2 32

串行 中断 速度 口 (MH) 1 6 24

其它特 点 低电压

AT89C51 含 E?PROM 电可编闪速存储器。 有两级或三级程序存储器保密系统, 防止 E?PROM 中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存 储器 E?PROM 容量可达 20K 字节。 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微 处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与 工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存

14

基于单片机步进电机控制系统

储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,为很多 嵌入式 控制系统提供了一种灵活性高且价廉的方案。其引脚如图 2.6 所示。 1、主要特性: ·与 MCS-51 兼容 ·4K 字节可编程闪烁存储器 寿命:1000 写/擦循环

图 2.6 单片机的引脚排列

·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8 位内部 RAM ·32 可编程 I/O 线 ·两个 16 位定时器/计数器 ·5 个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 2、管脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当

第二章 步进电机和单片机简介

15

P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据 存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码 输入 口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收 输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被 外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和 校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输 出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为 输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存 取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: 口管脚是 8 个带内部上拉电阻的双向 I/O 口, P3 可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: P3 口管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。

16

基于单片机步进电机控制系统

RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平 时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外 部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时, 将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果 微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号 将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) , 不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于 施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3、I/O 口引脚: (1) P0 口,双向 8 位三态 I/O 口,此口为地址总线(低 8 位)及数据总线 分时复用; (2) P1 口,8 位准双向 I/O 口; (3) P2 口,8 位准双向 I/O 口,与地址总线(高 8 位)复用; (4 )P3 口,8 位准双向 I/O 口,双功能复用口。 4、振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片 内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信

第二章 步进电机和单片机的简介

17

号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 5、芯片擦除: 整个 EPROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在 任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持 两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计 数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡 器,禁止所用其他芯片功能,直到下一个硬件复位为止。

18

基于单片机步进电机控制系统

2

第三章 系统整体硬件结构及设计

19

第三章

系统整体硬件结构及设计
3.1 系统原理图

系统整体图如图 3.1 所示,本系统采用外部中断方式,p0 口作为信号 的输入部分,p1 口为发光二极管显示部分,p2 口作为电机的驱动部分。

20

基于单片机步进电机控制系统

图 3.1 系统整图

3.2 电源设计
利用 LM7812 和 LM7805 芯片得到 12V 和 5V 的电压,它们的应用要注意以下 几点: (1) 输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损 坏; (2)输出电流不能太大,1.5A 是其极限值。大电流的输出,散热片的尺寸 要足够大,否则会导致高温保护或热击穿; (3)输入输出压差也不能太小,大小效率很差。 其中 12V 电压给步进电机

第三章 系统整体硬件结构及设计

21

供电,5V 电压则给单片机供电。分别如图 3.2、图 3.3 所示。

(1)产生 12V 的电压给步进电机供电

图 3.2 12V 电路部分

(2)产生 5V 的电压给单片机供电

图 3.3 5V 电路部分

3.3 按键设计
本次设计选用的是单片机的 P0 口来控制信号的输入,所以把按键开关和 P0 口连接起来,当按下开关 S1 时,相当于给 P0.0 口一个低电平;当按下开关 S2 时,相当于给 P0.1 口一个低电平;当按下开关 S3 时,相当于给 P0.2 口一个低 电平;当按下开关 S4 时,相当于给 P0.3 口一个低电平;当按下开关 S5 时,相 当于给 P0.4 口一个低电平。然后通过单片机实行相应的操作。如图 3.4。

2

22

基于单片机步进电机控制系统

图 3.4 按键部分电路

3.4 驱动设计
此电路是步进电机的驱动部分, 我选用的是 ULN2004 芯片来驱动的, ULN2004 系列是一款高耐压, 大电流达林顿管驱动器, 包含 7 个 NPN 达林顿管。 如图 3.5。

图 3.5 驱动部分电路

2

第三章 系统整体硬件结构及设计

23

3.5 状态指示设计
状态指示用 P1 口控制发光二极管的显示,如果相应端口是低电平,相应的 发光二极管就会亮,用它来表示步进电机所处的状态。如图 3.6。

图 3.6 状态指示部分电路

3.6 时钟设计
时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高 时钟频率来提高 CPU 的速度,本次设计采用的晶振为 12MHz。如图 3.7。

时钟设计

2

24

基于单片机步进电机控制系统

第四章 系统软件设计

25

第四章 系统软件设计
与其它的微处理器一样, 开发步进电机驱动系统控制程序也需要一套完整的 软件和硬件开发工具。近年来,随着以 51 单片机为内核的单片机的不断发展和 普及,国外的一些公司纷纷推出了以 51 单片机为基础的集成开发环境。本次毕 业设计选用的单片机是 AT89C51。

4.1 系统主程序
系统分为电机正转、电机反转、电机加速与电机减速的几部分组成,其主程 序框图如图 4.1 所示。

开始

初始化

调按键子程序

调用正反转 子程序

调按键子程序

停止

调用加减速子程序

图 4.1 主程序框图

26

基于单片机步进电机控制系统

4.2 按键程序设计
按键程序用于判断 P0.0 口与 P0.1 口的值,当 p0.0 口为 0 时,电机正 转,当 p0.0 口为 1 时,继续判断 p0.1 口的值,p0.1 口为 0 时,电机反转。 如图 4.2 所示。
调按键子程序

P0.0 是否为 0

N N

Y P0.1 是否为 0

Y

后退

前进

图 4.2 按键部分流程图

4.3 正、反转程序设计
系统初始化之后,前进子程序 R0 用于给 P2 口输送不同的值,根据电机 转动的相序,使电机正向转动,P2 口的值分别为 01H,03H,02H,06H, 04H,0CH,08H,09H。正转流程图如图 4.3 所示。

2

第四章 系统软件设计

27

开始

(R0)+1→R0

延时子程序 N

(R0)是否等于 17H

Y 10H→(R0)

图 4.3 前进部分流程图

电机反转原理与正转相似, 此时 P2 口的值分别为 09H, 08H, 0CH, 04H, 06H, 02H,03H,01H。反转流程图如图 4.4 所示。

2

28

基于单片机步进电机控制系统

开始

(R0)—1→R0

延时子程序 N

(R0)是否等于 10H

Y 17H→(R0)

图 4.4 后退部分流程图

4.4 加、减程序设计
当电机正转或反转的时候,按下加速键,调用加速子程序,使电机每转 动一步的延时时间变短,从而实现电机的加速。流程图如图 4.5 所示。

2

第四章 系统软件设计

29

开始

(R1)是否为 25H N ( (R1)+1)→R1

Y 正反转子程序

图 4.5 加速部分流程图

2、减速部分 电机正转或反转的时候,按下减速键,通过改变电机每转动一步的延时 时间,使时间变长,从而实现电机减速。流程图如图 4.6 所示。

开始

(R1)是否为 20H N ( (R1)—1)→R1

Y 正反转子程序

图 4.6 减速部分流程

2

30

基于单片机步进电机控制系统

第五章 系统的调试记录

31

第五章 系统的调试记录
5.1 软件调试记录

把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合 到一起进行编译。由于编译只能检查是否存在语法错误,所以还要看是否存在逻 辑错误。程序修改好以后,当显示编译 0 错误,0 警告的时候,这说明已经没有 语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正 常转动,显示是否正常。

5.2 硬件调试记录
1、LM7812 输出电压错误与解决方法 电路的工作离不开电源,所以电源是必不可少的。电源采用的是利用变压 器将 220V 的电压转换为 12V 的电压,再利用桥堆整流使交流电变成直流电,最 后分别利用 LM7812 和 LM7805 芯片得到 12V 和 5V 的电压。 电路板焊接好以后,首先要检查一下电路设计是否合理、元器件焊接是否 正确,焊接好以后需要仔细检查。用万用表分别检测从 7812 和 7805 第三个端口 出来的是否是 12V 和 5V,结果发现 7805 两端电压正常,7812 两端电压非常不稳 定。用万用表仔细检查了每根线,发现了原因,电路板存在虚焊的现象。再次将 电路板焊好,检查好以后,用万用表检测两端输出电压,结果正确,电源准备工 作完毕。 2、步进电机转动错误及解决方法 步进电机一开始不能正常转动,以为是电路焊接有问题,为了防止再次出 现虚焊,首先将电路板用万用表检查了一遍,没问题。程序也是正确的。后来仔 细看了步进电机工作原理, 原来步进电机要正常实现正反转, 四个相序必须弄清。 把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向

2

32

基于单片机步进电机控制系统 后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别

是 1—A,2—C,3—B,4—D。弄清了相序,把电路板重新布线,焊接好,结果 电机能够正常转动了。

第六章 总结

33

第六章 总结
6.1 论文工作总结
本次毕业设计能够实现步进电机的启停、正反转以及速度的调节,通过本次 毕业设计加强了我对软件编程和硬件设计的掌握,并且熟悉了 ULN2004、74ls11 等芯片。步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位 移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机 有着广阔的市场和远大的发展前景。本设计实现了占用 CPU 时间少,效率高;易 于控制步进电机的转向转速;提高了步进电机的步进精度等。再有,本设计过程 考虑比较周全,可以方便灵活地控制步进电机的运行状态,以满足不同用户的要 求,因此常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。步进 电机控制(包括控制脉冲的产生和分配)使用软件方法,即用单片机实现,这样 既简化了电路,也减低了成本。

6.2 对后续工作的展望
本文虽然在应用单片机对步进电机的控制果真取得了一些研究成果,提出了 解决方案和可行性算法。但是在芯片的发展,以及出现了更高级的芯片能够很好 的控制步进电机,能够很大程度上提高电机的精确性和稳定性。 从总体来说,本文重点是实现了 AT89C51 对步进电机的控制实现以及对单 片机的外围电路等进行了基础性的研究,由于时间和条件的限制,虽然取得了一 定的效果,但尚存在一定不足之处有待今后进一步解决。

34

基于单片机步进电机控制系统

致谢

35

致谢

首先诚挚的感谢我的论文指导老师张东奎老师, 从选题的确定、 论文的写作、 修改到最后定稿过程中,自始至终都倾注着老师的心血。特别是他多次询问写作 进程,并为我指点迷津,帮助我开拓思路,老师以严谨的治学之道、宽厚仁慈的 胸怀、积极乐观的生活态度,兢兢业业、孜孜以求的工作作风和大胆创新的进取 精神为我树立了一辈子学习的典范, 他的教诲与鞭策将激励我在学习和生活的道 路上励精图治,开拓创新。她渊博的知识、开阔的视野和敏锐的思维给了我深深 的启迪。我以最诚挚的心意感谢张东奎老师。 在毕业设计期间,我要感谢许多让我分享他们宝贵经验和知识的老师,教会 我正确的思考方式。同时,也要感谢在论文写作过程中,帮助过我、并且共同奋 斗四年的大学同学们,能够顺利完成论文,离不开他们的帮助,在此表示最深的 谢意。

36

基于单片机步进电机控制系统

2

参考文献

37

参考文献

[1]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005. [2]李夙.异步电动机直接转矩控制[M].北京:机械工业出版社,1998. [3]王鸿钰.步进电机控制入门[M].上海:同济大学出版社,1990. [4]袁任光,张伟武.电动机控制电路选用与 258 实例[M].北京:机械工业出版社,2005. [5]王秀和.永磁电机[M].北京: 中国电力出版社,2007. [6]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用,2006,33 (4) :64-64. [7] 孙 笑辉 , 韩 曾晋 . 减少感 应 电 动机 直 接转 矩 控制 系 统 转矩 脉 动的 方法 [J]. 电 气传 动,2001,(1):8-11. [8] 冯 江 华 , 陈 高 华 , 黄 松涛 . 异 步 电 动 机 的 直 接 转矩 控 制 [J]. 电 工 技 术 学报 ,1999 , (6):29-33. [9]江一,朱凌,申仲涛.异步电动机直接转矩控制仿真研究[J].华北电力大学学报,2003, (1):10-13. [10] 韩 利 虎 . 浅 谈 步 进 电 机 的 基 本 原 理 [J]. 内 蒙 古 石 油 化 工 , Inner Mongolia Petrochemical Industry, 2007,(11):109. [11]张巍. 浅谈单片机控制步进电机[J]. 安防科技,2006,(3): 25. [12] 乔璐.,景林,韩英桃.一种实用的步进电动机驱动器设计[J].微特电机,2005, (10):29-31. [13] 康 晶 . 采 用 反 馈 控 制 的 步 进 电 机 高 低 压 驱 动 电 路 [J]. 电 力 电 子 技 术,2003,37(1):61-62,65. [14] Isao Takahashi,Toshihiko Noguchi.A new responese and high-efficiency control strategy of an motor[J].IEEE Trans on Ind Appl,1986,22(5):820-827. [15]Depenbrock M.Direct self-control(DSC) of inverterfed machine[J].IEEE Trans on P E,1998,3(4):420-429. [16] 王晓明、 胡晓柏,电动机的单片机控制[M].北京航空航天大学出版

38

基于单片机步进电机控制系统

社,2002 年 5 月第 1 版:181-208 [17] 刘宝延、 程树康, 步进电动机及其驱动控制系统 [M] .1997 年 11 月第一版: 134-167 [18] 史敬灼, 步进电动机伺服控制技术[M] .2007 年 3 月第 2 版:23-35 [19] 李海滨、 片春媛、 许瑞雪, 社, 2009 版:56-65 [20]刘国永, 陈杰平. 单片机控制步进电机系统设计. 安徽: 安徽技术师范学院学报, 2002, 16 (4) : 61-63 [21]孙笑辉,韩曾晋. 减少感应电动机直接转矩控制系统转矩脉动的方法[J]. 电气传动, 2001 (1) : 8-11 [22]孙进平,张大鹏,丁金滨,51 单片机系列单片机原理、开发与应用实例,中国电力出 版社,2009 [23]赵建领,51 单片机开发宝典,电子工业出版社,2008 [24]李群芳,肖看,清华大学出版社,2005 单片机技术课程设计与项目实例[J]. 中国电力出版

36

基于单片机步进电机控制系统

2


相关文章:
基于单片机的步进电机控制系统的设计_毕业设计.doc
基于单片机的步进电机控制系统设计 本科毕业设计 基于单片机的步进电机控制系统设计 基于单片机的步进电机控制系统设计 摘 要 随着自动控制系统的发展和对高精度...
毕业设计--基于单片机的步进电机控制系统设计.doc
毕业设计--基于单片机的步进电机控制系统设计 - 目 录 基于单片机的步进电机控制系统设计任务书???2 课题介绍、主要内容、主要器件、主要...
基于单片机的步进电机控制系统设计.doc
基于AT89C52 单片机的步进电机控制系统 设计摘要:步进电机专用开发系统,适
基于单片机的步进电机控制系统设计.doc
基于单片机的步进电机控制系统设计 - 基于单片机的步进电机控制系统设计 基于单片机的步进电机控制系统设计 摘要:本文应用 AT89S51 单片机、步进电机驱动芯片、字符型 ...
基于51单片机的步进电机控制系统设计_图文.doc
基于51单片机的步进电机控制系统设计 - 基于 51 单片机的步进电机控制系统设计 中文摘要 步进电机是一种受 脉冲信号控制, 并且能将 脉冲信号转化为相应的 角位移 ...
基于51单片机控制步进电机毕业设计论文.doc
南 京 工 业 大 学 毕 业 设 计 题目: 基于单片机的步进电机控制 系统设计 学生姓名: 学号: 专业:电气工程与控制科学学院 班级: 指导教师:杨道业 2016 年...
基于单片机的步进电机控制系统设计_图文.doc
基于单片机的步进电机控制系统设计 - 28BYJ48步进电机的毕业设计... 2017 届电子信息工程专业本科毕业论文 基于单片机的步进电机控制系统设计 摘要:步进电动机由于利用...
基于单片机的步进电机控制系统设计.doc
2013 届 分类号: TM383.6 单位代码:10452 毕业论文(设计) 基于单片机的步进电机控制系统设计 姓学年专系 名号级业 (院)电气工程及其自动化 汽车学院 指导教师...
毕业论文基于单片机的步进电机控制系统设计_图文.doc
毕业论文基于单片机的步进电机控制系统设计 - Selectio nParag r
基于单片机的步进电机控制系统设计_毕业论文设计.doc
基于单片机的步进电机控制系统设计_毕业论文设计 - 浙江大学 浙江大学 毕业论文(设计) 基于单片机的步进电机控制系统设计 浙江大学 摘 要 步进电动机由于用其组成的...
基于单片机的步进电机控制系统设计.doc
基于单片机的步进电机控制系统设计 - 内蒙古科技大学毕业设计说明书(毕业论文)
基于单片机的步进电机控制系统设计--设计论文_图文.doc
基于单片机的步进电机控制系统设计--设计论文 - 基于单片机的步进电机控制系统设计 摘要:步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打 印机...
基于单片机的步进电机控制系统设计毕业论文.doc
基于单片机的步进电机控制系统设计毕业论文 - 基于单片机的步进电机控制 系统设计毕业论文 目录 1 引言 ......
基于单片机的步进电机控制系统设计.doc
基于单片机的步进电机控制系统设计 - 摘 要 本文介绍了以 51 系列单片机 A
基于单片机的步进电机控制系统设计本科毕业论文_图文.doc
基于单片机的步进电机控制系统设计本科毕业论文 - I 摘 要 本文先介绍了混合式
基于单片机步进电机控制系统的设计与实现论文.doc
基于单片机步进电机控制系统的设计与实现论文 - 单片机课程设计 运城学院 单片机课程设计报告 课题名称 基于单片机的步进电机控制系统设计与实现 单位 运城学院 计算机...
基于单片机的步进电机控制系统设计.doc
基于单片机的步进电机控制系统设计 - 中北大学计算机控制技术课程设计说明书 1
基于C51单片机的步进电机控制系统设计毕业论文设计.doc
基于C51单片机的步进电机控制系统设计毕业论文设计_工学_高等教育_教育专区。毕业论文,毕业设计,单片机论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计...
(强烈推荐)基于单片机的步进电机控制系统设计_大学本科....doc
(强烈推荐)基于单片机的步进电机控制系统设计_大学本科毕业论文设计 - 毕业论文
基于51单片机的步进电机控制系统-单片机课程设计报告.doc
基于51单片机的步进电机控制系统-单片机课程设计报告 - 微机原理与接口技术课程设计报告 基于 51 单片机的步进电机控制系统 学号 姓名 班级 2011 级电子 2 班 华侨...
更多相关标签: