《PWM控制的直流电动机调速实习报告.doc》由会员分享,可在线阅读,更多相关《PWM控制的直流电动机调速实习报告.doc(26页珍藏版)》请在三一办公上搜索。
1、 新疆工程学院 实 习 报 告 实 训 科 目 生产实习报告 系 部 电气与信息工程系 专 业 电气自动化 班 级 电气11-44(3) 姓 名 常永兴 学 号 2011232823 实 训 地 点 实 验 室 指 导 教 师 黄卉 完 成 日 期 2013年7月10日 新疆工程学校教务处印制电气系生产实习任务书 2012/13学年二学期2013年 6月 29日专业电气自动化班级电气11-44(3)课程名称生产实习设计题目 PWM控制的直流电动机调速指导教师黄卉起止时间2013.7.1/2013.7.11周数一周实习地点实验室A210设计目的:1、巩固、加深和扩大单片机应用的知识面,提高综合及
2、灵活运用所学知识解决工业控制的能力;2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;3、通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。设计任务或主要技术指标:利用ATM89C51设计直流电机调速,通过不同的开关来控制调节速度,在设计过程中由芯片驱动直流电机,不同的开关来控制不同的PWM值,当开关开关SW2闭合时PWM的值为1电机会以一个速度转动。按下复位键即恢复初始转速。设计进度与要求:(1)方案设计; (2)系统硬件设计; (3)系统软件设计; (4)系统软硬件联合调试。主要参考书
3、及参考资料:1贺哲荣 MCS-51系列单片机实用编程 中国电力出版社 2011年版2张宏伟 单片机应用技术实训 北京理工大学出版社 2010年版3王文一 电机与拖动技术 大连理工大学出版社 2012年版 4周国运 单片机原理及应用(C语言版)中国水利水电出版社 2009版教研室主任(签名) 系(部)主任(签名) 年 月 指导教师评语及成绩评定教师评语: 年 月 日评定结果教师签字:新疆工程学院实训鉴定表系部:电气与信息工程系 专业:电气自动化 填表时间:2013.7.10班 级姓 名学 号联系电话宿舍住址电气11-44(3) 常永兴201123282315899114357 4#115实 习
4、地 点实验室A210室实 习 时 间2013年6月28日2013年7月10日课题内容或实习内容 PWM控制的直流电动机调速实训所在单位评鉴定等意见:负责人签字: 年 月 日实训带队教师评鉴带队教师签字: 年 月 日学生所在系部评鉴系部领导签字: 年 月 日评定结果系部盖章:注: 1、本表用于三周以上的实习(实训)、设计、测绘等实践教学评定。 2、评定结果按“优、良、中、及格、不及格”五级予以评定。 3、如实习所在单位另有鉴定材料,可附于本表后。摘 要 近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可
5、实现频繁的无极快速起动、制动和反转,为满足生产过程自动化系统各种不同的特殊要求,对直流电机调速提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足实际应用的要求,通过PWM方式控制直流电机调速的方法就应运而生。 本论文主要研究了利用STC89C51单片机控制PWM信号从而实现对电压改变最后控制直流电机进行调速,并且通过单元模块电路分析了整个系统的工作原理。该调速系统采用C语言开发,通过转速对比显示结果。对系统硬件电路和软件进行了设计,以Proteus和Keil软件为开发平台,对驱动电路进行了仿真。而测速系统把电机转速反馈给单片机通过按键控制其转速,从而实现电动机的调速、变向
6、等功能,这种设计方法的电路简单,具有操作简单、非常实用前景和价值。 关键词:直流电机;STC89C51单片机;PWM调速;Proteus;Keil 目 录摘 要1目 录11.课题的背景阐述21.1 开发背景21.2 国内外研究趋势22.直流电机调速系统课程设计42.1 系统总体框图设计42.2 PWM调速原理42.3 PWM调速方法52.4 PWM控制流程图52.5 各模块作用63.系统硬件设计63.1 单片机控制模块63.1.1 STC89C51的简介73.1.2 STC89C51主要性能83.2 电机驱动模块93.3 芯片L298N93.4 晶振104. 系统软件设计114.1 Prote
7、us和keil软件介绍114.1.1 Proteus软件114.1.2 Proteus软件功能特点114.2功能模块114.2.1智能原理图设计(ISIS)114.2.2 完善的电路仿真功能(Prospice)124.2.3 独立的单片机协同仿真功能(VSM)124.3Proteus与Keil的联调124.4 主程序流程图144.5 定时器中断程序流程图144.6 系统仿真调试15结 论16致 谢17参考文献18附 录191.课题的背景阐述1.1 开发背景 当今,自动化控制系统已经在各行各业得到了广泛的应用和发展,而直流调速控制作为电气传动的主流在现代化生产中起着主要作用,无论是在工农业生产、
8、交通运输、国防、航天航空、医疗卫生、商务与办公设备、还是在日常生活中的家用电器都大量使用着各式各样的电气传动系统,其中许多系统有调速的要求:如车辆、电梯、机床、造纸机械等等。为了满足运行、生产、工艺的要求往往需要对另一类设备如风机、水泵等进行控制:为了减少运行损耗,节约电能也需要对电机进行调速。电机调速系统由控制部分、功率部分和电动机三大要素组成一个有机整体。各部分之间的不同组合,可构成多种多样的电机调速系统。 三十多年来,直流电机传动经历了重大的变革。首先实现了整流器的更新换代,以晶闸管整流装置取代了习用已久的直流发电机电动机组及水银整流装置使直流电气传动完成了一次大的跃进。同时,控制电路已
9、经实现高集成化、小型化、高可靠性及低成本。以上技术的应用,使直流调速系统的性能指标大幅提高,应用范围不断扩大。直流调速技术不断发展,走向成熟化、完善化、系列化、标准化,在可逆脉宽调速、高精度的电气传动领域中仍然难以替代。 随着微控制器尤其是脉宽调制 PWM 专门控制芯片的飞速发展,其对电机控制方面的应用起了很重要的作用,为设计性能更高的直流控制系统提供了基础。本文对基于PIC单片机的直流电机 PWM 调速系统进行了较深入的研究,从直流调速系统原理出发,逐步建立了单闭环直流 PWM调速系统的数学模型。用微机硬件和软件发展的最新成果,探讨一个将微机和电力拖动控制相结合的新的控制方法,研究工作在对控
10、制对象全面回顾的基础上,重点对控制部分展开研究,它包括对实现控制所需要的硬件和软件的探讨。在硬件方面充分利用微机外设接口丰富,运算速度快的特点,采取软件和硬件相结合的措施,实现对转速闭环调速系统的控制。在微机控制方面,讨论了显示、PWM、光电编码盘测速的原理,并给出了软、硬件实现方案。该方案以驱动芯片与一些外围电路。通过实时测试,调节电动机的转速,此调速系统可获得快速、精确的调速效果。 1.2 国内外研究趋势 直流电气传动系统中需要有专门的可控直流电源,常用的可控直流电源有以下几种:第一,最初的直流调速系统是采用恒定的直流电压向直流电动机电枢供电,通过改变电枢回路中的电阻来实现调速。这种方法简
11、单易行,设备制造方便,价格低廉。但缺点是效率低、不能在较宽范围内平滑调速,所以目前极少采用。第二,三十年代末,出现了发电机电动机(也称为旋转变流组),配合采用磁放大器、电机扩大机、闸流管等控制器件,可获得优良的调速性能,如有较宽的调速范围(十比一至数十比一)、较小的转速变化率和调速平滑等。特别是当电动机减速时,可以通过发电机非常容易地将电动机轴上的飞轮惯量反馈给电网,这样,一方面可得到平滑的制动特性,另一方面又可减少能量的损耗,提高效率。但发电机电动机调速系统的主要缺点是需要增加两台与调速电动机相当的旋转电机和一些辅助励磁设备,因而体积设备较多、体积大、费用高、效率低、安装需要地基、运行有噪声
12、、维修困难等。第三,自出现汞弧变流器后,利用汞弧变流器代替上述发电机电动机系统,使调速性能指标又进一步提高。特别是它的系统快速响应性是发电机电动机系统不能比拟的。但是汞弧变流器仍存在一些缺点:维修还是不太方便,特别是水银蒸汽对维护人员会造成一定的危害等。第四,1957年,世界上出现了第一只晶闸管,与其它变流元件相比,晶闸管具有许多独特的优越性,因而晶闸管直流调速系统立即显示出强大的生命力。由于它具有体积小、响应快、工作可靠、寿命长、维修简便等一系列优点,采用晶闸管供电,不仅使直流调速系统经济指标上和可靠性有所提高,而且在技术性能上也显示出很大的优越性。晶闸管变流装置的放大倍数在10000以上,
13、比机组(放大倍数10)高1000倍,比汞弧变流器(1000)高10倍;在快速响应性上,机组是秒级,而晶闸管变流装置为毫秒级。因此,目前在直流调速系统中,除某些特大容量的设备而且供电电路容量较小的情况下,仍有采用机组供电、晶闸管励磁系统以外,几乎绝大部分都已改用晶闸管相控整流供电了。 PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM
14、控制技术获得了空前的发展,到目前为止,已经出现了多种PWM控制技术。 直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成
15、控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。 随着微电子技术的发展,微机功能的不断提高以及电力电子、计算机控制技术的发展,电气传动领域出现了以微机为核心的数字控制系统。计算机的发展可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制技术成为自控领域的主流,也给直流电气传动的发展注入了新的活力,使电气传动进入了更新的发展阶段。 2.直流电机调速系统课程设计2.1 系统总体框图设计 方案说明:直流电机PWM调速系统以STC89C51单片机为控制核心,由命令输入模块、测速系统模块、LED显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,
16、定时不断给L298直流电机驱动芯片发送PWM波形,测速系统把反馈数据给单片机,完成电机正,反转和急停控制;同时单片机不停的将测得转速送到LCD完成实时显示。直流电机调速系统总体框图见图2-1。 图2-1 系统总体框图2.2 PWM调速原理 此次课程设计题目是直流电机调速系统,本系统采用PWM来调节直流电机的速度。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法本系统采用PWM来调节直流电机的速度。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度
17、控制、压力控制等。 PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。 图2-2 占空比示意图如图2-2所示:设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va
18、= Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的8。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。 2.3 PWM调速方法 采用定时器做为脉宽控制的定时方法。如果采用软件延时方法,此方法在精度上不及定时器,特别是在引入中断后,将有一定的误差。2.4 PWM控制流程图 在本设计中PWM脉冲调制的控制流程见图2-3。 图2-3 PWM脉冲调制的控制流程图
19、 2.5 各模块作用 本设计主要模块由命令输入模块、电机驱动模块、独立键盘模块、测速系统模块。命令输入模块主要是由STC89C51为核心产生PWM波形,改变输出电压从而控制直流电机的转速。电机驱动模块是用来驱动直流电机。独立键盘模块是控制电机停、转、正反转、加速、减速。测速系统模块在本设计采用的是红外传感器(由红外线发射管、红外线接收管构成的红外计数电路)组成的能把直流电机实时转速反馈给单片机。3. 系统硬件设计本设计硬件模块主要采用STC89C51控制模块、L298电机驱动模块、独立键盘控制模块、测速系统模块。3.1 单片机控制模块 直流电机调速系统的控制模块图3.1。 图3.1直流电机调速
20、系统的设计仿真图这里利用定时计数器让单片机P3口的P3.4引脚输出占空比不同的方波,然后经驱动芯片L298放大后控制直流电机。驱动芯片的输入电压是两引脚的电压差,在调速时一根引脚线为低电平,另一个引脚产生调速方波,这样两个引脚的电压差就可通过控制其中一个引脚来控制。当需要改变电机转动方向时,两个引脚的输出相反。 定时计数器10us中断一次,就使P3.4产生一个高电平或低电平。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。一个周期加在电机两端的电压为脉冲高电压乘以占空比。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时,就可以得到不同的电机平均速度,从而达到调
21、速的目的。精确的讲,平均速度与占空比并不是严格的线性关系,在一般的应用中,可以将其近似看成线性关系。 3.1.1 STC89C51的简介 在常用的89系列的单片机中,51系列只有4K字节的在系统可编程Flash存储器,128字节RAM。 STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,它是一种低功耗、高性能CMOS 8位微控制器,操
22、作方便,引脚也充足,而且STC89C51,支持ISP串口下载,使得STC89C51在众多嵌入式控制应用系统中得到广泛应用。 3.1.2 STC89C51主要性能 图3.2 STC89C51引脚图STC89C51主要功能特性如下: 1 兼容MCS51指令系统; 28k可反复擦写(大于1000次)Flash ROM; 332个双向I/O口; 4256x8bit内部RAM; 53个16位可编程定时/计数器中断; 6时钟频率0-24MHz;72个串行中断,可编程UART串行通道; 82个外部中断源,共8个中断源; 92个读写中断口线,3级加密位; 10 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
23、11有PDIP、PQFP、TQFP及PLCC等几种封装形式。 我们通过编写程序来控制单片机执行相应的指令,从而实现对指定电路的控制。STC 89C52编程前,要设置好地址、数据及控制信号, 编程方法如下: 1. 在地址线上加上要编程单元的地址信号。 2.在数据线上加上要写入的数据字节。 3.激活相应的控制信号。 4.在高电压编程方式时,将EA/Vpp 端加上+12V 编程电压。 5.每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束
24、。 3.2 电机驱动模块 电机驱动模块采用的是L289芯片。L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。 L298内部的原理图如图3-2。 图3-2 L298内部结构3.3 芯片L298N驱动模块采用专用芯片L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一
25、片L298N可以分别控制两个直流电机。以下为L298N的引脚图和输入输出关系表。 图3.3 L298功能图 L298的7.1管脚接到单片机通过对单片机的编程就可实现直流电机的PWM调速控制。3.4 晶振作用:给单片机正常工作提供稳定的时钟信号。 图3.4 晶振判断方法: 1)用万用表10k档测其两脚间阻值,应为无穷大,说明它首先不漏电;这个办法对金属封装电阻准确性达百分之九十九,塑封晶振百分之七八十。 2)将晶振放在它的工作电路上,再用频率表或示波器测其工作频率;这个办法绝对精确。3) 对已知正常电路用代替法将其代替,看能否正常工作,这是个笨办法,但却很有效。 4. 系统软件设计 4.1 Pr
26、oteus和keil软件介绍 4.1.1 Proteus软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软
27、件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 4.1.2 Proteus软件功能特点Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1.原理布图;2PCB自动或人工布线;3SPICE电路仿真。革命性的特点:1互动的电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,
28、LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。4.2功能模块 4.2.1智能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清
29、晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。 4.2.2 完善的电路仿真功能(Prospice)Prospice混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操
30、作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。 4.2.3 独立的单片机协同仿真功能(VSM)支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC
31、16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试
32、:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。4.3Proteus与Keil的联调 (1)把C:Program FilesLabcenter ElectronicsProteus 6 Professional MODELS目录下的 VDM51.dll文件复制到 C:KeilC51BIN文件夹下。 (2)打开Keil 根目录下的 TOOLS.INI 文件,在C51 栏目下加入 TDRV3=BINVDM51.DLL (Proteus VSM Monitor-
33、51 Driver ) ,其中“TDRV3” 中的 “3”要根据实际情况写,不要和原来的重复就可以了。 (3)Keil的设置。在Keil中打开一个项目,在option for target中的Debug标签中选中 Proteus VSM Monitor-51 Driver (4)Proteus的设置。在DEBUG菜单中选中 use romote debuger monitor (5)随便打开一个设计好的文件,要含有51单片机,把keil的工程和Proteus的文件放到同一个目录下。打开keil,按Ctrl+F5进入调试界面或者点击工具栏的调试按钮。此时可单步,全速运行程序,并进行调试。同时可以
34、观察Proteus中目标板的运行情况。 proteus6.5是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,.)其实proteus 与 multisim比较类似,只不过它可以仿真MCU!当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,用51不管你是用汇编或是C编程都要用keil。 使用keil c51 v7.20 + proteus 6.5 可以像使用仿真器一样调试程序,一般而言,微机实验中用
35、万利仿真器+电工系自己做的实验板的实验都可以做得到!当然,硬件实践还是必不可少的!本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的。如何在keil中调用proteus进行MCU外围器件的仿真:1.安装keil c51 v7.20 与 proteus 6.5 2.把proteus安装目录下 VDM51.dll(搜一下)文件复制到Keil安装目录的 C51BIN目录中。 3.修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM
36、 Monitor-51 Driver),保存注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。4、打开proteus,画出相应电路(注意:proteus中mouse的左右键与一般程序是相反的样子)。在proteus的tools菜单中选中use remote debug monitor 。5、在keil中编写MCU的程序(keil比medwin难学些)。 6、进入KEIL的project菜单option for target “工程名”。在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。在进入seting,如
37、果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000。注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。7、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示.) 8、在初用proteus时,可以试试其example。4.4 主程序流程图 主程序描述:首先运行程序主函数main,进行系统初始化,设置定时器工作方式1,开启T1中断,定时10us。然后进行按键查询,本系统有五个按键,加速、减速、正反转、开始、停止/复位。如果有按键按下,得到相对应的脉冲W,最后利用LCD液晶实时显示转速图图4.1。
38、图4.1 主流程图 4.5 定时器中断程序流程图 定时中断描述:首先启动定时的工作方式为1,开启T1中断,设置定时时间为10us。T为定时个数,每定时一次加1,T最大值100,也就是一个周期时间为1ms。在一个周期内:当T=M时,电机启动,如果T=100,T清零,否则重新进入定时中断。这样按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。具体流程如图4.2。 图4.2 定时器中断程序流程图4.6 系统仿真调试 仿真软件选择Proteus ,在Proteus中画出系
39、统电路图,当程序在Keil C中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进行仿真的文件。仿真图如图4.6所示。图4.6 设计仿真示波图结 论 本设计利用STC89C51系列单片机作为控制的核心,由电机驱动模块、独立键盘模块、测速系统模块,各个模块完成了以单片机为控制核心的硬件设计,完成了输入模块、输出模块以及外围电路等模块的设计。并利用电路图在仿真软件上模拟设计的要求,通过仿真更改和完善总体思路。 本系统包括命令输入模块、键盘控制模块、测速系统模块、及电机驱动模块几部分组成,这些模块完成了PWM信号的产生通过驱动模块使电机启动,通过键盘实现开始、停止、加
40、速控制,最后由测速模块把电机的实时转速反馈给单片机。设计的主要的特点是具有单片机电机控制系统硬件电路设计简单,C语言编程简洁,控制电机动作快速,控制范围大等特点。不足的地方主要是如果用功能强大的单片机芯片设计此系统可以缩小体积、减少控制、功能更强,总体设计还可以更加完善。致 谢 在这里首先要感谢我的指导老师黄卉,王元富和申红军老师。老师平日里工作繁多,但在我做实习设计的每个阶段,从查阅资料到设计方案的确定和修改,中期检查,后期详细设计,程序等整个过程中都给予了我悉心的指导。我们的设计较为复杂烦琐,但是老师仍然细心地纠正设计内容中的错误。除了敬佩老师的专业水平外,他的治学严谨和科学研究的精神也是
41、我永远学习的榜样,他的循循善诱的教导和不拘一格的思路也给予我无尽的启迪。并将积极影响我今后的学习和工作。其次要感谢我的同学对我无私的帮助,谢谢大家!参考文献1贺哲荣 MCS-51系列单片机实用编程 中国电力出版社 2011年版2张宏伟 单片机应用技术实训 北京理工大学出版社 2010年版3王文一 电机与拖动技术 大连理工大学出版社 2012年版 4周国运 单片机原理及应用(C语言版)中国水利水电出版社 2009版附 录附录A:源程序及程序解释:/ / 课题名称:PWM控制的直流电机调速系统 / 姓 名:常永兴 / 学 号:2011232823 / 指导教师:黄卉 / /#include /头文
42、件/=端口定义=/sbit KEY1=P32;sbit PWM=P20;/=整数定义=/int a,b;/=字符定义=/unsigned char CYCLE; static unsigned char count; /=时间函数=/void delay(unsigned int cnt) while(-cnt);/*/*主函数*/*/main()a=0;b=0;PWM=1; /初始值TMOD=0x01;/T0做定时器 ,工作模式为1TH0=(65536-1000)/256;/给定时器T0装初值 TL0=(65536-1000)%256; IE=0x82;/中断请求标志为 EA=1; /打开中断TR0=1; /开启定时器0EX0=1; /开启外部中断0PX0=1; /设置外部中断0为低级中断CYCLE=1; / 时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步while(1) if