计算机控制技术课程设计_第1页
计算机控制技术课程设计_第2页
计算机控制技术课程设计_第3页
计算机控制技术课程设计_第4页
计算机控制技术课程设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告论文题目:直流电机调速的设计 课程名称 计算机控制技术 学 院 信息工程学院 专业班级 应用电子 学 号 姓 名 指导老师 黄国宏 2014 年 6月 29 日目录一PID算法及PWM控制技术简介11.1PID算法11.2PWM脉冲控制技术7二.设计方案与论证102.1 系统设计方案102.2 控制器模块设计方案102.3 电机驱动模块设计方案102.4 速度采集模块设计方案112.5 显示模块设计方案112.6 键盘模块设计方案122.7 电源模块设计方案12三单元电路设计143.1 硬件资源分配143.2 电机驱动电路设计143.3 电机速度采集电路设计153.4 显示电路设计

2、163.5 键盘电路设计16四软件设计174.1 算法实现174.2 程序流程184.3 软件抗干扰22五PID参数整定235.1仿真结果235.2结果分析23六问题与解答25七心得体会35参考文献35附录 部分源程序36一PID算法及PWM控制技术简介1.1 PID算法控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟PID、数字PID及

3、其参数整定方法。1.1.1 模拟PID在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图1.1所示,系统由模拟PID调节器、执行机构及控制对象组成。 图1.1 模拟PID控制系统原理框图PID调节器是一种线性调节器,它根据给定值与实际输出值构成的控制偏差: = (1.1)将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器。在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P调节器,PI调节器,PID调节器等。模拟PID调节器的控制规律为 (1.2)式中,

4、为比例系数,为积分时间常数,为微分时间常数。简单的说,PID调节器各校正环节的作用是:(1)比例环节:即时成比例地反应控制系统的偏差信号,偏差一旦产生,调节器立即产生控制作用以减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。由式(1.2)可得,模拟PID调节器的传递函数为 (1.3)由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。1.1.

5、2 数字PID在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。为将模拟PID控制规律按式(1.2)离散化,我们把图1.1中、在第n次采样的数据分别用、表示,于是式(1.1)变为 := (1.4)当采样周期T很小时,可以用T近似代替,可用近似代替,“积分”用“求和”近似代替,即可作如下近似 (1.5) (1.6)这样,式(1.2)便可离散化以下差分方程 (1.7)上式中是偏差为零时的初值,上式

6、中的第一项起比例控制作用,称为比例(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)进行改进。

