收藏 分销(赏)

PWM控制直流电动机转速报告.doc

上传人:快乐****生活 文档编号:3560306 上传时间:2024-07-09 格式:DOC 页数:21 大小:299.50KB
下载 相关 举报
PWM控制直流电动机转速报告.doc_第1页
第1页 / 共21页
PWM控制直流电动机转速报告.doc_第2页
第2页 / 共21页
PWM控制直流电动机转速报告.doc_第3页
第3页 / 共21页
PWM控制直流电动机转速报告.doc_第4页
第4页 / 共21页
PWM控制直流电动机转速报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、2011年全国大学生电子设计竞赛PWM控制直流电机转速(A题)【高职组】2011年9月6日摘 要 本设计主要要实现的功能是,通过直流电机PWM控制系统,实现对直流电机的加速、减速以及电机的正转、反转和急停,并且可以调整电机的转速,能够很方便的实现电机的智能控制。主要采用直流电机PWM调速系统以AT89S52单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。使用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形H型驱动电路完成电机正、反转和急停控制,同时单片机不停的将PWM脉宽调制占空比送到LCD1602液晶来完成实时显示。

2、关键词:直流电机;PWM;控制。abstractThis design mainly in order to realize the function is, through the dc motor PWM control system, the implementation of the dc motor speed, motor and reducer, move forward, reverse and stop, and can adjust the speed of the motor, can easily realize the intelligent control of t

3、he machine. Mainly adopts dc motor PWM speed regulation system AT89S52 single chip microcomputer as control core, by the command input module, LCD display module and motor drive module. Using independent type keyboard with interruption as command input, single chip microcomputer under program contro

4、l, timing, constantly send dc motor driver chip L298 PWM waveform H drive circuit to complete the motor positive and reverse and stop control, meanwhile microcontroller of the PWM pulse width modulation duty cycle to the LCD1602 LCD to complete real-time display. Keywords: dc motor; PWM. Control. 目

5、录一 系统方案设计与分析 41系统总体框图 42方案论证与选择 42.1 控制模块的论证与选择42.2 输入模块的论证与选择42.3显示模块的论证与选择 52.4 传感器的论证与选择 53理论分析与计算 53.1 PWM调速原理 53.2 PWM调速方法6二 硬件电路设计 61控制系统 62驱动模块 73显示模块 8三 软件设计 91程序流程图四 调试结果与分析10五 元器件清单 12六 参考文献 12七 总结 12附录一:原理图 13附录二:源程序 14一 系统方案设计与分析1系统总体框图本系统主要由控制模块、显示模块、电机驱动模块、传感器模块、电源模块等组成,系统总体框图如图1所示。图1

6、系统总体框图2方案论证与选择2.1 控制模块的论证与选择方案一:采用嵌入式系统。特点是硬件结构相对于AT80C51复杂,编程容易。价格低廉、 采用CMOS技术和RISC架构,低功耗(A)、具有SLEEP(休眠)功能。AVR的一条指令执行速度可达50ns (20MHz),而耗电则在1A2.5mA间。高度保密。方案二:采用AT80C51系统。特点是具有8K字节的ROM,32个可编程IO口,3个16位定时/计数计,8个中断源,1个全双工UART串行通信口,编程容易,是应用广泛的一种单片机。方案三:采用MSP430。此系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式

