基于单片机的直流电机速度控制.docx

上传人:数据九部 文档编号:9585981 上传时间:2021-03-09 格式:DOCX 页数:32 大小:1.09MB
返回 下载 相关 举报
基于单片机的直流电机速度控制.docx_第1页
第1页 / 共32页
基于单片机的直流电机速度控制.docx_第2页
第2页 / 共32页
基于单片机的直流电机速度控制.docx_第3页
第3页 / 共32页
基于单片机的直流电机速度控制.docx_第4页
第4页 / 共32页
基于单片机的直流电机速度控制.docx_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《基于单片机的直流电机速度控制.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机速度控制.docx(32页珍藏版)》请在三一文库上搜索。

1、目录0.前言 .11.用单片机控制直流电机转速的基本理论 .11.1 直流电机调速原理 .11. 2 PWM 基本原理及设计方案.22. 硬件电路的设计 .32.1 系统分析与硬件设计模块 .32.2 设计该系统所需部分器件 .52.3 直流电机的功能简介 .52.4 直流电机调速控制系统模块 .52. 5 显示设计模块 .63. 系统软件的设计 .84. 系统调试和结果分析 .94. 1 仿真图形.95. 结论和总结 .11参考文献 .11附程序清单 .12,摘要:本文介绍了基于单片机的直流电机 PWM 调速的基本方法,直流电机调速 的相关知识以及 PWM 调速的基本原理和实现方法。重点介绍

2、了基于 MCS-51 单 片机的用软件生产 PWM 信号以及信号占空比调节的方法。对于直流电机速度控 制系统的实现提供了一个有效的途径。本次课程设计主要任务是以四位共阳数码管显示电机速度,它能间接直观的 观察到电机速度的变化,用独立键盘来手动控制电机的转速,其中控制核心部分 是单片机,单片机输出微弱的电流信号经过 L298N 驱动芯片放大从而使电机满 足转速的要求。关键字:四位共阳数码管;AT89S52 单片机;PWM ;直流电机调速0.前言随着社会的发展,各种智能化的产品日益走入寻常百姓家。为了实现产品的 便携性、低成品以及对电源的限制,小型直流电机应用相当广泛。对直流电机的 速度调节,我们

3、可以采用多种办法,本文在给出直流电机调整和PWM实现方法 的基础上,提供一种用单片机软件实现PWM 调速的方法。对基于MCS-51 系列 单片机实现直流电机调速系统进行研究和设计,能够在不同的按钮作用下分别实 现直流电机的停止、加速、减速、正转、反转控制;能够实现基于MCS-51系列 单片机的直流电机PWM的调速设计。本文研究的是基于MCS-51系列单片机的直流电机PWM 调速系统属于微机 控制领域,通过对单片机的学习和研究对自己以后从事硬件产品的开发有一定的 实际指导意义。1.用单片机控制直流电机转速的基本理论1.1 直流电机调速原理根据励磁方式不同,直流电机分为自励和他励两种类型。不同励磁

4、方式的 直流电机机械特性曲线有所不同。对于直流电机来说,人为机械特性方程式为:U R +Rn = N - ad a T =n -Dn K f K K f2e N e t N( 1-1)式中UN,fN 额定电枢电压、额定磁通量;K Ket与电机有关的常数;1,DnfI fR Rad a电枢外加电阻、电枢内电阻;n0, 理想空载转速、转速降。分析(1-1)式可得当分别改变UN、fN和Rad时,可以得到不同的转速 n ,从而实现对速度的调节。由于 =T,当改变励磁电流 f 时,可以改变磁通量 的大小,从而达到变磁通调速的目的。如图 1-1所示。理想空载转速 n 随电枢电压升降而发生相应的升降变化。不

5、 同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压的变化而改变,电 机带负载能力恒定。当我们平滑调节他励直流电机电枢两端电压时,可实现电机 的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被 广泛采用。图1-1 直流电动机机械特性曲线1.2 PWM 基本原理及设计方案 1.2.1 PWM 基本原理图1-2 电枢电压“占空比”与平均电压关系PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压, 进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调 速、温度控制、压力控制等。在PWM 驱动控制的调整系统中,按一个固定的频 率来接通和断开电源

6、,并根据需要改变一个周期内“接通”和“断开”时间的长短。 通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动 机的转速。因此,PWM又被称为“开关驱动装置”。在脉冲作用下,当电机通电 时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为 Vmax设占空比为 D = t / T ,则电机的平均速度为:1,V = Vd max* D(1-2)式中, V 电机的平均速度; d2Vmax电机全通电时的速度(最大);D = t / T 占空比。1由公式(1-2)可见,当我们改变占空比时 D = t

7、/ T ,就可以得到不同的电机1平均速度 ,从而达到调速的目的。严格地讲,平均速度 V 与占空比 D = t / T 并d 1不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。 1.2.2 设计方案本文主要介绍利用单片机对 PWM 信号的软件实现方法。 MCS一51系列典型 产品 AT89S52 具有两个定时器 T 和 T 。通过控制定时器初值 T 和 T ,从而可0 1 0 1以实现从S52的任意输出口输出不同占空比的脉冲波形。由于PWM 信号软件实现 的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是 同一台单片机由于选用的晶振不同,选择的定时器工作方式不

