ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:681.75KB ,
资源ID:20658361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20658361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的直流电机速控制Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机的直流电机速控制Word文档格式.docx

1、随着社会的发展, 各种智能化的产品日益走入寻常百姓家。 为了实现产品的 便携性、低成品以及对电源的限制, 小型直流电机应用相当广泛。 对直流电机的 速度调节,我们可以采用多种办法,本文在给出直流电机调整和 PWM实现方法 的基础上,提供一种用单片机软件实现 PWM调速的方法。对基于MCS-51系列 单片机实现直流电机调速系统进行研究和设计, 能够在不同的按钮作用下分别实 现直流电机的停止、加速、减速、正转、反转控制;能够实现基于 MCS-51 系列 单片机的直流电机PWM的调速设计。本文研究的是基于MCS-51系列单片机的直流电机PWM调速系统属于微机 控制领域,通过对单片机的学习和研究对自己

2、以后从事硬件产品的开发有一定的 实际指导意义。1.用单片机控制直流电机转速的基本理论1.1直流电机调速原理根据励磁方式不同,直流电机分为自励和他励两种类型。不同励磁方式的 直流电机机械特性曲线有所不同。对于直流电机来说,人为机械特性方程式为:式中Un, N 额定电枢电压、额定磁通量;Ke, Kt 与电机有关的常数;Ed,% 电枢外加电阻、电枢内电阻;n0,n 理想空载转速、转速降。分析(1-1)式可得当分别改变Un、N和Rad时,可以得到不同的转速n , 从而实现对速度的调节。由于=T ,当改变励磁电流If时,可以改变磁通量 的 大小,从而达到变磁通调速的目的。如图1-1所示。理想空载转速n随

3、电枢电压升降而发生相应的升降变化。不 同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压的变化而改变,电 机带负载能力恒定。当我们平滑调节他励直流电机电枢两端电压时,可实现电机 的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被1.2PWM基本原理及设计方案1.2.1PWM基本原理PWM是通过控制固定电压的直流电源开关频率, 从而改变负载两端的电压, 进而达到控制要求的一种电压调整方法。 PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频 率来接通和断开电源,并根据需要改变一个周期内 接通”和 断开”时间的长短。通过

4、改变直流电机电枢上电压的 占空比”来改变平均电压的大小,从而控制电动 机的转速。因此,PWM又被称为 开关驱动装置”在脉冲作用下,当电机通电 时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的 时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为Vmax, 设占空比为D=ti/T,则电机的平均速度为:Vd=Vmax* D( 1-2)式中,Vd 电机的平均速度;Vmax 电机全通电时的速度(最大);D = ti /T 占空比。由公式(1-2)可见,当我们改变占空比时D=ti/T,就可以得到不同的电机 平均速度,从而达到调速的目的。严格地讲,平均速度 Vd与占空比

5、D=ti/T并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。1.2.2设计方案本文主要介绍利用单片机对PWM信号的软件实现方法。MCS51系列典型 产品AT89S52具有两个定时器To和T,。通过控制定时器初值T。和T,,从而可以实 现从S52的任意输出口输出不同占空比的脉冲波形。 由于PWM信号软件实现的核 心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一 台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初 值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间 的关系。如果单片机的时钟频率为 f,定时器/计数器为N