7、(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。 综合以上三种方案,本设计选择方案二。2.2 输入模块的论证与选择方案一:采用独立键盘来控制输入。特点是硬件结构简单,编程容易,按键较多时需要较多的IO口。方案二:采用矩阵键盘来控制输入。特点是硬件结构复杂,编程复杂,对于按键较多时,可节约IO口。方案三:采用拨码开关。拨码开关(也叫DIP开关,拨动开关,超频开关,地址开关,拨拉开关,数码开关,指拨开关)是一款用来操作控制的地址开关,采用的是0/1

8、的二进制编码原理。通俗的说也就是一款能用手拨动的微型的开关,所以也通常叫指拨开关的也很多。广泛使用于数据处理、通信、遥控和防盗自动警铃系统、风淋室等需要手动程式编制的产品上。综合以上三种方案,本设计选择方案一。2.3显示模块的论证与选择方案一:采用数码管显示。特点是耗电少、寿命长、成本低、故障少、可视距离远,但其只能显示数字,字母。方案二:采用LCD1602显示。特点是体积小,功耗低,显示内容丰富,是单片机应用设计中最常用的信息显示模块。方案三:采用LCD12864显示。特点是该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成

9、图形显示.低电压低功耗。不论硬件电路结构或显示程序都要简洁得多,价格也较低廉。综合以上三种方案,本设计选择方案二。、2.4 传感器的论证与选择方案一:采用红外对管测速。特点是能够快速反应电机轴上码盘的黑白线, 输出方波,并用数码管显示。可以满足一般小电机的测速,适合于玩具车的,循迹小车的测速,但在大型电机上还有很大要改进的地方方案二:采用编码测速。特点是功耗小,性能稳定,分辨力高,广泛应用于机电测速的各个方面。方案三:采用光电对管测速。采用集成电路技术和SMT表面安装工艺而制造的新一代光电开关器件,具有延时、展宽、外同步、抗相互干扰、可靠性高、工作区域稳定和自诊断等智能化功能。这种新颖的光电开

10、关是一种采用脉冲调制的主动式光电探测系统型电子开关,它所使用的冷光源有红外光、红色光、绿色光和蓝色光等,可非接触,无损伤地迅速和控制各种固体、液体、透明体、黑体、柔软体和烟雾等物质的状态和动作。体积小、功能多、寿命长、精度高、响应速度快、检测距离远以及抗光、电、磁干扰能力强。综合以上三种方案,本设计选择方案二。3理论分析与计算3.1 PWM调速原理PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面。比如电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中按一个固定的频率来接通和断开电源并且根据需要

11、改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速,也正因为如此PWM又被称为“开关驱动装置”。设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / ,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度,Vmax 指电机在全通电时的最大速度,D = t1 / T是指占空比。 由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似的看成

12、是线性关系。 3.2 PWM调速方法 基于单片机类由软件来实现PWM:在PWM调速系统中占空比D是一重要参数在电源电压dU不变的情况下,电枢端电压的平均值取决于占空比D大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。改变占空比D的值有三种方法: A、定宽调频法:保持1t不变,只改变t,这样使周期(或频率)也随之改变。 B、调宽调频法:保持t不变,只改变1t,这样使周期(或频率)也随之改变。C、定频调宽法:保持周期T(或频率)不变,同时改变1t和t。 前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占

13、空比从而改变直流电动机电枢两端电压。利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整。此种方式可简化硬件电路、操作性强等优点。二 硬件电路设计 1 控制系统 单片机80C51如图2所示。图2 80C51单片机 AT80C51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes SP的可反复擦写的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MC-51 指令系统及 89C51 引脚结构,芯片内集成了通用 8 位中央 处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT80C51 可为许多嵌入式控制

14、应用系统提供高性价比的解决方案。 AT80C51 具有如下特点:40 个引脚, 4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中 断优先级 2 层中断嵌套中断, 个 16 位可 2 编程定时计数器,2 个 全双工串行通信 口,看门狗(WDT)电路,片内时钟振荡器。2驱动模块 电机驱动芯片L298N如图3所示。图3 L298NL298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为

15、2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台电动机。使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实

16、现电机正反转就更容易了,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平, IN2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。可参考下图表:电机旋转方 式控制端IN1控制端IN2控制端IN3控制端IN4输入PWM信号改 变脉宽可调速调速端A调速端BM1正转高低/高/反转低高/高/停止低低/高/M2正转 /高低/高反转 /低高/高停止低低 / /高3显示模块LCD1602显示模块如图4所示。LCD1602的主要功能是

17、(1)40通道点阵LCD 驱动; (2)可选择当作行驱动或列驱动; (3)输入/输出信号:输出,能产生202个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); (4)通过单片机控制将所测的频率信号读数显示出来。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。LCD602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。以下具体阐述这三个管脚:RS为寄存器选择,高电平选择数据寄存器,低电平

18、选择指令寄存器。R/W为读写选择,高电平进行读操作,低电平进行写操作。E端为使能端,后面和时序联系在一起。除此外,D0D7分别为8位双向数据线。各管脚功能介绍如下表所示。引脚号引脚名电平输入/输出作用1VSS电源地2VCC电源(+5V)3VEE对比调整电压4RS0/1输入0=输入指令1=输入数据5RW0/1输入0=向LCD写入指令或数据1=从LCD读取信息6E1,1_0输入使能信号1时读取信号10(下降沿)执行指令7D00/1输入/输出总线Line0(最低位)8D10/1输入/输出总线Line19D20/1输入/输出总线Line210D30/1输入/输出总线Line311D40/1输入/输出总

19、线Line412D50/10/1输入/输出总线Line513D60/1输入/输出总线Line614D70/1输入/输出总线Line7(最高位)15A+VCCLCD背光电源正极16K接地LCD背光电源负极三 软件设计1程序流程图本系统直接应用于AT80C51的软件方法实现PWM信号的输出,这比硬件实现PWM成本低,限制少,实现便捷。此处利用定时计数器让单片机P1口的P1.3、P1.3、P1.3控制L298的IN1、IN2、ENA管脚,输出占空比不同的方波,然后经驱动芯片L298放大后控制直流电动机。在调速时,IN1与IN2引脚一个为低电平,一个为高电平,通过P1.3控制L298的ENA,产生驱动

20、电机的PWM信号。当需要改变电机转动方向时,两个引脚的 输出方向相反。PWM脉冲信号是单片机采用延时程序产生的方波信号。PWM脉宽控制是把每一脉冲的宽度均相等的脉冲列作为PWM波,改变脉冲的宽度或占空比来实现可以调速。本设计中采用了定频调宽方式,在这种工作方式下电动机在运转时比较稳定,并且采用单片机采用PWM脉冲的软件实现上比较方便。四 调试结果与分析将各个模块按照电路要求连接到相应的位置,并连接好所有的电源线和液晶显示控制线,检查线路是否正确无误,将电压测量线引出。然后将程序下载到单片机中。 测试数据如下表结果说明在实际测试中发现低电平所占比例越大,电机转速越快,所以本设计中的占空比为del