8、同,其定时器的定 时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时 时间的关系。如果单片机的时钟频率为 f ,定时器计数器为 N 位,则定时器 初值与定时时间的关系为:t =( 2n 1-T )wNf 106(1-3)式中, T 定时器定时初值;wN 一个机器周期的时钟数。N 随着机型的不同而不同。在应用中, 应根据具体的机型给出相应的值。这样,我们可以通过设定不同的定时初值 , 从而改变占空比 D = t / T ,进而达到控制电机转速的目的。12.硬件电路的设计本设计以 AT89S52单片机为核心,以 5个弹跳按钮作为输入达到控制直流电 机的停止、加速、减速、正转、反

9、转,以四位共阳数码管显示电机速度大小。在 设计中,采用 PWM技术对电机进行控制,通过对占空比的计算达到精确调速的 目的。2.1 系统分析与硬件设计模块键盘向单片机输入相应控制指令,由单片机通过 P3.0 与 P3.1 其中一口输出 与转速相应的 PWM 脉冲,另一口输出低电平,经过信号放大、驱动电动机控制 电路,实现电动机转向与转速的控制,电动机正转,反转,加速,减速、急停。3总体设计方案的硬件部分详细框图如图 2-1 所示:输入模块AT89S52显示模块电源模块驱动模块直流电机图 2-1 系统硬件框图系统整体硬件电路图如图 2-2 示:图 2-2 系统硬件电路图42.2 设计该系统所需部分

10、器件AT89S52 单片机、直流电机、L298N、12MHZ 晶振、四位共阳数码管、电 容、电阻、弹跳开关等。2.3 直流电机的功能简介直流电动机具有优良的调速特性,调速平滑、方便,调速范围广;过载能力 大,能承受频繁的冲击负载,可实现频繁的无级快速起动、停止和反转;能满足 生产过程自动化系统各种不同的特殊运行要求。电动机调速系统采用微机实现自 动控制,是电气传动发展的主要方向之一。采用微机控制后,整个调速系统实现 自动化,结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达 到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要 求。由于单片机性能优越,具有较佳的性能

11、价格比,所以单片机在工业过程及设 备控制中得到日益广泛的应用。2.4 直流电机调速控制系统模块采用单片机构成的直流电动机数字 PWM 调速系统 , 其控制核心主要由单片 机的最小系统、电源模块(12v 5v)、电机驱动电路、按键(加速、减速、急停、 正转、反转)、显示模块(四位数码管)、直流电机组成。系统采用L298N芯片作 为PWM 驱动直流电动机的供电主回路。单片机通过软件处理输出PWM 信号, 实 现了直流电动机的速度控制 , 在运行中获得了良好的动静态性能。由于系统性价 比高,结构简单,具有实用价值和推广价值。在介绍了基于单片机用PWM实现直流 电机调整的基本方法,直流电机调速的相关知

12、识,及 PWM调整的基本原理和实 现方法。重点介绍了基于 AT89S52 单片机的用软件产生 PWM信号的途径,并介 绍了一种独特的通过软件定时中断实现 PWM信号占空比调节的方法。对于直流 电机速度控制系统的实现提供了一种有效的途径。(1) 键盘识别:通过 P1 口的低电平输入识别不同的按键。(2) 通过对单片机程序烧录实现对直流电机的停止、加速、减速、正转、 反转控制。(3) 数码管显示:通过 P0 口、P2 口控制数码管来显示直流电机的速度。(4) 由于单片机的驱动能力不强,驱动直流电机需要很强的电流所以必须 有外围的驱动电路,因此本设计采用L298芯片放大单片机微弱的电流。5控制原理:

13、89S52单片机为核心的直流电机控制系统控制简图如图2-1所示, 由软件转换成PWM 信号,并由P3.0、P3.1输出,经驱动电路输出给电机,从而 控制电机得电与失电。软件采用定时中断进行设计。单片机上电后,系统进入准 备状态。当按动启动按钮后,根据P3.0为高电平实现电机正转,P3.1为高电平时 实现电机反转。根据不同的加减速按钮,调整 P3.0/ P3.1输出高低电平时的预定 值,从而可以控制P3.0/ P3.1输出高低电平时的占空比,进而控制电压的大小。2.5 显示设计模块7 段 LED 数码管是利用 7 个 LED 外加一个小数点的 LED 组合而成的显示设 备,可以显示 09 等 1

14、0 个数字和小数点,使用非常广泛。本次课设使用的是四位共阳数码管,内部的 4 个数码管共用 a-dp 这 8 根数 据线,为人们的使用提供了方便,因为里面有 4 个数码管,所以它有 4 个公共端, 即片选信号线,共有 12 个引脚。具体原理图如图示:图 2-3 四位共阳数码管内部原理图图 2-4 四位共阳数码管外观图6用 Proteus 仿真该控制系统时,四位共阳数码管显示电机反转图形如下所示:图 2-5 仿真显示图形本次设计显示模块采用的是 SM410564 四位共阳数码管显示,因为单片机 的输出端口输出的电流小,点亮数码管的能力不大,所以需要采用三极管放大输 出电流,此次三极管采用的是 C

