搜索
您的当前位置:首页正文

机电一体化课程设计说明书基于单片机的步进电机控制电路的设计

来源:小奈知识网


机电一体化课程设计说明书

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

院(系) 成教院 专 业 机电一体化 班 级 09机电班 学生姓名 荆晶 指导老师 成 绩

指导教师 签发 年 月 日

目 录

摘 要 ......................................................................................................................................................... 2 绪论 ............................................................................................................................................................. 3 1.1 1.2

引言 ............................................................................................................................................ 3 步进电机的发展趋势 ................................................................................................................ 3

1.3国内外研究概况 ............................................................................................................................... 3 1.4 步进电机的选型 ............................................................................................................................. 4 第一章 元器件 ........................................................................................................................................ 5 2.1 光电耦合器 ...................................................................................................................................... 5 2.2

达林顿管 .................................................................................................................................... 5

2.3 步进电机 ....................................................................................................................................... 5 2.4 单片机AT89C52 ............................................................................................................................. 6 第二章 硬件电路设计 ............................................................................................................................ 7 3.1 单片机最小系统 .............................................................................................................................. 7 3.2 步进电机控制电路 .......................................................................................................................... 8 3.3 正反转、停止控制电路 .................................................................................................................. 9 第四章 程序设计 ..................................................................................................................................... 11 总结 ........................................................................................................................................................... 15 参考文献 ................................................................................................................................................... 16

1

摘 要

步进电机是一种将电脉冲信号的转换为角位移的机电元件,与其它类型

的电机相比具有易于精确控制、无累积误差等优点,在众多的领域应用广泛。本设计采用AT89C52单片机对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片74LS06反相输出,通过光电耦合器输出的脉冲作为三相步进的各相得控制信号。为了获得足够大的的驱动功率,光电耦合器输出的脉冲经达林顿管进行放大。

关键词:步进电机、单片机、光电耦合、功率放大

2

绪论

1.1 引言

步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种

自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

1.2 步进电机的发展趋势

步进电机在今后的发展,依赖于新型材料的应用、设计手段,以及与驱动

技术的最佳匹配。随着自动控制技术、计算机网络通信技术在众多的领域中的进一步发展以及数字化、智能化技术日益发展,步进电机将会在更深入广泛的领域中得以应用。最后,电力电子技术、微电子技术的发展,高性能永磁材料的应用及优化设计技术对步进电机发展起到重要的作用。同时驱动技术改进的作用也不容忽视的,对步进电机的设计和发展产生了很多的影响,也提出了一系列研究的新课题和新方向。

1.3国内外研究概况

近年来,随着微电子技术、大功率电力电子器件及驱动技术的进步,步进

电机在自动化领域的应用也越来越广泛。我国的步进电机行业起步较早,并一度以反应式步进电机的生产与应用成为国际电机行业的一大特色,目前,仍有许多国内用户使用反应式步进电机。混合式步进电机的特点是力矩大、运行平稳、高频矩频特性好,在发达国家中,越来越广泛的使用性能优越的五相和三相混合式步进电机。步进电机驱动技术的发展也十分迅速。我国步进电机的应用虽然起步较早,但其驱动技术的发展相对落后,成为制约步进电机应用与发展的主要因素。国内仍有不少用户沿用已被国外淘汰的单电压串电阻等落后的驱动方式,驱动器

3

电路中使用分立元件居多,可靠性差,且各厂家的驱动技术规范、技术等级、生产工艺参差不齐。

1.4 步进电机的选型

图1 步进电机的外形

86BYG350F系列步进电机是由杭州日升公司推出的三相步进电机,其外形如图1所示,电机的技术参数如表一所示。

相电电机型号 86BYG350FA

4

相电阻 4.25 相电感 mH 12 相数 3 流 A 3.35 步距角 ° 0.6/1.2 保持转矩 N.m 2.0 转动惯量 kg.㎡ 1.32 重量 kg 2 表一 电机的技术参数

第一章 元器件

2.1 光电耦合器

光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源