21、/255。电机转速测量值比预计的值要大,这里的原因主要是程序中语句导致的延时。由于电机转动时会有速度值的波动,所以从键盘输入设定值时,无法达到两种驱动方式的最大值。一旦电机旋转速度超过其最大速度界限,电机就会停转。表4.1中的键盘输入值的范围是指能够使电机稳定旋转的值。这里的“稳定”定义为电机的最终转速值在设定值附近有1的波动。因为程序语句本身就有一定的延时,再加上用C语言编程,一条C语句在进行编译时能够编译成好几条汇编语句,有的甚至十几条,这样就增加了延时。虽然程序中设定1s显示转速值,但由于语句延时问题的存在,显示的值可能是多于1s的转速,所以转速值有偏大的问题。五 元器件清单 LCD16

22、021100nF电容AT89S521二极管40071k排阻14.7K电阻DS18B201晶振11.0592MHzL298N17805直流小电机1uf30pF电容10uf10K电阻Led六 参考文献【1】黄智伟 电路设计 北京:北京航空航天大学出版社 2011【2】罗会昌.电工电子技术实验与课程设计.中国科学技术大学出版社.1996年1月【3】闫晓金 单片机应用技能 北京:电子工业出版社2010【4】李全利 单片机原理及其应用技术 北京:高等教育出版社 2001【5】常用集成芯片使用.北京理工大学出版社.1995年【6】谢自美.电子技术基础实验与课程设计.电子工业出版社. 2002年2月赵【7】

23、王琼.单片机及应用实验教程M.合肥:合肥工业大学出版社,2005【8】刘鲲 孙春亮单片机C语言入门M.北京:人民邮电出版社,2008 七 总结这个设计的几大模块比较明确,在编写程序时,我选择先编写出每一个模块,让每一个模块实现其基本的功能,然后再逐步合并模块,来实现设计的要求。在编写程序的过程中遇到了一些问题,通过解决这些问题,我也有了一些收获。 PWM模块不需要很多的语句去描述,只要理解了它的工作原理,而且要实际测量转速与P10口置1的关系,才能得出正确的调速语句。 通过本次设计,使自己学到很多课本上学不到的东西,也是我领会到单片机技术的应用广泛,同时也进一步加强了自己的动手能力和运用专业知

24、识的能力,从中学到如何去思考问题和解决问题。附录一:原理图附录二:源程序/*- 名称:独立按键控制直流电机调速 内容:对应的电机接口需用杜邦线连接到l298电机控制端 使用5V-12V 小功率电机皆可-*/#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit DCOUT = P34;/定义电机信号输出端口sbit k1= P20;sbit k2= P21;sbit k3= P22;sbit k4= P23;sbit k5= P24;sbit IN1=P10;sbit IN2=P11;static unsigned char count;/*- 全局变量-*

25、/unsigned char PWM_ON; /定义速度等级#define CYCLE 10 /周期/*- 函数声明-*/void DelayUs2x(unsigned char t);/us级延时函数声明 void DelayMs(unsigned char t); /ms级延时/unsigned char KeyScan(void);/键盘扫描void Init_Timer0(void);/定时器初始化/*- 主函数-*/ main ()Init_Timer0(); PWM_ON=0;count=0;DCOUT=0;P1=0x00;k1=1;k2=1;k3=1;k4=1;k5=1;whil

26、e (1) /主循环 if(k1=0)/正转 DelayMs(150); IN1=1; IN2=0; if(k2=0)/反转 DelayMs(150); if(k2=0)/反转 IN1=0; IN2=1; if(k3=0)/速度等级增加 DelayMs(150); EA=0; /总中断打开 ET0=0; /定时器中断打开 if(PWM_ON0) PWM_ON-; else PWM_ON=0; EA=1; /总中断打开 ET0=1; /定时器中断打开 if(k5=0)/停止 IN1=0; IN2=0; /*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned

27、 char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 定时

28、器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01; /使用模式1,16位定时器,使用|符号可以在使用多个定时器时不受影响 /TH0=0x00; /给定初值 /TL0=0x00; EA=1; /总中断打开 ET0=1; /定时器中断打开 TR0=1; /定时器开关打开/*- 定时器中断子程序-*/void Timer0_isr(void) interrupt 1 TH0=(65536-2000)/256; /重新赋值 2ms TL0=(65536-2000)%256; if (count=PWM_ON) DCOUT = 0; /如果定时等于on的时间, /说明作用时间结束,输出低电平 count+;if(count = CYCLE) /反之低电平时间结束后返回高电平 count=0;if(PWM_ON!=0) /如果开启时间是0 保持原来状态 DCOUT = 1;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服