7、根据式(1.7)不难看出的表达式,即 (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参数整定方法如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜

8、过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。下面介绍两种常用的简易工程整定法。(1)扩充临界比例度法这种方法适用于有自平衡特性的被控对象。使用这种方法整定数字调节器参数

9、的步骤是:选择一个足够小的采样周期,具体地说就是选择采样周期为被控对象纯滞后时间的十分之一以下。用选定的采样周期使系统工作:工作时,去掉积分作用和微分作用,使调节器成为纯比例调节器,逐渐减小比例度()直至系统对阶跃输入的响应达到临界振荡状态,记下此时的临界比例度及系统的临界振荡周期。选择控制度:所谓控制度就是以模拟调节器为基准,将DDC的控制效果与模拟调节器的控制效果相比较。控制效果的评价函数通常用误差平方面积表示。 控制度 (1.18)实际应用中并不需要计算出两个误差平方面积,控制度仅表示控制效果的物理概念。通常,当控制度为1.05时,就可以认为DDC与模拟控制效果相当;当控制度为2.0时,

10、DDC比模拟控制效果差。根据选定的控制度,查表1.1求得、的值。表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.22(2)经验法经验法是靠工作人员的经验及对工艺的熟悉程度,参考测量值跟踪与设定值曲线,来调整P、I、D三者参数的大小的,具体操作可按以下口诀进行:参数整定

11、找最佳,从小到大顺序查;先是比例后积分,最后再把微分加;曲线振荡很频繁,比例度盘要放大;曲线漂浮绕大湾,比例度盘往小扳;曲线偏离回复慢,积分时间往下降;曲线波动周期长,积分时间再加长;曲线振荡频率快,先把微分降下来;动差大来波动慢,微分时间应加长。下面以PID调节器为例,具体说明经验法的整定步骤: 让调节器参数积分系数=0,实际微分系数=0,控制系统投入闭环运行,由小到大改变比例系数,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。 取比例系数为当前的值乘以0.83,由小到大增加积分系数,同样让扰动信号作阶跃变化,直至求得满意的控制过程。 积分系数保持不变,改变比例系数,观察控

12、制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数增大一些,再调整积分系数,力求改善控制过程。如此反复试凑,直到找到满意的比例系数和积分系数为止。 引入适当的实际微分系数和实际微分时间,此时可适当增大比例系数和积分系数。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可在10以上,I在(3、10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在(1、10)之间,I在(0、5)之间,D在(0.1、1)之间,具体参数要在现场调试时进行修正。(3)凑试法这次课程设计所使用的参数整定方

13、法为凑试法。在凑试时,可参考以上参数对系统控制过程的影响趋势,对参数调整实行先比例、后积分,再微分的整定步骤。 首先整定比例部分,先调节P值,I=0,D=0。将比例参数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已经小到允许范围内,并且对响应曲线已经满意,则只需要比例调节器即可。如果在比例调节的基础上系统的静差不能满足设计要求,则必须加入积分环节。将已经调节好的比例系数略为缩小(一般缩小为原值的0.8),然后增大积分系数,使得系统在保持良好动态性能的情况下,静差得以消除。在此过程中,可根据系统的响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的

14、控制过程和整定参数。如果在上述调整过程中对系统的动态过程反复调整还不能得到满意的结果,则可以加入微分环节。PID参数修改后,可以适度修改设定值(人为的阶跃扰动)观察系统的跟踪响应,以判断PID参数是否合适。1.2 PWM脉冲控制技术PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。1.2.1 PWM控制的基本原理在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本

15、相同。如果把各输出波形用傅立叶变换分析,则其低频段非常接近,仅在高频段略有差异。例如图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电路上,设其电流为电路的输

16、出。图1.5b给出了不同窄波时的响应波形。从波形可以看出,在的上升段,脉冲形状不同时的形状也略有不同,但其下降段几乎完全相同。脉冲越窄,各波形的差异也越小。如果周期性的施加上述脉冲,则响应也是周期性的。用傅立叶级数分解后将可看出,各在低频段的特性非常接近,仅在高频段有所不同。 图1.5 冲量相同的各种窄脉冲的响应波形1.2.2 直流电机的PWM控制技术直流电动机具有优良的调速特性,调速平滑、方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求,在许多需要调速或快速正反向的电力拖动系统领域中得到了广泛的应用。直流

17、电动机的转速调节主要有三种方法:调节电枢供电的电压、减弱励磁磁通和改变电枢回路电阻。针对三种调速方法,都有各自的特点,也存在一定的缺陷。例如改变电枢回路电阻调速只能实现有级调速,减弱磁通虽然能够平滑调速,但这种方法的调速范围不大,一般都是配合变压调速使用。所以在直流调速系统中,都是以变压调速为主。其中,在变压调速系统中,大体上又可分为可控整流式调速系统和直流PWM调速系统两种。直流PWM调速系统与可控整流式调速系统相比有下列优点:由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好、稳速精度高、调速范围宽。同样,由于开关频率高,快速响应特性好,动态抗干扰能

18、力强,可以获得很宽的频带;开关器件只工作在开关状态,因此主电路损耗小、装置效率高;直流电源采用不可控整流时,电网功率因数比相控整流器高。正因为直流PWM调速系统有以上优点,并且随着电力电子器件开关性能的不断提高,直流脉宽调制(PWM) 技术得到了飞速的发展。随着科学技术的迅猛发展传统的模拟和数字电路已被大规模集成电路所取代,这就使得数字调制技术成为可能。目前,在该领域中大部分应用的是数字脉宽调制技术。电动机调速系统采用微机实现数字化控制,是电气传动发展的主要方向之一。采用微机控制后,整个调速系统实现全数字化,并且结构简单、可靠性高、操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各

19、项指标均能较好地满足工业生产中高性能电气传动的要求。下面主要介绍直流电机PWM调速系统的算法实现。根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为,幅值为U,由图1.6可求得此时间内脉冲的等效直流电压为: 图1.6 PWM脉冲,若令,即为占空比,则上式可化为: (U为脉冲幅值) (1.19)若PWM脉冲为如图1.7所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即 (为矩形脉冲占空比) (1.20)图1.7 周期性PWM矩形脉冲由式1.20可知,要改变等效直流电压的大小,可以

20、通过改变脉冲幅值U和占空比来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比的大小实现等效直流电压在0U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。二.设计方案与论证2.1 系统设计方案根据系统设计的任务和要求,设计系统方框图如图2.1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PW

21、M脉冲的占空比,实现电机转速实时控制的目的。图2.1 系统方案框图2.2 控制器模块设计方案根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。对于控制器的选择,可以采用STC89C52作为系统控制的方案。STC89C52单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。2.3 电机驱动模块设计方案本次设计的主要目的是控制电机的转速,因此电机驱动模块是必不可少,其方案有

22、以下两种。方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中可靠性是一个非常重要的方面,因此这种方案不宜采用。方案二:采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大地提高了工作效率。基于上

23、述理论分析和实际情况,电机驱动模块选用方案二。2.4 速度采集模块设计方案本系统是一闭环控制系统,在调节过程中需要将设定与当前实际转速进行比较,速度采集模块就是为完成这样功能而设计的,其设计方案以下三种:方案一:采用霍尔集成片。该器件内部由三片霍尔金属板组成。当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通,因此可以在电机上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行电机速度的检测。方案二:采用对射式光电传感器。其检测方式为:发射器和接受器相互对射安装,发射器的光直接对准接受器,当测物挡住光束时,传感器输出产生变化以指示被测物被检测到。通过脉冲计数,对速度进行测量。方案三:

24、采用测速发电机对直流电机转速进行测量。该方案的实现原理是将测速发电机固定在直流电机的轴上,当直流电机转动时,带动测速电机的轴一起转动,因此测速发电机会产生大小随直流电机转速大小变化的感应电动势,因此精度比较高,但由于该方案的安装比较复杂、成本也比较高。以上三种方案中,第三种方案不宜采用,第一种和第二种方案的测速原理基本相同都是将电机转速转换为电脉冲的频率进行测量,但考虑到市场中的霍尔元件比较难买,而且成本也比较高,所以综合考虑在设计中选用第二种方案进行设计。2.5 显示模块设计方案在电机转速控制系统中,系统需要对参数、工作方式以及电机当前运行状态的显示,因此在整个系统中必须设计一个显示模块,考

25、虑有三种方案: 方案一:使用七段数码管(LED)显示。数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。但由于在此次设计中需要设定的参数种类多,而且有些需要进行字符的显示,所以使用LED显示器不能完成设计任务,不宜采用。方案二:采用LCD1602液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示。方案三:采用LCD12864液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。根据本次设计的设计要求,只需显示给定速度和当前速度,故

26、显示模块选用方案二。2.6 键盘模块设计方案 在电机转速控制系统中,系统需要按键进行转速给定值的设置,因此键盘在整个系统中是不可缺少的一部分,考虑有二种方案:方案一:采用独立式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互独立,每个按键均有一端接地,另一端接到输入线上。按键的工作状态不会影响其它按键上的输入状态。但是由于独立式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I/O口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。方案二:采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成

27、个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。但此种键盘的软件结构较为复杂。根据上面两种方案的论述,由于本次设计只需要两个按键,所以采用方案一独立式键盘进行设计。2.7 电源模块设计方案电源是任何系统能否运行的能量来源,无论那种电力系统电源模块都是不可或缺的,对于该模块考虑一下三种方案。方案一:通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运行所需的电压,此种方案原理和硬件电路连接都比较简单,但对能量的损耗大,在实际应用系统同一般不宜采用。方案二:通过固定芯片对整流后的电压进行降压、稳压处理(如7812、7805等),此种方案可靠性、安全性高,对能源的利用率高,并且电路简单容易

28、实现。方案三:利用手机充电器输出的稳定的5V电源给L298驱动模块供电,电脑的USB输出的5V给单片机供电,简单方便、带载能力强,可直接使用。根据系统的具体要求,采用方案三作为系统的供电模块。 经过上述的分析与论证,系统各模块采用的方案如下:(1)控制模块: 采用STC89C52单片机;(2)电机驱动模块: 采用直流电机驱动芯片L298N实现;(3)速度采集模块: 采用光电传感器;(4)显示模块: 采用LCD1602液晶显示模块;(5)键盘模块: 采用独立式键盘;(6)电源模块: 采用自制的可调电源、电脑USB实现。 三单元电路设计3.1 硬件资源分配本系统电路连接及硬件资源分配见图3.1所示

29、。采用STC89C52单片机作为核心器件,转速检测模块作为电机转速测量装置,通过STC89C52的P3.3口将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,利用LCD1602显示器和两个键盘作为人机接口。图3.1 系统电路连接及硬件资源分配图3.2 电机驱动电路设计驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调

30、整电动机转速。其中输出脚(SENSEA和SENSEB)用来连接电流检测电阻,Vss接逻辑控制的电源。Vs为电机驱动电源。IN1-IN4输入引脚为标准TTL 逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其电路如图3.3所示,利用两个光电耦合器将单片机的I/O与驱动电路进行隔离,保证电路安全可靠。这样单片机产生的PWM脉冲控制L298N的选通端,使电机在PWM脉冲的控制下正常运行,其中四个二极管对芯片起保护作用。图3.3 电机驱动电路3.3 电机速度采集电路设计在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,

31、通过偏差进行PID运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上有N个等分凹槽如图3.5(a)所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图3.4(b)所示,从图中可以得出电机每转一圈在P3.2的输出端就会产生N个低电平。这样就可根据低电平的数量来计算电机此时转速了。例如当电机以一定的转速运行时,P3.2将输出如图3.5所示的脉冲,若知道一段时

32、间t内传感器输出的低脉冲数为n,则电机转速v=r/s。 (a) (b)图3.4 电机速度采集方案图3.5 传感器输出脉冲波形3.4 显示电路设计 根据设计要求要对系统各项参数和电机运行状态进行显示,因此在电路中加入显示模块是非常必要的。在系统运行过程中需要显示的数据不多,需要字符显示,在这里选用LCD1602液晶显示器比较适合.其引脚名称及引脚编号的对应关系如图3.6所示。图3.6 引脚名称及编号3.5 键盘电路设计根据设计需求,本系统中使用了两个独立键盘用以实现对速度给定值的设定,其电路原理图如图3.7所示。图3.7 键盘模块键盘操作说明:在系统开始运行时,LCD1602显示给定速度和当前速

33、度的值,此时按S3可设置给定速度增加,按S4可设置给定速度减少,操作简单、快捷。四软件设计4.1 算法实现4.1.1 PID算法本系统设计的核心算法为PID算法,它根据本次采样的数据与设定值进行比较得出偏差,对偏差进行P、I、D运算最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节,进而控制电机转速。其运算公式为: 因此要想实现PID控制在单片机就必须存在上述算法, 其程序流程如图4.1所示。4.1.2 电机速度采集算法本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。在设计中采用了光电传感器做为测速装置,其计算公式为: 从这里可以看出速度v的误差主

34、要是由圆盘边缘上的凹槽数的多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数N为448,采样时间t为0.25s,则速度计算具体程序流程如图4.2所示。 图4.2 测速程序流程4.2 程序流程 4.2.1 主流程图在一个完整的系统中,只有硬件部分是不能完成相应设计任务的,所以在该系统中软件部分是非常重要的,按照要求和系统运行过程设计出主程序流程如图4.3所示。图4.3 主程序流程4.2.2 键盘程序流程 键盘程序是用来设在系统转速给定值的,其程序流程图如图4.4所示。 图4.4 键盘程序流程4.2.3 定时程序流程 在本系统中定时器T0中断子程序是用来控制电机运行时间和进行速

35、度计算和PID 运算,其程序流程如图4.5所示。图4.5 定时程序流程4.2.4 显示程序流程显示模块是实现人机对话的重要部分,在这里选用LCD1602显示器可实现对汉字和字符的显示,该显示器的引脚功能在上面已经做了说明,下面介绍LCD1602。1. 接口信号说明2. 主要技术参数3.基本操作时序4.RAM地址映射图5. 数据指针设置控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80B的RAM,如下表所示。6.其他设置7.初始化设置8.写操作 通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需不需要移屏、在液晶的什么位置显示,等等。写数据是

36、指要显示的内容; 读/写控制端设置为写模式,即低电平; 将数据或命令送达数据线上; 给E一个高脉冲将数据送入液晶控制器,完成写操作。4.3 软件抗干扰本次程序所用的是软件抗干扰数字滤波技术。限幅滤波,当转速采集不正确,导致上运算错误,通过滤波取最大值或最小值。if(out=100)out = 100;else if(out = 0)out = 0;五PID参数整定5.1仿真结果如前文所述,本设计使用凑试法对PID参数进行整定,设定转速为40。整定最终仿真结果如下: 5.2结果分析 在超调的系统适当增加Td可以减少超调,减小调节时间,消除静差; Td过大反而会使系统超调增加,调节时间变长,甚至变

37、得不稳定。而对于本来不存在超调的系统,适当增大Td可以加快响应速度。增加Td可以使系统的抗干扰能力增强。PID调节器各校正环节的作用是:(1)比例环节:值的选取决定于系统的响应速度。增大能提高响应速度,减小稳态误差;但是,值过大会产生较大的超调,甚至使系统不稳定减小可以减小超调,提高稳定性,但过小会减慢响应速度,延长调节时间;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势,并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。通过上

38、诉的数据分析可知,该系统完成了设计的任务及要求,证实了设计方案的可行性和设计方法的正确性。六问题与解答1. 选用哪种PID结构?为什么?选用了PID结构。通过第五题的参数整定过程可以得知,只用P结构虽说快速性得到满足,但存在相对较大的稳态误差,故增加积分环节,但只用PI结构虽说基本效果实现了,但增加微分环节可使波形得到更好的改善,减少上升时间,减少超调。故使用PID结构。2. 通过输出波形详细说明PID控制算法参数整定规程(建议利用课本上的方法)?凑试法:(设定温度值为70)(1) 整定P,当I=0.0,D=0.0时1) 取P=4.0时 2) 取P=3.0时 3) 取P=2.0时4)取P=1.