15、9013,具体放大电路如图示:7图 2-6 放大电路3.系统软件的设计利用 P3口,编制程序输出一串脉冲,经放大后驱动直流电机,改变输出脉 冲的电平的持续时间,达到使电机正转、反转、加速、减速、停转等目的。由软 件编程从P3.0/P3.1管脚产生PWM 信号,经驱动电路输出给电机,从而控制电机 得电与失电。软件采用延时法进行设计。单片机上电后,系统进入准备状态。当 按动启动按钮后,根据P3.0为高电平时实现电机正转,P3.1为高电平时实现电机 反转。根据不同的加减速按钮,调整 P3.0/ P3.1输出高低电平时的占空比,从而 可以控制 P3.0/ P3.1 输出高低电平时的有效值,进而控制电机

16、的加减速。其总体 流程图如图3-1示:8开 始LED显 示 占 空 比扫 描 键 盘有 正 转 键 按 下 ?N有 反 转 键 按 下 ? YNY有 加 速 键 按 下 ?NYY有 减 速 键 按 下 ?N有 急 停 键 按 下 ?Y电 机 根 据 按 键 执 行 相 应 的 动 作以 及 数 码 管 显 示 相 应 的 数 字图 3-1 总体程序流程图4.系统调试和结果分析4.1 仿真图形初始状态,直流电机有如图示 4-1 运行效果9图 4-1 电机半速运转按下急停键,直流电机有图 4-2 的停止运行结果。图 4-2 电机停转按下加速键,直流电机有图 4-3 的正向加速运行结果。图 4-3

17、电机正转加速按下减速键,直流电机有图 4-4 正向减速运行结果。图 4-4 电机正转减速10按下反转键,直流电机有图 4-5 反向加速运行结果。图 4-5 电机反转加速5.结论和总结经过将近两周的努力,最终完成了该课程设计。在 Protuse和Keil c 中仿真 了出来,基本上实现了直流电机的停止、加速、减速和转向控制以及数码管显示。通过这次课程设计,我的学习能力和解决问题的信心都得到了提高。在课程 设计的过程中,我遇到了很多困难,但在查阅了很多有关书籍、还有向老师和同 学请教后终于得到了解决。通过这次课程设计,我不仅对理论有了更深一步的认 识,还培养了自学能力和解决问题的能力,更重要的是,

18、培养了克服困难的勇气 和信心。我们的课程设计之所以能基本完成,要深深地感谢我的指导老师的悉心 指导和帮助。参考文献1 郭天祥. 51 单片机 C 语言教程-入门、提高、开发、拓展全攻略 北京:电子 工业出版社,20082 陈忠平. 基于 Proteus 的 AVR 单片机 C 语言程序设计与仿真 北京:电子工业 出版社,20113 刘复华. 单片机及其应用系统. 北京:清华大学出版社,19924 马淑华. 单片机原理与接口技术. 北京:北京邮电大学出版社,200511附程序清单#include#define unchar unsigned char#define unint unsigned

19、intunsigned char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84,0xff,0xbf;unsigned char dispbitcode=0xfe,0xfd,0xfb,0xf7;unsigned char dispbuf4=0,0,0,0;unsigned char dispbitcnt;unint mstcnt;unint i;unint count=0;unchar tp=0;void ledshow();void keyscan();

20、void delay();void just();void turn();void motorstop();void speedup();void speeddown();void main(void)P3_0=1;P3_1=0;dispbuf0=16;TMOD=0x02TH0=0x06;TL0=0x06;TR0=1;ET0=1;EA=1;while(1)ledshow();keyscan();void delay()12unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);void keyscan()unchar temp=0;P1=0xff;i

21、f(P1&0x1f)!=0x1f)delay();if(P1&0x1f)!=0x1f)temp=P1&0x1f;switch(temp)case 0x1e:just();break;case 0x1d:turn();break;case 0x1b:motorstop();break;case 0x17:speedup();break;case 0x0f:speeddown();break;while(P1&0x1f)!=0x1f);void ledshow()/*P0=dispcodedispbufdispbitcnt;P2=dispbitcodedispbitcnt;dispbitcnt+;

22、if(dispbitcnt=4)dispbitcnt=0;*/P2=0x01;P0=dispcodedispbuf0;13for(i=0;i700;i+);P2=0x02;P0=dispcodedispbuf1;for(i=0;i700;i+);P2=0x04;P0=dispcodedispbuf2;for(i=0;i700;i+);P2=0x08;P0=dispcodedispbuf3;for(i=0;i100)count=0;if(counttp)P3_7=0;else P3_7=1;count+;void just()P3_0=1;P3_1=0;dispbuf0=16;void turn()P3_0=0;14P3_1=1;dispbuf0=17;void motorstop()tp=0;void speedup()if(tp99)tp=100;else tp+;void speeddown()if(tp1)tp=0;else tp-;15

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1