和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等。在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电一光一电的转换。

2.2 达林顿管

达林顿管又称复合管。它将二只三极管适当的连接在一起,以组成一只等效的新的三极管。这等效于三极管的放大倍数是二者之积。在电子学电路设计中,达林顿接法常用于功率放大器和稳压电源中。判断极性如下:以两个相同极性的三极管为例,前面为三极管集电极跟后面三极管集电极相接,前面为三极管射极跟后面三极管基极相接,前面三极管功率一般比后面三极管小,前面三极管基极为达林顿管基极,后面三极管射极为达林顿管射极,用法跟三极管一样。

达林顿管的性能特点:放大倍数大(可达数百、数千倍);驱动能力强;功率大;开关速度快;可做成功率放大模块;易于集成化。

2.3 步进电机

步进电机是数字控制电机,它是将脉冲信号转变成角位移,即给一个脉

冲信号,电机就转动一定角度。电机的总转动角度是由输入脉冲的个数决定的,而电机的转速是由脉冲信号的频率决定,因此非常适合于单片机的控制。

步进电机的一些基本参数

电机固有步距角:

它表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86byg250a型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°整步工作时为1.8°),这个步距角可以称之为‘电机固有步距角’,

5

它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。 步进电机的相数:

是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9°/1.8°、三相的为0.75°/1.5°、五相的为0.36°/0.72° 。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。如果使用细分驱动器,则‘相数’将变得没有意义,用户只需在驱动器上改变细分数,就可以改变步距角。

保持转矩:

是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。

2.4 单片机AT89C52

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反

复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

6

第二章 硬件电路设计

以AT89C52单片机、74LS06、光电耦合器、达林顿管为主要控制部件设计步进电机控制系统,该设计的硬件电路主要包括:单片机最小系统、步进电机控制电路、正反转控制电路。系统框图如图2所示。

单片机 反相器 光电耦合 功率放大 步进电机 正反转、停止 图2 硬件电路原理方框图

3.1 单片机最小系统

单片机最小系统是由复位电路和时钟电路组成,其中复位操作有两种基本形

式:一种是上电复位,另外一种是上电与按键复位都有效的复位,本系统是属于后者,如图3所示。

7

图3 单片机最小系统

3.2 步进电机控制电路

步进电机是数字控制电机,步进电机是否转动是由控制绕组中的输入脉冲的有无来控制的,每一步转过的角度和方向是由三相控制绕组中的通电方式决定的,也就是说步进电机的控制是要求单片机软件产生按规律变化的时序脉冲,然后通过借口和驱动放大电路来驱动步进电机。

单片机的P2.0控制A相,P2.1控制B相,P2.2控制C相。当P2.0输出高电平,经74LS06反相为低电平,达林顿管复合截止,A相截止。当P2.0输出低电平,经74LS06反相为高电平,达林顿管复合导通,A相导通。因此P2.0用于控制A相是否导通,单片机输出1,A相截止,输出0,A相导通。同理P2.1用于控制B相,P2.2用于控制C相。本电路采用光电耦合器有效地提高了抗干扰能,

8

电路如图4所示。

如图4步进电机控制电路

3.3 正反转、停止控制电路

该电路采用独立式键盘,就是每个按钮单独占一根I/O口线,每根I/O口线的按键不会影响其它的I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个键被按下。独立式键盘的优点是电路配置灵活,软件结构简单,并且能同时检测到多个键被按下的情况。但是每个按键需占用一个I/O口,在按键数量多时,I/O的浪费大,电路结构复杂。

本电路由上拉电阻和按键组成,对每一个键来讲,当键没有被按下时单片机相应的引脚上的电平为高电平,当键被按下时,单片机相应的引脚的电平为低电平。

9

其中,S1是启动/停止安键,S2是正转按键,S3是反转按键,如图5所示。

图5正反转、停止控制电路

10

第四章 程序设计

