基于单片机的直流电机调速系统设计论文.docx

上传人:b****8 文档编号:10981338 上传时间:2023-02-24 格式:DOCX 页数:27 大小:408.66KB
下载 相关 举报
基于单片机的直流电机调速系统设计论文.docx_第1页
第1页 / 共27页
基于单片机的直流电机调速系统设计论文.docx_第2页
第2页 / 共27页
基于单片机的直流电机调速系统设计论文.docx_第3页
第3页 / 共27页
基于单片机的直流电机调速系统设计论文.docx_第4页
第4页 / 共27页
基于单片机的直流电机调速系统设计论文.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于单片机的直流电机调速系统设计论文.docx

《基于单片机的直流电机调速系统设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机调速系统设计论文.docx(27页珍藏版)》请在冰豆网上搜索。

基于单片机的直流电机调速系统设计论文.docx

基于单片机的直流电机调速系统设计论文

沈阳航空航天大学

课程设计

(论文)

 

题目基于单片机的直流电机调速系统设计

 

班级84070102

学号2008040701059

学生姓名孙扩

指导教师胡立夫

基于单片机的直流电机调速系统设计

孙扩沈阳航空航天大学自动化学院

摘要:

本文设计的是基于单片机的直流电机调速系统设计,本系统设计以AT89C52单片机为核心,分成两个模块,一是直流电机控制系统:

此系统采用PWM使直流电机以5个弹跳按钮作为输入达到控制直流电机的停止、加速、减速、正转、反转;另一个是转速显示系统:

此系统主要实现对转速的计数,并用LED数码管将其结果显示。

其中采用采用PWM可以较为简单的对直流电机转速的控制;LED数码管可以准确的将转数显示出来,在实际应用中很方便。

关键词:

AT89C52单片机;PWM;直流电机调速;LED显示

0.前言

直流电动机具有优良的调速特性,调速平滑,方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;能满足生产过程中自动化系统各种不同的特殊运行要求。

电动机调速系统采用微机实现自动控制,是电气传动发展的主要方向之一。

采用微机控制后,整个调速系统体积小、结构简单、可靠性高、操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。

本文介绍了基于单片机的直流电机PWM调速的基本方法,直流电机调速的相关知识以及PWM调速的基本原理和实现方法。

重点介绍了基于MCS一51单片机的用软件产生PWM信号以及信号占空比调节的方法。

对于直流电机速度控制系统的实现提供了一种有效的途径。

1.总体方案设计

89S52单片机为核心的直流电机控制系统控制简图如图1所示,由软件转换成PWM信号,并由P3.0、P3.1输出,经驱动电路输出给电机,从而控制电机得电与失电。

软件采用定时中断进行设计。

单片机上电后,系统进入准备状态。

当按动启动按钮后,根据P3.0为高电平实现电机正转,P3.1为高电平时实现电机反转。

根据不同的加减速按钮,调整P3.0/P3.1输出高低电平时的预定值,从而可以控制P3.0/P3.1输出高低电平时的占空比,进而控制电压的大小。

控制程序应用于电机的加减速。

在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。

脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。

经实验发现,脉冲频率在40Hz以上,电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10Hz以下,电动机转动有明显跳动现象。

实验证明,脉冲频率在15Hz-30Hz时效果最佳。

而具体采用的频率可根据个别电动机性能在此范围内调节。

通过P3.0输入高电平信号P3.1输入低电平与P3.0输入低电平P3.1输入信号分别实现电动机的正转与反转功能。

通过对信号占空比的调整来对直流电机进行调节。

 

图1系统硬件框图

2.硬件电路设计

由单片机硬件设计原理可知:

(1)尽可能采用功能强的芯片,以简化电路;

(2)留有余地。

在设计硬件电路时,要考虑到将来修改、扩展的方便。

2.1单片机最小系统的设计

单片机最小系统:

所谓最小系统就是指由单片机和一些基本的外围电路所组成的一个可以工作的单片机系统。

