直流电机闭环调速.doc
第1章 前言1.1 课题的研究意义现代化的工业生产过程中,几乎无处不使用电力传动装置,尤其是在石油、化工、电力、冶金、轻工、核能等工业生产中对电动机的控制更是起着举足轻重的作用。因此调速系统成为当今电力拖动自动控制系统中应用最广泛的一种系统。随着生产工艺、产品质量要求不断提高和产量的增长,使得越来越多的生产机械要求能实现自动调速,而且,当今控制系统已进入了计算机时代,在许多领域已实现了智能化控制。对传统的过程工业而言,利用先进的自动化硬件及软件组成工业过程自动化调速系统,大大提高了生产过程的安全性、可靠性、稳定性。提高了产品产量和质量、提高了劳动生产率,企业的综合经济效益,同时,也大大促进了综合国力的增强。对可调速的传动系统,可分为直流调速和交流调速。直流调速系统凭借优良的调速特性,调速平滑、范围宽、精度高、过载能力大、动态性能好、易于控制以及良好的起、制动性能等优点,能满足生产过程自动化系统中各种不同的特殊运行要求,所以在电气传动中获得了广泛应用。为了提高直流调速系统的动静态性能指标,通常采用闭环控制系统(包括单闭环系统和多闭环系统)。对调速指标要求不高的场合,采用单闭环系统,而对调速指标较高的则采用多闭环系统。按反馈的方式不同可分为转速反馈,电流反馈,电压反馈等。在单闭环系统中,转速单闭环使用较多。本次设计是基于51系列单片机对直流电动机单闭环调速系统进行设计,能实现对直流电动机转速控制的功能,实现控制目的同时还配有显示装置,能实时反映当下直流电机的转速值,以优化整个系统的完整性。通过这次设计,可以使我对51系列单片机的应用和直流电机闭环调节系统进行进一步的学习,增强知识的整合度使相关知识融汇贯通,为以后的工作奠定一定的知识基础。1.2 直流电机调速的发展由于直流电动机具有极好的运动性能和控制特性,尽管它不如交流电动机那样结构简单、价格便宜、制造方便、维护容易,但是长期以来,直流调速系统一直占据垄断地位。当然,近年来,随着计算机技术、电力电子技术和控制技术的发展,交流调速系统发展快,在许多场合正逐渐取代直流调速系统。但是就目前来看,直流调速系统仍然是自动调速系统的主要形式。在我国许多工业部门,如轧钢、矿山采掘、海洋钻探、金属加工、纺织、造纸以及高层建筑等需要高性能可控电力拖动场合,仍然广泛采用直流调速系统。而且,直流调速系统在理论和实践上都比较成熟,从控制技术角度来看,它又是交流调速系统的基础。因此加强对直流调速系统的发展有利于更进一步发展交流调速系统,促进调速系统的进一步完善。首先直流调速系统的发展过程是一个从简单到复杂、从开环到闭环、从单环到多环、从单向调速到可逆调速的不断丰富完善的过程。不仅存在从单一调速方式向多种调速方式的纵向发展过程,而且每一种调速系统本身也都在发展完善之中。如开环闭环、单闭环、双闭环、三环、有环流可逆调速系统和无环流可逆调速系统都在不断的完善和发展之中。单闭环不仅是转速闭环一种,根据应用要求不同可以采用电压负反馈、电流补偿等替代措施。有环流可逆调速系统目前有两种,无环流可逆调速系统目前有三种,它们都在不断完善和发展之中。其次,直流调速系统的产生与发展都与其他学科存在紧密联系。第一它与电机学有紧密地联系,因为对于调速来说,电机是控制对象,对控制对象的研究越深入控制效果才会越好。第二与半导体变流技术的发展密不可分,电力电子技术元器件的性能越好可供选择的种类越多,调速系统的性能才会越好。微型计算机的发展,尤其是微控制器的发展为直流调速系统的进一步发展插上了翅膀。微控制器在这里的应用,改变了控制系统的结构,改变了传感元件的检测技术,并且使各种先进控制算法得以实现。任何设计都不是终极设计,都在随着其他科技的发展而不断完善。1.3 设计任务内容根据课题要求研制以单片机为核心的直流电机测速控制系统。系统设计主要包含以下任务:1、实现对直流电机转速的测量;2、通过按键调节电机转速值,在电机转速的可控范围内控制电机转速;3、实时显示直流电机转速实际测量值;4、利用控制电机定子电压接通和断开的占空比(PWM),即脉宽调速;本设计采用红外对射传感器将转速转换成频率与速度一一对应的脉冲信号,将脉冲信号送给单片机进行检测,最终计算出电机的转速。采用四位一体八段数码管显示器,显示测量值。对于直流电机的转速控制,选择合适的PWM方式驱动实现。设计的总体模块化方案如图1-1所示,整个设计采用模块化设计、分布调试、整体组合的方法。AT89S52单片机(测速、调速、显示、计算、按键输入及系统控制)显示器按键测速电路直流电机直流电机驱动电路PWM图1-1 系统设计总体模块化方案第2章 系统组成模块原理概述2.1 直流电机概述2.1.1 直流电机结构直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电机的结构如图2-1所示。图2-1 直流电机结构图2.1.2 直流电机工作原理直流电机模型如图2-2所示,磁极N,S间装着一个可以转动的铁磁圆柱体,圆柱体的表面固定着线圈abcd。当线圈流过电流的时候,线圈受到电磁力的作用,产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受力方向也将改变,因此通过改变线圈电流的方向实现改变电机的方向。图2-2 直流电机工作原理模型2.1.3 直流电机主要技术参数额定功率Pn:在额定电流和电压下,电机的负载能力。额定电压Ue:长期运行的最高电压。额定电流Ie:长期运行的最大电流。额定转速n:单位时间里面电机转速的快慢。励磁电流If:施加到电极线圈上的电流。2.1.4 直流电机的调速的技术指标1.调速范围 调速范围是指最低可控转速到最高可控转速的范围,最低可控转速对最高可控转速的比值,叫电机的调速比。2.调速的相对稳定性和静差度 所谓相对稳定性,是指负载转矩在给定的范围里面变化所引起的速度的变化,它决定于机械特性的斜率。静差度(又称静差率)是指当电动机在一条机械特性上运行时,由理想空载到满载时的转速降落与理想空载转速n0的比值。用百分数表示,即 (2-1)在一般的情况下,取额定转矩下的速度落差,有 (2-2)3.调速的平滑性调速的平滑性是在一定的调速范围内,相邻两极速度变化的程度,用平滑系数表示,即 (2-3)式中和相邻两极,即i级与i-1级的速度4.调速时的容许输出 调速时的容许输出是指电动机在得到充分利用的情况下,在调速的过程中轴能够输出的功率和转矩。2.2 单片机概述2.2.1 单片机的简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。2.2.2 单片机的发展史1.四位单片机1975年,美国德克萨斯公司首次推出4位单片机TMS-1000,此后各个计算机公司竞相推出4位单片机。日本松下公司的MN1400系列。美国洛克威尔公司的PPS/1系列等。4位单片机的主要的应用的领域有:PC机的输入装置、电池的充电器、运动器材、带液晶显示器的音/视频产品控制器、一般家用电器的控制及遥控器、电子玩具、钟表、计算器、多功能电话等。2.八位单片机1972年,美国Intel公司首先推出8位微处理器8008,并与1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面世。例如莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世,例如1978年摩托罗拉公司的MC6801。这类单片机的寻址能力达到64KB,片内ROM的容量达4-8KB,片内除带有并行I/O口,甚至还有A/D转换器的功能。8位单片机由于性能强大,被广泛用于自动化装置,智能接口,过程控制等各领域。3.十六位单片机1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面世,这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel公司推出了80C96 ,美国半导体公司推出了HPC16040。16位单片机主要用于工业控制,智能仪器仪表等场合。4.三十二位单片机随着高新技术智能机器人,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用和发展,20世纪80年代末,推出了32位单片机,如摩托罗拉公司的MC683XX系列。32位单片机是单片机的发展趋势,随着技术的发展和开发成本的降低,将会和8位单片机并驾齐驱。5.六十四位单片机近年来,64位单片机在引擎控制,智能机器人,磁盘控制,算法密集的实时控制场所已有应用。如英国的Inmos 公司的Transputer T800是高性能的64位单片机。2.2.3 单片机的特点1.高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 2.控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件,即分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。 3.低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。 4.易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 5.优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。2.2.4 AT89S52单片机介绍AT89S52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89S52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域。AT89S52单片机引脚结构如图2-3所示。AT89S52具有以下主要性能:1.8KB可改编程序FLASH存储器;2.全表态工作 :024HZ;3.256X8字节内部RAM;4.32个外部双向输入,输出(I、O)口;图2-3 AT89S52引脚说明部分引脚功能说明如下:VCC:电源电压。GND:地。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或16位地址的外部数据储存器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器(例如执行MOVXRI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。FLASH编程或校验时,P2亦接收高位地址和其他控制信号。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-1。P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端表2-1 P3端口第二功能表端口引脚第二功能P3.0RXD(串行输出口)P3.1TXD(串行输入口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)2.3 调速方案的选择及PWM概述2.3.1 方案的选择直流电动机的转速控制方法可以分为两大类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢电压法。其中励磁控制法在低速时受磁饱和的限制,在高速时受换向火花和换向器件结构强度的限制。并且励磁线圈电感较大,动态性能响应较差,所以这种控制方法用的很少,多使用电枢控制法。本设计将采用电枢控制方法对电动机的速度进行控制。某些场合往往要求直流电机的转速在一定范围内可调节,例如,电车、机床等,调节范围根据负载的要求而定。调速可以有三种方法:(1)改变电机两端电压;(2)改变磁通;(3)在电枢回路中,串联调节电阻。本设计采用第一种方法:通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。方案一:PWM波调速采用由达林顿管组成的H型PWM电路(图2-4)。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。我采用了脉宽调频方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。且对于直流电机,采用软件延时所产生的定时误差在允许范围。图2-4 PWM波调速电路方案二:晶闸管调速采用闸流管或汞弧整流器的离子拖动系统是最早应用静止式变流装置供电的直流电动机调速系统。1957年,晶闸管(俗称“可控硅”)问世,到了60年代,已生产出成套的晶闸管整流装置,并应用于直流电动机调速系统,即晶闸管可控整流器供电的直流调速系统(V-M系统)。如图2-5,VT是晶闸管可控整流器,通过调节触发装置GT的控制电压U来移动触发脉冲的相位;即可改变整流电压,从而实现平滑调速。晶闸管整流装置不仅在经济性和可靠性上都有很大提高,而且在技术性能上也显示出较大的优越性;晶闸管可控整流器的功率放大倍数在十的四次方以上,其门极电流可以直接用晶体管来控制,不再像直流发电机那样需要较大功率的放大器。因此,在60年代到70年代,晶闸管可控整流器供电的直流调速系统(V-M系统)代替旋转变流机组直流电动机调速系统(G-M系统),得到了广泛的应用。但是由于晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难;晶闸管对过电压、过电流和过高的du/dt与di/dt都十分敏感,若超过允许值会在很短的时间内损坏器件。另外,由谐波与无功功率引起电网电压波形畸变,殃及附近的用电设备,造成“电力公害”,因此必须添置无功补偿和谐波滤波装置。 图2-5 晶闸管可控整流器供电的直流调速系统(V-M系统)构成直流斩波器的开关器件过去用得较多的是普通晶闸管和逆导晶闸管,它们本身没有自关断的能力,必须有附加的关断电路,增加了装置的体积和复杂性,增加了损耗,而且由它们组成的斩波器开关频率低,输出电流脉动较大,调速范围有限。自20世纪70年代以来,电力电子器件迅速发展,研制并生产了多种既能控制其导通又能控制其关断的全控型器件,如门极可关断晶闸管(GTO)、电力电子晶体管(GTR)、电力场效应管(P-MOSFET)、绝缘栅双极型晶体管(IGBT)等,这些全控型器件性能优良,由它们构成的脉宽调制直流调速系统(简称PWM调速系统)近年来在中小功率直流传动中得到了迅猛的发展,与V-M调速相比,PWM调速系统有以下优点:采用全控型器件的PWM调速系统,其脉宽调制电路的开关频率高,一般在几kHz,因此系统的频带宽,响应速度快,动态抗扰能力强。(1)由于开关频率高,仅靠电动机电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速性能好,稳速精度高,调速范围宽,同时电动机的损耗和发热都较小。(2)PWM系统中,主回路的电力电子器件工作在开关状态,损耗小,装置效率高,而且对交流电网的影响小,没有晶闸管整流器对电网的“污染”,功率因数高,效率高。(3)主电路所需的功率元件少,线路简单,控制方便。目前,受到器件容量的限制,PWM直流调速系统只用于中、小功率的系统,兼于方案一调速特性优良;调整平滑;调速范围广;过载能力大,因此本设计采用方案一。2.3.2 直流电机PWM调速概述PWM(Pulse Width Modulation)即脉冲宽度调制是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调制方法。在PWM驱动控制的调制系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。如图2-6所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为 Vd=Vmax*D,其中,Vd 为电机的平均速度;Vmax 为电机全通电时的速度(最大);D=t1/T为占空比。由公式可见,当我们改变占空比D时,就可以得到不同的电机平均速度 ,从而达到调速的目的。图2-6 脉冲信号作用下电机转速变换规律2.4 软件系统简介本设计使用的软件是Keil编程软件。Keil软件是目前最流行的开发MCS-51系列单片机的软件,Keil提供了包括C51编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起。使用Keil Software工具时的项目开发流程和其他软件开发项目的流程极其相似:创建一个项目,从器件库中选择目标器件,配置工具设置。用C语言或汇编语言创建源程序。用项目管理器生成应用。修改源程序中的错误。测试连接应用。一个完整的8051工具集的框图可以最好地表述上述开发流程,如图2-7所示。本设计采用C语言进行编程。虽然汇编语言在控制底层硬件方面有着良好的性能且执行效率高,但是编程效率低,可移植性和可读性差,维护极其不便,从而导致整个系统的可靠性也较差。C语言与汇编语言相较而言有以下优势:可以大幅加快开发进度,特别是开发一些复杂的系统,程序量越大,用C语言就越有优势。可以实现软件的结构化编程,C语言使得软件的逻辑结构变得清晰、有条理。省去了人工分配单片机资源(包括寄存器、RAM等)的工作。在汇编语言中要每一个子程序分配单片机的资源,而在C语言中,只要在代码中声明一下变量的类型,编译器就会自动分配相关资源,从而有效地避免了人工分配单片机资源可能带来的差错。当写好一个算法后,需要移植到不同的MCU上时,在汇编语言中只有重新编写代码,因而汇编语言的可移植性很差;而用C语言开发时,符合ANSI C标准的程序基本不必修改,只要将一些与硬件相关的代码做适度的修改,就可以移植到其他种类的单片机上。C语言提供data、idata、pdata、xdata、和code等存储器类型,针对单片机的内部数据存储空间、外部数据存储空间和程序空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,如指针、数组、结构体等,极大地增强了程序的处理能力和灵活性。C语言较汇编语言的不足之处就是使用C语言写出来的代码会比用汇编语言占用的空间大5%20%,所以执行起来效率就不及汇编语言。Vision2集成开发环境C51ANSI C编译器A51宏编译器ANSI C标准库LIB51库管理器RTX51实时操作系统BL51连接器/定位器Vision2 调试器高速CPU/外设模拟器Monitor-51目标调试器仿真器与PROM编程器高级仿真与目标调试GDI接口图2-7 Keil Vision2 软件开发流程第3章 硬件电路分析与设计3.1控制电路的设计控制电路主要由单片机来控制,编写一段程序使单片机发出的PWM脉冲来实现对驱动的控制。新一代的单片机增加了很多的功能,其中包括PWM功能。单片机通过初始化设置,使其能自动的发出PWM脉冲波,只有在改变占空比的时候CPU才干预。控制电路的设计主要为单片机的最小系统,其中包括时钟电路,复位电路以及输入输出端口。时钟电路是指就单片机内部每个部件要想协调一致地工作,必须在统一口令时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。单片机内部有一个构成振荡器的增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。在图3-1中,电容C1和C2取30pf,晶体的振荡频率取11.0592MHZ,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。图3-1 晶振电路图复位电路是指单片机在启动时都需要复位,使CPU及系统部件处于确定的初始状态,并从初始状态开始工作。单片机的复位信号从RST引脚接入到芯片的施密特触发器中。当单片机系统处于正常工作状态,且振荡器稳定后,在每个机器周期都要对RST引脚的状态进行采样。当外部通过按键手动复位时,单片机内部数据均变成初始状态。如图3-2所示。图3-2 复位电路图输入输出端口是指根据单片机所要实现的功能而与外部进行数据交换的通道,此部分电路依据系统的不同功能而有不同的连接方法,具体依功能而定。本设计中单片机主要用到的I/O接口如表所示。表3-1 主要I/O接口连接方式I/O接口作用P0.0-P0.7传递数码管显示器段选信号P2.0-P2.3传递数码管显示器位选信号P1.0-P1.2加速按键、减速按键、正反转按键输入P3.2外部中断输入口(P3口第二功能)晶振电路、复位电路以及电源统称为单片机最小系统,其电路图如图3-3所示。图3-3 单片机最小系统3.2隔离电路的设计隔离电路主要作用是防止因电源短路而在电路中产生的电流过大,与单片机直接相连是可能会烧毁单片机而加的保护性电路。正常工作情况下通电后电流经限流电阻通过发光二极管使其导通发光,若电源故障或短路,根据发光二极管的单向导电性,阻止了电流对其他各部分电路的损害。其电路图如下图3-4所示。电阻起限流左右。电阻阻值为510。图3-4 隔离电路原理图3.3 红外测速部分电路的设计红外测速部分,电阻R17用来限制发射二极管的电流。发射管的电流大则发射功率大,但不能超过它的极限电流,它的极限输入正向电流为50mA。原理图如图3-5。图3-5 红外测速部分电路原理图 U3为红外对射管,其中左侧为红外发射二极管,电机的不同转速会影响右侧的接收,接收到红外时二极管导通会使两个二极管的电路内的电流变化,当电流变化时,会通过Q6的基极,当接收到信号时,Q6会导通,当接收不到信号时,回路中没有电流,Q6断开,Q6的导通与断开形成了连续的脉冲,电机的转速不同,Q6所形成的脉冲的频率不同,单片机根据输送的脉冲的频率的不同根据C语言算法可以测出不同的速度,通过显示电路显示。3.4 驱动电路设计通过调节直流电机的电压可以改变电机的转速,但是一般我们设计的电源大都是固定的电压,而且模拟可调电源不易于单片机控制,数字可调电源设计麻烦。所以这里用脉宽调制(PWM)来实现调速。方波的有效电压跟电压幅值和占空比有关,我们可以通过改变占空比实现改变有效电压。一般用软件模拟PWM可以有延时和定时两种方法,延时方法占用大量的CPU,所以这里采用定时方法。在实际电路板焊接操作中,为了使电路板美观、走线方便并正常实现预定功能,我采用了L293D芯片来控制电机PWM输入,该芯片采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续,电机可四角限运行,电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区,低速平稳性好等。L293D通过内部逻辑生成使能信号,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。L293D的引脚功能如下: P1:控制M1电机PWM1输入引脚。D1:控制M1电机转向输入引脚。P2:控制M2电机PWM2输入引脚。 D2:控制M2电机转向输入引脚。GND:电源地接口。 5V:逻辑电源+5V接口。 VC:输入电机驱动电压接口。 GND: 电源地接口。 M1+:M1电机驱动输出引脚正极。M1-:M1电机驱动输出引脚负极。M2+:M2电机驱动输出引脚正极。M2-:M2电机驱动输出引脚负极。L293D芯片与直流电机连接电路原理图如图3-6所示:图3-6 驱动电路原理图3.5 显示电路设计3.5.1 显示电路方案选择方案一:采用LCD液晶显示采用1602液晶显示,可以显示数字还可以形象的显示字母,能显示相关词组,还能实现单片机编程控制。1602液晶体积较小,工作亮度可调。但1602编程相对繁琐,需要独有的液晶取模软件来实现,且造价相对较高。方案二:采用八段LED数码管 采用八段LED数码管进行速度的测量值的显示,省电且易编程、操作和控制都比较简单容易。而且八段LED数码管成本低廉,使用方便,集成到四位一体的八段LED数码管还可以采用动态显示的方法完成多位数据显示,省时省力。但八段LED数码管在硬件连接时占用I/O口多。方案论证的结果:根据系统预期完成的要求,显示部分只做数据的实时显示,从成本方面考虑选择八段LED数码管即可,故选择方案二。3.5.2 动态显示概述LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。可以显示:时间、日期、距离等可以用数字代替的参数。 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P2.0-P2.3位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在本设计中采用的四位八段数码管,用动态驱动来显示测量的值,如图3-7所示。图3-7 显示电路原理图第4章 软件系统设计与分析4.1 软件总体设计分析设计中当单片机上电后,单片机处于上电复位状态,内部所有定时/计数器清零。软件部分设计的总体思路如图4-1所示。在单片机上电后,首先对单片机内部进行初始化,包括所采用的中断方式,占用的I/O口,定时/计数器的设置等。开始单片机初始化软件变量初始化PWM初始化结束Y计算电机转速与给定占空比对应转速是否相同YPID控制电机检测转子位置N图4-1 软件系统设计总体流程图对单片机初始化完成后定义变量,这些变量是指在单片机内部做数据运算时的必要数据,变量被定义后,根据其定义的位置,它的作用范围也随之确定。对于PWM的初始化主要是指控制方波高电平产生的时间,时间的长短受被要求转速限制,即受调节电机高电平作用的占空比限制。通过与转子连接的叶轮在若干秒内所测得出的脉冲数,计算出电机此时平均每秒转的圈数,从而计算出转速,转速越快,占空比越大,反之,转速越慢,占空比越小。当占空比达到软件内部规定的档位时,保持当前转速,直到有按键按下时执行对应操作。4.2按键控制软件设计分析按键查询成功加速键减速键正反转控制键复位键增大占空比减小占空比改变正反转标示位单片机初始化图4-2 按键控制软件设计流程图图4-2是PWM按键控制框图,硬件中有4个按键分别是加速键、减速键、正反转控制键以及复位键。当加速键按下时,电机开始转动,加速键每按下一次,占空比会相应的增加一定值,同时电机开始加速。根据PI的调节转速会稳定在设定值的附近。当减速键按下时,设定值会相应的减小,电机的转速会减小,同样根据PI的调节转速会稳定在设定值的附近。按下复位键时,启动中断,单片机复位。4.3 直流电机PWM控制软件分析电机控制部分在软件中所用的变量如表4-1。这部分软件主要通过switch选择语句实现。调速档通过加减速档固定占空比,即相应档位相应改变高电平持续时间PWM-ON的值,以实现调速档位的变换。而要实现按键加速,按键减速。每次按键加速键时,PWM-ON占空比会相应的增加,按减速键时占空比相应的减少,加速和减速通过占空比的大小来控制电机的转速。表4-1 使用变量定义表变量名称变量作用num数据变量PWM-ON高电平持续时间Flat正反转标识位电机加速部分软件设计流程,主要由switch(num)选择语句完成,通过赋予PWM-ON不同值(即不同的占空比)实现档位调换。其中规定PWM周期T为10ms,加速时占空比档位定义为10%、40%以及最高转速100%。加速部分软件设计流程如图4-3所示加速按键扫描成功延时消抖num>3否Ynum+转速保持N图4-3 加速部分软件流程图电机减速部分软件设计流程同加速部分相同,依旧由switch(num)选择语句完成,通过赋予PWM-ON不同值(即不同的占空比)实现档位调换。减速时占空比档位定义为40%、10%以及直流电机停止时占空比0%。减速部分软件设计流程如图4-4所示。减速按键扫描成功延时消抖num<0否Ynum-转速保持N图4-4 减速部分软件设计流程图电机正反转部分软件设计流程,主要是通过判别正反转标志位Flat实现,控制电机正反转的信号由51单片机的P1.3、P1.4引脚提供,产生的信号在软件中变量名正转为PWM1,反转为PWM2,这两个引脚产生的信号作用于芯片L293D的电机转向控制接口,从而控制电机的转动方向。正反转控制软件设计流程图如图4-5所示。正反转按键扫描成功延时消抖flat=0PWM1=0PWM2=1(电机正转)flat=1PWM1=1PWM2=0(电机反转)图4-5 电机正反转部分软