2011年全国大学生电子设计竞赛PWM控制直流电机转速(A题)【高职组】2011年9月6日摘要本设计主要要实现的功能是,通过直流电机PWM控制系统,实现对直流电机的加速、减速以及电机的正转、反转和急停,并且可以调整电机的转速,能够很方便的实现电机的智能控制。主要采用直流电机PWM调速系统以AT89S52单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。使用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形H型驱动电路完成电机正、反转和急停控制,同时单片机不停的将PWM脉宽调制占空比送到LCD1602液晶来完成实时显示。关键词:直流电机;PWM;控制。abstractThisdesignmainlyinordertorealizethefunctionis,throughthedcmotorPWMcontrolsystem,theimplementationofthedcmotorspeed,motorandreducer,moveforward,reverseandstop,andcanadjustthespeedofthemotor,caneasilyrealizetheintelligentcontrolofthemachine.MainlyadoptsdcmotorPWMspeedregulationsystemAT89S52singlechipmicrocomputerascontrolcore,bythecommandinputmodule,LCDdisplaymoduleandmotordrivemodule.Usingindependenttypekeyboardwithinterruptionascommandinput,singlechipmicrocomputerunderprogramcontrol,timing,constantlysenddcmotordriverchipL298PWMwaveformHdrivecircuittocompletethemotorpositiveandreverseandstopcontrol,meanwhilemicrocontrollerofthePWMpulsewidthmodulationdutycycletotheLCD1602LCDtocompletereal-timedisplay.Keywords:dcmotor;PWM.Control.目录一系统方案设计与分析……………………………………………41系统总体框图………………………………………………………42方案论证与选择……………………………………………………42.1控制模块的论证与选择…………………………………………42.2输入模块的论证与选择…………………………………………42.3显示模块的论证与选择…………………………………………52.4传感器的论证与选择…………………………………………53理论分析与计算……………………………………………………53.1PWM调速原理……………………………………………………53.2PWM调速方法……………………………………………………6二硬件电路设计……………………………………………………61控制系统……………………………………………………62驱动模块……………………………………………………73显示模块……………………………………………………8三软件设计……………………………………………………91程序流程图四调试结果与分析……………………………………………………10五元器件清单……………………………………………………12六参考文献……………………………………………………12七总结……………………………………………………12附录一:原理图……………………………………………………13附录二:源程序……………………………………………………14一系统方案设计与分析1系统总体框图本系统主要由控制模块、显示模块、电机驱动模块、传感器模块、电源模块等组成,系统总体框图如图1所示。图1系统总体框图2方案论证与选择2.1控制模块的论证与选择方案一:采用嵌入式系统。特点是硬件结构相对于AT80C51复杂,编程容易。价格低廉、采用CMOS技术和RISC架构,低功耗(μA)、具有SLEEP(休眠)功能。AVR的一条指令执行速度可达50ns(20MHz),而耗电则在1μA~2.5mA间。高度保密。方案二:采用AT80C51系统。特点是具有8K字节的ROM,32个可编程IO口,3个16位定时/计数计,8个中断源,1个全双工UART串行通信口,编程容易,是应用广泛的一种单片机。方案三:采用MSP430。此系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。综合以上三种方案,本设计选择方案二。2.2输入模块的论证与选择方案一:采用独立键盘来控制输入。特点是硬件结构简单,编程容易,按键较多时需要较多的IO口。方案二:采用矩阵键盘来控制输入。特点是硬件结构复杂,编程复杂,对于按键较多时,可节约IO口。方案三:采用拨码开关。拨码开关(也叫DIP开关,拨动开关,超频开关,地址开关,拨拉开关,数码开关,指拨开关)是一款用来操作控制的地址开关,采用的是0/1的二进制编码原理。通俗的说也就是一款能用手拨动的微型的开关,所以也通常叫指拨开关的也很多。广泛使用于数据处理、通信、遥控和防盗自动警铃系统、风淋室等需要手动程式编制的产品上。综合以上三种方案,本设计选择方案一。2.3显示模块的论证与选择方案一:采用数码管显示。特点是耗电少、寿命长、成本低、故障少、可视距离远,但其只能显示数字,字母。方案二:采用LCD1602显示。特点是体积小,功耗低,显示内容丰富,是单片机应用设计中最常用的信息显示模块。方案三:采用LCD12864显示。特点是该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗。不论硬件电路结构或显示程序都要简洁得多,价格也较低廉。综合以上三种方案,本设计选择方案二。、2.4传感器的论证与选择方案一:采用红外对管测速。特点是能够快速反应电机轴上码盘的黑白线,输出方波,并用数码管显示。可以满足一般小电机的测速,适合于玩具车的,循迹小车的测速,但在大型电机上还有很大要改进的地方方案二:采用编码测速。特点是功耗小,性能稳定,分辨力高,广泛应用于机电测速的各个方面。方案三:采用光电对管测速。采用集成电路技术和SMT表面安装工艺而制造的新一代光电开关器件,具有延时、展宽、外同步、抗相互干扰、可靠性高、工作区域稳定和自诊断等智能化功能。这种新颖的光电开关是一种采用脉冲调制的主动式光电探测系统型电子开关,它所使用的冷光源有红外光、红色光、绿色光和蓝色光等,可非接触,无损伤地迅速和控制各种固体、液体、透明体、黑体、柔软体和烟雾等物质的状态和动作。体积小、功能多、寿命长、精度高、响应速度快、检测距离远以及抗光、电、磁干扰能力强。综合以上三种方案,本设计选择方案二。3理论分析与计算3.1PWM调速原理PWM(脉冲宽度调制)载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面。比如电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中按一个固定的频率来接通和断开电源并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速,也正因为如此PWM又被称为“开关驱动装置”。设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/,则电机的平均速度为Va=Vmax*D,其中Va指的是电机的平均速度,Vmax指电机在全通电时的最大速度,D=t1/T是指占空比。由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似的看成是线性关系。3.2PWM调速方法基于单片机类由软件来实现PWM:在PWM调速系统中占空比D是一重要参数在电源电压dU不变的情况下,电枢端电压的平均值取决于占空比D大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。改变占空比D的值有三种方法:A、定宽调频法:保持1t不变,只改变t,这样使周期(或频率)也随之改变。B、调宽调频法:保持t不变,只改变1t,这样使周期(或频率)也随之改变。C、定频调宽法:保持周期T(或频率)不变,同时改变1t和t。前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压。利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整。此种方式可简化硬件电路、操作性强等优点。二硬件电路设计1控制系统单片机80C51如图2所示。图280C51单片机AT80C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesSP的可反复擦写的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCC-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT80C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT80C51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,个16位可2编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。2驱动模块电机驱动芯片L298N如图3所示。图3L298NL298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台电动机。使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端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的主要功能是(1)40通道点阵LCD驱动;(2)可选择当作行驱动或列驱动;(3)输入/输出信号:输出,能产生20×2个LCD驱动波形;输入,接受控制器送出