39、0时通过一系列比较选取,当P=2.0时,上升速度较快,且超调量较小,故最终选定P=2.0(2) 静差不能满足设计要求,则必须加入积分环节。将已经调节好的比例系数略为缩小,然后增大积分系数,消除静差。1) 当P=2.0,I=1.0,D=0.0时 2) 当P=2.0,I=0.09375,D=0.0时 3) 当P=2.0,I=0.0625,D=0.0时4) 当P=2.0,I=0.125,D=0.0时 通过一系列比较选取,当D=0.09375时,可明显改善静差,故选定D=0.09375 (3) 波形还不是最好状态,可加入微分环节,减少上升时间,减少超调。1)取P=2.0,I=0.09375,D=0 2

40、)取P=2.0,I=0.09375,D=0.32153)取P=2.0,I=0.09375,D=0.156254)取P=2.0,I=0.09375,D=0.078125 在1)的基础上对P、I、D稍做调整,得到上升速度较快,超调量很小,且静差很小的2)图,至此,PID整定参数完成。3. 试比较控制算法分别采用P、PI、PD、PID,控制效果有什么不同?P、PI、PID算法效果图可参考问题2解答过程。PPIP、PD算法能够体现快速性,上升时间短,但是静差大,加入Td可以减少超调,减小调节时间,改善静差;PI算法在P的基础上消除静差,使得系统基本实现预设效果。PID算法在PI的基础上加入微分环节,使