一般来说,它包括单片机,晶振电路和复位电路。

2.1.1单片机AT89S52

AT89S528位单片机是MSC-51®系列产品的升级版,有世界著名半导体公司ATMEL在购买MSC-51®设计结构后,利用自身优势技术——(掉电不丢数据)闪存生产技术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。

与此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51F020等高性能单片机。

AT89S52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。

根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33M之间。

片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。

可以在4V到5.5V宽电压范围内正常工作。

不断发展的半导体工艺也让该单片机的功耗不断降低。

同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。

根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插DIP-40的封装。

DIP-40封装89S52引脚图如图2所示。

 

图2DIP-40封装89S52引脚图

2.1.2复位电路及时钟电路

复位电路和时钟电路是维持单片机最小系统运行的基本模块。

复位电路通常分为两种:

上电复位和手动复位,如图3,图4所示。

图3上电复位图4手动复位

有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。

所以本次设计选用手动复位。

高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。

但是告诉对系统要求较高,而且功耗大,运行环境苛刻。

考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。

合适频率的晶振对于选频信号强度准确度都有好处,本次设计选取12.000M无源晶振接入XTAL1和XTAL2引脚。

并联2个30pF陶瓷电容帮助起振。

最小系统如图5所示。

图5最小系统

2.2直流电机驱动电路设计

由于单片机P3口输出的电压最高才有5V,难以直接驱动直流电机。

所以我们需要使用恒压恒流桥式2A驱动芯片L298N来驱动电机。

L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。

4脚VS接电源电压,VS电压范围VIH为+2.5~46V。

输出电流可达2.5A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。

5,7,10,12脚接输入控制电平,控制电机的正反转。

EnA,EnB接控制使能端,控制电机的停转。

同时需要加四个二极管在电机的两端,防止电机反转的时候产生强大的冲击电流烧坏电机。

具体驱动电路如图6所示。

图6驱动电路

2.3显示模块设计

在本设计课题中采用的是7段4位共阳极LED数码管,它的引脚图如图7所示。

 

图77段4位共阳极LED数码管引脚图

7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,7段数码管分共阴和共阳两种显示方式,本设计中采用共阳极显示器。

共阳极显示器的发光二极管的阳极连接在一起,当公共阳极接电源+5V时,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。

通常将控制发光二极管发光的8位字节数据编码称为LED显示的段选码,要构成多位LED显示时,除需要段选线外,还需要位选线,以确定段选码对应的显示位,位选线控制第几个LED显示。

段选线控制显示字形。

8个阴极分别与8个限流电阻相连,在接到相应的电路中(发光二极管的工作电流选取在10-20ma,限流电阻太大,数码管会太亮),其连接图如图8所示。

图87段共阳极LED连接图

因为单片机的输出端口输出的电流小,点亮数码管的能力不大,所以需要采用三极管放大输出电流,此次三极管采用的是C9013,具体放大电路如图9所示。

图9放大电路

2.4键盘电路设计

正转、反转、急停、加速、减速五个开关分别与单片机的P1.0,P1.1,P1.2,P1.3,P1.4相连,然后再与地相连。

急停实现直流电机的停转,正转实现直流电机的正转,反转实现直流电机的反转,加速实现直流电机的加速,减速实现直流电机的减速,其电路如图10所示。

图10按键电路

2.5元件选择与参数计算

(1)整流电路参数

输出电压平均值:

Uo(AV)=

2

(1)

输出电流平均值:

IO(AV)=

(2)

平均整流电流:

ID(AV)=

(3)

最大反向电压:

URM=

(4)

整流二极管的选择(考虑电网

):

(5)

(2)滤波电路参数

滤波电容选择:

RLC=(3~5)

一般选几十至几千微法的电解电容,耐压>

(3)实际计算过程

1.要使7812正常工作,必须保证输入与输出之间维持大于2V的压降,因此7812输入端直流电压必须保证14V以上。

