《唐成勇-基于单片机的PWM调速系统设计(共35页).doc》由会员分享,可在线阅读,更多相关《唐成勇-基于单片机的PWM调速系统设计(共35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上湖 南 科 技 大 学毕 业 设 计( 论 文 )题目基于单片机的PWM调速系统设计作者唐成勇学院物理学院专业电子信息科学与技术学号指导教师罗韩君二九 年 六 月 二 日专心-专注-专业湖 南 科 技 大 学毕业设计(论文)任务书 物理学 院 电子 系(教研室)系(教研室)主任: (签名) 年 月 日学生姓名: 唐成勇 学号: 专业: 电子信息科学与技术 1 设计(论文)题目及专题: 基于单片机的PWM调速系统 2 学生设计(论文)时间:自 2009 年 4 月 1 日开始至 2009 年 6 月 2 日止3 设计(论文)所用资源和参考资料:电脑,中国期刊网,百度,软
2、件Proteus 7.1,软件Keil uVision2专业汉化版1 陈国呈,周娟.PWM变频调速技术M.北京:机械工业出版社,1998.2 宋健,姜军生,赵文亮,孙学岩.基于单片机的直流电动机PWM调速系统J.农机化研究, 2006,1:102-103.3 潘新民.微型计算机控制技术M.北京: 电子工业出版社,2003.4 西安唐都科技仪器公司.单片机试验系统用户手册C.2006.5 西安唐都科技仪器公司.单片机实验指导书C.2006.6 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:北京电子工业出版社,2007.7 江世明.脉宽调制技术中PWM 波形程序设计方法J.邵阳学院
3、学报,2006(4):25-26.8 陈伯时.自动控制系统M.北京:机械工业出版社,1981.9 李玮,赵江,刘建业.一种实用的单片机控制的数字式调速系统J.吉林化工学院学报,2002,6(2):21-24.10 王小明.电动机的单片机控制M.北京:北京航空航天大学出版社,2002.11 林蔚天.微机控制直流调速J.上海电机技术高等专科学校学报,2001,12(4):13-15.12 蒋力培,曹建树,付小美.单片机微机系统实用教程M.北京:机械工业出版社,2004.13 王益全.电动机原理与实用技术M.北京:科学出版社,2005.14 顾绳谷.电机及拖动基础M.北京:机械工业出版社,1987.
4、15 胡伟,季晓衡.单片机C程序设计与应用实例M.北京:人民邮电出版社,2003.4 设计(论文)应完成的主要内容:本课题研究直流调速系统,要求设计出调速系统的控制部分、显示部分,并研究直流电动机的工作原理和控制方法。应用Proteus软件设计出单片机控制的软硬件实现方案并仿真,最后将设计方案在实际硬件系统中测试。5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:(1)查阅PWM调速技术方面的相关资料,了解其原理;(2)设计单片机控制系统电路并仿真及其它相关硬件电路;(3)在实际的单片机实验环境中测试验证;6 发题时间: 2008 年 12 月 2 日指导教师: (签名)学 生: (签
5、名)湖 南 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日 指导人评定成绩: 湖 南 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人: (签名)年 月 日 评阅人评定成绩: 湖 南 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文
6、)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: 摘 要本文研究了利用at89c51单片机控制PWM信号从而实现对直流伺服电机转速进行控制的方法。文中对PWM信号的调速原理做了详细的论述。此外,系统中采用了芯片L298作为直流伺服电机的驱动模块,完成了在主电路中对直流电机的控制。另外,文中介绍了Proteus的使用,并对该调速系统做了仿真
7、。鉴于Proteus7.1版本不能直接使用C语言进行仿真,采用了Keil生成了Hex文件,并导入到Protues工程中进行仿真。最后,文中详细给出了电路图和相应的C程序。关键词:PWM调速;单片机;直流伺服电机AbstractThis article mainly introduce the method to generate the PWM signal by using AT89C51 single-chip computer to control the speed of a DC servo motor. In this works, we will detail discuss t
8、he principle of speed control in PWM signals. In addition, the chip L298 is used as the DC servo motor drive modules in the system, and to control DC motor in the main circuit will be completed. Additionally, we will introduce the use of Proteus, and make a simulation to the speed governing system.
9、In the light of Proteus 7.1 version cant directly use the C language to be simulated. Therefore, we will use the Keil to generate the hex file, and import it into the projects to be simulated. Finally, we will give a detailed circuit diagram and the corresponding C program.Key words: PWM Speed Regul
10、ation;Single Chip Microcomputer;DC servo motor目 录第一章 概述 11.1 PWM调速系统的组成和功能 11.1.1 PWM信号发生与调节模块 11.1.2 PWM信号放大与电机驱动模块 11.1.3 负载模块 11.2 单片机概述 21.2.1 单片机及其发展历程 21.2.2 单片机的应用领域及发展趋势 21.3 计算机仿真概述 2第二章 PWM调速技术 42.1 PWM的基本原理 42.1.1 PWM信号简介 42.1.2 PWM调速原理 52.2 系统设计方案 62.2.1 系统总体设计思想 62.2.2 系统总体设计框图 6第三章 PWM
11、调速系统设计 73.1 系统硬件设计 73.1.1 主电路设计 73.1.2 AT89C51单片机简介 73.1.3 功率放大驱动芯片介绍 103.1.4 伺服电机介绍 123.2 系统软件设计 133.2.1 程序流程图 133.2.2 C语言程序设计 133.3 PWM调速系统仿真 163.3.1 系统仿真电路图 163.3.2 电压输出波形 16第四章 结论 19参考文献 20致谢 21附录A Proteus的介绍与使用 22附录B Keil的介绍与使用 26 第一章 概 述本文主要研究了利用与MCS-51兼容的at89c51单片机,通过PWM方式控制直流电机调速的方法。冲量相等而形状不
12、同的窄脉冲加在具有惯性的环节上时,其效果基本相同1。PWM控制技术就是以该结论为理论基础,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的
13、发展。到目前为止,已经出现了多种PWM控制技术。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了C程序来控制单片机,产生PWM信号。并自动调节PWM信号的占空比。将信号输入L298驱动芯片从而达到控制直流伺服电机的效果。该程序能使电机先正转加速再正转减速到0然后反转加速再减速到0.而电机采用的是价格低廉的直流有刷电机。另使用一
14、个反应灵敏的数字电压表观察直流伺服电机两端的电压。最后还给出仿真方法和相关仿真图形。1.1 PWM调速系统的组成和功能21.1.1 PWM信号发生与调节模块 作为一个PWM调速系统,首要的是需要产生PWM信号。PWM的产生方法有很多,包括纯硬件电路产生方法和采用基于可编程器件的软件实现方法。本文采用单片机编程生成PWM信号,PWM占空比的调节也采用软件实现。1.1.2 PWM信号放大与电机驱动模块 由单片机产生的PWM信号很微弱,PWM信号产生后并不能直接驱动电机等负载模块,而需要使用专门的电路对该PWM信号进行放大和处理,使其能驱动电机。本文采用专门的驱动芯片对电机进行驱动。1.1.3 负载
15、模块 PWM信号经过处理后,可用于驱动电机等负载,电机作为电信号转化为机械动力的装置在调速系统中必不可少。该文采用的是廉价的低电压驱动的直流有刷电机。1.2 单片机概述1.2.1 单片机及其发展历程单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU)、随机存取数据存储器(RAM)、只读程序存储器(ROM)、输入输出电路(I/O口)、可能还包括定时计数器、串行通信口(SCI)、显示驱动电路(LCD或LED驱动电路)、脉宽调制电路(PWM)、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统3。
16、这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。所以,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机诞生于20世纪70年代,自1971年美国Intel公司制造出第一块4位微处理器以来,其发展十分迅猛,到目前为止,大致可分为以下几个阶段4。(2)4位单片机(19711974):如Intel4004;(2)低档8位单片机(19741978): 如Intel公司的8084,Mostek公司的3870等;(3)高档8位单片机(19781982): 如Intel公司的8051、Motorola公司的Z8和NEC公司
17、的MPD7800等产品;(4)16位单片机(19821990):如Mostek公司的68200、Intel公司的8096等;(5)新一代单片机(90年代以来):如NEC公司的MPD7800,Mitsubishi公司的M37700,Reckwell公司R6500/21、R65C29,Intel公司的8044、UPI452等。1.2.2 单片机的应用领域及发展趋势随着单片机的发展,其应用领域越来越广,大致有:智能仪器仪表、工业控制、家用电器、计算机网络和通信、医用设备等领域,此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着十分广泛的用途。 世界上各大芯片制造公司都推出了自己的单片机,
18、从8位、16位到32位,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有5: (1)低功耗CMOS化;(2)微型单片化;(3)主流与多品种共存。1.3 计算机仿真概述计算机仿真不仅在没有具体硬件环境的条件下模拟出具体硬件环境,以判断系统的可行性,而且在设计的系统出错时,不至于损害具体硬件环境6。因此,采用系统仿真是非常必要的。当前能够用于计算机仿真学习单片机的软件也已日趋成熟,比如Keil都出了8.0以上版本,Proteus也出了7.0以上版本,而各种集成开发环境更是层出不穷,极大地
19、方便了学生通过计算机仿真学习单片机。尤其是当前最热的几种8位和16位单片机,比如:51系列、AVR系列、PIC系列,仿真学习的条件最为成熟。甚至32位的ARM单片机也能通过计算机仿真来进行学习。所以,当前计算机仿真学习单片机的条件已经成熟,应该抓住这个机会,积极地利用它,并为学习单片机服务。第二章 PWM调速技术2.1 PWM的基本原理2.1.1 PWM信号简介脉宽调制(PWM:Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中1。如图2.1所示,PWM是一种对模拟信号电平进行数字编
20、码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直 图2.1 模拟电平的PWM数字编码流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变
21、为逻辑1时,也才能对数字信号产生影响。 对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。PWM控制技术一直是变频技术的核心技术之一。1964年A.Schonung和H.stemmler首先提出把这项通讯技术应用到交流传动中,从此为交流传动的推广应用开辟了新的局面5。从最初采用模拟电路完成三角调制波和参考正弦波比较,产生正弦脉宽调制SPWM信号以控制功率器件的开关开始,到目前采用全数字化方案,完成优化的实时在线的PWM
22、信号输出,可以说直到目前为止,PWM在各种应用场合仍在主导地位,并一直是人们研究的热点5。由于PWM可以同时实现变频变压反抑制谐波的特点。由此在交流传动及至其它能量变换系统中得到广泛应用。PWM控制技术大致可以为为三类,正弦PWM(包括电压,电流或磁通的正弦为目标的各种PWM方案,多重PWM也应归于此类),优化PWM及随机PWM。正弦PWM已为人们所熟知,而旨在改善输出电压、电流波形,降低电源系统谐波的多重PWM技术在大功率变频器中有其独特的优势(如ABB ACS1000系列和美国ROBICON公司的完美无谐波系列等);而优化PWM所追求的则是实现电流谐波畸变率(THD)最小,电压利用率最高,
23、效率最优,及转矩脉动最小以及其它特定优化目标。在70年代开始至80年代初,由于当时大功率晶体管主要为双极性达林顿三极管,载波频率一般最高不超过5kHz,电机绕组的电磁噪音及谐波引起的振动引起人们的关注。为求得改善,随机PWM方法应运而生。其原理是随机改变开关频率使电机电磁噪音近似为限带白噪音(在线性频率坐标系中,各频率能量分布是均匀的),尽管噪音的总分贝数未变,但以固定开关频率为特征的有色噪音强度大大削弱。正因为如此,即使在IGBT已被广泛应用的今天,对于载波频率必须限制在较低频率的场合,随机PWM仍然有其特殊的价值(DTC控制即为一例);别一方面则告诉人们消除机械和电磁噪音的最佳方法不是盲目
24、地提高工作频率,因为随机PWM技术提供了一个分析、解决问题的全新思路。 2.1.2 PWM调速原理PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等7。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。如图2.2所示:图2.2 PWM信号的占空比设电机始终接通电
25、源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。由上面的公式可见,当我们改变占空比 D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。2.2 系统设计方案2.2.1 系统总体设计思想PWM调速系统按有无反馈可以分成开环PWM调速系统系统和闭环PWM调速系统的系统8,闭环系统有着良好的速度性能,使控制信号
26、与电机速度基本保持同步,但是需要器件多,成本较高,而且硬件和软件设计相对开环系统而言要困难。因此本文采用开环调速系统。系统首先采用AT89C51单片机发生和调节PWM调速信号9,然后利用L298作为直流伺服电机的驱动芯片10,最后把L298的输出作为直流伺服电机的输入。数字电压表可以用来测量电机两端的电压值,从而反映出直流伺服电机的速度变化。2.2.2 系统总体设计框图系统设计框图如图2.3所示:图2.3 PWM调速系统设计框图第三章 PWM调速系统设计3.1 系统硬件设计3.1.1 主电路设计系统的主电路图如图3.1所示:图3.1 PWM调速系统电路图图的左上方是一个谐振电路,产生一个特定的
27、时钟频率,使AT89C51单片机能正常的工作。晶振片(CRYSTAL)用于产生时钟频率,该晶振能产生11.0592MHz的频率。两个旁路电容,有频率微调作用,主要是让电路更容易起振,两个电容的值要求一样,至少要非常接近,否则容易造成谐振的不平衡,容易造成停振或者干脆不起振6。本设计中采用的是30pf的电容。AT89C51的RST引脚接上一个高电平使其处于循环复位状态11。单片机的P1.0引脚接电机驱动芯片的ENA引脚,用于启动桥的正常工作,P1.1引脚接L298的IN2引脚,P1.2接L298的IN1引脚,而电机接在L298的OUT1和OUT2引脚两端。关于引脚介绍在相应的芯片介绍处有详细介绍
28、。SENSA与SENSB可单独引出连接电流采样电阻器,形成电流传感信号,也可以直接接地。VCC接芯片的工作电压+5V,GND接地,VS接驱动电压+23V。元器件说明:X1 是晶振频率为11.0592的晶振片,R1为10K电阻,C1,C2为30pF的无极性电容,C3为10uF有极性电容, C4为1nF的电容。3.1.2 AT89C51单片机简介AT89C51是一种与8051兼容的带4K字节闪烁可编程可擦除只读存储器(FPEROM:Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是
29、一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案1。主要特性12:与MCS-51 兼容、4K字节可编程闪烁存储器、寿命:1000写/擦循环、数据保留时间为10年、全静态工作于0Hz到24Hz、三级程序存储器锁定、128*8位内部RAM、32位可编
30、程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。其引脚图如图3.2所示:图3.2 AT89C51单片机引脚图管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电
31、流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的
32、内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。P3口也可作为AT89C51的一些特殊功能口,如表3.1所示:表3.1 P3口各引脚功能表接口管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P
33、3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通RST:复位输入。当振荡器复位时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置“0”。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微
34、处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2
35、分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定
36、时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.1.3 功率放大驱动芯片介绍在直流电动机的驱动中, 对大功率的电动机常采用IGBT 作为主开关元件; 对中小功率的电机常采用功率场效应管作为主开关元件, 另外还可以采用集成电路来完成对电机的驱动13。本系统采用集成电路L298来驱动电机。L298N是SGS公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如下图所示,1脚和15脚
37、可单独引出连接电流采样电阻器,形成电流传感信号。L298N可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。(5、10)、(7、12)脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。L298N的逻辑功能如表3.2所示。表3.2 L298N逻辑功能表ENA(B)IN1(IN3)IN2(IN4)电机运行状况HHL正转HLH反转H同IN2(IN4)同IN1(IN3)快速停止LXX停止其引脚图如图3.3所示:图3.3 L298N的引脚图引脚介绍:第1、15脚:可单独引出连接电流采样电阻器,形成电流传感信号,也可直接接地。第2、3脚:A电机输出端
38、口。第4脚:接逻辑控制的+5V电源。第6脚:A桥使能端口。第5、7脚:输入标准TTL电点平对A桥的输出OUT1、OUT2进行控制。第8脚:接电源地。第9脚:接电机驱动电源,最高可达50V。第11脚:B桥使能端口。第10、12脚:输入标准TTL电平对B桥的输出OUT3、OUT4进行控制。第13、14脚:B电机输出端口。3.1.4 伺服电机介绍伺服电动机又称执行电动机,在自动控制系统中,用作执行元件,把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降14。定义:在伺服系统中控制机械元件运转的发
39、动机.是一种补助马达间接变速装置。作用:可使控制速度,位置精度非常准确。将电压信号转化为转矩和转速以驱动控制对象。分类:直流伺服电机和交流伺服电机。直流伺服电机分为有刷电机和无刷电机两种。有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护方便(换碳刷),产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。 无刷电机体积小,重量轻,出力大,响应快,速度高,惯量小,转动平滑,力矩稳定。控制复杂,容易实现智能化,其电子换相方式灵活,可以方波换相或正弦波换相。电机免维护,效率很高,运行温度低,电磁辐射很小,长寿命,可用于各种环境。3.2 系统软件设计3.
40、2.1 程序流程图图3.4 PWM调速系统程序流程图3.2.2 C语言程序设计/* =直流电机的PWM速度控制程序= */ /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */ #include #include #define uchar unsigned char #define uint unsigned int 15sbit en1=P10; /* L298的Enable A */ sbit s1=P12; /* L298的Input 1 */ sbit s2=P11; /* L298的Input 2 */ uchar t=0; /* 中断计数器 */ uchar m=0; /* 电机速度值 */ uchar tmp; /* 电机当前速度值 */ /* speed-电机速度(-100100) */ void motor(char speed) if(speed=-100 & speed=100) m=abs(speed); /* 取速度的绝对值 */ if(speed0) /* 速度值为负则反转 */ s1=0; s2=1; else /* 不为负数则正转 */ s1=1; s2=0; void delay(uint j) /* 简易延时函数 */ f