1、第1章 绪论1.1 直流调速系统的发展概况五十多年来,直流电气传动经历了重大的变革。首先,实现了整流器件的更新换代,从50年代的使用已久的直流发电机电动机组(简称G-M系统)及水银整流装置,到60年代的晶闸管电动机调速系统(简称V-M系统),使得电力电子变流技术产生了根本的变革。再到脉宽调制(Pulse Width Modulation)变换器的产生,不仅在经济性和可靠性上有所提高,而且在技术性能上也显示了很大的优越性,使电气传动完成了一次大的飞跃。另外,集成运算放大器和众多的电子模块的出现,不断促进了控制系统结构的变化。80年代随着计算机技术和通信技术的发展,8-32位单片机相继出现并应用于
2、控制系统,控制电路已实现高集成化,小型化,高可靠性及低成本。以上技术的应用,使系统的性能指标大幅度提高,应用范围不断扩大。由于系统的调速精度高,调速范围广,所以,在对调速性能要求较高的场合,一般都采用直流电气传动。早期,直流传动的控制系统采用模拟分立器件构成,由于模拟器件有其固有的缺点,如存在温漂、零漂电压,构成系统的器件较多,使得模拟直流传动系统的控制精度及可靠性较低。随着单片机广泛应用于直流传动系统,实现了调速系统的数字化控制。数字化调速系统与模拟系统相比具有以下优点: 首先,提高了调速性能。测速的数字化能够在很宽的范围内高精度测速,扩大了调速范围,提高了速度控制的精度。另一方面,模拟电路
3、难以实现的控制方法,如自适应控制、复合控制等都能容易的实现。其次,提高了运行的可靠性。硬件高度集成化使得零部件数量和触点大大减少,大部分功能都是由软件完成的,所以数字化直流调速系统的故障率比模拟系统小。而且数字电路的抗干扰性能强,不易受温度等外界条件变化的影响,运行的可靠性高。最后,易于维修。由于单片机可以与计算机相连,可以对系统的运行状态进行检测、诊断、显示和记录,并对发生的故障进行分析和记录,所以维修很方便,维修周期变短。1.2 数字式直流调速系统的研究现状1.2.1 调速系统国内外研究现状随着各种处理器的出现和发展,国外对直流电机数字控制调速系统的研究也在不断的发展和完善,尤其在80年代
4、在这方面的研究达到空前的繁荣。大型直流电机的调速系统一般采用晶闸管触发脉冲来实现,研究人员对控制算法作了大量的研究:有的提出内模控制的算法、有的提出了I-P控制器取代PI调节器的方法、有的提出了自适应PID算法和模糊PID算法等。目前,国外主要电气公司,如瑞典的ABB、德国的西门子、AEG、日本的三菱、东芝、美国的GE、西屋等,均已开发出数字装置,有成熟的系列化、标准化、模板化的应用产品供选择。例如西门子公司生产的SIMOREG-6RA70全数字直流驱动装置,用于直流电机电枢和励磁供电,完成调速任务。根据不同的应用场合,可选择单象限或四象限运行的装置,装置本身带有参数设定单元,不需要其他任何附
5、加设备便可完成参数的设定。国内各大专院校、科研单位和厂家也都在开发数字装置。张井岗等人提出直流电动机调速系统的内模控制方法。该方法依据内模控制原理,针对双闭环直流电动机调速系统设计了一种内模控制器,取代常规的PI调节器,成功解决了转速超调问题,能使系统获得优良的动态和静态性能。由于单片机以数字信号工作,控制手段灵活方便,抗干扰能力强。所以,数字系统的控制精度和可靠性比模拟系统大大提高。而且通过系统总线,数字控制系统能与管理计算机、过程计算机、远程电控装置进行信息交换,实现生产过程的分级自动化控制。所以,直流传动控制采用单片机实现数字化,使系统进入一个崭新阶段。1.2.2 控制策略概况在现代控制
6、理论和智能控制策略应用方面,一些新的控制方式如模糊控制、自适应控制、神经网络控制、滑模变结构控制,专家系统控制等也逐步进入了电力电子控制领域,使控制性能更稳定,制造成本更低。在系统的数字控制方案中,目前有以下几种:1. PID控制在工业控制过程中,目前采用最多的控制方式仍然是PID方式。PID有几个重要的功能:提供反馈控制,通过积分作用可以消除稳态误差,通过微分作用预测将来。发达国家对于PID控制算法利用率都很高,这一方面是由于PID控制器具有简单而固定的形式,在很宽的操作条件范围内,都能保持较好的鲁棒性;另一方面是因为PID控制器允许工程技术人员以一种简单而直接的方式来调节系统。但是工业生产
7、过程中,被控对象随着负荷变化或者受干扰因素影响,对象特性参数或者结构发生变化,PID参数不变将影响校正效果;然而PID参数复杂而繁琐的整定过程一直困扰着工程技术人员,其参数的整定一般需要经验丰富的工程技术人员来完成,既耗时又耗力,加之实际系统千差万别,又有滞后、非线性等因素,使PID参数的整定有一定的难度,致使许多PID控制器没能整定的很好,这样的系统自然无法工作在令人满意的状态,为此人们提出了自整定PID控制器,在线辨识对象特征参数,实时改变控制策略,使控制品质保持最佳。2. 滑模变结构控制滑模变结构控制利用不连续的开关控制方法来强迫系统的状态变量沿着相平面中某一滑动模态轨迹运动。变结构系统
8、的滑动模态具有完全自适应性,这成为变结构系统的最突出的优点,成为它得到重视的主要原因。任何实际系统中都有一些不确定参数或变化参数,数学描述也总具有不准确性,还受到外部环境的扰动。滑模控制有着明显的优点:快速性和强鲁棒性,但也存在控制系统稳态效果不佳、理想滑模切换面难于选取、控制效果受采样率的影响等弱点。如今直流调速的滑模控制的研究方兴未艾,特别是滑模控制和其它智能控制策略相结合构成新的集成控制策略备受关注。3. 模糊控制和神经网络传统的自动控制,包括经典理论和现代控制理论中有一个共同的特点,即控制器的综合设计都要建立在被控对象准确的数学模型的基础上,但是有时建立精确的数学模型特别困难。这种情况
9、下,模糊控制的诞生就显得意义重大。因为模糊控制不用建立数学模型,根据实际系统的输入输出结果数据,参考现场操作人员的运行经验,就可对系统进行实时控制。模糊控制器有着以下优点: 1模糊控制是一种基于规则的控制,它直接采用语言型控制规则,其依据是现场操作人员的控制经验或相关专家的知识。模糊控制器的设计过程中不需要被控对象的精确数学模型,模糊控制器有着较强的鲁棒性和自适应性;2查找模糊控制表只需要占用处理器的时间很少,因而可以采用较高采样率来补偿模糊控制规则和实际经验的偏差。此外,随着神经网络控制芯片的出现,一些学者正在研究其在直流调速中的应用,如用神经网络控制器替代闭环电流控制器等。综上所述,每一种
10、控制方案都有其特长,但都在某些方面存在些问题。因此,一种必然的发展趋势是各种控制方案相互渗透,取长补短,互济优势,结合成复合的控制方案。1.3 论文研究的背景和意义在当今电气传动领域,由于直流电动机具有极好的运行性能和控制特性,因此在要求高起动、制动转矩,快速响应和宽速度调节范围的电气传动中,仍广泛采用直流电动机作为执行电机的直流调速系统。直流电动机具有优良的调速特性,调速平滑,方便,易于在大范围内平滑调速,过载能力大,能受频繁的冲击负载,可实现频繁的无级快速起制动和正反转,能满足生产过程自动化系统中各种不同的特殊运行要求,所以直流调速系统至今仍然被广泛地用于自动控制要求较高的各种生产部门,是
11、调速系统的主要形式。 在工程实践中,有许多生产机械要求在一定的范围内进行速度的平滑调节,并且要求有良好的静,动态性能。由于直流电动机具有极好的运行性能和控制特性,在我国许多工业部门,如轧钢,矿山采掘,海洋钻探,金属加工,纺织等场合仍然占有重要地位。而且直流调速系统在理论上和实践上都比较成熟,从控制技术的角度来看,它又是交流调速系统的基础。因此,直流调速系统的应用研究具有实际意义。电气传动是现代最主要的机电能量变化形式之一。在当今社会中广泛使用着各式各样的电气传动系统,其中许多系统有调速的要求:如车辆、电梯、机床、造纸机械等等。为了满足运行、生产、工艺的要求往往需要对另一类设备如风机、水泵等进行
12、控制;为了减少运行损耗、节约电能也需要对电机进行调速。和交流调速系统相比,直流调速系统的变流方式及控制方法简单,调速性能好,长期以来在调速传动中占统治地位。在交流调速系统大力发展的今天,直流调速系统也有了很大的进步。数字化集成电路尤其是微处理器的广泛应用,使调速系统的参数调整由硬件变成了软件,调整PID参数甚至自寻最优都变得非常方便,实现了模拟控制中无法实现的各种复杂控制要求以及故障监视、保护功能、自诊断功能。1.4 本文所做的主要工作本文在选定直流电机控制模块、51系列单片机、霍尔测速模块等硬件的基础上,完成了系统整体方案的设计,并实现了以51系列单片机为核心的直流电机调速控制系统的设计,主
13、要工作内容有:(1) 调速控制系统总体方案设计(2) 调速控制系统硬件设计(3) 调速控制系统软件设计,包括绘制程序流程图、编写源程序、KEIL软件编译(4) 部分设计的Proteus仿真(5) 调速控制系统的组装与调试(6) PID参数的实验整定第2章 直流调速控制系统概况及理论基础 本章主要介绍直流电机的调速方法及原理,阐述了直流电机的PWM调速原理和调速系统的各个性能指标,最后,介绍了模拟PID控制的原理和数字PID的控制算法。2.1 直流电机调速方法及原理根据直流电动机的转速公式,可见,其调速方式有电枢串电阻调速、电枢电源电压调速和弱磁调速三种。直流电机转速n的表达式为: n=U-Ia
14、Ra+R/Ce (21)U:电枢电压;:电枢电流;Ra+R:电枢电路总电阻;:每极磁通(1) 电枢串电阻调速他励、并励直流电动机拖动负载运行时,保持电源电压及励磁电流为额定值,在电枢回路串入不同的电阻值,电动机运行在不同的转速,电动机的机械特性斜率随电枢回路串入电阻R变化,调速范围只能在基速(运行于固有机械特性上的转速)与零转速之间调节。这种调速方法的特点是设备简单、调节方便;缺点为调速范围限于在基速与零速之间调节,调速效率较低,电枢回路串入电阻后使得电动机机械特性变软,负载变化引起电动机产生较大的转速变化,转速稳定性差。(2) 电枢电源电压调速直流电动机电枢回路不串接电阻,单独由一个可调节的
15、直流电源供电,最高电压不超过额定电压;励磁绕组由另一电源供电,一般保持励磁磁通为额定值。图2.1为驱动恒转矩负载,改变电枢电源电压调速机械特性曲线,可见,电枢电源电压越低,转速就越低;通过改变电枢电源电压,调速范围限于基速与零转速之间。这种调速方式的特点为改变电枢电源电压,电动机机械特性硬度不变,电动机低速稳定性好;若电枢电源电压能够连续调节,则能够实现无级调节电动机转速,且平滑性好,而被广泛采用。不足是调压设备的投资费用较高。图2.1 电枢电压调速机械特性曲线(3) 弱磁调速保持直流电动机电枢电源电压不变、电枢回路不串接电阻,电动机拖动负载转矩小于额定转矩时,减小直流电动机励磁磁通,电动机转
16、速升高,其调速范围为基速与允许最高转速之间,调速范围有限。这种调速方式的特点为设备简单、调节方便,运行效率高,适合恒功率负载。不足之处是励磁过弱时,机械特性变软,转速稳定性差;拖动恒转矩负载,可能出现电枢电流过载现象。实际运行中,往往采用电枢电源电压调速及弱磁调速相结合的方法,保证调速范围宽、电动机无级调速,损耗较小、运行效率较高,能满足生产机械调速要求。在本设计中采用电枢电源电压调速。2.2 直流电机的PWM调速原理为了获得可调的直流电压,利用电力电子器件的完全可控性,采用脉宽调制技术,直接将恒定的直流电压调制成可变大小和极性的直流电压作为电动机的电枢端电压,实现系统的平滑调速,这种调速系统
17、就称为直流脉宽调速系统。脉宽调制(Pulse Width Modulation),是利用电力电子开关器件的导通与关断,将直流电压变成连续的直流脉冲序列,并通过控制脉冲的宽度或周期达到变压的目的。所采用的电力电子器件都为全控型器件,如电力晶体管(GTR)、功率MOSFET、IGBT等。对直流电动机进行PWM调速控制的原理图和输入/输出电压波形如图2.2所示。 图2.2 PWM调速控制原理和电压波形图在图2.2(a)中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us。t1时间后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。t2时间后,栅极输入重新变
18、为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图2.2(b)所示。电动机的电枢绕组两端的平均电压U0为U0=t1Us+t20Vt1+t2=t1TUs=Us (2.2)式中 占空比,=t1T。 占空比表示在一个周期T里,开关管导通的时间与周期的比值。的变化范围为01。由式(2.2)可知,当电源电压Us不变的情况下,电枢的端电压的平均值U0取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。2.3 调速系统的性能指标任何一台需要控制转速的设备,其生产工艺对调速性能都有一定的要求,如在一定的最高转速和最低
19、转速范围内,有级或无级地调节转速;以一定的精度在需要转速上稳定运行,在各种干扰下不允许有过大的转速波动,以确保产品质量。对于频繁起/制动的设备要求加减速尽量快,以提高生产率,不宜经受剧烈速度变化的机械则要求起制动尽量平稳。(1) 调速范围D指电动机在额定负载下调速时,其最高转速与最低转速之比,即D=nmaxnmin 2.3式中 最高转速nmax:受电动机换向及机械强度限制; 最低转速nmin:受转速相对稳定性(静差率)限制。(2) 静差率静差率也称为转速变化率,指电动机在一条机械特性上额定负载时的转速降落n与该机械特性的理想空载转速n0之比,即=n0-nNn0 (2.4) 式中 nN额定负载转
20、矩时转速。可见,在n0相同时,机械特性越硬,额定负载时转速降越小,则越小,则转速稳定性越好,负载波动引起的转速变化越小。调速范围D与静差率指标有时是矛盾的,采用同一种调速方法,若静差率要求不高(亦即值大),则调速范围宽;反之,若静差率要求高(亦即值小),则调速范围窄。因此往往根据静差率要求,选择相适应的调速方法。(3) 平滑系数调速平滑性指相邻两级转速的接近程度,用平滑系数表示为=nini-1 (2.5)接近于1,则表明调速的平滑性越好。 若连续可调,则其级数趋于无穷大,称为无级调速,平滑性最好。若为非连续调节,则其级数有限,称为有级调速,平滑性较差。2.4 PID控制原理及其算法将偏差的比例
21、(P)、积分(I)和微分(D)通过线性组合构成控制量,用该控制量对被控对象进行控制,这样的控制器称PID控制器。PID控制器是控制系统中技术比较成熟,而且应用最广泛的一种控制器。它的结构简单,参数容易调整,不一定需要系统的确切数学模型,因此在工业领域中应用广泛。PID控制器最先出现在模拟控制系统中,传统的模拟PID控制器是通过硬件(电子元件、气动和液压元件)来实现它的功能。随着计算机的出现,把它移植到计算机控制系统中来,将原来的硬件实现的功能用软件来代替,因此称作数字PID控制器,所形成的一整套算法则称为数字PID控制算法。2.4.1 模拟PID控制原理常规的模拟PID控制系统原理框图如图2.
22、3所示。该系统由模拟PID控制器和被控对象组成。图中,rt是给定值,yt是系统的实际输出值,给定值与实际输出值构成控制偏差et:et=rt-yt 2.6 et作为PID控制器的输入,ut作为PID控制器的输出和被控对象的输入。所以模拟PID控制器的控制规律为ut=KPet+1TI0tetdt+TDdetdt+u0 2.7式中 KP比例系数 TD微分常数 TI积分常数 u0控制常量在模拟PID控制器中,比例环节的作用是对偏差瞬间做出快速反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数KP,KP越大,控制越强;但过大的KP会导致系统震荡,破坏系
23、统的稳定性。图2.3 模拟PID控制系统原理图2.4.2 数字PID控制算法随着计算机进入控制领域,人们将模拟PID控制规律引入到计算机中来。对式(2.7)的PID控制规律进行适当的变换,就可以用软件来实现PID控制,即数字PID控制。数字PID控制可以分为位置式PID控制和增量式PID控制,由于本设计中使用了增量式PID控制,所以下面对增量式PID控制算法进行详细的介绍。增量式PID是指数字控制器的输出只是控制量的增量uk。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,而不能像
24、模拟控制那样连续输出控制量,进行连续控制。由于这一特点,式(2.7)中的积分项和微分项不能直接使用,必须进行离散化处理。经过离散化处理和相应近似变换后就可以得到离散的PID表达式为uk=KPek+TTIj=0kej+TDTek-ek-1+u0 2.8式中 k采样序号,k=0,1,2,; uk第k次采样时刻的计算机输出值; ek第k次采样时刻输入的偏差值; ek-1第k-1次采样时刻输入的偏差值; u0开始进行PID控制时的原始初值。增量式PID控制算法可通过式(2.8)进行推导而得出。由式(2.8)可得控制器在第k-1个采样时刻的输出值为uk-1=KPek-1+TTIj=0k-1ej+TDTe
25、k-1-ek-2+u0 2.9将式(28)与式(29)相减,并整理,就可以得到增量式PID控制算法公式为uk=uk-uk-1=KPek-ek-1+TTIek+TDTek-2ek-1+ek-2=KP1+TTI+TDTek-KP1+2TDTek-1+KPTDTek-2=Aek+Bek-1+Cek-2 (2.10)式中A=KP1+TTI+TDT B=-KP1+2TDT C=KPTDT由式(2.10)可以看出,如果计算机控制系统采样恒定的采样周期T,一旦确定了A、B、C,只要使用前后3次测量值的偏差,就可以由式(2.10)求出控制增量。 增量式PID控制算法与位置式PID控制算法相比,计算量小得多,因
26、此在实际中得到广泛应用。第3章 调速控制系统硬件部分设计本章主要介绍了直流电机调速控制系统的总体结构,调速控制系统主要由单片机最小系统、直流电机驱动模块、霍尔测速模块、矩阵键盘以及液晶显示模块组成。本章详细阐述了各个模块的工作原理并对相应的电路原理图进行分析。3.1 系统总体设计框图及其工作原理直流电机调速控制系统以单片机为控制核心,通过矩阵键盘设置电机转速给定值并进行加速、减速、正反转及启停等操作。直流电机同轴的转盘和霍尔测速模块可将速度信号转换为脉冲信号,并送给单片机,单片机通过对脉冲计数计算得到实际转速。通过比较设定转速值和实际转速值,根据误差利用PID调节器进行实时控制。单片机输出相应
27、占空比的PWM波直接送到电机驱动模块输入端控制直流电机转速。液晶显示模块可显示给定转速值和电机的实际转速值。综上,单片机主要完成参数设置、转速测量、参数显示和控制输出等功能。直流电机调速控制系统总体设计框图如图3.1所示。图3.1 系统总体设计框图3.2 单片机最小系统直流电机调速控制系统以AT89C51为控制主芯片,AT89C51是一款低功耗、高性能的CMOS 8位微控制器,具有4K可编程Flash存储器,使用Atmel公司高密度非易失性存储器技术制造。在单芯片上,拥有灵巧的8位CPU和在线可编程Flash,具有双工串行通道,可实现在线编程功能,内部集成了看门狗定时器、双数据指针、全新的加密
28、运算,使程序的保密性增强,兼容性强,软硬件调试方便。因此,使用该MCU作为主控芯片可以方便的设计电路。单片机的最小系统是指单片机能正常工作所必须的外围电路,主要由单片机、晶振电路和复位电路构成。本设计的单片机最小系统电路如图3.2所示。图3.2 单片机最小系统电路图复位电路产生复位信号,复位信号送入RST后还要送至片内的施密特触发器,由片内复位电路对触发器输出采样信号,然后由内部复位电路产生复位操作所要的信号。一般的复位电路可分为上电自动复位和按键复位,我们选用的是按键与上电复位。RST引脚是复位信号的输入端,只要高电平的复位信号持续两个机器周期以上的有效时间,就可以使单片机上电复位。复位信号
29、是通过电容充电实现的,上电瞬间,RST端电位与VCC相同,随充电电流的减少,RST的电位逐渐下降,直到复位信号无效,完成上电自动复位。电路中电容C2和C3的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性,典型值通常选择为30pF左右。晶振的范围通常在1.212MHz之间,频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快,此次设计采用的晶体振荡频率为12MHz。3.3 直流电机驱动模块直流电机驱动模块主要由电机驱动芯片L298N和二极管及直流电机组成。单片机输出PWM波给电机驱动芯片L298N,通过电机驱动芯片L298N实现对直流电机的控制。当电机驱动芯片L298N的IN1
30、端输入PWM波,IN2输入低电平直流电机正转,反之,电机反转;ENA输入高电平实现对电机速度的控制。3.3.1 电机驱动芯片L298NL298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V。L298N的输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率为25W。L298N内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机、步进电动机、继电器线圈等感性负载。L298N采用标准逻辑电平信号控制,具有两个使能控制端,L298N可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,可以驱动一
31、台两相步进电机或四相步进电机,也可以驱动两台直流电机。L298N对直流电机控制的逻辑真值表如表3.1所示。表3.1 L298N对直流电机控制的逻辑真值表输入输出EN=HC=H;D=L正转C=L;D=H反转C=D制动EN=LC=;D=没有输出,电机不工作注:其中EN表示ENA或ENB;C、D分别为IN1、IN2或IN3、IN4;L为低电平,H为高电平,为不管是低电平还是高电平。3.3.2 直流电机驱动模块电路图直流电机驱动模块接收由单片机产生的PWM波及其他控制信号,控制直流电机进行加减速、正反转、启停等,其电路如图3.3所示。图3.3 直流电机驱动模块电路图3.4 霍尔测速模块霍尔测速模块主要
32、用来测得直流电机的实际转速,霍尔测速模块主要由霍尔传感器及相应的转换电路组成。霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高、线性度好、稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。本模块主要用霍尔传感器通过测量磁场强度,来得到稳定的脉冲方波信号,通过单片机实现直流电机实际转速的测量。选用型号为A3144的霍尔片作为霍尔测速模块的核心,该霍尔传感器体积小、安装灵活,并与普通的磁钢片配套使用。霍尔测速模块工作过程:测量转速的霍尔传感器与机轴相连接,机轴每转一周,产生一定的脉冲个数,经霍尔器件电路部分输出,成为单片机计数器的计数脉冲。控制计数时间,即可实现计
33、数器的计数值对应直流电机机轴的实际转速值。霍尔测速模块由磁钢、霍尔元件等组成,将一非磁性圆盘固定装在直流电机转轴上,圆盘上等距离用环氧树脂粘贴块状磁钢,磁钢采用永久磁,其示意图如图3.4所示。图3.4 霍尔传感器检测信号图3.5 矩阵键盘矩阵键盘可以对直流电机的转速进行设置,并可以控制直流电机进行加速、减速、正反转、启停等。其电路图如图3.5所示。图3.5 矩阵键盘电路图3.5.1 矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构
34、成4*4=16个按键,比之直接将端口线连接到键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。3.5.2 矩阵式键盘的按键识别方法确定矩阵式键盘上哪个键被按下介绍一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,下面给出一个具体的例子:单片机的P1口用作键盘I/O口,键盘的列线接到
35、P1口的高4位,键盘的行线接到P1口的低4位。列线P1.7-P1.4分别接有4个上拉电阻到正电源+5V,4根行线和4根列线形成16个相交点。(1)检测当前是否有键被按下。检测的方法是P1.3-P1.0输出全“0”,P1.4-P1.7输出全“1”,即给P1赋值“F0”读取P1.0-P1.3的状态,若P1.0-P1.3为全“0”,则无键闭合,否则有键闭合。(2) 去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。(3)若第二次仍判断有键被按下,为了确定键值,先判断其所在行。方法是读取此时P1口状态,P1的低四位哪位电平被抬高则对应行有键被按下,例如P1状态为F1,那么说明P1.0被
36、置位,则其对应行某键被按下。(4)用同样方法判断按键所在列,给P1赋值“0F”,并读取P1口输出状态,P1高四位哪位电平被抬高则对应列有键被按下。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值(5)为了保证键每闭合一次CPU仅作一次处理,必须去除键释放时的抖动。按键识别的一个重要问题是去抖动,下面详细介绍:常用键盘的键是一个机械开关结构,被按下时,由于机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动,抖动时间长短与键的机械特性有关,一般为2030 ms。而键的闭合时间和操作者的按键动作有关,大约为十分之几秒到几秒不等。去抖动有硬件
37、和软件两种方法。硬件方法就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性;而软件方法则是采用时间延迟以躲过抖动(大约延时5-10ms即可),待线上状态确定之后,再进行状态输入。一般为简单起见多采用软件方法。3.5.3 矩阵键盘的工作方式在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。1. 编程扫描方式编程扫描方式是利用CPU完成其它工作的空余调用键盘
38、扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。2. 定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。3. 中断扫描方式采用上述两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态,为提高CPU工作效率,可采用中断扫描工作方式。当无键按下时,CPU处理自己的工作,当有键按下时,
39、产生中断请求,CPU转去执行键盘扫描子程序,并识别按键。3.6 液晶显示模块液晶显示模块选用1602 型LCD显示模块LM016L来显示直流电机的设定转速及其实际转速。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点,可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。其外部引脚如3.6所示。图3.6 LM016LVSS:电源地。 VDD:电源正极。VEE:液晶显示偏压信号。 RS:数据/命令选择端。寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。 R/W:读写选择端。高电平进行读操作,低电平
40、进行写操作。E:使能信号。D0-D7:数据输入/输出口。从RS和R/W的不同状态对LM016L进行不同的操作,具体见表3.2。表3.2 LM016L控制字表RSR/W操作说明00写入指令码D0D701读取输出的D0D7状态字10写入数据D0D711从D0D7读取数据第4章 系统软件设计系统软件共分六大部分,分别为主函数、PWM波形发生函数、PID控制器函数、LCD显示函数、矩阵键盘扫描函数。根据直流电机调速控制系统需要,完成参数显示、转速设置、PID控制等功能。4.1 主函数主函数是程序执行的入口处,首先进行定时器及外部中断参数设置和初始化工作,然后设置显示函数及键盘扫描函数的死循环,进行实时
41、显示并不断扫描矩阵键盘,设置直流电机转速值及控制电机正反转、启停等都通过读取矩阵键盘的键值实现。控制器函数依靠“定时中断”(T0)结合软件延时实现以1秒为周期循环,当计数溢出即发生中断响应,计算控制量;PWM波形发生函数依靠“定时中断”(T1)实现周期为100us的循环,通过控制电机驱动模块输入电平调节电机转速。主函数流程图如图4.1所示。图4.1 主函数流程图 程序开始后,对单片机的计数器溢出中断和外部中断控制字进行设置并设置定时器和外部中断的工作方式,同时计数器的计数初值进行设置,然后打开相应的计数器,当计数值溢出后,定时器产生中断,再去执行相应的中断服务程序。中断程序执行完成后,程序再返
42、回主程序继续执行。矩阵键盘一直在被扫描,PWM波的产生和PID控制都是在定时器的中断服务程序中实现,直流电机速度的测量通过外部中断1的中断服务程序实现。4.2 PWM波形发生函数 PWM波形发生函数的功能是通过单片机产生不同占空比的PWM波,通过直流电机驱动模块实时控制直流电机的转速。PWM波形发生函数流程图如图4.2所示。图4.2 PWM波形发生函数流程图4.2.1 源程序及注释void time0_int(void) interrupt 1 /T0中断服务程序 time+; /time 为中断次数TH0 = (65536-100)/256; /设置定时器T0计数初值,该函数循环执行周期为1
43、00usTL0 = (65536-100)%256; if(change = 0) /如果电机正转 PWM2 =0;ena=1;/L298N的IN2为低电平if(time= period) /period 相当于周期,保持不变的 time = 0; /中断次数清零 Else /电机反转 PWM1 = 0;ena = 1; / L298N的IN1为低电平 if(time=period) time = 0;4.2.2 对程序的说明PWM波形发生函数产生PWM一周期波形如下图。由此可知,此函数决定电机驱动芯片输出占空比可调的周期为200*100us=20ms的PWM波形。图4.3 PWM波形示意图4
44、.3 PID控制器函数PID控制器函数的主要功能是根据霍尔传感器模块测得的电机实际转速和电机的设置转速,在单片机中进行运算后得到一个控制量,对直流电机的转速进行实时控制,以达到直流电机实际转速与设置转速的转速差最小。PID控制器函数流程图如图4.4所示。图4.4 PID控制器函数流程图4.3.1 源程序及注释void time1_int(void) interrupt 3 TH1 = 0x3c; TL1 = 0xb0; /定时器T1设置参数 count_speed+;if(count_speed = 20) /只有加到20才执行PID算法语句命令,也就是利用软件延时0.05*20=1s high1=high1+(ek-ek_1)/15+ek/6+(ek+ek_2-2*ek_1)/12;/该赋值语句实质为增量算式“uk=uk-1+KP(ek-ek-1)+Kiek+Kdek-2ek-1+ek-2”if(high!=high1) /high为上次占空比,如果本次占空比计算值与上次不同high=high1; /则将新的控制量赋值给high,if语句功能是不断更新控制量ek_2=ek_1; / 本采样周期 e(k-1)作为下