7812输入端的电流是对变压器副边输出电压U(t)整流、滤波后得到的。

假设整流电路内阻为0,负载电流为0,7812输入端有最大电压U=1.414Uef,Uef是U(t)有效值。

由于滤波电容不可能无限大,所以U<1.414Uef,根据经验可知U=1.2Uef,可知Uef=14.4V,考虑到整流桥经过两个二极管约有1.4V的压降,得变压器可取15V。

2.变压器选择:

变压器选择双15V变压,考虑到电流不需要太大,最大电流为1A,实际选择变压器输出功率为10W,可以很好的满足要求。

3.整流桥:

考虑到电路中会出现冲击电流,整流桥的额定电流是工作电流的2~3倍。

选取RS301(100V,3A)即可,实际购买过程中选择了RS307(700V,3A)也符合设计要求。

4.滤波电容:

考虑到对纹波电压要求比较高,故选择了2200μF耐压值为25V以及100μF耐压值50v的电解电容。

5.去耦电容:

去耦电容的选择是7812及7805芯片要求的,查手册可知分别为0.01μF、,用来滤除高频分量防止产生自激。

6.为了防止负载产生冲击电流,故在输出端加入2200μF、耐压值为25V的电解电容。

7.7805支路的元件参数基本相同。

至此,所有元件的参数都已经确定。

3.软件编程

在单片机系统的程序的设计开发中,单片机就如同整个系统的交通中枢,而程序就是组成交通中枢的条条大道,各个部分的模块化的程序就是整个系统的组成成份。

软件编写的好坏,语句运用的是否简洁直接关系单片机的工作效率。

在各个模块化的程序中尽量用最少的语句作最多的事情,不让语句出现歧义,这样就可以使整个程序可以在系统中更好的运行,使单片机工作效率大大的提高。

该课题的软件设计采用了模块化设计的思想即将程序划分为若干个相对独立的功能模块,画出每一个功能模块的详细流程图,并根据流程图编写程序,最后按照软件设计的总体结构框图,将各模块连接成一个完整的主程序。

在主程序的设计中要合理地调用各模块程序。

模块化设计的优点是:

无论是硬件还是软件,每一个模块都相对独立,故能独立地进行设计、研制、调试和修改,从而使复杂的工作得以简化。

模块之间的相互独立也有助于研制任务的分解和设计人员之间的分工合作,这样可提高工作效率和仪表的研制速度。

本利用P3口,编制程序输出一串脉冲,经放大后驱动直流电机,改变输出脉冲的电平的持续时间,达到使电机正转、反转、加速、减速、停转等目的[10-11]。

由软件编程从P3.0/P3.1管脚产生PWM信号,经驱动电路输出给电机,从而控制电机得电与失电。

软件采用延时法进行设计。

单片机上电后,系统进入准备状态。

当按动启动按钮后,根据P3.0为高电平时实现电机正转,P3.1为高电平时实现电机反转。

根据不同的加减速按钮,调整P3.0/P3.1输出高低电平时的占空比,从而可以控制P3.0/P3.1输出高低电平时的有效值,进而控制电机的加减速。

其总体流程图如图11所示

图11软件总体流程图

3.1PWM波软件设计

通过控制总中断使能EA控制电机的开关,同时使能对红外对接头输出的方波在单位时间内脉冲个数的计数。

其中定时器T0,T1分别对脉冲的宽度、红外对接头输出的脉冲数对应的1秒时间定时。

对脉冲宽度的调整是通过改变高电平的定时长度,由变量high控制。

变量swap、sub_speed、add_speed分别实现电机的转向、加速、减速。

程序流程图如图12所示。

 

图12PWM流程图

3.2数码管显示设计

检测按键,将转速通过数码管显示出来,并根据数据的变化,变化显示。

流程图如图13。

4.系统调试与分析

系统的硬件、软件独调和系统调试是系统最后的步骤也是系统特别重要的环节,因为设计和开发出的系统是否成功,功能是否完善只有在这里才能显现出来。

