51单片机及步进电机的控制器设计

更新时间:2024-01-29 19:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于MCS-51单片机的步进电机控制器

设 计

设 计 题 目:MCS-51单片机的步进电机控制器设计,其中步进

为三相反应式步进电机,要求能够正反转。

论文摘要:本文研究基于51系列单片机的步进电机控制系统设计,该系统包括以下几个部分:数据采集、数据处理、终端接收,该系统以汇编语言为单片机的驱动程序语言,VB语言为计算机编程语言,单片机控制步进电机,主要任务是把二进制数变成脉冲序列,按相序输入脉冲以实现电机转动方向控制,利用单片机实现对步进电机的远距离实时监控,从而达到高效、节能的控制步进电机工作的目的,该系统具有成本低、控制方便的特点。

关键字:51单片机 步进电机 数据采集 汇编语言

第1章 引 言

步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。控制步进电机的输入脉冲数量、频率及电机各相绕组的接通顺序,可以得到各种需要的运行特性。尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。步进电机有定位和运转两种基本状态,当有脉冲输入时步进电机一步一步地转动,每给它一个脉冲信号,它

1

就转动一定的角度。步进电机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态,因此非常适合于单片机控制。步进电机作为一种高可控性的特种电机,利用其精度高的特点,广泛应用于各种控制。

目前支持的编辑器有Keil,GUN,Medwin以及IAR等。MedWin是万利电子有限公司开发的一款集编辑、编译/汇编、在线模拟调试为一体的单片机高性能集成开发环境(Integrated Development Environment,IDE)。因其强大的功能、简洁的界面、方便的操作而备受单片机学习者的喜爱,在单片机学习开发者中流传甚广。

第2章 控制系统的硬件设计

步进电机(也称脉冲电机)是一种跟踪脉冲信号来控制转角和转速、并适合微控制器控制的电机。下面我们还是主要介绍它的转动控制。

步进电机又称脉冲电机,是数字控制系统中的一种执行元件,其功能是将脉冲电信号变换成相应的角位移或者线位移.通俗来说,即给一个脉冲电信号,电机就转动一个角度或前进一步。

2.1 步进电机简述

步进电机按照其结构以及工作原理分为反应式步进电机,混合式步进电

2

2.1.1 步进电机的分类以及控制概述。

机,永磁式步进电机和特种步进电机。步进电机常用的驱动方式是全压驱动,即在电动机移步与锁存时都加载额定电压,为了防止电机过流及改善驱动特性,需加限流电阻。由于步进电机锁步时,限流电阻要消耗大量的功率,因此限流电阻要有较大的功率容量,并且开关也要有较高的负载能力,全压驱动适用于小功率步进电机。步进电机的另一种驱动方式是高低压驱动,以便在较大电流下驱动,使电机快速移步,步进电机是工业过程控制及仪表控制的主要控制元件之一,它具有以下几个显著特点:

1、步进电机可以直接接受数字信号,而不再需要进行D/A转换; ○

2、步进电机具有快速启、停能力,可在一刹那间实现启动或停止。 ○

3、步进电机具有精度高,步距角可由每步90°降低到0.36°; ○

4、步进电机由于精度高及不用传感器,故定位精确。 ○

2.1.2 步进电机方向控制信号

以三相步进电机为例,其存在3种工作方式: 1、三相单三拍,通电次序: ○

A---B---C---A 2、三相双三拍,通电次序: ○

AB---BC---CA---AB 3、三相六拍,通电次序: ○

A---AB---B---BC---C---CA---A

如果按A---B---C---A顺序不断接通和断开控制绕组,转子就会一步一步地连续转动,转动的角度大小等于步距角x步数(即脉冲数),其转速

3

取决于控制绕组的通电、断电的频率,即:

n = 60f /360° = 60f/(Zr N)

旋转方向取决于控制绕组轮流通电的顺序,单三拍、双三拍的步距角为3°,六拍的步距角为1.5°。因此,在六拍下,步进电机的运行平稳柔和,但在同样的运行角度和速度下,六拍驱动脉冲的频率提高一倍,对驱动开关管的开关特性要求较高。