41、得系统效果更佳。4. 在你的系统里面,加入D和不加入D有什么不同?PI PID 由以上两图的对比可知,在该系统中加D环节可以提高快速性,减少超调七 心得体会 通过这次课程设计:第一,我加深了对自动控制原理的一些理论方面的知识,尤其是一些在课堂上似懂非懂的问题,或者理解比较抽象的问题,在经过课程设计之后,查阅书籍和大量相关资料,对理论知识有一个更加全面的理解。例如我们在衡量一个系统性能优劣时候,要从两个方面来考察,一个是动态性能:超调量,调节时间,上升时间等等,一个是静态性能:稳态误差。而且要对系统进行校正时,也要从这两个方面来进行校正。第二,在课程设计报告的写作过程中,对word软件的应用,都

42、大大加强了我运用这些软件的能力,可以说让我的各方面的技能有了很大的提升。第三,就是我查阅资料的能力得到大大提升.虽然这次课程设计的题目网上漫天飞,但我是通过实际所学的知识亲自做出来的.在自己做的过程中,难免会需要大量资料,而这就考察了我的查阅资料与筛选资料的能力.以前,学校的数据库很少被我利用,而且操作也不是很熟悉,但这次我为了写出比较好的课程设计报告,查阅了大量的资料。而同时,在设计过程中,阅读资料也大大增加了我的知识面和阅读论文的能力,可谓是一举多得。 最后,在课程设计中提高了我的动手能力,这次课程设计,遇到许多实际问题,都需要一一去解决,然而这样我的解决实际问题能力得到了加强。参考文献1