所以为了保证设计系统能够正常工作,必须对软件和硬件部分的每一个部分进行调试和分析。

本章详细的介绍了软件调试和软硬联调的过程,并对调试结果进行了介绍和分析。

 

图13数码管显示流程图

4.1软件调试

本次设计采用的是keil仿真器进行软件调试,此系统可以开发应用软件,以及对硬件电路进行诊断、调试等。

它的具体功能是可以进行CPU仿真,可以单步、跟踪、断点和全速运行,而且,程序的编译过程中,可以对设计软件进行自诊断,并自动给出故障原因。

同时用户调试程序时,可以通过窗口观察寄存器的工作状况,以便及时发现和排除编程中可能出现的错误。

软件的调试是利用keil软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:

1.把系统的各个模块在仿真软件中逐个调试,如信号灯模块、显示模块等。

2.对各个需要赋值模块调试时,赋入初值,单步调试,观察数据窗口,看输出结果是否为设计时想要的结果。

3.把各个模块组合起来,全速运行,看程序是否能流畅的,是否能实现设计的系统的所有功能。

4.2仿真图形

初始状态,直流电机有如图示14运行效果

图14电机半速运转

按下急停键,直流电机有图15的停止运行结果。

图15电机停转

按下加速键,直流电机有图16的正向加速运行结果。

图16电机正转加速

按下减速键,直流电机有图17正向减速运行结果。

图17电机正转减速

按下反转键,直流电机有图18反向加速运行结果。

图18电机反转加速

5.结论及进一步设想

该课题的主要任务是设计一个以89C52单片机为核心的直流电机调速系统。

通过联调,实验验证了系统的可行,能满足设计要求,达到设计的指标,最后实现了对转速的控制和LED显示转速。

这个开发过程主要包括了硬件电路仿真设计和软件编程两个部分。

从确定课设题目,到查阅质料确定总体方案设计,硬件电路仿真的设计,硬件电路的优化,软件的设计,软件的优化,检验仿真电路,调试软件程序,到最后的软硬件联调,其中的每一个过程都是精心设计、仔细完成的。

参考文献

[1]刘复华.单片机及其应用系统.北京:

清华大学出版社,1992

[2]周坚.单片机C语言轻松入门.北京:

航空航天大学出版社,2006

[3]侯玉宝,陈忠平.基于Proteus51系列单片机设计与仿真.北京:

电子工业出版社,2008

[4]戴佳,苗龙,陈斌.51单片机应用系统开发典型实例.北京:

中国电力出版社,2005

[5]张琛.直流无刷电动机原理及应用[M],北京:

北京机械工业出版社,1996.

[6]袁淑芬.实现直流无刷电动机调速控制的一种新型方法[J],长春理工大学学报,2009,Vol.25,NO.1:

113-115.

[7]吴宝启,张元伟,刘阳.基于单片机的无刷直流电机控制方案设计[J],煤矿现代化,2009,Vol.16,NO.6:

74.

[8]刘小春,首珩.无刷直流电动机的单片机控制[J],自动化技术与应用,2009,Vol.21,NO.3:

129-131.

[9]周兴华.用单片机控制直流电机变速[J],电子制作,2006,Vol.34,NO.6:

34-35.

[10]岳东海,颜鹏.直流电机PWM无级调速控制系统设计[J],价值工程,2010,Vol.14,NO.2:

135-136.

[11]郭浩.3A驱动能力PWM直流电机控制电路的制作[J],电子制作,2007,Vol.9,NO.10:

42-43.

 

课设体会

经过两个礼拜的努力,本次课设已经接近尾声,通过此次课程设计的训练,我深刻的体会到单片机技术是一门工程特点和实践性很强的学科。

刚刚拿到题目时我觉得很难,根本无从下手,但是经过老师的指导以及多方面查询资料,我终于得出了方案,完成了这次课程设计。