综上所述以及根据设计的要求和需要我们选用28BF001型三相步进电机,图1是28BF001型三相步进电机的外形图,要使步进电机按要求转到,只需要轮流给各引出端通电即可,28BF001型步进电机的技术参数如下表1所示:

图1、28BF001三相步进电机

表1 反应式步进电动机技术参数

型 号 步 距 相 数 电 压角/(°) /V 28BF001 3/6 3 27 绕 组 最大静空载起相电电 阻转 距动频率分 配 /步/s) 方 式 流/A /(5%) /(N.m) ( 0.8 2.41 三 相 0.0176 1800 六 拍 4

2.2 步进电机控制系统硬件设计

○1、通过以上分析,用单片机控制步进电机时,可以很方便的使不同相数的步进电机按任一种可行的通电方式进行控制,设计中控制步进电机系统原理框图如下图2所示:

图2 步进电机系统原理框图 2、晶振电路 ○

单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图3所示。本系统选C1和C2值为15 PF。

图 3 内部振荡电路

3、单片机的工作电压范围为2.7--5.5V,在本设计中的单片机的工○

5

作电压是+5V。单片机上RESET和微机上的RESET有异曲同工之妙。RESET复位引脚上的低电压引发外部复位,单片机就恢复到初始状态。在此,我其中单片机上的复位电路如图4所示:

们使用简单的R C电路便可以满足要求该设计。

图 4 工作电源及复位电路

4、结合所学的知识,故选用AT89C51单片机进行步进电机的控 ○

制,它是低功耗、高性能的单片机,其特性如下:

(1)面向控制的8位CPU;

(2)一个片内振荡器和时钟产生电路,振荡频率为0~24MHz; (4)128B的片内数据存储器;

(5)可寻址64KB的片外程序存储器和片外数据存储器控制电路; (6)2个16位的定时/计数器;

(3)片内4KB Flash ROM程序存储器;

(7)4个并行I/O接口,共32条可单独编程的I/O线;

(8)5个中断源,2个中断优先级; (10)21个特殊功能寄存器;

(10)具有节电工作方式。综上所述,从而得到单片机控制三相步进电机的原理图,如下图5所示:

(9)一个全双工的异步接口;

6

图 5 单片机控制三相步进电机的原理图

由图5可知,由于被控制的步进电机要求高电压和大电流驱动,为使89C51单片机的P1口能够可靠的驱动负载,所以在P1.0、P1.1、P1.2口后需要加上一个7404驱动器,以便驱动脉冲功率放大级的达林顿复合管,使电机绕组的静态电流达到所需要的电流值。

7

第3章 控制系统的软件设计 由步进电机的的工作原理可知,步进电机要转动,必须将电脉冲按照一定的顺序加到电机的绕组上,才能使电机按照我们的要求有规律的运转,因此软件设计的目的,就是按规定顺序产生脉冲串。 3.1、脉冲波的形成

用软件产生脉冲波的方法是先输出一个高电平,然后进行延时,再输出一个低电平,然后再进行延时,延时时间的长短,由步进电机的工作频率决定。

3.2、时序脉冲的形成

由前面可知步进电机的旋转规律和内部绕组的通电顺序和通电方式有关,而且根据所选择的步进电机型号,有3种通电方式,即三相单三拍、三相双三拍、三相六拍等,在下表2所示的各种模型字中,以模型字的0、1、2位分别对应三相步进电机的A、B、C相绕组,设三相单三拍相序为 A---B---C---A ,三相双三拍相序为AB---BC---CA---AB,三相六拍相序为A---AB---B---BC---C---CA---A时电机正转,反之,电机反转。

表2 电动机三相六拍控制模型字

方 式 步 序 C相 B相 A相 三 相 1 步 0 0 1 通电绕组 控制字 A 相 B 相 C 相 AB 相 01 H 02 H 04 H 03 H 8

单 三 2 步 0 1 0 拍 式 3 步 1 0 0 三 相

1 步 0 1 1 双 三 2 步 1 1 0 拍 式 3 步 1 0 1 1 步 0 0 1 BC 相 AC 相 A 相 AB 相 B 相 BC 相 C 相 CA 相 06 H 05 H 01 H 03 H 02 H 06 H 04 H 05 H 三 相 2 步 0 1 1 六 拍 3 步 0 1 0 方 式 4 步 1 1 0 5 步 1 0 0 6 步 1 0 1 因为在六拍下,步进电机的运行平稳柔和,所以在设计中选用三相六 步通电方式,下图6为三相六步电机程序流程图。

9

图6 三相六步电机程序流程图 根据图6编写程序如下:

ORG 0000H

LJMP MAIN

ORG 0010H

MAIN: MOV SP,#6FH ;设置堆栈地址

10

MOV R2, #200 ;步数送入R2

LOOP1: MOV R3, #00H

MOV DPTR, #TAB ;表格首地址送入DPTR JNB 00H, LOOP3 ;00H = 0 反转,否则正转 LOOP2: MOV A, R3 ;查表偏移量并送A MOVC A, @A+DPTR JZ LOOP1 MOV P1, A LCALL DELAY INC R3 DJNZ R2, LOOP2 RET

LOOP3: MOV A, R3 ADD A, #07H MOV R3, A LCALL LOOP2

DELAY: MOV R7,#8 DEL1:DEL2:

NOP

,DEL2

DJNZ R7,DEL1 RET

;查表取控制字

;控制字为00H表示步数完,返回;控制字送P1口,步进一步 ;调用延时程序延时 ;步数加1 ;查表偏移量送A

;修正标志,查反向控制字 ;延时4ms 11

MOV R6, #248

DJNZ R6TAB DB 01H, 03H, 02H, 06H ;正向控制字 DB 04H, 05H, 00H

DB 01H, 05H, 04H, 06H ;反向控制字 DB 02H, 03H, 00H

第4章 设 计 小 结

本设计以AT89C51单片机为控制核心,利用其很好的处理能力,以及丰富的外围接口,同时可以直接利用数字脉冲实现精确运动的执行部件等特

点对步进电机进行了很好的控制,本设计系统有如下优点:

(1)结构简单,控制部分成本低廉,维护方便。

(2)配置灵活、方便、易于扩展。 通过这次步进电机的综合设计我学到了如何进行步进电机选择,了解了单片机在工业上的使用,以及单片机的编程、扩展口的使用。学会了采用8位单片机对步进电机进行控制,通过I/O接口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片驱动步进电机,以达到预期的控制要求。

在此次设计过程中,通过不断摸索,开拓了思维,同时也解决了不少以前尚未弄明白的问题,使自己的技术知识得到了巩固,提高了自己操作的能力。这次设计过程中,虽然遇到了一些问题,但是通过自己的仔细思考和研究,并在老师以及同学的帮助下,许多疑难问题都得到了解决。对

通过设计我也认识到自己的不足,对细节的东西学的不够透彻,对知识深度的挖掘不够。同时我也感悟到与别人合作的快乐,团结就是力量,

自己的知识面和技术水平的提高有很大的帮助。

12

通过与同学的交流可以很快的学到很多东西。

第5章 参 考 文 献

1、《单片微型计算机与机电接口技术》 房小翠 等编著 国防工业出版社, 2002.3

2、《单 片 机 应 用 技 术》 耿长清主编 俞宁主审 化学工业出版社,2002.7

3、《单片机原理及接口技术》 梅丽凤、王艳秋、汪毓铎、任国臣 等编著 清华大学出版社、北京交通大学出版社 ,2009.2

4、《如何正确选用电动机》 周希章、周全 等编著 机械工业出版社, 2004.1

5、《微型计算机控制技术》 潘新民、王燕芳 等编著 电子工业出版社, 2006.1

13

本文来源:https://www.bwwdw.com/article/6f4w.html

Top