编写三相六拍步进电机的通电方式的控制程序。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。在三相六拍通电方式下,若按照A相 A相B相 B相 B相C相 C相 C相A相的顺序通电,则步进电机正转;若按照A相 A相C相 C相 B相C相 B相 B相A相的顺序通电,则步进电机反转。 节拍 正转 1 2 3 4 5 6

反转 6 5 4 3 2 1 通电相 A AB B BC C CA 表二 三相六拍控制模式

控制模式 二进制 00000001H 00000011H 00000010H 00000110H 00000100H 00000101H 十六进制 01H 03H 02H 06H 04H 05H 由表二知,P2.0控制A相是否导通,输出1,A相通,输出0,A相截止。同

理P2.1用于控制B相,P2.2用于控制C相。正转节拍1是A相导通,B、C相截止,所以P2.0输出1,P2.1、P2.2输出0,因此P2口输出值为01H(十六进制)。正转节拍2是A、B相导通,C相截止,所以P2.0、P2.1输出1, P2.2输出0,因此P2口输出值为03H。在程序设计中,只需将正转或反转节拍控制值存放于数据中,然后按顺序从数组中读取并通过P2口输出,即可以控制电机的正转或反转。控制流程图,如图6所示。

11

初始化 开始按钮是 否被按下?

正转按钮是电机正转 否被按下? 是 否

反转按钮是电机反转 电机反转 否被按下? 是 否 停止按钮是 否被按下? 否 电机停止

图6 程序流程图

12

主程序如下:

#include #define uchar unsigned char #define uint unsigned int

uchar code roundz[]={0x01,0x03,0x02,0x06,0x04,0x05}; uchar code roundf[]={0x01,0x05,0x04,0x06,0x02,0x03}; //电机正转控制数值 //电机反转控制数值

sbit s1=P2^0; //停止按钮 sbit s2=P2^1; //正转按钮 sbit s3=P2^2; //反转按钮

void delay(uint z)

//延时函数

{ uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void rotatez(uint speed,uint step) //正转控制函数 { uchar i;

while(step--) //是否达到指定的步数 { P2=roundz[i];

//从P2口送出节拍控制值

i++; if(i>5) i=0; delay(speed);

}

}

void rotatef(uint speed,uint step) //反转控制函数 { uchar i;

while(step--)

//是否达到指定的步数

13

{ P2=roundf[i];

//从P2口送出节拍控制值

i++; if(i>5) i=0; delay(speed);

}

}

void main() { uchar t1=0,t2=0,t3=0; if(s1==0)

//开始

{ delay(5); // 延时消抖 if(s1==0) { t1=1;

} }

while(t1)

{ if(s1==0) //停止

{ delay(5); if(s1==0) { t1=0;

}

} if(s2==0) //正转

{ delay(5); if(s2==0)

{

14

}

}

}

}

t2=1; t3=0;

if(s3==0) { }

//反转

delay(5); if(s3==0) { }

t2=0; t3=1;

while(t2) //执行正转 { } while(t3) { }

rotatef(100,1000);

//执行反转

rotatez(100,1000);

总结

在硬件电路设计过程中,功率放大时整个系统设计中最为重要的部分。步进电机在运行中会产生反向电动势,因此就需要驱动系统尽量克服电机的反电势,不同的场合采用不同的驱动方式,本设计采用7406驱动光电耦合器,能有效地防止反电动势对单片机的干扰。利用软件延时程序程序,达到了控制步进电机的正转 、反转、停止的目的。但采用软件定时,CPU一直被占用,因此CPU利用率低。这也是本设计不足之处。

15

参考文献

[1] 王克义,机电传动及控制,哈尔滨:哈尔滨工业大学出版社,2005 [2] 李全利,单片机原理及应用,北京:清华大学出版社,2006 [3] 林伟健,C++程序设计基础,北京:电子工业出版社,2008

[4] 毕淑娥,电工与电子技术基础,哈尔滨:哈尔滨工业大学出版社,2008 [5 黄鹤松,51单片机应用开发范例大全,北京:人民邮电出版社,2010

16

因篇幅问题不能全部显示,请点此查看更多更全内容

Top