计算机控制技术论文.doc_第1页
计算机控制技术论文.doc_第2页
计算机控制技术论文.doc_第3页
计算机控制技术论文.doc_第4页
计算机控制技术论文.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机控制技术课程结业论文题 目:基于单片机的PID直流电机调速设计专 业: 电气工程及其自动化 年 级: 班 级: 姓 名: 学 号: 年 月 日摘要摘要在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟PID控制是最早发展起来的控制策略之一,随着计算机技术与智能控制理论的发展,数字PID技术渐渐发展起来,它不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。本设计以上面提到的数字PID为基本控制算法,以AT89S51单片机为控制核心,产生占空比受数字PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。关键词:数字PID PWM脉冲 占空比 无静差调节-27-目录目录摘要I1绪论11.1 PID算法11.1.1 模拟PID11.1.2 数字PID21.1.3 数字PID参数整定方法41.2 PWM脉冲控制技术51.2.1 PWM控制的基本原理51.2.2 直流电机的PWM控制技术62 设计方案与论证92.1 系统设计方案92.2 控制器模块设计方案92.3 电机驱动模块设计方案102.4 速度采集模块设计方案102.5 显示模块设计方案102.6 键盘模块设计方案102.7 电源模块设计方案103 单元电路设计123.1 硬件资源分配123.2 电源电路设计123.3 电机驱动电路设计133.4 电机速度采集电路设计133.5 显示电路设计143.6 键盘电路设计164 软件设计174.1 算法实现174.1.1 PID算法174.1.2 电机速度采集算法174.2 程序流程184.2.1 主流程图184.2.2 键盘程序程序流程184.2.3 定时程序流程194.2.4 显示程序流程205 系统测试与分析23结论25参考文献26致谢27附录28计算机控制技术课程结业论文1绪论21世纪,科学技术日新月异,科技的进步带动了控制技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已进入高速发展的信息时代,控制技术成为当今科技的主流之一,广泛深入到研究和应用工程等各个领域。本次设计主要研究的是PID控制技术在运动控制领域中的应用,纵所周知运动控制系统最主要的控制对象是电机,在不同的生产过程中,电机的运行状态要满足生产要求,其中电机速度的控制在占有至关重要的作用,因此本次设计主要是利用PID控制技术对直流电机转速的控制1。其设计思路为:以AT89S51单片机为控制核心,产生占空比受PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。在系统中采12864LCD显示器作为显示部件,通过44键盘设置P、I、D、V四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。因此该系统在硬件方面包括:电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。软件部分采用C语言进行程序设计,其优点为:可移植性强、算法容易实现、修改及调试方便、易读等。1.1 PID算法控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟PID、数字PID及其参数整定方法。1.1.1 模拟PID 在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图1.1所示,系统由模拟PID调节器、执行机构及控制对象组成。图1.1 模拟PID控制系统原理框图PID调节器是一种线性调节器,它根据给定值与实际输出值构成的控制偏差: = (1.1)将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器2。在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P调节器,PI调节器,PID调节器等。模拟PID调节器的控制规律为: (1.2)式中,为比例系数,为积分时间常数,为微分时间常数。简单的说,PID调节器各校正环节的作用是:(1)比例环节:即时成比例地反应控制系统的偏差信号,偏差一旦产生,调节器立即产生控制作用以减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。由式1.2可得,模拟PID调节器的传递函数为 (1.3)由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。1.1.2 数字PID 在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。为将模拟PID控制规律按式(1.2)离散化,我们把图1.1中、在第n次采样的数据分别用、表示,于是式(1.1)变为 : = (1.4)当采样周期T很小时可以用T近似代替,可用近似代替,“积分”用“求和”近似代替,即可作如下近似 (1.5) (1.6)这样,式(1.2)便可离散化以下差分方程 (1.7)上式中是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项,即 (1.8)第二项起积分控制作用,称为积分(I)项即 (1.9)第三项起微分控制作用,称为微分(D)项即 (1.10)这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合有:P控制: (1.11)PI控制: (1.12) PD控制: (1.13)PID控制: (1.14)式(1.7)的输出量为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(1.7)又称为位置型PID算式。由(1.7)可看出,位置型控制算式不够方便,这是因为要累加偏差,不仅要占用较多的存储单元,而且不便于编写程序,为此对式(1.7)进行改进。根据式(1.7)不难看出u(n-1)的表达式,即 (1.15)将式(1.7)和式(1.15)相减,即得数字PID增量型控制算式为 (1.16) 从上式可得数字PID位置型,控制算式为 (1.17)式中: 称为比例增益; 称为积分系数; 称为微分系数。数字PID位置型示意图和数字PID增量型示意图分别如图1.2和1.3所示:图1.2 数字PID位置型控制示意图 图1.3 数字PID增量型控制示意图1.1.3 数字PID参数整定方法如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定3。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。下面介绍两种常用的简易工程整定法。扩充临界比例度法:这种方法适用于有自平衡特性的被控对象。使用这种方法整定数字调节器参数的步骤是:选择一个足够小的采样周期,具体地说就是选择采样周期为被控对象纯滞后时间的十分之一以下。用选定的采样周期使系统工作:工作时,去掉积分作用和微分作用,使调节器成为纯比例调节器,逐渐减小比例度()直至系统对阶跃输入的响应达到临界振荡状态,记下此时的临界比例度及系统的临界振荡周期。选择控制度:所谓控制度就是以模拟调节器为基准,将DDC的控制效果与模拟调节器的控制效果相比较。控制效果的评价函数通常用误差平方面积表示。 控制度 (1.18)实际应用中并不需要计算出两个误差平方面积,控制度仅表示控制效果的物理概念。通常,当控制度为1.05时,就可以认为DDC与模拟控制效果相当;当控制度为2.0时,DDC比模拟控制效果差。根据选定的控制度,查表1.1求得T、的值。表1.1 扩充临界比例度法整定参数控制度控制规律T1.05PI0.030.530.881.05PID0.0140.630.490.141.20PI0.050.490.911.20PID0.0430.0470.470.161.50PI0.140.420.991.50PID0.090.340.430.202.00PI0.220.361.052.00PID0.160.270.400.221.2 PWM脉冲控制技术PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形4(含形状和幅值)。1.2.1 PWM控制的基本原理在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形用傅立叶变换分析,则其低频段非常接近,仅在高频段略有差异。例如图1.4中a、b、c所示的三个窄脉冲形状不同,其中图1.4的a为矩形脉冲,图1.4的b为三角脉冲,图1.4的c为正弦半波脉冲,但它们的面积(即冲量)都等于1,那么,当它们分别加在具有惯性的同一环节上时,其输出响应基本相同。当窄脉冲变为如图1.4的d所示的单位脉冲函数时,环节的响应即为该环节的脉冲过渡函数。图1.4 形状不同而冲量相同的各种窄脉冲图1.5a的电路是一个具体的例子。图中为窄脉冲,其形状和面积分别如图1.4的a、b、c、d所示,为电路的输入。该输入加在可以看成惯性环节的R-L电路上,设其电流为电路的输出。图1.5b给出了不同窄波时的响应波形。从波形可以看出,在的上升段,脉冲形状不同时的形状也略有不同,但其下降段几乎完全相同。脉冲越窄,各波形的差异也越小。如果周期性的施加上述脉冲,则响应也是周期性的。用傅立叶级数分解后将可看出,各在低频段的特性非常接近,仅在高频段有所不同。 图1.5 冲量相同的各种窄脉冲的响应波形1.2.2 直流电机的PWM控制技术直流电动机的转速调节主要有三种方法:调节电枢供电的电压、减弱励磁磁通和改变电枢回路电阻。针对三种调速方法,都有各自的特点,也存在一定的缺陷。例如改变电枢回路电阻调速只能实现有级调速,减弱磁通虽然能够平滑调速,但这种方法的调速范围不大,一般都是配合变压调速使用。所以在直流调速系统中,都是以变压调速为主。其中,在变压调速系统中,大体上又可分为可控整流式调速系统和直流PWM调速系统两种。直流PWM调速系统与可控整流式调速系统相比有下列优点:由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好、稳速精度高、调速范围宽。同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,因此主电路损耗小、装置效率高;直流电源采用不可控整流时,电网功率因数比相控整流器高。正因为直流PWM调速系统有以上优点,并且随着电力电子器件开关性能的不断提高,直流脉宽调制( PWM) 技术得到了飞速的发展。下面主要介绍直流电机PWM调速系统的算法实现。根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为,幅值为U,由图1.6可求得此时间内脉冲的等效直流电压为:图1.6 PWM脉冲,若令,即为占空比,则上式可化为: (U为脉冲幅值) (1.19)若PWM脉冲为如图1.7所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即 (为矩形脉冲占空比) (1.20)图1.7 周期性PWM矩形脉冲由式1.20可知,要改变等效直流电压的大小,可以通过改变脉冲幅值U和占空比来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比的大小实现等效直流电压在0U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。2 设计方案与论证2.1 系统设计方案根据系统设计的任务和要求,设计系统方框图如图2.1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电机转速实时控制的目的。图2.1 系统方案框图2.2 控制器模块设计方案根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。采用AT89S51作为系统控制的方案。AT89S51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。采用AT89S51作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。2.3 电机驱动模块设计方案本次设计的主要目的是控制电机的转速,因此电机驱动模块是必不可少,其方案,采用专用的电机驱动芯片5,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。2.4 速度采集模块设计方案本系统是一闭环控制系统,在调节过程中需要将设定与当前实际转速进行比较,速度采集模块就是为完成这样功能而设计的,其设计方案采用对射式光电传感器。其检测方式为:发射器和接受器相互对射安装,发射器的光直接对准接受器,当测物挡住光束时,传感器输出产生变化以指示被测物被检测到。通过脉冲计数,对速度进行测量。2.5 显示模块设计方案在电机转速控制系统中,系统需要对参数、工作方式以及电机当前运行状态的显示,因此在整个系统中必须设计一个显示模块,采用12864LCD液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。2.6 键盘模块设计方案 在电机转速控制系统中,系统需要按键进行参数的输入、工作方式的设定以及电机起停的控制,因此键盘在整个系统中是不可缺少的一部分,采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。但此种键盘的软件结构较为复杂。2.7 电源模块设计方案电源是任何系统能否运行的能量来源,无论那种电力系统电源模块都是不可或缺的,通过固定芯片对整流后的电压进行降压、稳压处理(如7812、7805等),此种方案可靠性、安全性高,对能源的利用率高,并且电路简单容易实现。经过上述的分析与论证,系统各模块采用的方案如下:(1)控制模块: 采用AT89S51单片机;(2)电机驱动模块:采用直流电机驱动芯片L298N实现;(3)速度采集模块:采用光电传感器;(4)显示模块: 采用12864LCD液晶显示模块;(5)键盘模块: 采用标准的44矩阵式键盘;(6)电源模块: 采用7805、7812芯片实现。3 单元电路设计3.1 硬件资源分配本系统电路连接及硬件资源分配见图3.1所示。采用AT89S51单片机作为核心器件,转速检测模块作为电机转速测量装置,通过AT89S51的P3.3口将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,用12864LCD显示器和44键盘作为人机接口。图3.1 系统电路连接及硬件资源分配图3.2 电源电路设计电源是整个系统的能量来源,它直接关系到系统能否运行。在本系统中直流电机需要12V电源,而单片机、显示模块等其它电路需要5V的电源,因此电路中选用7805和7812两种稳压芯片,其最大输出电流为1.5A,能够满足系统的要求,其电路如图3.2所示。 图3.2 电源电路3.3 电机驱动电路设计驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。其中输出脚用来连接电流检测电阻,Vss接逻辑控制的电源。6Vs为电机驱动电源。IN1-IN4输入引脚为标准TTL 逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其电路如图3.3所示,利用两个光电耦合器将单片机的I/O与驱动电路进行隔离,保证电路安全可靠。这样单片机产生的PWM脉冲控制L298N的选通端,使电机在PWM脉冲的控制下正常运行,其中四个二极管对芯片起保护作用。图3.3 电机驱动电路3.4 电机速度采集电路设计在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,通过偏差进行PID运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上有N个等分凹槽如图3.5(a)所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图3.4(b)所示,从图中可以得出电机每转一圈在P3.3的输出端就会产生N个低电平。这样就可根据低电平的数量来计算电机此时转速了。 (a) (b)图3.4 电机速度采集方案3.5 显示电路设计 根据设计要求要对系统各项参数和电机运行状态进行显示,因此在电路中加入显示模块是非常必要的。在系统运行过程中需要显示的数据比较多,而且需要汉字显示,在这里选用12864液晶显示器比较适合,它是一种图形点阵液晶显示器,主要由行驱动器/列驱动器及12864全点阵液晶显示器组成,可完成汉字(1616)显示和图形显示共有20个引脚7,其引脚名称及引脚编号的对应关系如图3.5,引脚功能如表3.1所示。 图3.5 12864LCD引脚分布表3.1 12864液晶显示模块引脚功能引脚符 号引 脚 功 能引脚符 号引 脚 功 能1VSS电源地15CS1CS1=1芯片选择左边64*64点2VDD电源正+5V16CS2CS2=1芯片选择右边64*64点3VO液晶显示驱动电源17/RST复位(低电平有效)4RSH:数据输入;L:指令码输入18VEELCD驱动负电源5R/WH:数据读取;L:数据写入19A背光电源(+)6E使能信号。20K背光电源(-)7-14DB0-DB7数据线有些型号的模块19、20脚为空脚12864液晶显示器与单片机的连接电路如图3.6所示:图3.6 显示模块电路图3.6 键盘电路设计根据设计需求,本系统中使用了44键盘用以实现对P、I、D三个参数和电机正反转的设定,以及对电机启动、停止、暂停、继续的控制,其电路原理图如图4.8所示。图中L0L3为44键盘的列信号,H0H3为44键盘的行信号。在本系统中,用P1.0P1.3连接键盘的列信号L0L3;用P0.4P0.7连接键盘的行信号H0H3。按照要求设计操作面板如图3.7所示:图3.7 键盘模块键盘操作说明:在系统开始运行时,12864LCD将显示开机界面,若按下设置键显示屏进入参数设置界面,此时按1、2、3、4进入相应参数的设置的状态,输入相应的数字即可完成该参数的设置,待所有量设置完成后按正/反控制键设置正反转,最后按启动键启动系统,在运行过程中可按下相应键对电机进行暂停、继续、停止运行的控制8。4 软件设计4.1 算法实现4.1.1 PID算法本系统设计的核心算法为PID算法,它根据本次采样的数据与设定值进行比较得出偏差,对偏差进行P、I、D运算最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节,进而控制电机转速12。其运算公式为:因此要想实现PID控制在单片机就必须存在上述算法,其程序流程如图4.1所示。4.1.2 电机速度采集算法本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。在设计中采用了光电传感器做为测速装置,其计算公式为: v= r/min从这里可以看出速度v的误差主要是由圆盘边缘上的凹槽数的多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数N为120,采样时间t为0.5s,则速度计算具体程序流程如图4.2所示。 图4.2 测速程序流程4.2 程序流程 4.2.1 主流程图在一个完整的系统中,只有硬件部分是不能完成相应设计任务的,所以在该系统中软件部分是非常重要的,按照要求和系统运行过程设计出主程序流程如图4.3所示。图4.3 主程序流程4.2.2 键盘程序程序流程键盘中断程序是用来设在系统相应参数和控制系统进入相应的运行状态,其程序流程图如图4.4所示。 4.2.3 定时程序流程在本系统中定时器T0中断子程序是用来控制电机运行时间和进行速度计算和PID 运算,其程序流程如图4.5所示。图4.5 定时程序流程4.2.4 显示程序流程显示模块是实现人机对话的重要部分,在这里选用12864LCD显示器可实现对汉字和字符的显示,该显示器的引脚功能在上面已经做了说明,下面介绍12864LCD的相关指令。(1)读取状态字D/IR/WDB7DB6DB5DB4DB3DB2DB1DB001BUSY0ONOFFRST0000当R/W=1,D/I=0时,在E信号为高的作用下,状态分别输出到数据总线上。状态字是了解模块当前工作状态的唯一的信息渠道,在每次对模块操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至BUSY =0为止。(2)显示开关设置 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB0000011111DD=1:开显示;D=0关显示。(3)显示起始行设置D/IR/WDB7DB6DB5DB4DB3DB2DB1DB00011显示起始行(063)指令表中DB5DB0为显示起始行的地址,取值在03FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址10。(4)页面地址设置 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB00010111Page(07)页面地址是DDRAM的行地址。8行为一页,DDRAM共64行即8页,DB2-DB0表示0-7页。(5)列地址设置 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB00001Yaddress(063)列地址是DDRAM的列地址。共64列,DB5-DB0取不同值得到0-3FH(1-64),代表某一页面上的某一单元地址,列地址计数器在每一次读写数据后它将自动加一11。(6)写显示数据 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB010显 示 数 据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加一。 (7)读显示数据 D/IR/WDB7DB6DB5DB4DB3DB2DB1DB011显 示 数 据该操作将12864模块中的DDRAM存储器对应单位中的内容读出,然后列地址计数器自动加一。根据上面指令结合系统要实行的功能,其显示子程序流程如图4.6所示。图4.6 显示程序流程5 系统测试与分析为了确定系统与设计要求的符合程度,需要进行系统测试与分析,但是由于试验调节的制约和时间的限制,不能完成此次制作,只能通过软件仿真进行验证, PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可在10以上,I在(3、10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在(1、10)之间,I在(0、5)之间,D在(0.1、1)之间,具体参数要在现场调试时进行修正。根据上诉方法,通过软件仿真系统得出数据如表5.1所示,通过观察得出该系统比较合适的P、I、D三者的参数值为: =2, =2.2, =0.2。并且可以反映表5.1 测试数据表次数设定设定设定设定(r/min)超调量调节时间(s)误差122.20.210084232.20.2100155342.20.21002211412.20.210056502.20.2100112621.10.2100687200.21002%15823.30.210085924.40.210097出PID调节器各校正环节的作用是:(1)比例环节:值的选取决定于系统的响应速度。增大能提高响应速度,减小稳态误差;但是,值过大会产生较大的超调,甚至使系统不稳定减小可以减小超调,提高稳定性,但过小会减慢响应速度,延长调节时间;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。通过上诉的数据分析可知,该系统完成了设计的任务及要求,证实了设计方案的可行性和设计方法的正确性。结论结论本课题的目的在于利用单片机实现PID算法产生PWM脉冲来控制电机转速。到目前为止通过对控制器模块、电机驱动模块、LCD显示模块、键盘模块、数字PID算法等进行深入的研究,完成了硬件电路的系统设计。 归纳起来主要做了如下几方面的工作:1、PID算法与PWM控制技术有机的结合;2、设计了速度检测电路;3、利用C语言进行程序设计,并通过仿真(部分源程序见附录);4、利用Protel99se对PCB板进行绘制。根据上面论述结合测试数据可以看出本次设计基本完成了设计任务和要求。通过此次设计,掌握了数字PID算法的使用及编程方法,学习了如何进行系统设计及相关技巧,为今后的工作和学习奠定了坚实的基础。参考文献参考文献1 孙传友. 测控系统原理与设计M .北京:北京航空航天大学出版社, 2003.2 王兆安. 电力电子技术M.北京:机械工业出版社, 2006.3 潘松,黄继业. EDA技术实用教程M. 北京:科学出版社, 2003.4 Atmel. AT89S51数据手册DB/OL. ,2002-4-3/2008-5-9.5 陈杰. 传感器与检测技术M. 北京:高等教育出版社,2002. 6 方彦军,孙健. 智能仪器技术及其应用M. 北京:化学工业出版社,2005. 7 沙占友. 单片机外围电路设计M. 北京:电子工业出版社, 2003.8 泰继荣. 现代直流控制技术及其系统设计M. 北京:机械工业出版,1993.9 张俊谟. 单片机中级教程M. 北京:北京航空航天大学出版社,2006.10 王伟,张晶涛,柴天佑. PID参数先进整定方法综述J.自动化学报,2000.11 韩京清. 非线性PID控制器J.自动化学报,1994.12 万佑红,用遗传算法实现PID参数整定J.自动化技术与应用,2004.致谢致谢本次设计能够顺利完成,除了我自身的努力外,还有老师和同学的热心帮助,在此我向他们表示衷心的感谢!我的指导教师xxx老师,他们对论文做了最详细的指导,从论文的前期准备、开题、初稿到最后定稿的每个环节都凝聚了老师的汗水,在老师身上我不仅学到了大量的理论知识,更重要的是老师对工作认真负责、对问题一丝不苟的精神,这将是我人生中一笔巨大的财富,今后我将会更加努力的工作和学习,不辜负老师和同学对我的期望,在此我再次向他们表示深深的感谢。附录附录一、主程序:main( ) zf=0; flag1=0; EA=1; IT0=1; EX0=1; count=0; en=0; en1=0; en2=0; U0=200; Un=0; cc=0; zanting=0; pwm1=0; pwm2=0; P1=0xF0; Init_lcd(); /设置液晶显示器 Clr_Scr(); /清屏 left();Disp_Chinese(0,0,dan); /单 left();Disp_Chinese(0,16,pian); /片 left();Disp_Chinese(0,32,ji); /机 left();Disp_Chinese(0,48,de); /的 right();Disp_Chinese(0,0,shu); /数 right();Disp_Chinese(0,16,zi); /字 right();Disp_Digit(0,32,dp); /P right();Disp_Chinese(0,40,di); /I right();Disp_Digit(0,56,dd); /D left();Disp_Chinese(3,16,dian); /电 left();Disp_Chinese(3,32,ji); /机 left();Disp_Chinese(3,48,tiao); /调 right();Disp_Chinese(3,0,shu0); /速 right();Disp_Chinese(3,16,xi); /系 right();Disp_Chinese(3,32,tong); /统 left();Disp_Chinese(6,48,heng); /横线 right();Disp_Chinese(6,0,heng); /横线 right();Disp_Chinese(6,16,jia); right();Disp_Chinese(6,32,xiao); right();Disp_Chinese(6,48,wei); flag0=0; for( ; ; ) /等待设置键按下 if(flag0=1) break; Clr_Scr(); /清屏 left();Disp_Chinese(0,32,can); left();Disp_Chinese(0,48,shu); right();Disp_Chinese(0,0,she); right();Disp_Chinese(0,16,zhi); left();Disp_Chinese(2,4,Kp); left();Disp_Digit(2,20,maohao); left();Disp_Digit(2,28,s0); left();Disp_Digit(2,36,s0); left();Disp_Digit(2,44,dian0); left();Disp_Digit(2,52,s0); right();Disp_Chinese(2,4,Ki); right();Disp_Digit(2,20,maohao); right();Disp_Digit(2,28,s0); right();Disp_Digit(2,36,s0); right();Disp_Digit(2,44,dian0); right();Disp_Digit(2,52,s0); left();Disp_Chinese(4,4,Kd); left();Disp_Digit(4,20,maohao); left();Disp_Digit(4,28,s0); left();Disp_Digit(4,36,s0); left();Disp_Digit(4,44,dian0); left();Disp_Digit(4,52,s0); right();Disp_Chinese(4,4,V); right();Disp_Digit(4,20,maohao); right();Disp_Digit(4,28,s0); right();Disp_Digit(4,36,s0); right();Disp_Digit(4,44,s0); left();Disp_Chinese(6,4,zhuan); left();Disp_Chinese(6,20,xiang); left();Disp_Digit(6,36,maohao); left();Disp_Chinese(6,44,zheng); flag1=0; for(set=0;) /等待启动键按下 switch(set) case 0:break; case 1: left();Disp_Digit(2,28,s0); left();Disp_Digit(2,36,s0); left();Disp_Digit(2,52,s0); Kpp=0; for(flag=0,n=0;) left();Disp_Digit(2,28,kong); Delay12864(1000); left();Disp_Digit(2,28,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(2,28,sn); Kpp+=10*n; for(flag=0,n=0;) left();Disp_Digit(2,36,kong); Delay12864(1000); left();Disp_Digit(2,36,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(2,36,sn); Kpp+=n; for(flag=0,n=0;) left();Disp_Digit(2,52,kong); Delay12864(1000); left();Disp_Digit(2,52,sn); Delay12864(2500

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论