这次课程设计给我们提供了一个应用自己所学知识的机会,从到图书馆查找资料到对仪器的设计、调试,再到最后的成型,都对我所学的知识进行了检验。

不仅使学过的知识得到了巩固与复习,同时也锻炼了我们使用仪器和计算机辅助软件的技能。

但更重要的是把理论知识与实际联系在了一起,加强了思考问题的的完整性和可行性,锻炼了我的思考能力和动手能力。

使学习变成了一种乐趣,使知识形象具体地被掌握。

同时也为作好毕业设计做好准备工作。

在这里首先要感谢我的老师。

老师平日里工作繁多,但在我做课程设计的时期,一直关心我的论文进展,从设计草案的确定和修改,中期检查,后期详细设计等整个过程中都给予了我很大的关心。

 

[2011年7月22日完成]

附录Ⅰ元件清单

元件名称

型号

数量

单片机

AT89C52

1

驱动芯片

L298

1

直流电机

MOTOR

1

二极管

1N4001

4

电阻排

RESPACK-8

1

4位数码管

7SEG-MPX4-CA

1

电容

CAP

1

 

附录Ⅱ总体电路图

附录Ⅲ源程序

#include

#defineuncharunsignedchar

#defineunintunsignedint

unsignedcharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x84,0xff,0xbf};//显示代码

unsignedchardispbitcode[]={0xfe,0xfd,0xfb,0xf7};//位选口

unsignedchardispbuf[4]={0,0,0,0};

unsignedchardispbitcnt;

unintmstcnt;

uninti;

unintcount=0;

unchartp=0;

voidledshow();

voidkeyscan();

voiddelay();

voidjust();

voidturn();

voidmotorstop();

voidspeedup();

voidspeeddown();

voidmain(void)

{

P3_0=1;

P3_1=0;

dispbuf[0]=16;

TMOD=0x02;

TH0=0x06;

TL0=0x06;

TR0=1;

ET0=1;

EA=1;

while

(1)

{

ledshow();//数码管显示

keyscan();//键盘扫描

}

}

//延时10ms程序

voiddelay()

{

unsignedchari,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}

//键盘扫描程序

voidkeyscan()

{

unchartemp=0;

P1=0xff;

if((P1&0x1f)!

=0x1f)

{

delay();

if((P1&0x1f)!

=0x1f)

{

temp=P1&0x1f;

switch(temp)

{

case0x1e:

just();break;

case0x1d:

turn();break;

case0x1b:

motorstop();break;

case0x17:

speedup();break;

case0x0f:

speeddown();break;

}

}

}

while((P1&0x1f)!

=0x1f);

}

//数码管显示程序

voidledshow()

{

/*

P0=dispcode[dispbuf[dispbitcnt]];

P2=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==4)

{

dispbitcnt=0;

}

*/

P2=0x01;P0=dispcode[dispbuf[0]];

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

P2=0x02;P0=dispcode[dispbuf[1]];

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

P2=0x04;P0=dispcode[dispbuf[2]];

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

P2=0x08;P0=dispcode[dispbuf[3]];

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

dispbuf[1]=tp/100;

dispbuf[2]=(tp%100)/10;

dispbuf[3]=tp%10;

}

//中断服务程序

voidt0(void)interrupt1using0

{

/*

mstcnt++;

if(mstcnt==8)

{

mstcnt=0;

P0=dispcode[dispbuf[dispbitcnt]];

P2=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==4)

{

dispbitcnt=0;

}

}

*/

if(count>100)

count=0;

if(count>tp)

P3_7=0;

elseP3_7=1;

count++;

}

voidjust()

{

P3_0=1;

P3_1=0;

dispbuf[0]=16;

}

voidturn()

{

P3_0=0;

P3_1=1;

dispbuf[0]=17;

}

voidmotorstop()

{

tp=0;

}

voidspeedup()

{

if(tp>99)

tp=100;

elsetp++;

}

voidspeeddown()

{

if(tp<1)

tp=0;

elsetp--;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1