43、于海生.计算机控制技术.北京:机械工业出版社,20112郭天祥.51单片机C语言教程.北京:电子工业出版社,20123肖金球.单片机原理与接口技术.北京:清华出版社,2004附录 部分源程序#include #define uchar unsigned char#define uint unsigned int#define kp 2.0 / 比例系数 0.81#define ki 0.09375/ 积分系数0.01245#define kd 0.078125/ 微分系数0.2sbit LCD_RS = P07; /液晶1602 RS端口sbit LCD_EP = P00; /液晶1602 E

44、N端口sbit PWM=P20;/p1.1口产生pwmsbit input1=P21; / 正sbit input2=P22; / 反sbit key1=P27; /设置转速sbit key2=P26; / 加sbit key3=P25; / 减sbit key4=P24; / 正反转uchar code table = Set=00000r/s; /设定速度初始化uchar code table1 = Real=00000r/s; / 动态显示初始化uchar n,i,x,table25,table35,zhuansu,ge,shi,bai,qian,wan,flag1,key1n,temp

45、;unsigned char timer0,timer1,timer3,n0,n1,n2; unsigned int v,val,pidout,temp2,temp1,v1; /储存电机转速 unsigned int count; /储存脉冲数int en=0,en_1=0,en_2=0; int OutData4;bit flag=1; /计满1秒钟标志位uint wide; /脉宽计数float un=0.0; /PID误差void init();void display_val(unsigned int zhuan);void display_val(unsigned int zhuan

46、);void keyscan();/*延时1MS程序*/void delay(uint z) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); float PIDcontrol(float uset , float feedback) en = uset - feedback; un=kp*en-ki*en_1+kd*en_2;/计算输出量 if(un 400) un = 400; if(un 110) wide=150; /防止超限,确保计算的wide值有效 if(wide1) wide=1; return wide;/*串口初始化*/void SBUF_In

47、it(void)RCAP2L=0xdc;/载入初值RCAP2H=0xff;T2CON=0x34;/定时器2设定SCON=0x50;/SM0SM1=01;REN=1/*发送字节*/void send(char speed)SBUF=speed;while(!TI);TI=0;unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)unsigned short CRC_Temp;unsigned char i,j;CRC_Temp = 0xffff;for (i=0;iCRC_CNT; i+) CRC_Temp = Bu

48、fi; for (j=0;j1 ) 0xa001; else CRC_Temp = CRC_Temp 1; return(CRC_Temp);void OutPut_Data(void)int temp4 = 0;unsigned int temp14 = 0;unsigned char databuf10 = 0;unsigned char i;unsigned short CRC16 = 0;for(i=0;i4;i+)tempi = (int)OutDatai;temp1i = (unsigned int)tempi;for(i=0;i4;i+) databufi*2 = (unsigned char)(temp1i%256);databufi*2+1 = (unsigned char)(temp1i/256);CRC16 = CRC_CHECK(databuf,8);databuf8 = C

温馨提示

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

评论

0/150

提交评论