6、位,则定时器初值与定时时间的关系为:n N(2 飞 (1-3)式中,T 定时器定时初值;N 一个机器周期的时钟数。N随着机型的不同而不同。在应用中, 应根据具体的机型给出相应的值。这样,我们可以通过设定不同的定时初值 ,从而改变占空比D=t1/T,进而达到控制电机转速的目的。2硬件电路的设计本设计以AT89S52单片机为核心,以5个弹跳按钮作为输入达到控制直流电 机的停止、加速、减速、正转、反转,以四位共阳数码管显示电机速度大小。在 设计中,采用PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。2.1系统分析与硬件设计模块键盘向单片机输入相应控制指令,由单片机通过P3.0与P3.

7、1其中一口输出 与转速相应的PWM脉冲,另一口输出低电平,经过信号放大、驱动电动机控制 电路,实现电动机转向与转速的控制,电动机正转,反转,加速,减速、急停。 总体设计方案的硬件部分详细框图如图 2-1所示:图2-1系统硬件框图系统整体硬件电路图如图2-2示:7SEG-M PM CA 豳共阳頓码曾图2-2系统硬件电路图2.2设计该系统所需部分器件AT89S52单片机、直流电机、L298N、12MHZ晶振、四位共阳数码管、电 容、电阻、弹跳开关等。2.3直流电机的功能简介直流电动机具有优良的调速特性,调速平滑、方便,调速范围广;过载能力 大,能承受频繁的冲击负载,可实现频繁的无级快速起动、停止和

8、反转;能满足 生产过程自动化系统各种不同的特殊运行要求。 电动机调速系统采用微机实现自动控制,是电气传动发展的主要方向之一。 采用微机控制后,整个调速系统实现 自动化,结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达 到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要 求。由于单片机性能优越,具有较佳的性能价格比,所以单片机在工业过程及设 备控制中得到日益广泛的应用。2.4 直流电机调速控制系统模块采用单片机构成的直流电动机数字 PWM 调速系统 ,其控制核心主要由单片 机的最小系统、电源模块(12v 5v)、电机驱动电路、按键(加速、减速、急停、 正转、反转)

9、、显示模块(四位数码管)、直流电机组成。系统采用L298N芯片作 为PWM驱动直流电动机的供电主回路。单片机通过软件处理输出PWM信号,实 现了直流电动机的速度控制 ,在运行中获得了良好的动静态性能。由于系统性价 比高 ,结构简单 ,具有实用价值和推广价值。 在介绍了基于单片机用 PWM 实现直流 电机调整的基本方法,直流电机调速的相关知识,及 PWM 调整的基本原理和实 现方法。重点介绍了基于AT89S52单片机的用软件产生PWM信号的途径,并介 绍了一种独特的通过软件定时中断实现 PWM 信号占空比调节的方法。对于直流 电机速度控制系统的实现提供了一种有效的途径。( 1 )键盘识别:通过

10、P1 口的低电平输入识别不同的按键。( 2)通过对单片机程序烧录实现对直流电机的停止、加速、减速、正转、 反转控制。( 3)数码管显示:通过 P0 口、 P2 口控制数码管来显示直流电机的速度。( 4)由于单片机的驱动能力不强,驱动直流电机需要很强的电流所以必须 有外围的驱动电路,因此本设计采用L298芯片放大单片机微弱的电流。控制原理:89S52单片机为核心的直流电机控制系统控制简图如图 2-1所示, 由软件转换成PWM信号,并由P3.0、P3.1输出,经驱动电路输出给电机,从而 控制电机得电与失电。 软件采用定时中断进行设计。 单片机上电后, 系统进入准 备状态。当按动启动按钮后,根据 P

11、3.0为高电平实现电机正转,P3.伪高电平时 实现电机反转。根据不同的加减速按钮,调整 P3.0/ P3.1输出高低电平时的预定值,从而可以控制P3.0/ P3.1输出高低电平时的占空比,进而控制电压的大小。2.5 显示设计模块7 段 LED 数码管是利用 7 个 LED 外加一个小数点的 LED 组合而成的显示设 备,可以显示 09 等 10 个数字和小数点,使用非常广泛。本次课设使用的是四位共阳数码管,内部的 4 个数码管共用 a-dp 这 8 根数 据线,为人们的使用提供了方便, 因为里面有 4 个数码管,所以它有 4 个公共端, 即片选信号线,共有 12 个引脚。具体原理图如图示:ki

12、ciErcviTirciErTtvfriTciErcvA. iTtiErcr0000660611 7 4 2 1 IQ 5 J四位数码管内SP驗理图图2-3四位共阳数码管内部原理图图2-4四位共阳数码管外观图用Proteus仿真该控制系统时,四位共阳数码管显示电机反转图形如下所示:本次设计显示模块采用的是 SM410564四位共阳数码管显示,因为单片机 的输出端口输出的电流小,点亮数码管的能力不大,所以需要采用三极管放大输 出电流,此次三极管采用的是 C9013具体放大电路如图示:图2-6放大电路3.系统软件的设计利用P3口,编制程序输出一串脉冲,经放大后驱动直流电机,改变输出脉 冲的电平的持

13、续时间,达到使电机正转、反转、加速、减速、停转等目的。由软 件编程从P3.0/P3.1管脚产生PWM信号,经驱动电路输出给电机,从而控制电机 得电与失电。软件采用延时法进行设计。单片机上电后,系统进入准备状态。当 按动启动按钮后,根据P3.0为高电平时实现电机正转,P3.1为高电平时实现电机 反转。根据不同的加减速按钮,调整 P3.0/ P3.1输出高低电平时的占空比,从而可以控制P3.0/ P3.1输出高低电平时的有效值,进而控制电机的加减速。其总体 流程图如图3-1示:图3-1总体程序流程图4.系统调试和结果分析4.1仿真图形初始状态,直流电机有如图示 4-1运行效果按下急停键,直流电机有

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

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

16、d 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

17、();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()unsigned char i,j;for(i=20;i0;i-)for(j=248;jj-);void keyscan()unchar temp=0;P1=0xff;if

18、(P1&0x1f)!=0x1f)delay(); temp=P1&0x1f; switch(temp)case 0x1e: just();break;case 0x1d: turn();case 0x1b: motorstop();case 0x17: speedup();case 0x0f: speeddown();while(P1&=0x1f);void ledshow()/*P0=dispcodedispbufdispbitcnt; P2=dispbitcodedispbitcnt; dispbitcnt+;if(dispbitcnt=4)dispbitcnt=0;*/P2=0x01;P0=dispcodedispbuf0;for(i=0;i100) count=0;tp)P3_7=0;else P3_7=1;count+;void just()void turn()P3_0=0;P3_1=1; dispbuf0=17; void motorstop() tp=0;void speedup()if(tp99)tp=100;else tp+;void speeddown()if(tp1)tp=0;else tp-;

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

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